@exponent-labs/market-three-math 0.9.13 → 0.9.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,15 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCrossingTickStateFromTicks = getCrossingTickStateFromTicks;
4
- exports.computeLiquidityTargetAndTokenNeeds = computeLiquidityTargetAndTokenNeeds;
5
- exports.scaleCrossingTickInputs = scaleCrossingTickInputs;
6
- exports.computeTokenNeedsWithCrossing = computeTokenNeedsWithCrossing;
7
- exports.simulateAddLiquidity = simulateAddLiquidity;
8
- exports.calculateLpOut = calculateLpOut;
9
- exports.estimateBalancedDeposit = estimateBalancedDeposit;
10
- exports.calcDepositSyAndPtFromBaseAmount = calcDepositSyAndPtFromBaseAmount;
11
- exports.simulateWrapperProvideLiquidity = simulateWrapperProvideLiquidity;
12
- exports.simulateSwapAndSupply = simulateSwapAndSupply;
3
+ exports.simulateSwapAndSupply = exports.simulateWrapperProvideLiquidity = exports.calcDepositSyAndPtFromBaseAmount = exports.estimateBalancedDeposit = exports.calculateLpOut = exports.simulateAddLiquidity = exports.computeTokenNeedsWithCrossing = exports.scaleCrossingTickInputs = exports.computeLiquidityTargetAndTokenNeeds = exports.getCrossingTickStateFromTicks = void 0;
13
4
  const swapV2_1 = require("./swapV2");
14
5
  const types_1 = require("./types");
15
6
  const utils_1 = require("./utils");
@@ -59,6 +50,7 @@ function getCrossingTickStateFromTicks(ticks) {
59
50
  crossingTickPriceRight,
60
51
  };
61
52
  }
53
+ exports.getCrossingTickStateFromTicks = getCrossingTickStateFromTicks;
62
54
  /**
63
55
  * Compute liquidity target and token needs based on position range and budgets
64
56
  * Ported from compute_liquidity_target_and_token_needs in math.rs
@@ -128,6 +120,7 @@ function computeLiquidityTargetAndTokenNeeds(snap, spotPriceCurrent, priceEffLow
128
120
  };
129
121
  }
130
122
  }
123
+ exports.computeLiquidityTargetAndTokenNeeds = computeLiquidityTargetAndTokenNeeds;
131
124
  /**
132
125
  * Scale crossing tick token inputs from original max values to prevent double trimming.
133
126
  *
@@ -161,6 +154,7 @@ function scaleCrossingTickInputs(scaleParams, duPtPart, syPerL1, clmmPtDelta, cl
161
154
  // Fallback to original logic if no crossing scale params
162
155
  return [clmmPtDelta, clmmSyDelta];
163
156
  }
157
+ exports.scaleCrossingTickInputs = scaleCrossingTickInputs;
164
158
  /**
165
159
  * Simulate the proportional add_liquidity logic
166
160
  * Returns [usedPt, usedSy] based on existing tick proportions
@@ -512,6 +506,7 @@ function computeTokenNeedsWithCrossing(snap, spotPriceCurrent, priceEffLower, pr
512
506
  }
513
507
  return [Math.ceil(syNeed), Math.ceil(ptNeed)];
514
508
  }
509
+ exports.computeTokenNeedsWithCrossing = computeTokenNeedsWithCrossing;
515
510
  /**
516
511
  * Simulate adding liquidity to the CLMM market
517
512
  * This is a pure function that does not mutate the market state
@@ -564,6 +559,7 @@ function simulateAddLiquidity(marketState, args) {
564
559
  ptSpent,
565
560
  };
566
561
  }
562
+ exports.simulateAddLiquidity = simulateAddLiquidity;
567
563
  /**
568
564
  * Calculate the LP tokens that will be received for a given deposit
569
565
  * This is useful for UI display and slippage calculations
@@ -576,6 +572,7 @@ function calculateLpOut(liquidityAdded, totalLiquidityBefore) {
576
572
  // LP tokens are proportional to liquidity added
577
573
  return liquidityAdded;
578
574
  }
575
+ exports.calculateLpOut = calculateLpOut;
579
576
  /**
580
577
  * Estimate the balanced amounts of PT and SY needed for a liquidity deposit
581
578
  * Given a target liquidity amount, calculate how much PT and SY are needed
@@ -608,6 +605,7 @@ function estimateBalancedDeposit(marketState, targetLiquidity, lowerTickApy, upp
608
605
  return { ptNeeded, syNeeded };
609
606
  }
610
607
  }
608
+ exports.estimateBalancedDeposit = estimateBalancedDeposit;
611
609
  /** Calculate SY and PT needed to deposit into liquidity pool from base token amount */
612
610
  /** Off-chain analogue of on-chain wrapper_provide_liquidity function */
613
611
  function calcDepositSyAndPtFromBaseAmount(params) {
@@ -649,6 +647,7 @@ function calcDepositSyAndPtFromBaseAmount(params) {
649
647
  ptNeeded: ptFromStrip,
650
648
  };
651
649
  }
