@cleocode/core 2026.9.16 → 2026.9.18

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.
Files changed (236) hide show
  1. package/dist/changesets/parser.d.ts.map +1 -1
  2. package/dist/changesets/parser.js +67 -0
  3. package/dist/changesets/parser.js.map +1 -1
  4. package/dist/crypto/credentials.d.ts +128 -26
  5. package/dist/crypto/credentials.d.ts.map +1 -1
  6. package/dist/crypto/credentials.js +183 -142
  7. package/dist/crypto/credentials.js.map +1 -1
  8. package/dist/docs/export-document.js +14705 -12949
  9. package/dist/docs/export-document.js.map +3 -3
  10. package/dist/doctor/index.d.ts +1 -1
  11. package/dist/doctor/index.d.ts.map +1 -1
  12. package/dist/doctor/index.js +1 -1
  13. package/dist/doctor/index.js.map +1 -1
  14. package/dist/doctor/nexus-schema-residency.d.ts +1 -1
  15. package/dist/doctor/nexus-schema-residency.d.ts.map +1 -1
  16. package/dist/doctor/nexus-schema-residency.js +1 -0
  17. package/dist/doctor/nexus-schema-residency.js.map +1 -1
  18. package/dist/doctor/project-identity.d.ts +124 -0
  19. package/dist/doctor/project-identity.d.ts.map +1 -0
  20. package/dist/doctor/project-identity.js +307 -0
  21. package/dist/doctor/project-identity.js.map +1 -0
  22. package/dist/doctor/superseded-store.d.ts +8 -0
  23. package/dist/doctor/superseded-store.d.ts.map +1 -1
  24. package/dist/doctor/superseded-store.js +48 -3
  25. package/dist/doctor/superseded-store.js.map +1 -1
  26. package/dist/init.d.ts +7 -0
  27. package/dist/init.d.ts.map +1 -1
  28. package/dist/init.js +17 -2
  29. package/dist/init.js.map +1 -1
  30. package/dist/internal.d.ts +6 -3
  31. package/dist/internal.d.ts.map +1 -1
  32. package/dist/internal.js +4 -2
  33. package/dist/internal.js.map +1 -1
  34. package/dist/llm/credentials-store.d.ts +10 -0
  35. package/dist/llm/credentials-store.d.ts.map +1 -1
  36. package/dist/llm/credentials-store.js +7 -1
  37. package/dist/llm/credentials-store.js.map +1 -1
  38. package/dist/llm/plugin-facade.js +13368 -1550
  39. package/dist/llm/plugin-facade.js.map +3 -3
  40. package/dist/nexus/analyze-orchestrator.d.ts +20 -3
  41. package/dist/nexus/analyze-orchestrator.d.ts.map +1 -1
  42. package/dist/nexus/analyze-orchestrator.js +210 -16
  43. package/dist/nexus/analyze-orchestrator.js.map +1 -1
  44. package/dist/nexus/assessment-store.d.ts +86 -0
  45. package/dist/nexus/assessment-store.d.ts.map +1 -0
  46. package/dist/nexus/assessment-store.js +113 -0
  47. package/dist/nexus/assessment-store.js.map +1 -0
  48. package/dist/nexus/freshness.d.ts +131 -0
  49. package/dist/nexus/freshness.d.ts.map +1 -0
  50. package/dist/nexus/freshness.js +391 -0
  51. package/dist/nexus/freshness.js.map +1 -0
  52. package/dist/nexus/graph-manifest.d.ts +88 -0
  53. package/dist/nexus/graph-manifest.d.ts.map +1 -0
  54. package/dist/nexus/graph-manifest.js +114 -0
  55. package/dist/nexus/graph-manifest.js.map +1 -0
  56. package/dist/nexus/knowledge.d.ts +21 -1
  57. package/dist/nexus/knowledge.d.ts.map +1 -1
  58. package/dist/nexus/knowledge.js +74 -37
  59. package/dist/nexus/knowledge.js.map +1 -1
  60. package/dist/nexus/path-map.d.ts +55 -0
  61. package/dist/nexus/path-map.d.ts.map +1 -0
  62. package/dist/nexus/path-map.js +87 -0
  63. package/dist/nexus/path-map.js.map +1 -0
  64. package/dist/nexus/projects-clean.d.ts +21 -28
  65. package/dist/nexus/projects-clean.d.ts.map +1 -1
  66. package/dist/nexus/projects-clean.js +168 -85
  67. package/dist/nexus/projects-clean.js.map +1 -1
  68. package/dist/nexus/query.d.ts.map +1 -1
  69. package/dist/nexus/query.js +3 -2
  70. package/dist/nexus/query.js.map +1 -1
  71. package/dist/nexus/registry-hygiene.d.ts +70 -0
  72. package/dist/nexus/registry-hygiene.d.ts.map +1 -0
  73. package/dist/nexus/registry-hygiene.js +113 -0
  74. package/dist/nexus/registry-hygiene.js.map +1 -0
  75. package/dist/nexus/registry.d.ts +2 -2
  76. package/dist/nexus/registry.d.ts.map +1 -1
  77. package/dist/nexus/registry.js +48 -12
  78. package/dist/nexus/registry.js.map +1 -1
  79. package/dist/paths.d.ts +26 -0
  80. package/dist/paths.d.ts.map +1 -1
  81. package/dist/paths.js +99 -6
  82. package/dist/paths.js.map +1 -1
  83. package/dist/release/index.d.ts +1 -1
  84. package/dist/release/index.d.ts.map +1 -1
  85. package/dist/release/index.js.map +1 -1
  86. package/dist/release/plan.d.ts +84 -2
  87. package/dist/release/plan.d.ts.map +1 -1
  88. package/dist/release/plan.js +61 -14
  89. package/dist/release/plan.js.map +1 -1
  90. package/dist/release/pr-evidence.d.ts +81 -1
  91. package/dist/release/pr-evidence.d.ts.map +1 -1
  92. package/dist/release/pr-evidence.js +149 -9
  93. package/dist/release/pr-evidence.js.map +1 -1
  94. package/dist/render/nexus/graph/index.d.ts.map +1 -1
  95. package/dist/render/nexus/graph/index.js +8 -0
  96. package/dist/render/nexus/graph/index.js.map +1 -1
  97. package/dist/scaffold/ensure-config.d.ts +12 -3
  98. package/dist/scaffold/ensure-config.d.ts.map +1 -1
  99. package/dist/scaffold/ensure-config.js +61 -38
  100. package/dist/scaffold/ensure-config.js.map +1 -1
  101. package/dist/scaffold/project-identity.d.ts +136 -0
  102. package/dist/scaffold/project-identity.d.ts.map +1 -0
  103. package/dist/scaffold/project-identity.js +225 -0
  104. package/dist/scaffold/project-identity.js.map +1 -0
  105. package/dist/selfimprove/fix-gen.js +13319 -1556
  106. package/dist/selfimprove/fix-gen.js.map +3 -3
  107. package/dist/store/agent-api-key.d.ts +114 -0
  108. package/dist/store/agent-api-key.d.ts.map +1 -0
  109. package/dist/store/agent-api-key.js +136 -0
  110. package/dist/store/agent-api-key.js.map +1 -0
  111. package/dist/store/agent-registry-accessor.d.ts +4 -2
  112. package/dist/store/agent-registry-accessor.d.ts.map +1 -1
  113. package/dist/store/agent-registry-accessor.js +39 -89
  114. package/dist/store/agent-registry-accessor.js.map +1 -1
  115. package/dist/store/api-key-kdf.d.ts +7 -0
  116. package/dist/store/api-key-kdf.d.ts.map +1 -1
  117. package/dist/store/api-key-kdf.js +7 -0
  118. package/dist/store/api-key-kdf.js.map +1 -1
  119. package/dist/store/backup-crypto.d.ts +49 -0
  120. package/dist/store/backup-crypto.d.ts.map +1 -1
  121. package/dist/store/backup-crypto.js +154 -0
  122. package/dist/store/backup-crypto.js.map +1 -1
  123. package/dist/store/credential-transfer.d.ts +303 -0
  124. package/dist/store/credential-transfer.d.ts.map +1 -0
  125. package/dist/store/credential-transfer.js +774 -0
  126. package/dist/store/credential-transfer.js.map +1 -0
  127. package/dist/store/exodus/column-transforms.d.ts +79 -4
  128. package/dist/store/exodus/column-transforms.d.ts.map +1 -1
  129. package/dist/store/exodus/column-transforms.js +121 -4
  130. package/dist/store/exodus/column-transforms.js.map +1 -1
  131. package/dist/store/exodus/index.d.ts +1 -0
  132. package/dist/store/exodus/index.d.ts.map +1 -1
  133. package/dist/store/exodus/index.js +1 -0
  134. package/dist/store/exodus/index.js.map +1 -1
  135. package/dist/store/exodus/migrate.d.ts +17 -1
  136. package/dist/store/exodus/migrate.d.ts.map +1 -1
  137. package/dist/store/exodus/migrate.js +155 -33
  138. package/dist/store/exodus/migrate.js.map +1 -1
  139. package/dist/store/exodus/on-open.d.ts +14 -0
  140. package/dist/store/exodus/on-open.d.ts.map +1 -1
  141. package/dist/store/exodus/on-open.js +115 -6
  142. package/dist/store/exodus/on-open.js.map +1 -1
  143. package/dist/store/exodus/reconcile.d.ts +103 -0
  144. package/dist/store/exodus/reconcile.d.ts.map +1 -0
  145. package/dist/store/exodus/reconcile.js +728 -0
  146. package/dist/store/exodus/reconcile.js.map +1 -0
  147. package/dist/store/exodus/recovery.d.ts.map +1 -1
  148. package/dist/store/exodus/recovery.js +14 -2
  149. package/dist/store/exodus/recovery.js.map +1 -1
  150. package/dist/store/exodus/runtime-targets.d.ts +39 -0
  151. package/dist/store/exodus/runtime-targets.d.ts.map +1 -0
  152. package/dist/store/exodus/runtime-targets.js +63 -0
  153. package/dist/store/exodus/runtime-targets.js.map +1 -0
  154. package/dist/store/exodus/table-name-map.d.ts.map +1 -1
  155. package/dist/store/exodus/table-name-map.js +5 -0
  156. package/dist/store/exodus/table-name-map.js.map +1 -1
  157. package/dist/store/exodus/table-order.d.ts +35 -0
  158. package/dist/store/exodus/table-order.d.ts.map +1 -0
  159. package/dist/store/exodus/table-order.js +62 -0
  160. package/dist/store/exodus/table-order.js.map +1 -0
  161. package/dist/store/exodus/verify-migration.d.ts +4 -1
  162. package/dist/store/exodus/verify-migration.d.ts.map +1 -1
  163. package/dist/store/exodus/verify-migration.js +142 -10
  164. package/dist/store/exodus/verify-migration.js.map +1 -1
  165. package/dist/store/global-salt.d.ts +16 -0
  166. package/dist/store/global-salt.d.ts.map +1 -1
  167. package/dist/store/global-salt.js +22 -7
  168. package/dist/store/global-salt.js.map +1 -1
  169. package/dist/store/legacy-tasks-lineage.d.ts +86 -0
  170. package/dist/store/legacy-tasks-lineage.d.ts.map +1 -0
  171. package/dist/store/legacy-tasks-lineage.js +285 -0
  172. package/dist/store/legacy-tasks-lineage.js.map +1 -0
  173. package/dist/store/migration-manager.d.ts +27 -0
  174. package/dist/store/migration-manager.d.ts.map +1 -1
  175. package/dist/store/migration-manager.js +63 -0
  176. package/dist/store/migration-manager.js.map +1 -1
  177. package/dist/store/portable-bundle-import.d.ts +117 -0
  178. package/dist/store/portable-bundle-import.d.ts.map +1 -0
  179. package/dist/store/portable-bundle-import.js +589 -0
  180. package/dist/store/portable-bundle-import.js.map +1 -0
  181. package/dist/store/portable-bundle-relocate.d.ts +66 -0
  182. package/dist/store/portable-bundle-relocate.d.ts.map +1 -0
  183. package/dist/store/portable-bundle-relocate.js +304 -0
  184. package/dist/store/portable-bundle-relocate.js.map +1 -0
  185. package/dist/store/portable-bundle-scan.d.ts +167 -0
  186. package/dist/store/portable-bundle-scan.d.ts.map +1 -0
  187. package/dist/store/portable-bundle-scan.js +569 -0
  188. package/dist/store/portable-bundle-scan.js.map +1 -0
  189. package/dist/store/portable-bundle.d.ts +146 -0
  190. package/dist/store/portable-bundle.d.ts.map +1 -0
  191. package/dist/store/portable-bundle.js +674 -0
  192. package/dist/store/portable-bundle.js.map +1 -0
  193. package/dist/store/regenerators.d.ts +3 -1
  194. package/dist/store/regenerators.d.ts.map +1 -1
  195. package/dist/store/regenerators.js +6 -2
  196. package/dist/store/regenerators.js.map +1 -1
  197. package/dist/store/schema/cleo-global/nexus.d.ts +98 -0
  198. package/dist/store/schema/cleo-global/nexus.d.ts.map +1 -1
  199. package/dist/store/schema/cleo-global/nexus.js +19 -0
  200. package/dist/store/schema/cleo-global/nexus.js.map +1 -1
  201. package/dist/store/schema/nexus-schema.d.ts +102 -0
  202. package/dist/store/schema/nexus-schema.d.ts.map +1 -1
  203. package/dist/store/schema/nexus-schema.js +24 -0
  204. package/dist/store/schema/nexus-schema.js.map +1 -1
  205. package/dist/store/split-brain-import.d.ts +176 -0
  206. package/dist/store/split-brain-import.d.ts.map +1 -0
  207. package/dist/store/split-brain-import.js +680 -0
  208. package/dist/store/split-brain-import.js.map +1 -0
  209. package/dist/store/sqlite.d.ts +29 -0
  210. package/dist/store/sqlite.d.ts.map +1 -1
  211. package/dist/store/sqlite.js +57 -5
  212. package/dist/store/sqlite.js.map +1 -1
  213. package/dist/system/health.d.ts.map +1 -1
  214. package/dist/system/health.js +30 -5
  215. package/dist/system/health.js.map +1 -1
  216. package/dist/tasks/complete.d.ts.map +1 -1
  217. package/dist/tasks/complete.js +5 -27
  218. package/dist/tasks/complete.js.map +1 -1
  219. package/dist/tasks/evidence.js +1 -1
  220. package/dist/tasks/evidence.js.map +1 -1
  221. package/dist/tasks/verification-policy.d.ts +55 -0
  222. package/dist/tasks/verification-policy.d.ts.map +1 -0
  223. package/dist/tasks/verification-policy.js +75 -0
  224. package/dist/tasks/verification-policy.js.map +1 -0
  225. package/dist/upgrade.d.ts.map +1 -1
  226. package/dist/upgrade.js +60 -0
  227. package/dist/upgrade.js.map +1 -1
  228. package/dist/validation/doctor/checks.d.ts +14 -0
  229. package/dist/validation/doctor/checks.d.ts.map +1 -1
  230. package/dist/validation/doctor/checks.js +33 -0
  231. package/dist/validation/doctor/checks.js.map +1 -1
  232. package/migrations/drizzle-cleo-global/20260924000000_t12354-project-paths/migration.sql +40 -0
  233. package/migrations/drizzle-nexus/20260924000000_t12315-nexus-parse-cache/migration.sql +21 -0
  234. package/package.json +13 -13
  235. package/templates/CLEO-INJECTION.md +3 -3
  236. package/templates/cleo-gitignore +7 -0
