dep-up-surgeon 2.2.2 → 2.2.4
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 +122 -12
- package/dist/cli/overrideFlow.d.ts +50 -0
- package/dist/cli/overrideFlow.d.ts.map +1 -1
- package/dist/cli/overrideFlow.js +112 -69
- package/dist/cli/overrideFlow.js.map +1 -1
- package/dist/cli/summary.d.ts.map +1 -1
- package/dist/cli/summary.js +17 -4
- package/dist/cli/summary.js.map +1 -1
- package/dist/cli/undo.d.ts +105 -0
- package/dist/cli/undo.d.ts.map +1 -0
- package/dist/cli/undo.js +410 -0
- package/dist/cli/undo.js.map +1 -0
- package/dist/cli/undoCommand.d.ts +2 -0
- package/dist/cli/undoCommand.d.ts.map +1 -0
- package/dist/cli/undoCommand.js +101 -0
- package/dist/cli/undoCommand.js.map +1 -0
- package/dist/cli.js +56 -14
- package/dist/cli.js.map +1 -1
- package/dist/config/loadConfig.d.ts +64 -0
- package/dist/config/loadConfig.d.ts.map +1 -1
- package/dist/config/loadConfig.js +200 -1
- package/dist/config/loadConfig.js.map +1 -1
- package/dist/core/audit.d.ts +18 -0
- package/dist/core/audit.d.ts.map +1 -1
- package/dist/core/audit.js +29 -0
- package/dist/core/audit.js.map +1 -1
- package/dist/core/peerResolver.d.ts +64 -0
- package/dist/core/peerResolver.d.ts.map +1 -1
- package/dist/core/peerResolver.js +225 -2
- package/dist/core/peerResolver.js.map +1 -1
- package/dist/core/peerResolverAdHoc.d.ts +42 -0
- package/dist/core/peerResolverAdHoc.d.ts.map +1 -0
- package/dist/core/peerResolverAdHoc.js +226 -0
- package/dist/core/peerResolverAdHoc.js.map +1 -0
- package/dist/core/upgrader.d.ts +12 -1
- package/dist/core/upgrader.d.ts.map +1 -1
- package/dist/core/upgrader.js +171 -7
- package/dist/core/upgrader.js.map +1 -1
- package/dist/types.d.ts +24 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/overrides.d.ts +81 -7
- package/dist/utils/overrides.d.ts.map +1 -1
- package/dist/utils/overrides.js +344 -30
- package/dist/utils/overrides.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undo.js","sourceRoot":"","sources":["../../src/cli/undo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undoCommand.d.ts","sourceRoot":"","sources":["../../src/cli/undoCommand.ts"],"names":[],"mappings":"AAeA,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsHnF"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dedicated entry point for `dep-up-surgeon undo`. Like `doctor`, this subcommand has its
|
|
3
|
+
* own commander program because `undo` only needs a tiny subset of the main flow's options,
|
|
4
|
+
* and threading it as a flag would force every upgrade-time option to grow a guard.
|
|
5
|
+
*
|
|
6
|
+
* Exit-code contract:
|
|
7
|
+
* - reverse pass succeeded (or noop) → 0
|
|
8
|
+
* - persisted run file not found / can't be parsed → 2
|
|
9
|
+
* - install or validator failed during the reverse pass → 1
|
|
10
|
+
*/
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import { Command } from 'commander';
|
|
13
|
+
import { log } from '../utils/logger.js';
|
|
14
|
+
import { renderUndoHuman, runUndo, undoSucceeded } from './undo.js';
|
|
15
|
+
export async function runUndoCommand(argv, version) {
|
|
16
|
+
const cmd = new Command();
|
|
17
|
+
cmd
|
|
18
|
+
.name('dep-up-surgeon undo')
|
|
19
|
+
.description('Reverse the most recent `dep-up-surgeon` run using `.dep-up-surgeon.last-run.json`. ' +
|
|
20
|
+
'Reverts `package.json` dep ranges to their `from` values, drops override pins this ' +
|
|
21
|
+
'run added (or restores the previous pin when the run replaced an existing one), ' +
|
|
22
|
+
'runs a fresh `<manager> install`, then runs the validator so you see green/red before ' +
|
|
23
|
+
'you commit the revert. Skips rows whose current `package.json` value has drifted from ' +
|
|
24
|
+
'the recorded `to`, so another run\'s changes are never clobbered. Pair with `--json` ' +
|
|
25
|
+
'for machine-readable output in CI.')
|
|
26
|
+
.version(version)
|
|
27
|
+
.option('--file <path>', 'Use a specific run report instead of `.dep-up-surgeon.last-run.json` in cwd. Useful when ' +
|
|
28
|
+
'the directory has been cleaned up or you want to replay a report from a CI artifact.')
|
|
29
|
+
.option('--json', 'Emit the structured `UndoResult` as JSON on stdout instead of the human format.', false)
|
|
30
|
+
.option('--dry-run', 'Compute the reverse plan and print it, but do not touch `package.json`, do not run install, do not run the validator.', false)
|
|
31
|
+
.option('--no-validate', 'Skip the post-reverse validator. Use when the project has no test/build script or when you ' +
|
|
32
|
+
'only care that the dep ranges rolled back cleanly.')
|
|
33
|
+
.option('--validate <cmd>', 'Run this command as the post-reverse validator (same semantics as the upgrade flow\'s `--validate`).')
|
|
34
|
+
.option('--skip-install', 'Skip the post-reverse `<manager> install`. Only use when you plan to run install yourself ' +
|
|
35
|
+
'(e.g. in a follow-up CI step) — the lockfile will otherwise diverge from the reverted `package.json`.', false)
|
|
36
|
+
.option('--package-manager <mgr>', 'Override the manager recorded in the run report (auto / npm / pnpm / yarn).', 'auto')
|
|
37
|
+
.option('--cwd <path>', 'Run the undo against this directory instead of the current one.');
|
|
38
|
+
// Strip the `undo` dispatch token the same way `doctor` does.
|
|
39
|
+
const forwarded = [argv[0], argv[1], ...argv.slice(3)];
|
|
40
|
+
cmd.parse(forwarded);
|
|
41
|
+
const opts = cmd.opts();
|
|
42
|
+
const cwd = opts.cwd ? path.resolve(process.cwd(), opts.cwd) : process.cwd();
|
|
43
|
+
const skipValidator = opts.validate === false;
|
|
44
|
+
const validatorCommand = typeof opts.validate === 'string' ? opts.validate : undefined;
|
|
45
|
+
try {
|
|
46
|
+
// Build a validator closure that mirrors the main flow's behavior: if the user passed a
|
|
47
|
+
// command we shell that out; otherwise `validateProject` auto-detects test / build. This
|
|
48
|
+
// keeps `--validate "my-cmd"` working identically across `upgrade`, `doctor`, and `undo`.
|
|
49
|
+
const runValidator = async () => {
|
|
50
|
+
if (skipValidator)
|
|
51
|
+
return { ok: true };
|
|
52
|
+
try {
|
|
53
|
+
const { validateProject } = await import('../core/validator.js');
|
|
54
|
+
const fs = await import('fs-extra');
|
|
55
|
+
const pkg = await fs.default.readJson(path.join(cwd, 'package.json'));
|
|
56
|
+
const manager = opts.packageManager && opts.packageManager !== 'auto'
|
|
57
|
+
? opts.packageManager
|
|
58
|
+
: 'npm';
|
|
59
|
+
const vr = await validateProject(cwd, pkg, {
|
|
60
|
+
...(validatorCommand ? { command: validatorCommand, source: 'cli' } : {}),
|
|
61
|
+
manager,
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
ok: vr.ok,
|
|
65
|
+
...(vr.command ? { command: vr.command } : {}),
|
|
66
|
+
...(vr.output ? { lastLines: vr.output } : {}),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Validator crash != project broken for undo's purposes — report ok so we don't
|
|
71
|
+
// exit 1 purely because the validator harness itself errored. The reverse pass has
|
|
72
|
+
// already written the correct ranges; the operator can run their tests manually.
|
|
73
|
+
return { ok: true };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const result = await runUndo({
|
|
77
|
+
cwd,
|
|
78
|
+
...(opts.file ? { file: opts.file } : {}),
|
|
79
|
+
...(opts.packageManager && opts.packageManager !== 'auto'
|
|
80
|
+
? { manager: opts.packageManager }
|
|
81
|
+
: {}),
|
|
82
|
+
...(opts.dryRun ? { planOnly: true } : {}),
|
|
83
|
+
...(opts.skipInstall ? { skipInstall: true } : {}),
|
|
84
|
+
...(skipValidator ? { skipValidator: true } : {}),
|
|
85
|
+
...(skipValidator ? {} : { runValidator }),
|
|
86
|
+
...(opts.json ? { json: true } : {}),
|
|
87
|
+
});
|
|
88
|
+
if (opts.json) {
|
|
89
|
+
process.stdout.write(JSON.stringify(result, null, 2) + '\n');
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
process.stdout.write(renderUndoHuman(result) + '\n');
|
|
93
|
+
}
|
|
94
|
+
process.exit(undoSucceeded(result) ? 0 : 1);
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
log.error(`undo failed: ${e instanceof Error ? e.message : String(e)}`);
|
|
98
|
+
process.exit(2);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=undoCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"undoCommand.js","sourceRoot":"","sources":["../../src/cli/undoCommand.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,7 @@ import chalk from 'chalk';
|
|
|
5
5
|
import fs from 'fs-extra';
|
|
6
6
|
import { program } from 'commander';
|
|
7
7
|
import prompts from 'prompts';
|
|
8
|
-
import { appendIgnoreToRc, loadConfig, mergeIgnoreLists, resolveValidateOptions, } from './config/loadConfig.js';
|
|
8
|
+
import { appendIgnoreToRc, loadConfig, mergeIgnoreLists, mergeOverrideSources, resolveValidateOptions, } from './config/loadConfig.js';
|
|
9
9
|
import { buildStructuredReport, printStructuredCliSummary } from './cli/report.js';
|
|
10
10
|
import { computeRetryFailedIgnores, LAST_RUN_FILENAME, loadLastRunReport, persistLastRunReport, } from './cli/lastRun.js';
|
|
11
11
|
import { resolveSummaryDestination, writeSummary } from './cli/summary.js';
|
|
@@ -13,7 +13,7 @@ import { checkoutBranch, getCurrentBranch } from './cli/git.js';
|
|
|
13
13
|
import { createGitFlow } from './cli/gitFlow.js';
|
|
14
14
|
import { BACKUP_FILENAME, restoreInitialFromBackup, runUpgradeFlow, } from './core/upgrader.js';
|
|
15
15
|
import { log } from './utils/logger.js';
|
|
16
|
-
import { runAudit } from './core/audit.js';
|
|
16
|
+
import { filterAdvisoriesBySeverity, parseMinSeverity, runAudit, } from './core/audit.js';
|
|
17
17
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
18
18
|
async function readSelfVersion() {
|
|
19
19
|
const pkgPath = path.join(__dirname, '..', 'package.json');
|
|
@@ -122,6 +122,14 @@ async function main() {
|
|
|
122
122
|
await runDoctorCommand(process.argv, version);
|
|
123
123
|
return;
|
|
124
124
|
}
|
|
125
|
+
// `undo` reads `.dep-up-surgeon.last-run.json` and reverses the last run (dep ranges +
|
|
126
|
+
// overrides + reinstall + validate). Same early-dispatch pattern as `doctor` so the
|
|
127
|
+
// subcommand doesn't inherit the upgrade flow's 70+ options.
|
|
128
|
+
if (process.argv[2] === 'undo') {
|
|
129
|
+
const { runUndoCommand } = await import('./cli/undoCommand.js');
|
|
130
|
+
await runUndoCommand(process.argv, version);
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
125
133
|
program
|
|
126
134
|
.name('dep-up-surgeon')
|
|
127
135
|
.description('Upgrade npm dependencies one-by-one with install + test/build validation and rollback on failure.')
|
|
@@ -164,6 +172,7 @@ async function main() {
|
|
|
164
172
|
.option('--no-resolve-peers', 'Disable the peer-range intersection resolver. A linked batch that fails with a peer conflict rolls back exactly like before. Useful when you WANT the failure to surface instead of having the tool silently nudge versions off latest.')
|
|
165
173
|
.option('--apply-overrides', 'After the main upgrade loop, attempt to fix transitive CVEs that no direct bump could reach by writing a package-manager override (`overrides` for npm, `pnpm.overrides` for pnpm, `resolutions` for yarn) pinning each vulnerable package to its audit-recommended safe version. Runs install + validator after each pin and rolls back the pin on failure. Requires --security-only.', false)
|
|
166
174
|
.option('--override-force', 'Used with --apply-overrides. Overwrite an existing override whose value conflicts with the audit-recommended version. By default we refuse and record a `conflict` reason so the user can reconcile manually.', false)
|
|
175
|
+
.option('--override <spec...>', 'Apply a parent-scoped or flat override pin. Repeatable. Syntax: `<chain>@<range>` where <chain> is one of (a) a bare package name `foo` (flat — pins every occurrence), (b) pnpm-style `parent>child` (pins `child` only when nested under `parent`; chains of any depth are supported), or (c) yarn-style `parent/child` (`/` separator; `@scope/pkg` stays intact as a single segment). The pin is written to the manager-native field (`overrides` nested object for npm, `pnpm.overrides` `>`-keys for pnpm, `resolutions` `/`-keys for yarn) and is run through the same install + validator + rollback cycle as --apply-overrides. Examples: `--override lodash@4.17.21`, `--override "some-dep>foo@1.2.3"`, `--override "@scope/parent>@scope/child@2.0.0"`.', (val, acc = []) => acc.concat(val.split(',').map((s) => s.trim()).filter(Boolean)), [])
|
|
167
176
|
.option('--fix-lockfile', 'Run the package manager\'s native dedupe pass (`npm dedupe` / `pnpm dedupe` / `yarn dedupe`) to collapse redundant transitive copies WITHOUT touching package.json, and scan for transitives more than one minor or a full major behind registry `latest`. The lockfile is backed up before dedupe and restored if the dedupe command OR the post-dedupe validator fails. Yarn classic (v1) has no dedupe subcommand and is recorded as `skipped: "unsupported"`.', false)
|
|
168
177
|
.option('--open-pr', 'Push the branch created by --git-branch and open a GitHub PR using the `gh` CLI (must be installed + authenticated). The PR body is the --summary markdown (falls back to a minimal default). Never fatal: a missing `gh`, an auth failure, or a push reject is recorded in the structured report as `pullRequest.error` without aborting the upgrade run.', false)
|
|
169
178
|
.option('--open-pr-title <title>', 'Override the PR title. Default: a deterministic title derived from the upgrade counts (e.g. "deps: [security] bump 3 packages").')
|
|
@@ -196,6 +205,12 @@ async function main() {
|
|
|
196
205
|
}
|
|
197
206
|
const config = await loadConfig(cwd);
|
|
198
207
|
const ignore = mergeIgnoreLists(config.ignore, opts.ignore);
|
|
208
|
+
for (const w of config.warnings ?? []) {
|
|
209
|
+
log.warn(`rc: ${w}`);
|
|
210
|
+
}
|
|
211
|
+
if ((config.overrides?.length ?? 0) > 0 && !jsonOutput) {
|
|
212
|
+
log.info(`rc: loaded ${config.overrides.length} override pin${config.overrides.length === 1 ? '' : 's'} from .dep-up-surgeonrc (will run through the same install + validator + rollback cycle as --apply-overrides)`);
|
|
213
|
+
}
|
|
199
214
|
// ---- Load .dep-up-surgeon.policy.{yaml,json} ----
|
|
200
215
|
const { loadPolicy } = await import('./config/policy.js');
|
|
201
216
|
const policyResult = await loadPolicy(cwd);
|
|
@@ -314,14 +329,12 @@ async function main() {
|
|
|
314
329
|
let restrictToNames;
|
|
315
330
|
let securityAdvisoryMap;
|
|
316
331
|
if (opts.securityOnly) {
|
|
317
|
-
const minSev =
|
|
318
|
-
if (!
|
|
332
|
+
const minSev = parseMinSeverity(opts.minSeverity ?? 'low');
|
|
333
|
+
if (!minSev) {
|
|
319
334
|
log.error(`--min-severity: unknown value "${opts.minSeverity}". Use "low", "moderate", "high", or "critical".`);
|
|
320
335
|
process.exitCode = 1;
|
|
321
336
|
return;
|
|
322
337
|
}
|
|
323
|
-
const severityRank = { low: 1, moderate: 2, high: 3, critical: 4 };
|
|
324
|
-
const threshold = severityRank[minSev];
|
|
325
338
|
let auditManager = 'npm';
|
|
326
339
|
if (packageManager !== 'auto') {
|
|
327
340
|
auditManager = packageManager;
|
|
@@ -343,7 +356,7 @@ async function main() {
|
|
|
343
356
|
if (auditResult.error && !jsonOutput) {
|
|
344
357
|
log.warn(`audit: ${auditResult.error}`);
|
|
345
358
|
}
|
|
346
|
-
const filtered = auditResult.advisories
|
|
359
|
+
const filtered = filterAdvisoriesBySeverity(auditResult.advisories, minSev);
|
|
347
360
|
restrictToNames = new Set(filtered.map((a) => a.name));
|
|
348
361
|
securityAdvisoryMap = new Map(filtered.map((a) => [
|
|
349
362
|
a.name,
|
|
@@ -568,11 +581,38 @@ async function main() {
|
|
|
568
581
|
// never block the run on enrichment failure
|
|
569
582
|
}
|
|
570
583
|
}
|
|
571
|
-
// --apply-overrides: fix transitive CVEs
|
|
572
|
-
// AFTER enrichments so we have the final `upgraded` list, and BEFORE the summary so
|
|
573
|
-
// summary writer + JSON consumers see `report.overrides`.
|
|
574
|
-
|
|
575
|
-
|
|
584
|
+
// --apply-overrides / --override: fix transitive CVEs + user-supplied parent-scoped pins.
|
|
585
|
+
// Runs AFTER enrichments so we have the final `upgraded` list, and BEFORE the summary so
|
|
586
|
+
// the summary writer + JSON consumers see `report.overrides`. `--override` works
|
|
587
|
+
// standalone (no --security-only required); `--apply-overrides` still needs an audit.
|
|
588
|
+
const hasCliOverrides = Array.isArray(opts.override) && opts.override.length > 0;
|
|
589
|
+
const hasRcOverrides = (config.overrides?.length ?? 0) > 0;
|
|
590
|
+
const hasManualOverrides = hasCliOverrides || hasRcOverrides;
|
|
591
|
+
const wantsAdvisoryOverrides = Boolean(opts.applyOverrides);
|
|
592
|
+
if ((wantsAdvisoryOverrides || hasManualOverrides) && !dryRun) {
|
|
593
|
+
// Merge rc-sourced + CLI selectors. The merger dedupes by chain (CLI wins on conflict),
|
|
594
|
+
// normalizes selector strings, and surfaces malformed CLI entries as warnings — but NOT
|
|
595
|
+
// as a fatal error, because we still want the valid rc entries to apply even when the
|
|
596
|
+
// user typo'd one `--override` flag.
|
|
597
|
+
const merged = mergeOverrideSources(config.overrides, opts.override);
|
|
598
|
+
for (const w of merged.warnings) {
|
|
599
|
+
log.warn(w);
|
|
600
|
+
}
|
|
601
|
+
const manualOverrides = merged.entries.map((e) => {
|
|
602
|
+
const spec = {
|
|
603
|
+
chain: e.chain,
|
|
604
|
+
range: e.range,
|
|
605
|
+
};
|
|
606
|
+
if (e.source)
|
|
607
|
+
spec.source = e.source;
|
|
608
|
+
if (e.reason)
|
|
609
|
+
spec.reason = e.reason;
|
|
610
|
+
return spec;
|
|
611
|
+
});
|
|
612
|
+
const effectivelyHasManual = manualOverrides.length > 0;
|
|
613
|
+
if (wantsAdvisoryOverrides &&
|
|
614
|
+
(!opts.securityOnly || !auditResult || auditResult.advisories.length === 0) &&
|
|
615
|
+
!effectivelyHasManual) {
|
|
576
616
|
if (!jsonOutput) {
|
|
577
617
|
log.warn('--apply-overrides requires --security-only with at least one audit advisory; skipping.');
|
|
578
618
|
}
|
|
@@ -590,14 +630,16 @@ async function main() {
|
|
|
590
630
|
}
|
|
591
631
|
const upgradedNames = new Set(report.upgraded.filter((r) => r.success && !r.skipped).map((r) => r.name));
|
|
592
632
|
const overrideManager = packageManager !== 'auto' ? packageManager : report.project?.manager ?? 'npm';
|
|
633
|
+
const advisoriesForFlow = wantsAdvisoryOverrides && auditResult ? auditResult.advisories : [];
|
|
593
634
|
const flowResult = await runOverrideFlow({
|
|
594
635
|
cwd,
|
|
595
636
|
manager: overrideManager,
|
|
596
|
-
advisories:
|
|
637
|
+
advisories: advisoriesForFlow,
|
|
597
638
|
upgradedNames,
|
|
598
639
|
directDepNames,
|
|
599
640
|
overwriteConflicts: Boolean(opts.overrideForce),
|
|
600
641
|
json: jsonOutput,
|
|
642
|
+
manualOverrides,
|
|
601
643
|
});
|
|
602
644
|
if (flowResult.attempts.length > 0) {
|
|
603
645
|
const { overrideFieldFor } = await import('./utils/overrides.js');
|
|
@@ -609,7 +651,7 @@ async function main() {
|
|
|
609
651
|
}
|
|
610
652
|
catch (e) {
|
|
611
653
|
if (!jsonOutput) {
|
|
612
|
-
log.warn(
|
|
654
|
+
log.warn(`overrides: skipped due to error: ${e instanceof Error ? e.message : String(e)}`);
|
|
613
655
|
}
|
|
614
656
|
}
|
|
615
657
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAsB,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAsB,MAAM,cAAc,CAAC;AACpF,OAAO,EAAE,aAAa,EAA0B,MAAM,kBAAkB,CAAC;AACzE,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAoB,MAAM,iBAAiB,CAAC;AAG7D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,KAAK,UAAU,eAAe;IAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAyB,CAAC;IACjE,OAAO,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAAC,SAA6B;IAC1C,OAAO,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,gBAAgB,CAAC,MAAmB;IAC3C,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAErB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,aAAa,GAAG,MAAM,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,EAAE,GACN,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,eAAe;gBACjC,CAAC,CAAC,iBAAiB,CAAC,CAAC,eAAe,YAAY;gBAChD,CAAC,CAAC,EAAE,CAAC;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,OAAO,IAAI,0BAA0B,EAAE,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;gBAC5C,GAAG,CAAC,KAAK,CACP,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,+BAA+B,CAAC,CAAC,UAAU,EAAE,OAAO,IAAI,SAAS,UAAU,CAAC,CAAC,UAAU,EAAE,QAAQ,IAAI,GAAG,IAAI;oBACzH,qFAAqF,CACxF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE;oBACzB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,kDAAkD;oBACxE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC;gBAC/D,GAAG,CAAC,GAAG,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC3E,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAChD,GAAG,CAAC,KAAK,CACP,mDAAmD,MAAM,CAAC,SAAS,CAAC,OAAO,+BAA+B,MAAM,CAAC,SAAS,CAAC,QAAQ,IAAI,GAAG,IAAI,CAC/I,CAAC;QACF,GAAG,CAAC,IAAI,CACN,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,GAAG,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,GAAW,EAAE,MAAmB;IAChE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;QACxB;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EACL,4GAA4G;YAC9G,OAAO,EAAE,KAAK;SACf;KACF,CAAC,CAAC;IAEH,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,gBAAgB,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,4CAA4C,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;IAExC,2FAA2F;IAC3F,yFAAyF;IACzF,yFAAyF;IACzF,oFAAoF;IACpF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACpE,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,OAAO;SACJ,IAAI,CAAC,gBAAgB,CAAC;SACtB,WAAW,CACV,mGAAmG,CACpG;SACA,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,WAAW,EAAE,sDAAsD,EAAE,KAAK,CAAC;SAClF,MAAM,CAAC,eAAe,EAAE,+CAA+C,EAAE,KAAK,CAAC;SAC/E,MAAM,CAAC,SAAS,EAAE,+DAA+D,EAAE,KAAK,CAAC;SACzF,MAAM,CAAC,iBAAiB,EAAE,uEAAuE,CAAC;SAClG,MAAM,CAAC,QAAQ,EAAE,yCAAyC,EAAE,KAAK,CAAC;SAClE,MAAM,CACL,4BAA4B,EAC5B,0GAA0G,EAC1G,aAAa,CACd;SACA,MAAM,CACL,sBAAsB,EACtB,8GAA8G,EAC9G,MAAM,CACP;SACA,MAAM,CACL,kBAAkB,EAClB,uGAAuG,CACxG;SACA,MAAM,CACL,eAAe,EACf,+JAA+J,CAChK;SACA,MAAM,CACL,yBAAyB,EACzB,oJAAoJ,EACpJ,MAAM,CACP;SACA,MAAM,CACL,0BAA0B,EAC1B,0MAA0M,EAC1M,KAAK,CACN;SACA,MAAM,CACL,cAAc,EACd,0KAA0K,EAC1K,KAAK,CACN;SACA,MAAM,CACL,mBAAmB,EACnB,oFAAoF,EACpF,KAAK,CACN;SACA,MAAM,CACL,qBAAqB,EACrB,iMAAiM,CAClM;SACA,MAAM,CACL,uBAAuB,EACvB,yRAAyR,EACzR,MAAM,CACP;SACA,MAAM,CACL,mBAAmB,EACnB,uiBAAuiB,EACviB,GAAG,CACJ;SACA,MAAM,CACL,wBAAwB,EACxB,kRAAkR,CACnR;SACA,MAAM,CACL,qBAAqB,EACrB,yCAAyC,iBAAiB,oHAAoH,CAC/K;SACA,MAAM,CACL,gBAAgB,EAChB,QAAQ,iBAAiB,wOAAwO,EACjQ,KAAK,CACN;SACA,MAAM,CACL,oBAAoB,EACpB,wMAAwM,CACzM;SACA,MAAM,CACL,uBAAuB,EACvB,yEAAyE,CAC1E;SACA,MAAM,CACL,MAAM,EACN,8SAA8S,EAC9S,KAAK,CACN;SACA,MAAM,CACL,cAAc,EACd,2NAA2N,EAC3N,KAAK,CACN;SACA,MAAM,CACL,0BAA0B,EAC1B,8KAA8K,EAC9K,aAAa,CACd;SACA,MAAM,CACL,8BAA8B,EAC9B,qHAAqH,EACrH,QAAQ,CACT;SACA,MAAM,CACL,qBAAqB,EACrB,iIAAiI,CAClI;SACA,MAAM,CACL,YAAY,EACZ,6EAA6E,EAC7E,KAAK,CACN;SACA,MAAM,CACL,mBAAmB,EACnB,uLAAuL,EACvL,KAAK,CACN;SACA,MAAM,CACL,aAAa,EACb,oQAAoQ,CACrQ;SACA,MAAM,CACL,gBAAgB,EAChB,oLAAoL,CACrL;SACA,MAAM,CACL,iBAAiB,EACjB,uQAAuQ,EACvQ,KAAK,CACN;SACA,MAAM,CACL,wBAAwB,EACxB,4KAA4K,EAC5K,KAAK,CACN;SACA,MAAM,CACL,gBAAgB,EAChB,sMAAsM,CACvM;SACA,MAAM,CACL,mBAAmB,EACnB,wHAAwH,CACzH;SACA,MAAM,CACL,iBAAiB,EACjB,qWAAqW,CACtW;SACA,MAAM,CACL,oBAAoB,EACpB,yOAAyO,CAC1O;SACA,MAAM,CACL,mBAAmB,EACnB,wXAAwX,EACxX,KAAK,CACN;SACA,MAAM,CACL,kBAAkB,EAClB,+MAA+M,EAC/M,KAAK,CACN;SACA,MAAM,CACL,gBAAgB,EAChB,mcAAmc,EACnc,KAAK,CACN;SACA,MAAM,CACL,WAAW,EACX,4VAA4V,EAC5V,KAAK,CACN;SACA,MAAM,CACL,yBAAyB,EACzB,kIAAkI,CACnI;SACA,MAAM,CACL,iBAAiB,EACjB,oHAAoH,EACpH,KAAK,CACN;SACA,MAAM,CACL,yBAAyB,EACzB,gGAAgG,CACjG;SACA,MAAM,CACL,6BAA6B,EAC7B,iGAAiG,CAClG;SACA,MAAM,CACL,6BAA6B,EAC7B,mFAAmF,CACpF,CAAC;IAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EA0CrB,CAAC;IAEL,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,8FAA8F;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEtC,yEAAyE;IACzE,IAAI,aAAwC,CAAC;IAC7C,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;YAC/B,GAAG,CAAC,KAAK,CAAC,8BAA8B,IAAI,CAAC,OAAO,wBAAwB,CAAC,CAAC;YAC9E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,aAAa,GAAG,CAAC,CAAC;IACpB,CAAC;SAAM,IAAI,MAAM,EAAE,CAAC;QAClB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5D,oDAAoD;IACpD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;IACnC,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,aAAa,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,eAAe,CAAC,MAAM,kBAAkB,CAAC,CAAC;QACjG,IAAI,MAAM,CAAC,gBAAgB;YAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,GAAG,CAAC,IAAI,CACN,kBAAkB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,YAAY,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,4FAA4F;IAC5F,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,0FAA0F;QAC1F,wFAAwF;QACxF,+CAA+C;QAC/C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,KAAK,CACP,4CAA4C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI;gBAC/E,8EAA8E,CACjF,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,IAAI,CACN,wCAAwC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,IAAI,iBAAiB,KAAK,MAAM,yBAAyB,IAAI,CAAC,WAAW,GAAG,CAC1K,CAAC;YACF,GAAG,CAAC,GAAG,CACL,cAAc,KAAK,CAAC,gBAAgB,0BAA0B,KAAK,CAAC,uBAAuB,kCAAkC,KAAK,CAAC,gBAAgB,CAAC,MAAM,6BAA6B,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACvO,CAAC;YACF,IAAI,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,IAAI,CACN,iHAAiH,CAClH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,IAAI,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,MAAM,gBAAgB,GAIpB,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,aAAa;QAC5D,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,OAAO;YAC5C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,aAAa,CAAC;IAEtB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,MAAM,UAAU,GACd,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnF,wFAAwF;IACxF,oEAAoE;IACpE,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC;IAC9C,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,MAAM,cAAc,GAClB,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3E,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAEhE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;QAC/D,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,WAAW,8BAA8B,CAAC,CAAC;QAC5F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,cAAqC,CAAC;IAE1D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,cAAc,GAAG,CAAC,IAAI,cAAc,GAAG,EAAE,EAAE,CAAC;QAClF,GAAG,CAAC,KAAK,CACP,6DAA6D,IAAI,CAAC,WAAW,IAAI,CAClF,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,WAAW,GAAG,cAAc,CAAC;IAEnC,kCAAkC;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7E,IACE,UAAU;QACV,UAAU,KAAK,aAAa;QAC5B,UAAU,KAAK,YAAY;QAC3B,UAAU,KAAK,KAAK,EACpB,CAAC;QACD,GAAG,CAAC,KAAK,CACP,qCAAqC,IAAI,CAAC,aAAa,+CAA+C,CACvG,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,UAA2B,CAAC;IAClD,IACE,CAAC,UAAU;QACX,CAAC,IAAI,CAAC,aAAa,KAAK,aAAa;YACnC,IAAI,CAAC,eAAe,KAAK,QAAQ;YACjC,IAAI,CAAC,SAAS;YACd,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,aAAa,CAAC,EACrB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;IAClF,CAAC;IAED,iCAAiC;IACjC,6DAA6D;IAC7D,4FAA4F;IAC5F,6FAA6F;IAC7F,mEAAmE;IACnE,MAAM,gBAAgB,GACpB,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS;QACjC,CAAC,CAAC,IAAI,CAAC,SAAS;QAChB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAExD,+FAA+F;IAC/F,IAAI,WAAoC,CAAC;IACzC,IAAI,eAAwC,CAAC;IAC7C,IAAI,mBAES,CAAC;IACd,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/D,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,GAAG,CAAC,KAAK,CACP,kCAAkC,IAAI,CAAC,WAAW,kDAAkD,CACrG,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,YAAY,GAA2B,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAC3F,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAE,CAAC;QAExC,IAAI,YAAY,GAAmB,KAAK,CAAC;QACzC,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;YAC9B,YAAY,GAAG,cAAc,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACnE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAC1C,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9B,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY,GAAG,KAAK,CAAC;YACvB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,4BAA4B,YAAY,gCAAgC,MAAM,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,WAAW,GAAG,MAAM,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7D,IAAI,WAAW,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,UAAU,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CACpD,CAAC;QACF,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,mBAAmB,GAAG,IAAI,GAAG,CAC3B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAClB,CAAC,CAAC,IAAI;YACN;gBACE,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACvC;SACF,CAAC,CACH,CAAC;QACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,OAAO,CAAC,qBAAqB,MAAM,8BAA8B,CAAC,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CACN,UAAU,eAAe,CAAC,IAAI,WAAW,eAAe,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,GAAG,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9L,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAsC,CAAC;IAC3C,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CACN,4BAA4B,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1F,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAC/B,GAAG,EACH;YACE,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,aAAa;YACnB,MAAM,EAAE,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ;YAClF,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC3B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YACvC,gBAAgB;YAChB,kBAAkB,EAAE,mBAAmB;SACxC,EACD,UAAU,EACV,MAAM,CACP,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;QAC3B,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,CAAC,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;YACpD,GAAG,CAAC,IAAI,CAAC,QAAQ,aAAa,0BAA0B,MAAM,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,aAAa,GAAkB,WAAW,CAAC;IAC/C,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QAChE,aAAa,GAAG,IAAI,CAAC,SAAS;aAC3B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;SAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,aAAa,GAAG,iBAAiB,CAAC;IACpC,CAAC;SAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,MAAM,GAAuB,IAAI,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,cAAc,CAAC;YAC5B,GAAG;YACH,MAAM;YACN,WAAW;YACX,KAAK;YACL,UAAU;YACV,MAAM;YACN,gBAAgB;YAChB,UAAU;YACV,kBAAkB,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;YAC7C,QAAQ;YACR,cAAc;YACd,oBAAoB;YACpB,aAAa;YACb,WAAW;YACX,WAAW;YACX,sFAAsF;YACtF,oFAAoF;YACpF,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,eAAe;YACf,MAAM;YACN,+EAA+E;YAC/E,wEAAwE;YACxE,YAAY,EAAE,IAAI,CAAC,YAAY,KAAK,KAAK;YACzC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;YAC3C,gBAAgB,EAAE,OAAO;gBACvB,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;oBACX,MAAM,OAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;gBAC3E,CAAC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,6FAA6F;QAC7F,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,GAAG,CAAC;YACvB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;YACjD,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YACjC,MAAM,CAAC,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;QACtC,CAAC;QAED,yFAAyF;QACzF,IAAI,YAAY,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAgD,EAAE,CAAC;YAC/D,MAAM,OAAO,GAAiD,EAAE,CAAC;YACjE,kFAAkF;YAClF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC5D,KAAK,MAAM,IAAI,IAAI,MAAO,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,KAAK,GAA4B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;oBACtE,IAAI,GAAG,CAAC,MAAM;wBAAE,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,MAAO,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,MAAM,EAAE,GAAsC;gBAC5C,MAAM,EAAE;oBACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;oBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;oBACpC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC,MAAM;iBAC/C;gBACD,MAAM;gBACN,OAAO;gBACP,QAAQ,EAAE,MAAM,CAAC,QAAQ;aAC1B,CAAC;YACF,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,MAAM,CAAC,gBAAgB;gBAAE,EAAE,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAC3E,IAAI,MAAM,CAAC,SAAS;gBAAE,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACtD,MAAO,CAAC,MAAM,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,2FAA2F;QAC3F,0FAA0F;QAC1F,0FAA0F;QAC1F,6BAA6B;QAC7B,IAAI,WAAW,IAAI,MAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmD,CAAC;YAC1E,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,UAAU;gBAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,MAAO,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;oBAAE,SAAS;gBAC9C,CAAC,CAAC,QAAQ,GAAG;oBACX,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,GAAG,EAAE,GAAG,CAAC,GAAG;oBACZ,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;oBAC1C,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+EAA+E;QAC/E,yFAAyF;QACzF,MAAM,kBAAkB,GACtB,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACpF,IAAI,kBAAkB,IAAI,MAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;gBACtE,MAAM,eAAe,GAAG;oBACtB,GAAG,IAAI,GAAG,CACR,MAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC3E;iBACF,CAAC;gBACF,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC;wBAClC,GAAG;wBACH,YAAY,EAAE,eAAe;qBAC9B,CAAC,CAAC;oBACH,KAAK,MAAM,CAAC,IAAI,MAAO,CAAC,QAAQ,EAAE,CAAC;wBACjC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO;4BAAE,SAAS;wBACtC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACtC,IAAI,CAAC,IAAI;4BAAE,SAAS;wBACpB,CAAC,CAAC,WAAW,GAAG;4BACd,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,SAAS,EAAE,IAAI,CAAC,SAAS;4BACzB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;yBAC5C,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;wBAC7E,GAAG,CAAC,GAAG,CACL,yBAAyB,EAAE,CAAC,YAAY,kBAAkB,OAAO,IAAI,eAAe,CAAC,MAAM,wCAAwC,CACpI,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,oDAAoD;YACtD,CAAC;QACH,CAAC;QAED,0FAA0F;QAC1F,wFAAwF;QACxF,4FAA4F;QAC5F,yEAAyE;QACzE,IAAI,gBAAgB,IAAI,CAAC,MAAM,IAAI,MAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC;gBACH,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;gBAC5E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBACtE,MAAM,oBAAoB,CAAC,MAAO,CAAC,QAAQ,EAAE;oBAC3C,KAAK,EAAE,oBAAoB,EAAE;oBAC7B,WAAW,EAAE,CAAC;iBACf,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,wFAAwF;QACxF,0DAA0D;QAC1D,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9E,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CACN,wFAAwF,CACzF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC;oBACH,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;oBACzF,oFAAoF;oBACpF,+EAA+E;oBAC/E,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;oBACzC,KAAK,MAAM,CAAC,IAAI,MAAO,CAAC,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC1F,KAAK,MAAM,CAAC,IAAI,MAAM,qBAAqB,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;4BAC3D,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACxB,CAAC;oBACH,CAAC;oBACD,MAAM,aAAa,GAAG,IAAI,GAAG,CAC3B,MAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC3E,CAAC;oBACF,MAAM,eAAe,GACnB,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAO,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;oBACjF,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC;wBACvC,GAAG;wBACH,OAAO,EAAE,eAAe;wBACxB,UAAU,EAAE,WAAW,CAAC,UAAU;wBAClC,aAAa;wBACb,cAAc;wBACd,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;wBAC/C,IAAI,EAAE,UAAU;qBACjB,CAAC,CAAC;oBACH,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;wBAClE,MAAO,CAAC,SAAS,GAAG;4BAClB,KAAK,EAAE,gBAAgB,CAAC,eAAe,CAAC;4BACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;yBAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,GAAG,CAAC,IAAI,CACN,4CAA4C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,uFAAuF;QACvF,qFAAqF;QACrF,gFAAgF;QAChF,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAChE,MAAM,UAAU,GACd,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAO,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;gBACjF,MAAM,gBAAgB,GAAG,MAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC;gBAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;oBAClC,GAAG;oBACH,OAAO,EAAE,UAAU;oBACnB,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC/D,IAAI,EAAE,UAAU;oBAChB,YAAY,EAAE,KAAK,IAAI,EAAE;wBACvB,IAAI,QAAQ,CAAC,IAAI;4BAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;wBACvC,IAAI,CAAC;4BACH,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;4BAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;4BAC9D,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE;gCACzC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC1D,OAAO,EAAE,UAAU;gCACnB,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BACxD,CAAC,CAAC;4BACH,OAAO;gCACL,EAAE,EAAE,EAAE,CAAC,EAAE;gCACT,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCAC9C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC/C,CAAC;wBACJ,CAAC;wBAAC,MAAM,CAAC;4BACP,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;wBACtB,CAAC;oBACH,CAAC;oBACD,uBAAuB,EAAE,KAAK,IAAI,EAAE;wBAClC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;wBACtD,MAAM,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;oBACpC,CAAC;iBACF,CAAC,CAAC;gBACH,MAAO,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;oBACxB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBACtB,MAAM,eAAe,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CACvD,CAAC,MAAM,CAAC;wBACT,GAAG,CAAC,OAAO,CACT,mBAAmB,CAAC,CAAC,OAAO,eAAe,eAAe,WACxD,eAAe,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAC/B,qBAAqB,CAAC,CAAC,KAAK,CAAC,MAAM,oBAAoB,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,YAAY,CACnG,CAAC;oBACJ,CAAC;yBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACjC,GAAG,CAAC,IAAI,CACN,mBAAmB,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,iCAAiC,CAC5G,CAAC;oBACJ,CAAC;yBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAClC,GAAG,CAAC,IAAI,CACN,4BAA4B,CAAC,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,uCAAuC,IAAI,CACjI,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CACN,yCAAyC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACtF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,wFAAwF;QACxF,2FAA2F;QAC3F,+BAA+B;QAC/B,IAAI,eAAmC,CAAC;QACxC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,sBAAsB,GAAG,qBAAqB,CAAC,MAAO,EAAE;gBAC5D,eAAe,EAAE,MAAO,CAAC,eAAe;gBACxC,MAAM,EAAE,MAAO,CAAC,SAAS;aAC1B,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,yBAAyB,CAAC;gBACrC,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,GAAG;gBACH,WAAW,EAAE,OAAO;aACrB,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,sBAAsB,EAAE;gBACzD,MAAM,EAAE,aAAa;gBACrB,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,GAAG;gBACH,WAAW,EAAE,OAAO;aACrB,CAAC,CAAC;YACH,IAAI,OAAO,EAAE,CAAC;gBACZ,eAAe,GAAG,OAAO,CAAC;gBAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC;oBACnD,GAAG,CAAC,GAAG,CACL,SAAS,aAAa,CAAC,WAAW,EAAE,eAAe,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,0FAA0F;QAC1F,6EAA6E;QAC7E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,MAAM,GACV,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,KAAK,IAAI,IAAI,CAAC,MAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;gBACvG,CAAC;YACH,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,GAAG,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBAC9F,MAAM,IAAI,GACR,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,MAAM,iBAAiB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;oBAC3E,aAAa,CAAC,MAAO,CAAC,CAAC;gBACzB,MAAM,KAAK,GAA0C,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC3E,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACpE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW;oBAAE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACzC,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtC,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5E,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAChD,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5E,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;gBAChD,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,MAAO,CAAC,CAAC;gBACrD,MAAO,CAAC,WAAW,GAAG,MAAM,CAAC;gBAC7B,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;wBACd,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,WAAW,CAAC;wBAC/D,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACjE,CAAC;yBAAM,CAAC;wBACN,GAAG,CAAC,IAAI,CAAC,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAO,EAAE;YACrD,eAAe,EAAE,MAAO,CAAC,eAAe;YACxC,MAAM,EAAE,MAAO,CAAC,SAAS;SAC1B,CAAC,CAAC;QAEH,2FAA2F;QAC3F,2FAA2F;QAC3F,mEAAmE;QACnE,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,eAAe,EAAE,OAAO,EAAE,MAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,MAAO,CAAC,CAAC;YAC1B,IAAI,MAAO,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;gBACpC,yBAAyB,CAAC,eAAe,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,MAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,MAAM,kBAAkB,CAAC,GAAG,EAAE,MAAO,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,eAAe,EAAE;gBAC1D,GAAG;gBACH,WAAW,EAAE,OAAO;gBACpB,MAAM;aACP,CAAC,CAAC;YACH,IAAI,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,iBAAiB,0BAA0B,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAO,CAAC,gBAAgB,CAAC,CAAC;QAC1D,yFAAyF;QACzF,uFAAuF;QACvF,IAAI,QAAgB,CAAC;QACrB,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,IAAI,MAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,GAAG,CACL,SAAS,MAAO,CAAC,MAAM,CAAC,MAAM,gEAAgE,CAC/F,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,CAAC,KAAK,IAAI,CAAC,MAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,wBAAwB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persisted / policy-style override pin. Mirrors `--override` on the CLI but parsed ahead of
|
|
3
|
+
* time from `.dep-up-surgeonrc`, so teams can commit the full set of parent-scoped pins the
|
|
4
|
+
* repo relies on (with human-readable `reason`s that flow into the run report).
|
|
5
|
+
*
|
|
6
|
+
* Two input shapes are accepted:
|
|
7
|
+
*
|
|
8
|
+
* - **Structured**: `{ "chain": ["some-dep", "foo"], "range": "1.2.3", "reason": "CVE-…" }`.
|
|
9
|
+
* `chain` may also be a single-element array for a flat pin, or a bare string for the
|
|
10
|
+
* 1-deep case: `{ "chain": "lodash", "range": "4.17.21" }`.
|
|
11
|
+
* - **Selector string**: `{ "selector": "some-dep>foo@1.2.3", "reason": "…" }` — same syntax
|
|
12
|
+
* as the `--override` CLI flag (pnpm `>`-chain, yarn `/`-chain, or flat). When `selector`
|
|
13
|
+
* embeds `@<range>`, the separate `range` field is optional.
|
|
14
|
+
*/
|
|
15
|
+
export interface RcOverrideEntry {
|
|
16
|
+
/** Parent chain + leaf, outermost → leaf. `chain: [name]` is the flat case. */
|
|
17
|
+
chain: string[];
|
|
18
|
+
/** Version / range to pin. */
|
|
19
|
+
range: string;
|
|
20
|
+
/**
|
|
21
|
+
* Human-readable reason the pin exists (CVE ID, vendor guidance, "upstream PR #123 pending",
|
|
22
|
+
* etc.). Flows into `report.overrides.attempts[].policyReason` so reviewers never have to
|
|
23
|
+
* grep commit messages to find out why a transitive is pinned.
|
|
24
|
+
*/
|
|
25
|
+
reason?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Original selector string, if the user used the string form. Recorded for diagnostics —
|
|
28
|
+
* when we couldn't apply a pin we want to tell the user "the pin from rc line `<raw>`" so
|
|
29
|
+
* they can find and fix it quickly.
|
|
30
|
+
*/
|
|
31
|
+
source?: string;
|
|
32
|
+
}
|
|
1
33
|
export interface DepUpSurgeonRc {
|
|
2
34
|
/** Package names that must never be upgraded */
|
|
3
35
|
ignore?: string[];
|
|
@@ -23,12 +55,30 @@ export interface DepUpSurgeonRc {
|
|
|
23
55
|
command?: string;
|
|
24
56
|
skip?: boolean;
|
|
25
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* Persistent override pins applied on every run (with `--security-only` or standalone).
|
|
60
|
+
* Merges with CLI `--override` flags — the CLI wins on exact-chain conflicts so ad-hoc
|
|
61
|
+
* overrides always take precedence over the committed policy.
|
|
62
|
+
*/
|
|
63
|
+
overrides?: RcOverrideEntry[];
|
|
64
|
+
/** Parse warnings from loading the rc. Populated on malformed sections; never fatal. */
|
|
65
|
+
warnings?: string[];
|
|
26
66
|
}
|
|
27
67
|
/**
|
|
28
68
|
* Load `.dep-up-surgeonrc` from the project root (JSON).
|
|
29
69
|
* Missing or invalid files yield an empty config (no throw).
|
|
30
70
|
*/
|
|
31
71
|
export declare function loadConfig(cwd: string): Promise<DepUpSurgeonRc>;
|
|
72
|
+
/**
|
|
73
|
+
* Parse the `overrides` section of an rc file into a `RcOverrideEntry[]`. Accepts the two
|
|
74
|
+
* shapes documented on `RcOverrideEntry` and records (does not throw on) malformed entries so
|
|
75
|
+
* a single typo in one override line doesn't kill the whole upgrade run.
|
|
76
|
+
*
|
|
77
|
+
* Duplicate chains are kept in array order — the later entry wins, matching the CLI semantic
|
|
78
|
+
* where a repeated `--override` overwrites the first value. We leave that dedupe to the
|
|
79
|
+
* merger so this function stays cheap and pure.
|
|
80
|
+
*/
|
|
81
|
+
export declare function normalizeRcOverrides(raw: unknown, warnings: string[]): RcOverrideEntry[];
|
|
32
82
|
/**
|
|
33
83
|
* Resolve the effective validator settings combining CLI flags with `.dep-up-surgeonrc.validate`.
|
|
34
84
|
* CLI flags always win over the rc file.
|
|
@@ -38,6 +88,20 @@ export declare function resolveValidateOptions(configValidate: DepUpSurgeonRc['v
|
|
|
38
88
|
skip?: boolean;
|
|
39
89
|
source?: 'cli' | 'config';
|
|
40
90
|
};
|
|
91
|
+
/**
|
|
92
|
+
* Merge rc-defined overrides with CLI `--override` selectors. CLI entries always win on an
|
|
93
|
+
* exact-chain conflict (the user's one-off intent overrides the committed policy), but both
|
|
94
|
+
* lists are preserved for unique chains. Later rc entries also win over earlier rc entries
|
|
95
|
+
* with the same chain — same rule the CLI uses when `--override` is passed twice.
|
|
96
|
+
*
|
|
97
|
+
* Returns `{ entries, warnings }`. `warnings` is non-empty when we dropped a CLI selector
|
|
98
|
+
* because of a parse error; the caller can log these at the same level as `rc.warnings` so
|
|
99
|
+
* the user sees a single coherent diagnostics block.
|
|
100
|
+
*/
|
|
101
|
+
export declare function mergeOverrideSources(rcOverrides: RcOverrideEntry[] | undefined, cliSelectors: readonly string[] | undefined): {
|
|
102
|
+
entries: RcOverrideEntry[];
|
|
103
|
+
warnings: string[];
|
|
104
|
+
};
|
|
41
105
|
/**
|
|
42
106
|
* Merge CLI `--ignore` (comma-separated) with config ignore list.
|
|
43
107
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"loadConfig.d.ts","sourceRoot":"","sources":["../../src/config/loadConfig.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACzD;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzD;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAkErE;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAaxF;AAoID;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,cAAc,CAAC,UAAU,CAAC,EAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,aAAa,EAAE,OAAO,GACrB;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAA;CAAE,CAmBjE;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAAE,GAAG,SAAS,EAC1C,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAC1C;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBpD;AASD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,GAAG,CAAC,MAAM,CAAC,CAcb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB5F"}
|