@lizard-build/cli 4.0.74 → 4.0.76
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/git-hosting.js +40 -10
- package/dist/commands/git-hosting.js.map +1 -1
- package/dist/commands/sandbox.js +57 -1
- package/dist/commands/sandbox.js.map +1 -1
- package/dist/lib/checkout.d.ts +14 -4
- package/dist/lib/checkout.js +100 -8
- package/dist/lib/checkout.js.map +1 -1
- package/dist/lib/merge3.d.ts +28 -0
- package/dist/lib/merge3.js +173 -0
- package/dist/lib/merge3.js.map +1 -0
- package/dist/lib/skills-data.generated.js +2 -2
- package/dist/lib/skills-data.generated.js.map +1 -1
- package/dist/lib/updater.d.ts +1 -1
- package/dist/lib/updater.js +1 -1
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +3 -2
- package/skill-data/core/references/sandboxes.md +2 -1
- package/src/commands/git-hosting.ts +34 -11
- package/src/commands/sandbox.ts +63 -1
- package/src/lib/checkout.ts +97 -8
- package/src/lib/merge3.ts +179 -0
- package/src/lib/updater.ts +1 -1
- package/test/unit/merge3.test.ts +41 -0
- package/test/unit/sandbox.test.ts +57 -2
package/dist/commands/sandbox.js
CHANGED
|
@@ -32,6 +32,23 @@ function parseIntOption(v) {
|
|
|
32
32
|
}
|
|
33
33
|
return n;
|
|
34
34
|
}
|
|
35
|
+
const MAX_FORK_COUNT = 100;
|
|
36
|
+
function parseForkCount(value) {
|
|
37
|
+
const count = Number(value);
|
|
38
|
+
if (!/^\d+$/.test(value) || count < 1 || count > MAX_FORK_COUNT) {
|
|
39
|
+
throw new Error(`Count must be an integer from 1 to ${MAX_FORK_COUNT}`);
|
|
40
|
+
}
|
|
41
|
+
return count;
|
|
42
|
+
}
|
|
43
|
+
// The platform reads 0 (or nothing) as "the source's lifetime", so 0 can't mean "no limit" here
|
|
44
|
+
// the way it does at create: refuse it rather than quietly give the copies something else.
|
|
45
|
+
function parseForkTimeout(value) {
|
|
46
|
+
const timeout = Number(value);
|
|
47
|
+
if (!/^\d+$/.test(value) || !Number.isSafeInteger(timeout) || timeout < 1000 || timeout > 2_147_483_647) {
|
|
48
|
+
throw new Error("Timeout must be an integer from 1000 to 2147483647 milliseconds; leave it out to keep the source's lifetime");
|
|
49
|
+
}
|
|
50
|
+
return timeout;
|
|
51
|
+
}
|
|
35
52
|
function parseTimeoutOption(value) {
|
|
36
53
|
const timeout = Number(value);
|
|
37
54
|
if (!/^\d+$/.test(value) || !Number.isSafeInteger(timeout) || timeout > 2_147_483_647) {
|
|
@@ -231,8 +248,10 @@ export function registerSandbox(program) {
|
|
|
231
248
|
const sandboxes = await api.get(withScope(`/api/projects/${projectId}/sandboxes`, scope));
|
|
232
249
|
printSandboxList(sandboxes);
|
|
233
250
|
});
|
|
251
|
+
// `kill` is what the SDK calls it (`sandbox.kill()`), so agents that know the SDK reach for
|
|
252
|
+
// it first; an unknown-command error there once left 20 sandboxes running.
|
|
234
253
|
sb.command("rm")
|
|
235
|
-
.
|
|
254
|
+
.aliases(["delete", "kill"])
|
|
236
255
|
.argument("<id>", "Sandbox ID")
|
|
237
256
|
.description("Delete a sandbox")
|
|
238
257
|
.option("-y, --yes", "Skip confirmation")
|
|
@@ -513,6 +532,43 @@ Examples:
|
|
|
513
532
|
else
|
|
514
533
|
success(`Sandbox ${chalk.bold(sandbox.id)} created from ${snapshot.name}`);
|
|
515
534
|
});
|
|
535
|
+
sb.command("fork")
|
|
536
|
+
.argument("<id>", "Running sandbox ID")
|
|
537
|
+
.option("-n, --count <n>", `Copies to start (1-${MAX_FORK_COUNT})`, parseForkCount, 1)
|
|
538
|
+
.option("--timeout <ms>", "Lifetime of each copy in milliseconds; default: the source's", parseForkTimeout)
|
|
539
|
+
.description("Start live copies of a running sandbox: memory, processes and files")
|
|
540
|
+
.action(async (id, opts) => {
|
|
541
|
+
// The platform pauses the source for a moment, captures it and boots every copy from that
|
|
542
|
+
// one capture. Each copy is a sandbox start and counts toward the account's limits, so a
|
|
543
|
+
// partial result is normal near a limit: one entry per copy, `sandbox` or `error`.
|
|
544
|
+
const spinner = isJSONMode() ? null : ora(`Forking ${id}...`).start();
|
|
545
|
+
let results;
|
|
546
|
+
try {
|
|
547
|
+
results = await api.post(`/api/sandboxes/${id}/fork`, { count: opts.count, timeoutMs: opts.timeout });
|
|
548
|
+
}
|
|
549
|
+
finally {
|
|
550
|
+
spinner?.stop();
|
|
551
|
+
}
|
|
552
|
+
if (!Array.isArray(results))
|
|
553
|
+
results = [];
|
|
554
|
+
const started = results.flatMap((r) => (r.sandbox ? [r.sandbox] : []));
|
|
555
|
+
const failed = results.length - started.length;
|
|
556
|
+
// Copies that did start are running and billed: print them, but don't exit 0 on a short count.
|
|
557
|
+
if (failed > 0 || started.length === 0)
|
|
558
|
+
process.exitCode = 1;
|
|
559
|
+
if (isJSONMode()) {
|
|
560
|
+
printJSON(results);
|
|
561
|
+
return;
|
|
562
|
+
}
|
|
563
|
+
if (started.length) {
|
|
564
|
+
const copies = (n) => `${n} ${n === 1 ? "copy" : "copies"}`;
|
|
565
|
+
success(`Forked ${chalk.bold(id)}: ${failed ? `${started.length} of ${copies(results.length)}` : copies(started.length)} running`);
|
|
566
|
+
printSandboxList(started);
|
|
567
|
+
info(chalk.dim(lifetimeLine(started[0].expiresAt ?? started[0].endAt)));
|
|
568
|
+
}
|
|
569
|
+
results.forEach((r, i) => { if (!r.sandbox)
|
|
570
|
+
error(`Copy ${i + 1}: ${r.error ?? "fork failed"}`); });
|
|
571
|
+
});
|
|
516
572
|
// Warm pools exist only for CRIU snapshots of runc pod sandboxes, which are no longer
|
|
517
573
|
// created. These stay, out of the help, for the few such snapshots still around.
|
|
518
574
|
for (const operation of ["pause", "resume"]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAW,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAsB,MAAM,eAAe,CAAC;AAC/J,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEnH,sFAAsF;AACtF,wFAAwF;AACxF,uFAAuF;AACvF,wFAAwF;AACxF,aAAa;AACb,MAAM,aAAa,GAAG,gEAAgE,CAAC;AAEvF,kGAAkG;AAClG,mEAAmE;AACnE,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAC5D,MAAM,SAAS,GAAG,2CAA2C,CAAC;AAwB9D,SAAS,cAAc,CAAC,CAAS;IAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,aAAa,EAAE,CAAC;QACtF,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAA6C,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC1F,IAAI,SAAS,IAAI,IAAI;QAAE,OAAO,kDAAkD,CAAC;IACjF,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,kDAAkD,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IACvE,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC;IACnF,MAAM,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,OAAO,aAAa,IAAI,2CAA2C,KAAK,GAAG,CAAC;AAC9E,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,MAAM,IAAI,GAA4B;QACpC,CAAC,sBAAsB,EAAE,EAAE,EAAE,oBAAoB,CAAC;QAClD,CAAC,uBAAuB,EAAE,cAAc,EAAE,eAAe,CAAC;QAC1D,CAAC,yBAAyB,EAAE,OAAO,EAAE,yBAAyB,CAAC;QAC/D,CAAC,0BAA0B,EAAE,UAAU,EAAE,qBAAqB,CAAC;QAC/D,CAAC,qBAAqB,EAAE,EAAE,EAAE,eAAe,CAAC;KAC7C,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAChJ,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA0B;IAClD,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,SAAS,CAAC,SAAS,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;IACD,KAAK,CACH,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,EACpE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACnB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,QAAQ;QACV,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QACrB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,IAAI,GAAG;QACb,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,QAAQ,KAAK;QACnC,OAAO,CAAC,CAAC,CAAC,SAAgB,CAAC;KAC5B,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,EAAE,GAAG,OAAO;SACf,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,oCAAoC,CAAC,CAAC;IAErD,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,uBAAuB,EAAE,aAAa,aAAa,qBAAqB,EAAE,MAAM,CAAC;SACxF,SAAS,CAAC,IAAI,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,SAAS,mBAAmB,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SAChH,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,kBAAkB,EAAE,OAAO,CAAC;SACxG,MAAM,CAAC,iBAAiB,EAAE,iCAAiC,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,mEAAmE,CAAC;SAC9F,MAAM,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;SAC7D,MAAM,CAAC,oBAAoB,EAAE,0KAA0K,CAAC;SACxM,MAAM,CAAC,oBAAoB,EAAE,uFAAuF,CAAC;SACrH,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,uFAAuF;QACvF,uFAAuF;QACvF,qFAAqF;QACrF,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAChH,CAAC;QAED,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,iCAAiC;QACjC,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,mEAAmE;QACnE,EAAE;QACF,mFAAmF;QACnF,gFAAgF;QAChF,8EAA8E;QAC9E,oCAAoC;QACpC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,EAAE,EAAE,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAEpC,oEAAoE;QACpE,EAAE;QACF,kFAAkF;QAClF,kFAAkF;QAClF,gFAAgF;QAChF,mFAAmF;QACnF,sEAAsE;QACtE,EAAE;QACF,kFAAkF;QAClF,oFAAoF;QACpF,+EAA+E;QAC/E,IAAI,QAA4B,CAAC;QACjC,IAAI,UAA8B,CAAC;QACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;;gBAChD,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,IAAI,OAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,iFAAiF;YACjF,+EAA+E;YAC/E,EAAE;YACF,iFAAiF;YACjF,0EAA0E;YAC1E,4EAA4E;YAC5E,8EAA8E;YAC9E,IAAI,WAA+B,CAAC;YACpC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,WAAW,GAAG,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC;gBAC9F,IAAI,CAAC,WAAW;oBAAE,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;gBACvH,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;gBACnH,CAAC;YACH,CAAC;YAED,MAAM,IAAI,GAAG;gBACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,QAAQ;gBACzB,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ;gBACR,UAAU;gBACV,WAAW;gBACX,SAAS;aACV,CAAC;YACF,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAClE,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAChB,2EAA2E;gBAC3E,8EAA8E;gBAC9E,yDAAyD;gBACzD,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;oBAC3D,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;gBAClF,CAAC;gBACD,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG;oBAAE,MAAM,CAAC,CAAC;gBAC5C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,SAAU,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrE,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,gBAAgB,EAAE;oBACxD,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS;iBACtD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC;QAEhB,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,OAAO,CAAC,WAAW,6CAA6C,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,QAAQ,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,WAAW,OAAO,CAAC,QAAQ,KAAK,CAAC;QAChE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;YACzB,CAAC,CAAC,WAAW,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7G,CAAC,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,EAAE,CAAC,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,oBAAoB,EAAE,2DAA2D,CAAC;SACzF,MAAM,CAAC,OAAO,EAAE,+CAA+C,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,wEAAwE;QACxE,uEAAuE;QACvE,yEAAyE;QACzE,gCAAgC;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAkB,gBAAgB,CAAC,CAAC;YACnE,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAC7B,SAAS,CAAC,iBAAiB,SAAS,YAAY,EAAE,KAAK,CAAC,CACzD,CAAC;QACF,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SACb,KAAK,CAAC,QAAQ,CAAC;SACf,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,kBAAkB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACzC,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;;YAClD,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,MAAM,EAAE,6CAA6C,EAAE,kBAAkB,CAAC;SACnF,WAAW,CAAC,6BAA6B,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAU,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,kBAAkB,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,OAAO,CAAC,CAAC;;YAChC,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,UAAU,EAAE,kEAAkE,CAAC;SACxF,WAAW,CAAC,sDAAsD,CAAC;SACnE,WAAW,CACV,OAAO,EACP;;;qDAG+C,CAChD;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,OAAiB,EAAE,EAAE;QAC9C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;QAC1F,CAAC;QACD,sEAAsE;QACtE,+DAA+D;QAC/D,oEAAoE;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;YAC1D,IAAI,MAAM,KAAK,QAAQ;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;;gBACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEL,4BAA4B,CAAC,EAAE,CAAC,CAAC;IAEjC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SACd,KAAK,CAAC,OAAO,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,WAAW,CAAC,gDAAgD,CAAC;SAC7D,WAAW,CACV,OAAO,EACP;;;;;;;;+BAQyB,CAC1B;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;QAC3B,OAAO,CAAC,IAAI,CAAC,MAAM,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;SACjB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,EAAE,cAAc,CAAC;SACpD,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAC3B,kBAAkB,EAAE,WAAW,IAAI,EAAE,CACtC,CAAC;QACF,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,EAAE,cAAc,CAAC;SACtD,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;;YAC1D,OAAO,CAAC,QAAQ,IAAI,YAAY,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,MAAM,EAAE,wCAAwC,CAAC;SAC1D,WAAW,CAAC,+DAA+D,CAAC;SAC5E,MAAM,CAAC,aAAa,EAAE,uDAAuD,CAAC;SAC9E,MAAM,CAAC,oBAAoB,EAAE,mDAAmD,EAAE,eAAe,CAAC;SAClG,MAAM,CAAC,QAAQ,EAAE,0CAA0C,CAAC;SAC5D,MAAM,CAAC,UAAU,EAAE,uDAAuD,CAAC;SAC3E,MAAM,CAAC,QAAQ,EAAE,yCAAyC,CAAC;SAC3D,WAAW,CACV,OAAO,EACP;;;;;0CAKoC,CACrC;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAA8H,EAAE,EAAE;QAC3J,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAErF,MAAM,IAAI,GAAG,kBAAkB,EAAE,UAAU,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,qBAAqB,CAAC;QAC9G,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;iBACzD,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAgB,IAAI,CAAC,CAAC;;gBAC7D,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAChE,MAAM,IAAI,QAAQ,CAChB,CAAC,CAAC,MAAM,EACR,GAAG,CAAC,CAAC,OAAO,aAAa,EAAE,oEAAoE,EAC/F,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,IAAI,CACP,CAAC;YACJ,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC;QAEhB,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,MAAM,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,8BAA8B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,qCAAqC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAC;YACzG,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,eAAe,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QAC/D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC7B,CAAC,CAAC,mEAAmE;YACrE,CAAC,CAAC,sEAAsE,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,wCAAwC,CAAC;SAC1D,WAAW,CAAC,8EAA8E,CAAC;SAC3F,MAAM,CAAC,eAAe,EAAE,8DAA8D,EAAE,cAAc,EAAE,IAAI,CAAC;SAC7G,MAAM,CAAC,aAAa,EAAE,+CAA+C,CAAC;SACtE,MAAM,CAAC,QAAQ,EAAE,qEAAqE,CAAC;SACvF,WAAW,CACV,OAAO,EACP;;;;;;;;2CAQqC,CACtC;SACA,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAA0D,EAAE,EAAE;QACvF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,IAAI,MAAqB,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,kBAAkB,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBAChE,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,mEAAmE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChI,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,CAAC;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;QACnG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YACpD,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/E,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SACnG,EAAE,OAAO,CAAC,CAAC;QACZ,MAAM,OAAO,GAAG,aAAa,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oEAAoE,OAAO,EAAE,CAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,mFAAmF;YACnF,MAAM,IAAI,CAAC,UAAU,kBAAkB,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;SACtC,cAAc,CAAC,eAAe,EAAE,gCAAgC,CAAC;SACjE,SAAS,CAAC,IAAI,MAAM,CAAC,iBAAiB,EAAE,oNAAoN,CAAC;SAC3P,OAAO,CAAC,eAAe,CAAC,CAAC;SAC3B,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,WAAW,CAAC,yCAAyC,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,EAAE;QACjC,qFAAqF;QACrF,4EAA4E;QAC5E,IAAI,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAiB,kBAAkB,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACvH,IAAI,IAAI,CAAC,IAAI;YAAE,QAAQ,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;;YACjC,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEL,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;QACrD,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;aAC9B,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;aAC1D,WAAW,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,4DAA4D,CAAC,CAAC,CAAC,0DAA0D,CAAC;aAC9J,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAI,EAAE,EAAE;YACjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAsD,kBAAkB,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5H,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,UAAU;gBAAE,MAAM,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACtG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC3G,IAAI,UAAU,EAAE;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC;;gBAC/B,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,EAAE,kBAAkB,EAAE,OAAO,CAAC;SACxG,MAAM,CAAC,oBAAoB,EAAE,kIAAkI,CAAC;SAChK,MAAM,CAAC,uBAAuB,EAAE,qGAAqG,CAAC;SACtI,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,IAAI,EAAE,EAAE;QACzC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,GAAG,CAAC,GAAG,CAAiB,0BAA0B,UAAU,EAAE,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtJ,sFAAsF;QACtF,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,CAAgB,gBAAgB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACjK,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,OAAO,CAAC,CAAC;;YAChC,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEL,sFAAsF;IACtF,iFAAiF;IACjF,KAAK,MAAM,SAAS,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAU,EAAE,CAAC;QACrD,EAAE,CAAC,OAAO,CAAC,YAAY,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAClD,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;aAC9C,WAAW,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,4CAA4C,CAAC;aACtJ,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,EAAE;YAC3B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,IAAI,CAAiB,0BAA0B,EAAE,IAAI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YACjG,IAAI,UAAU,EAAE;gBAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;;gBACjC,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IAED,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SAC1C,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC9C,QAAQ,CAAC,SAAS,EAAE,6BAA6B,EAAE,cAAc,CAAC;SAClE,WAAW,CAAC,6EAA6E,CAAC;SAC1F,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAa,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAiB,0BAA0B,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtG,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;;YACjC,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,KAAK,cAAc,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC;SACzB,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC9C,QAAQ,CAAC,SAAS,EAAE,6BAA6B,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC;SACnG,WAAW,CAAC,0JAA0J,CAAC;SACvK,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAa,EAAE,EAAE;QAC1C,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,KAAK,CAAiB,0BAA0B,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5F,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;;YACjC,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,2GAA2G,CAAC;SACxH,MAAM,CAAC,oBAAoB,EAAE,2DAA2D,CAAC;SACzF,MAAM,CAAC,QAAQ,EAAE,kEAAkE,CAAC;SACpF,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,IAAI,GAAG,wBAAwB,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrE,IAAI,GAAG,SAAS,CAAC,iBAAiB,SAAS,YAAY,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,GAAG,CAAyL,IAAI,CAAC,CAAC;QAC1N,IAAI,UAAU,EAAE,EAAE,CAAC;YAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC5D,KAAK,CACH,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,EAC3E,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAgB,CAAC,CAAC,CAAC,CACtJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;SACtB,KAAK,CAAC,iBAAiB,CAAC;SACxB,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC;SACxC,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,IAAI,EAAE,EAAE;QACzC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,GAAG,CAAC,MAAM,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;;YAC9D,OAAO,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEL,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,oBAAoB,CAAC,EAAW;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IAE/E,KAAK;SACF,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,CAAC;SAC5C,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAC3B,SAAS,CAAC,kBAAkB,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,CACvD,CAAC;QACF,IAAI,UAAU,EAAE,EAAE,CAAC;YACjB,SAAS,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO;QACT,CAAC;QACD,KAAK,CACH,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAC3E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,QAAQ,EAAE,8BAA8B,CAAC;SAClD,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACtC,QAAQ,CAAC,UAAU,EAAE,qCAAqC,CAAC;SAC3D,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,KAAa,EAAE,MAAc,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1D,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5F,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;;YAChE,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,UAAU,EAAE,8BAA8B,CAAC;SACpD,QAAQ,CAAC,SAAS,EAAE,wBAAwB,CAAC;SAC7C,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;QAC1D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7F,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;;YAC1E,OAAO,CAAC,cAAc,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEL,KAAK;SACF,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;SAC9B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;SAC7C,WAAW,CAAC,6CAA6C,CAAC;SAC1D,MAAM,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE;QACzC,MAAM,GAAG,CAAC,MAAM,CAAC,kBAAkB,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,UAAU,EAAE;YAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;;YACxD,OAAO,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;6EAE6E;AAC7E,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,GAAW,EACX,MAA8C;IAE9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,OAAO,kBAAkB,SAAS,OAAO,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAErC,MAAM,UAAU,GAA2B;YACzC,GAAG,aAAa,EAAE;YAClB,cAAc,EAAE,kBAAkB;YAClC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,EAAE,mBAAmB;SAC5B,CAAC;QACF,IAAI,KAAK;YAAE,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;QAE3D,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAC3B;YACE,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,IAAI,EAAE,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM;YAC/B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,UAAU;SACpB,EACD,CAAC,GAAG,EAAE,EAAE;YACN,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACxB,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;gBAC5C,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACzD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,IAAI,GAAY,IAAI,CAAC;oBACzB,IAAI,CAAC;wBAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;oBAC5C,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,UAAW,EAAE,GAAG,CAAC,aAAa,IAAI,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;gBAClF,CAAC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,SAAS,GAAa,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAAC,YAAY,GAAG,EAAE,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACrD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACH,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;wBAChD,6EAA6E;wBAC7E,2DAA2D;wBAC3D,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;4BAChB,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,EACrB,qHAAqH;gCACrH,yEAAyE,SAAS,iDAAiD;gCACnI,4BAA4B,SAAS,6BAA6B,EAClE,cAAc,CAAC,CAAC,CAAC;4BACnB,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAK,IAAe,GAAG,CAAC,IAAK,IAAe,GAAG,GAAG,EAAE,CAAC;4BAC9E,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;wBAC5C,CAAC;wBACD,QAAQ,GAAG,IAAc,CAAC;oBAC5B,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;oBAAC,CAAC;gBAC3D,CAAC;qBAAM,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;oBACpC,QAAQ,GAAG,IAAI,CAAC;oBAChB,KAAK,CAAC,IAAI,CAAC,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAChC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAAC,CAAC;gBACrC,CAAC;gBACD,YAAY,GAAG,EAAE,CAAC;gBAClB,SAAS,GAAG,EAAE,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,EAAE;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,OAAO;oBAAE,QAAQ,EAAE,CAAC;qBACpB,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACzE,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YAC3F,CAAC,CAAC;YACF,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC/B,GAAG,IAAI,KAAK,CAAC;gBACb,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACxB,KAAK,MAAM,KAAK,IAAI,KAAK;oBAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,IAAI,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnB,QAAQ,EAAE,CAAC;gBACX,IAAI,QAAQ,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;oBAAC,OAAO,CAAC,CAAC,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC9E,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACtB,MAAM,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,yCAAyC,EAAE,wBAAwB,CAAC,CAAC,CAAC;oBAC/F,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;YAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;+EAC+E;AAC/E,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACrD,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;AAChD,CAAC;AAUD;gFACgF;AAChF,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,MAAM,CAAC,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,4BAA4B,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,GAAG,CAAC,CAAC;IACrG,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,GAAG,CAAC,CAAC;IACzG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC;AAMD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,UAAU,GAA2B,EAAE,IAAI,EAAE,wCAAwC,EAAE,SAAS,EAAE,2BAA2B,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAC1K,SAAS,kBAAkB,CAAC,KAAa;IACvC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7G,OAAO,KAAK,CAAC;AACf,CAAC;AACD,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC3I,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AACD,KAAK,UAAU,eAAe,CAAC,EAAU;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAiB,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAC/E,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;QAC/F,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,QAAQ,CAAC;QACjD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;AAC3F,CAAC;AACD,KAAK,UAAU,cAAc,CAAC,EAAU,EAAE,MAAc;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAiC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC;QAC9C,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClI,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAC3I,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;AAC1E,CAAC"}
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/commands/sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/checkout.d.ts
CHANGED
|
@@ -52,6 +52,11 @@ export interface Checkout {
|
|
|
52
52
|
sparse: string[] | null;
|
|
53
53
|
files: Record<string, FileState>;
|
|
54
54
|
pending?: Pending;
|
|
55
|
+
conflicts?: Conflict[];
|
|
56
|
+
}
|
|
57
|
+
export interface Conflict {
|
|
58
|
+
path: string;
|
|
59
|
+
reason: string;
|
|
55
60
|
}
|
|
56
61
|
interface WireEntry {
|
|
57
62
|
name: string;
|
|
@@ -102,11 +107,14 @@ export interface SyncResult {
|
|
|
102
107
|
to: string;
|
|
103
108
|
updated: string[];
|
|
104
109
|
removed: string[];
|
|
110
|
+
merged?: string[];
|
|
111
|
+
conflicts?: Conflict[];
|
|
105
112
|
}
|
|
106
113
|
/**
|
|
107
|
-
* Bring the files to the branch's tip (or another branch: switching). Local changes are kept
|
|
108
|
-
*
|
|
109
|
-
*
|
|
114
|
+
* Bring the files to the branch's tip (or another branch: switching). Local changes are kept.
|
|
115
|
+
* A file changed here and on the branch is merged here line by line, as the server merges:
|
|
116
|
+
* what both changed differently is written between conflict markers for a person to choose,
|
|
117
|
+
* and listed in the result (and in status until the next commit).
|
|
110
118
|
*/
|
|
111
119
|
export declare function sync(root: string, c: Checkout, toBranch?: string): Promise<SyncResult>;
|
|
112
120
|
/** Refuse what would move this checkout's base while commits wait to be pushed. */
|
|
@@ -117,15 +125,17 @@ export interface LocalCommitResult {
|
|
|
117
125
|
pending: number;
|
|
118
126
|
}
|
|
119
127
|
/** Record a commit of the changed files (all, or those under paths) here; push sends it. */
|
|
120
|
-
export declare function commitLocal(root: string, c: Checkout, message: string, paths: string[], newBranch?: string): LocalCommitResult;
|
|
128
|
+
export declare function commitLocal(root: string, c: Checkout, message: string, paths: string[], newBranch?: string, force?: boolean): LocalCommitResult;
|
|
121
129
|
/** Turn the commits not pushed back into changes in the files (their messages are dropped). */
|
|
122
130
|
export declare function uncommit(root: string, c: Checkout): number;
|
|
123
131
|
export interface PushResult {
|
|
132
|
+
pushed: boolean;
|
|
124
133
|
shas: string[];
|
|
125
134
|
sha: string;
|
|
126
135
|
branch: string;
|
|
127
136
|
uploaded: number;
|
|
128
137
|
sync: SyncResult;
|
|
138
|
+
messages?: string[];
|
|
129
139
|
}
|
|
130
140
|
/** Send the commits not pushed: one branch move; then bring in others' commits if there were any. */
|
|
131
141
|
export declare function push(root: string, c: Checkout): Promise<PushResult>;
|
package/dist/lib/checkout.js
CHANGED
|
@@ -4,6 +4,7 @@ import { homedir } from "node:os";
|
|
|
4
4
|
import { dirname, join, relative, sep } from "node:path";
|
|
5
5
|
import { APIError } from "./api.js";
|
|
6
6
|
import { gitURL, lg, repoPath, sendRaw } from "./lizard-git.js";
|
|
7
|
+
import { hasConflictMarkers, merge3 } from "./merge3.js";
|
|
7
8
|
/**
|
|
8
9
|
* A Lizard Git working copy (after Scion: lizard.build/git keeps no repositories as files and
|
|
9
10
|
* makes every commit on the server).
|
|
@@ -359,10 +360,12 @@ export async function clone(repo, dir, branch, sparse, onProgress) {
|
|
|
359
360
|
saveCheckout(dir, c);
|
|
360
361
|
return c;
|
|
361
362
|
}
|
|
363
|
+
const isBinaryBuf = (b) => b.subarray(0, 8000).includes(0);
|
|
362
364
|
/**
|
|
363
|
-
* Bring the files to the branch's tip (or another branch: switching). Local changes are kept
|
|
364
|
-
*
|
|
365
|
-
*
|
|
365
|
+
* Bring the files to the branch's tip (or another branch: switching). Local changes are kept.
|
|
366
|
+
* A file changed here and on the branch is merged here line by line, as the server merges:
|
|
367
|
+
* what both changed differently is written between conflict markers for a person to choose,
|
|
368
|
+
* and listed in the result (and in status until the next commit).
|
|
366
369
|
*/
|
|
367
370
|
export async function sync(root, c, toBranch) {
|
|
368
371
|
needNoPending(c);
|
|
@@ -392,11 +395,62 @@ export async function sync(root, c, toBranch) {
|
|
|
392
395
|
const w = want.get(p);
|
|
393
396
|
return !(l && w && l.h === w.h && l.m === w.m); // the same change on both sides is fine
|
|
394
397
|
});
|
|
398
|
+
const clashSet = new Set(clash);
|
|
399
|
+
const merged = [];
|
|
400
|
+
const conflicts = [];
|
|
395
401
|
if (clash.length) {
|
|
396
|
-
|
|
402
|
+
const need = new Set();
|
|
403
|
+
for (const p of clash) {
|
|
404
|
+
if (c.files[p])
|
|
405
|
+
need.add(c.files[p].h);
|
|
406
|
+
const w = want.get(p);
|
|
407
|
+
if (w)
|
|
408
|
+
need.add(w.h);
|
|
409
|
+
}
|
|
410
|
+
const got = await getBlobs(c.repo, [...need]);
|
|
411
|
+
for (const p of clash) {
|
|
412
|
+
const baseF = c.files[p];
|
|
413
|
+
const w = want.get(p);
|
|
414
|
+
const l = local.get(p);
|
|
415
|
+
if (!l && !w) {
|
|
416
|
+
delete c.files[p]; // deleted on both sides
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
419
|
+
if (!l) {
|
|
420
|
+
// Deleted here, changed on the branch: theirs comes back; deleting it again is one rm away.
|
|
421
|
+
c.files[p] = writeFile(root, p, got.get(w.h), w.m);
|
|
422
|
+
conflicts.push({ path: p, reason: `you deleted it, ${branch} changed it: their version is back (delete it again if you meant to)` });
|
|
423
|
+
continue;
|
|
424
|
+
}
|
|
425
|
+
if (!w) {
|
|
426
|
+
// Deleted on the branch, changed here: yours stays (it is new to the branch now).
|
|
427
|
+
delete c.files[p];
|
|
428
|
+
conflicts.push({ path: p, reason: `${branch} deleted it, you changed it: your version is kept` });
|
|
429
|
+
continue;
|
|
430
|
+
}
|
|
431
|
+
const full = safeJoin(root, p);
|
|
432
|
+
const ours = l.m === "120000" ? Buffer.from(readlinkSync(full)) : readFileSync(full);
|
|
433
|
+
const base = baseF ? got.get(baseF.h) : Buffer.alloc(0);
|
|
434
|
+
const theirs = got.get(w.h);
|
|
435
|
+
c.files[p] = { h: w.h, m: w.m }; // the branch's version is what yours now differs from
|
|
436
|
+
if (l.m === "120000" || w.m === "120000" || isBinaryBuf(base) || isBinaryBuf(ours) || isBinaryBuf(theirs)) {
|
|
437
|
+
writeFileSync(full + ".theirs", theirs);
|
|
438
|
+
conflicts.push({ path: p, reason: `binary, changed on both sides: yours kept, theirs saved as ${p}.theirs` });
|
|
439
|
+
continue;
|
|
440
|
+
}
|
|
441
|
+
const r = merge3(base.toString("utf8"), ours.toString("utf8"), theirs.toString("utf8"), branch);
|
|
442
|
+
// Yours kept its mode unless only the branch changed it.
|
|
443
|
+
writeFile(root, p, Buffer.from(r.text, "utf8"), baseF && l.m === baseF.m ? w.m : l.m);
|
|
444
|
+
if (r.conflicts)
|
|
445
|
+
conflicts.push({ path: p, reason: `${r.conflicts} place${r.conflicts === 1 ? "" : "s"} both changed: marked <<<<<<< yours / ======= / >>>>>>> ${branch}` });
|
|
446
|
+
else
|
|
447
|
+
merged.push(p);
|
|
448
|
+
}
|
|
397
449
|
}
|
|
398
450
|
const blobs = await getBlobs(c.repo, toWrite.filter(([p]) => !dirty.has(p)).map(([, f]) => f.h));
|
|
399
451
|
for (const [p, f] of toWrite) {
|
|
452
|
+
if (clashSet.has(p))
|
|
453
|
+
continue;
|
|
400
454
|
if (dirty.has(p)) {
|
|
401
455
|
c.files[p] = { ...local.get(p), h: f.h, m: f.m }; // already identical locally
|
|
402
456
|
continue;
|
|
@@ -405,6 +459,8 @@ export async function sync(root, c, toBranch) {
|
|
|
405
459
|
res.updated.push(p);
|
|
406
460
|
}
|
|
407
461
|
for (const p of toRemove) {
|
|
462
|
+
if (clashSet.has(p))
|
|
463
|
+
continue;
|
|
408
464
|
if (!dirty.has(p))
|
|
409
465
|
removeFile(root, p);
|
|
410
466
|
delete c.files[p];
|
|
@@ -413,7 +469,13 @@ export async function sync(root, c, toBranch) {
|
|
|
413
469
|
c.base = r.id;
|
|
414
470
|
c.root = r.root;
|
|
415
471
|
c.branch = branch;
|
|
472
|
+
if (conflicts.length)
|
|
473
|
+
c.conflicts = [...(c.conflicts ?? []).filter((x) => !conflicts.some((y) => y.path === x.path)), ...conflicts];
|
|
416
474
|
saveCheckout(root, c);
|
|
475
|
+
if (merged.length)
|
|
476
|
+
res.merged = merged;
|
|
477
|
+
if (conflicts.length)
|
|
478
|
+
res.conflicts = conflicts;
|
|
417
479
|
return res;
|
|
418
480
|
}
|
|
419
481
|
/** Refuse what would move this checkout's base while commits wait to be pushed. */
|
|
@@ -426,7 +488,7 @@ function objectPath(root, h) {
|
|
|
426
488
|
return join(root, STATE_DIR, "objects", h.slice(0, 2), h);
|
|
427
489
|
}
|
|
428
490
|
/** Record a commit of the changed files (all, or those under paths) here; push sends it. */
|
|
429
|
-
export function commitLocal(root, c, message, paths, newBranch) {
|
|
491
|
+
export function commitLocal(root, c, message, paths, newBranch, force = false) {
|
|
430
492
|
const local = scanWorking(root, c);
|
|
431
493
|
const ch = changesOf(c, local);
|
|
432
494
|
const pick = (p) => !paths.length || paths.some((x) => p === x || p.startsWith(x.replace(/\/+$/, "") + "/"));
|
|
@@ -436,6 +498,17 @@ export function commitLocal(root, c, message, paths, newBranch) {
|
|
|
436
498
|
throw new APIError(400, "nothing to commit: no changes");
|
|
437
499
|
if (newBranch && c.pending?.commits.length)
|
|
438
500
|
throw new APIError(409, "push the commits on this branch before starting another (lizard git push)");
|
|
501
|
+
if (!force) {
|
|
502
|
+
const marked = changed.filter((p) => {
|
|
503
|
+
const f = local.get(p);
|
|
504
|
+
if (f.m === "120000" || f.s > 8 << 20)
|
|
505
|
+
return false;
|
|
506
|
+
const b = readFileSync(safeJoin(root, p));
|
|
507
|
+
return !isBinaryBuf(b) && hasConflictMarkers(b.toString("utf8"));
|
|
508
|
+
});
|
|
509
|
+
if (marked.length)
|
|
510
|
+
throw new APIError(409, `conflict markers left in ${marked.join(", ")}: choose between yours and theirs there first (or commit --force)`);
|
|
511
|
+
}
|
|
439
512
|
// Keep the contents as they are now: later edits don't change a commit.
|
|
440
513
|
for (const p of changed) {
|
|
441
514
|
const f = local.get(p);
|
|
@@ -469,6 +542,11 @@ export function commitLocal(root, c, message, paths, newBranch) {
|
|
|
469
542
|
delete c.files[p];
|
|
470
543
|
if (newBranch)
|
|
471
544
|
c.branch = newBranch;
|
|
545
|
+
if (c.conflicts) {
|
|
546
|
+
c.conflicts = c.conflicts.filter((x) => !changed.includes(x.path) && !deleted.includes(x.path));
|
|
547
|
+
if (!c.conflicts.length)
|
|
548
|
+
delete c.conflicts;
|
|
549
|
+
}
|
|
472
550
|
saveCheckout(root, c);
|
|
473
551
|
return { branch: c.branch, files: changed.length + deleted.length, pending: c.pending.commits.length };
|
|
474
552
|
}
|
|
@@ -520,7 +598,21 @@ export async function push(root, c) {
|
|
|
520
598
|
body.createFrom = pend.base;
|
|
521
599
|
else if (pend.base)
|
|
522
600
|
body.expect = pend.base;
|
|
523
|
-
|
|
601
|
+
let r;
|
|
602
|
+
try {
|
|
603
|
+
r = await lg.post(`${repoPath(c.repo)}/push`, body);
|
|
604
|
+
}
|
|
605
|
+
catch (e) {
|
|
606
|
+
const conflicts = e instanceof APIError && e.status === 409 ? e.body?.conflicts : undefined;
|
|
607
|
+
if (!conflicts?.length)
|
|
608
|
+
throw e;
|
|
609
|
+
// Someone changed the same lines: bring their commits here and merge in the files, so the
|
|
610
|
+
// person sees exactly what to choose; then commit and push again.
|
|
611
|
+
const messages = pend.commits.map((x) => x.message.trim());
|
|
612
|
+
uncommit(root, c);
|
|
613
|
+
const s = await sync(root, c);
|
|
614
|
+
return { pushed: false, shas: [], sha: "", branch: c.branch, uploaded: missing.size, sync: s, messages };
|
|
615
|
+
}
|
|
524
616
|
const from = pend.base;
|
|
525
617
|
c.pending = undefined;
|
|
526
618
|
rmSync(join(root, STATE_DIR, "objects"), { recursive: true, force: true });
|
|
@@ -529,11 +621,11 @@ export async function push(root, c) {
|
|
|
529
621
|
c.base = r.sha;
|
|
530
622
|
c.root = r.root;
|
|
531
623
|
saveCheckout(root, c);
|
|
532
|
-
return { shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: { from, to: r.sha, updated: [], removed: [] } };
|
|
624
|
+
return { pushed: true, shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: { from, to: r.sha, updated: [], removed: [] } };
|
|
533
625
|
}
|
|
534
626
|
saveCheckout(root, c);
|
|
535
627
|
const s = await sync(root, c);
|
|
536
|
-
return { shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: s };
|
|
628
|
+
return { pushed: true, shas: r.shas, sha: r.sha, branch: c.branch, uploaded: missing.size, sync: s };
|
|
537
629
|
}
|
|
538
630
|
/**
|
|
539
631
|
* Commit the changed files (all, or those under paths) on the server, then sync to the result:
|