wicked-crew 0.15.8 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/api/chat-attachments.d.ts +102 -0
  2. package/dist/api/chat-attachments.d.ts.map +1 -0
  3. package/dist/api/chat-attachments.js +438 -0
  4. package/dist/api/chat-attachments.js.map +1 -0
  5. package/dist/api/chat-history.d.ts +90 -0
  6. package/dist/api/chat-history.d.ts.map +1 -0
  7. package/dist/api/chat-history.js +279 -0
  8. package/dist/api/chat-history.js.map +1 -0
  9. package/dist/api/chat-transcripts.d.ts +4 -2
  10. package/dist/api/chat-transcripts.d.ts.map +1 -1
  11. package/dist/api/chat-transcripts.js +13 -2
  12. package/dist/api/chat-transcripts.js.map +1 -1
  13. package/dist/api/roster-standing.d.ts.map +1 -1
  14. package/dist/api/roster-standing.js +8 -1
  15. package/dist/api/roster-standing.js.map +1 -1
  16. package/dist/api/routes.d.ts +39 -0
  17. package/dist/api/routes.d.ts.map +1 -1
  18. package/dist/api/routes.js +478 -36
  19. package/dist/api/routes.js.map +1 -1
  20. package/dist/api/seat-agents.d.ts +11 -3
  21. package/dist/api/seat-agents.d.ts.map +1 -1
  22. package/dist/api/seat-agents.js +2 -0
  23. package/dist/api/seat-agents.js.map +1 -1
  24. package/dist/api/seat-bench-trail.d.ts +3 -1
  25. package/dist/api/seat-bench-trail.d.ts.map +1 -1
  26. package/dist/api/seat-bench-trail.js +27 -9
  27. package/dist/api/seat-bench-trail.js.map +1 -1
  28. package/dist/api/seat-health.d.ts +56 -1
  29. package/dist/api/seat-health.d.ts.map +1 -1
  30. package/dist/api/seat-health.js +147 -19
  31. package/dist/api/seat-health.js.map +1 -1
  32. package/dist/api/seat-standing.d.ts +11 -0
  33. package/dist/api/seat-standing.d.ts.map +1 -1
  34. package/dist/api/seat-standing.js +13 -6
  35. package/dist/api/seat-standing.js.map +1 -1
  36. package/dist/api/server.d.ts.map +1 -1
  37. package/dist/api/server.js +18 -0
  38. package/dist/api/server.js.map +1 -1
  39. package/dist/api/stall-watchdog.d.ts +10 -0
  40. package/dist/api/stall-watchdog.d.ts.map +1 -1
  41. package/dist/api/stall-watchdog.js +12 -0
  42. package/dist/api/stall-watchdog.js.map +1 -1
  43. package/dist/api/system-snapshot.d.ts +382 -0
  44. package/dist/api/system-snapshot.d.ts.map +1 -0
  45. package/dist/api/system-snapshot.js +1164 -0
  46. package/dist/api/system-snapshot.js.map +1 -0
  47. package/dist/core/deliver.d.ts.map +1 -1
  48. package/dist/core/deliver.js +5 -3
  49. package/dist/core/deliver.js.map +1 -1
  50. package/dist/editors/registry.d.ts +20 -20
  51. package/dist/studio/assets/{index-Bhwz-oBW.js → index-BnnXv6Ij.js} +242 -226
  52. package/dist/studio/assets/index-Ce_RMQzq.css +32 -0
  53. package/dist/studio/editors/wicked-deck/editor.json +1 -1
  54. package/dist/studio/editors/wicked-deck/index.html +1 -1
  55. package/dist/studio/editors/wicked-doc/editor.json +1 -1
  56. package/dist/studio/editors/wicked-doc/index.html +1 -1
  57. package/dist/studio/editors/wicked-page/editor.json +1 -1
  58. package/dist/studio/editors/wicked-page/index.html +1 -1
  59. package/dist/studio/editors/wicked-video/editor.json +1 -1
  60. package/dist/studio/editors/wicked-video/index.html +1 -1
  61. package/dist/studio/index.html +2 -2
  62. package/dist/studio/testid-inventory.json +569 -88
  63. package/endpoint-manifest.json +47 -1
  64. package/package.json +3 -3
  65. package/dist/studio/assets/index-CmNUtpfw.css +0 -32
