litmus-cli 1.4.93 → 1.5.0-beta.1
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 +48 -0
- package/dist/commands/connect.d.ts +6 -2
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +222 -35
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/forward.d.ts +7 -1
- package/dist/commands/forward.d.ts.map +1 -1
- package/dist/commands/forward.js +8 -7
- package/dist/commands/forward.js.map +1 -1
- package/dist/lib/ai-tracking.d.ts +8 -0
- package/dist/lib/ai-tracking.d.ts.map +1 -1
- package/dist/lib/ai-tracking.js +79 -3
- package/dist/lib/ai-tracking.js.map +1 -1
- package/dist/lib/connect-skills.d.ts +1 -0
- package/dist/lib/connect-skills.d.ts.map +1 -1
- package/dist/lib/connect-skills.js +1 -1
- package/dist/lib/connect-skills.js.map +1 -1
- package/dist/lib/desktop-readiness.d.ts +9 -0
- package/dist/lib/desktop-readiness.d.ts.map +1 -0
- package/dist/lib/desktop-readiness.js +131 -0
- package/dist/lib/desktop-readiness.js.map +1 -0
- package/dist/lib/editor-foreground.d.ts +6 -0
- package/dist/lib/editor-foreground.d.ts.map +1 -0
- package/dist/lib/editor-foreground.js +38 -0
- package/dist/lib/editor-foreground.js.map +1 -0
- package/dist/lib/environment-checks.d.ts +2 -0
- package/dist/lib/environment-checks.d.ts.map +1 -1
- package/dist/lib/environment-checks.js +4 -2
- package/dist/lib/environment-checks.js.map +1 -1
- package/dist/lib/hosted-capture.d.ts +1 -1
- package/dist/lib/hosted-capture.d.ts.map +1 -1
- package/dist/lib/hosted-capture.js +22 -12
- package/dist/lib/hosted-capture.js.map +1 -1
- package/dist/lib/installed-tools.d.ts +29 -0
- package/dist/lib/installed-tools.d.ts.map +1 -0
- package/dist/lib/installed-tools.js +159 -0
- package/dist/lib/installed-tools.js.map +1 -0
- package/dist/lib/portal-launcher-background.d.ts +13 -0
- package/dist/lib/portal-launcher-background.d.ts.map +1 -0
- package/dist/lib/portal-launcher-background.js +51 -0
- package/dist/lib/portal-launcher-background.js.map +1 -0
- package/dist/lib/portal-launcher-worker.d.ts +2 -0
- package/dist/lib/portal-launcher-worker.d.ts.map +1 -0
- package/dist/lib/portal-launcher-worker.js +43 -0
- package/dist/lib/portal-launcher-worker.js.map +1 -0
- package/dist/lib/portal-launcher.d.ts +43 -0
- package/dist/lib/portal-launcher.d.ts.map +1 -0
- package/dist/lib/portal-launcher.js +408 -0
- package/dist/lib/portal-launcher.js.map +1 -0
- package/dist/lib/prepared-desktop.d.ts +7 -0
- package/dist/lib/prepared-desktop.d.ts.map +1 -0
- package/dist/lib/prepared-desktop.js +35 -0
- package/dist/lib/prepared-desktop.js.map +1 -0
- package/dist/lib/prepared-editor.d.ts +26 -0
- package/dist/lib/prepared-editor.d.ts.map +1 -0
- package/dist/lib/prepared-editor.js +150 -0
- package/dist/lib/prepared-editor.js.map +1 -0
- package/dist/lib/schemas.d.ts +1 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +2 -0
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/ssh-client.d.ts +12 -0
- package/dist/lib/ssh-client.d.ts.map +1 -1
- package/dist/lib/ssh-client.js +1 -1
- package/dist/lib/ssh-client.js.map +1 -1
- package/dist/lib/ssh-config-file.d.ts +3 -0
- package/dist/lib/ssh-config-file.d.ts.map +1 -1
- package/dist/lib/ssh-config-file.js +42 -0
- package/dist/lib/ssh-config-file.js.map +1 -1
- package/dist/lib/vscode-server-preparation.d.ts +7 -0
- package/dist/lib/vscode-server-preparation.d.ts.map +1 -0
- package/dist/lib/vscode-server-preparation.js +78 -0
- package/dist/lib/vscode-server-preparation.js.map +1 -0
- package/dist/lib/workspace-start-wait.d.ts +23 -0
- package/dist/lib/workspace-start-wait.d.ts.map +1 -0
- package/dist/lib/workspace-start-wait.js +50 -0
- package/dist/lib/workspace-start-wait.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/** Reopen a previously verified editor without repeating workspace setup. */
|
|
2
|
+
import { execFile, spawn } from "child_process";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import os from "os";
|
|
5
|
+
import { editorSpawnSpec } from "./editor-binary.js";
|
|
6
|
+
import { editorAppBundle } from "./editor-foreground.js";
|
|
7
|
+
import { parseEditorVersion } from "./editor-server.js";
|
|
8
|
+
export function parseWorkspaceGeneration(value) {
|
|
9
|
+
if (!value || typeof value !== "object")
|
|
10
|
+
return null;
|
|
11
|
+
const v = value;
|
|
12
|
+
return Number.isSafeInteger(v.epoch) && v.epoch >= 0 && typeof v.container_id === "string" && v.container_id.length > 0
|
|
13
|
+
? { epoch: v.epoch, container_id: v.container_id } : null;
|
|
14
|
+
}
|
|
15
|
+
export function parsePreparedEditor(value) {
|
|
16
|
+
if (!value || typeof value !== "object")
|
|
17
|
+
return null;
|
|
18
|
+
const v = value;
|
|
19
|
+
const generation = parseWorkspaceGeneration(v.generation);
|
|
20
|
+
if ((v.tool !== "vscode" && v.tool !== "cursor") || typeof v.command !== "string" ||
|
|
21
|
+
!(path.posix.isAbsolute(v.command) || path.win32.isAbsolute(v.command)) || /[\r\n\0]/.test(v.command) ||
|
|
22
|
+
typeof v.commit !== "string" || !/^[a-f0-9]{40}$/i.test(v.commit) ||
|
|
23
|
+
typeof v.alias !== "string" || !/^litmus-[a-zA-Z0-9-]+$/.test(v.alias) || !generation)
|
|
24
|
+
return null;
|
|
25
|
+
return { tool: v.tool, command: v.command, commit: v.commit, alias: v.alias, generation };
|
|
26
|
+
}
|
|
27
|
+
export function preparedEditorArgs(editor, platform = process.platform) {
|
|
28
|
+
return editor.tool === "cursor" && platform === "win32"
|
|
29
|
+
? ["--open-url", `cursor://vscode-remote/ssh-remote+${editor.alias}/home/candidate/workspace`]
|
|
30
|
+
: ["--remote", `ssh-remote+${editor.alias}`, "/home/candidate/workspace"];
|
|
31
|
+
}
|
|
32
|
+
const defaultIo = {
|
|
33
|
+
canReuse: (editor, signal) => {
|
|
34
|
+
if (editor.tool !== "cursor" || process.platform !== "darwin")
|
|
35
|
+
return Promise.resolve(true);
|
|
36
|
+
const bundle = editorAppBundle(editor.command);
|
|
37
|
+
if (!bundle || signal?.aborted)
|
|
38
|
+
return Promise.resolve(false);
|
|
39
|
+
// A cold macOS Cursor may discard --remote while restoring its session.
|
|
40
|
+
// Only the full connect path provides its startup/settle/retry sequence.
|
|
41
|
+
// Check the selected installation; another running Cursor is insufficient.
|
|
42
|
+
return new Promise(resolve => {
|
|
43
|
+
execFile("/bin/ps", ["-U", String(os.userInfo().uid), "-o", "comm="], { timeout: 1500, signal }, (error, stdout) => {
|
|
44
|
+
const executable = `${bundle}/Contents/MacOS/Cursor`;
|
|
45
|
+
resolve(!error && String(stdout).split(/\r?\n/).some(line => line.trim() === executable));
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
currentCommit: (editor, signal) => new Promise(resolve => {
|
|
50
|
+
const spec = editorSpawnSpec(editor.command, ["--version"], process.platform);
|
|
51
|
+
if (!spec || signal?.aborted) {
|
|
52
|
+
resolve(null);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
// An editor update invalidates preparation, even when its CLI path stays fixed.
|
|
56
|
+
execFile(spec.command, spec.args, { shell: spec.shell, timeout: 1500, signal, windowsHide: true }, (error, stdout) => {
|
|
57
|
+
resolve(error ? null : parseEditorVersion(String(stdout)).commit);
|
|
58
|
+
});
|
|
59
|
+
}),
|
|
60
|
+
dispatch: (editor, signal) => new Promise(resolve => {
|
|
61
|
+
const spec = editorSpawnSpec(editor.command, preparedEditorArgs(editor), process.platform);
|
|
62
|
+
if (!spec || signal?.aborted) {
|
|
63
|
+
resolve(false);
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
const child = spawn(spec.command, spec.args, { shell: spec.shell, detached: true, stdio: "ignore", windowsHide: true });
|
|
67
|
+
let done = false;
|
|
68
|
+
const finish = (ok) => {
|
|
69
|
+
if (done)
|
|
70
|
+
return;
|
|
71
|
+
done = true;
|
|
72
|
+
clearTimeout(timer);
|
|
73
|
+
signal?.removeEventListener("abort", abort);
|
|
74
|
+
child.unref();
|
|
75
|
+
resolve(ok);
|
|
76
|
+
};
|
|
77
|
+
const abort = () => { child.kill(); finish(false); };
|
|
78
|
+
// Timeout is uncertain dispatch, never permission to open another window.
|
|
79
|
+
const timer = setTimeout(() => finish(false), 5000);
|
|
80
|
+
signal?.addEventListener("abort", abort, { once: true });
|
|
81
|
+
child.once("error", () => finish(false));
|
|
82
|
+
child.once("exit", (code, exitSignal) => {
|
|
83
|
+
if (done)
|
|
84
|
+
return;
|
|
85
|
+
if (code !== 0 || exitSignal !== null) {
|
|
86
|
+
finish(false);
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const bundle = process.platform === "darwin" ? editorAppBundle(editor.command) : null;
|
|
90
|
+
if (!bundle) {
|
|
91
|
+
finish(true);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
// The exact-folder request selected the target before app activation.
|
|
95
|
+
execFile("/usr/bin/open", ["-a", bundle], { timeout: 1500, signal }, () => finish(true));
|
|
96
|
+
});
|
|
97
|
+
}),
|
|
98
|
+
};
|
|
99
|
+
/** Only call from an authenticated mailbox command, never from a browser URL. */
|
|
100
|
+
export function createPreparedEditorLauncher(alias, io = defaultIo) {
|
|
101
|
+
const prepared = new Map();
|
|
102
|
+
let scope = null;
|
|
103
|
+
const invalidate = () => { scope = null; prepared.clear(); };
|
|
104
|
+
return {
|
|
105
|
+
invalidate,
|
|
106
|
+
async launch(tool, generationValue, fullLaunch, signal) {
|
|
107
|
+
const generation = parseWorkspaceGeneration(generationValue);
|
|
108
|
+
const nextScope = generation ? JSON.stringify(generation) : null;
|
|
109
|
+
if (!nextScope || nextScope !== scope) {
|
|
110
|
+
prepared.clear();
|
|
111
|
+
scope = nextScope;
|
|
112
|
+
}
|
|
113
|
+
if (signal?.aborted)
|
|
114
|
+
return "action_required";
|
|
115
|
+
const cached = prepared.get(tool);
|
|
116
|
+
let currentCommit = null;
|
|
117
|
+
if (cached) {
|
|
118
|
+
try {
|
|
119
|
+
if (!io.canReuse || await io.canReuse(cached, signal))
|
|
120
|
+
currentCommit = await io.currentCommit(cached, signal);
|
|
121
|
+
}
|
|
122
|
+
catch { /* Fresh setup rechecks this installation. */ }
|
|
123
|
+
}
|
|
124
|
+
if (cached && currentCommit === cached.commit) {
|
|
125
|
+
if (signal?.aborted || scope !== nextScope)
|
|
126
|
+
return "action_required";
|
|
127
|
+
let ok = false;
|
|
128
|
+
try {
|
|
129
|
+
ok = await io.dispatch(cached, signal);
|
|
130
|
+
}
|
|
131
|
+
catch { /* Failed dispatch invalidates preparation. */ }
|
|
132
|
+
if (!ok)
|
|
133
|
+
prepared.delete(tool);
|
|
134
|
+
return ok ? "dispatched" : "action_required";
|
|
135
|
+
}
|
|
136
|
+
prepared.delete(tool);
|
|
137
|
+
if (signal?.aborted || scope !== nextScope)
|
|
138
|
+
return "action_required";
|
|
139
|
+
let candidate = null;
|
|
140
|
+
const result = await fullLaunch(value => { candidate = parsePreparedEditor(value); });
|
|
141
|
+
if (result === "dispatched" && candidate && !signal?.aborted && nextScope && scope === nextScope) {
|
|
142
|
+
const verified = candidate;
|
|
143
|
+
if (verified.tool === tool && verified.alias === alias && JSON.stringify(verified.generation) === nextScope)
|
|
144
|
+
prepared.set(tool, verified);
|
|
145
|
+
}
|
|
146
|
+
return result;
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=prepared-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepared-editor.js","sourceRoot":"","sources":["../../src/lib/prepared-editor.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/schemas.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export declare const InitMetadataSchema: z.ZodObject<{
|
|
|
12
12
|
startedAt: z.ZodISODateTime;
|
|
13
13
|
workTrial: z.ZodOptional<z.ZodBoolean>;
|
|
14
14
|
captureStartDeferred: z.ZodOptional<z.ZodBoolean>;
|
|
15
|
+
launcherBetaEnabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
15
16
|
switchedFromWorkspace: z.ZodOptional<z.ZodBoolean>;
|
|
16
17
|
}, z.core.$strip>;
|
|
17
18
|
export type InitMetadata = z.infer<typeof InitMetadataSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBA2B7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,eAAO,MAAM,kBAAkB;;;;;iBAQ7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAK7D,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,kBAAkB;;iBAE7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAI7D,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMnE,eAAO,MAAM,yBAAyB;;;;;;;;;iBAWpC,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAU3E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAsBjC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAI7E,eAAO,MAAM,cAAc;;;iBAGzB,CAAA"}
|
package/dist/lib/schemas.js
CHANGED
|
@@ -18,6 +18,8 @@ export const InitMetadataSchema = z.object({
|
|
|
18
18
|
// take-home is gated on `=== false`; the checkpoint copy on `=== true`.
|
|
19
19
|
workTrial: z.boolean().optional(),
|
|
20
20
|
captureStartDeferred: z.boolean().optional(),
|
|
21
|
+
// Explicit server enrollment; missing on older/non-beta deployments.
|
|
22
|
+
launcherBetaEnabled: z.boolean().optional().default(false),
|
|
21
23
|
// ENG-3007: an interviewer switched this candidate off Codespaces. Only then does
|
|
22
24
|
// init fetch the workspace's env and open a shell with it set.
|
|
23
25
|
switchedFromWorkspace: z.boolean().optional(),
|
package/dist/lib/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/lib/schemas.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ssh-client.d.ts
CHANGED
|
@@ -62,6 +62,18 @@ export interface SshPreflightDeps {
|
|
|
62
62
|
}
|
|
63
63
|
export declare const SSH_PREFLIGHT_TIMEOUT_MS = 45000;
|
|
64
64
|
export declare function sshPreflight(alias: string, executable?: string, deps?: SshPreflightDeps): Promise<SshPreflight>;
|
|
65
|
+
/**
|
|
66
|
+
* Whether the candidate's own config gives this host a `RemoteCommand` (Greptile on
|
|
67
|
+
* #2844). With one set — a `Host *` that attaches tmux is the usual reason — ssh refuses
|
|
68
|
+
* `ssh <alias> true` outright ("Cannot execute command-line and remote command.") while
|
|
69
|
+
* a plain `ssh <alias>` works, so the preflight would stop a working setup.
|
|
70
|
+
*
|
|
71
|
+
* Asked of `ssh -G` rather than answered by always passing `RemoteCommand=none`: that
|
|
72
|
+
* option is unknown to OpenSSH before 7.6 (CentOS 7 ships 7.4), which rejects the whole
|
|
73
|
+
* command line, and `IgnoreUnknown` on the command line would displace a candidate's own
|
|
74
|
+
* `IgnoreUnknown UseKeychain`. A client whose config SETS RemoteCommand understands it.
|
|
75
|
+
*/
|
|
76
|
+
export declare function configSetsRemoteCommand(alias: string, executable?: string, spawn?: typeof spawnSync): boolean;
|
|
65
77
|
/**
|
|
66
78
|
* The hint for a failed preflight: ssh's own words first, then the ways out. It carries
|
|
67
79
|
* no token (a placeholder where one is needed), because `fatal` reports its hint.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-client.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,kEAAkE;IAClE,YAAY,EAAE,OAAO,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAA;CACd;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAIzE;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,IAAI,GAAG,OAAO,CAGjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,SAAQ,GAAG,MAAM,GAAG,IAAI,CAKtE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAA;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,SAAS,CAAA;IACvB,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACrC;AAED,eAAO,MAAM,wBAAwB,QAAS,CAAA;AAU9C,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,UAAU,SAAQ,EAClB,IAAI,GAAE,gBAAuC,GAC5C,OAAO,CAAC,YAAY,CAAC,CAUvB;
|
|
1
|
+
{"version":3,"file":"ssh-client.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/ssh-client.js
CHANGED
|
@@ -58,7 +58,7 @@ export async function sshPreflight(alias, executable = "ssh", deps = defaultPref
|
|
|
58
58
|
* command line, and `IgnoreUnknown` on the command line would displace a candidate's own
|
|
59
59
|
* `IgnoreUnknown UseKeychain`. A client whose config SETS RemoteCommand understands it.
|
|
60
60
|
*/
|
|
61
|
-
function configSetsRemoteCommand(alias, executable, spawn) {
|
|
61
|
+
export function configSetsRemoteCommand(alias, executable = "ssh", spawn = spawnSync) {
|
|
62
62
|
const r = spawn(executable, ["-G", alias], { encoding: "utf8", windowsHide: true, timeout: 10000 });
|
|
63
63
|
if (r.error || r.status !== 0)
|
|
64
64
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-client.js","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssh-client.js","sourceRoot":"","sources":["../../src/lib/ssh-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/** Serialize Litmus updates and publish complete bytes only. Never follow an unexpected symlink. */
|
|
2
2
|
export declare function updateSshConfig(file: string, update: (content: string) => string): Promise<void>;
|
|
3
|
+
/** Capture only this assessment's marker-delimited settings. At submission,
|
|
4
|
+
* remove them only if none changed; all unrelated bytes and keys survive. */
|
|
5
|
+
export declare function prepareSshConfigCleanup(file: string, alias: string): () => Promise<void>;
|
|
3
6
|
//# sourceMappingURL=ssh-config-file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-config-file.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-config-file.ts"],"names":[],"mappings":"AAKA,oGAAoG;AACpG,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCtG"}
|
|
1
|
+
{"version":3,"file":"ssh-config-file.d.ts","sourceRoot":"","sources":["../../src/lib/ssh-config-file.ts"],"names":[],"mappings":"AAKA,oGAAoG;AACpG,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCtG;AAED;6EAC6E;AAC7E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CA6BxF"}
|
|
@@ -52,4 +52,46 @@ export async function updateSshConfig(file, update) {
|
|
|
52
52
|
await release();
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
/** Capture only this assessment's marker-delimited settings. At submission,
|
|
56
|
+
* remove them only if none changed; all unrelated bytes and keys survive. */
|
|
57
|
+
export function prepareSshConfigCleanup(file, alias) {
|
|
58
|
+
const noop = async () => { };
|
|
59
|
+
if (!/^litmus-[a-zA-Z0-9-]+$/.test(alias))
|
|
60
|
+
return noop;
|
|
61
|
+
let before;
|
|
62
|
+
try {
|
|
63
|
+
if (lstatSync(file).isSymbolicLink())
|
|
64
|
+
return noop;
|
|
65
|
+
before = readFileSync(file, "utf8");
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return noop;
|
|
69
|
+
}
|
|
70
|
+
const pairs = [
|
|
71
|
+
[`# >>> litmus-connect ${alias} >>>`, `# <<< litmus-connect ${alias} <<<`],
|
|
72
|
+
[`# >>> litmus-connect ${alias} controlpath >>>`, `# <<< litmus-connect ${alias} controlpath <<<`],
|
|
73
|
+
[`# >>> litmus forwarding ${alias}`, `# <<< litmus forwarding ${alias}`],
|
|
74
|
+
];
|
|
75
|
+
function region(content, begin, end) {
|
|
76
|
+
const lines = content.match(/[^\n]*\n|[^\n]+$/g) ?? [];
|
|
77
|
+
const starts = lines.flatMap((line, i) => line.trimEnd() === begin ? [i] : []);
|
|
78
|
+
const ends = lines.flatMap((line, i) => line.trimEnd() === end ? [i] : []);
|
|
79
|
+
if (starts.length !== 1 || ends.length !== 1 || ends[0] < starts[0])
|
|
80
|
+
return null;
|
|
81
|
+
return lines.slice(starts[0], ends[0] + 1).join("");
|
|
82
|
+
}
|
|
83
|
+
const regions = pairs.map(([begin, end]) => ({ begin, end, bytes: region(before, begin, end) }));
|
|
84
|
+
if (!regions[0].bytes)
|
|
85
|
+
return noop;
|
|
86
|
+
return async () => {
|
|
87
|
+
await updateSshConfig(file, current => {
|
|
88
|
+
if (regions.some(({ begin, end, bytes }) => region(current, begin, end) !== bytes))
|
|
89
|
+
return current;
|
|
90
|
+
for (const { bytes } of regions)
|
|
91
|
+
if (bytes)
|
|
92
|
+
current = current.replace(bytes, "");
|
|
93
|
+
return current;
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
}
|
|
55
97
|
//# sourceMappingURL=ssh-config-file.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-config-file.js","sourceRoot":"","sources":["../../src/lib/ssh-config-file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssh-config-file.js","sourceRoot":"","sources":["../../src/lib/ssh-config-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Prepare the exact client build before advertising the laptop launcher as ready.
|
|
2
|
+
* Uses the workspace's existing proxy; never downloads code to the laptop. Existing
|
|
3
|
+
* editor installations are left alone, including a concurrent Remote-SSH install.
|
|
4
|
+
*/
|
|
5
|
+
export declare function vscodePreparationScript(commit: string): string;
|
|
6
|
+
export declare function prepareVscodeServer(alias: string, commit: string, signal: AbortSignal): Promise<boolean>;
|
|
7
|
+
//# sourceMappingURL=vscode-server-preparation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-server-preparation.d.ts","sourceRoot":"","sources":["../../src/lib/vscode-server-preparation.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAyC9D;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAwBxG"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { spawn } from "child_process";
|
|
2
|
+
import { configSetsRemoteCommand } from "./ssh-client.js";
|
|
3
|
+
/** Prepare the exact client build before advertising the laptop launcher as ready.
|
|
4
|
+
* Uses the workspace's existing proxy; never downloads code to the laptop. Existing
|
|
5
|
+
* editor installations are left alone, including a concurrent Remote-SSH install.
|
|
6
|
+
*/
|
|
7
|
+
export function vscodePreparationScript(commit) {
|
|
8
|
+
if (!/^[a-f0-9]{40}$/i.test(commit))
|
|
9
|
+
throw new Error("Invalid editor commit");
|
|
10
|
+
return `import json,pathlib,subprocess,tarfile,tempfile,os,fcntl
|
|
11
|
+
commit=${JSON.stringify(commit)}
|
|
12
|
+
home=pathlib.Path.home()
|
|
13
|
+
root=home/".vscode-server"
|
|
14
|
+
root.mkdir(exist_ok=True)
|
|
15
|
+
def valid(p):
|
|
16
|
+
try:
|
|
17
|
+
return (p/"bin/code-server").is_file() and (p/"node").is_file() and json.loads((p/"product.json").read_text()).get("commit")==commit
|
|
18
|
+
except (OSError,ValueError): return False
|
|
19
|
+
with (root/".litmus-prepare.lock").open("a") as lock:
|
|
20
|
+
fcntl.flock(lock,fcntl.LOCK_EX)
|
|
21
|
+
destination=root/"cli/servers"/("Stable-"+commit)/"server"
|
|
22
|
+
if valid(destination):
|
|
23
|
+
print("ready")
|
|
24
|
+
raise SystemExit(0)
|
|
25
|
+
if destination.exists() or destination.is_symlink(): raise SystemExit(1)
|
|
26
|
+
cache=root/".litmus-cache"
|
|
27
|
+
cache.mkdir(exist_ok=True)
|
|
28
|
+
target=cache/commit
|
|
29
|
+
if not valid(target):
|
|
30
|
+
if target.exists(): raise SystemExit(1)
|
|
31
|
+
with tempfile.TemporaryDirectory(prefix="prepare-",dir=cache) as temporary:
|
|
32
|
+
temporary=pathlib.Path(temporary)
|
|
33
|
+
archive=temporary/"server.tar.gz"
|
|
34
|
+
subprocess.run(["curl","-fsSL","--connect-timeout","10","--max-time","75","-o",str(archive),"https://update.code.visualstudio.com/commit:"+commit+"/server-linux-x64/stable"],check=True,stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL)
|
|
35
|
+
extracted=temporary/"unpacked"
|
|
36
|
+
extracted.mkdir()
|
|
37
|
+
with tarfile.open(archive) as tar:
|
|
38
|
+
tar.extractall(extracted,filter="data")
|
|
39
|
+
children=list(extracted.iterdir())
|
|
40
|
+
if len(children)!=1 or not valid(children[0]): raise SystemExit(1)
|
|
41
|
+
subprocess.run([str(children[0]/"node"),"--version"],check=True,stdout=subprocess.DEVNULL,stderr=subprocess.DEVNULL,timeout=5)
|
|
42
|
+
os.rename(children[0],target)
|
|
43
|
+
destination.parent.mkdir(parents=True,exist_ok=True)
|
|
44
|
+
try: destination.symlink_to(target)
|
|
45
|
+
except FileExistsError: pass
|
|
46
|
+
if not valid(destination): raise SystemExit(1)
|
|
47
|
+
print("ready")
|
|
48
|
+
`;
|
|
49
|
+
}
|
|
50
|
+
export function prepareVscodeServer(alias, commit, signal) {
|
|
51
|
+
if (!/^litmus-[a-zA-Z0-9-]+$/.test(alias) || !/^[a-f0-9]{40}$/i.test(commit) || signal.aborted)
|
|
52
|
+
return Promise.resolve(false);
|
|
53
|
+
return new Promise(resolve => {
|
|
54
|
+
const args = ["-o", "BatchMode=yes", "-o", "ConnectTimeout=10", "-o", "PermitLocalCommand=no"];
|
|
55
|
+
if (configSetsRemoteCommand(alias))
|
|
56
|
+
args.push("-o", "RemoteCommand=none");
|
|
57
|
+
args.push(alias, "python3 -");
|
|
58
|
+
const child = spawn("ssh", args, { stdio: ["pipe", "pipe", "ignore"] });
|
|
59
|
+
let output = "", settled = false;
|
|
60
|
+
const done = (ok) => {
|
|
61
|
+
if (settled)
|
|
62
|
+
return;
|
|
63
|
+
settled = true;
|
|
64
|
+
clearTimeout(timer);
|
|
65
|
+
signal.removeEventListener("abort", abort);
|
|
66
|
+
resolve(ok);
|
|
67
|
+
};
|
|
68
|
+
const abort = () => { child.kill(); done(false); };
|
|
69
|
+
const timer = setTimeout(abort, 100000);
|
|
70
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
71
|
+
child.stdout.on("data", data => { output = (output + String(data)).slice(-1024); });
|
|
72
|
+
child.stdin.on("error", () => { });
|
|
73
|
+
child.once("error", () => done(false));
|
|
74
|
+
child.once("exit", code => done(code === 0 && output.trim() === "ready"));
|
|
75
|
+
child.stdin.end(vscodePreparationScript(commit));
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=vscode-server-preparation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vscode-server-preparation.js","sourceRoot":"","sources":["../../src/lib/vscode-server-preparation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAEzD;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAC7E,OAAO;SACA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC9B,CAAA;AACD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,MAAc,EAAE,MAAmB;IACpF,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7H,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,uBAAuB,CAAC,CAAA;QAC9F,IAAI,uBAAuB,CAAC,KAAK,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;QACzE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAC,CAAC,CAAA;QACrE,IAAI,MAAM,GAAG,EAAE,EAAE,OAAO,GAAG,KAAK,CAAA;QAChC,MAAM,IAAI,GAAG,CAAC,EAAW,EAAE,EAAE;YAC3B,IAAI,OAAO;gBAAE,OAAM;YACnB,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC1C,OAAO,CAAC,EAAE,CAAC,CAAA;QACb,CAAC,CAAA;QACD,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC,CAAA;QACjD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,MAAO,CAAC,CAAA;QACxC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC,CAAA;QACrD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAClF,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;QACjC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACtC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,OAAO,CAAC,CAAC,CAAA;QACzE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface WorkspaceReadiness {
|
|
2
|
+
workspace_status: string;
|
|
3
|
+
healthy?: boolean;
|
|
4
|
+
}
|
|
5
|
+
/** A queued start creates nothing. Retry that idempotent POST with bounded
|
|
6
|
+
* backoff; once allocation starts, only observe it, never start another one.
|
|
7
|
+
*/
|
|
8
|
+
export declare function waitForWorkspace<T extends WorkspaceReadiness>(options: {
|
|
9
|
+
initial?: T;
|
|
10
|
+
start: () => Promise<T>;
|
|
11
|
+
connection: () => Promise<T>;
|
|
12
|
+
ready: (value: T) => boolean;
|
|
13
|
+
permanentFailure: (error: unknown) => boolean;
|
|
14
|
+
keepWaiting: (elapsed: number, status?: string) => boolean;
|
|
15
|
+
progress: (stage: "waiting_capacity" | "starting_workspace", elapsed: number) => void;
|
|
16
|
+
now?: () => number;
|
|
17
|
+
pause?: (ms: number) => Promise<void>;
|
|
18
|
+
queueBudgetMs?: number;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
connection?: T;
|
|
21
|
+
capacityTimedOut: boolean;
|
|
22
|
+
}>;
|
|
23
|
+
//# sourceMappingURL=workspace-start-wait.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-start-wait.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-start-wait.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,kBAAkB,EAAE,OAAO,EAAE;IAC5E,OAAO,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IACvB,UAAU,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAA;IAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAA;IAC5B,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAA;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACrF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,OAAO,CAAC;IAAE,UAAU,CAAC,EAAE,CAAC,CAAC;IAAC,gBAAgB,EAAE,OAAO,CAAA;CAAE,CAAC,CA8BzD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/** A queued start creates nothing. Retry that idempotent POST with bounded
|
|
2
|
+
* backoff; once allocation starts, only observe it, never start another one.
|
|
3
|
+
*/
|
|
4
|
+
export async function waitForWorkspace(options) {
|
|
5
|
+
const now = options.now ?? Date.now;
|
|
6
|
+
const pause = options.pause ?? (ms => new Promise(resolve => setTimeout(resolve, ms)));
|
|
7
|
+
const beginning = now();
|
|
8
|
+
let started = beginning;
|
|
9
|
+
let queued = options.initial?.workspace_status === "queued";
|
|
10
|
+
let nextRetry = beginning + 5000;
|
|
11
|
+
let retries = 0;
|
|
12
|
+
let last;
|
|
13
|
+
if (queued)
|
|
14
|
+
options.progress("waiting_capacity", 0);
|
|
15
|
+
while (queued ? now() - beginning < (options.queueBudgetMs ?? 120000) : options.keepWaiting(now() - started, last?.workspace_status)) {
|
|
16
|
+
let current;
|
|
17
|
+
try {
|
|
18
|
+
current = await options.connection();
|
|
19
|
+
last = current;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
if (options.permanentFailure(error))
|
|
23
|
+
throw error;
|
|
24
|
+
}
|
|
25
|
+
if (current && options.ready(current))
|
|
26
|
+
return { connection: current, capacityTimedOut: false };
|
|
27
|
+
if (queued && current && ["starting", "running"].includes(current.workspace_status)) {
|
|
28
|
+
queued = false;
|
|
29
|
+
started = now();
|
|
30
|
+
}
|
|
31
|
+
if (queued && current && ["not_created", "queued"].includes(current.workspace_status) && now() >= nextRetry) {
|
|
32
|
+
try {
|
|
33
|
+
const result = await options.start();
|
|
34
|
+
if (result.workspace_status !== "queued") {
|
|
35
|
+
queued = false;
|
|
36
|
+
started = now();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
if (options.permanentFailure(error))
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
43
|
+
nextRetry = now() + Math.min(5000 * 2 ** ++retries, 30000);
|
|
44
|
+
}
|
|
45
|
+
options.progress(queued ? "waiting_capacity" : "starting_workspace", now() - beginning);
|
|
46
|
+
await pause(2000);
|
|
47
|
+
}
|
|
48
|
+
return { connection: last, capacityTimedOut: queued };
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=workspace-start-wait.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-start-wait.js","sourceRoot":"","sources":["../../src/lib/workspace-start-wait.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAA+B,OAWpE;IACC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAA;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;IACtF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAA;IACvB,IAAI,OAAO,GAAG,SAAS,CAAA;IACvB,IAAI,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,gBAAgB,KAAK,QAAQ,CAAA;IAC3D,IAAI,SAAS,GAAG,SAAS,GAAG,IAAI,CAAA;IAChC,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,IAAmB,CAAA;IACvB,IAAI,MAAM;QAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAA;IACnD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,MAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACtI,IAAI,OAAsB,CAAA;QAC1B,IAAI,CAAC;YAAC,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAAC,IAAI,GAAG,OAAO,CAAA;QAAC,CAAC;QAC5D,OAAO,KAAK,EAAE,CAAC;YAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAA;QAAC,CAAC;QAClE,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAA;QAC9F,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpF,MAAM,GAAG,KAAK,CAAA;YACd,OAAO,GAAG,GAAG,EAAE,CAAA;QACjB,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;YAC5G,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;gBACpC,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oBAAC,MAAM,GAAG,KAAK,CAAC;oBAAC,OAAO,GAAG,GAAG,EAAE,CAAA;gBAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,MAAM,KAAK,CAAA;YAAC,CAAC;YACpE,SAAS,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,KAAM,CAAC,CAAA;QAC7D,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,oBAAoB,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,CAAA;QACvF,MAAM,KAAK,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;AACvD,CAAC"}
|