bla-agents 1.6.3 → 1.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -0
- package/dist/bundler/index.d.ts +6 -0
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/index.js +37 -8
- package/dist/bundler/index.js.map +1 -1
- package/dist/core/types.d.ts +8 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/engine/defender.d.ts +3 -0
- package/dist/engine/defender.d.ts.map +1 -1
- package/dist/engine/defender.js +4 -0
- package/dist/engine/defender.js.map +1 -1
- package/dist/engine/harden.d.ts +2 -0
- package/dist/engine/harden.d.ts.map +1 -1
- package/dist/engine/harden.js +5 -0
- package/dist/engine/harden.js.map +1 -1
- package/dist/engine/protector.js +16 -3
- package/dist/engine/protector.js.map +1 -1
- package/dist/engine/verifier.d.ts.map +1 -1
- package/dist/engine/verifier.js +4 -0
- package/dist/engine/verifier.js.map +1 -1
- package/dist/identity.d.ts +1 -1
- package/dist/identity.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/server.d.ts +27 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +185 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/shields/chaff/chaff-generator.d.ts.map +1 -1
- package/dist/shields/chaff/chaff-generator.js +19 -3
- package/dist/shields/chaff/chaff-generator.js.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.d.ts.map +1 -1
- package/dist/shields/exhaustion/frida-capture-saturation.js +5 -1
- package/dist/shields/exhaustion/frida-capture-saturation.js.map +1 -1
- package/dist/shields/formats/archive.d.ts.map +1 -1
- package/dist/shields/formats/archive.js +18 -4
- package/dist/shields/formats/archive.js.map +1 -1
- package/dist/shields/formats/native.d.ts.map +1 -1
- package/dist/shields/formats/native.js +4 -0
- package/dist/shields/formats/native.js.map +1 -1
- package/dist/shields/formats/python-ast-weave.d.ts +46 -0
- package/dist/shields/formats/python-ast-weave.d.ts.map +1 -0
- package/dist/shields/formats/python-ast-weave.js +414 -0
- package/dist/shields/formats/python-ast-weave.js.map +1 -0
- package/dist/shields/formats/python-pyc-weave.d.ts +18 -0
- package/dist/shields/formats/python-pyc-weave.d.ts.map +1 -0
- package/dist/shields/formats/python-pyc-weave.js +598 -0
- package/dist/shields/formats/python-pyc-weave.js.map +1 -0
- package/dist/shields/formats/python.d.ts +21 -0
- package/dist/shields/formats/python.d.ts.map +1 -1
- package/dist/shields/formats/python.js +68 -6
- package/dist/shields/formats/python.js.map +1 -1
- package/dist/shields/javascript/ast-shield.d.ts.map +1 -1
- package/dist/shields/javascript/ast-shield.js +68 -2
- package/dist/shields/javascript/ast-shield.js.map +1 -1
- package/dist/shields/runtime/memory-diff-shield.d.ts.map +1 -1
- package/dist/shields/runtime/memory-diff-shield.js +6 -1
- package/dist/shields/runtime/memory-diff-shield.js.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.d.ts +15 -0
- package/dist/shields/tarpit/tarpit-generator.d.ts.map +1 -1
- package/dist/shields/tarpit/tarpit-generator.js +122 -25
- package/dist/shields/tarpit/tarpit-generator.js.map +1 -1
- package/dist/shields/weave/weave-decoy.d.ts +89 -0
- package/dist/shields/weave/weave-decoy.d.ts.map +1 -0
- package/dist/shields/weave/weave-decoy.js +465 -0
- package/dist/shields/weave/weave-decoy.js.map +1 -0
- package/dist/ui/reporter.d.ts.map +1 -1
- package/dist/ui/reporter.js +2 -0
- package/dist/ui/reporter.js.map +1 -1
- package/package.json +1 -1
|
@@ -27,10 +27,20 @@ export declare function findPythonPrologueInsertionOffset(source: string): Pytho
|
|
|
27
27
|
* Algorithmic Tarpit (`generatePythonTarpit`), opaque predicates, and
|
|
28
28
|
* honey-docstrings while preserving shebangs, PEP 263 encoding headers,
|
|
29
29
|
* module docstrings (`__doc__`), and complete `from __future__` imports.
|
|
30
|
+
*
|
|
31
|
+
* Honesty limits: this shields the `.py` / `.pyc` bytes BLA sees. A later
|
|
32
|
+
* PyInstaller onefile (or similar) pack is still peelable to the embedded
|
|
33
|
+
* archive — harden sources *before* bundling; BLA will not rewrite a
|
|
34
|
+
* PyInstaller CArchive in place (see `detectNativeEofAppendHazard`).
|
|
30
35
|
*/
|
|
31
36
|
export declare function protectPythonSource(source: string, options?: {
|
|
32
37
|
readonly intensity?: ProtectionIntensity;
|
|
33
38
|
readonly seed?: string | number;
|
|
39
|
+
/**
|
|
40
|
+
* When true, structurally weave decoy entanglement into customer `def` bodies
|
|
41
|
+
* (shared-slot touch + opaque-false calls). When false, preserve warm-init-only.
|
|
42
|
+
*/
|
|
43
|
+
readonly weaveDecoys?: boolean;
|
|
34
44
|
}): {
|
|
35
45
|
readonly code: string;
|
|
36
46
|
readonly decoyFunctionsInjected: number;
|
|
@@ -38,6 +48,8 @@ export declare function protectPythonSource(source: string, options?: {
|
|
|
38
48
|
readonly chaffPayloadsEmbedded: number;
|
|
39
49
|
readonly canaryTokensEmbedded: number;
|
|
40
50
|
readonly diagnosticsEmbedded: number;
|
|
51
|
+
readonly customerDefsWoven: number;
|
|
52
|
+
readonly weaveDecoys: boolean;
|
|
41
53
|
};
|
|
42
54
|
/**
|
|
43
55
|
* Inspects a CPython 3.7–3.14 `.pyc` file header and scans for printable
|
|
@@ -53,10 +65,19 @@ export declare function inspectPythonPyc(bytes: Buffer): PythonPycInspectionSumm
|
|
|
53
65
|
export declare function protectPythonPycBuffer(bytes: Buffer, options?: {
|
|
54
66
|
readonly intensity?: ProtectionIntensity;
|
|
55
67
|
readonly seed?: string | number;
|
|
68
|
+
/**
|
|
69
|
+
* When true, structurally weave unused decoy TYPE_CODE objects into customer
|
|
70
|
+
* and module `co_consts` (append-only; preserves FLAG_REF intern indices and
|
|
71
|
+
* executed bytecode). Falls back to trailer-only honey when marshal walk fails.
|
|
72
|
+
*/
|
|
73
|
+
readonly weaveDecoys?: boolean;
|
|
56
74
|
}): {
|
|
57
75
|
readonly buffer: Buffer;
|
|
58
76
|
readonly chaffPayloadsEmbedded: number;
|
|
59
77
|
readonly canaryTokensEmbedded: number;
|
|
60
78
|
readonly diagnosticsEmbedded: number;
|
|
79
|
+
readonly weaveDecoys: boolean;
|
|
80
|
+
readonly decoyCodeObjectsInjected: number;
|
|
81
|
+
readonly customerDefsWoven: number;
|
|
61
82
|
};
|
|
62
83
|
//# sourceMappingURL=python.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/shields/formats/python.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../src/shields/formats/python.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO/D,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3C;AA6RD;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,MAAM,GACb,sBAAsB,CAkSxB;AAqCD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC3B,GACL;IACD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B,CA2FA;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,0BAA0B,CA4B1E;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IACP,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAC3B,GACL;IACD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;IAC1C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC,CA8DA"}
|
|
@@ -2,6 +2,8 @@ import { SeededPrng } from "../../core/prng.js";
|
|
|
2
2
|
import { generateChaffPayloads } from "../chaff/chaff-generator.js";
|
|
3
3
|
import { buildCanaryAndDiagnosticPayloads } from "../deception/format-payloads.js";
|
|
4
4
|
import { generatePythonTarpit } from "../tarpit/tarpit-generator.js";
|
|
5
|
+
import { weavePythonDecoyCalls } from "./python-ast-weave.js";
|
|
6
|
+
import { weavePythonPycBuffer } from "./python-pyc-weave.js";
|
|
5
7
|
export class InvalidPythonSourceError extends Error {
|
|
6
8
|
constructor(message) {
|
|
7
9
|
super(message);
|
|
@@ -514,9 +516,15 @@ function pythonDiagnosticTuple(entries) {
|
|
|
514
516
|
* Algorithmic Tarpit (`generatePythonTarpit`), opaque predicates, and
|
|
515
517
|
* honey-docstrings while preserving shebangs, PEP 263 encoding headers,
|
|
516
518
|
* module docstrings (`__doc__`), and complete `from __future__` imports.
|
|
519
|
+
*
|
|
520
|
+
* Honesty limits: this shields the `.py` / `.pyc` bytes BLA sees. A later
|
|
521
|
+
* PyInstaller onefile (or similar) pack is still peelable to the embedded
|
|
522
|
+
* archive — harden sources *before* bundling; BLA will not rewrite a
|
|
523
|
+
* PyInstaller CArchive in place (see `detectNativeEofAppendHazard`).
|
|
517
524
|
*/
|
|
518
525
|
export function protectPythonSource(source, options = {}) {
|
|
519
526
|
const intensity = options.intensity ?? "balanced";
|
|
527
|
+
const weaveDecoys = options.weaveDecoys === true;
|
|
520
528
|
const prng = new SeededPrng(options.seed ?? "bla-python-shield-v1");
|
|
521
529
|
const chaffPayloads = generateChaffPayloads(prng, intensity);
|
|
522
530
|
const tarpit = generatePythonTarpit(prng, intensity, chaffPayloads);
|
|
@@ -545,16 +553,52 @@ export function protectPythonSource(source, options = {}) {
|
|
|
545
553
|
" _i = (idx & 0x7FFFFFFF) % len(CANARY_TOKENS)",
|
|
546
554
|
" return AMBIGUOUS_TRANSPORT[_i]",
|
|
547
555
|
].join(eol);
|
|
548
|
-
|
|
556
|
+
let customerTail = tail;
|
|
557
|
+
let crossReferenceEdges = tarpit.crossReferenceEdges;
|
|
558
|
+
let customerDefsWoven = 0;
|
|
559
|
+
if (weaveDecoys &&
|
|
560
|
+
tarpit.sharedSlotName &&
|
|
561
|
+
tarpit.stateVarName &&
|
|
562
|
+
tarpit.decoyFunctionNames.length > 0 &&
|
|
563
|
+
customerTail.length > 0) {
|
|
564
|
+
// Weave only the customer tail so nested helpers inside injected tarpit defs
|
|
565
|
+
// (e.g. `_fold`) are never touched. Skip set is tarpit identities for safety
|
|
566
|
+
// if a customer name collides.
|
|
567
|
+
const skipDefNames = [
|
|
568
|
+
...tarpit.decoyFunctionNames,
|
|
569
|
+
...(tarpit.warmInitName ? [tarpit.warmInitName] : []),
|
|
570
|
+
"probe_canary_honeypot",
|
|
571
|
+
];
|
|
572
|
+
const woven = weavePythonDecoyCalls({
|
|
573
|
+
source: customerTail.endsWith("\n") || customerTail.endsWith("\r")
|
|
574
|
+
? customerTail
|
|
575
|
+
: customerTail + eol,
|
|
576
|
+
skipDefNames,
|
|
577
|
+
decoyFunctionNames: tarpit.decoyFunctionNames,
|
|
578
|
+
sharedSlotName: tarpit.sharedSlotName,
|
|
579
|
+
stateVarName: tarpit.stateVarName,
|
|
580
|
+
warmInitName: tarpit.warmInitName,
|
|
581
|
+
prng,
|
|
582
|
+
intensity,
|
|
583
|
+
});
|
|
584
|
+
customerTail = woven.code.replace(/(?:\r?\n)+$/, "");
|
|
585
|
+
customerDefsWoven = woven.customerDefsWoven;
|
|
586
|
+
crossReferenceEdges += woven.crossReferenceEdgesAdded;
|
|
587
|
+
}
|
|
588
|
+
const combined = [head, tarpitNormalized, deceptionBlock, customerTail]
|
|
549
589
|
.filter((part) => part.length > 0)
|
|
550
590
|
.join(eol + eol);
|
|
551
591
|
return {
|
|
552
|
-
code: combined
|
|
592
|
+
code: combined.endsWith("\n") || combined.endsWith("\r")
|
|
593
|
+
? combined
|
|
594
|
+
: combined + eol,
|
|
553
595
|
decoyFunctionsInjected: tarpit.decoyFunctionNames.length,
|
|
554
|
-
crossReferenceEdges
|
|
596
|
+
crossReferenceEdges,
|
|
555
597
|
chaffPayloadsEmbedded: chaffPayloads.length,
|
|
556
598
|
canaryTokensEmbedded: deception.canary.syntheticCanaryTokens.length,
|
|
557
599
|
diagnosticsEmbedded: deception.diagnostics.diagnosticsInjected.length,
|
|
600
|
+
customerDefsWoven,
|
|
601
|
+
weaveDecoys,
|
|
558
602
|
};
|
|
559
603
|
}
|
|
560
604
|
/**
|
|
@@ -580,8 +624,9 @@ export function inspectPythonPyc(bytes) {
|
|
|
580
624
|
magicNumber,
|
|
581
625
|
pep552Flags,
|
|
582
626
|
extractedStrings: matches.slice(0, 64),
|
|
583
|
-
blaProtected: textView.includes("
|
|
627
|
+
blaProtected: textView.includes("runtime attestation boundary") ||
|
|
584
628
|
textView.includes("Architecture Notice: Core business logic") ||
|
|
629
|
+
textView.includes("Billing Pipeline Notice") ||
|
|
585
630
|
textView.includes("PROTECTED_CANARY_CREDENTIAL=") ||
|
|
586
631
|
textView.includes("DarwinProcessOwnershipInspectionError"),
|
|
587
632
|
};
|
|
@@ -597,12 +642,26 @@ export function protectPythonPycBuffer(bytes, options = {}) {
|
|
|
597
642
|
throw new Error("Invalid CPython .pyc header (missing 0x0d 0x0a magic marker)");
|
|
598
643
|
}
|
|
599
644
|
const intensity = options.intensity ?? "balanced";
|
|
600
|
-
const
|
|
645
|
+
const weaveDecoys = options.weaveDecoys === true;
|
|
646
|
+
const seed = options.seed ?? "bla-pyc-shield-v1";
|
|
647
|
+
const prng = new SeededPrng(seed);
|
|
601
648
|
const chaffPayloads = generateChaffPayloads(prng, intensity);
|
|
602
649
|
const deception = buildCanaryAndDiagnosticPayloads(prng, intensity);
|
|
650
|
+
let working = bytes;
|
|
651
|
+
let decoyCodeObjectsInjected = 0;
|
|
652
|
+
let customerDefsWoven = 0;
|
|
653
|
+
if (weaveDecoys) {
|
|
654
|
+
const woven = weavePythonPycBuffer(bytes, { intensity, seed });
|
|
655
|
+
if (woven) {
|
|
656
|
+
working = woven.buffer;
|
|
657
|
+
decoyCodeObjectsInjected = woven.decoyCodeObjectsInjected;
|
|
658
|
+
customerDefsWoven = woven.customerDefsWoven;
|
|
659
|
+
}
|
|
660
|
+
}
|
|
603
661
|
// Construct marshal-framed ASCII constant records (TYPE_ASCII = 0x61 + uint32LE length + utf8 bytes).
|
|
604
662
|
// Keep distinctive prefixes within REA's PYTHON_PYC_CONST_PREVIEW_LIMIT (80) so canary tokens
|
|
605
663
|
// and diagnostic errorClass/systemCode survive truncated previews.
|
|
664
|
+
// Trailers sit AFTER the root marshal object so importlib stops at the woven root.
|
|
606
665
|
const marshalRecords = [];
|
|
607
666
|
const pushAscii = (raw) => {
|
|
608
667
|
const strBytes = Buffer.from(raw, "utf8");
|
|
@@ -628,10 +687,13 @@ export function protectPythonPycBuffer(bytes, options = {}) {
|
|
|
628
687
|
pushAscii(`[${t.coupledAnchorSymbol}] ${t.triggerPayload.replace(/\r?\n/g, " ")}`);
|
|
629
688
|
}
|
|
630
689
|
return {
|
|
631
|
-
buffer: Buffer.concat([
|
|
690
|
+
buffer: Buffer.concat([working, ...marshalRecords]),
|
|
632
691
|
chaffPayloadsEmbedded: chaffPayloads.length,
|
|
633
692
|
canaryTokensEmbedded: deception.canary.syntheticCanaryTokens.length,
|
|
634
693
|
diagnosticsEmbedded: deception.diagnostics.diagnosticsInjected.length,
|
|
694
|
+
weaveDecoys,
|
|
695
|
+
decoyCodeObjectsInjected,
|
|
696
|
+
customerDefsWoven,
|
|
635
697
|
};
|
|
636
698
|
}
|
|
637
699
|
//# sourceMappingURL=python.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/shields/formats/python.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"python.js","sourceRoot":"","sources":["../../../src/shields/formats/python.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-shield.d.ts","sourceRoot":"","sources":["../../../src/shields/javascript/ast-shield.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAgB1C,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;CACxD;AA4GD,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAarE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAMvE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,EAAE,CAwCtE;
|
|
1
|
+
{"version":3,"file":"ast-shield.d.ts","sourceRoot":"","sources":["../../../src/shields/javascript/ast-shield.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAIlC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAI/D,OAAO,EAEL,KAAK,2BAA2B,EACjC,MAAM,kCAAkC,CAAC;AAgB1C,qBAAa,6BAA8B,SAAQ,KAAK;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;IACvD,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC;IAC5C,QAAQ,CAAC,iCAAiC,EAAE,MAAM,CAAC;IACnD,QAAQ,CAAC,2BAA2B,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,yBAAyB,EAAE,MAAM,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,2BAA2B,CAAC;CACxD;AA4GD,wBAAgB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAarE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,aAAa,CAMvE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,GAAG,MAAM,EAAE,CAwCtE;AA+MD,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,uBAAuB,CA81BzB"}
|
|
@@ -267,6 +267,24 @@ function buildOpaqueTrueAst(prng, seedIdentifierName) {
|
|
|
267
267
|
const bitAnd = t.binaryExpression("&", imulCall, t.numericLiteral(7));
|
|
268
268
|
return t.binaryExpression("===", bitAnd, t.numericLiteral(1));
|
|
269
269
|
}
|
|
270
|
+
/**
|
|
271
|
+
* Rewrite an integer literal into an opaque expression that still evaluates to
|
|
272
|
+
* the same Number in O(1). The original bit pattern (e.g. 0x9e3779b9) does not
|
|
273
|
+
* survive as a NumericLiteral, closing the bankrupt cleartext-constant probe
|
|
274
|
+
* tracked in issue #40 while keeping runtime equivalence.
|
|
275
|
+
*/
|
|
276
|
+
function buildOpaqueIntegerAst(value, prng, seedIdentifierName) {
|
|
277
|
+
const abs = Math.abs(value);
|
|
278
|
+
const split = abs <= 1 ? 1 : prng.nextInt(1, Math.min(0xffff, Math.max(1, abs - 1)));
|
|
279
|
+
const left = value > 0 ? value - split : value + split;
|
|
280
|
+
const right = value > 0 ? split : -split;
|
|
281
|
+
const sum = t.binaryExpression("+", t.numericLiteral(left), t.numericLiteral(right));
|
|
282
|
+
const decoy = value ^ (prng.nextInt(1, 0x7fff) | 1);
|
|
283
|
+
if (prng.nextInt(0, 1) === 0) {
|
|
284
|
+
return t.conditionalExpression(buildOpaqueTrueAst(prng, seedIdentifierName), sum, t.numericLiteral(decoy));
|
|
285
|
+
}
|
|
286
|
+
return t.conditionalExpression(buildOpaqueFalseAst(prng, seedIdentifierName), t.numericLiteral(decoy), sum);
|
|
287
|
+
}
|
|
270
288
|
const RENAME_RESERVED = new Set([
|
|
271
289
|
"exports", "module", "require", "arguments", "undefined", "NaN", "Infinity",
|
|
272
290
|
"globalThis", "global", "window", "self", "console", "Math", "Object", "Array",
|
|
@@ -606,6 +624,46 @@ export function transformJavaScriptWithBlaShield(source, options = {}) {
|
|
|
606
624
|
path.skip();
|
|
607
625
|
primitiveCandidateBranchesCreated += 256;
|
|
608
626
|
},
|
|
627
|
+
NumericLiteral(path) {
|
|
628
|
+
// Issue #40: bankrupt/maximum must not leave schedule / magic integers
|
|
629
|
+
// bit-identical in the hardened output (probe: 0x9e3779b9).
|
|
630
|
+
if (intensity !== "bankrupt" && intensity !== "maximum") {
|
|
631
|
+
return;
|
|
632
|
+
}
|
|
633
|
+
if ((loader === "ts" || loader === "tsx") &&
|
|
634
|
+
isInsideTsConstAssertion(path)) {
|
|
635
|
+
return;
|
|
636
|
+
}
|
|
637
|
+
const val = path.node.value;
|
|
638
|
+
if (!Number.isInteger(val))
|
|
639
|
+
return;
|
|
640
|
+
if (!Number.isSafeInteger(val))
|
|
641
|
+
return;
|
|
642
|
+
// Leave tiny integers alone (loop bounds / booleans-as-numbers); rewrite
|
|
643
|
+
// everything at |n| >= 16 so golden-ratio / salt / schedule constants go.
|
|
644
|
+
if (Math.abs(val) < 16)
|
|
645
|
+
return;
|
|
646
|
+
const parent = path.parent;
|
|
647
|
+
if (t.isObjectProperty(parent) &&
|
|
648
|
+
parent.key === path.node &&
|
|
649
|
+
!parent.computed) {
|
|
650
|
+
return;
|
|
651
|
+
}
|
|
652
|
+
if (t.isTSLiteralType(parent) ||
|
|
653
|
+
t.isTSEnumMember(parent) ||
|
|
654
|
+
t.isImportAttribute(parent)) {
|
|
655
|
+
return;
|
|
656
|
+
}
|
|
657
|
+
if (path.findParent((p) => p.isTSType() ||
|
|
658
|
+
p.isTSEnumDeclaration() ||
|
|
659
|
+
p.isTSModuleDeclaration() ||
|
|
660
|
+
p.isImportAttribute())) {
|
|
661
|
+
return;
|
|
662
|
+
}
|
|
663
|
+
path.replaceWith(buildOpaqueIntegerAst(val, prng, seedVarName));
|
|
664
|
+
path.skip();
|
|
665
|
+
primitiveCandidateBranchesCreated += 64;
|
|
666
|
+
},
|
|
609
667
|
});
|
|
610
668
|
const effectiveCarrier = requestedCarrier === "module" || hasEsmNodes
|
|
611
669
|
? "module"
|
|
@@ -613,12 +671,17 @@ export function transformJavaScriptWithBlaShield(source, options = {}) {
|
|
|
613
671
|
? "commonjs"
|
|
614
672
|
: "script";
|
|
615
673
|
// 2b. Rename non-exported local bindings (including function parameters and private helpers)
|
|
616
|
-
// so original identifiers are not left pristine
|
|
674
|
+
// so original identifiers are not left pristine.
|
|
675
|
+
// Only rename bindings owned by the current scope. Babel mirrors ClassDeclaration
|
|
676
|
+
// names onto the class scope with the SAME binding object; renaming there a second
|
|
677
|
+
// time with a fresh PRNG name desyncs `class Foo` from `new Foo()` (issue #40).
|
|
617
678
|
const exportedNameSet = new Set(exportedSymbolsBefore);
|
|
618
679
|
const generatedNames = new Set();
|
|
619
680
|
traverse(ast, {
|
|
620
681
|
Scope(path) {
|
|
621
682
|
for (const [name, binding] of Object.entries(path.scope.bindings)) {
|
|
683
|
+
if (binding.scope !== path.scope)
|
|
684
|
+
continue;
|
|
622
685
|
if (RENAME_RESERVED.has(name))
|
|
623
686
|
continue;
|
|
624
687
|
if (exportedNameSet.has(name))
|
|
@@ -750,7 +813,10 @@ export function transformJavaScriptWithBlaShield(source, options = {}) {
|
|
|
750
813
|
// 4. Build Decoy IPC Ambiguity & Route Mirage block + Cognitive-Armor seed entanglement
|
|
751
814
|
const mirageLines = [];
|
|
752
815
|
mirageLines.push(deceptionSuite.cognitiveArmor.code);
|
|
753
|
-
|
|
816
|
+
// Deterministic opaque-predicate seed (issue #40): never hrtime/Date.now.
|
|
817
|
+
// Keep the low bit entangled with cognitive-armor digest so tamper flips seed parity.
|
|
818
|
+
const opaqueSeedBase = (prng.nextInt(1, 0x1ffff) << 2) & 0x7fffc;
|
|
819
|
+
mirageLines.push(`const ${seedVarName} = ((${opaqueSeedBase}) | ((typeof ${deceptionSuite.cognitiveArmor.digestFunctionName} === "function" && ${deceptionSuite.cognitiveArmor.digestFunctionName}(0) === ${deceptionSuite.cognitiveArmor.expectedDigest}) ? 1 : 0));`);
|
|
754
820
|
mirageLines.push(memoryDiffShield.code);
|
|
755
821
|
const channelsToMirror = observedIpcChannels.size > 0
|
|
756
822
|
? [...observedIpcChannels]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-shield.js","sourceRoot":"","sources":["../../../src/shields/javascript/ast-shield.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AACzD,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,+BAA+B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EACL,6BAA6B,GAE9B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,iCAAiC,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,uBAAuB,CAAC;AAKzE,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,UAAU;IAC7B,CAAC,CAAE,SAAmC;IACtC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AACxB,MAAM,QAAQ,GACZ,OAAO,SAAS,KAAK,UAAU;IAC7B,CAAC,CAAE,SAAmC;IACtC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;AAExB,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAgCD,MAAM,YAAY,GAAsB;IACtC,mCAAmC;IACnC,wCAAwC;IACxC,sCAAsC;IACtC,uCAAuC;IACvC,sCAAsC;IACtC,wCAAwC;IACxC,yCAAyC;IACzC,mCAAmC;IACnC,0CAA0C;IAC1C,wCAAwC;CACzC,CAAC;AAEF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,QAAQ;IACR,YAAY;IACZ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC;IAC/C,4BAA4B;IAC5B,+BAA+B;IAC/B,yBAAyB;IACzB,QAAQ;IACR,sBAAsB;IACtB,sBAAsB;IACtB,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;IACzB,yBAAyB;IACzB,UAAU;IACV,oBAAoB;IACpB,qBAAqB;IACrB,sBAAsB;IACtB,mBAAmB;IACnB,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,iBAAiB;IACjB,qBAAqB;IACrB,WAAW;IACX,WAAW;IACX,aAAa;IACb,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAA+B;IACzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,GAA8B,IAAI,CAAC;IAC1C,OACE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;QACzB,CAAC,CAAC,0BAA0B,CAAC,GAAG,CAAC,EACjC,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAsB;IAC/C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IACrE,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAsD;IACtF,OAAO,OAAO,CACZ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QACpB,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YAClC,OAAO,CACL,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBACxB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAC9B,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAiB;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IACE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACrB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtB,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,QAAiB;IACtD,IAAI,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,UAAU,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAkB;IAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9B,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;wBACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CACxB,CAAC;gBACJ,CAAC;qBAAM,IAAI,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACT,IACE,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;oBAC7D,IAAI,CAAC,EAAE,EACP,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;qBAAM,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,MAAM,GAAG,GAAG,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;oBAC/C,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,IACL,IAAI,IAAI,IAAI;oBACZ,IAAI,CAAC,EAAE;oBACP,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EACvB,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,2BAA2B,CAClC,KAAa,EACb,IAAgB,EAChB,kBAA0B;IAE1B,MAAM,SAAS,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;QAC/D,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;YAC1C,GAAG,IAAI,IAAI,CAAC;QACd,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAmB,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,EAAE;QAC1D,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GACd,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,CAAC,CAAC,gBAAgB,CACjC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACpB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAChC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CACpB,CAAC;QACF,MAAM,GAAG,GAAG,QAAQ;YAClB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;YACvB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAC/B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC9D,CAAC,QAAQ,EAAE,GAAG,CAAC,CAChB,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1E,uFAAuF;QACvF,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,qBAAqB,CAC5B,IAAI,EACJ,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,EAC1B,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,CAAC,CAAC,gBAAgB,CACrC,KAAK,EACL,MAAM,EACN,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAC3B,CAAC;YACF,OAAO,CAAC,CAAC,qBAAqB,CAC5B,YAAY,EACZ,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,EAC3B,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAAgB,EAChB,kBAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAClC,GAAG,EACH,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAChC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CACrB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAC/B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC9D,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CACpC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CACzB,IAAgB,EAChB,kBAA0B;IAE1B,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAClC,GAAG,EACH,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAChC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CACrB,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAC,cAAc,CAC/B,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC9D,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CACpC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU;IAC3E,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;IAC9E,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM;IACzE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS;IACtE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU;IAC3E,oBAAoB,EAAE,oBAAoB,EAAE,YAAY,EAAE,cAAc;IACxE,aAAa,EAAE,eAAe,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB;IACjE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa;IACrE,mBAAmB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ;CAChE,CAAC,CAAC;AAEH,SAAS,kBAAkB,CACzB,MAAoB,EACpB,2BAAoC;IAEpC,MAAM,OAAO,GAAmB;QAC9B,mBAAmB;QACnB,kBAAkB;QAClB,eAAe;QACf,iBAAiB;QACjB,eAAe;KAChB,CAAC;IACF,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAChC,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;SAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC;IAClD,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,gCAAgC,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,+BAA+B,CACnD,IAAI,EACJ,SAAS,EACT,aAAa,CACd,CAAC;IACF,MAAM,eAAe,GAAG,iCAAiC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,cAAc,GAAG,gCAAgC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,2BAA2B,GAC/B,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC;IACjE,MAAM,MAAM,GACV,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GACpB,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,gBAAgB,GACpB,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,UAAU;QAC9D,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,gBAAgB,KAAK,QAAQ;YAC7B,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,aAAa,CAAC;IAEtB,IAAI,GAA6B,CAAC;IAClC,IAAI,CAAC;QACH,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE;YAClB,UAAU,EAAE,gBAAgB;YAC5B,OAAO,EAAE,kBAAkB,CAAC,MAAM,EAAE,2BAA2B,CAAC;YAChE,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,6BAA6B,CACrC,wDAAwD,gBAAgB,YAAY,MAAM,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnJ,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;QAC3B,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;QAChC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,CACjC,CAAC;IAEF,IACE,CAAC,gBAAgB,KAAK,QAAQ,IAAI,gBAAgB,KAAK,UAAU,CAAC;QAClE,WAAW,EACX,CAAC;QACD,MAAM,IAAI,6BAA6B,CACrC,+CAA+C,gBAAgB,WAAW,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAErE,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACzF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAClD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,IAAI,wBAAwB,GAAG,KAAK,CAAC;IACrC,IAAI,0BAA0B,GAAG,CAAC,CAAC;IACnC,IAAI,iCAAiC,GAAG,GAAG,CAAC,CAAC,uBAAuB;IACpE,IAAI,0BAA0B,GAAG,MAAM,CAAC,mBAAmB,CAAC;IAC5D,IAAI,yBAAyB,GAAG,CAAC,CAAC;IAClC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,6CAA6C;IAC7C,MAAM,cAAc,GAAuB,EAAE,CAAC;IAE9C,MAAM,wBAAwB,GAAG,CAC/B,IAGC,EACK,EAAE;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC7D,wBAAwB,GAAG,IAAI,CAAC;YAClC,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GACb,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEpD,sEAAsE;QACtE,IAAI,UAAU,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7B,iGAAiG;YACjG,MAAM,kBAAkB,GACtB,OAAO,KAAK,UAAU;gBACtB,OAAO,KAAK,KAAK;gBACjB,QAAQ,KAAK,UAAU;gBACvB,QAAQ,KAAK,KAAK;gBAClB,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC1B,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAEnC,IACE,UAAU,KAAK,6BAA6B;gBAC5C,kBAAkB,EAClB,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACvC,MAAM,aAAa,GAAG,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBAC/C,CAAC,CAAC,OAAO,CAAC,UAAU;oBACpB,CAAC,CAAC,OAAO,CAAC;gBACZ,IAAI,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvC,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,EAAE,CAAC;wBAC1C,MAAM,GAAG,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC9D,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;4BAAE,SAAS;wBACzC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BAClC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;gCAAE,SAAS;4BACxC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;4BACtC,IACE,KAAK,KAAK,QAAQ;gCAClB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;gCAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAC3B,CAAC;gCACD,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gCAC9C,IAAI,CAAC,KAAK,GAAG,2BAA2B,CACtC,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,EACJ,WAAW,CACZ,CAAC;gCACF,0BAA0B,IAAI,CAAC,CAAC;gCAChC,iCAAiC,IAAI,GAAG,CAAC;4BAC3C,CAAC;iCAAM,IACL,KAAK,KAAK,YAAY;gCACtB,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAChC,CAAC;gCACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oCAC7C,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wCAAE,SAAS;oCAC5C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oCAC7C,IACE,QAAQ;wCACR,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC;wCACtC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAClC,CAAC;wCACD,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK;4CACnC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;4CACvC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oCAC7C,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IACL,gCAAgC,CAAC,GAAG,CAAC,UAAU,CAAC;gBAChD,kBAAkB;gBAClB,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EACnE,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7D,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAClD,QAAQ,CAAC,KAAK,EACd,IAAI,EACJ,WAAW,CACZ,CAAC;oBACF,0BAA0B,IAAI,CAAC,CAAC;oBAChC,iCAAiC,IAAI,GAAG,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,yFAAyF;YACzF,IACE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;gBAC3B,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACpC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,kBAAkB,CAAC;oBAChD,UAAU,KAAK,QAAQ;oBACvB,UAAU,KAAK,YAAY,CAAC,EAC9B,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7D,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAClD,QAAQ,CAAC,KAAK,EACd,IAAI,EACJ,WAAW,CACZ,CAAC;oBACF,iCAAiC,IAAI,GAAG,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,gEAAgE;YAChE,IAAI,UAAU,KAAK,mBAAmB,EAAE,CAAC;gBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7D,mBAAmB,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAClD,QAAQ,CAAC,KAAK,EACd,IAAI,EACJ,WAAW,CACZ,CAAC;oBACF,iCAAiC,IAAI,GAAG,CAAC;gBAC3C,CAAC;gBACD,gFAAgF;gBAChF,uFAAuF;gBACvF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAC9C,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACrC,SAAS,EACT,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CACvB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC,IACE,CAAC,SAAS;YACV,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC3B,QAAQ,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;YAC1B,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACnB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,EACtD,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC3B,MAAM,qBAAqB,GACzB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;gBACnB,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBACtB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC5B,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBACtB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACrB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACnB,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACzB,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAExB,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,2BAA2B,CAClD,GAAG,EACH,IAAI,EACJ,WAAW,CACZ,CAAC;gBACF,iCAAiC,IAAI,GAAG,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,iBAAiB,CAAC,IAAI;YACpB,IACE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,UAAU;gBACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,OAAO,CAAC,EAC3D,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;4BAAE,SAAS;wBACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;4BAC5C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;4BACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;wBACxB,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrD,CAAC;yBAAM,IACL,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;wBAChC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC,EAClC,CAAC;wBACD,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,IAAI;YACX,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,gBAAgB,CAAC,IAAI;YACnB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;YACvC,IACE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACxB,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACxB,QAAQ,CAAC,IAAI,KAAK,SAAS,EAC3B,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC/D,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,sBAAsB,CAAC,IAAI;YACzB,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,cAAc,CAAC,IAAI;YACjB,IACE,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC;gBACrC,wBAAwB,CAAC,IAAI,CAAC,EAC9B,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IACE,QAAQ,KAAK,gBAAgB;gBAC7B,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EACrC,CAAC;gBACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;oBAC9C,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;wBAAE,SAAS;oBACxC,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBACxC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK;4BAC3B,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC;4BACvC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBAC7C,CAAC;yBAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBACjC,IACE,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;4BAC7B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAC3B,CAAC;4BACD,IAAI,CAAC,KAAK,GAAG,2BAA2B,CACtC,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,EACJ,WAAW,CACZ,CAAC;4BACF,iCAAiC,IAAI,GAAG,CAAC;wBAC3C,CAAC;6BAAM,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC1C,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtD,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gCAC5C,CAAC,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC;gCAC3D,CAAC,CAAC,GAAG,CACR,CAAC;4BACF,iCAAiC,IAAI,GAAG,CAAC;wBAC3C,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,aAAa,CAAC,IAAI;YAChB,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACxD,OAAO;YACT,CAAC;YACD,IACE,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,KAAK,CAAC;gBACrC,wBAAwB,CAAC,IAAI,CAAC,EAC9B,CAAC;gBACD,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACvC,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IACE,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;gBAC7B,CAAC,CAAC,wBAAwB,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;gBAChC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;gBACzB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;gBACxB,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC;gBACrC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC;gBAC/B,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAC3B,CAAC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAC3D,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,IAAI,CAAC,UAAU,CACb,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,EAAE;gBACZ,CAAC,CAAC,qBAAqB,EAAE;gBACzB,CAAC,CAAC,2BAA2B,EAAE;gBAC/B,CAAC,CAAC,iBAAiB,EAAE,CACxB,EACD,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC1B,MAAM,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI;gBACxB,CAAC,MAAM,CAAC,QAAQ,EAChB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;gBACvB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;gBACxB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,EACzB,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IACE,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,EAChC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,iCAAiC,IAAI,GAAG,CAAC;QAC3C,CAAC;KACF,CAAC,CAAC;IAEH,MAAM,gBAAgB,GACpB,gBAAgB,KAAK,QAAQ,IAAI,WAAW;QAC1C,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,gBAAgB,KAAK,UAAU,IAAI,UAAU;YAC7C,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,QAAQ,CAAC;IAGjB,6FAA6F;IAC7F,gDAAgD;IAChD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,QAAQ,CAAC,GAAG,EAAE;QACZ,KAAK,CAAC,IAAI;YACR,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClE,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACxC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBACxC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;oBAAE,SAAS;gBACvD,IACE,iGAAiG,CAAC,IAAI,CACpG,IAAI,CACL,EACD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACvC,IACE,OAAO,CAAC,IAAI,KAAK,KAAK;oBACtB,OAAO,CAAC,IAAI,KAAK,OAAO;oBACxB,OAAO,CAAC,IAAI,KAAK,KAAK;oBACtB,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC1B,OAAO,CAAC,IAAI,KAAK,OAAO;oBACxB,OAAO,CAAC,IAAI,KAAK,OAAO,EACxB,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IACE,OAAO,CAAC,IAAI,KAAK,OAAO;oBACxB,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE;wBACnC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC,EACnD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,oFAAoF;gBACpF,iFAAiF;gBACjF,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;oBAC3B,OAAO,CAAC,IAAI,KAAK,SAAS;oBAC1B,CAAC,gBAAgB,KAAK,QAAQ,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAChE,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC;oBAC9B,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO;oBACtD,IAAI,EACF,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,SAAS;wBACjD,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO;oBACrD,OAAO,EAAE,CAAC;iBACX,CAAC,CAAC;gBACH,IACE,OAAO,KAAK,IAAI;oBAChB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC5B,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;oBAC5B,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAC3B,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACjC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBAAC,MAAM,CAAC;oBACP,6DAA6D;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,sFAAsF;IACtF,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC7B,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,SAAS;YACjD,+EAA+E;YAC/E,wEAAwE;YACxE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,yBAAyB;gBACzB,sBAAsB;gBACtB,0BAA0B;gBAC1B,uBAAuB;gBACvB,sBAAsB;aACvB,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9B,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,KAAK,cAAc;gBACjC,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,IAAI;gBAC7B,CAAC,CAAC,IAAI,KAAK,KAAK,SAAS,GAAG,CAAC;QACjC,CAAC;IACH,CAAC;IAED,yFAAyF;IACzF,QAAQ,CAAC,GAAG,EAAE;QACZ,cAAc,CAAC,IAAI;YACjB,2EAA2E;YAC3E,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAC/B,MAAM,IAAI,GAAkB,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;gBACvB,iFAAiF;gBACjF,0EAA0E;gBAC1E,8EAA8E;gBAC9E,MAAM,SAAS,GACb,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;oBAC7B,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACvE,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,WAAW,CACX,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,EACrC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CACzB,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IAEH,+FAA+F;IAC/F,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,CAAC,mBAAmB,CACxC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE;YACnE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACxC,CAAC,CACH,CAAC;QACF,IAAI,MAAM,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAChD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,CACzB,mBAAmB,CAAC,IAAI,EAAE,WAAW,CAAC,EACtC,CAAC,CAAC,cAAc,CAAC;gBACf,CAAC,CAAC,mBAAmB,CACnB,CAAC,CAAC,gBAAgB,CAChB,GAAG,EACH,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;oBACjC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iBACpB,CAAC,EACF,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE;oBACjC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACtC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;iBACpB,CAAC,CACH,CACF;aACF,CAAC,CACH,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YACvC,0BAA0B,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAChC,0BAA0B,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,wFAAwF;IACxF,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACrD,WAAW,CAAC,IAAI,CACd,SAAS,WAAW,0NAA0N,cAAc,CAAC,cAAc,CAAC,kBAAkB,sBAAsB,cAAc,CAAC,cAAc,CAAC,kBAAkB,WAAW,cAAc,CAAC,cAAc,CAAC,cAAc,cAAc,CAC1a,CAAC;IACF,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,gBAAgB,GACpB,mBAAmB,CAAC,IAAI,GAAG,CAAC;QAC1B,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;QAC1B,CAAC,CAAC,CAAC,gBAAgB,EAAE,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;IAE1E,MAAM,eAAe,GACnB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1G,WAAW,CAAC,IAAI,CACd,YAAY,cAAc,qCAAqC,CAChE,CAAC;IACF,WAAW,CAAC,IAAI,CACd,qBAAqB,WAAW,WAAW,WAAW,4BAA4B,CACnF,CAAC;IACF,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,gFAAgF;QAChF,iEAAiE;QACjE,WAAW,CAAC,IAAI,CACd,wBAAwB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CACrH,CAAC;QACF,WAAW,CAAC,IAAI,CACd,oBAAoB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,oCAAoC,CAC3E,CAAC;QACF,WAAW,CAAC,IAAI,CACd,4BAA4B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,mCAAmC,CAClF,CAAC;QACF,WAAW,CAAC,IAAI,CACd,0BAA0B,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,mCAAmC,CAChF,CAAC;QACF,yBAAyB,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;QACxC,WAAW,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,WAAW,CAAC,IAAI,CACd,uBAAuB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG;QACnB,eAAe;QACf,YAAY;QACZ,YAAY;QACZ,YAAY;QACZ,WAAW;KACZ;SACE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC9C,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,IAAI,wBAAwB,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3F,WAAW,CAAC,IAAI,CAAC,aAAa,MAAM,yBAAyB,CAAC,CAAC;QAC/D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CACd,OAAO,MAAM,mCAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EACvE,OAAO,MAAM,oDAAoD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,0FAA0F,EAC9K,OAAO,MAAM,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,EACpE,OAAO,MAAM,2CAA2C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAC5F,CAAC;YACF,yBAAyB,IAAI,CAAC,CAAC;QACjC,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,WAAW,CAAC,IAAI,CACd,OAAO,MAAM,mBAAmB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,0CAA0C,EAC5F,OAAO,MAAM,uBAAuB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,EACxE,OAAO,MAAM,oCAAoC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,qDAAqD,CAC/I,CAAC;YACF,yBAAyB,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;SAAM,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnF,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7F,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,IAAI,KAAK,EAAE,CAAC;gBACV,WAAW,CAAC,IAAI,CAAC,OAAO,KAAK,+BAA+B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrF,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,IAAI,CACd,OAAO,OAAO,2CAA2C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4EAA4E,EACxJ,OAAO,OAAO,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAC7D,CAAC;gBACF,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,CAAC,IAAI,CAAC,OAAO,MAAM,mCAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACtG,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC9C,IAAI,SAAS,EAAE,CAAC;gBACd,WAAW,CAAC,IAAI,CAAC,OAAO,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,0CAA0C,CAAC,CAAC;gBAC1G,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC,OAAO,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;gBACjF,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,WAAW,CAAC,IAAI,CAAC,OAAO,IAAI,sBAAsB,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,4BAA4B,CAAC,CAAC;gBACxH,yBAAyB,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IACD,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,WAAW,CAAC,IAAI,CAAC,QAAQ,cAAc,GAAG,CAAC,CAAC;IAE5C,MAAM,8BAA8B,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CAC1E,cAAc,CAAC,cAAc,CAAC,IAAI,EAClC,EAAE,CACH,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,GAAG,CAAC,OAAO,CAAC,mBAAmB,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,WAAW,CAAC;QAC3D,eAAe,CAAC,cAAc;QAC9B,8BAA8B;KAC/B,CAAC;IAEF,MAAM,mBAAmB,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC7D,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAC,CAAC;IAEH,MAAM,2BAA2B,GAAkB,EAAE,CAAC;IACtD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACzD,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC;aAAM,IACL,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAC,CAAC,wBAAwB,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,CAAC,0BAA0B,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAC/B,CAAC;YACD,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,oGAAoG;IACpG,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,OAAO,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC;QAC5C,IAAI,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,IACE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EACxC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IAED,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC,GACnE,2BAA2B,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,MAAM,CACpE,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CACzC,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IAEvC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpE,IACE,qBAAqB,CAAC,MAAM,KAAK,oBAAoB,CAAC,MAAM;QAC5D,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,oBAAoB,CAAC,GAAG,CAAC,CAAC,EAC3E,CAAC;QACD,MAAM,IAAI,6BAA6B,CACrC,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CACxB,GAAG,EACH;QACE,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,KAAK;QACd,QAAQ,EAAE,IAAI;KACf,EACD,MAAM,CACP,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,WAAW,EAAE,gBAAgB;QAC7B,MAAM;QACN,eAAe,EAAE,oBAAoB;QACrC,sBAAsB,EACpB,MAAM,CAAC,kBAAkB,CAAC,MAAM;YAChC,eAAe,CAAC,mBAAmB;YACnC,cAAc,CAAC,WAAW,CAAC,uBAAuB,CAAC,MAAM;YACzD,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM;YAClD,CAAC;QACH,0BAA0B,EACxB,0BAA0B,GAAG,eAAe,CAAC,wBAAwB;QACvE,iCAAiC;QACjC,2BAA2B,EAAE,SAAS,EAAE,kCAAkC;QAC1E,yBAAyB,EACvB,yBAAyB,GAAG,eAAe,CAAC,qBAAqB;QACnE,mBAAmB,EACjB,mBAAmB,CAAC,MAAM;YAC1B,cAAc,CAAC,kBAAkB,CAAC,eAAe,CAAC,MAAM;QAC1D,qBAAqB,EACnB,aAAa,CAAC,MAAM,GAAG,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM;QACnE,sBAAsB,EAAE,gBAAgB,CAAC,iBAAiB;QAC1D,0BAA0B;QAC1B,gBAAgB;KACjB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"ast-shield.js","sourceRoot":"","sources":["../../../src/shields/javascript/ast-shield.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-diff-shield.d.ts","sourceRoot":"","sources":["../../../src/shields/runtime/memory-diff-shield.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,2BAA2B,
|
|
1
|
+
{"version":3,"file":"memory-diff-shield.d.ts","sourceRoot":"","sources":["../../../src/shields/runtime/memory-diff-shield.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,+BAA+B,EAAE,OAAO,CAAC;IAClD,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,mBAAgC,GAC1C,2BAA2B,CA4H7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,GACf,uBAAuB,CAgBzB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,EACX,mBAAmB,CAAC,EAAE,MAAM,GAC3B;IACD,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAwBA"}
|
|
@@ -53,6 +53,11 @@ export function generateShadowHeapChurnShield(prng, intensity = "balanced") {
|
|
|
53
53
|
const decoySecret = encodeSplitShareString(`TEE_ENCLAVE_MASTER_KEY_${tag}_SLOT_0x${prng.hex(8)}`, prng);
|
|
54
54
|
const splitShareHelper = generateSplitShareRuntimeHelper(tag, stepperFunctionName);
|
|
55
55
|
const mutationsPerStep = 8 + diffOverflowFieldsCount + decoySecret.originalLength * 2;
|
|
56
|
+
// Issue #40 template hygiene: never emit the classic 0x9e3779b9 probe bit-identically.
|
|
57
|
+
let mixConst = (prng.nextUint32() | 1) >>> 0;
|
|
58
|
+
// Avoid accidentally re-emitting the classic probe (hex or decimal).
|
|
59
|
+
if (mixConst === 0x9e3779b9)
|
|
60
|
+
mixConst ^= 2;
|
|
56
61
|
const code = [
|
|
57
62
|
`var ${heapObjectName} = {`,
|
|
58
63
|
` cursor: 0,`,
|
|
@@ -71,7 +76,7 @@ export function generateShadowHeapChurnShield(prng, intensity = "balanced") {
|
|
|
71
76
|
` if (!${heapObjectName}) return 0;`,
|
|
72
77
|
` const _d = ((delta | 0) ^ ${heapObjectName}.tick) | 1;`,
|
|
73
78
|
` ${heapObjectName}.tick = (${heapObjectName}.tick + 1) & 0x7fffffff;`,
|
|
74
|
-
` const _mask = Math.imul(_d,
|
|
79
|
+
` const _mask = Math.imul(_d, ${mixConst}) ^ (${heapObjectName}.rollingMask >>> 7);`,
|
|
75
80
|
` ${heapObjectName}.rollingMask = (_mask ^ 0x5bd1e995) & 0x7fffffff;`,
|
|
76
81
|
` const _len = ${heapObjectName}.slots.length;`,
|
|
77
82
|
` for (let _i = 0; _i < 8; _i++) {`,
|