650
+ exports.calcDepositSyAndPtFromBaseAmount = calcDepositSyAndPtFromBaseAmount;
652
651
  /**
653
652
  * Calculate the amount of SY to strip into PT based on market liquidity ratio
654
653
  * This matches the Rust implementation: calc_strip_amount in wrapper_provide_liquidity.rs
@@ -741,6 +740,7 @@ function simulateWrapperProvideLiquidity(marketState, amountBase, lowerTick, upp
741
740
  return null;
742
741
  }
743
742
  }
743
+ exports.simulateWrapperProvideLiquidity = simulateWrapperProvideLiquidity;
744
744
  /**
745
745
  * Simulate swap & supply operation (ixProvideLiquidityBase)
746
746
  * 1. Mints SY from base asset
@@ -951,6 +951,7 @@ function simulateSwapAndSupply(marketState, amountBase, lowerTick, upperTick, sy
951
951
  return null;
952
952
  }
953
953
  }
954
+ exports.simulateSwapAndSupply = simulateSwapAndSupply;
954
955
  function simulateSwapAndSupplyForPtConstraint(marketState, lowerTick, upperTick, syBudget, ptConstraint, syExchangeRate, exactOutEstimateSlack) {
955
956
  let swapResult;
956
957
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"addLiquidity.js","sourceRoot":"","sources":["../src/addLiquidity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"addLiquidity.js","sourceRoot":"","sources":["../src/addLiquidity.ts"],"names":[],"mappings":";;;AAMA,qCAA6D;AAC7D,mCAQgB;AAChB,mCAA4D;AAC5D,uCAA0E;AAE1E,MAAM,oBAAoB,GAAG,SAAS,CAAA;AACtC,2EAA2E;AAC3E,yEAAyE;AACzE,MAAM,eAAe,GAAG,EAAE,CAAA;AAC1B,MAAM,8BAA8B,GAAG,GAAG,CAAA;AAC1C,MAAM,0BAA0B,GAAG,GAAG,CAAA;AACtC,MAAM,oCAAoC,GAAG,UAAU,CAAA;AACvD,MAAM,6BAA6B,GAAG,SAAS,CAAA;AAC/C,MAAM,0BAA0B,GAAG,KAAK,CAAA;AACxC,MAAM,uCAAuC,GAAG,KAAK,CAAA;AACrD,MAAM,gDAAgD,GAAG,CAAC,CAAA;AAC1D,MAAM,+BAA+B,GAAG,cAAc,CAAA;AACtD,MAAM,qCAAqC,GAAG,CAAC,CAAA;AAE/C,MAAM,yBAAyB,GAAsB;IACnD,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,CAAC;IACd,oBAAoB,EAAE,CAAC;CACxB,CAAA;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAAC,KAAY;IAKxD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;IAC9D,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO;YACL,iBAAiB,EAAE,yBAAyB;YAC5C,qBAAqB,EAAE,CAAC;YACxB,sBAAsB,EAAE,CAAC;SAC1B,CAAA;IACH,CAAC;IACD,MAAM,qBAAqB,GAAG,eAAe,CAAC,WAAW,CAAA;IACzD,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAG,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,IAAA,qBAAa,EAAC,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC5F,MAAM,sBAAsB,GAAG,aAAa,EAAE,WAAW,IAAI,MAAM,CAAC,iBAAiB,CAAA;IACrF,OAAO;QACL,iBAAiB,EAAE;YACjB,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;YAChD,WAAW,EAAE,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC;YAChD,oBAAoB,EAAE,MAAM,CAAC,eAAe,CAAC,oBAAoB,CAAC;SACnE;QACD,qBAAqB;QACrB,sBAAsB;KACvB,CAAA;AACH,CAAC;AA1BD,sEA0BC;AAED;;;GAGG;AACH,SAAgB,mCAAmC,CACjD,IAAa,EACb,gBAAwB,EACxB,aAAqB,EACrB,aAAqB,EACrB,UAAkB,EAClB,UAAkB,EAClB,YAAoB,EACpB,YAAoB,EACpB,YAAoB,EACpB,KAAa,EACb,KAAa,EACb,YAAoB;IAEpB,sDAAsD;IACtD,sEAAsE;IAEtE,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;QACnC,iCAAiC;QACjC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,aAAa,EAAE,YAAY,CAAC,CAAA;QACzE,MAAM,eAAe,GAAG,KAAK,GAAG,WAAW,CAAA;QAC3C,MAAM,eAAe,GAAG,eAAe,CAAA;QACvC,MAAM,MAAM,GAAG,eAAe,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAA;QAEhE,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,CAAC;YACX,iBAAiB,EAAE,UAAU;YAC7B,iBAAiB,EAAE,YAAY;YAC/B,wCAAwC;YACxC,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,WAAW;SAC9B,CAAA;IACH,CAAC;SAAM,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;QAC1C,iCAAiC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,UAAU,EAAE,YAAY,CAAC,CAAA;QAC/D,MAAM,eAAe,GAAG,KAAK,GAAG,OAAO,CAAA;QACvC,MAAM,eAAe,GAAG,eAAe,CAAA;QACvC,MAAM,MAAM,GAAG,eAAe,GAAG,OAAO,CAAA;QAExC,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC5C,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,iBAAiB,EAAE,UAAU;YAC7B,iBAAiB,EAAE,YAAY;YAC/B,wCAAwC;YACxC,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,OAAO;YACpB,gBAAgB,EAAE,CAAC;SACpB,CAAA;IACH,CAAC;SAAM,CAAC;QACN,oDAAoD;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,EAAE,YAAY,CAAC,CAAA;QACpE,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;QAEtC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,aAAa,EAAE,YAAY,CAAC,CAAA;QAC3E,MAAM,eAAe,GAAG,KAAK,GAAG,WAAW,CAAA;QAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;QAClE,MAAM,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;QACvC,MAAM,MAAM,GAAG,eAAe,GAAG,WAAW,CAAA;QAE5C,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC5B,iBAAiB,EAAE,gBAAgB;YACnC,iBAAiB,EAAE,YAAY;YAC/B,kCAAkC;YAClC,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,MAAM;YACnB,gBAAgB,EAAE,WAAW;SAC9B,CAAA;IACH,CAAC;AACH,CAAC;AAjFD,kFAiFC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,uBAAuB,CACrC,WAAgC,EAChC,QAAgB,EAChB,OAAe,EACf,WAAmB,EACnB,WAAmB;IAEnB,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,WAAW,CAAA;IAEnF,IAAI,WAAW,GAAG,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QAC5C,uDAAuD;QACvD,MAAM,cAAc,GAAG,QAAQ,GAAG,WAAW,CAAA;QAC7C,MAAM,cAAc,GAAG,OAAO,GAAG,gBAAgB,CAAA;QAEjD,kDAAkD;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAA;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC,CAAA;QAE1D,6DAA6D;QAC7D,2DAA2D;QAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,yDAAyD;IACzD,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;AACnC,CAAC;AAzBD,0DAyBC;AAED;;;GAGG;AACH,SAAS,gCAAgC,CACvC,QAAgB,EAChB,QAAgB,EAChB,aAAqB,EACrB,aAAqB,EACrB,aAAqB;IAErB,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACtE,wCAAwC;QACxC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC7B,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,aAAa,CAAA;IAC3D,MAAM,QAAQ,GAAG,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,aAAa,CAAA;IAE3D,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;QACxB,4BAA4B;QAC5B,MAAM,WAAW,GAAG,QAAQ,CAAA;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAA;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,aAAa,CAAC,CAAA;QACvE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,MAAM,WAAW,GAAG,QAAQ,CAAA;QAC5B,MAAM,MAAM,GAAG,QAAQ,CAAA;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,aAAa,CAAC,CAAA;QACvE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,SAAiB,EAAE,WAAmB;IAC3D,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACX,CAAC;IACD,OAAO,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,WAAW,GAAG,EAAE,CAAC,GAAG,WAAW,CAAA;AAC5E,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,EAAE,GAAG,KAAK,CAAA;IACd,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IACxB,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC;QACf,EAAE,GAAG,EAAE,CAAA;QACP,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,IAAI,EAAE,CAAA;IAC9B,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAQD,SAAS,mBAAmB,CAC1B,GAAW,EACX,YAA0B,EAC1B,aAA4C;IAE5C,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IAED,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;IACpE,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IAC3C,MAAM,KAAK,GAAqB;QAC9B,WAAW;QACX,WAAW;QACX,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,EAAE;KACpE,CAAA;IACD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,yCAAyC,CAAC,MAMlD;IACC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,CAAA;IACjE,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAA;IAEnE,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAA;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAA;IAClC,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAA;IAEzC,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,MAAM,GAAG,EAAE,CAAA;IAEf,MAAM,KAAK,GAAG,KAAK,GAAG,EAAE,CAAA;IACxB,MAAM,KAAK,GAAG,KAAK,GAAG,EAAE,CAAA;IAExB,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;QACnB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,MAAM,GAAG,eAAe,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;YACvC,MAAM,GAAG,KAAK,CAAA;YACd,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAA;YACb,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC5C,MAAM,QAAQ,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC5C,MAAM,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;YACrC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;YAEnD,MAAM,GAAG,WAAW,CAAA;YACpB,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,GAAG,KAAK,CAAA;gBACd,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,WAAW,EAAE,MAAM,CAAC,CAAA;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,KAAK,CAAA;gBACd,MAAM,GAAG,aAAa,CAAC,QAAQ,GAAG,WAAW,EAAE,MAAM,CAAC,CAAA;YACxD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,EAAE,CAAA;QACX,IAAI,MAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,KAAK,CAAA;YACd,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;YACpC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE,CAAC;QAC3B,MAAM,GAAG,EAAE,CAAA;QACX,IAAI,MAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACrC,MAAM,GAAG,KAAK,CAAA;YACd,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAA;YACpC,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,MAAM,GAAG,KAAK,CAAA;QAChB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;IAC/C,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAChB,KAAK,CAAC,oBAAoB,IAAI,MAAM,CAAA;IACtC,CAAC;IACD,IAAI,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,EAAE,CAAC;QAC/B,KAAK,CAAC,WAAW,IAAI,MAAM,CAAA;QAC3B,KAAK,CAAC,WAAW,IAAI,MAAM,CAAA;QAC3B,YAAY,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;AACnC,CAAC;AAED,SAAS,iCAAiC,CAAC,MAY1C;IACC,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,GACd,GAAG,MAAM,CAAA;IAEV,MAAM,YAAY,GAAG,IAAI,sBAAY,CAAC,KAAK,CAAC,CAAA;IAC5C,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACnD,YAAY,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAA;IAEzD,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,YAAY,GAAG,EAAE,CAAA;IACrB,IAAI,cAAc,GAAkF,IAAI,CAAA;IACxG,IAAI,cAAc,GAAkF,IAAI,CAAA;IAExG,MAAM,wBAAwB,GAAG,CAAC,YAAoB,EAAU,EAAE;QAChE,IAAI,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAA;QACrB,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAC7D,OAAO,WAAW,IAAI,YAAY,CAAA;IACpC,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CACrB,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,OAAuG,EACvG,EAAE;QACF,IAAI,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAM;QACR,CAAC;QAED,IAAI,UAAU,GAAG,QAAQ,CAAA;QACzB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YACtD,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAK;YACP,CAAC;YAED,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;YACvD,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;YACtD,OAAO,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAA;YAEjE,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;gBAC3B,MAAK;YACP,CAAC;YACD,UAAU,GAAG,QAAQ,CAAA;QACvB,CAAC;IACH,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,UAAU,CAAA;IAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;IAC1D,MAAM,UAAU,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAA;IACzD,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;QACpG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACnD,MAAM,aAAa,GAAG,UAAU,GAAG,YAAY,CAAA;QAC/C,IAAI,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC;YACzB,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,GAAG,iBAAiB,IAAI,UAAU,GAAG,iBAAiB,CAAA;QAClF,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC,CAAA;QAChF,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,GAAG;gBACf,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,gBAAgB;gBACzB,MAAM,EAAE,aAAa;aACtB,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,yCAAyC,CAAC;YACvD,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,EAAE;YACT,YAAY;YACZ,aAAa;SACd,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QAED,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;QAC7B,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,UAAU,CAAA;IAC7B,MAAM,gBAAgB,GAAG,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAA;IACnF,MAAM,UAAU,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAA;IAE7D,cAAc,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE;QACpG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;QACnD,IAAI,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;YACjC,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QACxF,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,CAAC,CAAA;QACzE,IAAI,gBAAgB,IAAI,EAAE,EAAE,CAAC;YAC3B,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,GAAG,iBAAiB,IAAI,UAAU,GAAG,iBAAiB,CAAA;QAClF,IAAI,UAAU,EAAE,CAAC;YACf,cAAc,GAAG;gBACf,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,gBAAgB;gBACzB,MAAM;aACP,CAAA;YACD,OAAM;QACR,CAAC;QAED,MAAM,MAAM,GAAG,yCAAyC,CAAC;YACvD,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,gBAAgB;YACvB,YAAY;YACZ,aAAa;SACd,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QAED,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;QAC7B,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;IAC/B,CAAC,CAAC,CAAA;IAEF,IAAI,cAAc,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,CAAC,CAAA;QACtG,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,CAAC,CAAA;QACtG,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;QACpF,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;QAEpF,MAAM,MAAM,GAAG,yCAAyC,CAAC;YACvD,GAAG,EAAE,cAAc,CAAC,OAAO;YAC3B,KAAK,EAAE,UAAU;YACjB,KAAK,EAAE,UAAU;YACjB,YAAY;YACZ,aAAa;SACd,CAAC,CAAA;QACF,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QACzE,CAAC;QAED,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;QAC7B,YAAY,IAAI,MAAM,CAAC,MAAM,CAAA;IAC/B,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;IACpC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,CAAA;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AAC7B,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B,CAC3C,IAAa,EACb,gBAAwB,EACxB,aAAqB,EACrB,aAAqB,EACrB,UAAkB,EAClB,UAAkB,EAClB,KAAa,EACb,KAAa,EACb,YAAoB,EACpB,iBAAoC,EACpC,qBAA6B,EAC7B,sBAA8B;IAE9B,uBAAuB;IACvB,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,aAAa,GAAG,aAAa,CAAA;QACjD,MAAM,eAAe,GAAG,KAAK,GAAG,WAAW,CAAA;QAC3C,MAAM,MAAM,GAAG,eAAe,GAAG,WAAW,CAAA;QAC5C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,uBAAuB;IACvB,IAAI,gBAAgB,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;QACvC,MAAM,eAAe,GAAG,KAAK,GAAG,OAAO,CAAA;QACvC,MAAM,MAAM,GAAG,eAAe,GAAG,OAAO,CAAA;QACxC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,2BAA2B;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,UAAU,EAAE,YAAY,CAAC,CAAA;IACpE,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAChE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,aAAa,EAAE,YAAY,CAAC,CAAA;IAE3E,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;IACtC,MAAM,eAAe,GAAG,KAAK,GAAG,WAAW,CAAA;IAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAA;IAClE,IAAI,MAAM,GAAG,eAAe,GAAG,MAAM,CAAA;IACrC,IAAI,MAAM,GAAG,eAAe,GAAG,WAAW,CAAA;IAE1C,oEAAoE;IACpE,6FAA6F;IAC7F,MAAM,oBAAoB,GACxB,iBAAiB,CAAC,oBAAoB,GAAG,CAAC;QAC1C,qBAAqB,GAAG,gBAAgB;QACxC,sBAAsB,GAAG,gBAAgB,CAAA;IAE3C,IAAI,oBAAoB,EAAE,CAAC;QACzB,oEAAoE;QACpE,+EAA+E;QAC/E,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;QACxF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,CAAA;QAEzE,8DAA8D;QAC9D,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAA;QAChF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAA;QACzE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QAC5G,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;QAE3E,IAAI,kBAAkB,GAAG,CAAC,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;YACrD,gFAAgF;YAChF,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAA;YAClE,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAA;YAElE,oEAAoE;YACpE,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,GAC5B,MAAM,GAAG,CAAC,IAAI,WAAW,GAAG,CAAC;gBAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBACjD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;oBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,YAAY,GAAG,eAAe,EAAE,CAAC,CAAC,CAAA;oBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,YAAY,GAAG,eAAe,EAAE,CAAC,CAAC,CAAA;oBAElE,6DAA6D;oBAC7D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAA;gBACrF,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAA;YAE9C,+DAA+D;YAC/D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,gCAAgC,CACvD,UAAU,EACV,UAAU,EACV,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,oBAAoB,CACvC,CAAA;YAED,oDAAoD;YACpD,MAAM,GAAG,iBAAiB,GAAG,MAAM,CAAA;YAEnC,MAAM,GAAG,iBAAiB,GAAG,MAAM,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC/C,CAAC;AAjGD,sEAiGC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,WAA6B,EAAE,IAAsB;IACxF,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;IAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAEzF,kCAAkC;IAClC,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,IAAA,iCAAuB,EAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;IAExF,qBAAqB;IACrB,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAA;IAE1C,6EAA6E;IAC7E,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAA;IAC5D,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAA;IAE5D,8BAA8B;IAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAExD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAA;IAC3E,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAA;IAE3E,4BAA4B;IAC5B,MAAM,cAAc,GAAG,mCAAmC,CACxD,IAAI,EACJ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,KAAK,CAAC,WAAW,EACjB,aAAa,EACb,aAAa,EACb,oBAAoB,CAAC,YAAY,CAClC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAA;IAC9D,MAAM,cAAc,GAClB,eAAe,IAAI,eAAe,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAA;IACvG,MAAM,YAAY,GAChB,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAA;IAC1G,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,iCAAiC,CAAC;QACzG,KAAK;QACL,IAAI;QACJ,UAAU;QACV,UAAU;QACV,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;QACnD,YAAY;QACZ,YAAY,EAAE,IAAI,CAAC,SAAS;QAC5B,YAAY,EAAE,IAAI,CAAC,SAAS;QAC5B,eAAe,EAAE,cAAc,CAAC,eAAe;QAC/C,aAAa,EAAE,cAAc,CAAC,aAAa;QAC3C,aAAa,EAAE,cAAc,CAAC,aAAa;KAC5C,CAAC,CAAA;IAEF,kBAAkB;IAClB,MAAM,OAAO,GAAG,oBAAoB,CAAA;IACpC,MAAM,OAAO,GAAG,oBAAoB,CAAA;IAEpC,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAChF,CAAC;IAED,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,eAAe;QACtC,OAAO;QACP,OAAO;KACR,CAAA;AACH,CAAC;AAxED,oDAwEC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,cAAsB,EAAE,oBAA4B;IACjF,IAAI,oBAAoB,KAAK,CAAC,EAAE,CAAC;QAC/B,gBAAgB;QAChB,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,gDAAgD;IAChD,OAAO,cAAc,CAAA;AACvB,CAAC;AARD,wCAQC;AAED;;;GAGG;AACH,SAAgB,uBAAuB,CACrC,WAA6B,EAC7B,eAAuB,EACvB,YAAoB,EACpB,YAAoB;IAEpB,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;IACzC,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;IAEzF,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,IAAA,iCAAuB,EAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAA;IAEtG,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAA;IAC1C,gDAAgD;IAChD,MAAM,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,CAAA;IAC3C,MAAM,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,CAAA;IAE3C,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IACxD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAExD,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QAC9B,uBAAuB;QACvB,MAAM,QAAQ,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAA;QACtF,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClC,CAAC;SAAM,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;QACrC,uBAAuB;QACvB,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CAAA;QAC5D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IAClC,CAAC;SAAM,CAAC;QACN,qBAAqB;QACrB,MAAM,QAAQ,GAAG,eAAe,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,CAAA;QAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;QAC3D,MAAM,QAAQ,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,aAAa,GAAG,eAAe,CAAC,CAAA;QACxF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAA;IAC/B,CAAC;AACH,CAAC;AAlCD,0DAkCC;AAED,uFAAuF;AACvF,wEAAwE;AACxE,SAAgB,gCAAgC,CAAC,MAchD;IACC,MAAM,EACJ,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,iBAAiB,GAAG,yBAAyB,EAC7C,qBAAqB,GAAG,CAAC,EACzB,sBAAsB,GAAG,CAAC,EAC1B,YAAY,GAAG,KAAK,GACrB,GAAG,MAAM,CAAA;IAEV,IAAI,eAAe,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO;YACL,QAAQ,EAAE,CAAC;YACX,QAAQ,EAAE,CAAC;SACZ,CAAA;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,IAAA,iCAAuB,EAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAA;IAEtF,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;IAE3D,+DAA+D;IAC/D,uEAAuE;IACvE,8CAA8C;IAC9C,0EAA0E;IAC1E,6EAA6E;IAC7E,gFAAgF;IAChF,+DAA+D;IAC/D,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,6BAA6B,CACpD,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,GAAG,EACH,GAAG,EACH,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,CACvB,CAAA;IAED,gEAAgE;IAChE,iEAAiE;IACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,cAAc,CAAC,CAAA;IAE7D,sDAAsD;IACtD,+EAA+E;IAC/E,0EAA0E;IAC1E,MAAM,WAAW,GAAG,cAAc,GAAG,MAAM,GAAG,MAAM,CAAA;IACpD,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAElF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAA;IAEtD,qDAAqD;IACrD,wCAAwC;IACxC,yEAAyE;IACzE,iCAAiC;IACjC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC,CAAA;IAExD,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,WAAW;KACtB,CAAA;AACH,CAAC;AArFD,4EAqFC;AACD;;;;;;;;GAQG;AACH,SAAS,eAAe,CAAC,aAAqB,EAAE,SAAiB,EAAE,WAAmB,EAAE,WAAmB;IACzG,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;IACzD,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,CAAC,CAAA;IAC9B,MAAM,OAAO,GAAG,CAAC,aAAa,GAAG,WAAW,CAAC,GAAG,WAAW,CAAA;IAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,+BAA+B,CAC7C,WAA6B,EAC7B,UAAkB,EAClB,SAAiB,EACjB,SAAiB,EACjB,cAAsB;IAUtB,IAAI,CAAC;QACH,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA;QAEzF,kDAAkD;QAClD,MAAM,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAA;QAE5C,0CAA0C;QAC1C,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,IAAA,iCAAuB,EAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAA;QAEnF,qBAAqB;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAA;QAE1C,+DAA+D;QAC/D,qGAAqG;QACrG,MAAM,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,oBAAoB,CAAA;QACzD,MAAM,UAAU,GAAG,GAAG,GAAG,SAAS,GAAG,oBAAoB,CAAA;QAEzD,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QACxD,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;QAExD,yEAAyE;QACzE,MAAM,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAA;QAEjH,6EAA6E;QAC7E,sEAAsE;QACtE,MAAM,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAA;QACvC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,6BAA6B,CACpD,IAAI,EACJ,WAAW,EACX,aAAa,EACb,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,EACR,KAAK,EACL,oBAAoB,CAAC,YAAY,EACjC,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,CACvB,CAAA;QAED,sEAAsE;QACtE,6EAA6E;QAC7E,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAElD,6CAA6C;QAC7C,mFAAmF;QACnF,MAAM,WAAW,GAAG,SAAS,GAAG,cAAc,CAAA;QAC9C,MAAM,KAAK,GAAG,WAAW,CAAA,CAAC,wCAAwC;QAElE,6CAA6C;QAC7C,iFAAiF;QACjF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAA;QAErD,8DAA8D;QAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC,WAAW,EAAE;YACtD,SAAS;YACT,SAAS;YACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9B,cAAc;SACf,CAAC,CAAA;QAEF,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO;YACL,KAAK,EAAE,aAAa,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YACpC,WAAW,EAAE,aAAa,CAAC,OAAO;YAClC,WAAW,EAAE,aAAa,CAAC,OAAO;SACnC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAA;QAChE,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAlGD,0EAkGC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,qBAAqB,CACnC,WAA6B,EAC7B,UAAkB,EAClB,SAAiB,EACjB,SAAiB,EACjB,cAAsB;IAWtB,IAAI,CAAC;QACH,iDAAiD;QACjD,0DAA0D;QAC1D,gFAAgF;QAChF,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;QAElE,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,6BAA6B,EAAE,CAAC;YAC9D,OAAO;gBACL,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,CAAC;aACf,CAAA;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,0BAA0B,CAAC,CAAA;QAC3G,IAAI,QAAQ,GAAG,gBAAgB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAA;QACb,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAA;QACvB,MAAM,SAAS,GAAG,oBAAoB,CAAC,WAAW,EAAE;YAClD,SAAS;YACT,SAAS;YACT,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,WAAW;YAClB,cAAc;SACf,CAAC,CAAA;QACF,6EAA6E;QAC7E,+DAA+D;QAC/D,IAAI,eAAe,GAAG,CAAC,CAAA;QACvB,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBAC1B,0DAA0D;gBAC1D,mDAAmD;gBACnD,MAAM,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAA;gBAC1E,MAAM,aAAa,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEnG,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,WAAW,EAAE;wBAC1C,SAAS,EAAE,qBAAa,CAAC,MAAM;wBAC/B,QAAQ,EAAE,aAAa;wBACvB,cAAc;wBACd,kBAAkB,EAAE,IAAI;qBACzB,CAAC,CAAA;oBACF,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,yDAAyD;gBACzD,oBAAoB;gBACpB,MAAM,SAAS,GAAG,IAAA,qBAAY,EAAC,WAAW,EAAE;oBAC1C,SAAS,EAAE,qBAAa,CAAC,MAAM;oBAC/B,QAAQ,EAAE,QAAQ;oBAClB,cAAc;oBACd,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAA;gBACF,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;QACD,MAAM,0BAA0B,GAC9B,eAAe,IAAI,oCAAoC;YACrD,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,8BAA8B,CAAA;QACpC,MAAM,sBAAsB,GAAG,QAAQ,IAAI,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAA;QAC3G,MAAM,2BAA2B,GAC/B,QAAQ,IAAI,+BAA+B,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAA;QACpG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,sBAAsB,GAAG,2BAA2B,CAAC,CAAA;QACjG,MAAM,qBAAqB,GAAG,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAA;QAEjG,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyC,CAAA;QACvE,MAAM,iBAAiB,GAAG,CAAC,YAAoB,EAAE,EAAE;YACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;YACjD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,MAAM,CAAA;YACf,CAAC;YACD,MAAM,SAAS,GAAG,oCAAoC,CACpD,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EACR,GAAG,EACH,cAAc,EACd,qBAAqB,CACtB,CAAA;YACD,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;YAClC,OAAO,SAAS,CAAA;QAClB,CAAC,CAAA;QAED,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAA;YACb,CAAC;YACD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAA;YACb,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,OAAO,EAAE,CAAC;gBACV,YAAY,EAAE,QAAQ;gBACtB,SAAS,EAAE,QAAQ,CAAC,YAAY;gBAChC,WAAW,EAAE,QAAQ,CAAC,oBAAoB;gBAC1C,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,WAAW,EAAE,QAAQ,CAAC,cAAc;gBACpC,WAAW,EAAE,QAAQ,CAAC,cAAc;aACrC,CAAA;QACH,CAAC;QAED,MAAM,KAAK,GAAG,aAAa,CAAA;QAC3B,IAAI,eAAe,GAAkC,IAAI,CAAA;QACzD,MAAM,iBAAiB,GAAG,CAAC,SAAwC,EAAE,EAAE;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAM;YACR,CAAC;YACD,IAAI,SAAS,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;gBAC3C,IACE,CAAC,eAAe;oBAChB,SAAS,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY;oBACrD,CAAC,SAAS,CAAC,YAAY,KAAK,eAAe,CAAC,YAAY,IAAI,SAAS,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,EACpG,CAAC;oBACD,eAAe,GAAG,SAAS,CAAA;gBAC7B,CAAC;gBACD,OAAM;YACR,CAAC;QACH,CAAC,CAAA;QAED,8DAA8D;QAC9D,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAA;QAEvC,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC,CAAA;QACzC,IAAI,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,iBAAiB,CAAC,aAAa,CAAC,CAAA;QAChC,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;YAChE,KAAK,GAAG,MAAM,CAAA;QAChB,CAAC;QAED,0FAA0F;QAC1F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,YAAY,GAAG,YAAY,EAAE,CAAC;gBAChE,MAAK;YACP,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,CAAA;YAC5C,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;gBACxB,MAAK;YACP,CAAC;YACD,MAAM,GAAG,QAAQ,CAAA;YACjB,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAA;YACzC,iBAAiB,CAAC,aAAa,CAAC,CAAA;YAChC,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;gBAChE,KAAK,GAAG,MAAM,CAAA;YAChB,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QACtC,IAAI,UAAU,GAAG,MAAM,CAAA;QACvB,OAAO,SAAS,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;YACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;YACxC,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAE5B,IAAI,SAAS,IAAI,SAAS,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;gBACxD,SAAS,GAAG,GAAG,GAAG,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,GAAG,GAAG,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC,CAAA;QAC1D,KAAK,IAAI,EAAE,GAAG,UAAU,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC;YAC/C,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAA;QAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,2BAA2B,CAAC,EAAE,CAAC;YAC5F,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE;gBACrC,QAAQ;gBACR,YAAY;gBACZ,sBAAsB;gBACtB,SAAS;gBACT,eAAe;gBACf,QAAQ;aACT,CAAC,CAAA;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,OAAO,EAAE,QAAQ,CAAC,YAAY;YAC9B,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,QAAQ,CAAC,YAAY;YAChC,WAAW,EAAE,QAAQ,CAAC,oBAAoB;YAC1C,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,WAAW,EAAE,QAAQ,CAAC,cAAc;YACpC,WAAW,EAAE,QAAQ,CAAC,cAAc;SACrC,CAAA;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AA1OD,sDA0OC;AAaD,SAAS,oCAAoC,CAC3C,WAA6B,EAC7B,SAAiB,EACjB,SAAiB,EACjB,QAAgB,EAChB,YAAoB,EACpB,cAAsB,EACtB,qBAA6B;IAE7B,IAAI,UAIH,CAAA;IAED,IAAI,CAAC;QACH,UAAU,GAAG,4BAA4B,CACvC,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,qBAAqB,CACtB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;QAC7C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,IAAI,WAAW,CAAA;IAC9D,MAAM,aAAa,GAAG,oBAAoB,CAAC,YAAY,EAAE;QACvD,SAAS;QACT,SAAS;QACT,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,cAAc;KACf,CAAC,CAAA;IAEF,6CAA6C;IAC7C,6DAA6D;IAC7D,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzE,IAAI,WAAW,GAAG,KAAK,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;IAE/D,OAAO;QACL,YAAY;QACZ,YAAY,EAAE,UAAU,CAAC,OAAO;QAChC,UAAU,EAAE,UAAU,CAAC,KAAK;QAC5B,cAAc,EAAE,aAAa,CAAC,OAAO;QACrC,cAAc,EAAE,aAAa,CAAC,OAAO;QACrC,KAAK,EAAE,aAAa,CAAC,MAAM;QAC3B,YAAY;QACZ,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC;KACjE,CAAA;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB,EAAE,cAAsB;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACtD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,cAAc,CAAC,CAAA;AAChD,CAAC;AAED,SAAS,mBAAmB,CAAC,WAA6B,EAAE,MAAc;IACxE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,CAAC;QACpG,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEnF,OAAO,gBAAgB,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,WAAW,CAAA;AACjE,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,YAAoB,EACpB,2BAAmC;IAEnC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9D,MAAM,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,CAAA;IAC3D,IAAI,kBAAkB,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,2BAA2B,CAAA;IACpE,CAAC;IAED,OAAO,kBAAkB,IAAI,uCAAuC,CAAA;AACtE,CAAC;AAED,SAAS,4BAA4B,CACnC,WAA6B,EAC7B,QAAgB,EAChB,YAAoB,EACpB,cAAsB,EACtB,qBAA6B;IAM7B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACrD,MAAM,oBAAoB,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAA;IACzF,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtE,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC;YACV,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,WAAW;SAC7B,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,WAAmB,EAAE,EAAE;QAC1C,OAAO,IAAA,6BAAoB,EAAC,WAAW,EAAE;YACvC,SAAS,EAAE,qBAAa,CAAC,MAAM;YAC/B,SAAS,EAAE,WAAW;YACtB,cAAc;YACd,kBAAkB,EAAE,IAAI;YACxB,kBAAkB,EAAE,oBAAoB;SACzC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,kFAAkF;IAClF,mFAAmF;IACnF,oFAAoF;IACpF,IAAI,SAAyC,CAAA;IAC7C,IAAI,CAAC;QACH,SAAS,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,mEAAmE,WAAW,mBAAmB,YAAY,GAAG,CACjH,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,gBAAgB;QACnC,KAAK,EAAE,SAAS,CAAC,SAAS;QAC1B,eAAe,EAAE,SAAS,CAAC,eAAe;KAC3C,CAAA;AACH,CAAC"}
package/build/bisect.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bisectSearch2 = bisectSearch2;
3
+ exports.bisectSearch2 = void 0;
4
4
  /**
5
5
  * Binary search (bisection method) to find root of a monotonic function.
6
6
  * Finds x where f(x) = 0 within the range [lo, hi].
@@ -69,4 +69,5 @@ function bisectSearch2(func, lo, hi, epsilon = 0.0001, maxIterations = 2000) {
69
69
  // Return best approximation if we didn't converge
70
70
  return bestMid;
71
71
  }
72
+ exports.bisectSearch2 = bisectSearch2;
72
73
  //# sourceMappingURL=bisect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bisect.js","sourceRoot":"","sources":["../src/bisect.ts"],"names":[],"mappings":";;AAWA,sCAuEC;AAlFD;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAC3B,IAA2B,EAC3B,EAAU,EACV,EAAU,EACV,UAAkB,MAAM,EACxB,gBAAwB,IAAI;IAE5B,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,2BAA2B;IAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAClB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAElB,qDAAqD;IACrD,0DAA0D;IAC1D,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO;QAAE,OAAO,EAAE,CAAA;IAEtC,6DAA6D;IAC7D,IAAI,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,SAAS,GAAG,QAAQ,CAAA;IAExB,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,iCAAiC;IACjC,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE9B,UAAU,EAAE,CAAA;QAEZ,2BAA2B;QAC3B,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,SAAS,GAAG,OAAO,CAAA;YACnB,OAAO,GAAG,GAAG,CAAA;QACf,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;YACtB,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,0CAA0C;QAC1C,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAA;QACzB,IAAI,SAAS,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,yCAAyC;QACzC,gEAAgE;QAChE,kCAAkC;QAClC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YACnB,EAAE,GAAG,GAAG,CAAA;YACR,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,GAAG,CAAA;YACR,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,OAAO,OAAO,CAAA;AAChB,CAAC"}
1
+ {"version":3,"file":"bisect.js","sourceRoot":"","sources":["../src/bisect.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAC3B,IAA2B,EAC3B,EAAU,EACV,EAAU,EACV,UAAkB,MAAM,EACxB,gBAAwB,IAAI;IAE5B,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAC5C,CAAC;IAED,2BAA2B;IAC3B,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAClB,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;IAElB,qDAAqD;IACrD,0DAA0D;IAC1D,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO;QAAE,OAAO,EAAE,CAAA;IACtC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO;QAAE,OAAO,EAAE,CAAA;IAEtC,6DAA6D;IAC7D,IAAI,OAAO,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,SAAS,GAAG,QAAQ,CAAA;IAExB,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,iCAAiC;IACjC,OAAO,UAAU,GAAG,aAAa,EAAE,CAAC;QAClC,sCAAsC;QACtC,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE9B,UAAU,EAAE,CAAA;QAEZ,2BAA2B;QAC3B,IAAI,OAAO,GAAG,SAAS,EAAE,CAAC;YACxB,SAAS,GAAG,OAAO,CAAA;YACnB,OAAO,GAAG,GAAG,CAAA;QACf,CAAC;QAED,oBAAoB;QACpB,IAAI,OAAO,GAAG,OAAO,EAAE,CAAC;YACtB,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,0CAA0C;QAC1C,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAA;QACzB,IAAI,SAAS,GAAG,OAAO,GAAG,IAAI,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,yCAAyC;QACzC,gEAAgE;QAChE,kCAAkC;QAClC,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC;YACnB,EAAE,GAAG,GAAG,CAAA;YACR,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,EAAE,GAAG,GAAG,CAAA;YACR,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;IACH,CAAC;IAED,kDAAkD;IAClD,OAAO,OAAO,CAAA;AAChB,CAAC;AAvED,sCAuEC"}
@@ -0,0 +1,63 @@
1
+ import type { LpPositionCLMM, Ticks } from "@exponent-labs/exponent-fetcher";
2
+ export type CrossingEqualizationDirection = "add" | "remove";
3
+ export type CrossingEqualizationPlanStep = {
4
+ shareIndex: number;
5
+ tickIdx: number;
6
+ direction: CrossingEqualizationDirection;
7
+ shareDeltaRaw: bigint;
8
+ ptDelta: bigint;
9
+ syDelta: bigint;
10
+ };
11
+ export type ExistingPositionEqualization = {
12
+ sySpent: bigint;
13
+ ptSpent: bigint;
14
+ syReleased: bigint;
15
+ ptReleased: bigint;
16
+ plan: CrossingEqualizationPlanStep[];
17
+ };
18
+ export type ExistingPositionBudgetEffect = {
19
+ userMaxSy: bigint;
20
+ userMaxPt: bigint;
21
+ effectiveMaxSy: bigint;
22
+ effectiveMaxPt: bigint;
23
+ fixedSySpent: bigint;
24
+ fixedPtSpent: bigint;
25
+ fixedSyReleased: bigint;
26
+ fixedPtReleased: bigint;
27
+ };
28
+ /**
29
+ * Mirrors `precalc_existing_position_add_liquidity` from the CLMM program.
30
+ *
31
+ * The returned `ptSpent` and `sySpent` are the exact token budget that must be
32
+ * reserved before adding more liquidity to a position with an active crossing split.
33
+ * All PreciseNumber operations are performed on raw fixed-point `bigint` values so
34
+ * the rounding matches the contract's `fast_floor_u128`, `fast_mul_ratio`, and
35
+ * `muldiv_ceil_u128` paths.
36
+ */
37
+ export declare function computeExistingPositionEqualization(ticks: Ticks, position: LpPositionCLMM): ExistingPositionEqualization;
38
+ /**
39
+ * Mirrors the contract's `compute_existing_position_budget_effect`.
40
+ *
41
+ * It throws the same invariant class when the supplied user budgets cannot cover
42
+ * the fixed equalization spend, for example `userMaxPt=0` while `ptSpent>0`.
43
+ */
44
+ export declare function computeExistingPositionBudgetEffect(params: {
45
+ ticks: Ticks;
46
+ position: LpPositionCLMM;
47
+ userMaxSy: bigint;
48
+ userMaxPt: bigint;
49
+ }): ExistingPositionBudgetEffect;
50
+ /**
51
+ * Mirrors `required_user_max_sy/pt`: expands a desired post-equalization budget
52
+ * into the user-facing max token amounts that should be passed to the instruction.
53
+ */
54
+ export declare function computeRequiredUserMaxForExistingPositionEqualization(params: {
55
+ ticks: Ticks;
56
+ position: LpPositionCLMM;
57
+ desiredEffectiveMaxSy: bigint;
58
+ desiredEffectiveMaxPt: bigint;
59
+ }): {
60
+ userMaxSy: bigint;
61
+ userMaxPt: bigint;
62
+ equalization: ExistingPositionEqualization;
63
+ };
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeRequiredUserMaxForExistingPositionEqualization = exports.computeExistingPositionBudgetEffect = exports.computeExistingPositionEqualization = void 0;
4
+ const SENTINEL_TICK_INDEX = 0xffffffff;
5
+ const PRECISE_NUMBER_DENOM = 1000000000000n;
6
+ const U64_MAX = (1n << 64n) - 1n;
7
+ const U128_MAX = (1n << 128n) - 1n;
8
+ const invariantError = (message) => new Error(`CrossingEqualizationInvariantViolated: ${message}`);
9
+ const assertU64 = (value, label) => {
10
+ if (value < 0n || value > U64_MAX) {
11
+ throw invariantError(`${label} does not fit in u64: ${value.toString()}`);
12
+ }
13
+ return value;
14
+ };
15
+ const assertU128 = (value, label) => {
16
+ if (value < 0n || value > U128_MAX) {
17
+ throw invariantError(`${label} does not fit in u128: ${value.toString()}`);
18
+ }
19
+ return value;
20
+ };
21
+ const checkedAddU64 = (left, right, label) => assertU64(left + right, label);
22
+ const checkedSubU64 = (left, right, label) => {
23
+ if (right > left) {
24
+ throw invariantError(`${label} underflow: ${left.toString()} - ${right.toString()}`);
25
+ }
26
+ return left - right;
27
+ };
28
+ const checkedMulU128 = (left, right, label) => assertU128(left * right, label);
29
+ const ceilMulDivU128 = (left, right, denominator, label) => {
30
+ if (denominator <= 0n) {
31
+ throw invariantError(`${label} division by zero`);
32
+ }
33
+ const product = checkedMulU128(left, right, `${label} product`);
34
+ return assertU128(product + denominator - 1n, `${label} ceil numerator`) / denominator;
35
+ };
36
+ const fastFloorU128 = (rawPreciseNumber) => assertU128(rawPreciseNumber, "precise number raw") / PRECISE_NUMBER_DENOM;
37
+ const fastMulRatioRaw = (rawPreciseNumber, numerator, denominator, label) => {
38
+ if (denominator <= 0n) {
39
+ throw invariantError(`${label} division by zero`);
40
+ }
41
+ const raw = assertU128(rawPreciseNumber, `${label} raw precise number`);
42
+ const product = checkedMulU128(raw, numerator, `${label} product`);
43
+ return product / denominator;
44
+ };
45
+ const getTickByIndex = (ticks, tickIdx) => {
46
+ const tick = ticks.ticksTree[tickIdx - 1];
47
+ if (!tick || tick.apyBasePoints <= 0) {
48
+ throw invariantError(`missing tick at index ${tickIdx}`);
49
+ }
50
+ return tick;
51
+ };
52
+ const getTickKey = (ticks, tickIdx) => getTickByIndex(ticks, tickIdx).apyBasePoints;
53
+ const successorIdx = (ticks, tickIdx) => {
54
+ const tickKey = getTickKey(ticks, tickIdx);
55
+ let best = null;
56
+ for (let index = 0; index < ticks.ticksTree.length; index++) {
57
+ const key = ticks.ticksTree[index].apyBasePoints;
58
+ if (key <= tickKey) {
59
+ continue;
60
+ }
61
+ if (!best || key < best.key) {
62
+ best = { tickIdx: index + 1, key };
63
+ }
64
+ }
65
+ return best?.tickIdx ?? null;
66
+ };
67
+ const isCrossingSplitActive = (position) => position.crossingSplit.crossLeftIdx !== SENTINEL_TICK_INDEX &&
68
+ position.crossingSplit.crossRightIdx !== SENTINEL_TICK_INDEX;
69
+ const shareIsWithinCrossingRange = (ticks, position, share) => {
70
+ const shareLeftKey = getTickKey(ticks, share.tickIdx);
71
+ let shareRightIdx = share.rightTickIdx;
72
+ if (share.rightTickIdx === SENTINEL_TICK_INDEX) {
73
+ shareRightIdx = successorIdx(ticks, share.tickIdx);
74
+ }
75
+ if (shareRightIdx == null) {
76
+ return false;
77
+ }
78
+ const shareRightKey = getTickKey(ticks, shareRightIdx);
79
+ const crossLeftKey = getTickKey(ticks, position.crossingSplit.crossLeftIdx);
80
+ const crossRightKey = getTickKey(ticks, position.crossingSplit.crossRightIdx);
81
+ return shareLeftKey >= crossLeftKey && shareRightKey <= crossRightKey;
82
+ };
83
+ const computeAddDeltas = (params) => {
84
+ const ptDelta = params.ownedPt > 0n
85
+ ? assertU64(ceilMulDivU128(params.ownedPt, params.liquidityDelta, params.lActual, "PT equalization in"), "PT equalization in")
86
+ : 0n;
87
+ const syDelta = params.ownedSy > 0n
88
+ ? assertU64(ceilMulDivU128(params.ownedSy, params.liquidityDelta, params.lActual, "SY equalization in"), "SY equalization in")
89
+ : 0n;
90
+ return [ptDelta, syDelta];
91
+ };
92
+ const computeRemoveDeltas = (params) => {
93
+ const burnShares = fastFloorU128(params.shareDeltaRaw);
94
+ const ptDelta = assertU64(checkedMulU128(burnShares, params.node.principalPt, "PT equalization out product") / params.supply, "PT equalization out");
95
+ const syDelta = assertU64(checkedMulU128(burnShares, params.node.principalSy, "SY equalization out product") / params.supply, "SY equalization out");
96
+ return [ptDelta, syDelta];
97
+ };
98
+ const summarizePlan = (plan) => {
99
+ let sySpent = 0n;
100
+ let ptSpent = 0n;
101
+ let syReleased = 0n;
102
+ let ptReleased = 0n;
103
+ for (const step of plan) {
104
+ if (step.direction === "add") {
105
+ sySpent = checkedAddU64(sySpent, step.syDelta, "equalization sy spent");
106
+ ptSpent = checkedAddU64(ptSpent, step.ptDelta, "equalization pt spent");
107
+ continue;
108
+ }
109
+ syReleased = checkedAddU64(syReleased, step.syDelta, "equalization sy released");
110
+ ptReleased = checkedAddU64(ptReleased, step.ptDelta, "equalization pt released");
111
+ }
112
+ return {
113
+ sySpent,
114
+ ptSpent,
115
+ syReleased,
116
+ ptReleased,
117
+ plan,
118
+ };
119
+ };
120
+ /**
121
+ * Mirrors `precalc_existing_position_add_liquidity` from the CLMM program.
122
+ *
123
+ * The returned `ptSpent` and `sySpent` are the exact token budget that must be
124
+ * reserved before adding more liquidity to a position with an active crossing split.
125
+ * All PreciseNumber operations are performed on raw fixed-point `bigint` values so
126
+ * the rounding matches the contract's `fast_floor_u128`, `fast_mul_ratio`, and
127
+ * `muldiv_ceil_u128` paths.
128
+ */
129
+ function computeExistingPositionEqualization(ticks, position) {
130
+ if (!isCrossingSplitActive(position)) {
131
+ return summarizePlan([]);
132
+ }
133
+ const lActual = assertU64(position.crossingSplit.lpBalanceCrossing, "lpBalanceCrossing");
134
+ const lpBalance = assertU64(position.lpBalance, "lpBalance");
135
+ if (lpBalance === lActual) {
136
+ return summarizePlan([]);
137
+ }
138
+ if (lActual === 0n) {
139
+ throw invariantError("active crossing split has zero actual liquidity");
140
+ }
141
+ const direction = lpBalance > lActual ? "add" : "remove";
142
+ const liquidityDelta = lpBalance > lActual ? lpBalance - lActual : lActual - lpBalance;
143
+ const plan = [];
144
+ let sawCrossingRangeShare = false;
145
+ let skippedCrossingShareDueToDust = false;
146
+ for (let shareIndex = 0; shareIndex < position.shareTrackers.length; shareIndex++) {
147
+ const share = position.shareTrackers[shareIndex];
148
+ if (!shareIsWithinCrossingRange(ticks, position, share)) {
149
+ continue;
150
+ }
151
+ sawCrossingRangeShare = true;
152
+ const node = getTickByIndex(ticks, share.tickIdx);
153
+ const supply = fastFloorU128(node.principalShareSupply);
154
+ if (supply === 0n) {
155
+ skippedCrossingShareDueToDust = true;
156
+ continue;
157
+ }
158
+ const shareFloor = fastFloorU128(share.lpShare);
159
+ if (shareFloor === 0n) {
160
+ skippedCrossingShareDueToDust = true;
161
+ continue;
162
+ }
163
+ const ownedPt = assertU64(checkedMulU128(shareFloor, node.principalPt, "owned PT product") / supply, "owned PT");
164
+ const ownedSy = assertU64(checkedMulU128(shareFloor, node.principalSy, "owned SY product") / supply, "owned SY");
165
+ const shareDeltaRaw = fastMulRatioRaw(share.lpShare, liquidityDelta, lActual, "share delta");
166
+ let deltas;
167
+ if (direction === "add") {
168
+ deltas = computeAddDeltas({
169
+ ownedPt,
170
+ ownedSy,
171
+ liquidityDelta,
172
+ lActual,
173
+ });
174
+ }
175
+ else {
176
+ deltas = computeRemoveDeltas({
177
+ shareDeltaRaw,
178
+ node,
179
+ supply,
180
+ });
181
+ }
182
+ const [ptDelta, syDelta] = deltas;
183
+ if (shareDeltaRaw === 0n && ptDelta === 0n && syDelta === 0n) {
184
+ skippedCrossingShareDueToDust = true;
185
+ continue;
186
+ }
187
+ plan.push({
188
+ shareIndex,
189
+ tickIdx: share.tickIdx,
190
+ direction,
191
+ shareDeltaRaw,
192
+ ptDelta,
193
+ syDelta,
194
+ });
195
+ }
196
+ if (plan.length === 0 && sawCrossingRangeShare && skippedCrossingShareDueToDust) {
197
+ return summarizePlan([]);
198
+ }
199
+ if (plan.length === 0) {
200
+ throw invariantError("active crossing split has no equalizable crossing-range shares");
201
+ }
202
+ return summarizePlan(plan);
203
+ }
204
+ exports.computeExistingPositionEqualization = computeExistingPositionEqualization;
205
+ /**
206
+ * Mirrors the contract's `compute_existing_position_budget_effect`.
207
+ *
208
+ * It throws the same invariant class when the supplied user budgets cannot cover
209
+ * the fixed equalization spend, for example `userMaxPt=0` while `ptSpent>0`.
210
+ */
211
+ function computeExistingPositionBudgetEffect(params) {
212
+ const equalization = computeExistingPositionEqualization(params.ticks, params.position);
213
+ const effectiveMaxSy = checkedAddU64(checkedSubU64(params.userMaxSy, equalization.sySpent, "effective max SY"), equalization.syReleased, "effective max SY");
214
+ const effectiveMaxPt = checkedAddU64(checkedSubU64(params.userMaxPt, equalization.ptSpent, "effective max PT"), equalization.ptReleased, "effective max PT");
215
+ return {
216
+ userMaxSy: params.userMaxSy,
217
+ userMaxPt: params.userMaxPt,
218
+ effectiveMaxSy,
219
+ effectiveMaxPt,
220
+ fixedSySpent: equalization.sySpent,
221
+ fixedPtSpent: equalization.ptSpent,
222
+ fixedSyReleased: equalization.syReleased,
223
+ fixedPtReleased: equalization.ptReleased,
224
+ };
225
+ }
226
+ exports.computeExistingPositionBudgetEffect = computeExistingPositionBudgetEffect;
227
+ /**
228
+ * Mirrors `required_user_max_sy/pt`: expands a desired post-equalization budget
229
+ * into the user-facing max token amounts that should be passed to the instruction.
230
+ */
231
+ function computeRequiredUserMaxForExistingPositionEqualization(params) {
232
+ const equalization = computeExistingPositionEqualization(params.ticks, params.position);
233
+ const userMaxSy = checkedSubU64(checkedAddU64(params.desiredEffectiveMaxSy, equalization.sySpent, "required user max SY"), equalization.syReleased, "required user max SY");
234
+ const userMaxPt = checkedSubU64(checkedAddU64(params.desiredEffectiveMaxPt, equalization.ptSpent, "required user max PT"), equalization.ptReleased, "required user max PT");
235
+ return {
236
+ userMaxSy,
237
+ userMaxPt,
238
+ equalization,
239
+ };
240
+ }
241
+ exports.computeRequiredUserMaxForExistingPositionEqualization = computeRequiredUserMaxForExistingPositionEqualization;
242
+ //# sourceMappingURL=existingPositionEqualization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"existingPositionEqualization.js","sourceRoot":"","sources":["../src/existingPositionEqualization.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -17,6 +17,8 @@ export { EffSnap, TicksWrapper, calculateFeeRate, getFeeFromAmount } from "./uti
17
17
  export { simulateBuyYt, simulateSellYt, simulateBuyYtWithSyIn } from "./ytTrades";