@@ -0,0 +1,382 @@
1
+ /**
2
+ * `GET /api/v1/system` — the Nerve Center snapshot (DES-SYSTEM-VIEW, api-types 0.136.0).
3
+ *
4
+ * One derived, READ-ONLY answer to "is anything stopping work, why, and what fixes it?": the CLIs
5
+ * with their 7-day record, every unfinished run with a COMPUTED liveness, the infrastructure as
6
+ * real probes, the governance instruments, and `attention[]`, the union of every item that needs a
7
+ * look. The honesty rules this module keeps:
8
+ *
9
+ * - every infra row is a probe run for THIS request under a bounded timeout. A probe that does not
10
+ * answer reads `unknown` with its timeout — never `ok`, and never a cached flag;
11
+ * - `working` needs evidence (an event on the relay or in the durable log, or a busy child process)
12
+ * inside the quiet threshold; past the stall threshold the run is `stalled`;
13
+ * - a number the daemon cannot count is `null` (or the field is absent where the wire says so);
14
+ * - the whole snapshot answers inside {@link SYSTEM_BUDGET_MS} even when a probe hangs.
15
+ *
16
+ * Everything here is a pure function of injected readers, so the tests drive each state and each
17
+ * liveness verdict from fixtures; `routes.ts` wires the daemon's real readers.
18
+ */
19
+ import type { AcpCliDiagnostics, DiagnosticsSeatGovernanceEntry, RecordedEvent, SeatHealth, SessionView, SystemAttentionItem, SystemCli, SystemCliStats, SystemGovernanceCard, SystemInfraKey, SystemInfraRow, SystemLevel, SystemRun, SystemSnapshot, SystemState } from '../core/types.js';
20
+ /** The whole snapshot answers within this, even when probes hang. */
21
+ export declare const SYSTEM_BUDGET_MS = 8000;
22
+ /** Each infra probe's own bound. */
23
+ export declare const PROBE_TIMEOUT_MS = 4000;
24
+ /** The 7-day folds are real IO over every recent run's log; they are kept this long (`asOf`). */
25
+ export declare const SYSTEM_STATS_TTL_MS = 30000;
26
+ /** The window the CLI stats and governance cards fold. */
27
+ export declare const SYSTEM_STATS_DAYS = 7;
28
+ /** Runs read for the folds at most (newest first), as `GET /roster/record` caps. */
29
+ export declare const SYSTEM_STATS_RUN_CAP = 200;
30
+ export type Settled<T> = {
31
+ kind: 'ok';
32
+ value: T;
33
+ ms: number;
34
+ } | {
35
+ kind: 'timeout';
36
+ ms: number;
37
+ } | {
38
+ kind: 'error';
39
+ error: string;
40
+ ms: number;
41
+ };
42
+ /** Run `fn` against `timeoutMs`. A hang settles as `timeout` (the work may continue; nothing waits). */
43
+ export declare function settleWithin<T>(fn: () => Promise<T>, timeoutMs: number): Promise<Settled<T>>;
44
+ export type ExecLike = (file: string, args: string[], opts: {
45
+ timeout: number;
46
+ }) => Promise<{
47
+ stdout: string;
48
+ stderr: string;
49
+ }>;
50
+ export declare function infraRow(key: SystemInfraKey, state: SystemState, reason: string, remedy: string | null, startedAt: number, details?: Record<string, unknown>, timeoutMs?: number): SystemInfraRow;
51
+ /** The engine's gateway container name: `wicked-agw-` + the first 6 bytes (hex) of the SHA-256 of the
52
+ * gateway directory, exactly `seat_gateway.rs` `gateway_name`. */
53
+ export declare function gatewayName(gatewayDir: string): string;
54
+ /** The container runtime CLI the engine would use (`container_floor.rs` `runtime_candidates`):
55
+ * `WICKED_CONTAINER_RUNTIME` (the only candidate when set), else docker / podman / nerdctl on PATH,
56
+ * else the desktop install dirs. `null` when none is found. */
57
+ export declare function resolveContainerRuntime(env?: NodeJS.ProcessEnv): string | null;
58
+ export interface GatewayProbeInput {
59
+ /** Whether the container seat floor is on (only then does a gateway exist). */
60
+ containerFloor: boolean;
61
+ /** The engine's gateway dir (canonical state home + `gateway`); `null` without a store. */
62
+ gatewayDir: string | null;
63
+ runtime: string | null;
64
+ exec: ExecLike;
65
+ timeoutMs?: number;
66
+ }
67
+ /** The model gateway, as the container runtime reports it: `container inspect` of the engine's own
68
+ * gateway name. Running → ok; stopped → down; absent → degraded (the engine starts it before the
69
+ * next container seat); the runtime unreachable → down; no answer inside the bound → unknown. */
70
+ export declare function probeGateway(input: GatewayProbeInput): Promise<SystemInfraRow>;
71
+ /** One CLI's credential-broker reading (`seat-login status`, `SeatContainerStatus`). */
72
+ export interface BrokerReadingLike {
73
+ state: 'signed_in' | 'signed_out' | 'expired' | 'refresh_failing' | 'unknown';
74
+ reason?: string;
75
+ expires_at?: number;
76
+ }
77
+ export interface BrokerProbeInput {
78
+ containerFloor: boolean;
79
+ /** The container-login CLIs on the roster. */
80
+ clis: string[];
81
+ /** A FRESH status read for one CLI (never the cache). */
82
+ status: (cli: string) => Promise<BrokerReadingLike>;
83
+ timeoutMs?: number;
84
+ }
85
+ /** The credential broker, read fresh per CLI. Any refresh failing → degraded; no CLI signed in →
86
+ * degraded; no CLI answered inside the bound → unknown. */
87
+ export declare function probeBroker(input: BrokerProbeInput): Promise<SystemInfraRow>;
88
+ export interface InteractiveProbeInput {
89
+ /** The bridge roots this daemon knows (its default root and every pooled one). */
90
+ roots: string[];
91
+ /** `<root>/.wi-serve.json`, or null — read asynchronously, inside the probe's bound. */
92
+ readLock: (root: string) => Promise<{
93
+ host: string;
94
+ port: number;
95
+ pid: number;
96
+ } | null>;
97
+ /** GET the bridge's `/api/health`; resolves the HTTP status. */
98
+ health: (url: string, timeoutMs: number) => Promise<number>;
99
+ timeoutMs?: number;
100
+ }
101
+ /** The interactive bridge: started on demand, so no lockfile is `off`; a recorded bridge must answer
102
+ * its `/api/health` inside the bound. */
103
+ export declare function probeInteractive(input: InteractiveProbeInput): Promise<SystemInfraRow>;
104
+ /** `<root>/.wi-serve.json` read asynchronously (the `bridge-pool.ts` `readLock` shape): a missing
105
+ * file, a non-regular one (a FIFO, a link) or an incomplete record is `null`. */
106
+ export declare function readBridgeLockAsync(root: string): Promise<{
107
+ host: string;
108
+ port: number;
109
+ pid: number;
110
+ } | null>;
111
+ export interface EstateProbeInput {
112
+ /** The memory store the daemon reads and writes (`memoryStoreInfo`). */
113
+ memoryStore: {
114
+ path: string;
115
+ source: string;
116
+ notice: string | null;
117
+ };
118
+ /** One read-only call: `memory.coverage` on a `wicked-estate-mcp --readonly` (which opens an
119
+ * existing store read-only and never creates one). Resolves the tool's JSON-RPC answer. */
120
+ call: (timeoutMs: number) => Promise<Record<string, unknown>>;
121
+ /** Whether the store file exists (injectable for tests). */
122
+ exists?: (path: string) => Promise<boolean>;
123
+ timeoutMs?: number;
124
+ }
125
+ /** The production estate call: `memory.coverage` on a spawn-per-call `wicked-estate-mcp --readonly`
126
+ * pinned to the daemon's memory store and to NO graph store (`:memory:`): a read-only server opens
127
+ * an existing store without schema work and never creates one (wicked-estate 0.29). */
128
+ export declare function estateReadonlyCall(memoryDbPath: string): (timeoutMs: number) => Promise<Record<string, unknown>>;
129
+ /** Estate, through one read-only MCP call on the daemon's memory store. */
130
+ export declare function probeEstate(input: EstateProbeInput): Promise<SystemInfraRow>;
131
+ export interface BusProbeInput {
132
+ /** Why the boot handed the engine no bus, if it did not. */
133
+ unavailable: {
134
+ reason?: unknown;
135
+ } | null;
136
+ /** The engine has the bus but not the calls crew reaches it through. */
137
+ seamsOff: unknown;
138
+ /** The bus db file (`WICKED_BUS_DB`), or null when none was exported. */
139
+ dbPath: string | null;
140
+ /** The watch registry's bus source, when it is armed. */
141
+ watchBus: 'up' | 'down' | 'degraded' | null;
142
+ tailLagMs: number | null;
143
+ }
144
+ /** The event bus: the boot's own verdict, then the file (stat, never opened: one SQLite library per
145
+ * file per process), then the watch registry's live tail. */
146
+ export declare function probeBus(input: BusProbeInput): Promise<SystemInfraRow>;
147
+ export interface VaultProbeInput {
148
+ /** `DiagnosticsVault`, or null on a route set without the engine adapter. */
149
+ vault: {
150
+ bin: string | null;
151
+ source: string;
152
+ finding: {
153
+ message: string;
154
+ remedy: string;
155
+ } | null;
156
+ } | null;
157
+ exec: ExecLike;
158
+ timeoutMs?: number;
159
+ }
160
+ export declare function probeVault(input: VaultProbeInput): Promise<SystemInfraRow>;
161
+ /** `DiagnosticsSkills` → a row. */
162
+ export declare function skillsRow(skills: {
163
+ state: string;
164
+ findings: Array<{
165
+ severity?: string;
166
+ message?: string;
167
+ kind?: string;
168
+ }>;
169
+ } & Record<string, unknown>): SystemInfraRow;
170
+ /** `DiagnosticsStateHome` → a row. */
171
+ export declare function stateHomeRow(home: {
172
+ refusesLaunches: boolean;
173
+ findings: Array<{
174
+ severity?: string;
175
+ message?: string;
176
+ }>;
177
+ remedy?: string;
178
+ error?: string | null;
179
+ } | null): SystemInfraRow;
180
+ export declare function diskRow(path: string | null, statfsFn?: (p: string) => Promise<{
181
+ bavail: number | bigint;
182
+ bsize: number | bigint;
183
+ blocks: number | bigint;
184
+ }>, timeoutMs?: number): Promise<SystemInfraRow>;
185
+ export declare function loadRow(read?: () => {
186
+ load1: number;
187
+ cores: number;
188
+ }, platform?: NodeJS.Platform): SystemInfraRow;
189
+ /** The whole week fold; past it the in-flight fold is dropped (never cached) and retried later. */
190
+ export declare const WEEK_FOLD_MAX_MS = 90000;
191
+ export interface WeekFold {
192
+ since: number;
193
+ until: number;
194
+ runsRead: number;
195
+ truncated: boolean;
196
+ clis: Map<string, SystemCliStats>;
197
+ floors: Record<string, number>;
198
+ qe: {
199
+ passed: number;
200
+ failed: number;
201
+ };
202
+ judgedGates: number;
203
+ }
204
+ /** Fold the window's runs into per-CLI stats and the governance week. Ownership follows
205
+ * `seat-record.ts` (`unitDistributed.cli`, moved by `unitReassigned.newCli`, else `assigned_cli`). */
206
+ export declare function foldWeek(runs: ReadonlyArray<{
207
+ view: SessionView;
208
+ events: readonly RecordedEvent[];
209
+ }>, opts: {
210
+ days: number;
211
+ now: number;
212
+ truncated: boolean;
213
+ }): Promise<WeekFold>;
214
+ /** Pick the runs that can touch the window (newest first, capped), read each log, fold. `null` when
215
+ * the engine has no event-log read binding. */
216
+ export declare function readWeek(views: readonly SessionView[], readEvents: (runId: string) => Promise<readonly RecordedEvent[] | null>, opts: {
217
+ days: number;
218
+ now: number;
219
+ runReadTimeoutMs?: number;
220
+ }): Promise<WeekFold | null>;
221
+ /** A short-TTL, in-flight-deduplicated holder for the week fold: the snapshot never waits past its
222
+ * bound for it, and a fold that finishes late lands for the next read. */
223
+ export declare class WeekFoldCache {
224
+ private readonly ttlMs;
225
+ private readonly now;
226
+ private readonly maxMs;
227
+ private value;
228
+ private inFlight;
229
+ constructor(ttlMs?: number, now?: () => number, maxMs?: number);
230
+ get(compute: () => Promise<WeekFold | null>): Promise<WeekFold | null>;
231
+ }
232
+ /** The roster fields the snapshot reads (`RosterSeat`). */
233
+ export interface RosterSeatLike {
234
+ key: string;
235
+ display_name?: string;
236
+ auth?: string;
237
+ signed_in?: boolean | null;
238
+ health?: SeatHealth;
239
+ council_eligible?: boolean;
240
+ council_ineligible_reason?: string;
241
+ work_eligible?: boolean;
242
+ work_ineligible_reason?: string;
243
+ login_note?: string;
244
+ auth_evidence?: string;
245
+ login_invocation?: string;
246
+ sign_in?: string;
247
+ version?: {
248
+ installed?: string | null;
249
+ version?: string | null;
250
+ observed?: string | null;
251
+ } | null;
252
+ version_pin?: {
253
+ pinned: string;
254
+ observed: string | null;
255
+ matched: boolean;
256
+ } | null;
257
+ governance_class?: unknown;
258
+ governance_mode?: Record<string, string> | null;
259
+ recent_bench?: {
260
+ kind: string;
261
+ reason: string;
262
+ lifts_at: string;
263
+ last_at: string;
264
+ runs: number;
265
+ source: string;
266
+ } | null;
267
+ }
268
+ export declare function buildClis(input: {
269
+ roster: RosterSeatLike[];
270
+ acp: Record<string, AcpCliDiagnostics>;
271
+ seatGovernance: DiagnosticsSeatGovernanceEntry[];
272
+ containerFloor: boolean;
273
+ hostBoundary: string | null;
274
+ week: WeekFold | null;
275
+ weekNote?: string;
276
+ }): SystemCli[];
277
+ /** The open gate or question a paused run waits on (`InteractionRequest`, or the gate cache). */
278
+ export interface OpenGateLike {
279
+ interactionId: string | null;
280
+ ord: number | null;
281
+ kind: string | null;
282
+ prompt: string | null;
283
+ }
284
+ export interface RunEvidence {
285
+ at: number;
286
+ source: 'event_log' | 'relay' | 'process';
287
+ }
288
+ /** The liveness thresholds from `workerStallMinutes`: stalled at the stall threshold, quiet at a
289
+ * third of it (at most 5 min). */
290
+ export declare function livenessThresholds(stallMinutes: number | undefined): {
291
+ quietAfterMs: number;
292
+ stallAfterMs: number;
293
+ };
294
+ /** One run's computed liveness. Pure: every input is a reading. */
295
+ export declare function runLiveness(input: {
296
+ view: SessionView;
297
+ now: number;
298
+ evidence: RunEvidence | null;
299
+ gate: OpenGateLike | null;
300
+ quietAfterMs: number;
301
+ stallAfterMs: number;
302
+ }): SystemRun;
303
+ export declare function unfinished(views: readonly SessionView[]): SessionView[];
304
+ export declare function sortRuns(runs: SystemRun[]): SystemRun[];
305
+ /** Some seat that can work, and a seat that can judge it distinct from it — or `null` when none. */
306
+ export declare function distinctJudgePair(clis: SystemCli[]): {
307
+ creator: string;
308
+ judge: string;
309
+ } | null;
310
+ /** For each unfinished run: the seats that could judge its next gate distinct from its creator, and,
311
+ * when there are none, the seats in its pool that cannot (with why). */
312
+ export declare function judgeGaps(runs: Array<{
313
+ view: SessionView;
314
+ run: SystemRun;
315
+ }>, clis: SystemCli[]): Array<{
316
+ run: SystemRun;
317
+ creator: string | null;
318
+ blockedBy: SystemCli[];
319
+ }>;
320
+ export interface GovernanceInput {
321
+ /** `DiagnosticsGovernance`. */
322
+ /** `DiagnosticsGovernance`; `null` when diagnostics did not answer (`governanceNote` says why). */
323
+ governance: {
324
+ store: {
325
+ path: string;
326
+ source: string;
327
+ } | null;
328
+ records: {
329
+ total: number | null;
330
+ sinceBoot: number | null;
331
+ };
332
+ deadletters: {
333
+ count: number;
334
+ } & Record<string, unknown>;
335
+ findings: Array<{
336
+ kind: string;
337
+ severity: string;
338
+ message: string;
339
+ }>;
340
+ } | null;
341
+ governanceNote?: string;
342
+ skillsFindings: Array<{
343
+ kind?: string;
344
+ severity?: string;
345
+ message?: string;
346
+ }>;
347
+ decisions: unknown;
348
+ clis: SystemCli[];
349
+ judgeGapCount: number;
350
+ week: WeekFold | null;
351
+ weekNote?: string;
352
+ /** Gate decisions by a human operator in the window (audit `gate.decided`); `null` unreadable. */
353
+ gatesByYou: number | null;
354
+ /** Steering rules loaded (not retired); `null` when unreadable. */
355
+ steeringRules: number | null;
356
+ steeringNote?: string;
357
+ }
358
+ export declare function buildGovernance(g: GovernanceInput): SystemGovernanceCard[];
359
+ export declare function buildAttention(input: {
360
+ infra: SystemInfraRow[];
361
+ clis: SystemCli[];
362
+ runs: SystemRun[];
363
+ governance: SystemGovernanceCard[];
364
+ gaps: Array<{
365
+ run: SystemRun;
366
+ creator: string | null;
367
+ blockedBy: SystemCli[];
368
+ }>;
369
+ /** Runs a down infra row blocks (the container floor's runs for the gateway, …). */
370
+ blockedByInfra: (key: SystemInfraKey) => number;
371
+ }): SystemAttentionItem[];
372
+ export declare function levelOf(attention: SystemAttentionItem[]): SystemLevel;
373
+ /** Assemble the wire answer from its parts. */
374
+ export declare function assembleSnapshot(parts: {
375
+ startedAt: number;
376
+ clis: SystemCli[];
377
+ runs: SystemRun[];
378
+ infra: SystemInfraRow[];
379
+ governance: SystemGovernanceCard[];
380
+ attention: SystemAttentionItem[];
381
+ }): SystemSnapshot;
382
+ //# sourceMappingURL=system-snapshot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-snapshot.d.ts","sourceRoot":"","sources":["../../src/api/system-snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,OAAO,KAAK,EACV,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,SAAS,EAET,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,EACd,WAAW,EACX,SAAS,EAET,cAAc,EACd,WAAW,EAEZ,MAAM,kBAAkB,CAAC;AAO1B,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AACtC,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,0DAA0D;AAC1D,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,oFAAoF;AACpF,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAGxC,MAAM,MAAM,OAAO,CAAC,CAAC,IACjB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,wGAAwG;AACxG,wBAAsB,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAiBlG;AAuBD,MAAM,MAAM,QAAQ,GAAG,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KACtB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAkBjD,wBAAgB,QAAQ,CACtB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAahB;AAED;mEACmE;AACnE,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEtD;AAYD;;gEAEgE;AAChE,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CA6B3F;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,cAAc,EAAE,OAAO,CAAC;IACxB,2FAA2F;IAC3F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;kGAEkG;AAClG,wBAAsB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAqEpF;AAED,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,yDAAyD;IACzD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;4DAC4D;AAC5D,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmDlF;AAED,MAAM,WAAW,qBAAqB;IACpC,kFAAkF;IAClF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,wFAAwF;IACxF,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACxF,gEAAgE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;0CAC0C;AAC1C,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC,CAwC5F;AAED;kFACkF;AAClF,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAWnH;AAED,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACrE;gGAC4F;IAC5F,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,4DAA4D;IAC5D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;wFAEwF;AACxF,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAWhH;AAED,2EAA2E;AAC3E,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CA6ClF;AAED,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,WAAW,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACzC,wEAAwE;IACxE,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yDAAyD;IACzD,QAAQ,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;8DAC8D;AAC9D,wBAAsB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAsB5E;AAED,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1G,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAehF;AAED,mCAAmC;AACnC,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,cAAc,CAqBtK;AAED,sCAAsC;AACtC,wBAAgB,YAAY,CAAC,IAAI,EAAE;IAAE,eAAe,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,GAAG,cAAc,CAaxL;AAED,wBAAsB,OAAO,CAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,QAAQ,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAU,EACvH,SAAS,GAAE,MAAyB,GACnC,OAAO,CAAC,cAAc,CAAC,CAiBzB;AAED,wBAAgB,OAAO,CAAC,IAAI,GAAE,MAAM;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAA+D,EAAE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAAG,cAAc,CAU/L;AAcD,mGAAmG;AACnG,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAEvC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;CACrB;AA4BD;uGACuG;AACvG,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;CAAE,CAAC,EAC5E,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,GACtD,OAAO,CAAC,QAAQ,CAAC,CA8InB;AAED;gDACgD;AAChD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,SAAS,WAAW,EAAE,EAC7B,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC,EACvE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7D,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAkB1B;AAED;2EAC2E;AAC3E,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,KAAK,CAAsD;IACnE,OAAO,CAAC,QAAQ,CAAyC;gBAGtC,KAAK,GAAE,MAA4B,EACnC,GAAG,GAAE,MAAM,MAAiB,EAC5B,KAAK,GAAE,MAAyB;IAGnD,GAAG,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAkBvE;AAID,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAClG,WAAW,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAChD,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACzH;AAuBD,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvC,cAAc,EAAE,8BAA8B,EAAE,CAAC;IACjD,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,SAAS,EAAE,CAiCd;AAOD,iGAAiG;AACjG,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED;mCACmC;AACnC,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAInH;AAED,mEAAmE;AACnE,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,SAAS,CAyDZ;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,WAAW,EAAE,CAEvE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAEvD;AAOD,oGAAoG;AACpG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAO9F;AAED;yEACyE;AACzE,wBAAgB,SAAS,CACvB,IAAI,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,EAClD,IAAI,EAAE,SAAS,EAAE,GAChB,KAAK,CAAC;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC,CAoB3E;AAID,MAAM,WAAW,eAAe;IAC9B,+BAA+B;IAC/B,mGAAmG;IACnG,UAAU,EAAE;QACV,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAC/C,OAAO,EAAE;YAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QAC5D,WAAW,EAAE;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzD,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACtE,GAAG,IAAI,CAAC;IACT,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,mEAAmE;IACnE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,oBAAoB,EAAE,CA8H1E;AAQD,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,SAAS,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC,CAAC;IAChF,oFAAoF;IACpF,cAAc,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;CACjD,GAAG,mBAAmB,EAAE,CAyGxB;AAED,wBAAgB,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,WAAW,CAGrE;AAED,+CAA+C;AAC/C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,SAAS,EAAE,mBAAmB,EAAE,CAAC;CAClC,GAAG,cAAc,CAajB"}