@lodestar/fork-choice 1.47.0-dev.ee197a8d7f → 1.47.0-dev.f23173a2e1
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/lib/forkChoice/forkChoice.d.ts +2 -14
- package/lib/forkChoice/forkChoice.d.ts.map +1 -1
- package/lib/forkChoice/forkChoice.js +9 -17
- package/lib/forkChoice/forkChoice.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/protoArray/interface.d.ts +4 -4
- package/lib/protoArray/interface.d.ts.map +1 -1
- package/lib/protoArray/protoArray.d.ts +3 -3
- package/lib/protoArray/protoArray.d.ts.map +1 -1
- package/lib/protoArray/protoArray.js +27 -19
- package/lib/protoArray/protoArray.js.map +1 -1
- package/package.json +8 -8
- package/src/forkChoice/forkChoice.ts +21 -23
- package/src/index.ts +1 -1
- package/src/protoArray/interface.ts +4 -4
- package/src/protoArray/protoArray.ts +31 -23
|
@@ -212,20 +212,12 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
212
212
|
};
|
|
213
213
|
/** Very expensive function, iterates the entire ProtoArray. Called only in debug API */
|
|
214
214
|
getHeads(): ProtoBlock[];
|
|
215
|
-
/**
|
|
216
|
-
* weight is in EFFECTIVE_BALANCE_INCREMENTS not gwei.
|
|
217
|
-
* For compliance test use only
|
|
218
|
-
*/
|
|
215
|
+
/** Returns exact Gwei weights for the compliance test. */
|
|
219
216
|
getViableHeads(): {
|
|
220
217
|
root: RootHex;
|
|
221
218
|
payloadStatus: PayloadStatus;
|
|
222
|
-
weight:
|
|
219
|
+
weight: bigint;
|
|
223
220
|
}[];
|
|
224
|
-
/**
|
|
225
|
-
* The cached justified total active balance, in EFFECTIVE_BALANCE_INCREMENT units.
|
|
226
|
-
* For compliance test use only
|
|
227
|
-
*/
|
|
228
|
-
getJustifiedTotalActiveBalanceByIncrement(): number;
|
|
229
221
|
/** This is for the debug API only */
|
|
230
222
|
getAllNodes(): ProtoNode[];
|
|
231
223
|
getFinalizedCheckpoint(): CheckpointWithHex;
|
|
@@ -549,8 +541,4 @@ export declare class ForkChoice implements IForkChoice {
|
|
|
549
541
|
private runFastConfirmation;
|
|
550
542
|
private createFastConfirmationContext;
|
|
551
543
|
}
|
|
552
|
-
export declare function getCommitteeFraction(justifiedTotalActiveBalanceByIncrement: number, config: {
|
|
553
|
-
slotsPerEpoch: number;
|
|
554
|
-
committeePercent: number;
|
|
555
|
-
}): number;
|
|
556
544
|
//# sourceMappingURL=forkChoice.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MIN_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, isForkPostFulu, isForkPostGloas } from "@lodestar/params";
|
|
1
|
+
import { EFFECTIVE_BALANCE_INCREMENT, MIN_SEED_LOOKAHEAD, SLOTS_PER_EPOCH, isForkPostFulu, isForkPostGloas, } from "@lodestar/params";
|
|
2
2
|
import { DataAvailabilityStatus, ZERO_HASH, computeEpochAtSlot, computeSlotsSinceEpochStart, computeStartSlotAtEpoch, getAttesterSlashableIndices, isExecutionBlockBodyType, isStatePostBellatrix, } from "@lodestar/state-transition";
|
|
3
3
|
import { isGloasBeaconBlock, ssz, } from "@lodestar/types";
|
|
4
4
|
import { MapDef, fromHex, toRootHex, withObservedDuration } from "@lodestar/utils";
|
|
@@ -9,6 +9,7 @@ import { ForkChoiceError, ForkChoiceErrorCode, InvalidAttestationCode, InvalidBl
|
|
|
9
9
|
import { FastConfirmationRule, FastConfirmationSteps, } from "./fastConfirmation/fastConfirmationRule.js";
|
|
10
10
|
import { AncestorStatus, NotReorgedReason, } from "./interface.js";
|
|
11
11
|
import { toCheckpointWithHex } from "./store.js";
|
|
12
|
+
const EFFECTIVE_BALANCE_INCREMENT_BIGINT = BigInt(EFFECTIVE_BALANCE_INCREMENT);
|
|
12
13
|
export var UpdateHeadOpt;
|
|
13
14
|
(function (UpdateHeadOpt) {
|
|
14
15
|
UpdateHeadOpt["GetCanonicalHead"] = "getCanonicalHead";
|
|
@@ -472,20 +473,10 @@ export class ForkChoice {
|
|
|
472
473
|
getHeads() {
|
|
473
474
|
return this.protoArray.nodes.filter((node) => node.bestChild === undefined);
|
|
474
475
|
}
|
|
475
|
-
/**
|
|
476
|
-
* weight is in EFFECTIVE_BALANCE_INCREMENTS not gwei.
|
|
477
|
-
* For compliance test use only
|
|
478
|
-
*/
|
|
476
|
+
/** Returns exact Gwei weights for the compliance test. */
|
|
479
477
|
getViableHeads() {
|
|
480
478
|
return this.protoArray.getViableHeads(this.fcStore.currentSlot);
|
|
481
479
|
}
|
|
482
|
-
/**
|
|
483
|
-
* The cached justified total active balance, in EFFECTIVE_BALANCE_INCREMENT units.
|
|
484
|
-
* For compliance test use only
|
|
485
|
-
*/
|
|
486
|
-
getJustifiedTotalActiveBalanceByIncrement() {
|
|
487
|
-
return this.fcStore.justified.totalBalance;
|
|
488
|
-
}
|
|
489
480
|
/** This is for the debug API only */
|
|
490
481
|
getAllNodes() {
|
|
491
482
|
return this.protoArray.nodes;
|
|
@@ -1325,7 +1316,7 @@ export class ForkChoice {
|
|
|
1325
1316
|
// the justified state) - fall back to the head state's effective balance
|
|
1326
1317
|
balance = state.effectiveBalanceIncrements[validatorIndex];
|
|
1327
1318
|
}
|
|
1328
|
-
headWeight += balance;
|
|
1319
|
+
headWeight += BigInt(balance) * EFFECTIVE_BALANCE_INCREMENT_BIGINT;
|
|
1329
1320
|
}
|
|
1330
1321
|
}
|
|
1331
1322
|
}
|
|
@@ -1804,10 +1795,11 @@ export class ForkChoice {
|
|
|
1804
1795
|
};
|
|
1805
1796
|
}
|
|
1806
1797
|
}
|
|
1807
|
-
//
|
|
1798
|
+
// https://github.com/ethereum/consensus-specs/blob/v1.6.1/specs/phase0/fork-choice.md#calculate_committee_fraction
|
|
1808
1799
|
// Calculates proposer boost score when committeePercent = config.PROPOSER_SCORE_BOOST
|
|
1809
|
-
|
|
1810
|
-
const
|
|
1811
|
-
|
|
1800
|
+
function getCommitteeFraction(justifiedTotalActiveBalanceByIncrement, config) {
|
|
1801
|
+
const committeeWeightGwei = (BigInt(justifiedTotalActiveBalanceByIncrement) * EFFECTIVE_BALANCE_INCREMENT_BIGINT) /
|
|
1802
|
+
BigInt(config.slotsPerEpoch);
|
|
1803
|
+
return (committeeWeightGwei * BigInt(config.committeePercent)) / 100n;
|
|
1812
1804
|
}
|
|
1813
1805
|
//# sourceMappingURL=forkChoice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACtG,OAAO,EACL,sBAAsB,EAGtB,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EASL,kBAAkB,EAElB,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,eAAe,EACf,aAAa,EAEb,eAAe,EAEf,aAAa,EAIb,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC3G,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,GAGtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAEL,cAAc,EAGd,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAyD,mBAAmB,EAAC,MAAM,YAAY,CAAC;AASvG,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;AACvD,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAOD,4CAA4C;AAC5C,MAAM,cAAc,GAAS,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAU;IA6DF,MAAM;IACN,OAAO;IAEP,UAAU;IAElB,OAAO;IACC,IAAI;IACJ,MAAM;IAnEzB,kBAAkB,CAAS;IAC3B;;;;;;;;;;OAUG;IACc,kBAAkB,CAAc;IAChC,eAAe,CAAc;IAC7B,aAAa,CAAS;IAEvC;;;;;;OAMG;IACc,kBAAkB,GAAsE,IAAI,MAAM,CACjH,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAClC,CAAC;IAEF;;;OAGG;IACK,8BAA8B,GAAG,CAAC,CAAC;IAE3C,4GAA4G;IAC5G,6FAA6F;IAC7F,uDAAuD;IACvD,0BAA0B;IAE1B,kBAAkB;IACV,IAAI,CAAa;IACzB;;QAEI;IACI,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,kEAAkE;IAC1D,iBAAiB,GAAmB,IAAI,CAAC;IACjD,+EAA+E;IACvE,2BAA2B,GAAkB,IAAI,CAAC;IAC1D,qCAAqC;IAC7B,QAAQ,CAA6B;IAC7C,qDAAqD;IACpC,oBAAoB,CAAyB;IAC7C,uBAAuB,CAA2B;IAC3D,sBAAsB,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,YACmB,MAAuB,EACvB,OAAyB;IAC1C,sDAAsD;IACrC,UAAsB,EACvC,cAAsB,EACb,OAAiC,EACzB,IAAqB,EACrB,MAAe;sBAPf,MAAM;uBACN,OAAO;0BAEP,UAAU;uBAElB,OAAO;oBACC,IAAI;sBACJ,MAAM;QAEvB,wEAAwE;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,kFAAkF;QAElF,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEhD,IAAI,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACpE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACxC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/E,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAkB,EAAE,YAAkB;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;IACpG,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,wCAAwC,EAAE,IAAI,CAAC,OAAO,CAAC,wCAAwC;YAC/F,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,uCAAuC;YAC7F,yCAAyC,EAAE,IAAI,CAAC,OAAO,CAAC,yCAAyC;YACjG,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC/C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;SAC9C,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,sBAAsB,CAAC,MAAe;QAC5C,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QACvC,IAAI,MAAM,KAAK,IAAI,CAAC,sBAAsB;YAAE,OAAO;QACnD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,gGAAgG;YAChG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mEAAmE;gBACnE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,EAAE,GAAY,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B,EAAE;YACnF,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sDAAsD,aAAa,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACpC,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAwB;QAKvC,MAAM,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;QAEnB,MAAM,kBAAkB,GAAG,IAAI,KAAK,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,wBAAwB;gBACzC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC;YACzF,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM,EACJ,YAAY,EAAE,IAAI,EAClB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxE,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;YAChD,CAAC;YACD,KAAK,aAAa,CAAC,gBAAgB;gBACjC,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;YACpC;gBACE,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,4HAA4H;IAC5H,+HAA+H;IAC/H,wEAAwE;IACxE,0BAA0B;IAC1B,sEAAsE;IACtE,8BAA8B,CAC5B,SAAqB,EACrB,WAAmB,EACnB,WAAiB;QAEjB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,iFAAiF;YACjF,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,EAAC,CAAC;QACpF,CAAC;QACD,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,gFAAgF,EAAE;gBACrG,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACzF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAExC,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAClF,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;QAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,gBAAgB,CAAC,OAAO,EAAC,CAAC;QAChG,CAAC;QAED,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,KAAK,WAAW;YAC9B,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,kDAAkD,EAAE;YACvE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC;IACjD,CAAC;IAED,4BAA4B;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC;IAED,oDAAoD;IACpD,iBAAiB,CAAC,IAAgB,EAAE,IAAU;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAqB,EAAE,WAAmB,EAAE,WAAiB;QAC/E,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yEAAyE,EAAE;gBAC9F,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,4EAA4E,EAAE;gBACjG,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;gBAC1C,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,mEAAmE,EAAE;YACxF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CACb,SAAqB,EACrB,WAAmB,EACnB,IAAU;QAEV,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,6DAA6D;QAC7D,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sEAAsE,EAAE;gBAC3F,IAAI;gBACJ,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACrG,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEnH,IAAI,kBAAkB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,CAAC;QAChF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC7F,CAAC;QAED,yDAAyD;QACzD,sFAAsF;QACtF,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,kIAAkI;QAClI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,EAAC,CAAC;QAC3F,CAAC;QAED,4JAA4J;QAC5J,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,0DAA0D,EAAE;YAC/E,IAAI;YACJ,YAAY,EAAE,WAAW,CAAC,SAAS;YACnC,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,YAAY,GAAG,WAAW,CAAC;QAE3B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU;QACR,gDAAgD;QAEhD,qFAAqF;QACrF,mCAAmC;QACnC,EAAE;QACF,0FAA0F;QAC1F,oCAAoC;QAEpC,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC;QAEpE,MAAM,KAAK,GAAG,oBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,GAAG,aAAa,CACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAC5B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,WAAW,EACX,WAAW,EACX,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACjC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC;QAEV,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChE,oBAAoB,EAAE,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3F,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC3E,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B;;;WAGG;QACH,IAAI,aAAa,GAA0C,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,kBAAkB,GACtB,IAAI,CAAC,2BAA2B;gBAChC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;oBACxD,aAAa,EAAE,eAAe;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;iBACnD,CAAC,CAAC;YACL,aAAa,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAC,CAAC;YAC1E,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAChC,iBAAiB;YACjB,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YACxD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACtD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO;YACvD,WAAW;SACZ,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC;IAChF,CAAC;IAED,yBAAyB,CAAC,QAAc,EAAE,MAAY,EAAE,IAAgB;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzG,CAAC;IAED,wFAAwF;IACxF,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,yCAAyC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED,qCAAqC;IACrC,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC1C,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,KAAkB,EAClB,KAAuB,EACvB,aAAqB,EACrB,WAAiB,EACjB,eAAqC,EACrC,sBAA8C;QAE9C,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,mFAAmF;QACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC;YACzE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,WAAW;oBAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2FAA2F;QAC3F,iBAAiB;QACjB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,aAAa;oBACb,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1D,IAAI,iBAAiB,CAAC,SAAS,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,wBAAwB;oBAC/C,aAAa,EAAE,gBAAgB,CAAC,OAAO;oBACvC,aAAa,EAAE,iBAAiB,CAAC,SAAS;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,4FAA4F;QAC5F,4FAA4F;QAC5F,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI;YACjC,QAAQ;YACR,oCAAoC;YACpC,IAAI,CAAC,iBAAiB,KAAK,IAAI;YAC/B,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5E,4FAA4F;QAC5F,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAEvF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC;QAEtD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,iGAAiG;QACjG,uFAAuF;QACvF,mFAAmF;QACnF,sBAAsB;QACtB,EAAE;QACF,sEAAsE;QACtE,oGAAoG;QACpG,yGAAyG;QACzG,EAAE;QACF,uEAAuE;QACvE,oFAAoF;QACpF,wBAAwB;QACxB,IAAI,6BAAgD,CAAC;QACrD,IAAI,6BAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACjC,IACE,WAAW,CAAC,wBAAwB,KAAK,UAAU;gBACnD,WAAW,CAAC,wBAAwB,GAAG,CAAC,IAAI,UAAU,EACtD,CAAC;gBACD,iFAAiF;gBACjF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;gBACF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,UAAU,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;gBACxD,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACpF,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B,GAAG,mBAAmB,CAAC;YACpD,6BAA6B,GAAG,mBAAmB,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE1F,2FAA2F;QAC3F,4EAA4E;QAC5E,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,UAAU,EAAE,QAAQ;YAEpB,cAAc,EAAE,mBAAmB;YACnC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAC/D,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACxD,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAC9D,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAE9D,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,mFAAmF;oBACnF,sFAAsF;oBACtF,0FAA0F;oBAC1F,gDAAgD;oBAChD,4DAA4D;oBAC5D,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAEvG,8EAA8E;oBAC9E,2EAA2E;oBAC3E,wDAAwD;oBACxD,gFAAgF;oBAChF,mFAAmF;oBACnF,MAAM,UAAU,GACd,WAAW,CAAC,yBAAyB,KAAK,IAAI;wBAC5C,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAC;wBAC1B,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,wBAAwB,EAAC,CAAC;oBAEnG,OAAO;wBACL,yBAAyB,EAAE,sBAAsB;wBACjD,sBAAsB,EAAE,UAAU,CAAC,MAAM;wBACzC,wBAAwB,EAAE,UAAU,CAAC,QAAQ;wBAC7C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB,CAAC;gBACJ,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClC,oBAAoB,CAAC,KAAK,CAAC;oBAC3B,KAAK,CAAC,oBAAoB;oBAC1B,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC;wBACE,yBAAyB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAC3E,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW;wBAC/D,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ;wBAC9D,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB;oBACH,CAAC,CAAC;wBACE,yBAAyB,EAAE,IAAI;wBAC/B,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;wBAC5D,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;qBAC3E,CAAC;YAER,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACrF,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAEpE,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,2FAA2F;QAC3F,mDAAmD;QACnD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,EAAE,CACpE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACjE,CAAC;QAEF,0FAA0F;QAC1F,IAAI,CAAC,2BAA2B,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QAEF,mGAAmG;QACnG,IAAI,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CACxF,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,WAA+B,EAAE,WAAmB,EAAE,WAAqB;QACvF,4CAA4C;QAC5C,EAAE;QACF,wFAAwF;QACxF,gFAAgF;QAChF,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,6DAA6D;QAC7D,gDAAgD;QAChD,EAAE;QACF,yFAAyF;QACzF,2FAA2F;QAC3F,iDAAiD;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;QACzC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,eAAe,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnG,mDAAmD;QACnD,EAAE;QACF,2DAA2D;QAC3D,cAAc;QACd,uFAAuF;QACvF,oBAAoB;QACpB,EAAE;QACF,0HAA0H;QAC1H,IAAI,aAA4B,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;qBAAM,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;4BAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,EAAE;YACF,MAAM;YACN,oEAAoE;YACpE,0EAA0E;YAC1E,MAAM;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzD,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,gBAAkC;QACnD,qFAAqF;QACrF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;QAC1E,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CACf,SAAkB,EAClB,IAAU,EACV,UAAoB,EACpB,cAAuB,EACvB,iBAA0B;QAE1B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACpG,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAChB,SAAkB,EAClB,yBAAkC,EAClC,sBAA8B,EAC9B,wBAAgC,EAChC,eAAuC,EACvC,sBAA8C;QAE9C,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,IAAI,CAAC,iBAAiB,EACtB,eAAe,EACf,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,WAAiB;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW;YAAE,OAAO;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,sGAAsG;YACtG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;YACxC,wFAAwF;YACxF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,uFAAuF;IACvF,QAAQ,CAAC,SAAe;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,+FAA+F;IAC/F,QAAQ,CAAC,SAAe,EAAE,aAA4B;QACpD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED,qBAAqB,CAAC,SAAe;QACnC,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,SAAkB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAe;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAkB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,SAAe;QAC9B,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,YAAqB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,YAAqB;QAKpC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,yBAAyB,CAAC,YAAqB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,+BAA+B,CAAC,YAAqB;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC;IACrD,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAkB,EAAE,aAA4B;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;SACR,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,SAAkB;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,SAAkB;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB;QACf,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB;QACf,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC9D,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,YAAqB,EACrB,qBAAoC,EACpC,cAAuB,EACvB,uBAAsC;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;IACpH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAsB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gBACrC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBAClC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,SAAkB,EAAE,aAA4B;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAkB,EAAE,aAA4B;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,aAA4B;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,kCAAkC,CAChC,SAAkB,EAClB,aAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,+CAA+C,CAAC,SAAkB;QAIhE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,uBAAuB,CAAC,SAAe;QACrC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,IAAU;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B,CAAC,IAAU;QACxC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sGAAsG;IACtG,4BAA4B;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,CAAC,yBAAyB,CAAC,SAAkB,EAAE,aAA4B;QACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC,CAAC,SAAkB;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,sGAAsG;IACtG,6BAA6B,CAAC,UAAmB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,sGAAsG;IACtG,uBAAuB,CAAC,IAAU;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,mGAAmG;IACnG,sBAAsB,CAAC,SAAqB,EAAE,QAAoB;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,YAAY,EAAC,CAAC;QAC7C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,oEAAoE;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,EAAC,CAAC;QAClD,CAAC;QAED,qFAAqF;QACrF,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACtG,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAC,CAAC;IACnH,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAA6B;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;gBACvG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,KAAiB,EAAE,eAAgC;QAClE,8EAA8E;QAC9E,+FAA+F;QAC/F,8FAA8F;QAC9F,kFAAkF;QAElF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,eAAe,GAAG,eAAe,CAAC;QAEnG,qEAAqE;QACrE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YACnC,yDAAyD;YACzD,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YAED,2EAA2E;YAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YAED,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5F,8DAA8D;YAC9D,oGAAoG;YACpG,0FAA0F;YAC1F,yDAAyD;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,CAAC,2CAA2C,KAAK,CAAC,IAAI,sBAAsB,eAAe,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED;;;;;;;;;OASG;IACK,gCAAgC,CAAC,WAAoB,EAAE,kBAA2B;QACxF,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,uBAAuB;QACvB,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC;QACnG,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC;QAC3G,4EAA4E;QAC5E,IAAI,iBAAiB,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,iBAAiB,KAAK,kBAAkB,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,SAAkB;QACnC,kGAAkG;QAClG,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,yGAAyG;YACzG,MAAM,IAAI,eAAe,CAAC,EAAC,IAAI,EAAE,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/E,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B;SAC1D,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QACtC,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEvC,MAAM,EAAC,mBAAmB,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3C,gGAAgG;QAChG,iFAAiF;QACjF,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;YACpE,+DAA+D;YAC/D,yDAAyD;YACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,kBAAkB;oBAC5C,KAAK,EAAE,IAAI,KAAK,CAAC,2CAA2C,SAAS,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;iBACrG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjF,KAAK,MAAM,cAAc,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;oBACxE,IAAI,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC5C,qEAAqE;wBACrE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,yFAAyF;4BACzF,yEAAyE;4BACzE,OAAO,GAAG,KAAK,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;wBAC7D,CAAC;wBACD,UAAU,IAAI,OAAO,CAAC;oBACxB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,GAAG,cAAc,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,UAAmB;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC9D,8CAA8C;QAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAChF,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B;SAC5D,CAAC,CAAC;QAEH,qGAAqG;QACrG,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAE/G,OAAO,YAAY,GAAG,eAAe,CAAC;IACxC,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,KAAkB,EAAE,aAAqB;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB,EAAE,IAAU;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,WAAW,GAAG,IAAI,IAAI,mBAAmB,CAAC;IACnD,CAAC;IAEO,qBAAqB,CAAC,eAAqC;QACjE,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CAAC,iDAAiD,eAAe,CAAC,QAAQ,SAAS,eAAe,EAAE,CAAC,CAAC;QACnH,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,qBAAqB,CAAC,sBAA8C;QAC1E,IAAI,sBAAsB,KAAK,sBAAsB,CAAC,OAAO;YAC3D,MAAM,KAAK,CACT,4CAA4C,sBAAsB,CAAC,OAAO,SAAS,sBAAsB,EAAE,CAC5G,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAEO,sBAAsB,CAC5B,eAAqC;QAErC,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CACT,kDAAkD,eAAe,CAAC,OAAO,OAAO,eAAe,CAAC,KAAK,SAAS,eAAe,EAAE,CAChI,CAAC;QACJ,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,iBAAiB,CACvB,mBAAsC,EACtC,mBAAsC,EACtC,oBAA6C;QAE7C,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAC,CAAC;YAC7F,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACvD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,6BAAgD,EAChD,6BAAgD,EAChD,oBAA6C;QAE7C,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG;gBACjC,UAAU,EAAE,6BAA6B;gBACzC,QAAQ,EAAE,oBAAoB,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,kBAAsC,EACtC,IAAU,EACV,YAAoB,EACpB,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB;QAErB,gFAAgF;QAChF,kBAAkB;QAClB,EAAE;QACF,wFAAwF;QACxF,kFAAkF;QAClF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,0BAA0B;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,eAAuC,EACvC,IAAU,EACV,kBAA0B,EAC1B,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB;QAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,YAAY;oBACzC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,UAAU;oBACvC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;oBAC7C,MAAM,EAAE,WAAW;oBACnB,IAAI;iBACL;aACF,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,qFAAqF;QACrF,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,mBAAmB;oBAChD,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,EAAE;QACF,2FAA2F;QAC3F,iFAAiF;QACjF,2FAA2F;QAC3F,EAAE;QACF,sFAAsF;QACtF,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;oBAC/C,eAAe,EAAE,kBAAkB;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE/G,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,cAAc;oBAC3C,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,4BAA4B;QAC5B,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,uBAAuB;oBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,qDAAqD;YACrD,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,0DAA0D;YAC1D,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1G,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;4BACnD,eAAe,EAAE,kBAAkB;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,cAA8B,EAC9B,QAAc,EACd,QAAiB,EACjB,iBAAgC;QAEhC,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,uBAAuB,iBAAiB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,gBAAgB,KAAK,cAAc,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/G,6DAA6D;YAC7D,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAChD,CAAC;QACD,uCAAuC;IACzC,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC;oBAC/B,KAAK,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;wBACvE,mDAAmD;wBACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,8BAA8B,IAAI,cAAc,CAAC,IAAI,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,IAAU;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE9C,IAAI,IAAI,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,YAAY;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,wGAAwG;YACxG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAC3C,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAChD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAChC,SAAqB,EACrB,WAAuB,EACvB,IAAU;QAEV,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,mCAAmC;QACnC,0GAA0G;QAC1G,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,KAAK,CAAC,CAAC;QACxG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC3F,CAAC;QAED,gEAAgE;QAChE,gHAAgH;QAChH,MAAM,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAC,GAAG,SAAS,CAAC;QACzG,MAAM,EAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAC,GAAG,WAAW,CAAC;QAC/G,MAAM,gBAAgB,GAAG,gBAAgB,KAAK,kBAAkB,IAAI,eAAe,KAAK,iBAAiB,CAAC;QAC1G,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,iFAAiF;QACjF,gHAAgH;QAChH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;QAC/F,MAAM,gBAAgB,GAAG,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;QACpG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,mBAAmB,EAAC,CAAC;QAC5F,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kCAAkC,EAAC,CAAC;QAC3G,CAAC;QAED,kBAAkB,GAAG,WAAW,CAAC;QAEjC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC9B,CAAC;IAEO,mBAAmB;QACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACvD,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC7D,IAAI,CAAC,oBAAoB,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAE9D,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,oEAAoE;YACpE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qFAAqF;gBACrF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,EAAE,GAAY,CAAC,CAAC;YACxG,CAAC;YACD,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE;YACnF,IAAI,CAAC;gBACH,oBAAoB,CAClB,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;oBACtD,IAAI,EAAE,qBAAqB,CAAC,UAAU;iBACvC,CAAC,EACF,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CACxB,CAAC;gBAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,uCAAuC,CAAC,uBAAuB,CAAC,CAAC;gBACrG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,0BAA0B,EAC1B,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAC,EACtG,GAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,6BAA6B;QACnC,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC;QACpF,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO;YACL,MAAM,EAAE;gBACN,gCAAgC,EAAE,8BAA8B;gBAChE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;aACvD;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACxB,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAChE,WAAW,EAAE,CAAC,IAAa,EAAE,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS;YAClF,YAAY,EAAE,CAAC,QAAiB,EAAE,UAAmB,EAAE,EAAE;gBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACvE,IAAI,cAAc,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACjF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACnF,CAAC;YACD,gBAAgB,EAAE,CAAC,cAA8B,EAAE,EAAE;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvB,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,EAAC,CAAC;YAC/F,CAAC;YACD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU;gBACvD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ;aACpD,CAAC;YACF,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9D,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9D,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;wBAChD,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,+HAA+H;AAC/H,sFAAsF;AACtF,MAAM,UAAU,oBAAoB,CAClC,sCAA8C,EAC9C,MAAyD;IAEzD,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,CAAC;AACvE,CAAC"}
|
|
1
|
+
{"version":3,"file":"forkChoice.js","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"AACA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EAGtB,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EASL,kBAAkB,EAElB,GAAG,GACJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAS,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAEzF,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAEL,eAAe,EACf,aAAa,EAEb,eAAe,EAEf,aAAa,EAIb,YAAY,GACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAC3G,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,GAGtB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAEL,cAAc,EAGd,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAyD,mBAAmB,EAAC,MAAM,YAAY,CAAC;AASvG,MAAM,kCAAkC,GAAG,MAAM,CAAC,2BAA2B,CAAC,CAAC;AAE/E,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,oDAAmC,CAAA;IACnC,sEAAqD,CAAA;AACvD,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAOD,4CAA4C;AAC5C,MAAM,cAAc,GAAS,CAAC,CAAC;AAE/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,UAAU;IA6DF,MAAM;IACN,OAAO;IAEP,UAAU;IAElB,OAAO;IACC,IAAI;IACJ,MAAM;IAnEzB,kBAAkB,CAAS;IAC3B;;;;;;;;;;OAUG;IACc,kBAAkB,CAAc;IAChC,eAAe,CAAc;IAC7B,aAAa,CAAS;IAEvC;;;;;;OAMG;IACc,kBAAkB,GAAsE,IAAI,MAAM,CACjH,GAAG,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAClC,CAAC;IAEF;;;OAGG;IACK,8BAA8B,GAAG,CAAC,CAAC;IAE3C,4GAA4G;IAC5G,6FAA6F;IAC7F,uDAAuD;IACvD,0BAA0B;IAE1B,kBAAkB;IACV,IAAI,CAAa;IACzB;;QAEI;IACI,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtD,kEAAkE;IAC1D,iBAAiB,GAAmB,IAAI,CAAC;IACjD,+EAA+E;IACvE,2BAA2B,GAAkB,IAAI,CAAC;IAC1D,qCAAqC;IAC7B,QAAQ,CAA6B;IAC7C,qDAAqD;IACpC,oBAAoB,CAAyB;IAC7C,uBAAuB,CAA2B;IAC3D,sBAAsB,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,YACmB,MAAuB,EACvB,OAAyB;IAC1C,sDAAsD;IACrC,UAAsB,EACvC,cAAsB,EACb,OAAiC,EACzB,IAAqB,EACrB,MAAe;sBAPf,MAAM;uBACN,OAAO;0BAEP,UAAU;uBAElB,OAAO;oBACC,IAAI;sBACJ,MAAM;QAEvB,wEAAwE;QACxE,IAAI,CAAC,kBAAkB,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC1E,IAAI,CAAC,eAAe,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,kFAAkF;QAElF,IAAI,CAAC,aAAa,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QAEhD,IAAI,IAAI,CAAC,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACzF,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACpE,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE;YACxC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YAC/E,OAAO,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACtF,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5D,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,SAAkB,EAAE,YAAkB;QAChD,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;IACpG,CAAC;IAED,wBAAwB;QACtB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,wCAAwC,EAAE,IAAI,CAAC,OAAO,CAAC,wCAAwC;YAC/F,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,uCAAuC;YAC7F,yCAAyC,EAAE,IAAI,CAAC,OAAO,CAAC,yCAAyC;YACjG,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB;YAC/C,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;SAC9C,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,qBAAqB;QACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,sBAAsB,CAAC,MAAe;QAC5C,IAAI,CAAC,IAAI,CAAC,oBAAoB;YAAE,OAAO;QACvC,IAAI,MAAM,KAAK,IAAI,CAAC,sBAAsB;YAAE,OAAO;QACnD,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC;QACrC,IAAI,MAAM,EAAE,CAAC;YACX,gGAAgG;YAChG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mEAAmE;gBACnE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,EAAE,GAAY,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,2BAA2B,EAAE;YACnF,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,sDAAsD,aAAa,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACpC,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CAAC,GAAwB;QAKvC,MAAM,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;QAEnB,MAAM,kBAAkB,GAAG,IAAI,KAAK,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChH,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,aAAa,CAAC,wBAAwB;gBACzC,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC;YACzF,KAAK,aAAa,CAAC,eAAe,EAAE,CAAC;gBACnC,MAAM,EACJ,YAAY,EAAE,IAAI,EAClB,YAAY,EACZ,gBAAgB,GACjB,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxE,OAAO,EAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAC,CAAC;YAChD,CAAC;YACD,KAAK,aAAa,CAAC,gBAAgB;gBACjC,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;YACpC;gBACE,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,4HAA4H;IAC5H,+HAA+H;IAC/H,wEAAwE;IACxE,0BAA0B;IAC1B,sEAAsE;IACtE,8BAA8B,CAC5B,SAAqB,EACrB,WAAmB,EACnB,WAAiB;QAEjB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,iFAAiF;YACjF,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,qBAAqB,EAAC,CAAC;QACpF,CAAC;QACD,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,gFAAgF,EAAE;gBACrG,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACzF,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QACF,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QAExC,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QACtF,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAClF,SAAS,EACT,WAAW,EACX,YAAY,CACb,CAAC;QAEF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,IAAI,gBAAgB,CAAC,OAAO,EAAC,CAAC;QAChG,CAAC;QAED,MAAM,aAAa,GACjB,SAAS,CAAC,IAAI,KAAK,WAAW;YAC9B,CAAC,YAAY,KAAK,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,kDAAkD,EAAE;YACvE,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,IAAI,EAAE,WAAW;SAClB,CAAC,CAAC;QACH,OAAO,EAAC,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,iBAAiB,IAAI,aAAa,CAAC;IACjD,CAAC;IAED,4BAA4B;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC;IAED,oDAAoD;IACpD,iBAAiB,CAAC,IAAgB,EAAE,IAAU;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,SAAqB,EAAE,WAAmB,EAAE,WAAiB;QAC/E,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,6DAA6D;QAC7D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,yEAAyE,EAAE;gBAC9F,IAAI,EAAE,WAAW;gBACjB,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,4EAA4E,EAAE;gBACjG,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,SAAS;gBAC1C,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,mEAAmE,EAAE;YACxF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CACb,SAAqB,EACrB,WAAmB,EACnB,IAAU;QAEV,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC;QAC1C,IAAI,YAAY,GAAG,SAAS,CAAC;QAE7B,6DAA6D;QAC7D,MAAM,EAAC,aAAa,EAAE,kBAAkB,EAAC,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,sEAAsE,EAAE;gBAC3F,IAAI;gBACJ,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YACH,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,0BAA0B,EAAC,CAAC;QACrG,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC1C,SAAS,CAAC,UAAU,EACpB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAClD,CAAC;QAEF,0CAA0C;QAC1C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,MAAM,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEnH,IAAI,kBAAkB,KAAK,SAAS,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;YAC7E,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,CAAC;QAChF,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC7F,CAAC;QAED,yDAAyD;QACzD,sFAAsF;QACtF,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,gDAAgD;QAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,SAAS,CAAC;QAC9E,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,uBAAuB,EAAC,CAAC;QAClG,CAAC;QAED,kIAAkI;QAClI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,EAAC,CAAC;QAC3F,CAAC;QAED,4JAA4J;QAC5J,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO,EAAC,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAC,CAAC;QAC/F,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,0DAA0D,EAAE;YAC/E,IAAI;YACJ,YAAY,EAAE,WAAW,CAAC,SAAS;YACnC,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC9B,CAAC,CAAC;QACH,YAAY,GAAG,WAAW,CAAC;QAE3B,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU;QACR,gDAAgD;QAEhD,qFAAqF;QACrF,mCAAmC;QACnC,EAAE;QACF,0FAA0F;QAC1F,oCAAoC;QAEpC,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACpD,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC;QAEpE,MAAM,KAAK,GAAG,oBAAoB,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,EACJ,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,iBAAiB,GAClB,GAAG,aAAa,CACf,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAC5B,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,EACpB,WAAW,EACX,WAAW,EACX,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACjC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC;QAEV,oBAAoB,EAAE,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChE,oBAAoB,EAAE,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC3F,oBAAoB,EAAE,sBAAsB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,qBAAqB,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACvE,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QAC3E,oBAAoB,EAAE,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE/D,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B;;;WAGG;QACH,IAAI,aAAa,GAA0C,IAAI,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvD,MAAM,kBAAkB,GACtB,IAAI,CAAC,2BAA2B;gBAChC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;oBACxD,aAAa,EAAE,eAAe;oBAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;iBACnD,CAAC,CAAC;YACL,aAAa,GAAG,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,kBAAkB,EAAC,CAAC;YAC1E,IAAI,CAAC,2BAA2B,GAAG,kBAAkB,CAAC;QACxD,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAChC,iBAAiB;YACjB,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK;YACvD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO;YACxD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;YACtD,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO;YACvD,WAAW;SACZ,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAmB;QACjC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC;IAChF,CAAC;IAED,yBAAyB,CAAC,QAAc,EAAE,MAAY,EAAE,IAAgB;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzG,CAAC;IAED,wFAAwF;IACxF,QAAQ;QACN,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,0DAA0D;IAC1D,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,qCAAqC;IACrC,WAAW;QACT,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC1C,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;IAC3C,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CACL,KAAkB,EAClB,KAAuB,EACvB,aAAqB,EACrB,WAAiB,EACjB,eAAqC,EACrC,sBAA8C;QAE9C,MAAM,EAAC,UAAU,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;QACjC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,mFAAmF;QACnF,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,CAAC;YAC7C,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC;YACzE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,uBAAuB;QACvB,EAAE;QACF,0EAA0E;QAC1E,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,WAAW;oBAClC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;oBACrC,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2FAA2F;QAC3F,iBAAiB;QACjB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACtF,IAAI,IAAI,IAAI,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,cAAc;oBACrC,aAAa;oBACb,SAAS,EAAE,IAAI;iBAChB;aACF,CAAC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzE,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QAC1D,IAAI,iBAAiB,CAAC,SAAS,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,aAAa;gBACvC,GAAG,EAAE;oBACH,IAAI,EAAE,gBAAgB,CAAC,wBAAwB;oBAC/C,aAAa,EAAE,gBAAgB,CAAC,OAAO;oBACvC,aAAa,EAAE,iBAAiB,CAAC,SAAS;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,4FAA4F;QAC5F,4FAA4F;QAC5F,kCAAkC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI;YACjC,QAAQ;YACR,oCAAoC;YACpC,IAAI,CAAC,iBAAiB,KAAK,IAAI;YAC/B,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5E,4FAA4F;QAC5F,2CAA2C;QAC3C,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAEvF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAClF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC;QAEtD,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE5C,iGAAiG;QACjG,uFAAuF;QACvF,mFAAmF;QACnF,sBAAsB;QACtB,EAAE;QACF,sEAAsE;QACtE,oGAAoG;QACpG,yGAAyG;QACzG,EAAE;QACF,uEAAuE;QACvE,oFAAoF;QACpF,wBAAwB;QACxB,IAAI,6BAAgD,CAAC;QACrD,IAAI,6BAAgD,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC;YACjC,IACE,WAAW,CAAC,wBAAwB,KAAK,UAAU;gBACnD,WAAW,CAAC,wBAAwB,GAAG,CAAC,IAAI,UAAU,EACtD,CAAC;gBACD,iFAAiF;gBACjF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;gBACF,6BAA6B,GAAG;oBAC9B,KAAK,EAAE,WAAW,CAAC,wBAAwB;oBAC3C,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC;oBAClD,OAAO,EAAE,WAAW,CAAC,uBAAuB;iBAC7C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,UAAU,GAAG,KAAK,CAAC,4BAA4B,EAAE,CAAC;gBACxD,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;gBACpF,6BAA6B,GAAG,mBAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;aAAM,CAAC;YACN,6BAA6B,GAAG,mBAAmB,CAAC;YACpD,6BAA6B,GAAG,mBAAmB,CAAC;QACtD,CAAC;QAED,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE1F,2FAA2F;QAC3F,4EAA4E;QAC5E,MAAM,UAAU,GAAe;YAC7B,IAAI,EAAE,IAAI;YACV,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,aAAa;YACzB,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC;YACjC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;YACrC,UAAU,EAAE,QAAQ;YAEpB,cAAc,EAAE,mBAAmB;YACnC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAC/D,cAAc,EAAE,mBAAmB,CAAC,KAAK;YACzC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;YACxD,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAC9D,wBAAwB,EAAE,6BAA6B,CAAC,KAAK;YAC7D,uBAAuB,EAAE,6BAA6B,CAAC,OAAO;YAE9D,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;oBACJ,mFAAmF;oBACnF,sFAAsF;oBACtF,0FAA0F;oBAC1F,gDAAgD;oBAChD,4DAA4D;oBAC5D,MAAM,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAEvG,8EAA8E;oBAC9E,2EAA2E;oBAC3E,wDAAwD;oBACxD,gFAAgF;oBAChF,mFAAmF;oBACnF,MAAM,UAAU,GACd,WAAW,CAAC,yBAAyB,KAAK,IAAI;wBAC5C,CAAC,CAAC,EAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAC;wBAC1B,CAAC,CAAC,EAAC,MAAM,EAAE,WAAW,CAAC,sBAAsB,EAAE,QAAQ,EAAE,WAAW,CAAC,wBAAwB,EAAC,CAAC;oBAEnG,OAAO;wBACL,yBAAyB,EAAE,sBAAsB;wBACjD,sBAAsB,EAAE,UAAU,CAAC,MAAM;wBACzC,wBAAwB,EAAE,UAAU,CAAC,QAAQ;wBAC7C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB,CAAC;gBACJ,CAAC,CAAC,EAAE;gBACN,CAAC,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC;oBAClC,oBAAoB,CAAC,KAAK,CAAC;oBAC3B,KAAK,CAAC,oBAAoB;oBAC1B,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC;oBACjC,CAAC,CAAC;wBACE,yBAAyB,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;wBAC3E,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW;wBAC/D,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ;wBAC9D,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC;wBAC7D,sBAAsB;qBACvB;oBACH,CAAC,CAAC;wBACE,yBAAyB,EAAE,IAAI;wBAC/B,eAAe,EAAE,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC;wBAC5D,sBAAsB,EAAE,IAAI,CAAC,qBAAqB,CAAC,sBAAsB,CAAC;qBAC3E,CAAC;YAER,aAAa,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACrF,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAEpE,IAAI,oBAAoB,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACxC,CAAC;QAED,2FAA2F;QAC3F,mDAAmD;QACnD,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,mBAAmB,EAAE,GAAG,EAAE,CACpE,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,mBAAmB,EAAE,KAAK,CAAC,CACjE,CAAC;QAEF,0FAA0F;QAC1F,IAAI,CAAC,2BAA2B,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CAClG,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QAEF,mGAAmG;QACnG,IAAI,UAAU,GAAG,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,6BAA6B,EAAE,GAAG,EAAE,CACxF,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,WAA+B,EAAE,WAAmB,EAAE,WAAqB;QACvF,4CAA4C;QAC5C,EAAE;QACF,wFAAwF;QACxF,gFAAgF;QAChF,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,6DAA6D;QAC7D,gDAAgD;QAChD,EAAE;QACF,yFAAyF;QACzF,2FAA2F;QAC3F,iDAAiD;QACjD,MAAM,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;QACzC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAC,GAAG,eAAe,CAAC;QAChD,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAEnG,mDAAmD;QACnD,EAAE;QACF,2DAA2D;QAC3D,cAAc;QACd,uFAAuF;QACvF,oBAAoB;QACpB,EAAE;QACF,0HAA0H;QAC1H,IAAI,aAA4B,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,mFAAmF;YACnF,4EAA4E;YAC5E,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;gBACtB,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAChC,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;gBACrC,CAAC;qBAAM,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBACvC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC;gBACtC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;4BAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;yBAC7B;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,aAAa,CAAC,OAAO,CAAC;YACxC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,EAAE;YACF,MAAM;YACN,oEAAoE;YACpE,0EAA0E;YAC1E,MAAM;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACzD,KAAK,MAAM,cAAc,IAAI,WAAW,CAAC,gBAAgB,EAAE,CAAC;gBAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;oBAC1D,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,gBAAkC;QACnD,qFAAqF;QACrF,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;QAC1E,KAAK,MAAM,cAAc,IAAI,mBAAmB,EAAE,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CACf,SAAkB,EAClB,IAAU,EACV,UAAoB,EACpB,cAAuB,EACvB,iBAA0B;QAE1B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;IACpG,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAChB,SAAkB,EAClB,yBAAkC,EAClC,sBAA8B,EAC9B,wBAAgC,EAChC,eAAuC,EACvC,sBAA8C;QAE9C,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAChC,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,WAAW,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,IAAI,CAAC,iBAAiB,EACtB,eAAe,EACf,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,WAAiB;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,WAAW;YAAE,OAAO;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;YAC9C,sGAAsG;YACtG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,8BAA8B,GAAG,CAAC,CAAC;YACxC,wFAAwF;YACxF,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;IAClC,CAAC;IAED,uFAAuF;IACvF,QAAQ,CAAC,SAAe;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,+FAA+F;IAC/F,QAAQ,CAAC,SAAe,EAAE,aAA4B;QACpD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAED,qBAAqB,CAAC,SAAe;QACnC,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,SAAkB;QAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAAe;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,SAAkB;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,SAAe;QAC9B,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,SAAkB;QACpC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,WAAW,CAAC,YAAqB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,gBAAgB,CAAC,YAAqB;QAKpC,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,yBAAyB,CAAC,YAAqB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,+BAA+B,CAAC,YAAqB;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC,+BAA+B,CAAC,YAAY,CAAC,CAAC;IACvE,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC;IACrD,CAAC;IAED,gCAAgC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,SAAkB,EAAE,aAA4B;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,GAAG,IAAI;SACR,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,wBAAwB,CAAC,SAAkB;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,SAAkB;QAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED,iBAAiB;QACf,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iBAAiB;QACf,MAAM,EAAC,OAAO,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,0BAA0B;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;QAC9D,OAAO,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CACV,YAAqB,EACrB,qBAAoC,EACpC,cAAuB,EACvB,uBAAsC;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;IACpH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAsB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAEhD,IAAI,YAAY,KAAK,eAAe,EAAE,CAAC;gBACrC,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC/C,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAE1C,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;gBAClC,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;oBAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;gBAC5C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,SAAS,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,SAAkB,EAAE,aAA4B;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,SAAkB,EAAE,aAA4B;QACnE,OAAO,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,SAAkB,EAAE,aAA4B;QACtE,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;;OAMG;IACH,kCAAkC,CAChC,SAAkB,EAClB,aAA4B;QAE5B,OAAO,IAAI,CAAC,UAAU,CAAC,iCAAiC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACrF,CAAC;IAED;;OAEG;IACH,+CAA+C,CAAC,SAAkB;QAIhE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3E,CAAC;IAED,uBAAuB,CAAC,SAAe;QACrC,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;gBACrC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,IAAU;QAChC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACxB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+BAA+B,CAAC,IAAU;QACxC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACvG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sGAAsG;IACtG,4BAA4B;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,CAAC,yBAAyB,CAAC,SAAkB,EAAE,aAA4B;QACzE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzF,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,IAAI,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,sCAAsC,CAAC,SAAkB;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACnE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,yBAAyB;gBACnD,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,sGAAsG;IACtG,6BAA6B,CAAC,UAAmB;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAChF,CAAC;IAED,sGAAsG;IACtG,uBAAuB,CAAC,IAAU;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,MAAM,YAAY,GAAiB,EAAE,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,mGAAmG;IACnG,sBAAsB,CAAC,SAAqB,EAAE,QAAoB;QAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,YAAY,EAAC,CAAC;QAC7C,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5E,oEAAoE;QACpE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,iBAAiB,EAAC,CAAC;QAClD,CAAC;QAED,qFAAqF;QACrF,IAAI,cAAc,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,IAAI,cAAc,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YACtG,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAC,CAAC;QAC3C,CAAC;QAED,OAAO,EAAC,IAAI,EAAE,cAAc,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,IAAI,EAAC,CAAC;IACnH,CAAC;IAED;;;;;;;OAOG;IACH,kBAAkB,CAAC,YAA6B;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,eAAe,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC,8BAA8B,EAAE,CAAC;gBACvG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,KAAiB,EAAE,eAAgC;QAClE,8EAA8E;QAC9E,+FAA+F;QAC/F,8FAA8F;QAC9F,kFAAkF;QAElF,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,eAAe,CAAC,GAAG,eAAe,GAAG,eAAe,CAAC;QAEnG,qEAAqE;QACrE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC1D,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,YAAY,CAAC,SAAS,CAAC;QAChC,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC;QACpD,OAAO,KAAK,CAAC,IAAI,IAAI,aAAa,EAAE,CAAC;YACnC,yDAAyD;YACzD,IAAI,KAAK,CAAC,IAAI,GAAG,UAAU,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YAED,2EAA2E;YAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YAED,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;YAC5F,8DAA8D;YAC9D,oGAAoG;YACpG,0FAA0F;YAC1F,yDAAyD;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,KAAK,CAAC,2CAA2C,KAAK,CAAC,IAAI,sBAAsB,eAAe,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED;;;;;;;;;OASG;IACK,gCAAgC,CAAC,WAAoB,EAAE,kBAA2B;QACxF,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,uBAAuB;QACvB,IAAI,KAAK,IAAI,kBAAkB,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,WAAW,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC;QACnG,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,SAAS,CAAC;QAC3G,4EAA4E;QAC5E,IAAI,iBAAiB,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACxE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,iBAAiB,KAAK,kBAAkB,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,SAAkB;QACnC,kGAAkG;QAClG,sFAAsF;QACtF,uFAAuF;QACvF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,yGAAyG;YACzG,MAAM,IAAI,eAAe,CAAC,EAAC,IAAI,EAAE,mBAAmB,CAAC,yBAAyB,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;QACpG,CAAC;QAED,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAC/E,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B;SAC1D,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC;QACtC,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEvC,MAAM,EAAC,mBAAmB,EAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QAC3C,gGAAgG;QAChG,iFAAiF;QACjF,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAC,CAAC,CAAC;YACpE,+DAA+D;YAC/D,yDAAyD;YACzD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,kBAAkB;oBAC5C,KAAK,EAAE,IAAI,KAAK,CAAC,2CAA2C,SAAS,cAAc,IAAI,CAAC,SAAS,EAAE,CAAC;iBACrG,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACjF,KAAK,MAAM,cAAc,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;oBACxE,IAAI,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;wBAC5C,qEAAqE;wBACrE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;wBAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;4BACb,yFAAyF;4BACzF,yEAAyE;4BACzE,OAAO,GAAG,KAAK,CAAC,0BAA0B,CAAC,cAAc,CAAC,CAAC;wBAC7D,CAAC;wBACD,UAAU,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,kCAAkC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,GAAG,cAAc,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,UAAmB;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC9D,8CAA8C;QAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE;YAChF,aAAa,EAAE,eAAe;YAC9B,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,6BAA6B;SAC5D,CAAC,CAAC;QAEH,qGAAqG;QACrG,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/G,OAAO,YAAY,GAAG,eAAe,CAAC;IACxC,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,KAAkB,EAAE,aAAqB;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,uBAAuB,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,IAAI,IAAI,uBAAuB,CAAC;IAC5E,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,WAAmB,EAAE,IAAU;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACvE,OAAO,WAAW,GAAG,IAAI,IAAI,mBAAmB,CAAC;IACnD,CAAC;IAEO,qBAAqB,CAAC,eAAqC;QACjE,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CAAC,iDAAiD,eAAe,CAAC,QAAQ,SAAS,eAAe,EAAE,CAAC,CAAC;QACnH,OAAO,eAAe,CAAC;IACzB,CAAC;IAEO,qBAAqB,CAAC,sBAA8C;QAC1E,IAAI,sBAAsB,KAAK,sBAAsB,CAAC,OAAO;YAC3D,MAAM,KAAK,CACT,4CAA4C,sBAAsB,CAAC,OAAO,SAAS,sBAAsB,EAAE,CAC5G,CAAC;QACJ,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAEO,sBAAsB,CAC5B,eAAqC;QAErC,IAAI,eAAe,KAAK,eAAe,CAAC,QAAQ;YAC9C,MAAM,KAAK,CACT,kDAAkD,eAAe,CAAC,OAAO,OAAO,eAAe,CAAC,KAAK,SAAS,eAAe,EAAE,CAChI,CAAC;QACJ,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACK,iBAAiB,CACvB,mBAAsC,EACtC,mBAAsC,EACtC,oBAA6C;QAE7C,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,EAAC,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAC,CAAC;YAC7F,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;QAED,+BAA+B;QAC/B,IAAI,mBAAmB,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YACvD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,2BAA2B,CACjC,6BAAgD,EAChD,6BAAgD,EAChD,oBAA6C;QAE7C,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG;gBACjC,UAAU,EAAE,6BAA6B;gBACzC,QAAQ,EAAE,oBAAoB,EAAE;aACjC,CAAC;QACJ,CAAC;QACD,IAAI,6BAA6B,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,KAAK,EAAE,CAAC;YAC3F,IAAI,CAAC,OAAO,CAAC,6BAA6B,GAAG,6BAA6B,CAAC;QAC7E,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,kBAAsC,EACtC,IAAU,EACV,YAAoB,EACpB,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB;QAErB,gFAAgF;QAChF,kBAAkB;QAClB,EAAE;QACF,wFAAwF;QACxF,kFAAkF;QAClF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,0BAA0B;iBACxD;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAEO,uBAAuB,CAC7B,eAAuC,EACvC,IAAU,EACV,kBAA0B,EAC1B,WAAkB,EAClB,WAAmB;IACnB,qEAAqE;IACrE,WAAqB;QAErB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAE7D,0DAA0D;QAC1D,IAAI,WAAW,GAAG,QAAQ,EAAE,CAAC;YAC3B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,YAAY;oBACzC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,GAAG,CAAC,GAAG,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,UAAU;oBACvC,gBAAgB,EAAE,WAAW;oBAC7B,YAAY,EAAE,QAAQ;iBACvB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,gBAAgB;oBAC7C,MAAM,EAAE,WAAW;oBACnB,IAAI;iBACL;aACF,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,EAAE;QACF,qFAAqF;QACrF,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,mBAAmB;oBAChD,IAAI,EAAE,aAAa;iBACpB;aACF,CAAC,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,EAAE;QACF,2FAA2F;QAC3F,iFAAiF;QACjF,2FAA2F;QAC3F,EAAE;QACF,sFAAsF;QACtF,wDAAwD;QACxD,iEAAiE;QACjE,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;oBAC/C,eAAe,EAAE,kBAAkB;iBACpC;aACF,CAAC,CAAC;QACL,CAAC;QAED,yFAAyF;QACzF,2FAA2F;QAC3F,2FAA2F;QAC3F,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAE/G,IAAI,iBAAiB,KAAK,aAAa,EAAE,CAAC;YACxC,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,cAAc;oBAC3C,WAAW,EAAE,aAAa;oBAC1B,KAAK,EAAE,iBAAiB;iBACzB;aACF,CAAC,CAAC;QACL,CAAC;QAED,0FAA0F;QAC1F,4BAA4B;QAC5B,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;gBAC7C,GAAG,EAAE;oBACH,IAAI,EAAE,sBAAsB,CAAC,uBAAuB;oBACpD,KAAK,EAAE,KAAK,CAAC,IAAI;oBACjB,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,qDAAqD;YACrD,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,+DAA+D;YAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,eAAe,CAAC;oBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;oBAC7C,GAAG,EAAE;wBACH,IAAI,EAAE,sBAAsB,CAAC,kBAAkB;wBAC/C,KAAK,EAAE,eAAe,CAAC,KAAK;qBAC7B;iBACF,CAAC,CAAC;YACL,CAAC;YAED,0DAA0D;YAC1D,IAAI,eAAe,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,kBAAkB,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC1G,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBAChC,MAAM,IAAI,eAAe,CAAC;wBACxB,IAAI,EAAE,mBAAmB,CAAC,mBAAmB;wBAC7C,GAAG,EAAE;4BACH,IAAI,EAAE,sBAAsB,CAAC,sBAAsB;4BACnD,eAAe,EAAE,kBAAkB;yBACpC;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;;;;OAUG;IACK,gBAAgB,CACtB,cAA8B,EAC9B,QAAc,EACd,QAAiB,EACjB,iBAAgC;QAEhC,+DAA+D;QAC/D,yCAAyC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAC3F,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,QAAQ,uBAAuB,iBAAiB,EAAE,CAAC,CAAC;QACjH,CAAC;QAED,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC;gBACvC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;YACzE,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,gBAAgB,KAAK,cAAc,IAAI,kBAAkB,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/G,6DAA6D;YAC7D,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC;QAChD,CAAC;QACD,uCAAuC;IACzC,CAAC;IAED;;;OAGG;IACK,uBAAuB;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;gBACvB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACrC,KAAK,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;oBAC3D,MAAM,YAAY,GAAG,SAAS,CAAC;oBAC/B,KAAK,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;wBACvE,mDAAmD;wBACnD,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;oBAC3E,CAAC;oBAED,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,8BAA8B,IAAI,cAAc,CAAC,IAAI,CAAC;oBAC7D,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,IAAU;QACvB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAE9C,IAAI,IAAI,GAAG,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CAAC;gBACxB,IAAI,EAAE,mBAAmB,CAAC,oBAAoB;gBAC9C,YAAY;gBACZ,IAAI;aACL,CAAC,CAAC;QACL,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChC,8CAA8C;QAC9C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,wGAAwG;YACxG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,iBAAiB,CACpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAC3C,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAC1C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAChD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,0BAA0B,CAChC,SAAqB,EACrB,WAAuB,EACvB,IAAU;QAEV,IAAI,kBAAkB,GAAG,SAAS,CAAC;QACnC,mCAAmC;QACnC,0GAA0G;QAC1G,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,eAAe,KAAK,CAAC,CAAC;QACxG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kBAAkB,EAAC,CAAC;QAC3F,CAAC;QAED,gEAAgE;QAChE,gHAAgH;QAChH,MAAM,EAAC,wBAAwB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,eAAe,EAAC,GAAG,SAAS,CAAC;QACzG,MAAM,EAAC,wBAAwB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAC,GAAG,WAAW,CAAC;QAC/G,MAAM,gBAAgB,GAAG,gBAAgB,KAAK,kBAAkB,IAAI,eAAe,KAAK,iBAAiB,CAAC;QAC1G,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB,EAAC,CAAC;QAC1F,CAAC;QAED,iFAAiF;QACjF,gHAAgH;QAChH,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,KAAK,CAAC;QAC/F,MAAM,gBAAgB,GAAG,uBAAuB,IAAI,IAAI,CAAC,MAAM,CAAC,mCAAmC,CAAC;QACpG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,mBAAmB,EAAC,CAAC;QAC5F,CAAC;QAED,uDAAuD;QACvD,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC;QAC7D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,kCAAkC,EAAC,CAAC;QAC3G,CAAC;QAED,kBAAkB,GAAG,WAAW,CAAC;QAEjC,OAAO,EAAC,kBAAkB,EAAC,CAAC;IAC9B,CAAC;IAEO,mBAAmB;QACzB,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACvD,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAC7D,IAAI,CAAC,oBAAoB,IAAI,CAAC,uBAAuB;YAAE,OAAO;QAE9D,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAChC,oEAAoE;YACpE,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACtE,IAAI,CAAC;gBACH,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,qFAAqF;gBACrF,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,iCAAiC,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,EAAE,GAAY,CAAC,CAAC;YACxG,CAAC;YACD,OAAO;QACT,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE;YACnF,IAAI,CAAC;gBACH,oBAAoB,CAClB,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;oBACtD,IAAI,EAAE,qBAAqB,CAAC,UAAU;iBACvC,CAAC,EACF,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CACxB,CAAC;gBAEF,MAAM,MAAM,GAAG,oBAAoB,CAAC,uCAAuC,CAAC,uBAAuB,CAAC,CAAC;gBACrG,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;gBAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,0BAA0B,EAC1B,EAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,EAAC,EACtG,GAAY,CACb,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,6BAA6B;QACnC,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,gCAAgC,CAAC;QACpF,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO;YACL,MAAM,EAAE;gBACN,gCAAgC,EAAE,8BAA8B;gBAChE,oBAAoB,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB;aACvD;YACD,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW;YAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACxB,QAAQ,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC;YAChE,WAAW,EAAE,CAAC,IAAa,EAAE,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,SAAS;YAClF,YAAY,EAAE,CAAC,QAAiB,EAAE,UAAmB,EAAE,EAAE;gBACvD,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;gBACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBACvE,IAAI,cAAc,KAAK,SAAS,IAAI,gBAAgB,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBACjF,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACnF,CAAC;YACD,gBAAgB,EAAE,CAAC,cAA8B,EAAE,EAAE;gBACnD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACvD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,eAAe,EAAE,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvB,OAAO,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,EAAC,CAAC;YAC/F,CAAC;YACD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU;gBACvD,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ;aACpD,CAAC;YACF,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9D,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB;YAC9D,oBAAoB,EAAE,GAAG,EAAE;gBACzB,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,eAAe,EAAE,CAAC;wBAChD,KAAK,EAAE,CAAC;oBACV,CAAC;gBACH,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AAED,mHAAmH;AACnH,sFAAsF;AACtF,SAAS,oBAAoB,CAC3B,sCAA8C,EAC9C,MAAyD;IAEzD,MAAM,mBAAmB,GACvB,CAAC,MAAM,CAAC,sCAAsC,CAAC,GAAG,kCAAkC,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/B,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,IAAI,CAAC;AACxE,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { ForkChoiceError, ForkChoiceErrorCode, type InvalidAttestation, InvalidAttestationCode, type InvalidBlock, InvalidBlockCode, } from "./forkChoice/errors.js";
|
|
2
2
|
export { type FastConfirmationBalanceSource, type FastConfirmationContext, type FastConfirmationMetrics, type FastConfirmationResult, FastConfirmationRule, type ForkChoiceStateGetter, type IFastConfirmationRule, type IFastConfirmationStore, getFastConfirmationMetrics, } from "./forkChoice/fastConfirmation/fastConfirmationRule.js";
|
|
3
|
-
export { ForkChoice, type ForkChoiceOpts, UpdateHeadOpt
|
|
3
|
+
export { ForkChoice, type ForkChoiceOpts, UpdateHeadOpt } from "./forkChoice/forkChoice.js";
|
|
4
4
|
export { type AncestorResult, AncestorStatus, type CheckpointWithBalance, type CheckpointWithTotalBalance, EpochDifference, type IForkChoice, NotReorgedReason, } from "./forkChoice/interface.js";
|
|
5
5
|
export * from "./forkChoice/safeBlocks.js";
|
|
6
6
|
export { type CheckpointWithHex, ForkChoiceStore, type IForkChoiceStore, type JustifiedBalancesGetter, } from "./forkChoice/store.js";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,KAAK,YAAY,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAE,KAAK,cAAc,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,KAAK,YAAY,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAE,KAAK,cAAc,EAAE,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EACL,KAAK,cAAc,EACnB,cAAc,EACd,KAAK,qBAAqB,EAC1B,KAAK,0BAA0B,EAC/B,eAAe,EACf,KAAK,WAAW,EAChB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,GAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAC1E,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { ForkChoiceError, ForkChoiceErrorCode, InvalidAttestationCode, InvalidBlockCode, } from "./forkChoice/errors.js";
|
|
2
2
|
export { FastConfirmationRule, getFastConfirmationMetrics, } from "./forkChoice/fastConfirmation/fastConfirmationRule.js";
|
|
3
|
-
export { ForkChoice, UpdateHeadOpt
|
|
3
|
+
export { ForkChoice, UpdateHeadOpt } from "./forkChoice/forkChoice.js";
|
|
4
4
|
export { AncestorStatus, EpochDifference, NotReorgedReason, } from "./forkChoice/interface.js";
|
|
5
5
|
export * from "./forkChoice/safeBlocks.js";
|
|
6
6
|
export { ForkChoiceStore, } from "./forkChoice/store.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EAEnB,sBAAsB,EAEtB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,oBAAoB,EAIpB,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAuB,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EAEnB,sBAAsB,EAEtB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,oBAAoB,EAIpB,0BAA0B,GAC3B,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAuB,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAEL,cAAc,EAGd,eAAe,EAEf,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAEL,eAAe,GAGhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAyB,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAU1E,OAAO,EAAC,eAAe,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAC,UAAU,EAAC,MAAM,4BAA4B,CAAC"}
|
|
@@ -122,13 +122,13 @@ export type ProtoBlock = BlockExtraMeta & {
|
|
|
122
122
|
*/
|
|
123
123
|
export type ProtoNode = ProtoBlock & {
|
|
124
124
|
parent?: number;
|
|
125
|
-
/** Total weight, ie. attestationScore plus the proposer boost credited to this node */
|
|
126
|
-
weight:
|
|
125
|
+
/** Total weight in Gwei, ie. attestationScore plus the proposer boost credited to this node */
|
|
126
|
+
weight: bigint;
|
|
127
127
|
/**
|
|
128
|
-
* Weight from attester votes only, excluding proposer boost.
|
|
128
|
+
* Weight in Gwei from attester votes only, excluding proposer boost.
|
|
129
129
|
* Spec: get_attestation_score
|
|
130
130
|
*/
|
|
131
|
-
attestationScore:
|
|
131
|
+
attestationScore: bigint;
|
|
132
132
|
bestChild?: number;
|
|
133
133
|
bestDescendant?: number;
|
|
134
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,sBAAsB,EAAC,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAIhE,eAAO,MAAM,aAAa,uEAAuE,CAAC;AAElG;;;;GAIG;AACH,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED;;;GAGG;AACH,oBAAY,aAAa;IACvB,OAAO,IAAI;IACX,KAAK,IAAI;IACT,IAAI,IAAI;CACT;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,IAAI,UAAU,GAAG;IAAC,eAAe,EAAE,OAAO,CAAA;CAAC,CAEhG;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,eAAe,EAAE,eAAe,CAAC,KAAK,CAAC;IACvC,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC;IACzC,mBAAmB,EAAE,OAAO,GAAG,IAAI,CAAC;IACpC,6BAA6B,EAAE,OAAO,CAAC;IAGvC,6BAA6B,EAAE,OAAO,CAAC;CACxC,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC;AAErF,MAAM,MAAM,cAAc,GACtB;IAME,yBAAyB,EAAE,OAAO,CAAC;IACnC,sBAAsB,EAAE,SAAS,CAAC;IAQlC,wBAAwB,EAAE,SAAS,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACpE,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,GACD;IACE,yBAAyB,EAAE,IAAI,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC,QAAQ,CAAC;IAC1C,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC;CACxD,CAAC;AAEN;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAAG,cAAc,GAAG;IACxC;;;;OAIG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB,cAAc,EAAE,KAAK,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,KAAK,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;IACvB,wBAAwB,EAAE,KAAK,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IACjC,wBAAwB,EAAE,KAAK,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IAGjC,UAAU,EAAE,OAAO,CAAC;IAEpB,0EAA0E;IAC1E,aAAa,EAAE,aAAa,CAAC;IAI7B,eAAe,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/protoArray/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export declare function countNoVotes(attended: BitArray, yes: BitArray): number;
|
|
|
11
11
|
export declare const DEFAULT_PRUNE_THRESHOLD = 0;
|
|
12
12
|
type ProposerBoost = {
|
|
13
13
|
root: RootHex;
|
|
14
|
-
score:
|
|
14
|
+
score: bigint;
|
|
15
15
|
};
|
|
16
16
|
/** Pre-Gloas: single element, FULL index (for backward compatibility) */
|
|
17
17
|
type PreGloasVariantIndex = number;
|
|
@@ -330,11 +330,11 @@ export declare class ProtoArray {
|
|
|
330
330
|
* head.
|
|
331
331
|
*/
|
|
332
332
|
nodeIsViableForHead(node: ProtoNode, currentSlot: Slot): boolean;
|
|
333
|
-
/**
|
|
333
|
+
/** Returns exact Gwei weights for the compliance test boundary. */
|
|
334
334
|
getViableHeads(currentSlot: Slot): {
|
|
335
335
|
root: RootHex;
|
|
336
336
|
payloadStatus: PayloadStatus;
|
|
337
|
-
weight:
|
|
337
|
+
weight: bigint;
|
|
338
338
|
}[];
|
|
339
339
|
/**
|
|
340
340
|
* Return `true` if `node` is equal to or a descendant of the finalized node.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AAExC,OAAO,EAAC,sBAAsB,EAA8C,MAAM,4BAA4B,CAAC;AAC/G,OAAO,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EAAC,YAAY,EAAyD,MAAM,aAAa,CAAC;AACjG,OAAO,EAGL,eAAe,EACf,sBAAsB,EACtB,aAAa,EACb,UAAU,EACV,SAAS,EAEV,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"protoArray.d.ts","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BitArray } from "@chainsafe/ssz";
|
|
2
|
-
import { GENESIS_EPOCH, GENESIS_SLOT, PTC_SIZE } from "@lodestar/params";
|
|
2
|
+
import { EFFECTIVE_BALANCE_INCREMENT, GENESIS_EPOCH, GENESIS_SLOT, PTC_SIZE } from "@lodestar/params";
|
|
3
3
|
import { computeEpochAtSlot, computeStartSlotAtEpoch } from "@lodestar/state-transition";
|
|
4
4
|
import { bitCount, toRootHex } from "@lodestar/utils";
|
|
5
5
|
import { ForkChoiceError, ForkChoiceErrorCode } from "../forkChoice/errors.js";
|
|
@@ -20,6 +20,7 @@ const DATA_AVAILABILITY_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
|
|
|
20
20
|
* Reuse the array to avoid memory reallocation and gc, as computeDeltas does for attestation deltas.
|
|
21
21
|
*/
|
|
22
22
|
const boostDeltas = new Array();
|
|
23
|
+
const EFFECTIVE_BALANCE_INCREMENT_BIGINT = BigInt(EFFECTIVE_BALANCE_INCREMENT);
|
|
23
24
|
/**
|
|
24
25
|
* popcount(attended AND NOT yes) — explicit False-vote count.
|
|
25
26
|
* Excludes PTC members who didn't attest (the None state).
|
|
@@ -291,7 +292,7 @@ export class ProtoArray {
|
|
|
291
292
|
});
|
|
292
293
|
}
|
|
293
294
|
boostDeltas.length = this.nodes.length;
|
|
294
|
-
boostDeltas.fill(
|
|
295
|
+
boostDeltas.fill(0n);
|
|
295
296
|
if (justifiedEpoch !== this.justifiedEpoch ||
|
|
296
297
|
finalizedEpoch !== this.finalizedEpoch ||
|
|
297
298
|
justifiedRoot !== this.justifiedRoot ||
|
|
@@ -321,23 +322,26 @@ export class ProtoArray {
|
|
|
321
322
|
// double-counting the boost across variants during delta back-propagation, and to keep
|
|
322
323
|
// the boost neutral with respect to EMPTY vs FULL selection.
|
|
323
324
|
const isBoostVariant = isGloasBlock(node) ? node.payloadStatus === PayloadStatus.PENDING : true; // pre-Gloas has only FULL, always boost
|
|
324
|
-
const currentBoost = proposerBoost && proposerBoost.root === node.blockRoot && isBoostVariant ? proposerBoost.score :
|
|
325
|
+
const currentBoost = proposerBoost && proposerBoost.root === node.blockRoot && isBoostVariant ? proposerBoost.score : 0n;
|
|
325
326
|
const previousBoost = this.previousProposerBoost && this.previousProposerBoost.root === node.blockRoot && isBoostVariant
|
|
326
327
|
? this.previousProposerBoost.score
|
|
327
|
-
:
|
|
328
|
+
: 0n;
|
|
328
329
|
// If this node's execution status has been marked invalid, then the weight of the node
|
|
329
330
|
// needs to be taken out of consideration after which the node weight will become 0
|
|
330
331
|
// for subsequent iterations of applyScoreChanges
|
|
331
332
|
const isInvalid = node.executionStatus === ExecutionStatus.Invalid;
|
|
332
|
-
const attestationDelta = isInvalid
|
|
333
|
+
const attestationDelta = isInvalid
|
|
334
|
+
? -Number(node.attestationScore / EFFECTIVE_BALANCE_INCREMENT_BIGINT)
|
|
335
|
+
: attestationDeltas[nodeIndex];
|
|
336
|
+
const attestationDeltaGwei = BigInt(attestationDelta) * EFFECTIVE_BALANCE_INCREMENT_BIGINT;
|
|
333
337
|
const boostDelta = isInvalid
|
|
334
338
|
? // old boost = weight - attestationScore
|
|
335
339
|
-(node.weight - node.attestationScore)
|
|
336
340
|
: boostDeltas[nodeIndex] + currentBoost - previousBoost;
|
|
337
341
|
// Apply the deltas to the node. Their sum is the node's total delta, so weight is unaffected
|
|
338
342
|
// by tracking the two scores apart.
|
|
339
|
-
node.attestationScore +=
|
|
340
|
-
node.weight +=
|
|
343
|
+
node.attestationScore += attestationDeltaGwei;
|
|
344
|
+
node.weight += attestationDeltaGwei + boostDelta;
|
|
341
345
|
// Update the parent deltas (if any)
|
|
342
346
|
const parentIndex = node.parent;
|
|
343
347
|
if (parentIndex !== undefined) {
|
|
@@ -420,8 +424,8 @@ export class ProtoArray {
|
|
|
420
424
|
...block,
|
|
421
425
|
parent: parentIndex, // Points to parent's EMPTY/FULL or FULL (for transition)
|
|
422
426
|
payloadStatus: PayloadStatus.PENDING,
|
|
423
|
-
weight:
|
|
424
|
-
attestationScore:
|
|
427
|
+
weight: 0n,
|
|
428
|
+
attestationScore: 0n,
|
|
425
429
|
bestChild: undefined,
|
|
426
430
|
bestDescendant: undefined,
|
|
427
431
|
};
|
|
@@ -432,8 +436,8 @@ export class ProtoArray {
|
|
|
432
436
|
...block,
|
|
433
437
|
parent: pendingIndex, // Points to own PENDING
|
|
434
438
|
payloadStatus: PayloadStatus.EMPTY,
|
|
435
|
-
weight:
|
|
436
|
-
attestationScore:
|
|
439
|
+
weight: 0n,
|
|
440
|
+
attestationScore: 0n,
|
|
437
441
|
bestChild: undefined,
|
|
438
442
|
bestDescendant: undefined,
|
|
439
443
|
};
|
|
@@ -463,8 +467,8 @@ export class ProtoArray {
|
|
|
463
467
|
...block,
|
|
464
468
|
parent: this.getNodeIndexByRootAndStatus(block.parentRoot, PayloadStatus.FULL),
|
|
465
469
|
payloadStatus: PayloadStatus.FULL,
|
|
466
|
-
weight:
|
|
467
|
-
attestationScore:
|
|
470
|
+
weight: 0n,
|
|
471
|
+
attestationScore: 0n,
|
|
468
472
|
bestChild: undefined,
|
|
469
473
|
bestDescendant: undefined,
|
|
470
474
|
};
|
|
@@ -530,8 +534,8 @@ export class ProtoArray {
|
|
|
530
534
|
...pendingNode,
|
|
531
535
|
parent: pendingIndex, // Points to own PENDING (same as EMPTY)
|
|
532
536
|
payloadStatus: PayloadStatus.FULL,
|
|
533
|
-
weight:
|
|
534
|
-
attestationScore:
|
|
537
|
+
weight: 0n,
|
|
538
|
+
attestationScore: 0n,
|
|
535
539
|
bestChild: undefined,
|
|
536
540
|
bestDescendant: undefined,
|
|
537
541
|
executionStatus,
|
|
@@ -1251,12 +1255,12 @@ export class ProtoArray {
|
|
|
1251
1255
|
childNode.payloadStatus === PayloadStatus.PENDING ||
|
|
1252
1256
|
childNode.slot + 1 !== currentSlot
|
|
1253
1257
|
? childNode.weight
|
|
1254
|
-
:
|
|
1258
|
+
: 0n;
|
|
1255
1259
|
const bestChildEffectiveWeight = !isGloasBlock(bestChildNode) ||
|
|
1256
1260
|
bestChildNode.payloadStatus === PayloadStatus.PENDING ||
|
|
1257
1261
|
bestChildNode.slot + 1 !== currentSlot
|
|
1258
1262
|
? bestChildNode.weight
|
|
1259
|
-
:
|
|
1263
|
+
: 0n;
|
|
1260
1264
|
if (childEffectiveWeight !== bestChildEffectiveWeight) {
|
|
1261
1265
|
// Different effective weights, choose the winner by weight
|
|
1262
1266
|
newChildAndDescendant = childEffectiveWeight >= bestChildEffectiveWeight ? changeToChild : noChange;
|
|
@@ -1343,7 +1347,7 @@ export class ProtoArray {
|
|
|
1343
1347
|
const correctFinalized = this.finalizedEpoch === 0 || this.isFinalizedRootOrDescendant(node);
|
|
1344
1348
|
return correctJustified && correctFinalized;
|
|
1345
1349
|
}
|
|
1346
|
-
/**
|
|
1350
|
+
/** Returns exact Gwei weights for the compliance test boundary. */
|
|
1347
1351
|
getViableHeads(currentSlot) {
|
|
1348
1352
|
// Mirror the spec's `get_filtered_block_tree`, which is rooted at the store's justified
|
|
1349
1353
|
// checkpoint: a viable head is a leaf (no viable descendant, i.e. `bestChild === undefined`)
|
|
@@ -1369,7 +1373,11 @@ export class ProtoArray {
|
|
|
1369
1373
|
continue;
|
|
1370
1374
|
}
|
|
1371
1375
|
}
|
|
1372
|
-
heads.push({
|
|
1376
|
+
heads.push({
|
|
1377
|
+
root: node.blockRoot,
|
|
1378
|
+
payloadStatus: node.payloadStatus,
|
|
1379
|
+
weight: node.weight,
|
|
1380
|
+
});
|
|
1373
1381
|
}
|
|
1374
1382
|
return heads;
|
|
1375
1383
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"protoArray.js","sourceRoot":"","sources":["../../src/protoArray/protoArray.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"bugs": {
|
|
12
12
|
"url": "https://github.com/ChainSafe/lodestar/issues"
|
|
13
13
|
},
|
|
14
|
-
"version": "1.47.0-dev.
|
|
14
|
+
"version": "1.47.0-dev.f23173a2e1",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"exports": {
|
|
17
17
|
".": {
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"check-readme": "pnpm exec tsx ../../scripts/check_readme.ts"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@chainsafe/ssz": "^1.6.
|
|
43
|
-
"@lodestar/config": "^1.47.0-dev.
|
|
44
|
-
"@lodestar/params": "^1.47.0-dev.
|
|
45
|
-
"@lodestar/state-transition": "^1.47.0-dev.
|
|
46
|
-
"@lodestar/types": "^1.47.0-dev.
|
|
47
|
-
"@lodestar/utils": "^1.47.0-dev.
|
|
42
|
+
"@chainsafe/ssz": "^1.6.3",
|
|
43
|
+
"@lodestar/config": "^1.47.0-dev.f23173a2e1",
|
|
44
|
+
"@lodestar/params": "^1.47.0-dev.f23173a2e1",
|
|
45
|
+
"@lodestar/state-transition": "^1.47.0-dev.f23173a2e1",
|
|
46
|
+
"@lodestar/types": "^1.47.0-dev.f23173a2e1",
|
|
47
|
+
"@lodestar/utils": "^1.47.0-dev.f23173a2e1"
|
|
48
48
|
},
|
|
49
49
|
"keywords": [
|
|
50
50
|
"ethereum",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"beacon",
|
|
53
53
|
"blockchain"
|
|
54
54
|
],
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "34312ff2c242e67855e3cb4b211b4be0cb539b14"
|
|
56
56
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import {ChainForkConfig} from "@lodestar/config";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
EFFECTIVE_BALANCE_INCREMENT,
|
|
4
|
+
MIN_SEED_LOOKAHEAD,
|
|
5
|
+
SLOTS_PER_EPOCH,
|
|
6
|
+
isForkPostFulu,
|
|
7
|
+
isForkPostGloas,
|
|
8
|
+
} from "@lodestar/params";
|
|
3
9
|
import {
|
|
4
10
|
DataAvailabilityStatus,
|
|
5
11
|
EffectiveBalanceIncrements,
|
|
@@ -68,6 +74,8 @@ export type ForkChoiceOpts = {
|
|
|
68
74
|
fastConfirmation?: boolean;
|
|
69
75
|
};
|
|
70
76
|
|
|
77
|
+
const EFFECTIVE_BALANCE_INCREMENT_BIGINT = BigInt(EFFECTIVE_BALANCE_INCREMENT);
|
|
78
|
+
|
|
71
79
|
export enum UpdateHeadOpt {
|
|
72
80
|
GetCanonicalHead = "getCanonicalHead", // Skip getProposerHead
|
|
73
81
|
GetProposerHead = "getProposerHead", // With getProposerHead
|
|
@@ -147,7 +155,7 @@ export class ForkChoice implements IForkChoice {
|
|
|
147
155
|
/** Boost the entire branch with this proposer root as the leaf */
|
|
148
156
|
private proposerBoostRoot: RootHex | null = null;
|
|
149
157
|
/** Score to use in proposer boost, evaluated lazily from justified balances */
|
|
150
|
-
private justifiedProposerBoostScore:
|
|
158
|
+
private justifiedProposerBoostScore: bigint | null = null;
|
|
151
159
|
/** The current effective balances */
|
|
152
160
|
private balances: EffectiveBalanceIncrements;
|
|
153
161
|
/** Optional fast confirmation rule implementation */
|
|
@@ -587,7 +595,7 @@ export class ForkChoice implements IForkChoice {
|
|
|
587
595
|
* The structure in line with deltas to propagate boost up the branch
|
|
588
596
|
* starting from the proposerIndex
|
|
589
597
|
*/
|
|
590
|
-
let proposerBoost: {root: RootHex; score:
|
|
598
|
+
let proposerBoost: {root: RootHex; score: bigint} | null = null;
|
|
591
599
|
if (this.opts?.proposerBoost && this.proposerBoostRoot) {
|
|
592
600
|
const proposerBoostScore =
|
|
593
601
|
this.justifiedProposerBoostScore ??
|
|
@@ -635,22 +643,11 @@ export class ForkChoice implements IForkChoice {
|
|
|
635
643
|
return this.protoArray.nodes.filter((node) => node.bestChild === undefined);
|
|
636
644
|
}
|
|
637
645
|
|
|
638
|
-
/**
|
|
639
|
-
|
|
640
|
-
* For compliance test use only
|
|
641
|
-
*/
|
|
642
|
-
getViableHeads(): {root: RootHex; payloadStatus: PayloadStatus; weight: number}[] {
|
|
646
|
+
/** Returns exact Gwei weights for the compliance test. */
|
|
647
|
+
getViableHeads(): {root: RootHex; payloadStatus: PayloadStatus; weight: bigint}[] {
|
|
643
648
|
return this.protoArray.getViableHeads(this.fcStore.currentSlot);
|
|
644
649
|
}
|
|
645
650
|
|
|
646
|
-
/**
|
|
647
|
-
* The cached justified total active balance, in EFFECTIVE_BALANCE_INCREMENT units.
|
|
648
|
-
* For compliance test use only
|
|
649
|
-
*/
|
|
650
|
-
getJustifiedTotalActiveBalanceByIncrement(): number {
|
|
651
|
-
return this.fcStore.justified.totalBalance;
|
|
652
|
-
}
|
|
653
|
-
|
|
654
651
|
/** This is for the debug API only */
|
|
655
652
|
getAllNodes(): ProtoNode[] {
|
|
656
653
|
return this.protoArray.nodes;
|
|
@@ -1636,7 +1633,7 @@ export class ForkChoice implements IForkChoice {
|
|
|
1636
1633
|
// the justified state) - fall back to the head state's effective balance
|
|
1637
1634
|
balance = state.effectiveBalanceIncrements[validatorIndex];
|
|
1638
1635
|
}
|
|
1639
|
-
headWeight += balance;
|
|
1636
|
+
headWeight += BigInt(balance) * EFFECTIVE_BALANCE_INCREMENT_BIGINT;
|
|
1640
1637
|
}
|
|
1641
1638
|
}
|
|
1642
1639
|
}
|
|
@@ -1666,7 +1663,6 @@ export class ForkChoice implements IForkChoice {
|
|
|
1666
1663
|
|
|
1667
1664
|
// pre-gloas uses get_weight() (boost-inclusive), gloas uses get_attestation_score() (boost-excluded)
|
|
1668
1665
|
const parentWeight = isForkPostGloas(this.config.getForkName(node.slot)) ? node.attestationScore : node.weight;
|
|
1669
|
-
|
|
1670
1666
|
return parentWeight > parentThreshold;
|
|
1671
1667
|
}
|
|
1672
1668
|
|
|
@@ -2207,12 +2203,14 @@ export class ForkChoice implements IForkChoice {
|
|
|
2207
2203
|
}
|
|
2208
2204
|
}
|
|
2209
2205
|
|
|
2210
|
-
//
|
|
2206
|
+
// https://github.com/ethereum/consensus-specs/blob/v1.6.1/specs/phase0/fork-choice.md#calculate_committee_fraction
|
|
2211
2207
|
// Calculates proposer boost score when committeePercent = config.PROPOSER_SCORE_BOOST
|
|
2212
|
-
|
|
2208
|
+
function getCommitteeFraction(
|
|
2213
2209
|
justifiedTotalActiveBalanceByIncrement: number,
|
|
2214
2210
|
config: {slotsPerEpoch: number; committeePercent: number}
|
|
2215
|
-
):
|
|
2216
|
-
const
|
|
2217
|
-
|
|
2211
|
+
): bigint {
|
|
2212
|
+
const committeeWeightGwei =
|
|
2213
|
+
(BigInt(justifiedTotalActiveBalanceByIncrement) * EFFECTIVE_BALANCE_INCREMENT_BIGINT) /
|
|
2214
|
+
BigInt(config.slotsPerEpoch);
|
|
2215
|
+
return (committeeWeightGwei * BigInt(config.committeePercent)) / 100n;
|
|
2218
2216
|
}
|
package/src/index.ts
CHANGED
|
@@ -17,7 +17,7 @@ export {
|
|
|
17
17
|
type IFastConfirmationStore,
|
|
18
18
|
getFastConfirmationMetrics,
|
|
19
19
|
} from "./forkChoice/fastConfirmation/fastConfirmationRule.js";
|
|
20
|
-
export {ForkChoice, type ForkChoiceOpts, UpdateHeadOpt
|
|
20
|
+
export {ForkChoice, type ForkChoiceOpts, UpdateHeadOpt} from "./forkChoice/forkChoice.js";
|
|
21
21
|
export {
|
|
22
22
|
type AncestorResult,
|
|
23
23
|
AncestorStatus,
|
|
@@ -160,13 +160,13 @@ export type ProtoBlock = BlockExtraMeta & {
|
|
|
160
160
|
*/
|
|
161
161
|
export type ProtoNode = ProtoBlock & {
|
|
162
162
|
parent?: number;
|
|
163
|
-
/** Total weight, ie. attestationScore plus the proposer boost credited to this node */
|
|
164
|
-
weight:
|
|
163
|
+
/** Total weight in Gwei, ie. attestationScore plus the proposer boost credited to this node */
|
|
164
|
+
weight: bigint;
|
|
165
165
|
/**
|
|
166
|
-
* Weight from attester votes only, excluding proposer boost.
|
|
166
|
+
* Weight in Gwei from attester votes only, excluding proposer boost.
|
|
167
167
|
* Spec: get_attestation_score
|
|
168
168
|
*/
|
|
169
|
-
attestationScore:
|
|
169
|
+
attestationScore: bigint;
|
|
170
170
|
bestChild?: number;
|
|
171
171
|
bestDescendant?: number;
|
|
172
172
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import {BitArray} from "@chainsafe/ssz";
|
|
2
|
-
import {GENESIS_EPOCH, GENESIS_SLOT, PTC_SIZE} from "@lodestar/params";
|
|
2
|
+
import {EFFECTIVE_BALANCE_INCREMENT, GENESIS_EPOCH, GENESIS_SLOT, PTC_SIZE} from "@lodestar/params";
|
|
3
3
|
import {DataAvailabilityStatus, computeEpochAtSlot, computeStartSlotAtEpoch} from "@lodestar/state-transition";
|
|
4
4
|
import {Epoch, RootHex, Slot} from "@lodestar/types";
|
|
5
5
|
import {bitCount, toRootHex} from "@lodestar/utils";
|
|
@@ -31,7 +31,8 @@ const DATA_AVAILABILITY_TIMELY_THRESHOLD = Math.floor(PTC_SIZE / 2);
|
|
|
31
31
|
* Proposer boost deltas, back-propagated to the boosted node's ancestors in applyScoreChanges().
|
|
32
32
|
* Reuse the array to avoid memory reallocation and gc, as computeDeltas does for attestation deltas.
|
|
33
33
|
*/
|
|
34
|
-
const boostDeltas = new Array<
|
|
34
|
+
const boostDeltas = new Array<bigint>();
|
|
35
|
+
const EFFECTIVE_BALANCE_INCREMENT_BIGINT = BigInt(EFFECTIVE_BALANCE_INCREMENT);
|
|
35
36
|
|
|
36
37
|
/**
|
|
37
38
|
* popcount(attended AND NOT yes) — explicit False-vote count.
|
|
@@ -52,7 +53,7 @@ export function countNoVotes(attended: BitArray, yes: BitArray): number {
|
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
export const DEFAULT_PRUNE_THRESHOLD = 0;
|
|
55
|
-
type ProposerBoost = {root: RootHex; score:
|
|
56
|
+
type ProposerBoost = {root: RootHex; score: bigint};
|
|
56
57
|
|
|
57
58
|
const ZERO_HASH_HEX = toRootHex(Buffer.alloc(32, 0));
|
|
58
59
|
|
|
@@ -379,7 +380,7 @@ export class ProtoArray {
|
|
|
379
380
|
}
|
|
380
381
|
|
|
381
382
|
boostDeltas.length = this.nodes.length;
|
|
382
|
-
boostDeltas.fill(
|
|
383
|
+
boostDeltas.fill(0n);
|
|
383
384
|
|
|
384
385
|
if (
|
|
385
386
|
justifiedEpoch !== this.justifiedEpoch ||
|
|
@@ -416,17 +417,20 @@ export class ProtoArray {
|
|
|
416
417
|
// the boost neutral with respect to EMPTY vs FULL selection.
|
|
417
418
|
const isBoostVariant = isGloasBlock(node) ? node.payloadStatus === PayloadStatus.PENDING : true; // pre-Gloas has only FULL, always boost
|
|
418
419
|
const currentBoost =
|
|
419
|
-
proposerBoost && proposerBoost.root === node.blockRoot && isBoostVariant ? proposerBoost.score :
|
|
420
|
+
proposerBoost && proposerBoost.root === node.blockRoot && isBoostVariant ? proposerBoost.score : 0n;
|
|
420
421
|
const previousBoost =
|
|
421
422
|
this.previousProposerBoost && this.previousProposerBoost.root === node.blockRoot && isBoostVariant
|
|
422
423
|
? this.previousProposerBoost.score
|
|
423
|
-
:
|
|
424
|
+
: 0n;
|
|
424
425
|
|
|
425
426
|
// If this node's execution status has been marked invalid, then the weight of the node
|
|
426
427
|
// needs to be taken out of consideration after which the node weight will become 0
|
|
427
428
|
// for subsequent iterations of applyScoreChanges
|
|
428
429
|
const isInvalid = node.executionStatus === ExecutionStatus.Invalid;
|
|
429
|
-
const attestationDelta = isInvalid
|
|
430
|
+
const attestationDelta = isInvalid
|
|
431
|
+
? -Number(node.attestationScore / EFFECTIVE_BALANCE_INCREMENT_BIGINT)
|
|
432
|
+
: attestationDeltas[nodeIndex];
|
|
433
|
+
const attestationDeltaGwei = BigInt(attestationDelta) * EFFECTIVE_BALANCE_INCREMENT_BIGINT;
|
|
430
434
|
const boostDelta = isInvalid
|
|
431
435
|
? // old boost = weight - attestationScore
|
|
432
436
|
-(node.weight - node.attestationScore)
|
|
@@ -434,8 +438,8 @@ export class ProtoArray {
|
|
|
434
438
|
|
|
435
439
|
// Apply the deltas to the node. Their sum is the node's total delta, so weight is unaffected
|
|
436
440
|
// by tracking the two scores apart.
|
|
437
|
-
node.attestationScore +=
|
|
438
|
-
node.weight +=
|
|
441
|
+
node.attestationScore += attestationDeltaGwei;
|
|
442
|
+
node.weight += attestationDeltaGwei + boostDelta;
|
|
439
443
|
|
|
440
444
|
// Update the parent deltas (if any)
|
|
441
445
|
const parentIndex = node.parent;
|
|
@@ -527,8 +531,8 @@ export class ProtoArray {
|
|
|
527
531
|
...block,
|
|
528
532
|
parent: parentIndex, // Points to parent's EMPTY/FULL or FULL (for transition)
|
|
529
533
|
payloadStatus: PayloadStatus.PENDING,
|
|
530
|
-
weight:
|
|
531
|
-
attestationScore:
|
|
534
|
+
weight: 0n,
|
|
535
|
+
attestationScore: 0n,
|
|
532
536
|
bestChild: undefined,
|
|
533
537
|
bestDescendant: undefined,
|
|
534
538
|
};
|
|
@@ -541,8 +545,8 @@ export class ProtoArray {
|
|
|
541
545
|
...block,
|
|
542
546
|
parent: pendingIndex, // Points to own PENDING
|
|
543
547
|
payloadStatus: PayloadStatus.EMPTY,
|
|
544
|
-
weight:
|
|
545
|
-
attestationScore:
|
|
548
|
+
weight: 0n,
|
|
549
|
+
attestationScore: 0n,
|
|
546
550
|
bestChild: undefined,
|
|
547
551
|
bestDescendant: undefined,
|
|
548
552
|
};
|
|
@@ -577,8 +581,8 @@ export class ProtoArray {
|
|
|
577
581
|
...block,
|
|
578
582
|
parent: this.getNodeIndexByRootAndStatus(block.parentRoot, PayloadStatus.FULL),
|
|
579
583
|
payloadStatus: PayloadStatus.FULL,
|
|
580
|
-
weight:
|
|
581
|
-
attestationScore:
|
|
584
|
+
weight: 0n,
|
|
585
|
+
attestationScore: 0n,
|
|
582
586
|
bestChild: undefined,
|
|
583
587
|
bestDescendant: undefined,
|
|
584
588
|
};
|
|
@@ -663,8 +667,8 @@ export class ProtoArray {
|
|
|
663
667
|
...pendingNode,
|
|
664
668
|
parent: pendingIndex, // Points to own PENDING (same as EMPTY)
|
|
665
669
|
payloadStatus: PayloadStatus.FULL,
|
|
666
|
-
weight:
|
|
667
|
-
attestationScore:
|
|
670
|
+
weight: 0n,
|
|
671
|
+
attestationScore: 0n,
|
|
668
672
|
bestChild: undefined,
|
|
669
673
|
bestDescendant: undefined,
|
|
670
674
|
executionStatus,
|
|
@@ -1496,13 +1500,13 @@ export class ProtoArray {
|
|
|
1496
1500
|
childNode.payloadStatus === PayloadStatus.PENDING ||
|
|
1497
1501
|
childNode.slot + 1 !== currentSlot
|
|
1498
1502
|
? childNode.weight
|
|
1499
|
-
:
|
|
1503
|
+
: 0n;
|
|
1500
1504
|
const bestChildEffectiveWeight =
|
|
1501
1505
|
!isGloasBlock(bestChildNode) ||
|
|
1502
1506
|
bestChildNode.payloadStatus === PayloadStatus.PENDING ||
|
|
1503
1507
|
bestChildNode.slot + 1 !== currentSlot
|
|
1504
1508
|
? bestChildNode.weight
|
|
1505
|
-
:
|
|
1509
|
+
: 0n;
|
|
1506
1510
|
|
|
1507
1511
|
if (childEffectiveWeight !== bestChildEffectiveWeight) {
|
|
1508
1512
|
// Different effective weights, choose the winner by weight
|
|
@@ -1597,8 +1601,8 @@ export class ProtoArray {
|
|
|
1597
1601
|
return correctJustified && correctFinalized;
|
|
1598
1602
|
}
|
|
1599
1603
|
|
|
1600
|
-
/**
|
|
1601
|
-
getViableHeads(currentSlot: Slot): {root: RootHex; payloadStatus: PayloadStatus; weight:
|
|
1604
|
+
/** Returns exact Gwei weights for the compliance test boundary. */
|
|
1605
|
+
getViableHeads(currentSlot: Slot): {root: RootHex; payloadStatus: PayloadStatus; weight: bigint}[] {
|
|
1602
1606
|
// Mirror the spec's `get_filtered_block_tree`, which is rooted at the store's justified
|
|
1603
1607
|
// checkpoint: a viable head is a leaf (no viable descendant, i.e. `bestChild === undefined`)
|
|
1604
1608
|
// that descends from the justified checkpoint block AND is itself viable for head. Iterating
|
|
@@ -1607,7 +1611,7 @@ export class ProtoArray {
|
|
|
1607
1611
|
const justifiedVariant = this.getDefaultVariant(this.justifiedRoot);
|
|
1608
1612
|
// Gloas payload-status variants of one blockRoot are distinct nodes in the spec's filtered
|
|
1609
1613
|
// tree, identified by (root, payload_status, weight) — emit one entry per variant.
|
|
1610
|
-
const heads: {root: RootHex; payloadStatus: PayloadStatus; weight:
|
|
1614
|
+
const heads: {root: RootHex; payloadStatus: PayloadStatus; weight: bigint}[] = [];
|
|
1611
1615
|
for (const node of this.nodes) {
|
|
1612
1616
|
if (node.bestChild !== undefined || !this.nodeIsViableForHead(node, currentSlot)) {
|
|
1613
1617
|
continue;
|
|
@@ -1624,7 +1628,11 @@ export class ProtoArray {
|
|
|
1624
1628
|
continue;
|
|
1625
1629
|
}
|
|
1626
1630
|
}
|
|
1627
|
-
heads.push({
|
|
1631
|
+
heads.push({
|
|
1632
|
+
root: node.blockRoot,
|
|
1633
|
+
payloadStatus: node.payloadStatus,
|
|
1634
|
+
weight: node.weight,
|
|
1635
|
+
});
|
|
1628
1636
|
}
|
|
1629
1637
|
return heads;
|
|
1630
1638
|
}
|