@elaraai/e3-cli 1.0.79 → 1.0.81
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 +115 -25
- package/dist/src/cli.js +51 -9
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/budget.d.ts +32 -0
- package/dist/src/commands/budget.d.ts.map +1 -0
- package/dist/src/commands/budget.js +46 -0
- package/dist/src/commands/budget.js.map +1 -0
- package/dist/src/commands/call.d.ts +2 -1
- package/dist/src/commands/call.d.ts.map +1 -1
- package/dist/src/commands/call.js +5 -3
- package/dist/src/commands/call.js.map +1 -1
- package/dist/src/commands/compact.spec.js +7 -6
- package/dist/src/commands/compact.spec.js.map +1 -1
- package/dist/src/commands/history.d.ts +1 -0
- package/dist/src/commands/history.d.ts.map +1 -1
- package/dist/src/commands/history.js +30 -9
- package/dist/src/commands/history.js.map +1 -1
- package/dist/src/commands/logs.d.ts +2 -2
- package/dist/src/commands/logs.d.ts.map +1 -1
- package/dist/src/commands/logs.js +28 -28
- package/dist/src/commands/logs.js.map +1 -1
- package/dist/src/commands/logs.spec.js +4 -1
- package/dist/src/commands/logs.spec.js.map +1 -1
- package/dist/src/commands/mutate.d.ts +2 -1
- package/dist/src/commands/mutate.d.ts.map +1 -1
- package/dist/src/commands/mutate.js +42 -19
- package/dist/src/commands/mutate.js.map +1 -1
- package/dist/src/commands/reindex.d.ts +12 -0
- package/dist/src/commands/reindex.d.ts.map +1 -0
- package/dist/src/commands/reindex.js +67 -0
- package/dist/src/commands/reindex.js.map +1 -0
- package/dist/src/commands/repo.d.ts +4 -1
- package/dist/src/commands/repo.d.ts.map +1 -1
- package/dist/src/commands/repo.js +32 -16
- package/dist/src/commands/repo.js.map +1 -1
- package/dist/src/commands/run.d.ts +2 -1
- package/dist/src/commands/run.d.ts.map +1 -1
- package/dist/src/commands/run.js +15 -21
- package/dist/src/commands/run.js.map +1 -1
- package/dist/src/commands/set.d.ts +2 -1
- package/dist/src/commands/set.d.ts.map +1 -1
- package/dist/src/commands/set.js +64 -25
- package/dist/src/commands/set.js.map +1 -1
- package/dist/src/commands/start.d.ts +2 -2
- package/dist/src/commands/start.d.ts.map +1 -1
- package/dist/src/commands/start.js +33 -27
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/watch.d.ts +4 -2
- package/dist/src/commands/watch.d.ts.map +1 -1
- package/dist/src/commands/watch.js +35 -9
- package/dist/src/commands/watch.js.map +1 -1
- package/dist/src/commands/workspace.d.ts +25 -2
- package/dist/src/commands/workspace.d.ts.map +1 -1
- package/dist/src/commands/workspace.js +230 -32
- package/dist/src/commands/workspace.js.map +1 -1
- package/dist/src/format.d.ts +12 -0
- package/dist/src/format.d.ts.map +1 -1
- package/dist/src/format.js +19 -3
- package/dist/src/format.js.map +1 -1
- package/dist/src/intake.d.ts +109 -0
- package/dist/src/intake.d.ts.map +1 -0
- package/dist/src/intake.js +290 -0
- package/dist/src/intake.js.map +1 -0
- package/dist/src/intake.spec.d.ts +6 -0
- package/dist/src/intake.spec.d.ts.map +1 -0
- package/dist/src/intake.spec.js +162 -0
- package/dist/src/intake.spec.js.map +1 -0
- package/dist/src/path-resolver.d.ts.map +1 -1
- package/dist/src/path-resolver.js +3 -2
- package/dist/src/path-resolver.js.map +1 -1
- package/dist/src/progress.d.ts +1 -1
- package/dist/src/progress.d.ts.map +1 -1
- package/dist/src/progress.js +10 -10
- package/dist/src/progress.js.map +1 -1
- package/dist/src/progress.spec.js +17 -1
- package/dist/src/progress.spec.js.map +1 -1
- package/dist/src/utils.d.ts +15 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +25 -7
- package/dist/src/utils.js.map +1 -1
- package/package.json +7 -7
- package/dist/src/commands/jobs.d.ts +0 -25
- package/dist/src/commands/jobs.d.ts.map +0 -1
- package/dist/src/commands/jobs.js +0 -39
- package/dist/src/commands/jobs.js.map +0 -1
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* e3 workspace commands - Workspace management
|
|
7
7
|
*/
|
|
8
|
-
import { type WorkspaceStatusResult } from '@elaraai/e3-core';
|
|
8
|
+
import { type WorkspaceStatusResult, type RecordPlan, type SchemaPolicy } from '@elaraai/e3-core';
|
|
9
|
+
import { type BudgetFlags } from './budget.js';
|
|
9
10
|
export declare const workspaceCommand: {
|
|
10
11
|
/**
|
|
11
12
|
* Create an empty workspace.
|
|
@@ -25,13 +26,25 @@ export declare const workspaceCommand: {
|
|
|
25
26
|
* deploy adopts them, a remote one checks each before touching the remote
|
|
26
27
|
* workspace and uploads it after the deploy. `--skip-file-sources` leaves them
|
|
27
28
|
* unset instead.
|
|
29
|
+
*
|
|
30
|
+
* A deploy says what it decides for each record and index: `--schema` says
|
|
31
|
+
* what it does with a record it cannot keep as it is, `--allow-drop-records`
|
|
32
|
+
* lets it drop one the package no longer declares, and `--plan` says it all
|
|
33
|
+
* and writes nothing. A server runs the deploy as a job, which this polls.
|
|
34
|
+
*
|
|
35
|
+
* A plan from a zip or a source imports nothing: locally it reads the package
|
|
36
|
+
* from the zip where it is, and a server, which plans only a package it
|
|
37
|
+
* holds, is refused one, naming the import that comes first.
|
|
28
38
|
*/
|
|
29
|
-
deploy(repoArg: string, ws: string, pkgSpec: string | undefined, options?: {
|
|
39
|
+
deploy(repoArg: string, ws: string, pkgSpec: string | undefined, options?: BudgetFlags & {
|
|
30
40
|
fromZip?: string;
|
|
31
41
|
fromSource?: string;
|
|
32
42
|
functions?: string[];
|
|
33
43
|
quiet?: boolean;
|
|
34
44
|
skipFileSources?: boolean;
|
|
45
|
+
schema?: string;
|
|
46
|
+
allowDropRecords?: boolean;
|
|
47
|
+
plan?: boolean;
|
|
35
48
|
}): Promise<void>;
|
|
36
49
|
/**
|
|
37
50
|
* Export workspace as a package.
|
|
@@ -54,6 +67,16 @@ export declare const workspaceCommand: {
|
|
|
54
67
|
*/
|
|
55
68
|
status(repoArg: string, ws: string): Promise<void>;
|
|
56
69
|
};
|
|
70
|
+
/**
|
|
71
|
+
* The `--schema` policy a command was given, or undefined when it was given
|
|
72
|
+
* none.
|
|
73
|
+
*
|
|
74
|
+
* @param value - The option's value
|
|
75
|
+
* @returns The policy
|
|
76
|
+
*/
|
|
77
|
+
export declare function schemaPolicy(value: string | undefined): SchemaPolicy | undefined;
|
|
78
|
+
/** What a deploy decided for a record, as a line the CLI prints. */
|
|
79
|
+
export declare function recordPlanLine(plan: RecordPlan): string;
|
|
57
80
|
/**
|
|
58
81
|
* Format task status for display.
|
|
59
82
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EAaL,KAAK,qBAAqB,EAI1B,KAAK,UAAU,EACf,KAAK,YAAY,EAElB,MAAM,kBAAkB,CAAC;AAyB1B,OAAO,EAAqC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAElF,eAAO,MAAM,gBAAgB;IAC3B;;OAEG;oBACmB,MAAM,QAAQ,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1D;;;;;;;;;;;;;;;;;;;;;;;OAuBG;oBAEQ,MAAM,MACX,MAAM,WACD,MAAM,GAAG,SAAS,YAClB,WAAW,GAAG;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAC;QACxG,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;KAC7D,GACA,OAAO,CAAC,IAAI,CAAC;IA6DhB;;OAEG;oBAEQ,MAAM,MACX,MAAM,WACD,MAAM,WACN;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5D,OAAO,CAAC,IAAI,CAAC;IA0DhB;;OAEG;kBACiB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C1C;;OAEG;oBACmB,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxD;;OAEG;oBACmB,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAmHzD,CAAC;AAuBF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAIhF;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAUvD;AA0cD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAmB5F"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* e3 workspace commands - Workspace management
|
|
7
7
|
*/
|
|
8
|
-
import { workspaceCreate, workspaceDeploy, workspaceExport, workspaceList, workspaceRemove, workspaceGetState, workspaceStatus, packageImport, packageRead, LocalStorage, WorkspaceExistsError, } from '@elaraai/e3-core';
|
|
8
|
+
import { workspaceCreate, workspaceDeploy, workspaceExport, workspaceList, workspaceRemove, workspaceGetState, workspaceStatus, packageImport, packageRead, packageZipOpen, LocalStorage, WorkspaceExistsError, LocalTaskRunner, } from '@elaraai/e3-core';
|
|
9
9
|
import { workspaceCreate as workspaceCreateRemote, workspaceDeploy as workspaceDeployRemote, workspaceExport as workspaceExportRemote, workspaceList as workspaceListRemote, workspaceRemove as workspaceRemoveRemote, workspaceStatus as workspaceStatusRemote, packageImport as packageImportRemote, packageGet as packageGetRemote, packageList as packageListRemote, datasetSetStream, ApiError, } from '@elaraai/e3-api-client';
|
|
10
10
|
import { readFileSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
11
11
|
import * as os from 'node:os';
|
|
@@ -15,7 +15,9 @@ import { treePath } from '@elaraai/e3-types';
|
|
|
15
15
|
import { parseRepoLocation, parsePackageSpec, formatError, exitError } from '../utils.js';
|
|
16
16
|
import { loadPackageFile } from './load-package.js';
|
|
17
17
|
import { createProgress, formatBytes } from '../progress.js';
|
|
18
|
+
import { deployJobText, intakeReporter, uploadReporter } from '../intake.js';
|
|
18
19
|
import { fileTransferSource } from '../file-transfer-source.js';
|
|
20
|
+
import { commandBudget, refuseRemoteBudget } from './budget.js';
|
|
19
21
|
export const workspaceCommand = {
|
|
20
22
|
/**
|
|
21
23
|
* Create an empty workspace.
|
|
@@ -51,6 +53,15 @@ export const workspaceCommand = {
|
|
|
51
53
|
* deploy adopts them, a remote one checks each before touching the remote
|
|
52
54
|
* workspace and uploads it after the deploy. `--skip-file-sources` leaves them
|
|
53
55
|
* unset instead.
|
|
56
|
+
*
|
|
57
|
+
* A deploy says what it decides for each record and index: `--schema` says
|
|
58
|
+
* what it does with a record it cannot keep as it is, `--allow-drop-records`
|
|
59
|
+
* lets it drop one the package no longer declares, and `--plan` says it all
|
|
60
|
+
* and writes nothing. A server runs the deploy as a job, which this polls.
|
|
61
|
+
*
|
|
62
|
+
* A plan from a zip or a source imports nothing: locally it reads the package
|
|
63
|
+
* from the zip where it is, and a server, which plans only a package it
|
|
64
|
+
* holds, is refused one, naming the import that comes first.
|
|
54
65
|
*/
|
|
55
66
|
async deploy(repoArg, ws, pkgSpec, options = {}) {
|
|
56
67
|
try {
|
|
@@ -62,10 +73,26 @@ export const workspaceCommand = {
|
|
|
62
73
|
exitError('Provide exactly one of: package spec, --from-zip, --from-source');
|
|
63
74
|
}
|
|
64
75
|
const location = await parseRepoLocation(repoArg);
|
|
76
|
+
const schema = schemaPolicy(options.schema);
|
|
77
|
+
if (location.type === 'remote')
|
|
78
|
+
refuseRemoteBudget(options);
|
|
65
79
|
const progress = createProgress({ quiet: options.quiet === true });
|
|
66
|
-
const target = {
|
|
80
|
+
const target = {
|
|
81
|
+
location, repoArg, ws, progress, skipFileSources: options.skipFileSources === true,
|
|
82
|
+
...(schema !== undefined && { schema }),
|
|
83
|
+
allowDropRecords: options.allowDropRecords === true,
|
|
84
|
+
plan: options.plan === true,
|
|
85
|
+
...(location.type === 'local' && { budget: commandBudget(options) }),
|
|
86
|
+
};
|
|
67
87
|
// --from-source mode: bundle the TS source into a package, then import + deploy
|
|
68
88
|
if (options.fromSource) {
|
|
89
|
+
// Refused before the source is bundled: the zip it becomes is gone
|
|
90
|
+
// once the command ends, so the refusal cannot name it.
|
|
91
|
+
if (target.plan && location.type === 'remote') {
|
|
92
|
+
exitError(`--plan writes nothing, and a server plans only a package it holds: export ${options.fromSource}'s package ` +
|
|
93
|
+
`to a zip with e3.export, import it with \`e3 package import ${repoArg} <zip>\`, then plan with ` +
|
|
94
|
+
`\`e3 workspace deploy ${repoArg} ${ws} <name>@<version> --plan\``);
|
|
95
|
+
}
|
|
69
96
|
await deployFromSource(target, options.fromSource, options.functions ?? []);
|
|
70
97
|
return;
|
|
71
98
|
}
|
|
@@ -76,11 +103,7 @@ export const workspaceCommand = {
|
|
|
76
103
|
}
|
|
77
104
|
const { name, version } = parsePackageSpec(pkgSpec);
|
|
78
105
|
if (location.type === 'local') {
|
|
79
|
-
|
|
80
|
-
await workspaceDeploy(storage, location.path, ws, name, version, { resolveFileSources: !target.skipFileSources });
|
|
81
|
-
if (target.skipFileSources) {
|
|
82
|
-
reportSkippedFileSources(target, fileSourcesOf(await packageRead(storage, location.path, name, version)));
|
|
83
|
-
}
|
|
106
|
+
await deployLocal(target, new LocalStorage(), location.path, name, version);
|
|
84
107
|
}
|
|
85
108
|
else {
|
|
86
109
|
// Resolve `latest` here, so the package this command checks the file
|
|
@@ -88,7 +111,8 @@ export const workspaceCommand = {
|
|
|
88
111
|
const resolved = version === 'latest' ? await latestRemoteVersion(location, name) : version;
|
|
89
112
|
await deployRemote(target, name, resolved);
|
|
90
113
|
}
|
|
91
|
-
|
|
114
|
+
if (!target.plan)
|
|
115
|
+
console.log(`Deployed ${pkgSpec} to workspace: ${ws}`);
|
|
92
116
|
}
|
|
93
117
|
catch (err) {
|
|
94
118
|
exitError(formatError(err));
|
|
@@ -227,7 +251,7 @@ export const workspaceCommand = {
|
|
|
227
251
|
let status;
|
|
228
252
|
if (location.type === 'local') {
|
|
229
253
|
const storage = new LocalStorage();
|
|
230
|
-
status = await workspaceStatus(storage, location.path, ws);
|
|
254
|
+
status = await workspaceStatus(storage, new LocalTaskRunner(location.path), location.path, ws);
|
|
231
255
|
}
|
|
232
256
|
else {
|
|
233
257
|
const remoteStatus = await workspaceStatusRemote(location.baseUrl, location.repo, ws, { token: location.token });
|
|
@@ -253,6 +277,7 @@ export const workspaceCommand = {
|
|
|
253
277
|
inputs: t.inputs,
|
|
254
278
|
output: t.output,
|
|
255
279
|
dependsOn: t.dependsOn,
|
|
280
|
+
peakBytes: t.peakBytes.type === 'some' ? Number(t.peakBytes.value) : null,
|
|
256
281
|
})),
|
|
257
282
|
summary: {
|
|
258
283
|
datasets: {
|
|
@@ -338,6 +363,106 @@ export const workspaceCommand = {
|
|
|
338
363
|
}
|
|
339
364
|
},
|
|
340
365
|
};
|
|
366
|
+
/**
|
|
367
|
+
* The `--schema` policy a command was given, or undefined when it was given
|
|
368
|
+
* none.
|
|
369
|
+
*
|
|
370
|
+
* @param value - The option's value
|
|
371
|
+
* @returns The policy
|
|
372
|
+
*/
|
|
373
|
+
export function schemaPolicy(value) {
|
|
374
|
+
if (value === undefined)
|
|
375
|
+
return undefined;
|
|
376
|
+
if (value === 'migrate' || value === 'fail' || value === 'reset')
|
|
377
|
+
return value;
|
|
378
|
+
exitError(`--schema takes migrate, fail or reset, not '${value}'`);
|
|
379
|
+
}
|
|
380
|
+
/** What a deploy decided for a record, as a line the CLI prints. */
|
|
381
|
+
export function recordPlanLine(plan) {
|
|
382
|
+
const { action } = plan;
|
|
383
|
+
switch (action.type) {
|
|
384
|
+
case 'mint': return `mint record ${plan.record}`;
|
|
385
|
+
case 'keep': return `keep record ${plan.record}${action.value.deploy ? ', with a $deploy commit: the package under it changed' : ''}`;
|
|
386
|
+
case 'migrate': return `migrate record ${plan.record}: ${action.value.steps.join(', ')}`;
|
|
387
|
+
case 'reset': return `reset record ${plan.record}: it ${action.value.reason}`;
|
|
388
|
+
case 'drop': return `drop record ${plan.record}, with its state and history`;
|
|
389
|
+
case 'refused': return `refuse record ${plan.record}: it ${action.value.reason}`;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* What a deploy says about each record and index it decides for: every
|
|
394
|
+
* decision under `--plan`, and otherwise the ones that change something.
|
|
395
|
+
*
|
|
396
|
+
* @remarks
|
|
397
|
+
* A local deploy says each as it decides it, before the migration or index
|
|
398
|
+
* build it names runs, since those are the parts of a deploy that take
|
|
399
|
+
* minutes. A server's job reports them all once it has finished.
|
|
400
|
+
*
|
|
401
|
+
* @param target - The deploy
|
|
402
|
+
* @returns Where the deploy's decisions go, and the end of a plan, which fails
|
|
403
|
+
* when the deploy would be refused
|
|
404
|
+
*/
|
|
405
|
+
function deployReporter(target) {
|
|
406
|
+
let refused = 0;
|
|
407
|
+
return {
|
|
408
|
+
onRecordPlan: (plan) => {
|
|
409
|
+
const action = plan.action.type;
|
|
410
|
+
if (action === 'refused')
|
|
411
|
+
refused++;
|
|
412
|
+
if (target.plan || action === 'migrate' || action === 'reset' || action === 'drop') {
|
|
413
|
+
console.log(` ${recordPlanLine(plan)}`);
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
onRecordIndex: (plan) => {
|
|
417
|
+
if (target.plan || plan.action.type !== 'keep')
|
|
418
|
+
console.log(` ${plan.action.type} index ${plan.record}.${plan.index}`);
|
|
419
|
+
},
|
|
420
|
+
endPlan: () => {
|
|
421
|
+
if (refused > 0)
|
|
422
|
+
exitError(`the deploy would be refused: ${refused === 1 ? 'a record' : `${refused} records`}, above`);
|
|
423
|
+
console.log('A plan: nothing was written.');
|
|
424
|
+
},
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Deploy an imported package to a LOCAL workspace, saying what the deploy
|
|
429
|
+
* decides for each record and index; with `--plan`, only saying it. A plan's
|
|
430
|
+
* package may be read through a view of a zip, which the repository does not
|
|
431
|
+
* hold.
|
|
432
|
+
*
|
|
433
|
+
* @remarks
|
|
434
|
+
* The package's `file` sources are taken in as many at a time as the budget
|
|
435
|
+
* has cores, each saying how far it has got: intake units on the runners take
|
|
436
|
+
* each in, in pieces, their runner processes taking cores from the budget.
|
|
437
|
+
*/
|
|
438
|
+
async function deployLocal(target, storage, repoPath, name, version) {
|
|
439
|
+
const report = deployReporter(target);
|
|
440
|
+
const intake = intakeReporter(target.progress);
|
|
441
|
+
try {
|
|
442
|
+
await workspaceDeploy(storage, repoPath, target.ws, name, version, {
|
|
443
|
+
resolveFileSources: !target.skipFileSources,
|
|
444
|
+
runner: new LocalTaskRunner(repoPath, target.budget),
|
|
445
|
+
...(target.schema !== undefined && { schema: target.schema }),
|
|
446
|
+
allowDropRecords: target.allowDropRecords,
|
|
447
|
+
plan: target.plan,
|
|
448
|
+
onRecordPlan: report.onRecordPlan,
|
|
449
|
+
onRecordIndex: report.onRecordIndex,
|
|
450
|
+
sourceConcurrency: target.budget?.cores ?? 1,
|
|
451
|
+
onSourceProgress: (progress) => intake.report(progress),
|
|
452
|
+
});
|
|
453
|
+
}
|
|
454
|
+
catch (err) {
|
|
455
|
+
intake.fail();
|
|
456
|
+
throw err;
|
|
457
|
+
}
|
|
458
|
+
if (target.plan) {
|
|
459
|
+
report.endPlan();
|
|
460
|
+
return;
|
|
461
|
+
}
|
|
462
|
+
if (target.skipFileSources) {
|
|
463
|
+
reportSkippedFileSources(target, fileSourcesOf(await packageRead(storage, repoPath, name, version)));
|
|
464
|
+
}
|
|
465
|
+
}
|
|
341
466
|
/**
|
|
342
467
|
* The `file` sources a package declares, with each input's dataset path and
|
|
343
468
|
* declared type.
|
|
@@ -401,18 +526,28 @@ async function latestRemoteVersion(location, name) {
|
|
|
401
526
|
throw new Error(`Package not found: ${name}`);
|
|
402
527
|
return latest;
|
|
403
528
|
}
|
|
529
|
+
/** How many file sources a remote deploy uploads at once. */
|
|
530
|
+
const UPLOAD_CONCURRENCY = 4;
|
|
404
531
|
/**
|
|
405
532
|
* Deploy an imported package to a REMOTE workspace, completing its `file`
|
|
406
|
-
* sources from this machine.
|
|
533
|
+
* sources from this machine; with `--plan`, only saying what it would do.
|
|
407
534
|
*
|
|
408
535
|
* @remarks
|
|
536
|
+
* The server runs the deploy as a job, which this polls, saying what the job
|
|
537
|
+
* says it is doing — migrating a record, building an index — and what it
|
|
538
|
+
* decided for each record and index once it has finished.
|
|
539
|
+
*
|
|
409
540
|
* A `file` source names a path on the machine that exported the package, and
|
|
410
541
|
* the server never opens it: it leaves those inputs unassigned. So each source
|
|
411
542
|
* is checked HERE before the remote workspace is touched, the server deploys,
|
|
412
543
|
* and each delivery is then streamed over the dataset transfer protocol, whose
|
|
413
544
|
* commit runs the same validation a local deploy's adopt does. The transfer
|
|
414
545
|
* dedups on the hash, so a redeploy whose delivery has not changed costs one
|
|
415
|
-
* round trip and no bytes.
|
|
546
|
+
* round trip and no bytes. The deliveries are uploaded a few at a time, as a
|
|
547
|
+
* local deploy takes them in side by side, one live line naming those in
|
|
548
|
+
* flight: how far each hash has got, then what the server's commit is doing
|
|
549
|
+
* with it. The first failure is reported at once. A plan writes nothing, so it
|
|
550
|
+
* reads no source.
|
|
416
551
|
*/
|
|
417
552
|
async function deployRemote(target, name, version) {
|
|
418
553
|
const { location, ws, progress } = target;
|
|
@@ -420,44 +555,110 @@ async function deployRemote(target, name, version) {
|
|
|
420
555
|
throw new Error('deployRemote needs a remote repository');
|
|
421
556
|
const auth = { token: location.token };
|
|
422
557
|
const sources = fileSourcesOf(await packageGetRemote(location.baseUrl, location.repo, name, version, auth));
|
|
423
|
-
if (!target.skipFileSources) {
|
|
558
|
+
if (!target.skipFileSources && !target.plan) {
|
|
424
559
|
for (const source of sources)
|
|
425
560
|
checkFileSource(target, source);
|
|
426
561
|
}
|
|
427
|
-
const
|
|
562
|
+
const doing = target.plan ? 'planning' : 'deploying';
|
|
563
|
+
const deployStep = progress.step(`${doing} ${name}@${version} to workspace ${ws}`);
|
|
564
|
+
let result;
|
|
428
565
|
try {
|
|
429
|
-
await workspaceDeployRemote(location.baseUrl, location.repo, ws, `${name}@${version}`, auth
|
|
566
|
+
result = await workspaceDeployRemote(location.baseUrl, location.repo, ws, `${name}@${version}`, auth, {
|
|
567
|
+
...(target.schema !== undefined && { schema: target.schema }),
|
|
568
|
+
allowDropRecords: target.allowDropRecords,
|
|
569
|
+
plan: target.plan,
|
|
570
|
+
onProgress: (p) => {
|
|
571
|
+
const now = p.type === 'pending' ? 'waiting for server'
|
|
572
|
+
: p.value.type === 'some' ? deployJobText(p.value.value) : 'running on the server';
|
|
573
|
+
deployStep.update(`${doing}… ${now}`);
|
|
574
|
+
},
|
|
575
|
+
});
|
|
430
576
|
}
|
|
431
577
|
catch (err) {
|
|
432
578
|
deployStep.fail();
|
|
433
579
|
throw err;
|
|
434
580
|
}
|
|
435
|
-
deployStep.done(
|
|
581
|
+
deployStep.done(`${target.plan ? 'planned' : 'deployed'} ${name}@${version} to workspace ${ws}`);
|
|
582
|
+
const report = deployReporter(target);
|
|
583
|
+
for (const plan of result.records)
|
|
584
|
+
report.onRecordPlan(plan);
|
|
585
|
+
for (const plan of result.indexes)
|
|
586
|
+
report.onRecordIndex(plan);
|
|
587
|
+
if (target.plan) {
|
|
588
|
+
report.endPlan();
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
436
591
|
if (target.skipFileSources) {
|
|
437
592
|
reportSkippedFileSources(target, sources);
|
|
438
593
|
return;
|
|
439
594
|
}
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
595
|
+
if (sources.length === 0)
|
|
596
|
+
return;
|
|
597
|
+
const sized = sources.map((source) => ({
|
|
598
|
+
source,
|
|
599
|
+
size: readDatasetFileHeader(source.file, `input '${source.name}'`, source.type).size,
|
|
600
|
+
}));
|
|
601
|
+
const upload = uploadReporter(progress, sized.length, sized.reduce((sum, { size }) => sum + size, 0));
|
|
602
|
+
let next = 0;
|
|
603
|
+
let failed = false;
|
|
604
|
+
const uploader = async () => {
|
|
605
|
+
// Files are claimed one at a time; once one fails the rest are left unsent.
|
|
606
|
+
for (let index = next++; index < sized.length && !failed; index = next++) {
|
|
607
|
+
const { source, size } = sized[index];
|
|
608
|
+
const file = upload.start(source.name, size);
|
|
609
|
+
try {
|
|
610
|
+
const hash = await sha256File(source.file, (read) => file.hashing(read));
|
|
611
|
+
file.sending();
|
|
612
|
+
await datasetSetStream(location.baseUrl, location.repo, ws, source.treePath, fileTransferSource(source.file, size, hash), auth, { onCommitProgress: (intake) => file.committing(intake) });
|
|
613
|
+
file.done(`uploaded ${ws}.${source.name} (${formatBytes(size)}, ${hash.slice(0, 12)}...)`);
|
|
614
|
+
}
|
|
615
|
+
catch (err) {
|
|
616
|
+
failed = true;
|
|
617
|
+
throw err;
|
|
618
|
+
}
|
|
451
619
|
}
|
|
620
|
+
};
|
|
621
|
+
try {
|
|
622
|
+
// The first failure is reported without waiting on the uploads in flight,
|
|
623
|
+
// which end with the command.
|
|
624
|
+
await Promise.all(Array.from({ length: Math.min(UPLOAD_CONCURRENCY, sized.length) }, uploader));
|
|
625
|
+
}
|
|
626
|
+
catch (err) {
|
|
627
|
+
upload.fail();
|
|
628
|
+
throw err;
|
|
452
629
|
}
|
|
453
630
|
}
|
|
454
631
|
/**
|
|
455
|
-
* Import a zip, ensure the workspace exists, and deploy
|
|
632
|
+
* Import a zip, ensure the workspace exists, and deploy; with `--plan`, say
|
|
633
|
+
* what the deploy would do, and import nothing.
|
|
456
634
|
*
|
|
457
635
|
* Used by `workspace deploy --from-zip` and `--from-source`.
|
|
636
|
+
*
|
|
637
|
+
* @remarks
|
|
638
|
+
* A plan writes nothing, so it imports nothing. Locally it reads the package
|
|
639
|
+
* from the zip where it is, through a view of the repository with the zip laid
|
|
640
|
+
* over it, and creates no workspace: it plans every record of a missing one as
|
|
641
|
+
* minted. A server plans only a package it holds, so a plan against one is
|
|
642
|
+
* refused, naming the import that comes first.
|
|
458
643
|
*/
|
|
459
644
|
async function deployFromZip(target, zipPath) {
|
|
460
|
-
const { location, ws, progress } = target;
|
|
645
|
+
const { location, repoArg, ws, progress } = target;
|
|
646
|
+
if (target.plan) {
|
|
647
|
+
const zip = await packageZipOpen(zipPath);
|
|
648
|
+
try {
|
|
649
|
+
if (location.type === 'remote') {
|
|
650
|
+
throw new Error(`--plan writes nothing, and a server plans only a package it holds: import ${zipPath} with ` +
|
|
651
|
+
`\`e3 package import ${repoArg} ${zipPath}\`, then plan with ` +
|
|
652
|
+
`\`e3 workspace deploy ${repoArg} ${ws} ${zip.name}@${zip.version} --plan\``);
|
|
653
|
+
}
|
|
654
|
+
progress.phase(`read ${zip.name}@${zip.version} (${zip.objectCount} objects), importing nothing`);
|
|
655
|
+
await deployLocal(target, zip.view(new LocalStorage()), location.path, zip.name, zip.version);
|
|
656
|
+
}
|
|
657
|
+
finally {
|
|
658
|
+
zip.close();
|
|
659
|
+
}
|
|
660
|
+
return;
|
|
661
|
+
}
|
|
461
662
|
let name;
|
|
462
663
|
let version;
|
|
463
664
|
let packageHash;
|
|
@@ -478,10 +679,7 @@ async function deployFromZip(target, zipPath) {
|
|
|
478
679
|
if (!(err instanceof WorkspaceExistsError))
|
|
479
680
|
throw err;
|
|
480
681
|
}
|
|
481
|
-
await
|
|
482
|
-
if (target.skipFileSources) {
|
|
483
|
-
reportSkippedFileSources(target, fileSourcesOf(await packageRead(storage, location.path, name, version)));
|
|
484
|
-
}
|
|
682
|
+
await deployLocal(target, storage, location.path, name, version);
|
|
485
683
|
}
|
|
486
684
|
else {
|
|
487
685
|
const zipBytes = readFileSync(zipPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/commands/workspace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,oBAAoB,GAErB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,eAAe,IAAI,qBAAqB,EACxC,eAAe,IAAI,qBAAqB,EACxC,eAAe,IAAI,qBAAqB,EACxC,aAAa,IAAI,mBAAmB,EACpC,eAAe,IAAI,qBAAqB,EACxC,eAAe,IAAI,qBAAqB,EACxC,aAAa,IAAI,mBAAmB,EACpC,UAAU,IAAI,gBAAgB,EAC9B,WAAW,IAAI,iBAAiB,EAChC,gBAAgB,EAChB,QAAQ,GACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,EAAE,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAqC,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,SAAS,EAAqB,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAiB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,IAAY;QACxC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAChG,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,sEAAsE,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,MAAM,CACV,OAAe,EACf,EAAU,EACV,OAA2B,EAC3B,UAAuH,EAAE;QAEzH,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC7E,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,0FAA0F,CAAC,CAAC;YACxG,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,iEAAiE,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElD,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YACnE,MAAM,MAAM,GAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAEpH,gFAAgF;YAChF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,sCAAsC;YACtC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,gBAAgB,CAAC,OAAQ,CAAC,CAAC;YAErD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;gBAClH,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;oBAC3B,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5G,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qEAAqE;gBACrE,oDAAoD;gBACpD,MAAM,QAAQ,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC5F,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAe,EACf,EAAU,EACV,OAAe,EACf,OAA6D;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAClD,0EAA0E;YAC1E,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAC;YAEnE,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEzG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,mBAAmB,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,wDAAwD;gBACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACxD,IAAI,QAAQ,CAAC;gBACb,IAAI,CAAC;oBACH,QAAQ,GAAG,MAAM,qBAAqB,CACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EACnC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EACzB;wBACE,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;4BAChB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,gBAAgB,UAAU,CAAC,CAAC;4BAChE,CAAC;iCAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gCAC1D,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;4BAC/C,CAAC;wBACH,CAAC;wBACD,kBAAkB,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;4BACxC,IAAI,CAAC,MAAM,CAAC,eAAe,WAAW,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC9E,CAAC;qBACF,CACF,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAExE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;oBACpC,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAGD;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAe;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAE/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAClE,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxE,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,yEAAyE;gBACzE,MAAM,UAAU,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAEzG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBAC7B,OAAO;gBACT,CAAC;gBAED,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC9B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC/F,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,UAAU,GAAG,CAAC,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,EAAU;QACtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;YACxD,CAAC;iBAAM,CAAC;gBACN,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC5F,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,EAAU;QACtC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAElD,IAAI,MAA6B,CAAC;YAElC,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjH,wCAAwC;gBACxC,MAAM,GAAG;oBACP,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;wBACxC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;wBACxC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU;wBAC9C,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;qBAC/G,CAAC,CAAC,CAAC,IAAI;oBACR,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACxC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,CAAC,CAAC,MAAwD;wBAClE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;wBAClD,YAAY,EAAE,CAAC,CAAC,YAAY;wBAC5B,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;qBACrE,CAAC,CAAC;oBACH,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAClC,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC;wBACnC,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;qBACvB,CAAC,CAAC;oBACH,OAAO,EAAE;wBACP,QAAQ,EAAE;4BACR,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAClD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAClD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAClD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;yBACzD;wBACD,KAAK,EAAE;4BACL,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC/C,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;4BACrD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC/C,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;4BACnD,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;4BACzD,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;4BACjD,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC/C,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;yBAC9D;qBACF;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,cAAc;YACd,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACvD,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,UAAU;YACV,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,gBAAgB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,WAAW,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC;YAE1J,yDAAyD;YACzD,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,aAAa,CAAC,CAAC;YACrG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC1F,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;YAChG,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,cAAc,CAAC,CAAC;YAC1G,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;YAC7F,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,CAAC;YAC1F,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,gBAAgB,CAAC,CAAC;YAChH,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,gBAAgB;YAChB,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACtB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC;oBAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9D,CAAC;gBACH,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClB,CAAC;YAED,+DAA+D;YAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAChF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBAC3C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;oBAClC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;oBACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;oBACnF,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,GAAG,QAAQ,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF,CAAC;AAyBF;;;GAGG;AACH,SAAS,aAAa,CAAC,GAAkB;IACvC,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,OAAO,2BAA2B,CAAC,CAAC;QACjG,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO;YACzC,QAAQ,EAAE,WAAW;YACrB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;YACvB,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,MAAoB,EAAE,MAAkB;IAC/D,IAAI,CAAC;QACH,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,4BAA4B;YAAE,MAAM,GAAG,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,oEAAoE;YACvH,4FAA4F;YAC5F,kBAAkB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,qBAAqB,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,SAAS,wBAAwB,CAAC,MAAoB,EAAE,OAAqB;IAC3E,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CACT,QAAQ,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,kBAAkB;YACpF,kBAAkB,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,EAAE,CAC1F,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAAC,QAAsB,EAAE,IAAY;IACrE,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;SACnG,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACrB,IAAI,EAAE,CAAC;IACV,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,YAAY,CAAC,MAAoB,EAAE,IAAY,EAAE,OAAe;IAC7E,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5G,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,OAAO,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC;QACH,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IAC/F,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,OAAO,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAElE,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAC3B,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,MAAM,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3F,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,gBAAgB,CACpB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,EACpD,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC3C,IAAI,CACL,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAAC,MAAoB,EAAE,OAAe;IAChE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC1C,IAAI,IAAY,CAAC;IACjB,IAAI,OAAe,CAAC;IACpB,IAAI,WAAmB,CAAC;IACxB,IAAI,WAAmB,CAAC;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,OAAO,KAAK,WAAW,WAAW,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,oBAAoB,CAAC;gBAAE,MAAM,GAAG,CAAC;QACxD,CAAC;QACD,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAClH,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACvC,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,mBAAmB,CAChC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,EACzD,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,EACzB;gBACE,gBAAgB,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,qBAAqB,WAAW,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAClF,CAAC;gBACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE;oBAChB,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,gBAAgB,oBAAoB,CAAC,CAAC;oBAC1E,CAAC;yBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBAC5D,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;aACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACjC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,OAAO,KAAK,WAAW,WAAW,CAAC,CAAC;QAElE,IAAI,CAAC;YACH,MAAM,qBAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC;gBAAE,MAAM,GAAG,CAAC;QAC/E,CAAC;QACD,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,gBAAgB,CAC7B,MAAoB,EACpB,UAAkB,EAClB,SAAmB;IAEnB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAC5B,qEAAqE;IACrE,+DAA+D;IAC/D,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,IAAI,CAAC,YAAY,UAAU,KAAK,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE;gBAC5B,SAAS;gBACT,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBACzB,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC9E,CAAC;yBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBAClC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,mBAAmB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBAChF,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,WAAW,CAAC,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAChE,MAAM,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;YAAS,CAAC;QACT,IAAI,CAAC;YACH,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AAEH,SAAS,iBAAiB,CAAC,MAAW;IACpC,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,KAAK,OAAO;YACV,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QAClE,KAAK,aAAa;YAChB,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACtC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxF,CAAC;QACJ,KAAK,OAAO;YACV,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aACxF,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,IAAI,EAAE,eAAe;gBACrB,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBACvE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC;QACJ;YACE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAmD;IAClF,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9D,KAAK,OAAO;YACV,OAAO,cAAc,CAAC;QACxB,KAAK,SAAS;YACZ,OAAO,YAAY,MAAM,CAAC,MAAM,GAAG,CAAC;QACtC,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC;QACxE,KAAK,QAAQ;YACX,OAAO,qBAAqB,MAAM,CAAC,QAAQ,GAAG,CAAC;QACjD,KAAK,OAAO;YACV,OAAO,UAAU,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,KAAK,eAAe;YAClB,OAAO,sBAAsB,MAAM,CAAC,GAAG,oBAAoB,CAAC;QAC9D;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/commands/workspace.ts"],"names":[],"mappings":"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"}
|
package/dist/src/format.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
/**
|
|
6
6
|
* Shared formatting utilities for CLI commands.
|
|
7
7
|
*/
|
|
8
|
+
import type { RequeueReason, StageUnit } from '@elaraai/e3-types';
|
|
8
9
|
/**
|
|
9
10
|
* Format a byte count as a human-readable string.
|
|
10
11
|
*
|
|
@@ -12,4 +13,15 @@
|
|
|
12
13
|
* @returns Formatted string like "42 B", "1.5 KB", "1 MB"
|
|
13
14
|
*/
|
|
14
15
|
export declare function formatSize(bytes: number): string;
|
|
16
|
+
/**
|
|
17
|
+
* A requeued unit as a run prints it: `piece 3/8: the guard stopped it at
|
|
18
|
+
* 620 MB, past the budget; it runs again reserving 620 MB`.
|
|
19
|
+
*
|
|
20
|
+
* @param unit - The unit, by its place in its task
|
|
21
|
+
* @param reason - Why its runner was stopped
|
|
22
|
+
* @param peak - The most it was measured using, in bytes: for a cap, the cap
|
|
23
|
+
* @param reserves - The memory it reserves when it runs again, in bytes
|
|
24
|
+
* @returns The text
|
|
25
|
+
*/
|
|
26
|
+
export declare function formatRequeue(unit: StageUnit, reason: RequeueReason['type'], peak: number, reserves: number): string;
|
|
15
27
|
//# sourceMappingURL=format.d.ts.map
|
package/dist/src/format.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAahD"}
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAElE;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAahD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQpH"}
|
package/dist/src/format.js
CHANGED
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Licensed under BSL 1.1. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* Shared formatting utilities for CLI commands.
|
|
7
|
-
*/
|
|
8
5
|
/**
|
|
9
6
|
* Format a byte count as a human-readable string.
|
|
10
7
|
*
|
|
@@ -26,4 +23,23 @@ export function formatSize(bytes) {
|
|
|
26
23
|
// unreachable, but TypeScript needs it
|
|
27
24
|
return `${bytes} B`;
|
|
28
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* A requeued unit as a run prints it: `piece 3/8: the guard stopped it at
|
|
28
|
+
* 620 MB, past the budget; it runs again reserving 620 MB`.
|
|
29
|
+
*
|
|
30
|
+
* @param unit - The unit, by its place in its task
|
|
31
|
+
* @param reason - Why its runner was stopped
|
|
32
|
+
* @param peak - The most it was measured using, in bytes: for a cap, the cap
|
|
33
|
+
* @param reserves - The memory it reserves when it runs again, in bytes
|
|
34
|
+
* @returns The text
|
|
35
|
+
*/
|
|
36
|
+
export function formatRequeue(unit, reason, peak, reserves) {
|
|
37
|
+
const place = unit.merge.type === 'none'
|
|
38
|
+
? `piece ${unit.index + 1n}/${unit.units}`
|
|
39
|
+
: `merge level ${unit.merge.value.level}/${unit.merge.value.levels} unit ${unit.index + 1n}/${unit.units}`;
|
|
40
|
+
const cause = reason === 'cap'
|
|
41
|
+
? `it outgrew its cap of ${formatSize(peak)}`
|
|
42
|
+
: `the guard stopped it at ${formatSize(peak)}, ${reason === 'budget' ? 'past the budget' : 'with the machine nearly out of memory'}`;
|
|
43
|
+
return `${place}: ${cause}; it runs again reserving ${formatSize(reserves)}`;
|
|
44
|
+
}
|
|
29
45
|
//# sourceMappingURL=format.js.map
|
package/dist/src/format.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,IAAI,IAAI,CAAC;QACd,IAAI,KAAK,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxE,OAAO,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IACD,uCAAuC;IACvC,OAAO,GAAG,KAAK,IAAI,CAAC;AACtB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAC,IAAe,EAAE,MAA6B,EAAE,IAAY,EAAE,QAAgB;IAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM;QACtC,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE;QAC1C,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;IAC7G,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK;QAC5B,CAAC,CAAC,yBAAyB,UAAU,CAAC,IAAI,CAAC,EAAE;QAC7C,CAAC,CAAC,2BAA2B,UAAU,CAAC,IAAI,CAAC,KAAK,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,uCAAuC,EAAE,CAAC;IACxI,OAAO,GAAG,KAAK,KAAK,KAAK,6BAA6B,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC/E,CAAC"}
|