clearcote 0.40.0 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dist/cli-commands.d.ts +2 -4
- package/dist/cli-commands.d.ts.map +1 -1
- package/dist/cli-commands.js +45 -30
- package/dist/cli-commands.js.map +1 -1
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +5 -2
- package/dist/cloud.js.map +1 -1
- package/dist/colorscheme.d.ts +27 -0
- package/dist/colorscheme.d.ts.map +1 -0
- package/dist/colorscheme.js +20 -0
- package/dist/colorscheme.js.map +1 -0
- package/dist/docker.d.ts +24 -2
- package/dist/docker.d.ts.map +1 -1
- package/dist/docker.js +168 -49
- package/dist/docker.js.map +1 -1
- package/dist/download.d.ts +37 -1
- package/dist/download.d.ts.map +1 -1
- package/dist/download.js +609 -29
- package/dist/download.js.map +1 -1
- package/dist/fonts.d.ts +84 -3
- package/dist/fonts.d.ts.map +1 -1
- package/dist/fonts.js +486 -12
- package/dist/fonts.js.map +1 -1
- package/dist/geometry.d.ts +3 -1
- package/dist/geometry.d.ts.map +1 -1
- package/dist/geometry.js +6 -2
- package/dist/geometry.js.map +1 -1
- package/dist/index.d.ts +40 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -76
- package/dist/index.js.map +1 -1
- package/dist/launchopts.d.ts +21 -0
- package/dist/launchopts.d.ts.map +1 -1
- package/dist/launchopts.js +46 -0
- package/dist/launchopts.js.map +1 -1
- package/dist/personaenv.d.ts +33 -0
- package/dist/personaenv.d.ts.map +1 -0
- package/dist/personaenv.js +117 -0
- package/dist/personaenv.js.map +1 -0
- package/dist/warnings.d.ts +9 -1
- package/dist/warnings.d.ts.map +1 -1
- package/dist/warnings.js +32 -4
- package/dist/warnings.js.map +1 -1
- package/dist/widevine.d.ts +10 -0
- package/dist/widevine.d.ts.map +1 -1
- package/dist/widevine.js +18 -0
- package/dist/widevine.js.map +1 -1
- package/dist/winlaunch.d.ts +55 -0
- package/dist/winlaunch.d.ts.map +1 -0
- package/dist/winlaunch.js +334 -0
- package/dist/winlaunch.js.map +1 -0
- package/docker-seccomp.json +909 -0
- package/package.json +2 -1
package/dist/docker.js
CHANGED
|
@@ -28,7 +28,16 @@
|
|
|
28
28
|
//
|
|
29
29
|
// Nothing outlives its owner: the container is created with --rm, stops itself once no CDP client has been
|
|
30
30
|
// connected for 30 s after its CDP first answers (CLEARCOTE_DOCKER_IDLE_EXIT), and the next launch removes
|
|
31
|
-
// any whose owner process is certainly gone (sweepStale). close() stops it at once
|
|
31
|
+
// any whose owner process is certainly gone (sweepStale). close() stops it at once and resolves once Docker
|
|
32
|
+
// has removed it (waiting up to 15 s for that).
|
|
33
|
+
//
|
|
34
|
+
// Chrome's sandbox: an image of serve protocol 3 runs Chrome with its sandbox when the container allows the
|
|
35
|
+
// user, PID and network namespaces the sandbox makes, and Docker's default seccomp profile does not. Such an
|
|
36
|
+
// image is started with --security-opt seccomp=docker-seccomp.json (shipped in this package: Docker's default
|
|
37
|
+
// profile of moby/profiles seccomp v0.2.3 plus those two calls; docker/seccomp.json in the repository) on an x86_64
|
|
38
|
+
// Docker. An older image is not, since its Chrome runs with --no-sandbox whatever it gets, and neither is a Docker
|
|
39
|
+
// on another CPU, where the image runs emulated (seccompArgs). A Docker that refuses the profile, at create or at
|
|
40
|
+
// start, gets the container again without it.
|
|
32
41
|
// Mirrors _docker.py in the Python SDK.
|
|
33
42
|
import { execFile, spawn, spawnSync } from "node:child_process";
|
|
34
43
|
import { existsSync, mkdirSync, readdirSync, readFileSync, readlinkSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
@@ -36,8 +45,10 @@ import http from "node:http";
|
|
|
36
45
|
import { randomBytes } from "node:crypto";
|
|
37
46
|
import { homedir, hostname } from "node:os";
|
|
38
47
|
import { delimiter, join } from "node:path";
|
|
48
|
+
import { fileURLToPath } from "node:url";
|
|
39
49
|
import { chromium } from "playwright-core";
|
|
40
50
|
import { installHumanize, installHumanizeOnContext } from "./humanize.js";
|
|
51
|
+
import { STOCK_RUNTIME_SWITCH, stockRuntimeWanted } from "./launchopts.js";
|
|
41
52
|
import { resolveLicenseKey } from "./license.js";
|
|
42
53
|
export const DEFAULT_REPOSITORY = "teamflatearth/clearcote";
|
|
43
54
|
export const TEST_ONLY_ASSUME_MACOS = "CLEARCOTE_TEST_ONLY_ASSUME_MACOS";
|
|
@@ -45,6 +56,9 @@ const LABEL = "com.clearcotelabs.sdk-launch=1";
|
|
|
45
56
|
// Who started a container: sweepStale() removes the ones whose owner process is gone.
|
|
46
57
|
const OWNER_HOST_LABEL = "com.clearcotelabs.owner-host";
|
|
47
58
|
const OWNER_TOKEN_LABEL = "com.clearcotelabs.owner-token";
|
|
59
|
+
// The largest pid an owner record can name: no system has larger ones, and process.kill() throws
|
|
60
|
+
// ERR_INVALID_ARG_TYPE beyond it (which pidAlive() would read as "gone").
|
|
61
|
+
const PID_MAX = 2 ** 31 - 1;
|
|
48
62
|
// The image's serve protocol (docker/serve.py's SERVE_PROTOCOL, carried as this image label). 2: takes
|
|
49
63
|
// CC_SECRETS_FILE and CC_IDLE_EXIT_SECONDS and logs a serve-state line. An image without the label is older.
|
|
50
64
|
const PROTOCOL_LABEL = "com.clearcotelabs.serve-protocol";
|
|
@@ -59,6 +73,12 @@ const DEFAULT_CACHE_VOLUME = "clearcote-cache";
|
|
|
59
73
|
const SECRET_ENV = ["CLEARCOTE_LICENSE_KEY", "CC_PROXY"];
|
|
60
74
|
const SECRETS_FILE = "/tmp/clearcote-secrets.json";
|
|
61
75
|
const IMAGE_UID = 10001; // the image's user (cc)
|
|
76
|
+
// An image of this serve protocol runs Chrome's sandbox when the container allows it, so it is started with this
|
|
77
|
+
// seccomp profile: Docker's default plus the namespace calls the sandbox makes (docker/seccomp.json).
|
|
78
|
+
export const SANDBOX_PROTOCOL = 3;
|
|
79
|
+
export const SECCOMP_PROFILE = fileURLToPath(new URL("../docker-seccomp.json", import.meta.url));
|
|
80
|
+
const SECCOMP_REFUSED = /seccomp/i;
|
|
81
|
+
const X86_64 = ["x86_64", "amd64"]; // the daemon architectures that run the linux/amd64 image natively
|
|
62
82
|
const TRUTHY = ["1", "true", "yes", "on"];
|
|
63
83
|
const FALSY = ["0", "false", "no", "off"];
|
|
64
84
|
// The image starts a virtual display, Chromium and (with a licence) fetches the licensed engine on its
|
|
@@ -98,7 +118,7 @@ const BOOL_ENV = {
|
|
|
98
118
|
lightStealth: "CC_LIGHT_STEALTH", disableGpuFingerprint: "CC_DISABLE_GPU_FINGERPRINT",
|
|
99
119
|
fingerprintNoise: "CC_FINGERPRINT_NOISE", canvasNoise: "CC_CANVAS_NOISE", gpuStringSpoof: "CC_GPU_STRING_SPOOF",
|
|
100
120
|
};
|
|
101
|
-
const SPECIAL = ["location", "fingerprintProfile", "headless", "proxy", "args", "licenseKey", "licenseApiBase"];
|
|
121
|
+
const SPECIAL = ["location", "fingerprintProfile", "headless", "proxy", "args", "licenseKey", "licenseApiBase", "personaEnv", "stockRuntime"];
|
|
102
122
|
const SDK_SIDE = ["timeout", "slowMo", "humanize", "showCursor", "quiet", "docker", "dockerImage", "ephemeralProfile"];
|
|
103
123
|
export const DOCKER_ACCEPTED = [
|
|
104
124
|
...Object.keys(STR_ENV), ...Object.keys(INT_ENV), ...Object.keys(FLOAT_ENV), ...Object.keys(BOOL_ENV), ...SPECIAL, ...SDK_SIDE,
|
|
@@ -127,6 +147,9 @@ export function dockerRequested(docker, options = {}) {
|
|
|
127
147
|
export function defaultImage() {
|
|
128
148
|
return process.env.CLEARCOTE_DOCKER_IMAGE || `${DEFAULT_REPOSITORY}:sdk-${SDK_VERSION}`;
|
|
129
149
|
}
|
|
150
|
+
/** A proxy's username or password escaped for its URL as the Python and .NET SDKs do it (quote(safe="") and
|
|
151
|
+
* Uri.EscapeDataString): everything but A-Z a-z 0-9 - . _ ~. encodeURIComponent alone leaves ! ' ( ) * as they are. */
|
|
152
|
+
const escapeLogin = (s) => encodeURIComponent(s).replace(/[!'()*]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
130
153
|
function proxyUrl(proxy) {
|
|
131
154
|
if (typeof proxy === "string")
|
|
132
155
|
return proxy;
|
|
@@ -137,7 +160,7 @@ function proxyUrl(proxy) {
|
|
|
137
160
|
const scheme = i < 0 ? "http" : p.server.slice(0, i);
|
|
138
161
|
let rest = i < 0 ? p.server : p.server.slice(i + 3);
|
|
139
162
|
if (p.username || p.password)
|
|
140
|
-
rest = `${
|
|
163
|
+
rest = `${escapeLogin(p.username ?? "")}:${escapeLogin(p.password ?? "")}@${rest}`;
|
|
141
164
|
return `${scheme}://${rest}`;
|
|
142
165
|
}
|
|
143
166
|
/** The CC_* (and licence) variables the image is started with. Throws naming the first option the
|
|
@@ -181,18 +204,25 @@ export function containerEnv(options) {
|
|
|
181
204
|
env.CC_HEADLESS = "1"; // unset or false: the image's default, headed on its own display
|
|
182
205
|
if (options.proxy)
|
|
183
206
|
env.CC_PROXY = proxyUrl(options.proxy);
|
|
184
|
-
const args = options.args;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
207
|
+
const args = [...(options.args ?? [])];
|
|
208
|
+
const bad = args.find((a) => !String(a) || /\s/.test(String(a)));
|
|
209
|
+
if (bad !== undefined)
|
|
210
|
+
throw new TypeError(`args ${JSON.stringify(bad)}: an argument with whitespace cannot be passed to the Docker image`);
|
|
211
|
+
// stockRuntime (engine r32+) goes in with the other engine switches; the image's entrypoint keeps it only on an
|
|
212
|
+
// engine that has it, as a launch here does (docker/serve.py).
|
|
213
|
+
if (stockRuntimeWanted(options.stockRuntime) && !args.map(String).includes(STOCK_RUNTIME_SWITCH))
|
|
214
|
+
args.push(STOCK_RUNTIME_SWITCH);
|
|
215
|
+
if (args.length)
|
|
189
216
|
env.CC_EXTRA_ARGS = args.join(" ");
|
|
190
|
-
}
|
|
191
217
|
const key = resolveLicenseKey(options.licenseKey); // as a local launch: option > env > saved key
|
|
192
218
|
if (key)
|
|
193
219
|
env.CLEARCOTE_LICENSE_KEY = key;
|
|
194
220
|
if (options.licenseApiBase)
|
|
195
221
|
env.CLEARCOTE_LICENSE_API = String(options.licenseApiBase);
|
|
222
|
+
// Engine patch 1021 (personaenv.ts): the image's entrypoint takes the persona off its chrome's command line by
|
|
223
|
+
// itself, on an engine that has the switch, and reads the same opt-out a launch here does.
|
|
224
|
+
if (has("personaEnv"))
|
|
225
|
+
env.CLEARCOTE_PERSONA_ENV = options.personaEnv ? "1" : "0";
|
|
196
226
|
return env;
|
|
197
227
|
}
|
|
198
228
|
const MARK = /\[clearcote\] (serve-state |engine: |proxy: )/;
|
|
@@ -266,17 +296,33 @@ export const dockerCli = {
|
|
|
266
296
|
};
|
|
267
297
|
const firstLine = (t) => (t ?? "").split(/\r?\n/).map((l) => l.trim()).find(Boolean) ?? "";
|
|
268
298
|
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
269
|
-
|
|
299
|
+
/** The docker executable and the daemon's CPU architecture as `docker info` reports it ("x86_64", "aarch64", or ""
|
|
300
|
+
* when it does not say), from one `docker info` (it takes about a second on Docker Desktop), or
|
|
301
|
+
* DockerUnavailableError saying what to do. */
|
|
302
|
+
export async function dockerInfo() {
|
|
270
303
|
const exe = dockerCli.which();
|
|
271
304
|
if (!exe) {
|
|
272
305
|
throw new DockerUnavailableError(`Clearcote has no native macOS build, so on macOS launch() runs it in Docker, but the \`docker\` command was not found. Install Docker Desktop (${INSTALL_URL}), start it, and try again. ${OFF_HINT}`);
|
|
273
306
|
}
|
|
274
|
-
const r = await dockerCli.run([exe, "info", "--format", "{{.ServerVersion}}"], undefined, 30_000);
|
|
307
|
+
const r = await dockerCli.run([exe, "info", "--format", "{{.ServerVersion}} {{.Architecture}}"], undefined, 30_000);
|
|
275
308
|
if (r.code !== 0) {
|
|
276
309
|
throw new DockerUnavailableError(`Clearcote has no native macOS build, so on macOS launch() runs it in Docker, but Docker is not running (\`docker info\`: ${firstLine(r.stderr) || `exit ${r.code}`}). Start Docker Desktop and try again. ${OFF_HINT}`);
|
|
277
310
|
}
|
|
278
|
-
return exe;
|
|
311
|
+
return { exe, arch: r.stdout.trim().split(/\s+/)[1] ?? "" };
|
|
279
312
|
}
|
|
313
|
+
/** The docker executable, or DockerUnavailableError saying what to do. */
|
|
314
|
+
export async function checkDocker() {
|
|
315
|
+
return (await dockerInfo()).exe;
|
|
316
|
+
}
|
|
317
|
+
const warned = new Set(); // the warnings this process has given once already
|
|
318
|
+
function warnOnce(key, message, quiet) {
|
|
319
|
+
if (quiet || warned.has(key))
|
|
320
|
+
return;
|
|
321
|
+
warned.add(key);
|
|
322
|
+
process.stderr.write(`${message}\n`);
|
|
323
|
+
}
|
|
324
|
+
/** Forget the warnings given once (for tests). */
|
|
325
|
+
export function resetWarnings() { warned.clear(); }
|
|
280
326
|
/** How long a launched container waits with no CDP client before it stops itself: CLEARCOTE_DOCKER_IDLE_EXIT
|
|
281
327
|
* (seconds, 0 = never), default 30. */
|
|
282
328
|
export function idleExitSeconds() {
|
|
@@ -310,9 +356,9 @@ export function pidAlive(pid) {
|
|
|
310
356
|
// can verify completely: one in its own home, written on this host, from this boot and PID namespace -- every
|
|
311
357
|
// one of those fields as this process would write it, so a record written on another OS into a shared home (no
|
|
312
358
|
// namespace or boot id), in a container given the Docker socket (another namespace), next to Windows in WSL2,
|
|
313
|
-
// or on another machine is left alone, and so is a pid that is not a positive number. When in doubt,
|
|
314
|
-
// removed: the container's idle exit still stops it. The record format is shared by the Python, Node
|
|
315
|
-
// SDKs, so any of them can sweep any other's containers.
|
|
359
|
+
// or on another machine is left alone, and so is a pid that is not a positive 32-bit number. When in doubt,
|
|
360
|
+
// nothing is removed: the container's idle exit still stops it. The record format is shared by the Python, Node
|
|
361
|
+
// and .NET SDKs, so any of them can sweep any other's containers.
|
|
316
362
|
const readText = (path) => {
|
|
317
363
|
try {
|
|
318
364
|
return readFileSync(path, "utf8").trim();
|
|
@@ -391,15 +437,15 @@ export const ownerHere = () => ({ host: hostname(), boot: bootId(), pidns: pidNa
|
|
|
391
437
|
const markerKind = (m) => (typeof m === "string" && m.includes(":") ? m.slice(0, m.indexOf(":")) : null);
|
|
392
438
|
/** true or false for the owner a record describes, or null when that cannot be told for certain here: a record
|
|
393
439
|
* whose host, boot id or PID namespace is not exactly what this process would record (missing ones included),
|
|
394
|
-
* or whose pid is not a positive integer. A pid that is alive with a start marker of the
|
|
395
|
-
* value was reused (false); one whose marker cannot be compared counts as alive. */
|
|
440
|
+
* or whose pid is not a positive 32-bit integer (PID_MAX at most). A pid that is alive with a start marker of the
|
|
441
|
+
* same kind but another value was reused (false); one whose marker cannot be compared counts as alive. */
|
|
396
442
|
export function ownerAlive(rec) {
|
|
397
443
|
const here = ownerHere();
|
|
398
444
|
if (!here.host || typeof rec.host !== "string" || rec.host.toLowerCase() !== here.host.toLowerCase())
|
|
399
445
|
return null;
|
|
400
446
|
if ((rec.boot ?? null) !== here.boot || (rec.pidns ?? null) !== here.pidns)
|
|
401
447
|
return null;
|
|
402
|
-
if (typeof rec.pid !== "number" || !Number.isInteger(rec.pid) || rec.pid <= 0)
|
|
448
|
+
if (typeof rec.pid !== "number" || !Number.isInteger(rec.pid) || rec.pid <= 0 || rec.pid > PID_MAX)
|
|
403
449
|
return null;
|
|
404
450
|
if (!pidAlive(rec.pid))
|
|
405
451
|
return false;
|
|
@@ -459,12 +505,33 @@ export async function sweepStale(exe) {
|
|
|
459
505
|
}
|
|
460
506
|
const live = new Map(); // container id -> docker executable, for the exit-time sweep
|
|
461
507
|
let sweepInstalled = false;
|
|
462
|
-
|
|
508
|
+
/** How long removeContainer waits for the container to be gone, and how often it looks. A seam: tests shorten it. */
|
|
509
|
+
export const removal = { waitMs: 15_000, pollMs: 250 };
|
|
510
|
+
/** Waits, for up to `removal.waitMs`, until `docker ps -a` no longer lists the container. False only when it is
|
|
511
|
+
* still listed once the wait is up; a docker CLI that does not answer ends the wait. Never throws. */
|
|
512
|
+
async function waitGone(exe, id) {
|
|
513
|
+
const deadline = Date.now() + removal.waitMs;
|
|
514
|
+
for (;;) {
|
|
515
|
+
const r = await dockerCli.run([exe, "ps", "-a", "-q", "--no-trunc", "--filter", `id=${id}`], undefined, Math.max(deadline - Date.now(), 1000));
|
|
516
|
+
if (r.code !== 0 || !r.stdout.trim())
|
|
517
|
+
return true;
|
|
518
|
+
if (Date.now() >= deadline)
|
|
519
|
+
return false;
|
|
520
|
+
await new Promise((res) => setTimeout(res, removal.pollMs));
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
export async function removeContainer(exe, id) {
|
|
463
524
|
// stop first: SIGTERM lets the image release a licence seat. The container was created with --rm, so
|
|
464
525
|
// stopping it removes it and its anonymous volume (the image declares VOLUME /opt/xdg-cache: ~0.5 GB);
|
|
465
526
|
// rm -f -v is for a container that did not go away. A named volume is never removed.
|
|
466
527
|
await dockerCli.run([exe, "stop", "--time", "10", id], undefined, 60_000);
|
|
467
528
|
await dockerCli.run([exe, "rm", "-f", "-v", id], undefined, 60_000);
|
|
529
|
+
// The daemon's own --rm removal starts once the container has stopped and runs on after `docker stop`
|
|
530
|
+
// returns; `docker rm` meanwhile answers "removal ... already in progress" at once. Wait for it to finish,
|
|
531
|
+
// so that close() resolving means the container is gone. A container still there after the wait (its
|
|
532
|
+
// removal failed: Docker marks it Dead) gets one more rm -f -v, which takes the volume too.
|
|
533
|
+
if (!(await waitGone(exe, id)))
|
|
534
|
+
await dockerCli.run([exe, "rm", "-f", "-v", id], undefined, 60_000);
|
|
468
535
|
live.delete(id);
|
|
469
536
|
}
|
|
470
537
|
function installSweep() {
|
|
@@ -572,15 +639,16 @@ function proxyHostPort(url) {
|
|
|
572
639
|
return [null, null];
|
|
573
640
|
}
|
|
574
641
|
}
|
|
575
|
-
/** [scheme, whether the proxy URL carries a username or password, whether they are percent-escaped]
|
|
642
|
+
/** [scheme, whether the proxy URL carries a username or password, whether they are percent-escaped], read from the
|
|
643
|
+
* URL as written, as the Python SDK reads it: the userinfo is what comes before the last '@' of the authority. (The
|
|
644
|
+
* URL parser escapes a space, '^' or an inner '@' itself, which made a login written without escapes look escaped.) */
|
|
576
645
|
function proxyLogin(url) {
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
}
|
|
646
|
+
const i = url.indexOf("://");
|
|
647
|
+
const rest = i < 0 ? url : url.slice(i + 3);
|
|
648
|
+
const authority = rest.split(/[/?#]/, 1)[0];
|
|
649
|
+
const at = authority.lastIndexOf("@");
|
|
650
|
+
const info = at < 0 ? "" : authority.slice(0, at);
|
|
651
|
+
return [i < 0 ? "http" : url.slice(0, i).toLowerCase(), info !== "" && info !== ":", info.includes("%")];
|
|
584
652
|
}
|
|
585
653
|
/** Why an image older than FIRST_PROTOCOL_TAG cannot take this proxy, or null. Its entrypoint drops the password
|
|
586
654
|
* of an http(s) proxy (Chrome is then challenged and nothing answers: every request fails), and hands a SOCKS5
|
|
@@ -666,6 +734,61 @@ export function tarOneFile(name, data, opts) {
|
|
|
666
734
|
const pad = Buffer.alloc((512 - (data.length % 512)) % 512, 0);
|
|
667
735
|
return Buffer.concat([header, data, pad, Buffer.alloc(1024, 0)]);
|
|
668
736
|
}
|
|
737
|
+
/** The docker create options that let Chrome's sandbox run in an image of `protocol`: the seccomp profile for an
|
|
738
|
+
* image that uses it (SANDBOX_PROTOCOL), nothing for an older one, whose Chrome runs with --no-sandbox anyway and
|
|
739
|
+
* so keeps Docker's stricter default. */
|
|
740
|
+
export function seccompArgs(protocol, arch) {
|
|
741
|
+
// Nothing either on a daemon that is not x86_64. The image is linux/amd64, so there it runs emulated (Docker Desktop
|
|
742
|
+
// on Apple silicon: aarch64). Under qemu the namespace calls fail and the container falls back; under Rosetta they
|
|
743
|
+
// may succeed while Chrome's x86_64 seccomp-bpf filter meets the emulator's own syscalls, and tabs could crash
|
|
744
|
+
// instead. Untested: run the live sandbox tests on Apple silicon with Rosetta on and with it off before passing the
|
|
745
|
+
// profile there.
|
|
746
|
+
return protocol >= SANDBOX_PROTOCOL && X86_64.includes(arch) && existsSync(SECCOMP_PROFILE)
|
|
747
|
+
? ["--security-opt", `seccomp=${SECCOMP_PROFILE}`] : [];
|
|
748
|
+
}
|
|
749
|
+
/** Docker would not run the container with the seccomp profile: at `docker create`, or at `docker start`, which is
|
|
750
|
+
* where Docker 29 first loads it (a profile its runtime cannot apply, a kernel without seccomp). */
|
|
751
|
+
class ProfileRefused extends Error {
|
|
752
|
+
}
|
|
753
|
+
/** `docker create` (again while Docker's own volume initialisation races), the secrets copied in, `docker start` ->
|
|
754
|
+
* the running container's id. Leaves nothing behind when it rejects; rejects with ProfileRefused when the seccomp
|
|
755
|
+
* options `profile` (in `argv`) are what Docker refused, at create or at start. */
|
|
756
|
+
async function createStarted(exe, argv, env, secrets, image, profile) {
|
|
757
|
+
let r = await dockerCli.run(argv, env, 1_800_000);
|
|
758
|
+
// Two launches creating their first container on a NEW shared volume at once collide in Docker's own volume
|
|
759
|
+
// initialisation ("failed to mkdir .../volumes/<name>/_data/...: file exists"); the loser succeeds a moment
|
|
760
|
+
// later, once the volume has been filled.
|
|
761
|
+
for (let attempt = 1; attempt < 4 && r.code !== 0 && VOLUME_INIT_RACE.test(r.stderr); attempt++) {
|
|
762
|
+
await new Promise((res) => setTimeout(res, 1000 * attempt));
|
|
763
|
+
r = await dockerCli.run(argv, env, 1_800_000);
|
|
764
|
+
}
|
|
765
|
+
const id = r.stdout.trim().split(/\r?\n/).pop()?.trim() ?? "";
|
|
766
|
+
if (r.code !== 0 || !id) {
|
|
767
|
+
if (profile.length && SECCOMP_REFUSED.test(r.stderr))
|
|
768
|
+
throw new ProfileRefused(firstLine(r.stderr));
|
|
769
|
+
throw imageFailed(image, r.code, r.stderr, "docker create");
|
|
770
|
+
}
|
|
771
|
+
live.set(id, exe);
|
|
772
|
+
installSweep();
|
|
773
|
+
try {
|
|
774
|
+
if (Object.keys(secrets).length) {
|
|
775
|
+
const tar = tarOneFile(SECRETS_FILE.split("/").pop(), Buffer.from(JSON.stringify(secrets), "utf8"), { uid: IMAGE_UID, gid: IMAGE_UID, mode: 0o600 });
|
|
776
|
+
const cp = await dockerCli.run([exe, "cp", "-", `${id}:${SECRETS_FILE.slice(0, SECRETS_FILE.lastIndexOf("/"))}`], undefined, 60_000, tar);
|
|
777
|
+
if (cp.code !== 0)
|
|
778
|
+
throw new Error(`could not copy the licence/proxy settings into the container: ${firstLine(cp.stderr)}`);
|
|
779
|
+
}
|
|
780
|
+
const st = await dockerCli.run([exe, "start", id], undefined, 120_000);
|
|
781
|
+
if (st.code !== 0 && profile.length && SECCOMP_REFUSED.test(st.stderr))
|
|
782
|
+
throw new ProfileRefused(firstLine(st.stderr));
|
|
783
|
+
if (st.code !== 0)
|
|
784
|
+
throw new Error(`\`docker start\` failed: ${st.stderr.trim() || `exit ${st.code}`}`);
|
|
785
|
+
}
|
|
786
|
+
catch (e) {
|
|
787
|
+
await removeContainer(exe, id);
|
|
788
|
+
throw e;
|
|
789
|
+
}
|
|
790
|
+
return id;
|
|
791
|
+
}
|
|
669
792
|
/**
|
|
670
793
|
* Start the image and wait for its CDP endpoint. Nothing is left running when this rejects.
|
|
671
794
|
*
|
|
@@ -682,7 +805,7 @@ export function tarOneFile(name, data, opts) {
|
|
|
682
805
|
export async function startContainer(options) {
|
|
683
806
|
const env = containerEnv(options);
|
|
684
807
|
const idle = idleExitSeconds();
|
|
685
|
-
const exe = await
|
|
808
|
+
const { exe, arch } = await dockerInfo();
|
|
686
809
|
await sweepStale(exe);
|
|
687
810
|
const image = options.dockerImage || defaultImage();
|
|
688
811
|
const protocol = await imageProtocol(exe, image, !!options.quiet);
|
|
@@ -714,6 +837,11 @@ export async function startContainer(options) {
|
|
|
714
837
|
}
|
|
715
838
|
const argv = [exe, "create", "--rm", "--platform", "linux/amd64", "--shm-size", "1g", "-p", "127.0.0.1::9222",
|
|
716
839
|
"--label", LABEL, "--label", `${OWNER_HOST_LABEL}=${hostname()}`, "--label", `${OWNER_TOKEN_LABEL}=${ownerToken()}`];
|
|
840
|
+
const seccomp = seccompArgs(protocol, arch);
|
|
841
|
+
if (protocol >= SANDBOX_PROTOCOL && !arch) {
|
|
842
|
+
warnOnce("arch", "[clearcote] warning: `docker info` did not say which CPU Docker runs on, so the container runs Chrome without its sandbox.", !!options.quiet);
|
|
843
|
+
}
|
|
844
|
+
argv.push(...seccomp);
|
|
717
845
|
for (const name of Object.keys(env).sort())
|
|
718
846
|
argv.push("-e", name); // the value comes from the CLI's environment
|
|
719
847
|
if (expect.licensed)
|
|
@@ -721,30 +849,21 @@ export async function startContainer(options) {
|
|
|
721
849
|
argv.push(image);
|
|
722
850
|
if (!options.quiet)
|
|
723
851
|
process.stderr.write(`[clearcote] no native macOS build: starting the Clearcote Docker image ${image}\n`);
|
|
724
|
-
let
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
852
|
+
let id;
|
|
853
|
+
try {
|
|
854
|
+
id = await createStarted(exe, argv, env, secrets, image, seccomp);
|
|
855
|
+
}
|
|
856
|
+
catch (e) {
|
|
857
|
+
if (!(e instanceof ProfileRefused))
|
|
858
|
+
throw e;
|
|
859
|
+
// A Docker that cannot use the seccomp profile: the container again, without it. Its Chrome then runs with
|
|
860
|
+
// --no-sandbox, as it did before the profile existed.
|
|
861
|
+
if (!options.quiet)
|
|
862
|
+
process.stderr.write(`[clearcote] warning: Docker refused the seccomp profile (${e.message}); the container runs Chrome without its sandbox.\n`);
|
|
863
|
+
id = await createStarted(exe, argv.filter((a) => !seccomp.includes(a)), env, secrets, image, []);
|
|
731
864
|
}
|
|
732
|
-
const id = r.stdout.trim().split(/\r?\n/).pop()?.trim() ?? "";
|
|
733
|
-
if (r.code !== 0 || !id)
|
|
734
|
-
throw imageFailed(image, r.code, r.stderr, "docker create");
|
|
735
|
-
live.set(id, exe);
|
|
736
|
-
installSweep();
|
|
737
865
|
let logs = null;
|
|
738
866
|
try {
|
|
739
|
-
if (Object.keys(secrets).length) {
|
|
740
|
-
const tar = tarOneFile(SECRETS_FILE.split("/").pop(), Buffer.from(JSON.stringify(secrets), "utf8"), { uid: IMAGE_UID, gid: IMAGE_UID, mode: 0o600 });
|
|
741
|
-
const cp = await dockerCli.run([exe, "cp", "-", `${id}:${SECRETS_FILE.slice(0, SECRETS_FILE.lastIndexOf("/"))}`], undefined, 60_000, tar);
|
|
742
|
-
if (cp.code !== 0)
|
|
743
|
-
throw new Error(`could not copy the licence/proxy settings into the container: ${firstLine(cp.stderr)}`);
|
|
744
|
-
}
|
|
745
|
-
const st = await dockerCli.run([exe, "start", id], undefined, 120_000);
|
|
746
|
-
if (st.code !== 0)
|
|
747
|
-
throw new Error(`\`docker start\` failed: ${st.stderr.trim() || `exit ${st.code}`}`);
|
|
748
867
|
logs = dockerCli.followLogs(exe, id);
|
|
749
868
|
const port = await publishedPort(exe, id);
|
|
750
869
|
const timeout = options.timeout;
|
package/dist/docker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,EAAE;AACF,sGAAsG;AACtG,wGAAwG;AACxG,mGAAmG;AACnG,iGAAiG;AACjG,sCAAsC;AACtC,EAAE;AACF,mBAAmB;AACnB,uGAAuG;AACvG,0DAA0D;AAC1D,oFAAoF;AACpF,iGAAiG;AACjG,uGAAuG;AACvG,2FAA2F;AAC3F,EAAE;AACF,oGAAoG;AACpG,mGAAmG;AACnG,uGAAuG;AACvG,yGAAyG;AACzG,2GAA2G;AAC3G,sFAAsF;AACtF,EAAE;AACF,0GAA0G;AAC1G,6GAA6G;AAC7G,+GAA+G;AAC/G,yGAAyG;AACzG,EAAE;AACF,2GAA2G;AAC3G,2GAA2G;AAC3G,oFAAoF;AACpF,wCAAwC;AAExC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1H,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,kCAAkC,CAAC;AACzE,MAAM,KAAK,GAAG,gCAAgC,CAAC;AAC/C,sFAAsF;AACtF,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;AACxD,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAC1D,uGAAuG;AACvG,6GAA6G;AAC7G,MAAM,cAAc,GAAG,kCAAkC,CAAC;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAChC,MAAM,kBAAkB,GAAG,YAAY,CAAC,CAAC,2CAA2C;AACpF,2FAA2F;AAC3F,kFAAkF;AAClF,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,0GAA0G;AAC1G,uGAAuG;AACvG,MAAM,UAAU,GAAG,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;AACzD,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,wBAAwB;AACjD,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1C,uGAAuG;AACvG,mGAAmG;AACnG,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,WAAW,GAAG,4DAA4D,CAAC;AACjF,MAAM,QAAQ,GAAG,+HAA+H,CAAC;AAEjJ,MAAM,WAAW,GAAW,CAAC,GAAG,EAAE;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAiB,CAAC;IACzG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,iHAAiH;AACjH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAYD,gDAAgD;AAChD,MAAM,OAAO,GAA2B;IACtC,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,qBAAqB;IAC9F,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB;IAC/G,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB;IACrH,UAAU,EAAE,gBAAgB,EAAE,OAAO,EAAE,YAAY;CACpD,CAAC;AACF,MAAM,OAAO,GAA2B;IACtC,mBAAmB,EAAE,yBAAyB,EAAE,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,gBAAgB;IAC9G,cAAc,EAAE,qBAAqB,EAAE,YAAY,EAAE,kBAAkB;CACxE,CAAC;AACF,MAAM,SAAS,GAA2B,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;AACxF,MAAM,QAAQ,GAA2B;IACvC,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,4BAA4B;IACrF,gBAAgB,EAAE,sBAAsB,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,qBAAqB;CAChH,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAChH,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACvH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ;CAC/H,CAAC;AAEF,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC;AACrG,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,MAAe,EAAE,UAAmC,EAAE;IACpF,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,gCAAgC;QACrH,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC,CAAC,2CAA2C;IACrF,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,WAAW,EAAE,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,GAAG,kBAAkB,QAAQ,WAAW,EAAE,CAAC;AAC1F,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,CAAC,GAAG,KAAyE,CAAC;IACpF,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,MAAM,IAAI,SAAS,CAAC,yDAAyD,CAAC,CAAC;IACpG,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrD,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ;QAAE,IAAI,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/H,OAAO,GAAG,MAAM,MAAM,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;wBACwB;AACxB,MAAM,UAAU,YAAY,CAAC,OAAgC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3I,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,MAAM,IAAI,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,mHAAmH,KAAK,KAAK,QAAQ,EAAE,CAAC,CAAC;IAC5K,CAAC;IACD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC3E,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACtB,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC;QACxI,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,IAAI,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,mBAAmB;IACrH,IAAI,GAAG,CAAC,UAAU,CAAC;QAAE,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC/H,IAAI,GAAG,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC;QACxC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,sBAAsB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aAC3E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,GAAG,CAAC,sBAAsB,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,yBAAyB;;YAC/J,GAAG,CAAC,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI;QAAE,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,iEAAiE;IACvH,IAAI,OAAO,CAAC,KAAK;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAA4B,CAAC;IAClD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAC5I,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,UAAgC,CAAC,CAAC,CAAC,8CAA8C;IACvH,IAAI,GAAG;QAAE,GAAG,CAAC,qBAAqB,GAAG,GAAG,CAAC;IACzC,IAAI,OAAO,CAAC,cAAc;QAAE,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACvF,OAAO,GAAG,CAAC;AACb,CAAC;AAWD,MAAM,IAAI,GAAG,+CAA+C,CAAC;AAE7D,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxG,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC;gBAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,EAAU;IACzC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAoC,IAAI,CAAC;IAClD,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,IAAI,CAAC;QACH,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACvG,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE;YAC3B,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE;gBAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC;QACF,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,IAAI,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC9B,OAAO;QACL,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;YACtB,8DAA8D;YAC9D,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;YACrC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAAE,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACjH,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,GAAkB,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;IAChD,GAAG,EAAE,CAAC,IAAc,EAAE,GAA4B,EAAE,SAAS,GAAG,OAAO,EAAE,KAAc,EAAsB,EAAE,CAC7G,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAChK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACxB,MAAM,CAAC,GAAG,KAAsF,CAAC;YACjG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACjF,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC,CAAC,CAAC;QACL,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC;IACJ,UAAU;CACX,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAE3G,0EAA0E;AAC1E,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,sBAAsB,CAC9B,kJAAkJ,WAAW,+BAA+B,QAAQ,EAAE,CAAC,CAAC;IAC5M,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,MAAM,IAAI,sBAAsB,CAC9B,4HAA4H,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE,0CAA0C,QAAQ,EAAE,CAAC,CAAC;IAC7N,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;uCACuC;AACvC,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC,GAAG;QAAE,OAAO,mBAAmB,CAAC;IACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAClI,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;6DAC6D;AAC7D,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,oBAAoB,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAQ,CAA2B,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,iCAAiC;IACzF,CAAC;AACH,CAAC;AAED,sGAAsG;AACtG,sGAAsG;AACtG,4GAA4G;AAC5G,gHAAgH;AAChH,8GAA8G;AAC9G,+GAA+G;AAC/G,8GAA8G;AAC9G,gHAAgH;AAChH,8GAA8G;AAC9G,yDAAyD;AAEzD,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC/C,IAAI,CAAC;QAAC,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC1E,CAAC,CAAC;AACF,mHAAmH;AACnH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,GAAW,EAAE,CAAC,OAAO,CAAC,QAAQ;IACxC,QAAQ;IACR,MAAM,EAAE,GAAkB,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACxE,YAAY,EAAE,GAAkB,EAAE;QAChC,IAAI,CAAC;YAAC,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC1E,CAAC;IACD,SAAS,EAAE,SAA6B;CACzC,CAAC;AACF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AACxC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;AAEpD;;iGAEiG;AACjG,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAW,CAAC;AAE3D;;;gCAGgC;AAChC,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;IACrD,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EACtE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AACvE,IAAI,eAAe,GAAkB,IAAI,CAAC;AAE1C,yFAAyF;AACzF,MAAM,UAAU,UAAU;IACxB,IAAI,eAAe;QAAE,OAAO,eAAe,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACnJ,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,CAAC;IAAC,MAAM,CAAC,CAAC,yFAAyF,CAAC,CAAC;IACrG,eAAe,GAAG,KAAK,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,KAAW,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;AAInE,iGAAiG;AACjG,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;AAE7F,MAAM,UAAU,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAElH;;;oFAGoF;AACpF,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;IACzB,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;IAClH,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxF,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,qBAAqB;IAChH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QACnD,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,GAAG,GAAG,sBAAsB,iBAAiB,KAAK,CAAC;IACzD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,mDAAmD;QACzH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACjF,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,CAAC,gDAAgD;QACpD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;gBAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,6DAA6D;AACrG,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,EAAU;IACpD,qGAAqG;IACrG,uGAAuG;IACvG,qFAAqF;IACrF,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1E,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,cAAc;QAAE,OAAO;IAC3B,cAAc,GAAG,IAAI,CAAC;IACtB,yGAAyG;IACzG,sGAAsG;IACtG,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;QACxB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC;gBAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACrH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9F,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,EAAU;IAClD,MAAM,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5H,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,EAAU,EAAE,IAAY,EAAE,QAAgB,EAAE,IAAa;IAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IACvC,SAAS,CAAC;QACR,IAAI,MAAM,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACpG,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC,CAAC,yCAAyC;YAC3F,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,kBAAkB,EAAE,CAAC,CAAC;QACtI,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7I,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,2DAA2D,CAAC;AACrF,6GAA6G;AAC7G,kHAAkH;AAClH,gHAAgH;AAChH,oBAAoB;AACpB,MAAM,aAAa,GAAG,+HAA+H,CAAC;AACtJ,MAAM,oBAAoB,GAAG,8PAA8P,CAAC;AAE5R,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,MAAc,EAAE,IAAI,GAAG,aAAa;IACpF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC;IAC/C,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,KAAK,CAAC,0CAA0C,KAAK,kCAAkC,SAAS,CAAC,MAAM,CAAC,sKAAsK,kBAAkB,MAAM,CAAC,CAAC;IACrT,CAAC;IACD,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,KAAK,GAAG,kBAAkB,QAAQ,WAAW,EAAE;YAC9D,CAAC,CAAC,uQAAuQ,kBAAkB,KAAK,kBAAkB,6DAA6D,kBAAkB,0MAA0M;YAC3kB,CAAC,CAAC,mFAAmF,CAAC;QACxF,OAAO,IAAI,KAAK,CAAC,uBAAuB,KAAK,sBAAsB,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,KAAK,cAAc,MAAM,oEAAoE,CAAC,CAAC;AAC/H,CAAC;AAED;;6BAE6B;AAC7B,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW,EAAE,KAAa,EAAE,KAAK,GAAG,KAAK;IAC3E,MAAM,GAAG,GAAG,yBAAyB,CAAC;IACtC,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,KAAK,IAAI,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC1G,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACtE,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9F,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAA8B;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACjI,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;uFAGuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,aAAwC,EAAE,QAAiB;IAC3G,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAChC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACjF,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qCAAqC;QAC5E,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,4FAA4F;YACxG,CAAC,CAAC,uGAAuG,CAAC;IAC9G,OAAO,uBAAuB,KAAK,aAAa,kBAAkB,mBAAmB,IAAI,8CAA8C,kBAAkB,IAAI,kBAAkB,6EAA6E,CAAC;AAC/P,CAAC;AAED;qGACqG;AACrG,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,QAAgB,EAAE,MAAoD;IACnH,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAqB,CAAC;IAC1B,IAAI,KAAoB,CAAC;IACzB,IAAI,SAAS,GAAY,IAAI,CAAC;IAC9B,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,KAAK,GAA4E,IAAI,CAAC;QAC1F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,KAAK,GAAG,IAAI,CAAC;gBAAC,CAAC;YAAC,CAAC;QAC5G,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,yDAAyD,CAAC,CAAC;QAC5G,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAC9B,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;QAC5B,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QACrH,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC;IACtJ,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,KAAK,GAAG,CAAC,CAAC,CAAC,uGAAuG,CAAC,CAAC;QAC7K,CAAC;aAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC3G,QAAQ,CAAC,IAAI,CAAC,0GAA0G,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,IAAY,EAAE,IAAgD;IACrG,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACxF,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACpF,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAClB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACrD,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,iDAAiD;IAC1E,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB;IACnC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAClB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,MAAM;QAAE,GAAG,IAAI,CAAC,CAAC;IACjC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAgC;IACnE,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,WAAW,EAAE,CAAC;IAChC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACtB,MAAM,KAAK,GAAI,OAAO,CAAC,WAAkC,IAAI,YAAY,EAAE,CAAC;IAC5E,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;IAC7F,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;IAC1G,IAAI,QAAQ,IAAI,cAAc,EAAE,CAAC;QAC/B,IAAI,IAAI;YAAE,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM;YAAE,GAAG,CAAC,eAAe,GAAG,YAAY,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,KAAK,aAAa,kBAAkB,IAAI;kBAC3F,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,iGAAiG,CAAC,CAAC,CAAC,EAAE,CAAC;kBACtI,kFAAkF,kBAAkB,IAAI,kBAAkB,cAAc,CAAC,CAAC;QAChJ,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,8EAA8E;QAC3G,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB;QAC3G,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,gBAAgB,IAAI,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,iBAAiB,IAAI,UAAU,EAAE,EAAE,CAAC,CAAC;IACvH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,6CAA6C;IAChH,IAAI,MAAM,CAAC,QAAQ;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,qCAAqC;IAC9G,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0EAA0E,KAAK,IAAI,CAAC,CAAC;IAC9H,IAAI,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAClD,4GAA4G;IAC5G,4GAA4G;IAC5G,0CAA0C;IAC1C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;QAChG,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;QAC5D,CAAC,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACrF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClB,YAAY,EAAE,CAAC;IACf,IAAI,IAAI,GAAmB,IAAI,CAAC;IAChC,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACtJ,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YAC1I,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9H,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,EAAE,CAAC,IAAI,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxG,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAA6B,CAAC;QACtD,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;QAC3F,IAAI,QAAQ,IAAI,cAAc,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAClE,MAAM,MAAM,GAAG,QAAQ,IAAI,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;YACzG,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC/E,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,4CAA4C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACnJ,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,IAAI,EAAE,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,CAAC;IACV,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,IAAI,EAAE,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,OAAgC,CAAC,OAAO,GAAG,CAAC,IAA6B,EAAE,EAAE,EAAE,CAC9E,WAAW,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAsC,CAAC,CAAC;IACrG,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvD,OAAmC,CAAC,UAAU,GAAG,CAAC,IAA6B,EAAE,EAAE,EAAE,CACpF,cAAc,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAyC,CAAC,CAAC;AAC7G,CAAC;AAED;uGACuG;AACvG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAgC;IACjE,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,UAAU,GAAiC,IAAI,CAAC;IACpD,IAAI,CAAC;QACH,MAAM,OAAO,GAA4B,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC;YAAE,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACvF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAgD,CAAC,CAAC;QACpH,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,UAAU,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAoB,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;QACjJ,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACzG,OAA8B,CAAC,KAAK,GAAG,KAAK,EAAE,GAAG,IAAkC,EAAE,EAAE;YACtF,IAAI,CAAC;gBACH,OAAO,MAAM,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAClC,CAAC;oBAAS,CAAC;gBACT,MAAM,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;QACF,kGAAkG;QAClG,6EAA6E;QAC7E,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAA+B,EAAE,UAAU,EAAE,OAAO,CAAC,UAAiC,EAAE,IAAI,EAAE,OAAO,CAAC,WAA0C,EAAE,CAAC;QACxL,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE;YAAE,wBAAwB,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvF,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,UAAU;YAAE,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnD,MAAM,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../src/docker.ts"],"names":[],"mappings":"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"}
|
package/dist/download.d.ts
CHANGED
|
@@ -83,7 +83,43 @@ export declare function checkInstall(exe: string | undefined): void;
|
|
|
83
83
|
* A damaged tree returns null (after wiping it) so the caller re-downloads: the `.verified` marker
|
|
84
84
|
* only records that the archive hashed correctly AT INSTALL TIME, and files can be eaten later.
|
|
85
85
|
*/
|
|
86
|
-
export declare function cachedBinary(base: string, binary: string, quiet?: boolean): string | null;
|
|
86
|
+
export declare function cachedBinary(base: string, binary: string, quiet?: boolean, repair?: boolean, full?: boolean): string | null;
|
|
87
|
+
export declare const INSTALL_LOCK = ".install-lock";
|
|
88
|
+
/** Install-lock timings in ms (see the protocol above). Tests may shorten them. */
|
|
89
|
+
export declare const installLockTiming: {
|
|
90
|
+
pollMs: number;
|
|
91
|
+
heartbeatMs: number;
|
|
92
|
+
staleMs: number;
|
|
93
|
+
unreadableMs: number;
|
|
94
|
+
ancientMs: number;
|
|
95
|
+
breakerStaleMs: number;
|
|
96
|
+
waitMs: number;
|
|
97
|
+
inUsePollMs: number;
|
|
98
|
+
};
|
|
99
|
+
/** Test seam: called right before an install writes .verified. Left empty in production. */
|
|
100
|
+
export declare const installTestHooks: {
|
|
101
|
+
beforeVerified?: () => void;
|
|
102
|
+
heartbeatWorkerSource?: string;
|
|
103
|
+
/** Called before each rename of a browser tree; may throw, as a rename of a tree in use does. */
|
|
104
|
+
beforeRename?: (src: string, dst: string) => void;
|
|
105
|
+
};
|
|
106
|
+
/** The install lock while this process holds it. */
|
|
107
|
+
export interface InstallLock {
|
|
108
|
+
readonly path: string;
|
|
109
|
+
readonly nonce: string;
|
|
110
|
+
/** False once the lock file no longer carries our nonce (another process took the lock over). */
|
|
111
|
+
held(): boolean;
|
|
112
|
+
/** Touch the lock file now (the heartbeat does this every few seconds too). */
|
|
113
|
+
beat(): void;
|
|
114
|
+
/** Taken over from a holder that was not confirmed dead (it may still hold its files for a while). */
|
|
115
|
+
readonly tookOver: boolean;
|
|
116
|
+
release(): Promise<void>;
|
|
117
|
+
}
|
|
118
|
+
/** Wait for, then take, the install lock of build directory `base` (see the protocol above). */
|
|
119
|
+
export declare function acquireInstallLock(base: string, opts?: {
|
|
120
|
+
timeoutMs?: number;
|
|
121
|
+
quiet?: boolean;
|
|
122
|
+
}): Promise<InstallLock>;
|
|
87
123
|
/** A resolved version plan: a free release to download, or a pro version to fetch via the licensed route. */
|
|
88
124
|
export type VersionPlan = {
|
|
89
125
|
kind: "free";
|
package/dist/download.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../src/download.ts"],"names":[],"mappings":"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"}
|