@@ -0,0 +1,146 @@
1
+ /**
2
+ * portable-bundle.ts — export side of the lossless machine-migration bundle
3
+ * (manifest v2).
4
+ *
5
+ * Replaces the v1 pack path for `cleo backup export`. v1 snapshotted a fixed
6
+ * list of pre-E6 filenames (`tasks.db`, `brain.db`, `nexus.db`, …); after the
7
+ * E6 cutover (ADR-068) the live stores are the consolidated `cleo.db` files,
8
+ * so v1 exported nothing of value and still reported success. v2:
9
+ *
10
+ * - snapshots the live primary store of every in-scope root with
11
+ * `VACUUM INTO` (read-only, consistent under WAL) and fails when a primary
12
+ * store is missing or unreadable;
13
+ * - captures the rest of the root byte-for-byte, except an explicit denylist
14
+ * whose sizes are reported, and SQLite files, which are also snapshotted;
15
+ * - includes secrets only in encrypted bundles, recording what was omitted
16
+ * and what the user must redo (each credential with its re-entry command);
17
+ * - never carries the machine-key: encrypted bundles instead carry the
18
+ * credential VALUES sealed under the passphrase (`secrets/<section>.sealed`,
19
+ * T12326), which the importing device re-encrypts under its own key;
20
+ * - records per-table row counts so import can prove the restore lossless.
21
+ *
22
+ * Archive layout:
23
+ * manifest.json FIRST entry
24
+ * checksums.sha256 GNU sha256sum format over every other file
25
+ * global/home/<rel> <cleoHome> content
26
+ * global/config/<rel> <configHome> content
27
+ * projects/<nnn>-<name>/cleo/<rel> a project's .cleo/ content
28
+ * secrets/<section>.sealed passphrase-sealed credentials (encrypted only)
29
+ *
30
+ * @task T12318
31
+ * @epic T12317
32
+ * @module store/portable-bundle
33
+ */
34
+ import { type PortableBundleManifest, type PortableBundleScope, type PortableDatabaseEntry, type PortableExportResult, type PortableImportResult, type PortableSectionBase, type PortableSkippedProject, type PortableUnmigratedLegacyReport } from '@cleocode/contracts';
35
+ /** Symbolic error codes raised by the portable bundle export/import. */
36
+ export type PortableBundleErrorCode = 'E_PRIMARY_STORE_MISSING' | 'E_PRIMARY_STORE_UNREADABLE' | 'E_NO_PROJECT' | 'E_REGISTRY_UNREADABLE' | 'E_PASSPHRASE_REQUIRED' | 'E_BUNDLE_DECRYPT' | 'E_BUNDLE_FORMAT' | 'E_BUNDLE_INTEGRITY' | 'E_DATA_EXISTS' | 'E_TARGET_AMBIGUOUS' | 'E_RESTORE_MISMATCH' | 'E_REDACTION_FAILED';
37
+ /**
38
+ * Numeric exit codes for {@link PortableBundleErrorCode}. Decrypt / format /
39
+ * integrity / data-exists keep the v1 bundle codes (ADR-038 §4.3) so scripts
40
+ * written against v1 keep working; the rest reuse the shared `ExitCode` enum.
41
+ */
42
+ export declare const PORTABLE_BUNDLE_EXIT_CODES: Readonly<Record<PortableBundleErrorCode, number>>;
43
+ /**
44
+ * Error raised by the portable bundle export/import. Carries a symbolic code
45
+ * and an exit code so the CLI can emit a LAFS error envelope.
46
+ */
47
+ export declare class PortableBundleError extends Error {
48
+ readonly code: PortableBundleErrorCode;
49
+ readonly details?: PortableImportResult | undefined;
50
+ /** Numeric process exit code. */
51
+ readonly exitCode: number;
52
+ /**
53
+ * @param code - Symbolic error code.
54
+ * @param message - Human-readable description.
55
+ * @param details - Structured context (e.g. the full import report on a mismatch).
56
+ */
57
+ constructor(code: PortableBundleErrorCode, message: string, details?: PortableImportResult | undefined);
58
+ }
59
+ /** Input for {@link exportPortableBundle}. */
60
+ export interface ExportPortableBundleInput {
61
+ /** Export scope. */
62
+ scope: PortableBundleScope;
63
+ /** Project root (required for `project` / `all`). */
64
+ projectRoot?: string;
65
+ /** Output bundle path. */
66
+ outputPath: string;
67
+ /** Advisory label recorded in the manifest. */
68
+ label: string;
69
+ /** Encrypt the bundle (and include secrets). */
70
+ encrypt?: boolean;
71
+ /** Passphrase, required when `encrypt` is true. */
72
+ passphrase?: string;
73
+ /** Global CLEO home (defaults to `getCleoHome()`). */
74
+ cleoHome?: string;
75
+ /** Config home (defaults to `getCleoConfigDir()`). */
76
+ configHome?: string;
77
+ /** Machine scope: predicate for temp/fixture paths (defaults to {@link isTempProjectPath}). */
78
+ isTempPath?: (absPath: string) => boolean;
79
+ }
80
+ /** A registered project row read from the global registry snapshot. */
81
+ interface RegistryRow {
82
+ projectId: string;
83
+ path: string;
84
+ }
85
+ /**
86
+ * True when a path is a temp or test-fixture directory that must never be
87
+ * exported as a project (the registry accumulates these from test runs).
88
+ *
89
+ * @param absPath - Resolved project path.
90
+ * @returns Whether the path is temp/fixture material.
91
+ */
92
+ export declare function isTempProjectPath(absPath: string): boolean;
93
+ /**
94
+ * Choose which registered projects `machine` scope exports.
95
+ *
96
+ * @param rows - Registry rows.
97
+ * @param cleoHome - Global home (a project whose `.cleo/` IS the home is skipped).
98
+ * @param isTempPath - Temp/fixture predicate.
99
+ * @returns Included project roots and skipped rows with reasons.
100
+ */
101
+ export declare function selectMachineProjects(rows: readonly RegistryRow[], cleoHome: string, isTempPath?: (absPath: string) => boolean): {
102
+ included: RegistryRow[];
103
+ skipped: PortableSkippedProject[];
104
+ };
105
+ /**
106
+ * Compare legacy per-domain tables with their consolidated counterparts.
107
+ *
108
+ * @param databases - Snapshotted databases of one root.
109
+ * @returns Report; `detected` when any legacy table holds more rows than the primary.
110
+ */
111
+ export declare function detectUnmigratedLegacy(databases: readonly PortableDatabaseEntry[]): PortableUnmigratedLegacyReport;
112
+ /**
113
+ * Compute the manifest self-hash (SHA-256 of the compact JSON with
114
+ * `integrity.manifestHash` set to "").
115
+ *
116
+ * @param manifest - Manifest to hash.
117
+ * @returns Lowercase hex digest.
118
+ */
119
+ export declare function computeManifestHash(manifest: PortableBundleManifest): string;
120
+ /**
121
+ * Export a portable (manifest v2) bundle.
122
+ *
123
+ * Reads only: every database is snapshotted over a read-only connection and
124
+ * nothing is written outside the output path's directory (staging lives
125
+ * beside the output and is removed on success or failure).
126
+ *
127
+ * @param input - Export options.
128
+ * @returns Export summary.
129
+ * @throws {PortableBundleError} When a primary store is missing/unreadable, the
130
+ * registry cannot be read (machine scope), or encryption lacks a passphrase.
131
+ *
132
+ * @example
133
+ * ```ts
134
+ * const r = await exportPortableBundle({ scope: 'project', projectRoot: '/p', outputPath: '/b/p.cleobundle.tar.gz', label: 'p' });
135
+ * ```
136
+ */
137
+ export declare function exportPortableBundle(input: ExportPortableBundleInput): Promise<PortableExportResult>;
138
+ /**
139
+ * Every section of a manifest, in archive order.
140
+ *
141
+ * @param manifest - Portable manifest.
142
+ * @returns Sections (global home, global config, projects).
143
+ */
144
+ export declare function allSections(manifest: PortableBundleManifest): PortableSectionBase[];
145
+ export {};
146
+ //# sourceMappingURL=portable-bundle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portable-bundle.d.ts","sourceRoot":"","sources":["../../src/store/portable-bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAQH,OAAO,EAIL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAEzB,KAAK,oBAAoB,EAEzB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EACpC,MAAM,qBAAqB,CAAC;AAsC7B,wEAAwE;AACxE,MAAM,MAAM,uBAAuB,GAC/B,yBAAyB,GACzB,4BAA4B,GAC5B,cAAc,GACd,uBAAuB,GACvB,uBAAuB,GACvB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,eAAe,GACf,oBAAoB,GACpB,oBAAoB,GACpB,oBAAoB,CAAC;AAEzB;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAaxF,CAAC;AAEF;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;aAU1B,IAAI,EAAE,uBAAuB;aAE7B,OAAO,CAAC,EAAE,oBAAoB;IAXhD,iCAAiC;IACjC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;;;OAIG;gBAEe,IAAI,EAAE,uBAAuB,EAC7C,OAAO,EAAE,MAAM,EACC,OAAO,CAAC,EAAE,oBAAoB,YAAA;CAMjD;AAMD,8CAA8C;AAC9C,MAAM,WAAW,yBAAyB;IACxC,oBAAoB;IACpB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAMD,uEAAuE;AACvE,UAAU,WAAW;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQ1D;AAUD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,WAAW,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,UAAU,GAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAA2B,GAC3D;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,OAAO,EAAE,sBAAsB,EAAE,CAAA;CAAE,CAwChE;AA6PD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,qBAAqB,EAAE,GAC1C,8BAA8B,CAsBhC;AA8DD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,CAM5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAqK/B;AAkDD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,EAAE,CAQnF"}