18
18
  export type { BuyYtSimulationArgs, BuyYtSimulationResult, SellYtSimulationArgs, SellYtSimulationResult, } from "./ytTrades";
19
19
  export { simulateAddLiquidity, computeLiquidityTargetAndTokenNeeds, computeTokenNeedsWithCrossing, getCrossingTickStateFromTicks, scaleCrossingTickInputs, calculateLpOut, estimateBalancedDeposit, calcDepositSyAndPtFromBaseAmount, simulateWrapperProvideLiquidity, simulateSwapAndSupply, } from "./addLiquidity";
20
+ export { computeExistingPositionBudgetEffect, computeExistingPositionEqualization, computeRequiredUserMaxForExistingPositionEqualization, } from "./existingPositionEqualization";
21
+ export type { CrossingEqualizationDirection, CrossingEqualizationPlanStep, ExistingPositionBudgetEffect, ExistingPositionEqualization, } from "./existingPositionEqualization";
20
22
  export { getPtAndSyOnWithdrawLiquidity } from "./withdrawLiquidity";
21
23
  export { bisectSearch2 } from "./bisect";
22
24
  export { buildLiquidityHistogram, buildLiquidityHistogramSimple } from "./liquidityHistogram";
package/build/index.js CHANGED
@@ -25,7 +25,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.SwapDirection = exports.buildLiquidityHistogramSimple = exports.buildLiquidityHistogram = exports.bisectSearch2 = exports.getPtAndSyOnWithdrawLiquidity = exports.simulateSwapAndSupply = exports.simulateWrapperProvideLiquidity = exports.calcDepositSyAndPtFromBaseAmount = exports.estimateBalancedDeposit = exports.calculateLpOut = exports.scaleCrossingTickInputs = exports.getCrossingTickStateFromTicks = exports.computeTokenNeedsWithCrossing = exports.computeLiquidityTargetAndTokenNeeds = exports.simulateAddLiquidity = exports.simulateBuyYtWithSyIn = exports.simulateSellYt = exports.simulateBuyYt = exports.getFeeFromAmount = exports.calculateFeeRate = exports.TicksWrapper = exports.EffSnap = exports.QuoteDirection = exports.getSwapQuote = exports.simulateSwap = exports.getSuccessorTickIdxByIdx = exports.calcPtPriceInAsset = exports.convertApyBpToApy = exports.convertApyToApyBp = exports.findTickByKey = exports.getImpliedRate = exports.getPredecessorTickKey = exports.getSuccessorTickKey = exports.getActiveLiquidity = exports.normalizedTimeRemaining = void 0;
28
+ exports.SwapDirection = exports.buildLiquidityHistogramSimple = exports.buildLiquidityHistogram = exports.bisectSearch2 = exports.getPtAndSyOnWithdrawLiquidity = exports.computeRequiredUserMaxForExistingPositionEqualization = exports.computeExistingPositionEqualization = exports.computeExistingPositionBudgetEffect = exports.simulateSwapAndSupply = exports.simulateWrapperProvideLiquidity = exports.calcDepositSyAndPtFromBaseAmount = exports.estimateBalancedDeposit = exports.calculateLpOut = exports.scaleCrossingTickInputs = exports.getCrossingTickStateFromTicks = exports.computeTokenNeedsWithCrossing = exports.computeLiquidityTargetAndTokenNeeds = exports.simulateAddLiquidity = exports.simulateBuyYtWithSyIn = exports.simulateSellYt = exports.simulateBuyYt = exports.getFeeFromAmount = exports.calculateFeeRate = exports.TicksWrapper = exports.EffSnap = exports.QuoteDirection = exports.getSwapQuote = exports.simulateSwap = exports.getSuccessorTickIdxByIdx = exports.calcPtPriceInAsset = exports.convertApyBpToApy = exports.convertApyToApyBp = exports.findTickByKey = exports.getImpliedRate = exports.getPredecessorTickKey = exports.getSuccessorTickKey = exports.getActiveLiquidity = exports.normalizedTimeRemaining = void 0;
29
29
  // Export types
