@ryanstark24/sfgraph-cli 1.2.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +8 -3
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/diagnose.d.ts +139 -0
- package/dist/commands/diagnose.d.ts.map +1 -0
- package/dist/commands/diagnose.js +508 -0
- package/dist/commands/diagnose.js.map +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/ingest.d.ts +73 -0
- package/dist/commands/ingest.d.ts.map +1 -1
- package/dist/commands/ingest.js +362 -19
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/rebuild-bindings.d.ts.map +1 -1
- package/dist/commands/rebuild-bindings.js +2 -2
- package/dist/commands/rebuild-bindings.js.map +1 -1
- package/dist/commands/reset-elemid-map.d.ts.map +1 -1
- package/dist/commands/reset-elemid-map.js.map +1 -1
- package/dist/commands/serve.d.ts +7 -0
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +59 -1
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/skip-labels.d.ts +11 -0
- package/dist/commands/skip-labels.d.ts.map +1 -0
- package/dist/commands/skip-labels.js +15 -0
- package/dist/commands/skip-labels.js.map +1 -0
- package/dist/commands/telemetry.js +1 -1
- package/dist/commands/telemetry.js.map +1 -1
- package/dist/heap.d.ts +24 -0
- package/dist/heap.d.ts.map +1 -0
- package/dist/heap.js +45 -0
- package/dist/heap.js.map +1 -0
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +43 -2
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
- package/dist/__tests__/doctor.test.d.ts +0 -2
- package/dist/__tests__/doctor.test.d.ts.map +0 -1
- package/dist/__tests__/doctor.test.js +0 -64
- package/dist/__tests__/doctor.test.js.map +0 -1
- package/dist/__tests__/ingest-db-guard.test.d.ts +0 -2
- package/dist/__tests__/ingest-db-guard.test.d.ts.map +0 -1
- package/dist/__tests__/ingest-db-guard.test.js +0 -110
- package/dist/__tests__/ingest-db-guard.test.js.map +0 -1
- package/dist/__tests__/ingest-multi.test.d.ts +0 -2
- package/dist/__tests__/ingest-multi.test.d.ts.map +0 -1
- package/dist/__tests__/ingest-multi.test.js +0 -51
- package/dist/__tests__/ingest-multi.test.js.map +0 -1
- package/dist/__tests__/install-dry-run.test.d.ts +0 -2
- package/dist/__tests__/install-dry-run.test.d.ts.map +0 -1
- package/dist/__tests__/install-dry-run.test.js +0 -29
- package/dist/__tests__/install-dry-run.test.js.map +0 -1
- package/dist/__tests__/install-e2e.test.d.ts +0 -2
- package/dist/__tests__/install-e2e.test.d.ts.map +0 -1
- package/dist/__tests__/install-e2e.test.js +0 -33
- package/dist/__tests__/install-e2e.test.js.map +0 -1
- package/dist/__tests__/mcp-config.test.d.ts +0 -2
- package/dist/__tests__/mcp-config.test.d.ts.map +0 -1
- package/dist/__tests__/mcp-config.test.js +0 -104
- package/dist/__tests__/mcp-config.test.js.map +0 -1
- package/dist/__tests__/rebuild.test.d.ts +0 -2
- package/dist/__tests__/rebuild.test.d.ts.map +0 -1
- package/dist/__tests__/rebuild.test.js +0 -180
- package/dist/__tests__/rebuild.test.js.map +0 -1
- package/dist/__tests__/serve-guard.test.d.ts +0 -2
- package/dist/__tests__/serve-guard.test.d.ts.map +0 -1
- package/dist/__tests__/serve-guard.test.js +0 -82
- package/dist/__tests__/serve-guard.test.js.map +0 -1
- package/dist/__tests__/snapshot.test.d.ts +0 -2
- package/dist/__tests__/snapshot.test.d.ts.map +0 -1
- package/dist/__tests__/snapshot.test.js +0 -139
- package/dist/__tests__/snapshot.test.js.map +0 -1
- package/dist/__tests__/telemetry.test.d.ts +0 -2
- package/dist/__tests__/telemetry.test.d.ts.map +0 -1
- package/dist/__tests__/telemetry.test.js +0 -53
- package/dist/__tests__/telemetry.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3B;AA+DD,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD7D"}
|
package/dist/commands/audit.js
CHANGED
|
@@ -21,11 +21,13 @@ async function resolveOrgIdFromOpts(opts) {
|
|
|
21
21
|
function pad(s, n) {
|
|
22
22
|
return s.length >= n ? s : s + " ".repeat(n - s.length);
|
|
23
23
|
}
|
|
24
|
-
function printTable(orgId, totalEdges, danglingCount, byRel, byDstPrefix, sample) {
|
|
24
|
+
function printTable(orgId, totalEdges, danglingCount, platformRefCount, unexpectedCount, byRel, byDstPrefix, sample) {
|
|
25
25
|
const pct = totalEdges === 0 ? "0%" : `${((danglingCount / totalEdges) * 100).toFixed(1)}%`;
|
|
26
26
|
console.log(`audit: org=${orgId}`);
|
|
27
27
|
console.log(` total edges: ${totalEdges}`);
|
|
28
28
|
console.log(` dangling: ${danglingCount} (${pct})`);
|
|
29
|
+
console.log(` platform refs (expected — standard tabs / standard-schema fields): ${platformRefCount}`);
|
|
30
|
+
console.log(` unexpected (worth investigating): ${unexpectedCount}`);
|
|
29
31
|
if (danglingCount === 0)
|
|
30
32
|
return;
|
|
31
33
|
console.log("");
|
|
@@ -59,7 +61,7 @@ export async function auditCmd(opts) {
|
|
|
59
61
|
console.log(JSON.stringify({ orgId, ...result }, null, 2));
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
|
-
printTable(orgId, result.totalEdges, result.danglingCount, result.byRel, result.byDstPrefix, result.sample);
|
|
64
|
+
printTable(orgId, result.totalEdges, result.danglingCount, result.platformRefCount, result.unexpectedCount, result.byRel, result.byDstPrefix, result.sample);
|
|
63
65
|
}
|
|
64
66
|
if (opts.deleteDangling) {
|
|
65
67
|
if (!opts.yes) {
|
|
@@ -67,8 +69,11 @@ export async function auditCmd(opts) {
|
|
|
67
69
|
process.exitCode = 1;
|
|
68
70
|
return;
|
|
69
71
|
}
|
|
70
|
-
const { deleted } = deleteDanglingEdges(store, orgId);
|
|
72
|
+
const { deleted, keptPlatformRefs } = deleteDanglingEdges(store, orgId);
|
|
71
73
|
console.log(`audit: deleted ${deleted} dangling edge${deleted === 1 ? "" : "s"}.`);
|
|
74
|
+
if (keptPlatformRefs > 0) {
|
|
75
|
+
console.log(`audit: kept ${keptPlatformRefs} platform-builtin reference${keptPlatformRefs === 1 ? "" : "s"} (standard tabs / standard-schema fields — real security data with no metadata source).`);
|
|
76
|
+
}
|
|
72
77
|
}
|
|
73
78
|
}
|
|
74
79
|
finally {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { LiveIngestOpts, LiveIngestResult } from "@ryanstark24/sfgraph-core";
|
|
2
|
+
export type WedgeEventKind = "firstYield" | "inactivity" | "cap-evicted" | "resolvedLate";
|
|
3
|
+
export interface WedgeEvent {
|
|
4
|
+
kind: WedgeEventKind;
|
|
5
|
+
/** ms since this source started; `undefined` when not derivable from the
|
|
6
|
+
* warning string (e.g. cap-evicted carries ageMs, not start-relative). */
|
|
7
|
+
atMs?: number;
|
|
8
|
+
lastYieldedRecord?: string;
|
|
9
|
+
wedgedForMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface DiagnoseReportSourceEntry {
|
|
12
|
+
/** Source label (e.g. "lwc", "generic:Profile"). */
|
|
13
|
+
name: string;
|
|
14
|
+
startedAt?: string;
|
|
15
|
+
finishedAt?: string;
|
|
16
|
+
elapsedMs?: number;
|
|
17
|
+
/** Records observed for this source. Populated when the runner supplies
|
|
18
|
+
* onSourceStart/onSourceComplete callbacks. */
|
|
19
|
+
yieldCount: number;
|
|
20
|
+
wedged: boolean;
|
|
21
|
+
lastYieldedRecord?: string;
|
|
22
|
+
wedgeEvents: WedgeEvent[];
|
|
23
|
+
/** W1.5-07: surfaced when this label was refused by the deletion guard. */
|
|
24
|
+
needsDiagnose?: boolean;
|
|
25
|
+
error?: {
|
|
26
|
+
code: string;
|
|
27
|
+
message: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface DetectDeletionsRefusal {
|
|
31
|
+
label: string;
|
|
32
|
+
reason: "empty-stream" | "drop-ratio";
|
|
33
|
+
priorCount: number;
|
|
34
|
+
touchedCount?: number;
|
|
35
|
+
ratio?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface DiagnoseReport {
|
|
38
|
+
schemaVersion: 1;
|
|
39
|
+
diagnosticMode: true;
|
|
40
|
+
/** Caveat reproduced inside the report itself so anyone reading it later
|
|
41
|
+
* understands that wall-clock here != production throughput. */
|
|
42
|
+
note: string;
|
|
43
|
+
orgId: string;
|
|
44
|
+
alias?: string;
|
|
45
|
+
startedAt: string;
|
|
46
|
+
finishedAt: string;
|
|
47
|
+
totalElapsedMs: number;
|
|
48
|
+
exitStatus: "ok" | "failed" | "timeout";
|
|
49
|
+
capabilities: Record<string, unknown>;
|
|
50
|
+
config: {
|
|
51
|
+
sourceConcurrency: number;
|
|
52
|
+
toolingPool: number;
|
|
53
|
+
metadataPool: number;
|
|
54
|
+
dataPool: number;
|
|
55
|
+
/** Echo of the runtime watchdog budgets (NOT overridden by diagnose). */
|
|
56
|
+
watchdogFirstYieldMs?: number;
|
|
57
|
+
watchdogInactivityMs?: number;
|
|
58
|
+
backgroundWedgeCap?: number;
|
|
59
|
+
detectDeletionsMaxDropRatio?: number;
|
|
60
|
+
};
|
|
61
|
+
perSource: DiagnoseReportSourceEntry[];
|
|
62
|
+
detectDeletionsRefusals: DetectDeletionsRefusal[];
|
|
63
|
+
/** Raw namespaced warning strings, preserved verbatim. */
|
|
64
|
+
warnings: string[];
|
|
65
|
+
/** Source labels flagged as needing further diagnosis (typically via
|
|
66
|
+
* detect-deletions guard refusal). */
|
|
67
|
+
needsDiagnose: string[];
|
|
68
|
+
/** Optional error message when `exitStatus !== "ok"`. */
|
|
69
|
+
error?: string;
|
|
70
|
+
}
|
|
71
|
+
export declare class DiagnoseReporter {
|
|
72
|
+
private readonly perSource;
|
|
73
|
+
private readonly refusals;
|
|
74
|
+
private readonly startedAt;
|
|
75
|
+
private readonly orgId;
|
|
76
|
+
private readonly alias?;
|
|
77
|
+
constructor(orgId: string, alias?: string, startedAtEpoch?: number);
|
|
78
|
+
/** Called when a source begins. Idempotent. */
|
|
79
|
+
noteSourceStart(label: string, atEpoch?: number): void;
|
|
80
|
+
/** Called when a source completes (success OR caught error). */
|
|
81
|
+
noteSourceComplete(label: string, info?: {
|
|
82
|
+
recordCount: number;
|
|
83
|
+
error?: Error;
|
|
84
|
+
}, atEpoch?: number): void;
|
|
85
|
+
/** Parse warnings produced by the ingest into structured wedge events +
|
|
86
|
+
* detect-deletions refusal records. Warnings are emitted in the
|
|
87
|
+
* documented namespaced format (see bulk-retrieve.ts fmtWedgeWarning +
|
|
88
|
+
* detect-deletions-guard.ts). */
|
|
89
|
+
ingestWarnings(warnings: readonly string[]): void;
|
|
90
|
+
ingestWarning(w: string): void;
|
|
91
|
+
build(opts: {
|
|
92
|
+
finishedAtEpoch?: number;
|
|
93
|
+
capabilities: Record<string, unknown>;
|
|
94
|
+
config: DiagnoseReport["config"];
|
|
95
|
+
warnings: readonly string[];
|
|
96
|
+
exitStatus: DiagnoseReport["exitStatus"];
|
|
97
|
+
error?: string;
|
|
98
|
+
}): DiagnoseReport;
|
|
99
|
+
}
|
|
100
|
+
export declare function defaultReportPath(orgId: string, now?: Date): string;
|
|
101
|
+
export interface DiagnoseOpts {
|
|
102
|
+
/** Salesforce alias / username / orgId. Treated identically to `ingest --org`. */
|
|
103
|
+
orgId: string;
|
|
104
|
+
/** Override the default report path. */
|
|
105
|
+
output?: string;
|
|
106
|
+
/** Overall diagnose timeout in seconds. Default 600 (10min). */
|
|
107
|
+
maxDuration?: number;
|
|
108
|
+
/** Stream per-source timing to stdout in addition to the JSON report. */
|
|
109
|
+
verbose?: boolean;
|
|
110
|
+
/** Write to the real org graph DB instead of a temp DB. Default false. */
|
|
111
|
+
keepGraph?: boolean;
|
|
112
|
+
}
|
|
113
|
+
/** Internal injection seam: the heavy ingest runner. Production code points
|
|
114
|
+
* at `liveIngest` (lazy-imported). Tests pass a stub. */
|
|
115
|
+
export type DiagnoseLiveRunner = (opts: LiveIngestOpts, reporter: DiagnoseReporter) => Promise<LiveIngestResult>;
|
|
116
|
+
/** Internal injection seam: org-alias resolver. Production code points at
|
|
117
|
+
* `resolveOrg`. Tests pass a stub. */
|
|
118
|
+
export type DiagnoseResolveOrg = (alias: string) => Promise<{
|
|
119
|
+
alias: string;
|
|
120
|
+
orgId: string;
|
|
121
|
+
apiVersion?: string;
|
|
122
|
+
conn?: unknown;
|
|
123
|
+
instanceUrl?: string;
|
|
124
|
+
}>;
|
|
125
|
+
export interface DiagnoseDeps {
|
|
126
|
+
runner?: DiagnoseLiveRunner;
|
|
127
|
+
resolveOrg?: DiagnoseResolveOrg;
|
|
128
|
+
/** Override `Date.now()` for deterministic timestamps in tests. */
|
|
129
|
+
now?: () => number;
|
|
130
|
+
}
|
|
131
|
+
export declare function diagnoseCmd(opts: DiagnoseOpts, deps?: DiagnoseDeps): Promise<{
|
|
132
|
+
reportPath: string;
|
|
133
|
+
report: DiagnoseReport;
|
|
134
|
+
}>;
|
|
135
|
+
/** Top-N by elapsedMs descending. Sources without elapsedMs (never
|
|
136
|
+
* completed) sort to the bottom; if they're wedged we still want them
|
|
137
|
+
* visible, so bump their effective elapsed to maxDurationMs-equivalent. */
|
|
138
|
+
export declare function topSlowestSources(perSource: readonly DiagnoseReportSourceEntry[], n: number): DiagnoseReportSourceEntry[];
|
|
139
|
+
//# sourceMappingURL=diagnose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnose.d.ts","sourceRoot":"","sources":["../../src/commands/diagnose.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAQlF,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1F,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,CAAC;IACrB;+EAC2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;oDACgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,2EAA2E;IAC3E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,CAAC,CAAC;IACjB,cAAc,EAAE,IAAI,CAAC;IACrB;qEACiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,yEAAyE;QACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,2BAA2B,CAAC,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,yBAAyB,EAAE,CAAC;IACvC,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAClD,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;2CACuC;IACvC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgD;IAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgC;IACzD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;gBAEpB,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,GAAE,MAAmB;IAM9E,+CAA+C;IAC/C,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmB,GAAG,IAAI;IAclE,gEAAgE;IAChE,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAuB,EACjE,OAAO,GAAE,MAAmB,GAC3B,IAAI;IAiBP;;;sCAGkC;IAClC,cAAc,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAMjD,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAoG9B,KAAK,CAAC,IAAI,EAAE;QACV,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QAC5B,UAAU,EAAE,cAAc,CAAC,YAAY,CAAC,CAAC;QACzC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,cAAc;CA6BnB;AAqBD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,IAAiB,GAAG,MAAM,CAO/E;AAMD,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;0DAC0D;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAC/B,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,gBAAgB,KACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/B;uCACuC;AACvC,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAaD,wBAAsB,WAAW,CAC/B,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC;IACT,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC,CAmKD;AAoGD;;4EAE4E;AAC5E,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,yBAAyB,EAAE,EAC/C,CAAC,EAAE,MAAM,GACR,yBAAyB,EAAE,CAU7B"}
|