@cleocode/core 2026.10.12 → 2026.10.13-rc.ci.682
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/build-provenance.json +2 -2
- package/dist/cloud/nexus-auth.d.ts.map +1 -1
- package/dist/cloud/nexus-auth.js +11 -2
- package/dist/cloud/nexus-auth.js.map +1 -1
- package/dist/cloud/nexus-cloud-status.d.ts.map +1 -1
- package/dist/cloud/nexus-cloud-status.js +18 -5
- package/dist/cloud/nexus-cloud-status.js.map +1 -1
- package/dist/cloud/nexus-credentials.d.ts +3 -2
- package/dist/cloud/nexus-credentials.d.ts.map +1 -1
- package/dist/cloud/nexus-credentials.js +58 -14
- package/dist/cloud/nexus-credentials.js.map +1 -1
- package/dist/cloud/nexus-logout.d.ts.map +1 -1
- package/dist/cloud/nexus-logout.js +12 -2
- package/dist/cloud/nexus-logout.js.map +1 -1
- package/dist/cloud/nexus-vault-state.d.ts.map +1 -1
- package/dist/cloud/nexus-vault-state.js +6 -26
- package/dist/cloud/nexus-vault-state.js.map +1 -1
- package/dist/config/registry.d.ts +21 -0
- package/dist/config/registry.d.ts.map +1 -1
- package/dist/config/registry.js +41 -0
- package/dist/config/registry.js.map +1 -1
- package/dist/dispatch/mvi-projection.d.ts.map +1 -1
- package/dist/dispatch/mvi-projection.js +2 -0
- package/dist/dispatch/mvi-projection.js.map +1 -1
- package/dist/docs/docs-ops.d.ts +15 -14
- package/dist/docs/docs-ops.d.ts.map +1 -1
- package/dist/docs/docs-ops.js +32 -96
- package/dist/docs/docs-ops.js.map +1 -1
- package/dist/docs/docs-read-model.d.ts +19 -10
- package/dist/docs/docs-read-model.d.ts.map +1 -1
- package/dist/docs/docs-read-model.js +31 -47
- package/dist/docs/docs-read-model.js.map +1 -1
- package/dist/docs/docs-update.d.ts +51 -1
- package/dist/docs/docs-update.d.ts.map +1 -1
- package/dist/docs/docs-update.js +235 -13
- package/dist/docs/docs-update.js.map +1 -1
- package/dist/docs/doctor.d.ts +26 -4
- package/dist/docs/doctor.d.ts.map +1 -1
- package/dist/docs/doctor.js +260 -102
- package/dist/docs/doctor.js.map +1 -1
- package/dist/docs/fetch-result.d.ts +30 -10
- package/dist/docs/fetch-result.d.ts.map +1 -1
- package/dist/docs/fetch-result.js +100 -15
- package/dist/docs/fetch-result.js.map +1 -1
- package/dist/docs/index.d.ts +1 -0
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +1 -0
- package/dist/docs/index.js.map +1 -1
- package/dist/docs/legacy-doc-migration.d.ts +182 -0
- package/dist/docs/legacy-doc-migration.d.ts.map +1 -0
- package/dist/docs/legacy-doc-migration.js +480 -0
- package/dist/docs/legacy-doc-migration.js.map +1 -0
- package/dist/docs/publications-store.d.ts +67 -0
- package/dist/docs/publications-store.d.ts.map +1 -0
- package/dist/docs/publications-store.js +193 -0
- package/dist/docs/publications-store.js.map +1 -0
- package/dist/docs/publish-pr.d.ts.map +1 -1
- package/dist/docs/publish-pr.js +31 -18
- package/dist/docs/publish-pr.js.map +1 -1
- package/dist/docs/section-leases.d.ts +233 -0
- package/dist/docs/section-leases.d.ts.map +1 -0
- package/dist/docs/section-leases.js +344 -0
- package/dist/docs/section-leases.js.map +1 -0
- package/dist/docs/section-merge.d.ts +159 -0
- package/dist/docs/section-merge.d.ts.map +1 -0
- package/dist/docs/section-merge.js +215 -0
- package/dist/docs/section-merge.js.map +1 -0
- package/dist/docs/section-write-path.d.ts +191 -0
- package/dist/docs/section-write-path.d.ts.map +1 -0
- package/dist/docs/section-write-path.js +423 -0
- package/dist/docs/section-write-path.js.map +1 -0
- package/dist/docs/stats.d.ts +56 -0
- package/dist/docs/stats.d.ts.map +1 -0
- package/dist/docs/stats.js +119 -0
- package/dist/docs/stats.js.map +1 -0
- package/dist/gc/cleanup.d.ts +1 -1
- package/dist/gc/cleanup.d.ts.map +1 -1
- package/dist/gc/cleanup.js +10 -1
- package/dist/gc/cleanup.js.map +1 -1
- package/dist/gc/janitor.js +1 -1
- package/dist/gc/janitor.js.map +1 -1
- package/dist/internal.d.ts +1 -1
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +1 -1
- package/dist/internal.js.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.d.ts +34 -0
- package/dist/memory/pipeline-manifest-sqlite.d.ts.map +1 -1
- package/dist/memory/pipeline-manifest-sqlite.js +114 -0
- package/dist/memory/pipeline-manifest-sqlite.js.map +1 -1
- package/dist/nexus/analyze-orchestrator.d.ts +5 -1
- package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
- package/dist/nexus/analyze-orchestrator.js +25 -13
- package/dist/nexus/analyze-orchestrator.js.map +1 -1
- package/dist/nexus/assessment-store.d.ts +8 -4
- package/dist/nexus/assessment-store.d.ts.map +1 -1
- package/dist/nexus/assessment-store.js +18 -27
- package/dist/nexus/assessment-store.js.map +1 -1
- package/dist/orchestration/index.d.ts.map +1 -1
- package/dist/orchestration/index.js +6 -0
- package/dist/orchestration/index.js.map +1 -1
- package/dist/orchestration/lean-change.d.ts +104 -5
- package/dist/orchestration/lean-change.d.ts.map +1 -1
- package/dist/orchestration/lean-change.js +162 -6
- package/dist/orchestration/lean-change.js.map +1 -1
- package/dist/orchestration/spawn-prompt.d.ts +6 -1
- package/dist/orchestration/spawn-prompt.d.ts.map +1 -1
- package/dist/orchestration/spawn-prompt.js +3 -1
- package/dist/orchestration/spawn-prompt.js.map +1 -1
- package/dist/orchestration/spawn.d.ts.map +1 -1
- package/dist/orchestration/spawn.js +6 -0
- package/dist/orchestration/spawn.js.map +1 -1
- package/dist/release/open.d.ts.map +1 -1
- package/dist/release/open.js +6 -2
- package/dist/release/open.js.map +1 -1
- package/dist/release/plan.d.ts.map +1 -1
- package/dist/release/plan.js +33 -2
- package/dist/release/plan.js.map +1 -1
- package/dist/resources/admission-ledger.d.ts +5 -0
- package/dist/resources/admission-ledger.d.ts.map +1 -1
- package/dist/resources/admission-ledger.js +1 -1
- package/dist/resources/admission-ledger.js.map +1 -1
- package/dist/resources/run-admission.d.ts.map +1 -1
- package/dist/resources/run-admission.js +4 -1
- package/dist/resources/run-admission.js.map +1 -1
- package/dist/resources/run-governed.d.ts +29 -4
- package/dist/resources/run-governed.d.ts.map +1 -1
- package/dist/resources/run-governed.js +113 -73
- package/dist/resources/run-governed.js.map +1 -1
- package/dist/sentient/worktree-dispatch.d.ts +12 -1
- package/dist/sentient/worktree-dispatch.d.ts.map +1 -1
- package/dist/sentient/worktree-dispatch.js +19 -0
- package/dist/sentient/worktree-dispatch.js.map +1 -1
- package/dist/spawn/branch-lock.d.ts +11 -1
- package/dist/spawn/branch-lock.d.ts.map +1 -1
- package/dist/spawn/branch-lock.js +54 -4
- package/dist/spawn/branch-lock.js.map +1 -1
- package/dist/sticky/archive.d.ts +1 -0
- package/dist/sticky/archive.d.ts.map +1 -1
- package/dist/sticky/archive.js +13 -0
- package/dist/sticky/archive.js.map +1 -1
- package/dist/sticky/engine-ops.d.ts.map +1 -1
- package/dist/sticky/engine-ops.js +7 -0
- package/dist/sticky/engine-ops.js.map +1 -1
- package/dist/store/attachment-repair.d.ts +10 -4
- package/dist/store/attachment-repair.d.ts.map +1 -1
- package/dist/store/attachment-repair.js +52 -25
- package/dist/store/attachment-repair.js.map +1 -1
- package/dist/store/attachment-store.d.ts.map +1 -1
- package/dist/store/attachment-store.js +27 -18
- package/dist/store/attachment-store.js.map +1 -1
- package/dist/store/blob-keep.d.ts +83 -0
- package/dist/store/blob-keep.d.ts.map +1 -1
- package/dist/store/blob-keep.js +139 -0
- package/dist/store/blob-keep.js.map +1 -1
- package/dist/store/blob-ops.d.ts +24 -0
- package/dist/store/blob-ops.d.ts.map +1 -1
- package/dist/store/blob-ops.js +47 -0
- package/dist/store/blob-ops.js.map +1 -1
- package/dist/store/conduit-doc-history.d.ts +209 -0
- package/dist/store/conduit-doc-history.d.ts.map +1 -1
- package/dist/store/conduit-doc-history.js +315 -3
- package/dist/store/conduit-doc-history.js.map +1 -1
- package/dist/store/decision-adr-links.d.ts +11 -0
- package/dist/store/decision-adr-links.d.ts.map +1 -1
- package/dist/store/decision-adr-links.js +20 -1
- package/dist/store/decision-adr-links.js.map +1 -1
- package/dist/store/display-id-alias.d.ts +8 -2
- package/dist/store/display-id-alias.d.ts.map +1 -1
- package/dist/store/display-id-alias.js +8 -3
- package/dist/store/display-id-alias.js.map +1 -1
- package/dist/store/lock.d.ts +18 -0
- package/dist/store/lock.d.ts.map +1 -1
- package/dist/store/lock.js +41 -0
- package/dist/store/lock.js.map +1 -1
- package/dist/store/row-identity-registry.d.ts.map +1 -1
- package/dist/store/row-identity-registry.js +17 -0
- package/dist/store/row-identity-registry.js.map +1 -1
- package/dist/store/schema/cleo-project/conduit.d.ts +16 -0
- package/dist/store/schema/cleo-project/conduit.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/conduit.js +8 -0
- package/dist/store/schema/cleo-project/conduit.js.map +1 -1
- package/dist/store/schema/cleo-project/docs.d.ts +294 -0
- package/dist/store/schema/cleo-project/docs.d.ts.map +1 -1
- package/dist/store/schema/cleo-project/docs.js +82 -0
- package/dist/store/schema/cleo-project/docs.js.map +1 -1
- package/dist/store/sync/hlc.d.ts +9 -0
- package/dist/store/sync/hlc.d.ts.map +1 -1
- package/dist/store/sync/hlc.js +9 -0
- package/dist/store/sync/hlc.js.map +1 -1
- package/dist/store/sync/merge/engine.d.ts.map +1 -1
- package/dist/store/sync/merge/engine.js +4 -2
- package/dist/store/sync/merge/engine.js.map +1 -1
- package/dist/store/sync/merge/rules.d.ts +12 -1
- package/dist/store/sync/merge/rules.d.ts.map +1 -1
- package/dist/store/sync/merge/rules.js +76 -1
- package/dist/store/sync/merge/rules.js.map +1 -1
- package/dist/store/sync/replica-registry.d.ts +6 -2
- package/dist/store/sync/replica-registry.d.ts.map +1 -1
- package/dist/store/sync/replica-registry.js +21 -9
- package/dist/store/sync/replica-registry.js.map +1 -1
- package/dist/store/sync/timestamp-canon.d.ts.map +1 -1
- package/dist/store/sync/timestamp-canon.js +6 -0
- package/dist/store/sync/timestamp-canon.js.map +1 -1
- package/dist/store/table-classification.d.ts +58 -0
- package/dist/store/table-classification.d.ts.map +1 -1
- package/dist/store/table-classification.js +72 -0
- package/dist/store/table-classification.js.map +1 -1
- package/dist/store/twin-collapse.d.ts.map +1 -1
- package/dist/store/twin-collapse.js +4 -1
- package/dist/store/twin-collapse.js.map +1 -1
- package/dist/store/vault-manifest.d.ts +10 -1
- package/dist/store/vault-manifest.d.ts.map +1 -1
- package/dist/store/vault-manifest.js +59 -1
- package/dist/store/vault-manifest.js.map +1 -1
- package/dist/tasks/affected-scope.d.ts +11 -0
- package/dist/tasks/affected-scope.d.ts.map +1 -1
- package/dist/tasks/affected-scope.js +30 -11
- package/dist/tasks/affected-scope.js.map +1 -1
- package/dist/tasks/cancel-ops.d.ts.map +1 -1
- package/dist/tasks/cancel-ops.js +7 -2
- package/dist/tasks/cancel-ops.js.map +1 -1
- package/dist/tasks/change-set.d.ts +22 -0
- package/dist/tasks/change-set.d.ts.map +1 -1
- package/dist/tasks/change-set.js +119 -2
- package/dist/tasks/change-set.js.map +1 -1
- package/dist/tasks/complete.d.ts.map +1 -1
- package/dist/tasks/complete.js +7 -0
- package/dist/tasks/complete.js.map +1 -1
- package/dist/tasks/done-plan.d.ts +5 -0
- package/dist/tasks/done-plan.d.ts.map +1 -1
- package/dist/tasks/done-plan.js +54 -19
- package/dist/tasks/done-plan.js.map +1 -1
- package/dist/tasks/engine-wrap.d.ts +4 -0
- package/dist/tasks/engine-wrap.d.ts.map +1 -1
- package/dist/tasks/engine-wrap.js +20 -4
- package/dist/tasks/engine-wrap.js.map +1 -1
- package/dist/tasks/evidence-paths.d.ts +11 -0
- package/dist/tasks/evidence-paths.d.ts.map +1 -1
- package/dist/tasks/evidence-paths.js +12 -0
- package/dist/tasks/evidence-paths.js.map +1 -1
- package/dist/tools/fs.d.ts +7 -3
- package/dist/tools/fs.d.ts.map +1 -1
- package/dist/tools/fs.js +23 -8
- package/dist/tools/fs.js.map +1 -1
- package/dist/worktree/list.d.ts.map +1 -1
- package/dist/worktree/list.js +9 -0
- package/dist/worktree/list.js.map +1 -1
- package/dist/worktree/prune.d.ts.map +1 -1
- package/dist/worktree/prune.js +52 -1
- package/dist/worktree/prune.js.map +1 -1
- package/migrations/drizzle-cleo-project/20261013000000_t13360-migrated-doc-import/migration.sql +61 -0
- package/migrations/drizzle-cleo-project/20261014000000_t13362-docs-publications-ledger/migration.sql +45 -0
- package/package.json +13 -13
- package/templates/CLEO-INJECTION.md +1 -1
- package/templates/CLEO-REFERENCE.md +2 -2
package/dist/docs/doctor.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `cleo docs doctor` — store health diagnostics + safe repairs — T13447.
|
|
3
3
|
*
|
|
4
4
|
* Audits the CleoDocs store (`cleo.db` `attachments`/`docs_wikilinks` tables
|
|
5
|
-
* plus the on-disk legacy surfaces) for
|
|
5
|
+
* plus the on-disk legacy surfaces) for seven known drift classes and, when
|
|
6
6
|
* invoked with `apply: true`, performs the repairs that are safe to run
|
|
7
7
|
* in-place:
|
|
8
8
|
*
|
|
@@ -32,10 +32,25 @@
|
|
|
32
32
|
* - `legacy-store-present`— `.cleo/attachments/index.db`,
|
|
33
33
|
* `.cleo/docs-publications.json` and/or
|
|
34
34
|
* `.cleo/attachments/sha256/` still on disk.
|
|
35
|
+
* - `legacy-blob-coverage`— content-bearing rows whose sha256 has NO
|
|
36
|
+
* counterpart in the blob store
|
|
37
|
+
* (`.cleo/blobs/blobs/`). This is the T13362 AC2
|
|
38
|
+
* deletion pre-check: the legacy byte tree may
|
|
39
|
+
* only be deleted once this diagnostic is clean
|
|
40
|
+
* (severity `error` while any are missing).
|
|
41
|
+
* Repair (`backfill-blob-bytes`, T13653): locate
|
|
42
|
+
* the bytes in the legacy `.cleo/attachments/`
|
|
43
|
+
* tree or a live keep-link, SHA-256-verify them
|
|
44
|
+
* against the row's recorded hash, and mirror
|
|
45
|
+
* them into the blob store. Hash-verified and
|
|
46
|
+
* idempotent — never writes unverified bytes,
|
|
47
|
+
* skips shas already in the store. Runs under
|
|
48
|
+
* the normal `--apply`, or focused via
|
|
49
|
+
* `--repair` (backfill only).
|
|
35
50
|
* - `stale-drafts` — slugged docs still `draft` after
|
|
36
51
|
* `--older-than-days` (default 30).
|
|
37
52
|
*
|
|
38
|
-
* SAFETY: `apply: true` REFUSES to run without a backup receipt
|
|
53
|
+
* SAFETY: `apply: true` (or `repair: true`) REFUSES to run without a backup receipt
|
|
39
54
|
* ({@link DocsDoctorOptions.backupReceiptPath}) whose mtime is at most
|
|
40
55
|
* {@link DOCS_DOCTOR_BACKUP_MAX_AGE_MS} old. The dispatch layer creates the
|
|
41
56
|
* backup itself (same `createBackup` as `cleo backup add`) and passes the
|
|
@@ -72,11 +87,11 @@ export declare const DOCS_DOCTOR_DEFAULT_OLDER_THAN_DAYS = 30;
|
|
|
72
87
|
*/
|
|
73
88
|
export declare const DOCS_DOCTOR_MAX_DETAIL_ITEMS = 50;
|
|
74
89
|
/**
|
|
75
|
-
* The
|
|
90
|
+
* The seven diagnostic classes {@link runDocsDoctor} checks for.
|
|
76
91
|
*
|
|
77
92
|
* @task T13447
|
|
78
93
|
*/
|
|
79
|
-
export type DocsDoctorDiagnosticKind = 'dangling-pointers' | 'doc-version-skew' | 'empty-provenance' | 'wikilinks-drift' | 'legacy-store-present' | 'stale-drafts';
|
|
94
|
+
export type DocsDoctorDiagnosticKind = 'dangling-pointers' | 'doc-version-skew' | 'empty-provenance' | 'wikilinks-drift' | 'legacy-store-present' | 'legacy-blob-coverage' | 'stale-drafts';
|
|
80
95
|
/**
|
|
81
96
|
* One diagnostic class in the report: severity, total offender count, and a
|
|
82
97
|
* capped detail list.
|
|
@@ -144,6 +159,13 @@ export interface DocsDoctorOptions {
|
|
|
144
159
|
* {@link backupReceiptPath} — see the module docblock for the safety rule.
|
|
145
160
|
*/
|
|
146
161
|
readonly apply?: boolean;
|
|
162
|
+
/**
|
|
163
|
+
* Execute ONLY the legacy-blob-coverage backfill (T13653): mirror
|
|
164
|
+
* hash-verified legacy bytes into the blob store so unmigrated docs become
|
|
165
|
+
* readable again. Subject to the same backup-receipt gate as
|
|
166
|
+
* {@link apply}; ignored on dry runs.
|
|
167
|
+
*/
|
|
168
|
+
readonly repair?: boolean;
|
|
147
169
|
/** Age threshold (days) for the `stale-drafts` diagnostic. Default 30. */
|
|
148
170
|
readonly olderThanDays?: number;
|
|
149
171
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/docs/doctor.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* `cleo docs doctor` — store health diagnostics + safe repairs — T13447.
|
|
3
3
|
*
|
|
4
4
|
* Audits the CleoDocs store (`cleo.db` `attachments`/`docs_wikilinks` tables
|
|
5
|
-
* plus the on-disk legacy surfaces) for
|
|
5
|
+
* plus the on-disk legacy surfaces) for seven known drift classes and, when
|
|
6
6
|
* invoked with `apply: true`, performs the repairs that are safe to run
|
|
7
7
|
* in-place:
|
|
8
8
|
*
|
|
@@ -32,10 +32,25 @@
|
|
|
32
32
|
* - `legacy-store-present`— `.cleo/attachments/index.db`,
|
|
33
33
|
* `.cleo/docs-publications.json` and/or
|
|
34
34
|
* `.cleo/attachments/sha256/` still on disk.
|
|
35
|
+
* - `legacy-blob-coverage`— content-bearing rows whose sha256 has NO
|
|
36
|
+
* counterpart in the blob store
|
|
37
|
+
* (`.cleo/blobs/blobs/`). This is the T13362 AC2
|
|
38
|
+
* deletion pre-check: the legacy byte tree may
|
|
39
|
+
* only be deleted once this diagnostic is clean
|
|
40
|
+
* (severity `error` while any are missing).
|
|
41
|
+
* Repair (`backfill-blob-bytes`, T13653): locate
|
|
42
|
+
* the bytes in the legacy `.cleo/attachments/`
|
|
43
|
+
* tree or a live keep-link, SHA-256-verify them
|
|
44
|
+
* against the row's recorded hash, and mirror
|
|
45
|
+
* them into the blob store. Hash-verified and
|
|
46
|
+
* idempotent — never writes unverified bytes,
|
|
47
|
+
* skips shas already in the store. Runs under
|
|
48
|
+
* the normal `--apply`, or focused via
|
|
49
|
+
* `--repair` (backfill only).
|
|
35
50
|
* - `stale-drafts` — slugged docs still `draft` after
|
|
36
51
|
* `--older-than-days` (default 30).
|
|
37
52
|
*
|
|
38
|
-
* SAFETY: `apply: true` REFUSES to run without a backup receipt
|
|
53
|
+
* SAFETY: `apply: true` (or `repair: true`) REFUSES to run without a backup receipt
|
|
39
54
|
* ({@link DocsDoctorOptions.backupReceiptPath}) whose mtime is at most
|
|
40
55
|
* {@link DOCS_DOCTOR_BACKUP_MAX_AGE_MS} old. The dispatch layer creates the
|
|
41
56
|
* backup itself (same `createBackup` as `cleo backup add`) and passes the
|
|
@@ -49,14 +64,16 @@
|
|
|
49
64
|
* @see derive-links.ts — topics/related_tasks derivation (T13357)
|
|
50
65
|
* @see wikilinks.ts — derived edge table + rebuild (T11826)
|
|
51
66
|
*/
|
|
52
|
-
import {
|
|
67
|
+
import { createHash } from 'node:crypto';
|
|
68
|
+
import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
69
|
+
import { readFile } from 'node:fs/promises';
|
|
53
70
|
import { tmpdir } from 'node:os';
|
|
54
71
|
import { isAbsolute, join, resolve, sep } from 'node:path';
|
|
55
72
|
import { getCleoWorktreesRoot } from '@cleocode/paths';
|
|
56
73
|
import { eq } from 'drizzle-orm';
|
|
57
74
|
import { resolveCleoDir } from '../paths.js';
|
|
58
75
|
import { createAttachmentStore } from '../store/attachment-store.js';
|
|
59
|
-
import { blobContentExists } from '../store/blob-keep.js';
|
|
76
|
+
import { backfillBlobStoreBytes, blobContentExists, resolveLegacyByteSource, } from '../store/blob-keep.js';
|
|
60
77
|
import { docsWikilinks } from '../store/schema/attachments.js';
|
|
61
78
|
import { getDb } from '../store/sqlite.js';
|
|
62
79
|
import { docsAttachments } from '../store/tasks-schema.js';
|
|
@@ -145,6 +162,24 @@ function blobRowContentAlive(row, payload, projectRoot) {
|
|
|
145
162
|
const mime = typeof mimeRaw === 'string' ? mimeRaw : 'application/octet-stream';
|
|
146
163
|
return blobContentExists(resolveCleoDir(projectRoot), row.sha256, mime);
|
|
147
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* True when the blob store's file for `sha256` exists AND re-hashes to the
|
|
167
|
+
* recorded sha (T13654). A truncated or corrupted file at the content
|
|
168
|
+
* address — e.g. left by an interrupted write that predated tmp-then-rename —
|
|
169
|
+
* returns false so the coverage check treats the doc as unmigrated and the
|
|
170
|
+
* backfill replaces it from verified source bytes.
|
|
171
|
+
*
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
async function blobStoreFileVerified(cleoDir, sha256) {
|
|
175
|
+
try {
|
|
176
|
+
const bytes = await readFile(join(cleoDir, 'blobs', 'blobs', sha256));
|
|
177
|
+
return createHash('sha256').update(bytes).digest('hex') === sha256;
|
|
178
|
+
}
|
|
179
|
+
catch {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
148
183
|
/**
|
|
149
184
|
* True when `absPath` points inside a worktree or temp directory:
|
|
150
185
|
* the canonical CLEO worktrees root, a `.claude/worktrees/` agent spawn, or
|
|
@@ -314,7 +349,10 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
314
349
|
danglingCount += 1;
|
|
315
350
|
const reason = !exists ? 'missing' : (ephemeral ?? 'missing');
|
|
316
351
|
if (localFile && !exists) {
|
|
317
|
-
|
|
352
|
+
// A superseded doc keeps its status (docs.lifecycle.transitions, T12945):
|
|
353
|
+
// it is reported dangling, never archived out of 'superseded'.
|
|
354
|
+
if (row.lifecycleStatus !== 'superseded')
|
|
355
|
+
archivable.push({ row, path: absPath });
|
|
318
356
|
}
|
|
319
357
|
else if (blobWithPath &&
|
|
320
358
|
!exists &&
|
|
@@ -420,7 +458,7 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
420
458
|
},
|
|
421
459
|
{
|
|
422
460
|
path: join(projectRoot, '.cleo', 'docs-publications.json'),
|
|
423
|
-
what: 'publication ledger',
|
|
461
|
+
what: 'publication ledger (deprecated; seeded into docs_publications)',
|
|
424
462
|
},
|
|
425
463
|
{
|
|
426
464
|
path: join(projectRoot, '.cleo', 'attachments', 'sha256'),
|
|
@@ -430,6 +468,51 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
430
468
|
const legacyItems = legacyCandidates
|
|
431
469
|
.filter((c) => existsSync(c.path))
|
|
432
470
|
.map((c) => ({ path: c.path, what: c.what }));
|
|
471
|
+
// ── legacy-blob-coverage (T13362 AC2) ──────────────────────────────────────
|
|
472
|
+
// Deletion pre-check for the T12535 dropTask: the legacy
|
|
473
|
+
// `.cleo/attachments/sha256/` byte tree may ONLY be deleted once every
|
|
474
|
+
// content-bearing registry row has a migrated counterpart in the blob
|
|
475
|
+
// store (`.cleo/blobs/blobs/<sha>`). This check is report-only — it never
|
|
476
|
+
// deletes bytes.
|
|
477
|
+
const blobStoreShas = new Set();
|
|
478
|
+
try {
|
|
479
|
+
for (const name of readdirSync(join(resolveCleoDir(projectRoot), 'blobs', 'blobs'))) {
|
|
480
|
+
if (name.length === 64 && /^[0-9a-f]{64}$/.test(name))
|
|
481
|
+
blobStoreShas.add(name);
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
catch {
|
|
485
|
+
/* blob store dir may not exist yet — every row then counts as missing */
|
|
486
|
+
}
|
|
487
|
+
const coverageMissing = [];
|
|
488
|
+
const coverageSeen = new Set();
|
|
489
|
+
const blobBackfillable = [];
|
|
490
|
+
const cleoDir = resolveCleoDir(projectRoot);
|
|
491
|
+
for (const row of rows) {
|
|
492
|
+
const payload = payloadById.get(row.id) ?? null;
|
|
493
|
+
if (payload?.kind !== 'blob' && payload?.kind !== 'local-file')
|
|
494
|
+
continue;
|
|
495
|
+
if (coverageSeen.has(row.sha256))
|
|
496
|
+
continue;
|
|
497
|
+
coverageSeen.add(row.sha256);
|
|
498
|
+
// T13654: existence is not coverage. A truncated/corrupt file at the
|
|
499
|
+
// content address (an interrupted pre-tmp-rename write) makes the doc
|
|
500
|
+
// unreadable via blobReadBySha's integrity check — it counts as missing
|
|
501
|
+
// and becomes a backfill candidate so the repair can replace it.
|
|
502
|
+
if (!blobStoreShas.has(row.sha256) || !(await blobStoreFileVerified(cleoDir, row.sha256))) {
|
|
503
|
+
coverageMissing.push({ sha256: row.sha256, slug: row.slug });
|
|
504
|
+
const mimeRaw = payload?.['mime'];
|
|
505
|
+
const mime = typeof mimeRaw === 'string' ? mimeRaw : 'application/octet-stream';
|
|
506
|
+
blobBackfillable.push({
|
|
507
|
+
sha256: row.sha256,
|
|
508
|
+
slug: row.slug,
|
|
509
|
+
sourcePath: resolveLegacyByteSource(cleoDir, row.sha256, mime),
|
|
510
|
+
});
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
const coverageItems = coverageMissing
|
|
514
|
+
.slice(0, DOCS_DOCTOR_MAX_DETAIL_ITEMS)
|
|
515
|
+
.map((m) => ({ sha256: m.sha256, slug: m.slug }));
|
|
433
516
|
// ── stale-drafts ───────────────────────────────────────────────────────────
|
|
434
517
|
const cutoffIso = new Date(Date.now() - olderThanDays * 24 * 60 * 60 * 1000).toISOString();
|
|
435
518
|
const staleRows = rows.filter((r) => r.slug !== null && r.lifecycleStatus === 'draft' && r.createdAt < cutoffIso);
|
|
@@ -472,6 +555,13 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
472
555
|
items: legacyItems,
|
|
473
556
|
truncated: false,
|
|
474
557
|
},
|
|
558
|
+
{
|
|
559
|
+
kind: 'legacy-blob-coverage',
|
|
560
|
+
severity: coverageMissing.length > 0 ? 'error' : 'info',
|
|
561
|
+
count: coverageMissing.length,
|
|
562
|
+
items: coverageItems,
|
|
563
|
+
truncated: coverageMissing.length > coverageItems.length,
|
|
564
|
+
},
|
|
475
565
|
{
|
|
476
566
|
kind: 'stale-drafts',
|
|
477
567
|
severity: 'info',
|
|
@@ -485,6 +575,7 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
485
575
|
dangling: { archivable, clearable },
|
|
486
576
|
skewed,
|
|
487
577
|
backfillable,
|
|
578
|
+
blobBackfillable,
|
|
488
579
|
missingEdges,
|
|
489
580
|
needsWikilinksRebuild: missingEdges.length > 0 || backfillChangesLinks,
|
|
490
581
|
};
|
|
@@ -509,8 +600,27 @@ async function scanStore(projectRoot, db, olderThanDays) {
|
|
|
509
600
|
// @sync-invariant docs.lifecycle.transitions the only lifecycle write is draft→archived for dangling rows, a legal matrix transition
|
|
510
601
|
export async function runDocsDoctor(projectRoot, opts = {}) {
|
|
511
602
|
const apply = opts.apply === true;
|
|
603
|
+
const repair = opts.repair === true;
|
|
604
|
+
const mutate = apply || repair;
|
|
512
605
|
const olderThanDays = opts.olderThanDays ?? DOCS_DOCTOR_DEFAULT_OLDER_THAN_DAYS;
|
|
513
|
-
|
|
606
|
+
// T13654: --apply and --repair together are refused, not merged. Planning
|
|
607
|
+
// skips the archive/clear/docVersion/provenance/wikilinks repairs under
|
|
608
|
+
// --repair, so executing them anyway (the old `apply` guard) produced
|
|
609
|
+
// UNREPORTED mutations — repairs the plan never listed. The two modes have
|
|
610
|
+
// disjoint repair sets; run them as separate invocations.
|
|
611
|
+
if (apply && repair) {
|
|
612
|
+
return {
|
|
613
|
+
ok: false,
|
|
614
|
+
error: {
|
|
615
|
+
// @sync-invariant none:input-shape a flag-combination refusal before any repair write; nothing was written
|
|
616
|
+
code: 'E_DOCS_DOCTOR_FLAG_CONFLICT',
|
|
617
|
+
message: 'docs doctor: --apply and --repair cannot be combined — --repair runs ONLY the ' +
|
|
618
|
+
'legacy-blob backfill. Run `cleo docs doctor --repair` for the backfill, or ' +
|
|
619
|
+
'`cleo docs doctor --apply` for the full repair set, separately.',
|
|
620
|
+
},
|
|
621
|
+
};
|
|
622
|
+
}
|
|
623
|
+
if (mutate) {
|
|
514
624
|
const refusal = checkBackupReceipt(opts.backupReceiptPath);
|
|
515
625
|
if (refusal)
|
|
516
626
|
return { ok: false, error: refusal };
|
|
@@ -518,115 +628,163 @@ export async function runDocsDoctor(projectRoot, opts = {}) {
|
|
|
518
628
|
const db = await getDb(projectRoot);
|
|
519
629
|
const pre = await scanStore(projectRoot, db, olderThanDays);
|
|
520
630
|
const repairs = [];
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
631
|
+
// T13653: in repair mode ONLY the blob backfill runs — apply mode plans it
|
|
632
|
+
// alongside the other repairs.
|
|
633
|
+
if (!repair) {
|
|
634
|
+
for (const { row, path } of pre.dangling.archivable) {
|
|
635
|
+
repairs.push({
|
|
636
|
+
kind: 'dangling-pointers',
|
|
637
|
+
action: 'archive-dangling',
|
|
638
|
+
applied: apply,
|
|
639
|
+
attachmentId: row.id,
|
|
640
|
+
...(row.slug !== null ? { slug: row.slug } : {}),
|
|
641
|
+
detail: `marked-dangling: local-file target missing (${path}) → lifecycle_status = 'archived'`,
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
for (const { row, path } of pre.dangling.clearable) {
|
|
645
|
+
repairs.push({
|
|
646
|
+
kind: 'dangling-pointers',
|
|
647
|
+
action: 'clear-stale-path',
|
|
648
|
+
applied: apply,
|
|
649
|
+
attachmentId: row.id,
|
|
650
|
+
...(row.slug !== null ? { slug: row.slug } : {}),
|
|
651
|
+
detail: `cleared stale legacy path (${path}) — content alive in the blob store ` +
|
|
652
|
+
`(sha256 ${row.sha256.slice(0, 12)}…)`,
|
|
653
|
+
});
|
|
654
|
+
}
|
|
655
|
+
for (const { row, expected } of pre.skewed) {
|
|
656
|
+
repairs.push({
|
|
657
|
+
kind: 'doc-version-skew',
|
|
658
|
+
action: 'set-doc-version',
|
|
659
|
+
applied: apply,
|
|
660
|
+
attachmentId: row.id,
|
|
661
|
+
...(row.slug !== null ? { slug: row.slug } : {}),
|
|
662
|
+
detail: `audit-note: docVersion ${row.docVersion} → ${expected} (audit log revisions + 1)`,
|
|
663
|
+
});
|
|
664
|
+
}
|
|
665
|
+
for (const { row, derived } of pre.backfillable) {
|
|
666
|
+
const derivedCount = derived.topics.length + derived.relatedTasks.length;
|
|
667
|
+
repairs.push({
|
|
668
|
+
kind: 'empty-provenance',
|
|
669
|
+
action: 'backfill-provenance',
|
|
670
|
+
applied: apply && derivedCount > 0,
|
|
671
|
+
attachmentId: row.id,
|
|
672
|
+
...(row.slug !== null ? { slug: row.slug } : {}),
|
|
673
|
+
detail: derivedCount > 0
|
|
674
|
+
? `derived topics=[${derived.topics.join(',')}] related_tasks=[${derived.relatedTasks.join(',')}]`
|
|
675
|
+
: 'no derivable topics or task mentions — columns stay NULL',
|
|
676
|
+
});
|
|
677
|
+
}
|
|
678
|
+
if (pre.needsWikilinksRebuild) {
|
|
679
|
+
repairs.push({
|
|
680
|
+
kind: 'wikilinks-drift',
|
|
681
|
+
action: 'rebuild-wikilinks',
|
|
682
|
+
applied: apply,
|
|
683
|
+
detail: pre.missingEdges.length > 0
|
|
684
|
+
? `${pre.missingEdges.length} expected edge(s) absent from docs_wikilinks → full re-derivation`
|
|
685
|
+
: 'provenance backfill changes derived edges → full re-derivation',
|
|
686
|
+
});
|
|
687
|
+
}
|
|
564
688
|
}
|
|
565
|
-
|
|
689
|
+
for (const candidate of pre.blobBackfillable) {
|
|
566
690
|
repairs.push({
|
|
567
|
-
kind: '
|
|
568
|
-
action: '
|
|
569
|
-
applied:
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
691
|
+
kind: 'legacy-blob-coverage',
|
|
692
|
+
action: 'backfill-blob-bytes',
|
|
693
|
+
applied: mutate && candidate.sourcePath !== null,
|
|
694
|
+
...(candidate.slug !== null ? { slug: candidate.slug } : {}),
|
|
695
|
+
detail: candidate.sourcePath !== null
|
|
696
|
+
? `mirror hash-verified legacy bytes (${candidate.sourcePath}) → blob store ` +
|
|
697
|
+
`(sha256 ${candidate.sha256.slice(0, 12)}…)`
|
|
698
|
+
: `no legacy bytes found for sha256 ${candidate.sha256.slice(0, 12)}… — ` +
|
|
699
|
+
'cannot backfill; the doc stays unreadable until its bytes are restored',
|
|
573
700
|
});
|
|
574
701
|
}
|
|
575
702
|
// ── Apply repairs (backup gate already passed) ─────────────────────────────
|
|
576
|
-
if (
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
for (const
|
|
585
|
-
if (
|
|
703
|
+
if (mutate) {
|
|
704
|
+
const cleoDir = resolveCleoDir(projectRoot);
|
|
705
|
+
// Backfill repair entries were appended in pre.blobBackfillable order —
|
|
706
|
+
// zip by index so each outcome annotates its own entry.
|
|
707
|
+
const backfillRepairIdx = repairs
|
|
708
|
+
.map((r, i) => ({ r, i }))
|
|
709
|
+
.filter(({ r }) => r.kind === 'legacy-blob-coverage' && r.action === 'backfill-blob-bytes')
|
|
710
|
+
.map(({ i }) => i);
|
|
711
|
+
for (const [n, candidate] of pre.blobBackfillable.entries()) {
|
|
712
|
+
if (candidate.sourcePath === null)
|
|
586
713
|
continue;
|
|
587
|
-
await
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
}
|
|
603
|
-
for (const { row, payload } of pre.dangling.clearable) {
|
|
604
|
-
const cleaned = { ...payload };
|
|
605
|
-
delete cleaned['path'];
|
|
606
|
-
await db
|
|
607
|
-
.update(docsAttachments)
|
|
608
|
-
.set({ attachmentJson: JSON.stringify(cleaned) })
|
|
609
|
-
.where(eq(docsAttachments.id, row.id))
|
|
610
|
-
.run();
|
|
714
|
+
const outcome = await backfillBlobStoreBytes(cleoDir, candidate.sha256, candidate.sourcePath);
|
|
715
|
+
if (outcome === 'written' || outcome === 'present')
|
|
716
|
+
continue;
|
|
717
|
+
const idx = backfillRepairIdx[n];
|
|
718
|
+
const original = idx === undefined ? undefined : repairs[idx];
|
|
719
|
+
if (original !== undefined && idx !== undefined) {
|
|
720
|
+
repairs[idx] = {
|
|
721
|
+
...original,
|
|
722
|
+
detail: outcome === 'unverified'
|
|
723
|
+
? `SKIPPED — legacy bytes at ${candidate.sourcePath} fail SHA-256 ` +
|
|
724
|
+
`verification against the recorded hash ${candidate.sha256.slice(0, 12)}…; ` +
|
|
725
|
+
'nothing written (unverified bytes would poison the content-addressed store)'
|
|
726
|
+
: `SKIPPED — could not read legacy bytes at ${candidate.sourcePath}`,
|
|
727
|
+
};
|
|
728
|
+
}
|
|
611
729
|
}
|
|
612
|
-
if (
|
|
613
|
-
|
|
730
|
+
if (apply) {
|
|
731
|
+
for (const { row, expected } of pre.skewed) {
|
|
732
|
+
await db
|
|
733
|
+
.update(docsAttachments)
|
|
734
|
+
.set({ docVersion: expected })
|
|
735
|
+
.where(eq(docsAttachments.id, row.id))
|
|
736
|
+
.run();
|
|
737
|
+
}
|
|
738
|
+
for (const { row, derived } of pre.backfillable) {
|
|
739
|
+
if (derived.topics.length + derived.relatedTasks.length === 0)
|
|
740
|
+
continue;
|
|
741
|
+
await db
|
|
742
|
+
.update(docsAttachments)
|
|
743
|
+
.set({
|
|
744
|
+
topics: linksJsonOrNull(derived.topics),
|
|
745
|
+
relatedTasks: linksJsonOrNull(derived.relatedTasks),
|
|
746
|
+
})
|
|
747
|
+
.where(eq(docsAttachments.id, row.id))
|
|
748
|
+
.run();
|
|
749
|
+
}
|
|
750
|
+
for (const { row } of pre.dangling.archivable) {
|
|
751
|
+
await db
|
|
752
|
+
.update(docsAttachments)
|
|
753
|
+
.set({ lifecycleStatus: 'archived' })
|
|
754
|
+
.where(eq(docsAttachments.id, row.id))
|
|
755
|
+
.run();
|
|
756
|
+
}
|
|
757
|
+
for (const { row, payload } of pre.dangling.clearable) {
|
|
758
|
+
const cleaned = { ...payload };
|
|
759
|
+
delete cleaned['path'];
|
|
760
|
+
await db
|
|
761
|
+
.update(docsAttachments)
|
|
762
|
+
.set({ attachmentJson: JSON.stringify(cleaned) })
|
|
763
|
+
.where(eq(docsAttachments.id, row.id))
|
|
764
|
+
.run();
|
|
765
|
+
}
|
|
766
|
+
if (pre.needsWikilinksRebuild) {
|
|
767
|
+
await rebuildDocsWikilinks({ projectRoot });
|
|
768
|
+
}
|
|
614
769
|
}
|
|
615
770
|
}
|
|
616
|
-
// T13560: on
|
|
617
|
-
// computed from them) describe POST-repair state, consistent with
|
|
618
|
-
// follow-up dry run. Dry runs keep the pre-repair scan.
|
|
619
|
-
const post =
|
|
771
|
+
// T13560: on a mutating run, re-scan so the envelope's diagnostics (and the
|
|
772
|
+
// summary computed from them) describe POST-repair state, consistent with
|
|
773
|
+
// a follow-up dry run. Dry runs keep the pre-repair scan.
|
|
774
|
+
const post = mutate ? await scanStore(projectRoot, db, olderThanDays) : pre;
|
|
620
775
|
const findings = post.diagnostics.reduce((sum, d) => sum + d.count, 0);
|
|
621
|
-
const summary =
|
|
622
|
-
? `docs doctor
|
|
623
|
-
|
|
776
|
+
const summary = repair
|
|
777
|
+
? `docs doctor repaired ${repairs.filter((r) => r.applied).length} blob backfill(s); ` +
|
|
778
|
+
`${post.diagnostics.find((d) => d.kind === 'legacy-blob-coverage')?.count ?? 0} sha(s) still missing post-repair`
|
|
779
|
+
: apply
|
|
780
|
+
? `docs doctor applied ${repairs.filter((r) => r.applied).length} repair(s); ${findings} finding(s) remain post-repair`
|
|
781
|
+
: `docs doctor found ${findings} finding(s); ${repairs.length} repair(s) planned (dry-run — pass --apply to execute)`;
|
|
624
782
|
return {
|
|
625
783
|
ok: true,
|
|
626
784
|
report: {
|
|
627
|
-
applied:
|
|
785
|
+
applied: mutate,
|
|
628
786
|
olderThanDays,
|
|
629
|
-
backupReceiptPath:
|
|
787
|
+
backupReceiptPath: mutate ? (opts.backupReceiptPath ?? null) : null,
|
|
630
788
|
diagnostics: post.diagnostics,
|
|
631
789
|
repairs,
|
|
632
790
|
summary,
|
package/dist/docs/doctor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/docs/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAEL,cAAc,EACd,mBAAmB,EACnB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAqB,MAAM,gBAAgB,CAAC;AAE9F;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAkJ/C;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5E,OAAO,MAAiC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,WAAW,CAAC,OAAgC;IACnD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,YAAY;QAAE,OAAO,IAAI,CAAC;IAClD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACvB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;YACtE,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAeD;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAgC;IACtD,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AAChC,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,GAAc,EACd,OAAgC,EAChC,WAAmB;IAEnB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAChF,OAAO,iBAAiB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAc;IAClE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC;IACrE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,aAAa,GAAG,oBAAoB,EAAE,CAAC;IAC7C,IAAI,OAAO,KAAK,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QAC9E,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;QAAE,OAAO,UAAU,CAAC;IAC9E,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,GAAG,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9F,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,WAAmB;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,KAAgB,CAAC;QACrB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,EAAE,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,WAA+B;IAE/B,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,uGAAuG;YACvG,IAAI,EAAE,+BAA+B;YACrC,OAAO,EACL,wEAAwE;gBACxE,GAAG,6BAA6B,GAAG,KAAK,2CAA2C;gBACnF,mCAAmC;SACtC,CAAC;IACJ,CAAC;IACD,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,uGAAuG;YACvG,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,6BAA6B,WAAW,EAAE;SACpD,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,6BAA6B,EAAE,CAAC;QACzD,OAAO;YACL,uGAAuG;YACvG,IAAI,EAAE,4BAA4B;YAClC,OAAO,EACL,gCAAgC,6BAA6B,GAAG,KAAK,YAAY;gBACjF,GAAG,WAAW,wEAAwE;SACzF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,eAAe,CAC5B,GAAc,EACd,OAAuC,EACvC,WAAmB;IAEnB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IACD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IACnF,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAmDD;;;;;;;;GAQG;AACH,KAAK,UAAU,SAAS,CACtB,WAAmB,EACnB,EAAqC,EACrC,aAAqB;IAErB,MAAM,IAAI,GAAyB,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,EAAE,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0C,CAAC;IACtE,KAAK,MAAM,GAAG,IAAI,IAAI;QAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IAEzF,8EAA8E;IAC9E,MAAM,aAAa,GAA8B,EAAE,CAAC;IACpD,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,UAAU,GAA4C,EAAE,CAAC;IAC/D,MAAM,SAAS,GAA8E,EAAE,CAAC;IAChG,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,0EAA0E;QAC1E,4CAA4C;QAC5C,IAAI,GAAG,CAAC,eAAe,KAAK,UAAU;YAAE,SAAS;QACjD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,SAAS,IAAI,YAAY,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7F,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,MAAM,IAAI,SAAS,KAAK,IAAI;YAAE,SAAS;QAC3C,aAAa,IAAI,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;QAC9D,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,0EAA0E;YAC1E,+DAA+D;YAC/D,IAAI,GAAG,CAAC,eAAe,KAAK,YAAY;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpF,CAAC;aAAM,IACL,YAAY;YACZ,CAAC,MAAM;YACP,OAAO,KAAK,IAAI;YAChB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,EAC9C,CAAC;YACD,sEAAsE;YACtE,oEAAoE;YACpE,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;YACxD,aAAa,CAAC,IAAI,CAAC;gBACjB,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,OAAO;gBACb,MAAM;gBACN,MAAM;gBACN,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,cAAc,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,MAAM,GAAgD,EAAE,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QAChC,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,GAAG,CAAC,UAAU,IAAI,QAAQ;YAAE,SAAS;QACzC,SAAS,IAAI,CAAC,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/B,IAAI,SAAS,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC;gBACb,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,SAAS,GAA8B,EAAE,CAAC;IAChD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,YAAY,GAAwB,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,SAAS;QAChC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,SAAS;QACnF,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS;QAC/B,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;YAC7D,CAAC,CAAC,SAAS,CAAC;QACd,SAAS,IAAI,CAAC,CAAC;QACf,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACtF,IAAI,SAAS,CAAC,MAAM,GAAG,4BAA4B,EAAE,CAAC;YACpD,SAAS,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CACvC,IAAI;SACD,MAAM,CAAC,CAAC,CAAC,EAAqC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,cAAc,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC1E,gBAAgB,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAChF,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM;KACjB,CAAC,CAAC,CACN,CAAC;IACF,MAAM,aAAa,GAAG,MAAM,EAAE;SAC3B,MAAM,CAAC;QACN,QAAQ,EAAE,aAAa,CAAC,QAAQ;QAChC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,QAAQ,EAAE,aAAa,CAAC,QAAQ;KACjC,CAAC;SACD,IAAI,CAAC,aAAa,CAAC;SACnB,GAAG,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClG,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CACpE,CAAC;IACF,MAAM,UAAU,GAAG,YAAY;SAC5B,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAElF,2EAA2E;IAC3E,2EAA2E;IAC3E,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,YAAY,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CACnE,CAAC;IAEF,8EAA8E;IAC9E,MAAM,gBAAgB,GAAG;QACvB;YACE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC;YAC3D,IAAI,EAAE,yBAAyB;SAChC;QACD;YACE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,wBAAwB,CAAC;YAC1D,IAAI,EAAE,gEAAgE;SACvE;QACD;YACE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC;YACzD,IAAI,EAAE,sBAAsB;SAC7B;KACF,CAAC;IACF,MAAM,WAAW,GAAG,gBAAgB;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEhD,8EAA8E;IAC9E,yDAAyD;IACzD,uEAAuE;IACvE,sEAAsE;IACtE,0EAA0E;IAC1E,iBAAiB;IACjB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACpF,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;IACD,MAAM,eAAe,GAAmD,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAChD,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,EAAE,IAAI,KAAK,YAAY;YAAE,SAAS;QACzE,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QAC3C,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7B,qEAAqE;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,iEAAiE;QACjE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAC1F,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAChF,gBAAgB,CAAC,IAAI,CAAC;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,UAAU,EAAE,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC;aAC/D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,eAAe;SAClC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,8EAA8E;IAC9E,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,OAAO,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CACnF,CAAC;IACF,MAAM,UAAU,GAAG,SAAS;SACzB,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC;SACtC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAE9E,MAAM,WAAW,GAA2B;QAC1C;YACE,IAAI,EAAE,mBAAmB;YACzB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,aAAa,GAAG,aAAa,CAAC,MAAM;SAChD;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM;SACxC;QACD;YACE,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM;SACxC;QACD;YACE,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,YAAY,CAAC,MAAM;YAC1B,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;SACnD;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,WAAW,CAAC,MAAM;YACzB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,KAAK;SACjB;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YACvD,KAAK,EAAE,eAAe,CAAC,MAAM;YAC7B,KAAK,EAAE,aAAa;YACpB,SAAS,EAAE,eAAe,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM;SACzD;QACD;YACE,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM;SAChD;KACF,CAAC;IAEF,OAAO;QACL,WAAW;QACX,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;QACnC,MAAM;QACN,YAAY;QACZ,gBAAgB;QAChB,YAAY;QACZ,qBAAqB,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,oBAAoB;KACvE,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qIAAqI;AACrI,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,OAA0B,EAAE;IAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,CAAC;IAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,mCAAmC,CAAC;IAEhF,0EAA0E;IAC1E,wEAAwE;IACxE,sEAAsE;IACtE,2EAA2E;IAC3E,0DAA0D;IAC1D,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;QACpB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,2GAA2G;gBAC3G,IAAI,EAAE,6BAA6B;gBACnC,OAAO,EACL,gFAAgF;oBAChF,6EAA6E;oBAC7E,iEAAiE;aACpE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3D,IAAI,OAAO;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IAE5D,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,2EAA2E;IAC3E,+BAA+B;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,kBAAkB;gBAC1B,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,+CAA+C,IAAI,mCAAmC;aAC/F,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YACnD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE,kBAAkB;gBAC1B,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,EACJ,8BAA8B,IAAI,sCAAsC;oBACxE,WAAW,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;aACzC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,iBAAiB;gBACzB,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,EAAE,0BAA0B,GAAG,CAAC,UAAU,MAAM,QAAQ,4BAA4B;aAC3F,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,qBAAqB;gBAC7B,OAAO,EAAE,KAAK,IAAI,YAAY,GAAG,CAAC;gBAClC,YAAY,EAAE,GAAG,CAAC,EAAE;gBACpB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,MAAM,EACJ,YAAY,GAAG,CAAC;oBACd,CAAC,CAAC,mBAAmB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;oBAClG,CAAC,CAAC,0DAA0D;aACjE,CAAC,CAAC;QACL,CAAC;QACD,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,KAAK;gBACd,MAAM,EACJ,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;oBACzB,CAAC,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,mEAAmE;oBAC/F,CAAC,CAAC,gEAAgE;aACvE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI;YAChD,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,MAAM,EACJ,SAAS,CAAC,UAAU,KAAK,IAAI;gBAC3B,CAAC,CAAC,sCAAsC,SAAS,CAAC,UAAU,iBAAiB;oBAC3E,WAAW,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI;gBAC9C,CAAC,CAAC,oCAAoC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM;oBACvE,wEAAwE;SAC/E,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,OAAO,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAC5C,wEAAwE;QACxE,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,OAAO;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACzB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,IAAI,CAAC,CAAC,MAAM,KAAK,qBAAqB,CAAC;aAC1F,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,SAAS,CAAC,UAAU,KAAK,IAAI;gBAAE,SAAS;YAC5C,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;YAC9F,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAC7D,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,GAAG;oBACb,GAAG,QAAQ;oBACX,MAAM,EACJ,OAAO,KAAK,YAAY;wBACtB,CAAC,CAAC,6BAA6B,SAAS,CAAC,UAAU,gBAAgB;4BACjE,0CAA0C,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;4BAC5E,6EAA6E;wBAC/E,CAAC,CAAC,4CAA4C,SAAS,CAAC,UAAU,EAAE;iBACzE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM,EAAE;qBACL,MAAM,CAAC,eAAe,CAAC;qBACvB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;qBAC7B,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACrC,GAAG,EAAE,CAAC;YACX,CAAC;YACD,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBAChD,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBACxE,MAAM,EAAE;qBACL,MAAM,CAAC,eAAe,CAAC;qBACvB,GAAG,CAAC;oBACH,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;oBACvC,YAAY,EAAE,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC;iBACpD,CAAC;qBACD,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACrC,GAAG,EAAE,CAAC;YACX,CAAC;YACD,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC9C,MAAM,EAAE;qBACL,MAAM,CAAC,eAAe,CAAC;qBACvB,GAAG,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;qBACpC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACrC,GAAG,EAAE,CAAC;YACX,CAAC;YACD,KAAK,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACtD,MAAM,OAAO,GAA4B,EAAE,GAAG,OAAO,EAAE,CAAC;gBACxD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvB,MAAM,EAAE;qBACL,MAAM,CAAC,eAAe,CAAC;qBACvB,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;qBAChD,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;qBACrC,GAAG,EAAE,CAAC;YACX,CAAC;YACD,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;gBAC9B,MAAM,oBAAoB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,0DAA0D;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,wBAAwB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,qBAAqB;YACpF,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB,CAAC,EAAE,KAAK,IAAI,CAAC,mCAAmC;QACnH,CAAC,CAAC,KAAK;YACL,CAAC,CAAC,uBAAuB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,eAAe,QAAQ,gCAAgC;YACvH,CAAC,CAAC,qBAAqB,QAAQ,gBAAgB,OAAO,CAAC,MAAM,wDAAwD,CAAC;IAE1H,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,OAAO,EAAE,MAAM;YACf,aAAa;YACb,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YACnE,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO;YACP,OAAO;SACR;KACF,CAAC;AACJ,CAAC"}
|