@carrot-protocol/clend-rpc 0.1.4-slippage-dev-2963bcb → 0.1.4

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.
package/dist/math.d.ts CHANGED
@@ -250,14 +250,14 @@ export declare function calculateAccruedInterest(lastUpdate: BN, assetAmountUi:
250
250
  */
251
251
  export declare function adjustBorrowForOriginationFee(idealBorrowAmount: BN, originationFeeRate: number): BN;
252
252
  /**
253
- * Adjusts a borrow amount upwards to compensate for potential swap slippage,
253
+ * Adjusts an amount upwards to compensate for potential swap slippage,
254
254
  * assuming worst-case based on slippageBps.
255
255
  *
256
- * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
256
+ * @param amountToAdjust - The amount to adjust (native units, BN), typically after cost adjustments.
257
257
  * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
258
- * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
258
+ * @returns Adjusted amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
259
259
  */
260
- export declare function adjustBorrowForSlippage(amountToAdjust: BN, slippageBps: number): BN;
260
+ export declare function adjustAmountForSlippage(amountToAdjust: BN, slippageBps: number): BN;
261
261
  /**
262
262
  * Calculates the estimated liquidation price for a collateral asset.
263
263
  *
package/dist/math.js CHANGED
@@ -21,7 +21,7 @@ exports.computeWithdrawLeverageAmounts = computeWithdrawLeverageAmounts;
21
21
  exports.calculateHealthFactorAndLeverage = calculateHealthFactorAndLeverage;
22
22
  exports.calculateAccruedInterest = calculateAccruedInterest;
23
23
  exports.adjustBorrowForOriginationFee = adjustBorrowForOriginationFee;
24
- exports.adjustBorrowForSlippage = adjustBorrowForSlippage;
24
+ exports.adjustAmountForSlippage = adjustAmountForSlippage;
25
25
  exports.calculateLiquidationPrice = calculateLiquidationPrice;
26
26
  exports.calculateLtv = calculateLtv;
27
27
  exports.calculateLiquidationPriceChangePercentage = calculateLiquidationPriceChangePercentage;
@@ -541,21 +541,20 @@ function adjustBorrowForOriginationFee(idealBorrowAmount, originationFeeRate) {
541
541
  return anchor_1.BN.max(adjustedBorrowAmount, new anchor_1.BN(0));
542
542
  }
543
543
  /**
544
- * Adjusts a borrow amount upwards to compensate for potential swap slippage,
544
+ * Adjusts an amount upwards to compensate for potential swap slippage,
545
545
  * assuming worst-case based on slippageBps.
546
546
  *
547
- * @param amountToAdjust - The borrow amount to adjust (native units, BN), typically after cost adjustments.
547
+ * @param amountToAdjust - The amount to adjust (native units, BN), typically after cost adjustments.
548
548
  * @param slippageBps - The maximum slippage tolerance in basis points (e.g., 100 for 1%).
549
- * @returns Adjusted borrow amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
549
+ * @returns Adjusted amount (native units, BN), slightly more than the input amount. Returns input amount if slippageBps is zero or invalid.
550
550
  */
551
- function adjustBorrowForSlippage(amountToAdjust, slippageBps) {
551
+ function adjustAmountForSlippage(amountToAdjust, slippageBps) {
552
552
  if (slippageBps <= 0) {
553
553
  return amountToAdjust; // No adjustment if no slippage tolerance
554
554
  }
555
555
  const S = new decimal_js_1.Decimal(slippageBps).div(10000); // Slippage factor S as decimal
556
556
  // Ensure S is less than 1 (100% slippage)
557
557
  if (S.gte(1)) {
558
- console.warn(`Slippage factor ${S.toString()} is >= 100%, returning original amount.`);
559
558
  return amountToAdjust;
560
559
  }
561
560
  // Formula: B_actual ≈ B_ideal / (1 - S)
@@ -566,14 +565,13 @@ function adjustBorrowForSlippage(amountToAdjust, slippageBps) {
566
565
  denominator.isNaN() ||
567
566
  !denominator.isFinite() ||
568
567
  denominator.isNegative()) {
569
- console.warn("Invalid denominator in slippage adjustment, returning input amount");
570
568
  return amountToAdjust;
571
569
  }
572
570
  const amountToAdjustDecimal = new decimal_js_1.Decimal(amountToAdjust.toString());
573
- const adjustedBorrowDecimal = amountToAdjustDecimal.div(denominator);
571
+ const adjustedAmountDecimal = amountToAdjustDecimal.div(denominator);
574
572
  // Round up when increasing amount due to needing more input for slippage
575
- const adjustedBorrowAmount = new anchor_1.BN(adjustedBorrowDecimal.ceil().toFixed());
576
- return adjustedBorrowAmount;
573
+ const adjustedAmount = new anchor_1.BN(adjustedAmountDecimal.ceil().toFixed());
574
+ return adjustedAmount;
577
575
  }
578
576
  /**
579
577
  * Calculates the estimated liquidation price for a collateral asset.
package/dist/math.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"math.js","sourceRoot":"","sources":["../src/math.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts CHANGED
@@ -83,21 +83,58 @@ export declare class ClendClient {
83
83
  collateralBankData: Bank;
84
84
  debtBankData: Bank;
85
85
  }>;
86
- getNetWithdrawLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean): Promise<{
86
+ getNetWithdrawLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, desiredNetWithdraw: BN, withdrawAll: boolean, slippageBps: number): Promise<{
87
87
  debtToRepay: BN;
88
88
  collateralToWithdraw: BN;
89
89
  collateralBankData: Bank;
90
90
  debtBankData: Bank;
91
91
  }>;
92
92
  adjustLeverage(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<string>;
93
+ /**
94
+ * Calculates the required changes in debt and collateral to reach a target leverage.
95
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
96
+ *
97
+ * @param clendGroup - The public key of the Clend group.
98
+ * @param clendAccount - The public key of the user's Clend account.
99
+ * @param collateralMint - The public key of the collateral token mint.
100
+ * @param debtMint - The public key of the debt token mint.
101
+ * @param targetLeverage - The desired final leverage ratio.
102
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
103
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
104
+ * @returns Promise<{
105
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
106
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
107
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
108
+ * collateralBankData: Bank;
109
+ * debtBankData: Bank;
110
+ * }>
111
+ */
93
112
  getAdjustLeverageParams(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, collateralMint: web3.PublicKey, debtMint: web3.PublicKey, targetLeverage: number, slippageBps: number): Promise<{
94
- collateralDeltaUi: number;
95
- debtDeltaUi: number;
113
+ finalCollateralDeltaUi: number;
114
+ finalDebtDeltaUi: number;
96
115
  isIncrease: boolean;
97
116
  collateralBankData: Bank;
98
117
  debtBankData: Bank;
99
118
  }>;
100
- getAdjustLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, debtDeltaUi: number, slippageBps: number, additionalIxnCount: number): Promise<{
119
+ /**
120
+ * Builds the transaction instructions for adjusting leverage.
121
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
122
+ *
123
+ * @param clendGroup - The public key of the Clend group.
124
+ * @param clendAccount - The public key of the user's Clend account.
125
+ * @param user - The public key of the user initiating the transaction.
126
+ * @param debtBankData - The Bank data for the debt asset.
127
+ * @param collateralBankData - The Bank data for the collateral asset.
128
+ * @param isIncrease - Boolean indicating if leverage is increasing.
129
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
130
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
131
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
132
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
133
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
134
+ */
135
+ getAdjustLeverageIxns(clendGroup: web3.PublicKey, clendAccount: web3.PublicKey, user: web3.PublicKey, debtBankData: Bank, collateralBankData: Bank, isIncrease: boolean, finalDebtDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
136
+ finalCollateralDeltaUi: number, // Use the final adjusted value from getAdjustLeverageParams
137
+ slippageBps: number, additionalIxnCount: number): Promise<{
101
138
  ixns: web3.TransactionInstruction[];
102
139
  luts: web3.PublicKey[];
103
140
  }>;
package/dist/rpc.js CHANGED
@@ -587,7 +587,7 @@ class ClendClient {
587
587
  const borrowAmountAfterBorrowingCosts = (0, math_1.adjustBorrowForOriginationFee)(borrowAmount, originationFeeRate);
588
588
  // 3. Adjust for Slippage (Borrow MORE)
589
589
  // Apply slippage adjustment to the amount already adjusted for costs
590
- const finalBorrowAmount = (0, math_1.adjustBorrowForSlippage)(borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
590
+ const finalBorrowAmount = (0, math_1.adjustAmountForSlippage)(borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
591
591
  slippageBps);
592
592
  const finalBorrowAmountUi = (0, math_1.amountToUi)(finalBorrowAmount, debtDecimals);
593
593
  utils_1.logger.info("depositLeverage params calculated", {
@@ -613,7 +613,7 @@ class ClendClient {
613
613
  };
614
614
  }
615
615
  async withdrawLeverage(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll, slippageBps) {
616
- const params = await this.getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll);
616
+ const params = await this.getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, withdrawAmount, withdrawAll, slippageBps);
617
617
  const { ixns, luts } = await this.getWithdrawLeverageIxns(clendGroup, clendAccount, collateralMint, debtMint, params.collateralBankData.mintDecimals, params.debtBankData.mintDecimals, withdrawAll, params.debtToRepay, params.collateralToWithdraw, slippageBps, 0);
618
618
  // Send transaction
619
619
  return this.send(ixns, [], luts);
@@ -790,7 +790,7 @@ class ClendClient {
790
790
  };
791
791
  }
792
792
  // caller will receive desiredNetWithdraw, the position will be adjusted accordingly
793
- async getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, desiredNetWithdraw, withdrawAll) {
793
+ async getNetWithdrawLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, desiredNetWithdraw, withdrawAll, slippageBps) {
794
794
  utils_1.logger.info("getNetWithdrawParams", {
795
795
  desiredNetWithdraw: desiredNetWithdraw.toString(),
796
796
  withdrawAll,
@@ -850,6 +850,10 @@ class ClendClient {
850
850
  utils_1.logger.info("WithdrawAll selected");
851
851
  collateralToWithdraw = collateralAmount;
852
852
  debtToRepay = (0, math_1.calculateLiabilityInterest)(debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), new Date().getTime() / 1000);
853
+ // add interest accrual buffer to debt to repay
854
+ // for now we do a conservative 120 seconds
855
+ const timeBufferSec = 120;
856
+ debtToRepay = (0, math_1.addInterestAccrualBuffer)(debtToRepay, debtBankData.borrowApy, timeBufferSec);
853
857
  utils_1.logger.info(`calculated debt to repay`, {
854
858
  debtToRepayWithInterest: debtToRepay.toString(),
855
859
  debtToRepayRaw: debtAmount.toString(),
@@ -857,32 +861,55 @@ class ClendClient {
857
861
  }
858
862
  else {
859
863
  utils_1.logger.info("Calculating partial deleverage for net withdrawal");
860
- // Convert desired net withdrawal to UI amount
864
+ // 1. Calculate estimated current debt accurately
865
+ const estimatedCurrentDebt = (0, math_1.calculateLiabilityInterest)(debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
866
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
867
+ const collateralAmountUI = (0, math_1.amountToUi)(collateralAmount, collateralDecimals);
868
+ const collateralValue = collateralAmountUI * collateralPrice;
869
+ const estimatedCurrentDebtValue = estimatedCurrentDebtUi * debtPrice;
870
+ // 2. Calculate ideal portion of debt to repay (baseDebtToRepay)
861
871
  const desiredNetWithdrawalUi = (0, math_1.amountToUi)(desiredNetWithdraw, collateralDecimals);
862
- // Calculate denominator for dC_ui formula
863
- const denominator = 1 - debtValue / collateralValue;
872
+ const denominator = 1 - estimatedCurrentDebtValue / collateralValue;
864
873
  if (denominator <= 0) {
865
874
  throw new Error("Invalid calculation state: denominator non-positive.");
866
875
  }
867
- // Calculate required collateral withdrawal
868
- const collateralToWithdrawUi = desiredNetWithdrawalUi / denominator;
869
- // Calculate required debt repayment
870
- // Handle potential division by zero if collateralAmountUI is 0 (shouldn't happen if value > 0)
871
- const debtToRepayUi = collateralAmountUI > 0
872
- ? (debtAmountUI / collateralAmountUI) * collateralToWithdrawUi
876
+ const idealCollateralToWithdrawUi = desiredNetWithdrawalUi / denominator;
877
+ const idealDebtToRepayUi = collateralAmountUI > 0
878
+ ? (estimatedCurrentDebtUi / collateralAmountUI) *
879
+ idealCollateralToWithdrawUi
873
880
  : 0;
874
- utils_1.logger.debug("Calculated UI amounts", {
875
- collateralToWithdrawUi,
876
- debtToRepayUi,
881
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtToRepayUi, debtDecimals);
882
+ // 3. Calculate final debt target (including future buffer)
883
+ const timeBufferSec = 60; // Or pass as parameter
884
+ const finalDebtToRepay = (0, math_1.addInterestAccrualBuffer)(baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
885
+ const finalDebtToRepayUi = (0, math_1.amountToUi)(finalDebtToRepay, debtDecimals);
886
+ utils_1.logger.debug("Calculated final debt repay target", {
887
+ finalDebtToRepay: finalDebtToRepay.toString(),
877
888
  });
878
- // Convert back to native BN amounts
879
- collateralToWithdraw = (0, math_1.uiToAmount)(collateralToWithdrawUi, collateralDecimals);
880
- debtToRepay = (0, math_1.uiToAmount)(debtToRepayUi, debtDecimals);
889
+ // 4. Calculate collateral needed for swap, including slippage adjustment
890
+ const slippageFactor = new decimal_js_1.default(slippageBps).div(10000); // Assuming slippageBps is available
891
+ if (slippageFactor.gte(1)) {
892
+ throw new Error("Invalid slippage");
893
+ }
894
+ if (collateralPrice <= 0 || debtPrice <= 0) {
895
+ throw new Error("Invalid prices");
896
+ }
897
+ // Ideal collateral input for the swap (UI)
898
+ const idealCollateralForSwapUi = new decimal_js_1.default(finalDebtToRepayUi)
899
+ .mul(debtPrice)
900
+ .div(collateralPrice);
901
+ // Ideal collateral input for the swap (BN)
902
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
903
+ // Max collateral input for the swap (BN), using the adjustment function
904
+ const collateralToSwapMax = (0, math_1.adjustAmountForSlippage)(idealCollateralForSwapBN, slippageBps);
905
+ utils_1.logger.debug("Calculated max collateral needed for swap", {
906
+ collateralToSwapMax: collateralToSwapMax.toString(),
907
+ });
908
+ // 5. Calculate final total collateral to withdraw
909
+ collateralToWithdraw = collateralToSwapMax.add(desiredNetWithdraw);
910
+ // Set debtToRepay to the final buffered amount (calculated in step 3)
911
+ debtToRepay = finalDebtToRepay;
881
912
  }
882
- // add interest accrual buffer to debt to repay
883
- // for now we do a conservative 120 seconds
884
- const timeBufferSec = 120;
885
- debtToRepay = (0, math_1.addInterestAccrualBuffer)(debtToRepay, debtBankData.borrowApy, timeBufferSec);
886
913
  utils_1.logger.debug("Final calculated amounts", {
887
914
  collateralToWithdraw: collateralToWithdraw.toString(),
888
915
  debtToRepay: debtToRepay.toString(),
@@ -896,16 +923,41 @@ class ClendClient {
896
923
  }
897
924
  async adjustLeverage(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
898
925
  const params = await this.getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps);
899
- const { ixns, luts } = await this.getAdjustLeverageIxns(clendGroup, clendAccount, this.address(), params.debtBankData, params.collateralBankData, params.isIncrease, params.debtDeltaUi, slippageBps, 0);
926
+ const { ixns, luts } = await this.getAdjustLeverageIxns(clendGroup, clendAccount, this.address(), params.debtBankData, params.collateralBankData, params.isIncrease, params.finalDebtDeltaUi, params.finalCollateralDeltaUi, slippageBps, 0);
900
927
  // Send transaction
901
928
  return this.send(ixns, [], luts);
902
929
  }
930
+ /**
931
+ * Calculates the required changes in debt and collateral to reach a target leverage.
932
+ * Adjusts the deltas for fees, slippage, and interest buffers as appropriate.
933
+ *
934
+ * @param clendGroup - The public key of the Clend group.
935
+ * @param clendAccount - The public key of the user's Clend account.
936
+ * @param collateralMint - The public key of the collateral token mint.
937
+ * @param debtMint - The public key of the debt token mint.
938
+ * @param targetLeverage - The desired final leverage ratio.
939
+ * @param slippageBps - The slippage tolerance in basis points for swap adjustments.
940
+ * @param futureInterestBufferSec - Estimated seconds of future interest to buffer for repay operations (default: 2s).
941
+ * @returns Promise<{
942
+ * finalCollateralDeltaUi: number; // Final change in collateral (UI units, adjusted for swap needs)
943
+ * finalDebtDeltaUi: number; // Final change in debt (UI units, adjusted for fee/slippage/buffer)
944
+ * isIncrease: boolean; // True if leverage is increasing (borrowing more)
945
+ * collateralBankData: Bank;
946
+ * debtBankData: Bank;
947
+ * }>
948
+ */
903
949
  async getAdjustLeverageParams(clendGroup, clendAccount, collateralMint, debtMint, targetLeverage, slippageBps) {
950
+ utils_1.logger.info("getAdjustLeverageParams called", {
951
+ targetLeverage,
952
+ slippageBps,
953
+ });
904
954
  // Get bank data
905
955
  const collateralBank = (0, addresses_1.getBankPda)(clendGroup, collateralMint);
906
956
  const debtBank = (0, addresses_1.getBankPda)(clendGroup, debtMint);
907
957
  const collateralBankData = await this.getBank(collateralBank);
908
958
  const debtBankData = await this.getBank(debtBank);
959
+ const debtDecimals = debtBankData.mintDecimals;
960
+ const collateralDecimals = collateralBankData.mintDecimals;
909
961
  // Get account data to determine current positions
910
962
  const clendAccountData = await this.getClendAccount(clendAccount);
911
963
  if (!clendAccountData) {
@@ -928,60 +980,158 @@ class ClendClient {
928
980
  if (!collateralBalance) {
929
981
  throw new Error("Could not find collateral position in account");
930
982
  }
931
- // Convert to UI amounts for calculations
983
+ // Ensure liabilityShares exists on the Balance object
984
+ if (debtBalance.liabilityShares === undefined ||
985
+ debtBalance.liabilityShares === null) {
986
+ throw new Error("Missing liabilityShares on debt Balance object, cannot estimate accrued interest accurately.");
987
+ }
988
+ // --- Calculate current state accurately ---
932
989
  const collateralAmountUI = collateralBalance.assetBalanceUi;
933
- const debtAmountUI = debtBalance.liabilityBalanceUi;
934
- // Calculate current leverage and values
935
- const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralBalance.price, 1, debtAmountUI, debtBalance.price, 1);
936
- utils_1.logger.info("current leverage", {
937
- currentLeverage,
990
+ const collateralPrice = collateralBalance.price;
991
+ const debtPrice = debtBalance.price;
992
+ // Estimate current debt including accrued interest
993
+ const estimatedCurrentDebt = (0, math_1.calculateLiabilityInterest)(
994
+ // Using user's function name
995
+ debtBalance.liabilityShares, debtBankData.liabilityShareValue, debtBankData.borrowApy, debtBankData.lastUpdate.toNumber(), Math.floor(Date.now() / 1000));
996
+ const estimatedCurrentDebtUi = (0, math_1.amountToUi)(estimatedCurrentDebt, debtDecimals);
997
+ utils_1.logger.debug("Estimated current state", {
938
998
  collateralAmountUI,
939
- debtAmountUI,
940
- collateralBalance,
941
- debtBalance,
999
+ estimatedCurrentDebtUi,
1000
+ collateralPrice,
1001
+ debtPrice,
942
1002
  });
943
- const { collateralDelta, debtDelta, isIncrease } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, debtAmountUI, collateralBalance.price, debtBalance.price, currentLeverage, targetLeverage, 1, 1);
944
- utils_1.logger.info("adjustLeverage params calculated", {
945
- collateralDelta,
946
- debtDelta,
1003
+ // Calculate current leverage (using notional/unweighted for consistency with compute function)
1004
+ // Use estimatedCurrentDebtUi for accuracy
1005
+ const currentLeverage = (0, math_1.calculateWeightedLeverage)(collateralAmountUI, collateralPrice, 1, estimatedCurrentDebtUi, // Use estimated current debt
1006
+ debtPrice, 1);
1007
+ utils_1.logger.debug("Calculated current leverage", { currentLeverage });
1008
+ // Calculate the IDEAL deltas based on estimated current state
1009
+ const { collateralDelta: idealCollateralDeltaUi, debtDelta: idealDebtDeltaUi, isIncrease, } = (0, math_1.computeAdjustLeverageAmounts)(collateralAmountUI, estimatedCurrentDebtUi, // Use estimated current debt
1010
+ collateralPrice, debtPrice, currentLeverage, targetLeverage, 1, 1);
1011
+ utils_1.logger.debug("Ideal deltas calculated", {
1012
+ idealCollateralDeltaUi,
1013
+ idealDebtDeltaUi,
947
1014
  isIncrease,
948
- collateralAmountUI,
949
- debtAmountUI,
950
- collateralValueWeightedMaint: collateralBalance.assetWeightedMaintBalanceUi,
951
- debtValueWeightedMaint: debtBalance.liabilityWeightedMaintBalanceUi,
952
- currentLeverage,
953
- targetLeverage,
954
1015
  });
955
- let finalDebtDeltaUi = debtDelta;
1016
+ let finalDebtDeltaUi;
1017
+ let finalCollateralDeltaUi;
1018
+ // --- Apply Adjustments based on direction ---
956
1019
  if (isIncrease) {
957
- // adjust debt delta for borrowing costs
958
- const borrowAmount = (0, math_1.uiToAmount)(debtDelta, debtBankData.mintDecimals);
959
- // get origination fee rate
960
- const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
961
- // adjust borrow amount for borrowing costs
962
- const borrowAmountAfterBorrowingCosts = (0, math_1.adjustBorrowForOriginationFee)(borrowAmount, originationFeeRate);
963
- // 3. Adjust for Slippage (Borrow MORE)
964
- // Apply slippage adjustment to the amount already adjusted for costs
965
- const finalBorrowAmount = (0, math_1.adjustBorrowForSlippage)(borrowAmountAfterBorrowingCosts, // Input the cost-adjusted amount
966
- slippageBps);
967
- finalDebtDeltaUi = (0, math_1.amountToUi)(finalBorrowAmount, debtBankData.mintDecimals);
1020
+ utils_1.logger.info("Increasing leverage: Adjusting debt delta for fee and slippage.");
1021
+ finalCollateralDeltaUi = idealCollateralDeltaUi; // Collateral delta is the target gain from swap
1022
+ if (idealDebtDeltaUi <= 0) {
1023
+ utils_1.logger.warn("isIncrease is true but idealDebtDeltaUi is not positive. Setting final debt delta to 0.");
1024
+ finalDebtDeltaUi = 0;
1025
+ }
1026
+ else {
1027
+ // 1. Convert ideal UI delta to BN
1028
+ const idealAdditionalDebtAmount = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
1029
+ // 2. Adjust for origination fee
1030
+ const originationFeeRate = debtBankData.config.interestRateConfig.protocolOriginationFee;
1031
+ const additionalDebtAfterFee = (0, math_1.adjustBorrowForOriginationFee)(idealAdditionalDebtAmount, originationFeeRate);
1032
+ // 3. Adjust for slippage (borrow MORE)
1033
+ const finalAdditionalDebt = (0, math_1.adjustAmountForSlippage)(
1034
+ // Use renamed function
1035
+ additionalDebtAfterFee, slippageBps);
1036
+ // 4. Convert final adjusted BN back to UI units for return
1037
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalAdditionalDebt, debtDecimals);
1038
+ utils_1.logger.debug("Debt delta adjustments applied (Increase)", {
1039
+ idealDebtDeltaUi,
1040
+ idealAdditionalDebtAmount: idealAdditionalDebtAmount.toString(),
1041
+ additionalDebtAfterFee: additionalDebtAfterFee.toString(),
1042
+ finalAdditionalDebt: finalAdditionalDebt.toString(),
1043
+ finalAdjustedDebtDeltaUi: finalDebtDeltaUi,
1044
+ });
1045
+ }
968
1046
  }
969
1047
  else {
970
- // what needs to happen here?
1048
+ // Decreasing Leverage
1049
+ utils_1.logger.info("Decreasing leverage: Adjusting debt delta for future interest buffer and recalculating collateral delta for swap.");
1050
+ if (idealDebtDeltaUi <= 0) {
1051
+ utils_1.logger.warn("isIncrease is false but idealDebtDeltaUi is not positive. Setting final deltas to 0.");
1052
+ finalDebtDeltaUi = 0;
1053
+ finalCollateralDeltaUi = 0;
1054
+ }
1055
+ else {
1056
+ // 1. Convert ideal UI delta (amount to repay) to BN
1057
+ const baseDebtToRepay = (0, math_1.uiToAmount)(idealDebtDeltaUi, debtDecimals);
1058
+ const timeBufferSec = 60;
1059
+ // 2. Add future interest buffer using addInterestAccrualBuffer
1060
+ const finalDebtToRepayTargetBN = (0, math_1.addInterestAccrualBuffer)(
1061
+ // Using user's function name
1062
+ baseDebtToRepay, debtBankData.borrowApy, timeBufferSec);
1063
+ finalDebtDeltaUi = (0, math_1.amountToUi)(finalDebtToRepayTargetBN, debtDecimals); // This is the final debt change target
1064
+ utils_1.logger.debug("Debt delta adjustments applied (Decrease)", {
1065
+ idealDebtDeltaUi,
1066
+ baseDebtToRepay: baseDebtToRepay.toString(),
1067
+ finalDebtToRepayTargetBN: finalDebtToRepayTargetBN.toString(),
1068
+ finalAdjustedDebtDeltaUi: finalDebtDeltaUi,
1069
+ });
1070
+ // 3. Recalculate Collateral Delta needed for the swap (ExactOut)
1071
+ const slippageFactor = new decimal_js_1.default(slippageBps).div(10000);
1072
+ if (slippageFactor.gte(1)) {
1073
+ throw new Error("Slippage cannot be 100% or more.");
1074
+ }
1075
+ if (collateralPrice <= 0 || debtPrice <= 0) {
1076
+ throw new Error("Cannot calculate swap amounts with zero or negative prices.");
1077
+ }
1078
+ // Ideal collateral needed for swap (UI): TargetDebtOutput * (DebtPrice / CollateralPrice)
1079
+ const idealCollateralForSwapUi = new decimal_js_1.default(finalDebtDeltaUi) // Use the final buffered debt delta
1080
+ .mul(debtPrice)
1081
+ .div(collateralPrice);
1082
+ // Ideal collateral input for the swap (BN)
1083
+ const idealCollateralForSwapBN = (0, math_1.uiToAmount)(idealCollateralForSwapUi.toNumber(), collateralDecimals);
1084
+ // Max collateral needed for swap (BN), using the adjustment function
1085
+ const collateralToSwapMax = (0, math_1.adjustAmountForSlippage)(
1086
+ // Use renamed function
1087
+ idealCollateralForSwapBN, slippageBps);
1088
+ // This collateral amount is the change needed (it will be withdrawn)
1089
+ finalCollateralDeltaUi = (0, math_1.amountToUi)(collateralToSwapMax, collateralDecimals);
1090
+ utils_1.logger.debug("Collateral delta recalculated for swap (Decrease)", {
1091
+ finalDebtDeltaUi,
1092
+ idealCollateralForSwapUi: idealCollateralForSwapUi.toString(),
1093
+ idealCollateralForSwapBN: idealCollateralForSwapBN.toString(),
1094
+ collateralToSwapMax: collateralToSwapMax.toString(),
1095
+ finalCollateralDeltaUi, // This is the amount to withdraw (UI)
1096
+ });
1097
+ }
971
1098
  }
972
- utils_1.logger.info(`final calculated amounts`, {
973
- debtDeltaUi: finalDebtDeltaUi,
974
- collateralDelta: collateralDelta,
1099
+ utils_1.logger.info("adjustLeverage params calculated and adjusted", {
1100
+ finalCollateralDeltaUi,
1101
+ finalDebtDeltaUi,
1102
+ isIncrease,
1103
+ // ... other logs ...
975
1104
  });
1105
+ // Ensure deltas are not negative (should be handled by logic, but safety)
1106
+ finalCollateralDeltaUi = Math.max(0, finalCollateralDeltaUi);
1107
+ finalDebtDeltaUi = Math.max(0, finalDebtDeltaUi);
976
1108
  return {
977
- collateralDeltaUi: collateralDelta,
978
- debtDeltaUi: finalDebtDeltaUi,
1109
+ finalCollateralDeltaUi,
1110
+ finalDebtDeltaUi,
979
1111
  isIncrease,
980
1112
  collateralBankData,
981
1113
  debtBankData,
982
1114
  };
983
1115
  }
984
- async getAdjustLeverageIxns(clendGroup, clendAccount, user, debtBankData, collateralBankData, isIncrease, debtDeltaUi, slippageBps, additionalIxnCount) {
1116
+ /**
1117
+ * Builds the transaction instructions for adjusting leverage.
1118
+ * Uses the pre-calculated and adjusted delta values from getAdjustLeverageParams.
1119
+ *
1120
+ * @param clendGroup - The public key of the Clend group.
1121
+ * @param clendAccount - The public key of the user's Clend account.
1122
+ * @param user - The public key of the user initiating the transaction.
1123
+ * @param debtBankData - The Bank data for the debt asset.
1124
+ * @param collateralBankData - The Bank data for the collateral asset.
1125
+ * @param isIncrease - Boolean indicating if leverage is increasing.
1126
+ * @param finalDebtDeltaUi - The final calculated change in debt (UI units), adjusted for fees/slippage/buffers.
1127
+ * @param finalCollateralDeltaUi - The final calculated change in collateral (UI units), adjusted for swap needs.
1128
+ * @param slippageBps - The slippage tolerance in basis points for Jupiter swaps.
1129
+ * @param additionalIxnCount - Count of additional instructions (e.g., JIT) to offset flash loan index.
1130
+ * @returns Promise<{ ixns: web3.TransactionInstruction[]; luts: web3.PublicKey[]; }>
1131
+ */
1132
+ async getAdjustLeverageIxns(clendGroup, clendAccount, user, debtBankData, collateralBankData, isIncrease, finalDebtDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
1133
+ finalCollateralDeltaUi, // Use the final adjusted value from getAdjustLeverageParams
1134
+ slippageBps, additionalIxnCount) {
985
1135
  const clendAccountData = await this.getClendAccount(clendAccount);
986
1136
  if (!clendAccountData) {
987
1137
  throw new Error(`Clend account not found: ${clendAccount.toString()}`);
@@ -1009,15 +1159,17 @@ class ClendClient {
1009
1159
  const instructions = [];
1010
1160
  let swapLookupTables = [];
1011
1161
  if (isIncrease) {
1012
- utils_1.logger.info("increasing leverage");
1013
- const additionalDebtAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
1014
- utils_1.logger.debug("additionalDebtAmount calculated", {
1162
+ utils_1.logger.info("Building instructions for increasing leverage");
1163
+ // Use the finalDebtDeltaUi passed in (already adjusted)
1164
+ const additionalDebtAmount = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
1165
+ utils_1.logger.debug("additionalDebtAmount to borrow (final adjusted)", {
1015
1166
  additionalDebtAmount: additionalDebtAmount.toString(),
1016
1167
  });
1017
- // Get Jupiter quote for swapping debt token to collateral token
1168
+ // Get Jupiter quote for swapping debt token to collateral token (ExactIn)
1018
1169
  const swapMode = api_1.SwapMode.ExactIn;
1019
- const swapQuote = await this.getJupiterQuote(debtBankData.mint, collateralBankData.mint, debtBankData.mintDecimals, collateralBankData.mintDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), slippageBps, swapMode);
1020
- utils_1.logger.debug("swapQuote calculated", {
1170
+ const swapQuote = await this.getJupiterQuote(debtBankData.mint, collateralBankData.mint, debtBankData.mintDecimals, collateralBankData.mintDecimals, new decimal_js_1.default(additionalDebtAmount.toString()), // Input is the final amount to borrow
1171
+ slippageBps, swapMode);
1172
+ utils_1.logger.debug("swapQuote calculated (Increase)", {
1021
1173
  inAmount: swapQuote.quoteResponse.inAmount,
1022
1174
  outAmount: swapQuote.quoteResponse.outAmount,
1023
1175
  priceImpactPct: swapQuote.quoteResponse.priceImpactPct,
@@ -1029,57 +1181,63 @@ class ClendClient {
1029
1181
  outputMint: collateralBankData.mint,
1030
1182
  };
1031
1183
  const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
1032
- // Borrow more debt
1033
- const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, additionalDebtAmount, remainingAccounts);
1034
- // Calculate additional collateral from swap
1184
+ // Borrow the final adjusted debt amount
1185
+ const borrowIx = await this.instructions.borrow(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, additionalDebtAmount, // Use final adjusted amount
1186
+ remainingAccounts);
1187
+ // Calculate additional collateral expected from swap (based on quote)
1035
1188
  const additionalCollateralAmount = new anchor_1.BN(swapQuote.quoteResponse.outAmount);
1036
- utils_1.logger.debug("additionalCollateralAmount calculated", {
1189
+ utils_1.logger.debug("additionalCollateralAmount expected from swap", {
1037
1190
  additionalCollateralAmount: additionalCollateralAmount.toString(),
1038
1191
  });
1039
- // Deposit additional collateral
1040
- const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, remainingAccounts);
1192
+ // Deposit additional collateral received from swap
1193
+ const depositIx = await this.instructions.deposit(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, additionalCollateralAmount, // Deposit what the swap provides
1194
+ remainingAccounts);
1041
1195
  instructions.push(borrowIx, ...swapIxs.swapIxs, depositIx);
1042
1196
  swapLookupTables = swapIxs.lookupTables;
1043
1197
  }
1044
1198
  else {
1045
- // Calculate amounts for decreasing leverage
1046
- const debtToReduceAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
1047
- utils_1.logger.info("decreasing leverage", {
1048
- debtToReduceAmount: debtToReduceAmount.toString(),
1199
+ // Decreasing Leverage
1200
+ utils_1.logger.info("Building instructions for decreasing leverage");
1201
+ // Use the finalDebtDeltaUi passed in (already includes future buffer)
1202
+ const finalDebtToRepayBN = (0, math_1.uiToAmount)(finalDebtDeltaUi, debtBankData.mintDecimals);
1203
+ // Use the finalCollateralDeltaUi passed in (already includes slippage adjustment for swap)
1204
+ const finalCollateralToWithdrawBN = (0, math_1.uiToAmount)(finalCollateralDeltaUi, collateralBankData.mintDecimals);
1205
+ utils_1.logger.debug("Final amounts for decrease operation (Native)", {
1206
+ finalDebtToRepayBN: finalDebtToRepayBN.toString(),
1207
+ finalCollateralToWithdrawBN: finalCollateralToWithdrawBN.toString(),
1049
1208
  });
1050
- // Get Jupiter quote for swapping collateral token to debt token with ExactOut
1209
+ // Get Jupiter quote for swapping collateral token to debt token (ExactOut)
1210
+ // Target the final buffered debt repayment amount
1051
1211
  const swapMode = api_1.SwapMode.ExactOut;
1052
- const swapQuote = await this.getJupiterQuote(collateralBankData.mint, debtBankData.mint, collateralBankData.mintDecimals, debtBankData.mintDecimals, new decimal_js_1.default(debtToReduceAmount.toString()), slippageBps, swapMode);
1053
- utils_1.logger.debug("swapQuote calculated", {
1054
- inAmount: swapQuote.quoteResponse.inAmount,
1055
- outAmount: swapQuote.quoteResponse.outAmount,
1212
+ const swapQuote = await this.getJupiterQuote(collateralBankData.mint, debtBankData.mint, collateralBankData.mintDecimals, debtBankData.mintDecimals, new decimal_js_1.default(finalDebtToRepayBN.toString()), // Target output amount
1213
+ slippageBps, swapMode);
1214
+ const estimatedCollateralInput = swapQuote.quoteResponse.inAmount;
1215
+ utils_1.logger.debug("swapQuote calculated (Decrease)", {
1216
+ targetOutput: finalDebtToRepayBN.toString(),
1217
+ estimatedInput: estimatedCollateralInput,
1218
+ maxInputCalculated: finalCollateralToWithdrawBN.toString(), // Compare Jupiter estimate vs our max calc
1056
1219
  priceImpactPct: swapQuote.quoteResponse.priceImpactPct,
1057
1220
  });
1058
- // Calculate how much collateral we need to swap to repay the debt
1059
- const collateralToSwap = new anchor_1.BN(swapQuote.quoteResponse.inAmount);
1060
- utils_1.logger.debug("collateralToSwap calculated", {
1061
- collateralToSwap: collateralToSwap.toString(),
1062
- debtToReduceAmount: debtToReduceAmount.toString(),
1063
- });
1064
- // Get swap instructions
1065
1221
  const swapInputs = {
1066
- inputAmountLamports: new decimal_js_1.default(collateralToSwap.toString()),
1222
+ inputAmountLamports: new decimal_js_1.default(swapQuote.quoteResponse.inAmount.toString()),
1067
1223
  inputMint: collateralBankData.mint,
1068
1224
  outputMint: debtBankData.mint,
1069
1225
  };
1070
1226
  const swapIxs = await this.getJupiterSwap(user, swapInputs, swapQuote);
1071
- // Withdraw collateral
1072
- const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, collateralToSwap, false, remainingAccounts);
1073
- // Repay debt
1074
- const repayAmount = (0, math_1.uiToAmount)(debtDeltaUi, debtBankData.mintDecimals);
1075
- utils_1.logger.debug("repayAmount calculated", {
1076
- repayAmount: repayAmount.toString(),
1077
- });
1078
- const repayIx = await this.instructions.repay(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, repayAmount, false, remainingAccounts);
1227
+ // Withdraw the CALCULATED MAXIMUM collateral needed (includes swap input + buffer)
1228
+ const withdrawIx = await this.instructions.withdraw(clendGroup, clendAccount, user, collateralBankData.key, userCollateralAta, collateralTokenProgram, finalCollateralToWithdrawBN, // Use the final adjusted amount from params
1229
+ false, // Not withdrawing all
1230
+ remainingAccounts);
1231
+ // Repay the CALCULATED BUFFERED debt amount
1232
+ const repayIx = await this.instructions.repay(clendGroup, clendAccount, user, debtBankData.key, userDebtAta, debtTokenProgram, finalDebtToRepayBN, // Use the final adjusted amount from params
1233
+ false, // Not repaying all
1234
+ remainingAccounts);
1079
1235
  instructions.push(withdrawIx, ...swapIxs.swapIxs, repayIx);
1080
1236
  swapLookupTables = swapIxs.lookupTables;
1081
1237
  }
1082
- const cuIxns = 2;
1238
+ // --- Flash Loan Wrapping ---
1239
+ const cuIxns = 2; // Assuming 2 compute budget instructions are added later
1240
+ // Calculate end index based on actual instructions generated + potential JIT ixns + flash loan ixns
1083
1241
  const endIndex = new anchor_1.BN(cuIxns + instructions.length + 1 + additionalIxnCount);
1084
1242
  const { beginFlashLoanIx, endFlashLoanIx } = await this.instructions.createFlashLoanInstructions(clendAccount, user, endIndex, remainingAccounts);
1085
1243
  // Create a new array with the flash loan instructions wrapping the existing instructions
package/dist/rpc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqE;AACrE,4DAAiC;AACjC,iDAA2D;AAC3D,iDAAkE;AAClE,mCASiB;AACjB,2CAAyD;AACzD,mCAUiB;AACjB,iCAmBgB;AAChB,iDAMwB;AACxB,qCAAsD;AACtD,iCAAwD;AACxD,4EAAuE;AACvE,qCAAuC;AAEvC,MAAa,WAAW;IAStB,YACE,UAA2B,EAC3B,MAAc,EACd,aAAsB,EACtB,oBAA4B,EAC5B,YAA4B,EAC5B,MAAgB;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACrD,UAAU,EAAE,WAAW;YACvB,aAAa;SACd,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,2BAAY,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,IAAoB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,IAAoB;QACvC,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE;YACrE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,yCAAkB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,eAAM,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACzD,eAAe,EACf,iBAAiB,CAAC,IAAI,CACvB,CAAC;QAEJ,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,WAAE,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1D,eAAe;QACf,OAAO,CACL,QAAQ,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,SAAyB,EACzB,UAA0B,EAC1B,iBAAyB,EACzB,kBAA0B,EAC1B,mBAA4B,EAC5B,WAAmB,EACnB,QAAmB;QAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CACtC,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,MAAkB,EAClB,KAA+B;QAE/B,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAmC,EACnC,oBAAmC,EAAE,EACrC,iBAAmC,EAAE;QAErC,MAAM,eAAe,GAAG,aAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YACpE,aAAa,EAAE,IAAI,CAAC,oBAAoB;SACzC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,aAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAC9D,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACvC,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACvC,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEL,QAAQ;QACR,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAqC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAM,CAAC;YAC1E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAI,aAAI,CAAC,kBAAkB,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxB,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,aAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpD,QAAQ,CAAC,SAAS,EAAE,EACpB;gBACE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB;aACvE,CACF,CAAC;YAEF,iDAAiD;YACjD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE5B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,aAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,QAAQ;QAEtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,EAAE;gBACnE,wBAAwB,EAAE,KAAK;aAChC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,oBAAoB,WAAW,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,eAAe,CACnB,UAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAc,GAAE,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAChD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAElD,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAA0B,EAC1B,MAAmB;QAEnB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAC/C,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,kBAAkB,CACtB,SAAyB,EACzB,kBAA0B,EAC1B,eAAmB,EACnB,cAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACvD,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,OAAO,CACX,UAA0B,EAC1B,QAAwB,EACxB,UAA0B,EAC1B,gBAAgC,EAChC,UAA6B,EAC7B,kBAA6C;QAE7C,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAC;QAE5D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACpD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,aAAa,CAAC,UAA0B;QAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE;YACnE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,YAAY,EACZ,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;YAC7D,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,MAAM,EACN,WAAW,CAAC,IAAI,CACjB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,CAC5B,IAAA,gCAAwB,EAAC,IAAI,CAAC,eAAe,CAAC,CAC/C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAA,gCAAwB,EACnD,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,MAAM,mBAAmB,GAAG,MAAM,CAChC,IAAA,gCAAwB,EAAC,IAAI,CAAC,mBAAmB,CAAC,CACnD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,IAAA,kCAA2B,EAC7C,gBAAgB,EAChB,eAAe,CAChB,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,iBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAA,sCAA+B,EACrD,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,iBAAU,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,IAAA,mCAA4B,EAClD,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAA,gCAAyB,EAChD,eAAe,EACf,UAAU,CAAC,kBAAkB,CAAC,sBAAsB,EACpD,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,EACjD,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAC9C,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAClC,eAAe,EACf,gBAAgB,EAChB,UAAU,CAAC,kBAAkB,CAAC,aAAa,EAC3C,UAAU,CAAC,kBAAkB,CAAC,cAAc,CAC7C,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAClC,gBAAgB,EAChB,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,EACjD,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CACnD,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAG,IAAA,+BAAwB,EAC9C,IAAI,CAAC,UAAU,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,CAAC,kBAAkB,EAC7B,gBAAgB,CACjB,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,YAAY;YACZ,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,eAAe;YACf,mBAAmB;YACnB,oBAAoB;YACpB,gBAAgB;YAChB,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,iCAAiC,EAAE,MAAM,CACvC,IAAA,gCAAwB,EAAC,IAAI,CAAC,iCAAiC,CAAC,CACjE;YACD,QAAQ,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,6BAA6B,EAAE,MAAM,CACnC,IAAA,gCAAwB,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAC7D;YACD,UAAU,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,aAAa,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,kBAAkB,EAAE,IAAA,gCAAwB,EAAC,IAAI,CAAC,kBAAkB,CAAC;YACrE,aAAa,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;YACrD,+BAA+B,EAAE,MAAM,CACrC,IAAA,gCAAwB,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAC/D;YACD,WAAW,EAAE,IAAI,WAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,aAAa;YACb,eAAe,EAAE,IAAI,WAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnD,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,SAAS;YACT,SAAS;YACT,eAAe;YACf,gBAAgB,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,YAA4B;QAE5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE;YACrE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,cAAc,EACd,WAAW,CAAC,IAAI,CACjB,CAAC;QAEF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,6BAA6B,GAAa,EAAE,CAAC;QACnD,MAAM,iCAAiC,GAAa,EAAE,CAAC;QACvD,MAAM,+BAA+B,GAAa,EAAE,CAAC;QACrD,MAAM,mCAAmC,GAAa,EAAE,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,IAAI,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,qBAAqB,GAAG,IAAA,8BAAsB,EAAC;oBACnD,MAAM;oBACN,MAAM,EAAE,IAAI;oBACZ,QAAQ;oBACR,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC1C,WAAW,EAAE,MAAM,CAAC,IAAA,gCAAwB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAClE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACjD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,eAAe,EAAE,MAAM,CACrB,IAAA,gCAAwB,EAAC,OAAO,CAAC,eAAe,CAAC,CAClD;oBACD,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBACzD,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACpD,UAAU,EAAE,IAAI,WAAE,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBAC1D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAClE,KAAK;iBACN,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACrC,6BAA6B,CAAC,IAAI,CAChC,qBAAqB,CAAC,uBAAuB,CAC9C,CAAC;gBACF,iCAAiC,CAAC,IAAI,CACpC,qBAAqB,CAAC,2BAA2B,CAClD,CAAC;gBACF,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBACvE,mCAAmC,CAAC,IAAI,CACtC,qBAAqB,CAAC,cAAc,CACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,iDAAiD;QACjD,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GACtE,IAAA,uCAAgC,EAC9B,6BAA6B,EAC7B,iCAAiC,CAClC,CAAC;QAEJ,+CAA+C;QAC/C,mDAAmD;QACnD,MAAM,EACJ,YAAY,EAAE,sBAAsB,EACpC,QAAQ,EAAE,kBAAkB,GAC7B,GAAG,IAAA,uCAAgC,EAClC,+BAA+B,EAC/B,mCAAmC,CACpC,CAAC;QAEF,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAA,mBAAY,EACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACnD,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7C,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,cAAc,EAAE;gBACd,QAAQ;aACT;YACD,oBAAoB,EAAE,sBAAsB;YAC5C,wBAAwB,EAAE,oBAAoB;YAC9C,gBAAgB,EAAE,kBAAkB;YACpC,oBAAoB,EAAE,gBAAgB;YACtC,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,IAAA,0BAAc,GAAE,CAAC;QACrC,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAC5D,WAAW,CACZ,CAAC;QACJ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACL,GAAG,EAAE,WAAW;YAChB,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC3D,eAAe,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7D,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvD,eAAe,EAAE,MAAM,CACrB,IAAA,gCAAwB,EAAC,QAAQ,CAAC,eAAe,CAAC,CACnD;YACD,cAAc,EAAE,MAAM,CAAC,IAAA,gCAAwB,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,sBAAsB,CAC1B,UAA0B;QAE1B,MAAM,YAAY,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE7C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,CACb,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpD,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAA4B;QAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAClD,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,OAAO,CACX,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU;QAEV,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,IAAA,yCAA6B,EACtD,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACxC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU,EACV,cAA8B,IAAI;QAElC,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAC;QAElD,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,uBAAuB,GAAG,IAAA,kCAA0B,EAAC,gBAAiB,CAAC,CAAC;QAE5E,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACvB,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,WAAW,EACX,iBAAiB,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU;QAEV,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,uBAAuB,GAAG,IAAA,kCAA0B,EAAC,gBAAiB,CAAC,CAAC;QAE5E,uDAAuD;QACvD,IACE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC1E,CAAC;YACD,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CACvC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,iBAAiB,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU,EACV,WAA2B,IAAI;QAE/B,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,IAAA,yCAA6B,EACpD,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,uBAAuB,GAAG,IAAA,kCAA0B,EACxD,gBAAiB,CAClB,CAAC;QAEF,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CACtC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAA0B,EAC1B,kBAAyC,EACzC,qBAAoC,EACpC,kBAAiC,EACjC,iBAAgC;QAEhC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjD,qBAAqB;QACrB,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC;QAC5D,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACtD,IAAI,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QAEpD,+EAA+E;QAC/E,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAChC,eAAe,GAAG,kBAAkB,CAAC;QACvC,CAAC;QAED,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,kBAAkB,GAAG,qBAAqB,CAAC;QAC7C,CAAC;QAED,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAChC,eAAe,GAAG,kBAAkB,CAAC;QACvC,CAAC;QAED,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,cAAc,GAAG,iBAAiB,CAAC;QACrC,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACrE,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;QAEF,MAAM,mBAAmB,GACvB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,IAAoB,EACpB,kBAAyC;QAEzC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC1D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,UAA0B,EAC1B,IAAoB,EACpB,gBAAuC;QAEvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAC9D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,gBAAgB,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,IAAoB,EACpB,YAAgB;QAEhB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC1D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAA0B,EAC1B,YAAmC,EACnC,cAA8B,EAC9B,QAAwB,EACxB,aAAiB,EACjB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChD,UAAU,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACzE,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,MAAM,CAAC,YAAY,CAAC,YAAY,EAChC,MAAM,CAAC,kBAAkB,CAAC,YAAY,EACtC,MAAM,CAAC,YAAY,EACnB,aAAa,EACb,WAAW,EACX,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAA0B,EAC1B,IAAoB,EACpB,YAAmC,EACnC,cAA8B,EAC9B,QAAwB,EACxB,gBAAwB,EACxB,sBAA8B,EAC9B,YAAgB,EAChB,aAAiB,EACjB,WAAmB,EACnB,kBAA0B;QAM1B,qBAAqB;QACrB,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,cAAc,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,gEAAgE;QAChE,MAAM,QAAQ,GAAG,cAAQ,CAAC,OAAO,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,oBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EACpC,WAAW,EACX,QAAQ,CACT,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,QAAQ,EAAE,SAAS,CAAC,aAAc,CAAC,QAAQ;YAC3C,SAAS,EAAE,SAAS,CAAC,aAAc,CAAC,SAAS;YAC7C,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;SACxD,CAAC,CAAC;QAEH,IAAI,WAAW,GAAqB,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAmB,EAAE,CAAC;QAC7C,IAAI,kBAAkB,GAA4C,SAAS,CAAC;QAC5E,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,cAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAE9C,uBAAuB;YACvB,MAAM,cAAc,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC;YACF,kBAAkB,GAAG,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,wBAAwB;QACxB,MAAM,UAAU,GAAG;YACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACzD,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,cAAc;SAC3B,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEvE,4CAA4C;QAC5C,MAAM,0BAA0B,GAAG,IAAI,WAAE,CACvC,SAAS,CAAC,aAAc,CAAC,SAAS,CACnC,CAAC;QACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,gBAAgB,CACjB,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,CAClB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC/C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;QAEF,oCAAoC;QACpC,MAAM,oBAAoB,GAAkC;YAC1D,QAAQ;YACR,GAAG,OAAO,CAAC,OAAO;YAClB,SAAS;SACV,CAAC;QAEF,0EAA0E;QAC1E,MAAM,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,GAC1D,kBAAkB;YAChB,CAAC,CAAC;gBACE,4BAA4B,EAAE,CAAC;gBAC/B,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;aAC3C;YACH,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QACpE,MAAM,uBAAuB,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM;YACJ,oBAAoB,CAAC,MAAM;YAC3B,4BAA4B;YAC5B,uBAAuB;YACvB,kBAAkB,CACrB,CAAC;QAEF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,MAAM,IAAI,GAAkC;YAC1C,GAAG,oBAAoB;YACvB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA0B,EAC1B,cAA8B,EAC9B,QAAwB,EACxB,aAAiB,EACjB,cAAsB,EACtB,WAAmB;QAOnB,eAAe;QACf,MAAM,kBAAkB,GAAG,IAAA,+BAAuB,EAAC,cAAc,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,IAAA,+BAAuB,EAAC,QAAQ,CAAC,CAAC;QAEvD,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,gBAAgB;QAChB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE9D,mDAAmD;QACnD,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAEtE,kCAAkC;QAClC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEtD,iDAAiD;QACjD,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,IAAA,4BAAqB,EACpE,eAAe,EACf,cAAc,EACd,eAAe,EACf,SAAS,EACT,CAAC,EACD,CAAC,CACF,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAE9D,2BAA2B;QAC3B,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;QAEhE,2CAA2C;QAC3C,MAAM,+BAA+B,GAAG,IAAA,oCAA6B,EACnE,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,uCAAuC;QACvC,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,IAAA,8BAAuB,EAC/C,+BAA+B,EAAE,iCAAiC;QAClE,WAAW,CACZ,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAA,iBAAU,EAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAExE,cAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC/C,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;YACrC,+BAA+B,EAC7B,+BAA+B,CAAC,QAAQ,EAAE;YAC5C,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,mBAAmB;YACnB,cAAc;YACd,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;YACvC,eAAe;YACf,eAAe;YACf,SAAS;YACT,kBAAkB;YAClB,YAAY;YACZ,cAAc;YACd,4BAA4B,EAAE,oBAAoB;SACnD,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,iBAAiB;YAC/B,kBAAkB,EAAE,IAAA,iBAAU,EAAC,oBAAoB,EAAE,kBAAkB,CAAC;YACxE,YAAY;YACZ,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAkB,EAClB,WAAoB,EACpB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACpD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACvD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,MAAM,CAAC,kBAAkB,CAAC,YAAY,EACtC,MAAM,CAAC,YAAY,CAAC,YAAY,EAChC,WAAW,EACX,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,oBAAoB,EAC3B,WAAW,EACX,CAAC,CACF,CAAC;QAEF,mBAAmB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAA0B,EAC1B,YAAoB,EACpB,WAAoB,EACpB,WAAe,EACf,oBAAwB,EACxB,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,wCAAwC;QACxC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/D,6DAA6D;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,cAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,IAAI,oBAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EACnC,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAc,CAAC,QAAQ,CAAC;QAC3D,cAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YAChD,gBAAgB;SACjB,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,UAAU,GAAG;YACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC7D,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,QAAQ;SACrB,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CACvC,gBAAgB,CAAC,SAAS,EAC1B,UAAU,EACV,SAAS,CACV,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEhC,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,cAAc,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,cAAc,EACd,gBAAgB,CAAC,SAAS,EAC1B,IAAI,EACJ,sBAAsB,CACvB,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,QAAQ,EACR,gBAAgB,CAAC,SAAS,EAC1B,IAAI,EACJ,gBAAgB,CACjB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEnC,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjD,UAAU,EACV,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,CAClB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9B,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAC3C,UAAU,EACV,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,CAClB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,+CAA+C;QAC/C,MAAM,oBAAoB,GAAkC;YAC1D,UAAU;YACV,GAAG,OAAO,CAAC,OAAO;YAClB,OAAO;SACR,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAExC,iCAAiC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAC9D,CAAC;QACF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,iDAAiD;QACjD,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5D,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAkB,EAClB,WAAoB;QAOpB,cAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrC,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;YACzC,WAAW;SACZ,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,eAAe;QACf,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAE/C,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAgC,CAAC;QACrC,IAAI,iBAAsC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,iBAAiB,GAAG,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACxD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACpD,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,kBAAkB;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,YAAY;SACb,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtD,cAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,eAAe;YACf,SAAS;SACV,CAAC,CAAC;QAEH,qDAAqD;QACrD,IAAI,oBAAwB,CAAC;QAC7B,IAAI,WAAe,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,oBAAoB,GAAG,gBAAgB,CAAC;YACxC,WAAW,GAAG,IAAA,iCAA0B,EACtC,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAC5B,CAAC;YACF,cAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,uBAAuB,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC/C,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEnD,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,IAAA,iBAAU,EAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAExE,2CAA2C;YAC3C,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACzE,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACjE,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,qBAAqB;gBACrB,eAAe;aAChB,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,EACJ,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,WAAW,GACZ,GAAG,IAAA,qCAA8B,EAChC,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,CAAC,EACD,CAAC,CACF,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,aAAa;gBACb,eAAe;gBACf,SAAS;gBACT,eAAe;gBACf,WAAW;aACZ,CAAC,CAAC;YAEH,wCAAwC;YACxC,oBAAoB,GAAG,cAAc,CAAC;YACtC,WAAW,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,+CAA+C;QAC/C,2CAA2C;QAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,WAAW,GAAG,IAAA,+BAAwB,EACpC,WAAW,EACX,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;QAEF,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,WAAW;YACX,oBAAoB;YACpB,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,4BAA4B,CAChC,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAAsB,EACtB,WAAoB;QAOpB,cAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;YACjD,WAAW;SACZ,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,CAAC,GACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAgC,CAAC;QACrC,IAAI,SAA6B,CAAC;QAClC,IAAI,iBAAsC,CAAC;QAC3C,IAAI,eAAmC,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,WAAW,GAAG,OAAO,CAAC;gBACtB,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,iBAAiB,GAAG,OAAO,CAAC;gBAC5B,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACxD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,UAAU,CAAC;QACrD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC;QAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAE/C,cAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,kBAAkB;YAClB,eAAe;YACf,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,YAAY;YACZ,SAAS;SACV,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,oBAAwB,CAAC;QAC7B,IAAI,WAAe,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACpC,oBAAoB,GAAG,gBAAgB,CAAC;YACxC,WAAW,GAAG,IAAA,iCAA0B,EACtC,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAC5B,CAAC;YACF,cAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,uBAAuB,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC/C,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAEjE,8CAA8C;YAC9C,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;YAEF,0CAA0C;YAC1C,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,GAAG,eAAe,CAAC;YACpD,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YAED,2CAA2C;YAC3C,MAAM,sBAAsB,GAAG,sBAAsB,GAAG,WAAW,CAAC;YAEpE,oCAAoC;YACpC,+FAA+F;YAC/F,MAAM,aAAa,GACjB,kBAAkB,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC,YAAY,GAAG,kBAAkB,CAAC,GAAG,sBAAsB;gBAC9D,CAAC,CAAC,CAAC,CAAC;YAER,cAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;gBACpC,sBAAsB;gBACtB,aAAa;aACd,CAAC,CAAC;YAEH,oCAAoC;YACpC,oBAAoB,GAAG,IAAA,iBAAU,EAC/B,sBAAsB,EACtB,kBAAkB,CACnB,CAAC;YACF,WAAW,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,+CAA+C;QAC/C,2CAA2C;QAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,WAAW,GAAG,IAAA,+BAAwB,EACpC,WAAW,EACX,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;QAEF,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,WAAW;YACX,oBAAoB;YACpB,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACrD,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,WAAW,EAClB,WAAW,EACX,CAAC,CACF,CAAC;QAEF,mBAAmB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAQnB,gBAAgB;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAgC,CAAC;QACrC,IAAI,iBAAsC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,iBAAiB,GAAG,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,yCAAyC;QACzC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;QAEpD,wCAAwC;QACxC,MAAM,eAAe,GAAG,IAAA,gCAAyB,EAC/C,kBAAkB,EAClB,iBAAiB,CAAC,KAAK,EACvB,CAAC,EACD,YAAY,EACZ,WAAW,CAAC,KAAK,EACjB,CAAC,CACF,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,eAAe;YACf,kBAAkB;YAClB,YAAY;YACZ,iBAAiB;YACjB,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,GAC9C,IAAA,mCAA4B,EAC1B,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,CAAC,KAAK,EACvB,WAAW,CAAC,KAAK,EACjB,eAAe,EACf,cAAc,EACd,CAAC,EACD,CAAC,CACF,CAAC;QACJ,cAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC9C,eAAe;YACf,SAAS;YACT,UAAU;YACV,kBAAkB;YAClB,YAAY;YACZ,4BAA4B,EAC1B,iBAAiB,CAAC,2BAA2B;YAC/C,sBAAsB,EAAE,WAAW,CAAC,+BAA+B;YACnE,eAAe;YACf,cAAc;SACf,CAAC,CAAC;QAEH,IAAI,gBAAgB,GAAG,SAAS,CAAC;QACjC,IAAI,UAAU,EAAE,CAAC;YACf,wCAAwC;YACxC,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,SAAS,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YAEtE,2BAA2B;YAC3B,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;YAEhE,2CAA2C;YAC3C,MAAM,+BAA+B,GAAG,IAAA,oCAA6B,EACnE,YAAY,EACZ,kBAAkB,CACnB,CAAC;YAEF,uCAAuC;YACvC,qEAAqE;YACrE,MAAM,iBAAiB,GAAG,IAAA,8BAAuB,EAC/C,+BAA+B,EAAE,iCAAiC;YAClE,WAAW,CACZ,CAAC;YAEF,gBAAgB,GAAG,IAAA,iBAAU,EAC3B,iBAAiB,EACjB,YAAY,CAAC,YAAY,CAC1B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,6BAA6B;QAC/B,CAAC;QAED,cAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACtC,WAAW,EAAE,gBAAgB;YAC7B,eAAe,EAAE,eAAe;SACjC,CAAC,CAAC;QAEH,OAAO;YACL,iBAAiB,EAAE,eAAe;YAClC,WAAW,EAAE,gBAAgB;YAC7B,UAAU;YACV,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,YAAkB,EAClB,kBAAwB,EACxB,UAAmB,EACnB,WAAmB,EACnB,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EACnD,kBAAkB,CAAC,IAAI,CACxB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,YAAY,CAAC,IAAI,EACjB,IAAI,EACJ,IAAI,EACJ,gBAAgB,CACjB,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,kBAAkB,CAAC,IAAI,EACvB,IAAI,EACJ,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,wCAAwC;QACxC,IAAI,WAAW,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/D,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,mCAAmC;QACnC,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,IAAI,gBAAgB,GAAqB,EAAE,CAAC;QAE5C,IAAI,UAAU,EAAE,CAAC;YACf,cAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAEnC,MAAM,oBAAoB,GAAG,IAAA,iBAAU,EACrC,WAAW,EACX,YAAY,CAAC,YAAY,CAC1B,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBAC9C,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC;YAEH,gEAAgE;YAChE,MAAM,QAAQ,GAAG,cAAQ,CAAC,OAAO,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,YAAY,CAAC,IAAI,EACjB,kBAAkB,CAAC,IAAI,EACvB,YAAY,CAAC,YAAY,EACzB,kBAAkB,CAAC,YAAY,EAC/B,IAAI,oBAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAC5C,WAAW,EACX,QAAQ,CACT,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,QAAQ,EAAE,SAAS,CAAC,aAAc,CAAC,QAAQ;gBAC3C,SAAS,EAAE,SAAS,CAAC,aAAc,CAAC,SAAS;gBAC7C,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;aACxD,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,UAAU,GAAG;gBACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBACjE,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,UAAU,EAAE,kBAAkB,CAAC,IAAI;aACpC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvE,mBAAmB;YACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,CAAC,GAAG,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,CAClB,CAAC;YAEF,4CAA4C;YAC5C,MAAM,0BAA0B,GAAG,IAAI,WAAE,CACvC,SAAS,CAAC,aAAc,CAAC,SAAS,CACnC,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,0BAA0B,EAAE,0BAA0B,CAAC,QAAQ,EAAE;aAClE,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC/C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,kBAAkB,CAAC,GAAG,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3D,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,4CAA4C;YAC5C,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EACnC,WAAW,EACX,YAAY,CAAC,YAAY,CAC1B,CAAC;YACF,cAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACjC,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;aAClD,CAAC,CAAC;YAEH,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,cAAQ,CAAC,QAAQ,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,kBAAkB,CAAC,IAAI,EACvB,YAAY,CAAC,IAAI,EACjB,kBAAkB,CAAC,YAAY,EAC/B,YAAY,CAAC,YAAY,EACzB,IAAI,oBAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAC1C,WAAW,EACX,QAAQ,CACT,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBACnC,QAAQ,EAAE,SAAS,CAAC,aAAc,CAAC,QAAQ;gBAC3C,SAAS,EAAE,SAAS,CAAC,aAAc,CAAC,SAAS;gBAC7C,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;aACxD,CAAC,CAAC;YAEH,kEAAkE;YAClE,MAAM,gBAAgB,GAAG,IAAI,WAAE,CAAC,SAAS,CAAC,aAAc,CAAC,QAAQ,CAAC,CAAC;YACnE,cAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC1C,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;gBAC7C,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;aAClD,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,UAAU,GAAG;gBACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC7D,SAAS,EAAE,kBAAkB,CAAC,IAAI;gBAClC,UAAU,EAAE,YAAY,CAAC,IAAI;aAC9B,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvE,sBAAsB;YACtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjD,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,kBAAkB,CAAC,GAAG,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,EACL,iBAAiB,CAClB,CAAC;YAEF,aAAa;YACb,MAAM,WAAW,GAAG,IAAA,iBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;YACvE,cAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;gBACrC,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;aACpC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAC3C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,CAAC,GAAG,EAChB,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,KAAK,EACL,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CACtD,CAAC;QAEF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,yFAAyF;QACzF,MAAM,iBAAiB,GAAG;YACxB,gBAAgB;YAChB,GAAG,YAAY;YACf,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAqB,EACrB,SAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YACxE;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACvB,MAAM,EAAE,CAAC,EAAE,mFAAmF;iBAC/F;aACF;YACD;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;oBAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,+GAA+G;iBAChI;aACF;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAC/B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAqB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YACxE;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACvB,MAAM,EAAE,CAAC,EAAE,mFAAmF;iBAC/F;aACF;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAC/B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9iED,kCA8iEC"}
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAqE;AACrE,4DAAiC;AACjC,iDAA2D;AAC3D,iDAAkE;AAClE,mCASiB;AACjB,2CAAyD;AACzD,mCAUiB;AACjB,iCAmBgB;AAChB,iDAMwB;AACxB,qCAAsD;AACtD,iCAAwD;AACxD,4EAAuE;AACvE,qCAAuC;AAEvC,MAAa,WAAW;IAStB,YACE,UAA2B,EAC3B,MAAc,EACd,aAAsB,EACtB,oBAA4B,EAC5B,YAA4B,EAC5B,MAAgB;QAEhB,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAc,CAAC,UAAU,EAAE,MAAM,EAAE;YACrD,UAAU,EAAE,WAAW;YACvB,aAAa;SACd,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,oBAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,2BAAY,EAAE,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;IACnD,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,IAAoB;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,IAAoB;QACvC,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE;YACrE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,yCAAkB,CAAC;YACpC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,eAAM,CAAC,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CACzD,eAAe,EACf,iBAAiB,CAAC,IAAI,CACvB,CAAC;QAEJ,gBAAgB;QAChB,MAAM,QAAQ,GAAG,IAAI,WAAE,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE1D,eAAe;QACf,OAAO,CACL,QAAQ,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,SAAyB,EACzB,UAA0B,EAC1B,iBAAyB,EACzB,kBAA0B,EAC1B,mBAA4B,EAC5B,WAAmB,EACnB,QAAmB;QAEnB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CACtC,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACX,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,KAAqB,EACrB,MAAkB,EAClB,KAA+B;QAE/B,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,IAAI,CACR,IAAmC,EACnC,oBAAmC,EAAE,EACrC,iBAAmC,EAAE;QAErC,MAAM,eAAe,GAAG,aAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YACpE,aAAa,EAAE,IAAI,CAAC,oBAAoB;SACzC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,aAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC;YAC9D,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACvC,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACvC,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QAEL,QAAQ;QACR,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,MAAM,WAAW,GAAqC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAM,CAAC;YAC1E,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,eAAe,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,IAAI,aAAI,CAAC,kBAAkB,CAAC;YACtC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;YACxB,eAAe,EAAE,SAAS;YAC1B,YAAY,EAAE,OAAO;SACtB,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEnC,MAAM,EAAE,GAAG,IAAI,aAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAChE,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACpD,QAAQ,CAAC,SAAS,EAAE,EACpB;gBACE,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,qBAAqB;aACvE,CACF,CAAC;YAEF,iDAAiD;YACjD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAE5B,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,aAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,QAAQ;QAEtC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,EAAE;gBACnE,wBAAwB,EAAE,KAAK;aAChC,CAAC,CAAC;YAEH,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;oBAC7B,MAAM,IAAI,KAAK,CACb,yBAAyB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAC;gBACJ,CAAC;gBACD,OAAO,CAAC,qCAAqC;YAC/C,CAAC;YAED,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC9B,4BAA4B;gBAC5B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,oBAAoB,WAAW,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,mBAAmB;IACnB,KAAK,CAAC,eAAe,CACnB,UAAyB;QAEzB,MAAM,QAAQ,GAAG,IAAA,0BAAc,GAAE,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAChD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,QAAQ,CACT,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAElD,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAA0B,EAC1B,MAAmB;QAEnB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAC/C,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,MAAM,CACP,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,uBAAuB;IACvB,KAAK,CAAC,kBAAkB,CACtB,SAAyB,EACzB,kBAA0B,EAC1B,eAAmB,EACnB,cAAkB;QAElB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACvD,IAAI,CAAC,OAAO,EAAE,EACd,SAAS,EACT,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,kBAAkB;IAClB,KAAK,CAAC,OAAO,CACX,UAA0B,EAC1B,QAAwB,EACxB,UAA0B,EAC1B,gBAAgC,EAChC,UAA6B,EAC7B,kBAA6C;QAE7C,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAEtD,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,mBAAmB,CAAC,eAAe,CAAC;QAE5D,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACpD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,aAAa,CAAC,UAA0B;QAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,EAAE;YACnE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,UAAU,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,YAAY,EACZ,WAAW,CAAC,IAAI,CACjB,CAAC;QACF,OAAO;YACL,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAoB;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE;YAC7D,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,MAAM,EACN,WAAW,CAAC,IAAI,CACjB,CAAC;QAEF,MAAM,UAAU,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,IAAA,gCAAwB,EAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,MAAM,CAC5B,IAAA,gCAAwB,EAAC,IAAI,CAAC,eAAe,CAAC,CAC/C,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAA,gCAAwB,EACnD,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,MAAM,mBAAmB,GAAG,MAAM,CAChC,IAAA,gCAAwB,EAAC,IAAI,CAAC,mBAAmB,CAAC,CACnD,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE/C,MAAM,WAAW,GAAG,IAAA,kCAA2B,EAC7C,gBAAgB,EAChB,eAAe,CAChB,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,iBAAU,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,IAAA,sCAA+B,EACrD,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,iBAAU,EAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACpE,MAAM,eAAe,GAAG,IAAA,mCAA4B,EAClD,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,mBAAmB,CACpB,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAA,gCAAyB,EAChD,eAAe,EACf,UAAU,CAAC,kBAAkB,CAAC,sBAAsB,EACpD,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,EACjD,UAAU,CAAC,kBAAkB,CAAC,eAAe,CAC9C,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAClC,eAAe,EACf,gBAAgB,EAChB,UAAU,CAAC,kBAAkB,CAAC,aAAa,EAC3C,UAAU,CAAC,kBAAkB,CAAC,cAAc,CAC7C,CAAC;QAEF,MAAM,SAAS,GAAG,IAAA,yBAAkB,EAClC,gBAAgB,EAChB,UAAU,CAAC,kBAAkB,CAAC,mBAAmB,EACjD,UAAU,CAAC,kBAAkB,CAAC,oBAAoB,CACnD,CAAC;QAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAG,IAAA,+BAAwB,EAC9C,IAAI,CAAC,UAAU,EACf,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,UAAU,CAAC,kBAAkB,EAC7B,gBAAgB,CACjB,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,IAAI;YACT,IAAI,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,YAAY;YACZ,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,eAAe;YACf,mBAAmB;YACnB,oBAAoB;YACpB,gBAAgB;YAChB,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC;YACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,iCAAiC,EAAE,MAAM,CACvC,IAAA,gCAAwB,EAAC,IAAI,CAAC,iCAAiC,CAAC,CACjE;YACD,QAAQ,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,6BAA6B,EAAE,MAAM,CACnC,IAAA,gCAAwB,EAAC,IAAI,CAAC,6BAA6B,CAAC,CAC7D;YACD,UAAU,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,aAAa,EAAE,IAAI,WAAE,CAAC,IAAI,CAAC,aAAa,CAAC;YACzC,kBAAkB,EAAE,IAAA,gCAAwB,EAAC,IAAI,CAAC,kBAAkB,CAAC;YACrE,aAAa,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;YACrD,+BAA+B,EAAE,MAAM,CACrC,IAAA,gCAAwB,EAAC,IAAI,CAAC,+BAA+B,CAAC,CAC/D;YACD,WAAW,EAAE,IAAI,WAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC3C,aAAa;YACb,eAAe,EAAE,IAAI,WAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACnD,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,SAAS;YACT,SAAS;YACT,eAAe;YACf,gBAAgB,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,YAA4B;QAE5B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE;YACrE,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;QACH,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAC1D,cAAc,EACd,WAAW,CAAC,IAAI,CACjB,CAAC;QAEF,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,6BAA6B,GAAa,EAAE,CAAC;QACnD,MAAM,iCAAiC,GAAa,EAAE,CAAC;QACvD,MAAM,+BAA+B,GAAa,EAAE,CAAC;QACrD,MAAM,mCAAmC,GAAa,EAAE,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,IAAI,aAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBAClD,MAAM,qBAAqB,GAAG,IAAA,8BAAsB,EAAC;oBACnD,MAAM;oBACN,MAAM,EAAE,IAAI;oBACZ,QAAQ;oBACR,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;oBAC1C,WAAW,EAAE,MAAM,CAAC,IAAA,gCAAwB,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAClE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;oBACjD,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAChD,eAAe,EAAE,MAAM,CACrB,IAAA,gCAAwB,EAAC,OAAO,CAAC,eAAe,CAAC,CAClD;oBACD,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;oBACzD,qBAAqB,EAAE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACpD,UAAU,EAAE,IAAI,WAAE,CAAC,OAAO,CAAC,UAAU,CAAC;oBACtC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;oBAC1D,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC;oBAClE,KAAK;iBACN,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACrC,6BAA6B,CAAC,IAAI,CAChC,qBAAqB,CAAC,uBAAuB,CAC9C,CAAC;gBACF,iCAAiC,CAAC,IAAI,CACpC,qBAAqB,CAAC,2BAA2B,CAClD,CAAC;gBACF,+BAA+B,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBACvE,mCAAmC,CAAC,IAAI,CACtC,qBAAqB,CAAC,cAAc,CACrC,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,iDAAiD;QACjD,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GACtE,IAAA,uCAAgC,EAC9B,6BAA6B,EAC7B,iCAAiC,CAClC,CAAC;QAEJ,+CAA+C;QAC/C,mDAAmD;QACnD,MAAM,EACJ,YAAY,EAAE,sBAAsB,EACpC,QAAQ,EAAE,kBAAkB,GAC7B,GAAG,IAAA,uCAAgC,EAClC,+BAA+B,EAC/B,mCAAmC,CACpC,CAAC;QAEF,wCAAwC;QACxC,MAAM,GAAG,GAAG,IAAA,mBAAY,EACtB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B,CAAC,CACnD,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;YAC7C,KAAK,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;YACvC,cAAc,EAAE;gBACd,QAAQ;aACT;YACD,oBAAoB,EAAE,sBAAsB;YAC5C,wBAAwB,EAAE,oBAAoB;YAC9C,gBAAgB,EAAE,kBAAkB;YACpC,oBAAoB,EAAE,gBAAgB;YACtC,GAAG;SACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,WAAW,GAAG,IAAA,0BAAc,GAAE,CAAC;QACrC,MAAM,QAAQ,GACZ,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAC5D,WAAW,CACZ,CAAC;QACJ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO;YACL,GAAG,EAAE,WAAW;YAChB,cAAc,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC3D,eAAe,EAAE,IAAI,aAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7D,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACvD,eAAe,EAAE,MAAM,CACrB,IAAA,gCAAwB,EAAC,QAAQ,CAAC,eAAe,CAAC,CACnD;YACD,cAAc,EAAE,MAAM,CAAC,IAAA,gCAAwB,EAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;SAC1E,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,sBAAsB,CAC1B,UAA0B;QAE1B,MAAM,YAAY,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE7C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,CACb,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAEpD,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAA4B;QAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAClD,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,CACf,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,qBAAqB;IACrB,KAAK,CAAC,OAAO,CACX,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU;QAEV,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,kBAAkB,GAAG,IAAA,yCAA6B,EACtD,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CACxC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,kBAAkB,EAClB,YAAY,EACZ,MAAM,EACN,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU,EACV,cAA8B,IAAI;QAElC,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAC;QAElD,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,uBAAuB,GAAG,IAAA,kCAA0B,EAAC,gBAAiB,CAAC,CAAC;QAE5E,kEAAkE;QAClE,mEAAmE;QACnE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,uBAAuB,GAAG,uBAAuB,CAAC,MAAM,CACtD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACvB,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACzC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,WAAW,EACX,iBAAiB,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU;QAEV,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,uBAAuB,GAAG,IAAA,yCAA6B,EAC3D,IAAI,EACJ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,+BAA+B;QAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,uBAAuB,GAAG,IAAA,kCAA0B,EAAC,gBAAiB,CAAC,CAAC;QAE5E,uDAAuD;QACvD,IACE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAC1E,CAAC;YACD,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CACvC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,uBAAuB,EACvB,YAAY,EACZ,MAAM,EACN,iBAAiB,CAClB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,MAAU,EACV,WAA2B,IAAI;QAE/B,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE1C,sDAAsD;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE1C,oBAAoB;QACpB,MAAM,YAAY,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE3D,qDAAqD;QACrD,MAAM,gBAAgB,GAAG,IAAA,yCAA6B,EACpD,QAAQ,CAAC,IAAI,EACb,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,MAAM,uBAAuB,GAAG,IAAA,kCAA0B,EACxD,gBAAiB,CAClB,CAAC;QAEF,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE,CAAC;YAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CACtC,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,UAA0B,EAC1B,kBAAyC,EACzC,qBAAoC,EACpC,kBAAiC,EACjC,iBAAgC;QAEhC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAEjD,qBAAqB;QACrB,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACtD,IAAI,kBAAkB,GAAG,eAAe,CAAC,kBAAkB,CAAC;QAC5D,IAAI,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;QACtD,IAAI,cAAc,GAAG,eAAe,CAAC,cAAc,CAAC;QAEpD,+EAA+E;QAC/E,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAChC,eAAe,GAAG,kBAAkB,CAAC;QACvC,CAAC;QAED,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;YACnC,kBAAkB,GAAG,qBAAqB,CAAC;QAC7C,CAAC;QAED,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAChC,eAAe,GAAG,kBAAkB,CAAC;QACvC,CAAC;QAED,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,cAAc,GAAG,iBAAiB,CAAC;QACrC,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CACrE,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,cAAc,CACf,CAAC;QAEF,MAAM,mBAAmB,GACvB,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,IAAoB,EACpB,kBAAyC;QAEzC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC1D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,kBAAkB,CACnB,CAAC;QACF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,UAA0B,EAC1B,IAAoB,EACpB,gBAAuC;QAEvC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAC9D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,gBAAgB,CACjB,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,IAAoB,EACpB,YAAgB;QAEhB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAC1D,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,IAAI,EACJ,YAAY,CACb,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAA0B,EAC1B,YAAmC,EACnC,cAA8B,EAC9B,QAAwB,EACxB,aAAiB,EACjB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAChD,UAAU,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACzE,UAAU,EACV,IAAI,CAAC,OAAO,EAAE,EACd,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,MAAM,CAAC,YAAY,CAAC,YAAY,EAChC,MAAM,CAAC,kBAAkB,CAAC,YAAY,EACtC,MAAM,CAAC,YAAY,EACnB,aAAa,EACb,WAAW,EACX,CAAC,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,UAA0B,EAC1B,IAAoB,EACpB,YAAmC,EACnC,cAA8B,EAC9B,QAAwB,EACxB,gBAAwB,EACxB,sBAA8B,EAC9B,YAAgB,EAChB,aAAiB,EACjB,WAAmB,EACnB,kBAA0B;QAM1B,qBAAqB;QACrB,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,cAAc,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,gEAAgE;QAChE,MAAM,QAAQ,GAAG,cAAQ,CAAC,OAAO,CAAC;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,IAAI,oBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EACpC,WAAW,EACX,QAAQ,CACT,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;YACxC,QAAQ,EAAE,SAAS,CAAC,aAAc,CAAC,QAAQ;YAC3C,SAAS,EAAE,SAAS,CAAC,aAAc,CAAC,SAAS;YAC7C,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;SACxD,CAAC,CAAC;QAEH,IAAI,WAAW,GAAqB,EAAE,CAAC;QACvC,MAAM,iBAAiB,GAAmB,EAAE,CAAC;QAC7C,IAAI,kBAAkB,GAA4C,SAAS,CAAC;QAC5E,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,cAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAE9C,uBAAuB;YACvB,MAAM,cAAc,GAAG,aAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,sBAAsB,CACvD,UAAU,EACV,IAAI,EACJ,cAAc,CACf,CAAC;YACF,kBAAkB,GAAG,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACvC,YAAY,GAAG,cAAc,CAAC,SAAS,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE;gBAC1C,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;YAEH,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,WAAW,CAAC,IAAI,CAAC,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,wBAAwB;QACxB,MAAM,UAAU,GAAG;YACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YACzD,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,cAAc;SAC3B,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEvE,4CAA4C;QAC5C,MAAM,0BAA0B,GAAG,IAAI,WAAE,CACvC,SAAS,CAAC,aAAc,CAAC,SAAS,CACnC,CAAC;QACF,MAAM,qBAAqB,GAAG,aAAa,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAE5E,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,gBAAgB,CACjB,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,CAClB,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC/C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,CAClB,CAAC;QAEF,oCAAoC;QACpC,MAAM,oBAAoB,GAAkC;YAC1D,QAAQ;YACR,GAAG,OAAO,CAAC,OAAO;YAClB,SAAS;SACV,CAAC;QAEF,0EAA0E;QAC1E,MAAM,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,GAC1D,kBAAkB;YAChB,CAAC,CAAC;gBACE,4BAA4B,EAAE,CAAC;gBAC/B,oBAAoB,EAAE,CAAC,kBAAkB,CAAC;aAC3C;YACH,CAAC,CAAC,EAAE,4BAA4B,EAAE,CAAC,EAAE,oBAAoB,EAAE,EAAE,EAAE,CAAC;QACpE,MAAM,uBAAuB,GAAG,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM;YACJ,oBAAoB,CAAC,MAAM;YAC3B,4BAA4B;YAC5B,uBAAuB;YACvB,kBAAkB,CACrB,CAAC;QAEF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,MAAM,IAAI,GAAkC;YAC1C,GAAG,oBAAoB;YACvB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,iBAAiB,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,UAA0B,EAC1B,cAA8B,EAC9B,QAAwB,EACxB,aAAiB,EACjB,cAAsB,EACtB,WAAmB;QAOnB,eAAe;QACf,MAAM,kBAAkB,GAAG,IAAA,+BAAuB,EAAC,cAAc,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,IAAA,+BAAuB,EAAC,QAAQ,CAAC,CAAC;QAEvD,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,gBAAgB;QAChB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE9D,mDAAmD;QACnD,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;QAEtE,kCAAkC;QAClC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEtD,iDAAiD;QACjD,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,IAAA,4BAAqB,EACpE,eAAe,EACf,cAAc,EACd,eAAe,EACf,SAAS,EACT,CAAC,EACD,CAAC,CACF,CAAC;QACF,MAAM,YAAY,GAAG,IAAA,iBAAU,EAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAE9D,2BAA2B;QAC3B,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;QAEhE,2CAA2C;QAC3C,MAAM,+BAA+B,GAAG,IAAA,oCAA6B,EACnE,YAAY,EACZ,kBAAkB,CACnB,CAAC;QAEF,uCAAuC;QACvC,qEAAqE;QACrE,MAAM,iBAAiB,GAAG,IAAA,8BAAuB,EAC/C,+BAA+B,EAAE,iCAAiC;QAClE,WAAW,CACZ,CAAC;QAEF,MAAM,mBAAmB,GAAG,IAAA,iBAAU,EAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAExE,cAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC/C,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;YACrC,+BAA+B,EAC7B,+BAA+B,CAAC,QAAQ,EAAE;YAC5C,iBAAiB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;YAC/C,mBAAmB;YACnB,cAAc;YACd,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;YACvC,eAAe;YACf,eAAe;YACf,SAAS;YACT,kBAAkB;YAClB,YAAY;YACZ,cAAc;YACd,4BAA4B,EAAE,oBAAoB;SACnD,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,iBAAiB;YAC/B,kBAAkB,EAAE,IAAA,iBAAU,EAAC,oBAAoB,EAAE,kBAAkB,CAAC;YACxE,YAAY;YACZ,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAkB,EAClB,WAAoB,EACpB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,4BAA4B,CACpD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,EACX,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,uBAAuB,CACvD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,MAAM,CAAC,kBAAkB,CAAC,YAAY,EACtC,MAAM,CAAC,YAAY,CAAC,YAAY,EAChC,WAAW,EACX,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,oBAAoB,EAC3B,WAAW,EACX,CAAC,CACF,CAAC;QAEF,mBAAmB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAA0B,EAC1B,YAAoB,EACpB,WAAoB,EACpB,WAAe,EACf,oBAAwB,EACxB,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAE9D,wCAAwC;QACxC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,WAAW,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/D,6DAA6D;QAC7D,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,GAAG,WAAW,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,0EAA0E;QAC1E,MAAM,QAAQ,GAAG,cAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,cAAc,EACd,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,IAAI,oBAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,EACnC,WAAW,EACX,QAAQ,CACT,CAAC;QAEF,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAc,CAAC,QAAQ,CAAC;QAC3D,cAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YAChD,gBAAgB;SACjB,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,UAAU,GAAG;YACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC7D,SAAS,EAAE,cAAc;YACzB,UAAU,EAAE,QAAQ;SACrB,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;YAC1C,UAAU;SACX,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CACvC,gBAAgB,CAAC,SAAS,EAC1B,UAAU,EACV,SAAS,CACV,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEhC,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,cAAc,CAAC,CAAC;QACtE,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,QAAQ,CAAC,CAAC;QAE1D,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,cAAc,EACd,gBAAgB,CAAC,SAAS,EAC1B,IAAI,EACJ,sBAAsB,CACvB,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,QAAQ,EACR,gBAAgB,CAAC,SAAS,EAC1B,IAAI,EACJ,gBAAgB,CACjB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAEnC,8BAA8B;QAC9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjD,UAAU,EACV,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,CAClB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAE9B,2BAA2B;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAC3C,UAAU,EACV,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,iBAAiB,CAClB,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAE3B,+CAA+C;QAC/C,MAAM,oBAAoB,GAAkC;YAC1D,UAAU;YACV,GAAG,OAAO,CAAC,OAAO;YAClB,OAAO;SACR,CAAC;QACF,cAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAExC,iCAAiC;QACjC,MAAM,MAAM,GAAG,CAAC,CAAC;QACjB,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM,GAAG,oBAAoB,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAC9D,CAAC;QACF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,gBAAgB,CAAC,SAAS,EAC1B,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,iDAAiD;QACjD,MAAM,YAAY,GAAG;YACnB,gBAAgB;YAChB,GAAG,oBAAoB;YACvB,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5D,CAAC;IAED,0DAA0D;IAC1D,KAAK,CAAC,yBAAyB,CAC7B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAkB,EAClB,WAAoB;QAOpB,cAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrC,cAAc,EAAE,cAAc,CAAC,QAAQ,EAAE;YACzC,WAAW;SACZ,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAElD,eAAe;QACf,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC3D,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAE/C,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAgC,CAAC;QACrC,IAAI,iBAAsC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,iBAAiB,GAAG,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACxD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACpD,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,kBAAkB;YAClB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,YAAY;SACb,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACtD,cAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,eAAe;YACf,SAAS;SACV,CAAC,CAAC;QAEH,qDAAqD;QACrD,IAAI,oBAAwB,CAAC;QAC7B,IAAI,WAAe,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YAChD,oBAAoB,GAAG,gBAAgB,CAAC;YACxC,WAAW,GAAG,IAAA,iCAA0B,EACtC,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAC5B,CAAC;YACF,cAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,uBAAuB,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC/C,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YAEnD,8DAA8D;YAC9D,MAAM,gBAAgB,GAAG,IAAA,iBAAU,EAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAExE,2CAA2C;YAC3C,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACzE,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACjE,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;gBACvC,qBAAqB;gBACrB,eAAe;aAChB,CAAC,CAAC;YAEH,2CAA2C;YAC3C,MAAM,EACJ,aAAa,EACb,eAAe,EACf,SAAS,EACT,eAAe,EACf,WAAW,GACZ,GAAG,IAAA,qCAA8B,EAChC,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,CAAC,EACD,CAAC,CACF,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,aAAa;gBACb,eAAe;gBACf,SAAS;gBACT,eAAe;gBACf,WAAW;aACZ,CAAC,CAAC;YAEH,wCAAwC;YACxC,oBAAoB,GAAG,cAAc,CAAC;YACtC,WAAW,GAAG,IAAA,iBAAU,EAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,+CAA+C;QAC/C,2CAA2C;QAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;QAC1B,WAAW,GAAG,IAAA,+BAAwB,EACpC,WAAW,EACX,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;QAEF,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,WAAW;YACX,oBAAoB;YACpB,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,oFAAoF;IACpF,KAAK,CAAC,4BAA4B,CAChC,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,kBAAsB,EACtB,WAAoB,EACpB,WAAmB;QAOnB,cAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClC,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;YACjD,WAAW;SACZ,CAAC,CAAC;QAEH,gDAAgD;QAChD,IAAI,kBAAkB,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,CAAC,GACxD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;YACtB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;SACnC,CAAC,CAAC;QAEL,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,6BAA6B;QAC7B,IAAI,WAAgC,CAAC;QACrC,IAAI,SAA6B,CAAC;QAClC,IAAI,iBAAsC,CAAC;QAC3C,IAAI,eAAmC,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,WAAW,GAAG,OAAO,CAAC;gBACtB,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC3C,iBAAiB,GAAG,OAAO,CAAC;gBAC5B,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,CAAC,iBAAiB,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC;YACzE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACxD,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,UAAU,CAAC;QACrD,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAC3D,MAAM,UAAU,GAAG,WAAW,CAAC,gBAAgB,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW,CAAC,kBAAkB,CAAC;QACpD,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC;QAC7C,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAE/C,cAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;YAC7C,kBAAkB;YAClB,eAAe;YACf,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;YACjC,YAAY;YACZ,SAAS;SACV,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,oBAAwB,CAAC;QAC7B,IAAI,WAAe,CAAC;QAEpB,IAAI,WAAW,EAAE,CAAC;YAChB,cAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACpC,oBAAoB,GAAG,gBAAgB,CAAC;YACxC,WAAW,GAAG,IAAA,iCAA0B,EACtC,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAC5B,CAAC;YAEF,+CAA+C;YAC/C,2CAA2C;YAC3C,MAAM,aAAa,GAAG,GAAG,CAAC;YAC1B,WAAW,GAAG,IAAA,+BAAwB,EACpC,WAAW,EACX,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;YAEF,cAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACtC,uBAAuB,EAAE,WAAW,CAAC,QAAQ,EAAE;gBAC/C,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;aACtC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,cAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAEjE,iDAAiD;YACjD,MAAM,oBAAoB,GAAG,IAAA,iCAA0B,EACrD,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;YACF,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,oBAAoB,EACpB,YAAY,CACb,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EACnC,gBAAgB,EAChB,kBAAkB,CACnB,CAAC;YACF,MAAM,eAAe,GAAG,kBAAkB,GAAG,eAAe,CAAC;YAC7D,MAAM,yBAAyB,GAAG,sBAAsB,GAAG,SAAS,CAAC;YAErE,gEAAgE;YAChE,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,kBAAkB,EAClB,kBAAkB,CACnB,CAAC;YACF,MAAM,WAAW,GAAG,CAAC,GAAG,yBAAyB,GAAG,eAAe,CAAC;YACpE,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,MAAM,2BAA2B,GAAG,sBAAsB,GAAG,WAAW,CAAC;YACzE,MAAM,kBAAkB,GACtB,kBAAkB,GAAG,CAAC;gBACpB,CAAC,CAAC,CAAC,sBAAsB,GAAG,kBAAkB,CAAC;oBAC7C,2BAA2B;gBAC7B,CAAC,CAAC,CAAC,CAAC;YACR,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;YAErE,2DAA2D;YAC3D,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,uBAAuB;YACjD,MAAM,gBAAgB,GAAG,IAAA,+BAAwB,EAC/C,eAAe,EACf,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;YACF,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;YACtE,cAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,EAAE;aAC9C,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,cAAc,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,oCAAoC;YAChG,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YACD,IAAI,eAAe,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YAED,2CAA2C;YAC3C,MAAM,wBAAwB,GAAG,IAAI,oBAAO,CAAC,kBAAkB,CAAC;iBAC7D,GAAG,CAAC,SAAS,CAAC;iBACd,GAAG,CAAC,eAAe,CAAC,CAAC;YACxB,2CAA2C;YAC3C,MAAM,wBAAwB,GAAG,IAAA,iBAAU,EACzC,wBAAwB,CAAC,QAAQ,EAAE,EACnC,kBAAkB,CACnB,CAAC;YAEF,wEAAwE;YACxE,MAAM,mBAAmB,GAAG,IAAA,8BAAuB,EACjD,wBAAwB,EACxB,WAAW,CACZ,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACxD,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE;aACpD,CAAC,CAAC;YAEH,kDAAkD;YAClD,oBAAoB,GAAG,mBAAmB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACnE,sEAAsE;YACtE,WAAW,GAAG,gBAAgB,CAAC;QACjC,CAAC;QAED,cAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACvC,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;YACrD,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAC;QAEH,OAAO;YACL,WAAW;YACX,oBAAoB;YACpB,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAEnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC/C,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,cAAc,EACd,WAAW,CACZ,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACrD,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,OAAO,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,kBAAkB,EACzB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,gBAAgB,EACvB,MAAM,CAAC,sBAAsB,EAC7B,WAAW,EACX,CAAC,CACF,CAAC;QAEF,mBAAmB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,uBAAuB,CAC3B,UAA0B,EAC1B,YAA4B,EAC5B,cAA8B,EAC9B,QAAwB,EACxB,cAAsB,EACtB,WAAmB;QAQnB,cAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC5C,cAAc;YACd,WAAW;SACZ,CAAC,CAAC;QAEH,gBAAgB;QAChB,MAAM,cAAc,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAA,sBAAU,EAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;QAC/C,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC;QAE3D,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAgC,CAAC;QACrC,IAAI,iBAAsC,CAAC;QAE3C,KAAK,MAAM,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,WAAW,GAAG,OAAO,CAAC;YACxB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC5D,iBAAiB,GAAG,OAAO,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QACD,sDAAsD;QACtD,IACE,WAAW,CAAC,eAAe,KAAK,SAAS;YACzC,WAAW,CAAC,eAAe,KAAK,IAAI,EACpC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;QACJ,CAAC;QAED,6CAA6C;QAC7C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,cAAc,CAAC;QAC5D,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;QAEpC,mDAAmD;QACnD,MAAM,oBAAoB,GAAG,IAAA,iCAA0B;QACrD,6BAA6B;QAC7B,WAAW,CAAC,eAAe,EAC3B,YAAY,CAAC,mBAAmB,EAChC,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,EAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAA,iBAAU,EACvC,oBAAoB,EACpB,YAAY,CACb,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,kBAAkB;YAClB,sBAAsB;YACtB,eAAe;YACf,SAAS;SACV,CAAC,CAAC;QAEH,+FAA+F;QAC/F,0CAA0C;QAC1C,MAAM,eAAe,GAAG,IAAA,gCAAyB,EAC/C,kBAAkB,EAClB,eAAe,EACf,CAAC,EACD,sBAAsB,EAAE,6BAA6B;QACrD,SAAS,EACT,CAAC,CACF,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;QAEjE,8DAA8D;QAC9D,MAAM,EACJ,eAAe,EAAE,sBAAsB,EACvC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,GACX,GAAG,IAAA,mCAA4B,EAC9B,kBAAkB,EAClB,sBAAsB,EAAE,6BAA6B;QACrD,eAAe,EACf,SAAS,EACT,eAAe,EACf,cAAc,EACd,CAAC,EACD,CAAC,CACF,CAAC;QACF,cAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,sBAAsB;YACtB,gBAAgB;YAChB,UAAU;SACX,CAAC,CAAC;QAEH,IAAI,gBAAwB,CAAC;QAC7B,IAAI,sBAA8B,CAAC;QAEnC,+CAA+C;QAC/C,IAAI,UAAU,EAAE,CAAC;YACf,cAAM,CAAC,IAAI,CACT,iEAAiE,CAClE,CAAC;YACF,sBAAsB,GAAG,sBAAsB,CAAC,CAAC,gDAAgD;YAEjG,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,cAAM,CAAC,IAAI,CACT,yFAAyF,CAC1F,CAAC;gBACF,gBAAgB,GAAG,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,yBAAyB,GAAG,IAAA,iBAAU,EAC1C,gBAAgB,EAChB,YAAY,CACb,CAAC;gBAEF,gCAAgC;gBAChC,MAAM,kBAAkB,GACtB,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,sBAAsB,CAAC;gBAChE,MAAM,sBAAsB,GAAG,IAAA,oCAA6B,EAC1D,yBAAyB,EACzB,kBAAkB,CACnB,CAAC;gBAEF,uCAAuC;gBACvC,MAAM,mBAAmB,GAAG,IAAA,8BAAuB;gBACjD,uBAAuB;gBACvB,sBAAsB,EACtB,WAAW,CACZ,CAAC;gBAEF,2DAA2D;gBAC3D,gBAAgB,GAAG,IAAA,iBAAU,EAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;gBAEjE,cAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;oBACxD,gBAAgB;oBAChB,yBAAyB,EAAE,yBAAyB,CAAC,QAAQ,EAAE;oBAC/D,sBAAsB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;oBACzD,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE;oBACnD,wBAAwB,EAAE,gBAAgB;iBAC3C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,cAAM,CAAC,IAAI,CACT,mHAAmH,CACpH,CAAC;YACF,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC1B,cAAM,CAAC,IAAI,CACT,sFAAsF,CACvF,CAAC;gBACF,gBAAgB,GAAG,CAAC,CAAC;gBACrB,sBAAsB,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,oDAAoD;gBACpD,MAAM,eAAe,GAAG,IAAA,iBAAU,EAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;gBAEnE,MAAM,aAAa,GAAG,EAAE,CAAC;gBAEzB,+DAA+D;gBAC/D,MAAM,wBAAwB,GAAG,IAAA,+BAAwB;gBACvD,6BAA6B;gBAC7B,eAAe,EACf,YAAY,CAAC,SAAS,EACtB,aAAa,CACd,CAAC;gBACF,gBAAgB,GAAG,IAAA,iBAAU,EAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,uCAAuC;gBAE9G,cAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;oBACxD,gBAAgB;oBAChB,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;oBAC3C,wBAAwB,EAAE,wBAAwB,CAAC,QAAQ,EAAE;oBAC7D,wBAAwB,EAAE,gBAAgB;iBAC3C,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,MAAM,cAAc,GAAG,IAAI,oBAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3D,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBACtD,CAAC;gBACD,IAAI,eAAe,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;gBACJ,CAAC;gBAED,0FAA0F;gBAC1F,MAAM,wBAAwB,GAAG,IAAI,oBAAO,CAAC,gBAAgB,CAAC,CAAC,oCAAoC;qBAChG,GAAG,CAAC,SAAS,CAAC;qBACd,GAAG,CAAC,eAAe,CAAC,CAAC;gBAExB,2CAA2C;gBAC3C,MAAM,wBAAwB,GAAG,IAAA,iBAAU,EACzC,wBAAwB,CAAC,QAAQ,EAAE,EACnC,kBAAkB,CACnB,CAAC;gBAEF,qEAAqE;gBACrE,MAAM,mBAAmB,GAAG,IAAA,8BAAuB;gBACjD,uBAAuB;gBACvB,wBAAwB,EACxB,WAAW,CACZ,CAAC;gBAEF,qEAAqE;gBACrE,sBAAsB,GAAG,IAAA,iBAAU,EACjC,mBAAmB,EACnB,kBAAkB,CACnB,CAAC;gBAEF,cAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;oBAChE,gBAAgB;oBAChB,wBAAwB,EAAE,wBAAwB,CAAC,QAAQ,EAAE;oBAC7D,wBAAwB,EAAE,wBAAwB,CAAC,QAAQ,EAAE;oBAC7D,mBAAmB,EAAE,mBAAmB,CAAC,QAAQ,EAAE;oBACnD,sBAAsB,EAAE,sCAAsC;iBAC/D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,cAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;YAC3D,sBAAsB;YACtB,gBAAgB;YAChB,UAAU;YACV,qBAAqB;SACtB,CAAC,CAAC;QAEH,0EAA0E;QAC1E,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7D,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;QAEjD,OAAO;YACL,sBAAsB;YACtB,gBAAgB;YAChB,UAAU;YACV,kBAAkB;YAClB,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,qBAAqB,CACzB,UAA0B,EAC1B,YAA4B,EAC5B,IAAoB,EACpB,YAAkB,EAClB,kBAAwB,EACxB,UAAmB,EACnB,gBAAwB,EAAE,4DAA4D;IACtF,sBAA8B,EAAE,4DAA4D;IAC5F,WAAmB,EACnB,kBAA0B;QAE1B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAA,8BAAsB,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnE,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EACnD,kBAAkB,CAAC,IAAI,CACxB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,yCAA6B,EAC/C,YAAY,CAAC,IAAI,EACjB,IAAI,EACJ,IAAI,EACJ,gBAAgB,CACjB,CAAC;QACF,MAAM,iBAAiB,GAAG,IAAA,yCAA6B,EACrD,kBAAkB,CAAC,IAAI,EACvB,IAAI,EACJ,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,wCAAwC;QACxC,IAAI,WAAW,GAAG,IAAA,kCAA0B,EAAC,gBAAgB,CAAC,CAAC;QAE/D,wDAAwD;QACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACrE,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAA,wCAAgC,EAAC,cAAc,CAAC,CAAC;QAE3E,mCAAmC;QACnC,MAAM,YAAY,GAAkC,EAAE,CAAC;QACvD,IAAI,gBAAgB,GAAqB,EAAE,CAAC;QAE5C,IAAI,UAAU,EAAE,CAAC;YACf,cAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAE7D,wDAAwD;YACxD,MAAM,oBAAoB,GAAG,IAAA,iBAAU,EACrC,gBAAgB,EAChB,YAAY,CAAC,YAAY,CAC1B,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE;gBAC9D,oBAAoB,EAAE,oBAAoB,CAAC,QAAQ,EAAE;aACtD,CAAC,CAAC;YAEH,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,cAAQ,CAAC,OAAO,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,YAAY,CAAC,IAAI,EACjB,kBAAkB,CAAC,IAAI,EACvB,YAAY,CAAC,YAAY,EACzB,kBAAkB,CAAC,YAAY,EAC/B,IAAI,oBAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,sCAAsC;YACpF,WAAW,EACX,QAAQ,CACT,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBAC9C,QAAQ,EAAE,SAAS,CAAC,aAAc,CAAC,QAAQ;gBAC3C,SAAS,EAAE,SAAS,CAAC,aAAc,CAAC,SAAS;gBAC7C,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;aACxD,CAAC,CAAC;YAEH,wBAAwB;YACxB,MAAM,UAAU,GAAG;gBACjB,mBAAmB,EAAE,IAAI,oBAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;gBACjE,SAAS,EAAE,YAAY,CAAC,IAAI;gBAC5B,UAAU,EAAE,kBAAkB,CAAC,IAAI;aACpC,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvE,wCAAwC;YACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,CAAC,GAAG,EAChB,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EAAE,4BAA4B;YAClD,iBAAiB,CAClB,CAAC;YAEF,sEAAsE;YACtE,MAAM,0BAA0B,GAAG,IAAI,WAAE,CACvC,SAAS,CAAC,aAAc,CAAC,SAAS,CACnC,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC5D,0BAA0B,EAAE,0BAA0B,CAAC,QAAQ,EAAE;aAClE,CAAC,CAAC;YAEH,mDAAmD;YACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAC/C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,kBAAkB,CAAC,GAAG,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAAE,iCAAiC;YAC7D,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3D,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,sBAAsB;YACtB,cAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAE7D,sEAAsE;YACtE,MAAM,kBAAkB,GAAG,IAAA,iBAAU,EACnC,gBAAgB,EAChB,YAAY,CAAC,YAAY,CAC1B,CAAC;YACF,2FAA2F;YAC3F,MAAM,2BAA2B,GAAG,IAAA,iBAAU,EAC5C,sBAAsB,EACtB,kBAAkB,CAAC,YAAY,CAChC,CAAC;YACF,cAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE;gBAC5D,kBAAkB,EAAE,kBAAkB,CAAC,QAAQ,EAAE;gBACjD,2BAA2B,EAAE,2BAA2B,CAAC,QAAQ,EAAE;aACpE,CAAC,CAAC;YAEH,2EAA2E;YAC3E,kDAAkD;YAClD,MAAM,QAAQ,GAAG,cAAQ,CAAC,QAAQ,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAC1C,kBAAkB,CAAC,IAAI,EACvB,YAAY,CAAC,IAAI,EACjB,kBAAkB,CAAC,YAAY,EAC/B,YAAY,CAAC,YAAY,EACzB,IAAI,oBAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,EAAE,uBAAuB;YACnE,WAAW,EACX,QAAQ,CACT,CAAC;YACF,MAAM,wBAAwB,GAAG,SAAS,CAAC,aAAc,CAAC,QAAQ,CAAC;YACnE,cAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBAC9C,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;gBAC3C,cAAc,EAAE,wBAAwB;gBACxC,kBAAkB,EAAE,2BAA2B,CAAC,QAAQ,EAAE,EAAE,2CAA2C;gBACvG,cAAc,EAAE,SAAS,CAAC,aAAc,CAAC,cAAc;aACxD,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG;gBACjB,mBAAmB,EAAE,IAAI,oBAAO,CAC9B,SAAS,CAAC,aAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAC7C;gBACD,SAAS,EAAE,kBAAkB,CAAC,IAAI;gBAClC,UAAU,EAAE,YAAY,CAAC,IAAI;aAC9B,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvE,mFAAmF;YACnF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CACjD,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,kBAAkB,CAAC,GAAG,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,2BAA2B,EAAE,4CAA4C;YACzE,KAAK,EAAE,sBAAsB;YAC7B,iBAAiB,CAClB,CAAC;YAEF,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAC3C,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,CAAC,GAAG,EAChB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAAE,4CAA4C;YAChE,KAAK,EAAE,mBAAmB;YAC1B,iBAAiB,CAClB,CAAC;YAEF,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;QAC1C,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,yDAAyD;QAC3E,oGAAoG;QACpG,MAAM,QAAQ,GAAG,IAAI,WAAE,CACrB,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,kBAAkB,CACtD,CAAC;QAEF,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GACxC,MAAM,IAAI,CAAC,YAAY,CAAC,2BAA2B,CACjD,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,iBAAiB,CAClB,CAAC;QAEJ,yFAAyF;QACzF,MAAM,iBAAiB,GAAG;YACxB,gBAAgB;YAChB,GAAG,YAAY;YACf,cAAc;SACf,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,KAAqB,EACrB,SAAyB;QAEzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YACxE;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACvB,MAAM,EAAE,CAAC,EAAE,mFAAmF;iBAC/F;aACF;YACD;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,SAAS,CAAC,QAAQ,EAAE;oBAC3B,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,+GAA+G;iBAChI;aACF;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAC/B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,KAAqB;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC;YACxE;gBACE,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;oBACvB,MAAM,EAAE,CAAC,EAAE,mFAAmF;iBAC/F;aACF;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAqB,QAAQ,CAAC,GAAG,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAC/B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA3wED,kCA2wEC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carrot-protocol/clend-rpc",
3
- "version": "0.1.4-slippage-dev-2963bcb",
3
+ "version": "0.1.4",
4
4
  "description": "rpc client and libs for carrot lend",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",