30
30
  __exportStar(require("./types"), exports);
31
31
  // Export utility functions
@@ -69,6 +69,10 @@ Object.defineProperty(exports, "estimateBalancedDeposit", { enumerable: true, ge
69
69
  Object.defineProperty(exports, "calcDepositSyAndPtFromBaseAmount", { enumerable: true, get: function () { return addLiquidity_1.calcDepositSyAndPtFromBaseAmount; } });
70
70
  Object.defineProperty(exports, "simulateWrapperProvideLiquidity", { enumerable: true, get: function () { return addLiquidity_1.simulateWrapperProvideLiquidity; } });
71
71
  Object.defineProperty(exports, "simulateSwapAndSupply", { enumerable: true, get: function () { return addLiquidity_1.simulateSwapAndSupply; } });
72
+ var existingPositionEqualization_1 = require("./existingPositionEqualization");
73
+ Object.defineProperty(exports, "computeExistingPositionBudgetEffect", { enumerable: true, get: function () { return existingPositionEqualization_1.computeExistingPositionBudgetEffect; } });
74
+ Object.defineProperty(exports, "computeExistingPositionEqualization", { enumerable: true, get: function () { return existingPositionEqualization_1.computeExistingPositionEqualization; } });
75
+ Object.defineProperty(exports, "computeRequiredUserMaxForExistingPositionEqualization", { enumerable: true, get: function () { return existingPositionEqualization_1.computeRequiredUserMaxForExistingPositionEqualization; } });
72
76
  var withdrawLiquidity_1 = require("./withdrawLiquidity");
73
77
  Object.defineProperty(exports, "getPtAndSyOnWithdrawLiquidity", { enumerable: true, get: function () { return withdrawLiquidity_1.getPtAndSyOnWithdrawLiquidity; } });
74
78
  // Export bisect search utility