wicked-crew 0.7.17 → 0.7.19

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.
@@ -0,0 +1,254 @@
1
+ /**
2
+ * The estate-MCP proposal-queue client (DES-MEM-FACETED-001 §5.0).
3
+ *
4
+ * # Why this exists
5
+ *
6
+ * The proposal queue (`proposal.list` / `proposal.approve` / `proposal.reject`, estate #162) lives
7
+ * ONLY on the estate MCP server — a JSON-RPC 2.0 process that speaks newline-delimited frames over
8
+ * stdio. Crew already reaches estate two other ways, and NEITHER carries these tools: the
9
+ * `wicked-estate` CLI (`projects/graph.ts` — indexing/query subcommands) and the wicked-core napi
10
+ * addon (the run engine). So the queue needs its own small client, and this is it.
11
+ *
12
+ * # The operator posture — NON-`--readonly`
13
+ *
14
+ * This is the OPERATOR surface: it must list, approve, AND reject. `proposal.approve` /
15
+ * `proposal.reject` mutate the active store / decide the queue, which the estate server REFUSES
16
+ * under `--readonly` (a -32601 backstop — see `wicked-estate-mcp/tests/proposals.rs`). So the
17
+ * server is spawned with NO `--readonly` flag. This is the deliberate inverse of the governed
18
+ * WORKER grounding client (DES-GROUNDING-001), which allow-lists the estate MCP `--readonly`
19
+ * precisely so a worker can never mutate the operator's stores.
20
+ *
21
+ * `WICKED_MEMORY_DB` is pinned to the operator global store (`${WICKED_HOME:-~/.wicked}/memory.db`,
22
+ * matching the server's own default in `wicked-estate-mcp/src/main.rs`) so the queue is read/written
23
+ * where the operator's memories actually live, regardless of the daemon's cwd/home.
24
+ *
25
+ * # Framing (mirrors `wicked-estate-mcp/src/main.rs`)
26
+ *
27
+ * The server reads one JSON object per line on stdin and writes one response object per line on
28
+ * stdout. A NOTIFICATION (no `id`) produces no output. The handshake is
29
+ * `initialize` (id 1) → `notifications/initialized` → `tools/call` (id 2); the tool result is
30
+ * wrapped in the MCP envelope `{ content: [{ type:'text', text: '<json>' }], isError }`, and a
31
+ * failure is a JSON-RPC `error` object. Spawn-per-call is fine for v1: the queue is an operator
32
+ * action, not a hot path.
33
+ */
34
+ import { spawn as nodeSpawn } from 'node:child_process';
35
+ import { readFileSync } from 'node:fs';
36
+ import { homedir } from 'node:os';
37
+ import { join } from 'node:path';
38
+ import { fileURLToPath } from 'node:url';
39
+ /** The MCP protocol version crew declares in the handshake (the version the estate server speaks). */
40
+ export const ESTATE_MCP_PROTOCOL_VERSION = '2024-11-05';
41
+ /** JSON-RPC ids for the two request frames (the notification carries none). */
42
+ const INITIALIZE_ID = 1;
43
+ const TOOLS_CALL_ID = 2;
44
+ /** The handshake + call must complete inside this budget or the child is killed and the call fails.
45
+ * Generous because a cold `wicked-estate-mcp` may open a SQLite store on first use, but finite so
46
+ * a wedged/absent binary fails loudly instead of hanging the request. */
47
+ export const DEFAULT_ESTATE_MCP_TIMEOUT_MS = 30_000;
48
+ const CLIENT_NAME = 'wicked-crew';
49
+ /** Crew's own version for the handshake `clientInfo`. Read from package.json the same way
50
+ * `api/routes.ts` reads it (works under both the `src` and compiled `dist` layouts); a read
51
+ * failure is non-fatal — the server ignores `clientInfo` — so it degrades to a placeholder. */
52
+ const CLIENT_VERSION = (() => {
53
+ try {
54
+ const raw = readFileSync(fileURLToPath(new URL('../../package.json', import.meta.url)), 'utf8');
55
+ return JSON.parse(raw).version ?? '0.0.0';
56
+ }
57
+ catch {
58
+ return '0.0.0';
59
+ }
60
+ })();
61
+ /** A JSON-RPC error surfaced by the estate MCP (or a transport failure reaching it). `code` is the
62
+ * JSON-RPC error code when the failure came back as a JSON-RPC `error` (e.g. -32602 invalid
63
+ * params, -32601 method refused under --readonly, -32603 internal), absent for a transport fault. */
64
+ export class EstateMcpError extends Error {
65
+ code;
66
+ constructor(message, code) {
67
+ super(message);
68
+ this.name = 'EstateMcpError';
69
+ if (code !== undefined)
70
+ this.code = code;
71
+ }
72
+ }
73
+ /** `wicked-estate-mcp`, overridable via `WICKED_ESTATE_MCP_EXE` (mirrors `WICKED_ESTATE_EXE` in
74
+ * `projects/graph.ts` and `WICKED_CORE_EXE` in the adapter). */
75
+ export function estateMcpExe(env = process.env) {
76
+ const override = env['WICKED_ESTATE_MCP_EXE'];
77
+ return override !== undefined && override !== '' ? override : 'wicked-estate-mcp';
78
+ }
79
+ /** The operator global memory store path: `WICKED_MEMORY_DB` wins, else `${WICKED_HOME:-~/.wicked}/memory.db`. */
80
+ export function resolveMemoryDbPath(env = process.env) {
81
+ const explicit = env['WICKED_MEMORY_DB'];
82
+ if (explicit !== undefined && explicit !== '')
83
+ return explicit;
84
+ const home = env['WICKED_HOME'];
85
+ const base = home !== undefined && home !== '' ? home : join(homedir(), '.wicked');
86
+ return join(base, 'memory.db');
87
+ }
88
+ /** The default spawn: `wicked-estate-mcp` with no `--readonly` flag and WICKED_MEMORY_DB pinned. */
89
+ function defaultSpawn(env) {
90
+ return nodeSpawn(estateMcpExe(env), [], {
91
+ stdio: ['pipe', 'pipe', 'pipe'],
92
+ env: { ...env, WICKED_MEMORY_DB: resolveMemoryDbPath(env) },
93
+ windowsHide: true,
94
+ });
95
+ }
96
+ function isRecord(v) {
97
+ return typeof v === 'object' && v !== null && !Array.isArray(v);
98
+ }
99
+ /** Cap any external text (upstream stderr / JSON-RPC error / tool-result body) carried into an
100
+ * {@link EstateMcpError}: route code surfaces `err.message` in a 502, so an uncapped body could
101
+ * leak large/sensitive payloads and bloat the HTTP error. */
102
+ function capText(s) {
103
+ return s.length > 200 ? `${s.slice(0, 200)}… (${s.length} chars)` : s;
104
+ }
105
+ /** Build an {@link EstateMcpError} from a JSON-RPC `error` object. */
106
+ function estateErrorFrom(err) {
107
+ const message = typeof err['message'] === 'string' ? capText(err['message']) : 'unknown estate-mcp error';
108
+ return typeof err['code'] === 'number' ? new EstateMcpError(message, err['code']) : new EstateMcpError(message);
109
+ }
110
+ /** Unwrap the `id:2` response: a JSON-RPC `error` throws; otherwise parse the MCP tool-result
111
+ * envelope's inner JSON text (`result.content[0].text`) and return it. An `isError:true` envelope
112
+ * (the R1 convention) is a failure too. */
113
+ function unwrapToolResult(msg) {
114
+ if (isRecord(msg['error']))
115
+ throw estateErrorFrom(msg['error']);
116
+ const result = msg['result'];
117
+ if (!isRecord(result)) {
118
+ throw new EstateMcpError('estate-mcp returned a response with no result');
119
+ }
120
+ const content = result['content'];
121
+ const first = Array.isArray(content) ? content[0] : undefined;
122
+ if (!isRecord(first) || typeof first['text'] !== 'string') {
123
+ throw new EstateMcpError('estate-mcp tool result had no text content');
124
+ }
125
+ const text = first['text'];
126
+ // Cap any raw tool-result text carried into an error: route code surfaces `err.message` in a 502,
127
+ let payload;
128
+ try {
129
+ payload = JSON.parse(text);
130
+ }
131
+ catch {
132
+ throw new EstateMcpError(`estate-mcp tool result text was not JSON: ${capText(text)}`);
133
+ }
134
+ if (result['isError'] === true) {
135
+ const detail = isRecord(payload) && typeof payload['message'] === 'string'
136
+ ? capText(payload['message'])
137
+ : capText(text);
138
+ throw new EstateMcpError(detail);
139
+ }
140
+ return payload;
141
+ }
142
+ /**
143
+ * Call one estate MCP tool by name and return its unwrapped result.
144
+ *
145
+ * Generic over the tool name — the proposal queue (`proposal.*`) and the memory-management surface
146
+ * (`memory.recall` / `memory.coverage` / `memory.erase`) both go through here — so a single
147
+ * spawn-per-call `wicked-estate-mcp` client (NON-`--readonly`, `WICKED_MEMORY_DB` pinned) serves
148
+ * every operator-facing estate tool.
149
+ *
150
+ * Spawns the server, performs the handshake, issues the `tools/call`, reads the id-2 response
151
+ * (line-buffered), unwraps the MCP envelope, then closes stdin and kills the child. Throws
152
+ * {@link EstateMcpError} on a JSON-RPC error, a malformed response, an early process exit, a spawn
153
+ * failure, or the timeout.
154
+ */
155
+ export async function callEstateTool(tool, args, io = {}) {
156
+ const child = (io.spawn ?? (() => defaultSpawn(process.env)))();
157
+ const timeoutMs = io.timeoutMs ?? DEFAULT_ESTATE_MCP_TIMEOUT_MS;
158
+ return new Promise((resolvePromise, rejectPromise) => {
159
+ let settled = false;
160
+ let stdoutBuf = '';
161
+ let stderrBuf = '';
162
+ const finish = (fn) => {
163
+ if (settled)
164
+ return;
165
+ settled = true;
166
+ clearTimeout(timer);
167
+ try {
168
+ child.kill('SIGKILL');
169
+ }
170
+ catch {
171
+ /* already gone */
172
+ }
173
+ fn();
174
+ };
175
+ const timer = setTimeout(() => {
176
+ finish(() => rejectPromise(new EstateMcpError(`wicked-estate-mcp did not answer ${tool} within ${timeoutMs}ms`)));
177
+ }, timeoutMs);
178
+ if (child.stdout === null || child.stdin === null) {
179
+ finish(() => rejectPromise(new EstateMcpError('wicked-estate-mcp spawned without stdio pipes')));
180
+ return;
181
+ }
182
+ const stdin = child.stdin;
183
+ child.stdout.setEncoding('utf8');
184
+ child.stdout.on('data', (chunk) => {
185
+ stdoutBuf += chunk;
186
+ let nl = stdoutBuf.indexOf('\n');
187
+ while (nl >= 0) {
188
+ const line = stdoutBuf.slice(0, nl).trim();
189
+ stdoutBuf = stdoutBuf.slice(nl + 1);
190
+ nl = stdoutBuf.indexOf('\n');
191
+ if (line === '')
192
+ continue;
193
+ let msg;
194
+ try {
195
+ msg = JSON.parse(line);
196
+ }
197
+ catch {
198
+ continue; // non-JSON noise on stdout — ignore, keep scanning for our id
199
+ }
200
+ if (!isRecord(msg))
201
+ continue;
202
+ const id = msg['id'];
203
+ if (id === TOOLS_CALL_ID) {
204
+ finish(() => {
205
+ try {
206
+ resolvePromise(unwrapToolResult(msg));
207
+ }
208
+ catch (err) {
209
+ rejectPromise(err);
210
+ }
211
+ });
212
+ return;
213
+ }
214
+ // A failure of the handshake itself (initialize error, or a parse error with id:null)
215
+ // arrives before the tool result and is fatal — surface it rather than time out.
216
+ if ((id === INITIALIZE_ID || id === null) && isRecord(msg['error'])) {
217
+ finish(() => rejectPromise(estateErrorFrom(msg['error'])));
218
+ return;
219
+ }
220
+ }
221
+ });
222
+ if (child.stderr !== null) {
223
+ child.stderr.setEncoding('utf8');
224
+ child.stderr.on('data', (c) => {
225
+ stderrBuf += c;
226
+ });
227
+ }
228
+ child.on('error', (err) => {
229
+ finish(() => rejectPromise(new EstateMcpError(`failed to spawn wicked-estate-mcp: ${err.message}`)));
230
+ });
231
+ child.on('close', () => {
232
+ finish(() => rejectPromise(new EstateMcpError(`wicked-estate-mcp exited before answering ${tool}` +
233
+ (stderrBuf.trim() !== '' ? `: ${capText(stderrBuf.trim())}` : ''))));
234
+ });
235
+ // Handshake + call, then EOF so the server drains its buffered lines and exits cleanly.
236
+ const write = (obj) => {
237
+ stdin.write(`${JSON.stringify(obj)}\n`);
238
+ };
239
+ write({
240
+ jsonrpc: '2.0',
241
+ id: INITIALIZE_ID,
242
+ method: 'initialize',
243
+ params: {
244
+ protocolVersion: ESTATE_MCP_PROTOCOL_VERSION,
245
+ capabilities: {},
246
+ clientInfo: { name: CLIENT_NAME, version: CLIENT_VERSION },
247
+ },
248
+ });
249
+ write({ jsonrpc: '2.0', method: 'notifications/initialized', params: {} });
250
+ write({ jsonrpc: '2.0', id: TOOLS_CALL_ID, method: 'tools/call', params: { name: tool, arguments: args } });
251
+ stdin.end();
252
+ });
253
+ }
254
+ //# sourceMappingURL=estate-mcp-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estate-mcp-client.js","sourceRoot":"","sources":["../../src/core/estate-mcp-client.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,7 @@
48
48
  * SAME message id on a user-driven resend, so a retry that reached the bus twice dedupes),
49
49
  * else the bus `event_id` (pure redelivery). Never the doc lifetime.
50
50
  */
51
+ import { type RecallIntent } from './draft-events.js';
51
52
  import { InteractiveHandoffLedger } from './ledger.js';
52
53
  import type { CoreAdapter } from '../core/adapter.js';
53
54
  import type { WorkflowDef } from '../core/types.js';
@@ -139,7 +140,7 @@ export declare function isAnswerableDocKind(kind: string): boolean;
139
140
  * live-repo path in the task (wicked-core#294). Revision grounding returns when either of
140
141
  * those is fixed.
141
142
  */
142
- export declare function chatProblem(ask: ChatAsk, currentPath: string, outPath: string): string;
143
+ export declare function chatProblem(ask: ChatAsk, currentPath: string, outPath: string, intent?: RecallIntent): string;
143
144
  /** Options for {@link startInteractiveChatSubscriber}. */
144
145
  export interface InteractiveChatOptions {
145
146
  /** Bus SQLite db path. Omit to let wicked-bus resolve its own default
@@ -1 +1 @@
1
- {"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../src/interactive/chat-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-events.d.ts","sourceRoot":"","sources":["../../src/interactive/chat-events.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@
51
51
  import { copyFileSync, existsSync, mkdirSync, readFileSync, statSync } from 'node:fs';
52
52
  import { basename, join } from 'node:path';
53
53
  import { randomUUID } from 'node:crypto';
54
- import { DOC_NAME, DRAFT_COMPLETED, INTERACTIVE_DOMAIN, INTERACTIVE_PRODUCER, STATUS_POSTED, oneLine, } from './draft-events.js';
54
+ import { DOC_NAME, DRAFT_COMPLETED, INTERACTIVE_DOMAIN, INTERACTIVE_PRODUCER, STATUS_POSTED, oneLine, proposeClause, recallClause, } from './draft-events.js';
55
55
  import { InteractiveHandoffLedger } from './ledger.js';
56
56
  import { crewStateHome } from '../projects/state-home.js';
57
57
  import { resolveProjectGraphBinding } from '../projects/graph.js';
@@ -230,10 +230,16 @@ export function isAnswerableDocKind(kind) {
230
230
  * live-repo path in the task (wicked-core#294). Revision grounding returns when either of
231
231
  * those is fixed.
232
232
  */
233
- export function chatProblem(ask, currentPath, outPath) {
233
+ export function chatProblem(ask, currentPath, outPath, intent) {
234
+ // The recall clause (DES-MEM-FACETED-001 Phase 3): the revision leg carries no repo grounding
235
+ // (see the split above), but recall is a repo-LESS estate MCP call, so it rides here too — `''`
236
+ // when the intent carries no axis, keeping the proven CREW-UX-5 shape for an unfiled ask.
237
+ const recall = recallClause(intent);
238
+ const propose = proposeClause();
234
239
  return (`Revise the wicked-interactive document "${ask.documentId}" per the user's ask. ` +
235
240
  `The user's ask: ${oneLine(ask.text, 2000)} ` +
236
241
  `The document's CURRENT version is the HTML file at this absolute path — read it first: ${currentPath} ` +
242
+ `${recall}${propose}` +
237
243
  `The revised COMPLETE document MUST be written to exactly this absolute file path: ${outPath}`);
238
244
  }
239
245
  /** The seam's durable state (handoff ledger + working dirs) follows the daemon's state home —
@@ -582,7 +588,11 @@ export async function startInteractiveChatSubscriber(adapter, opts = {}) {
582
588
  }
583
589
  try {
584
590
  await adapter.launchRun({
585
- problem: chatProblem(ask, currentPath, outPath),
591
+ // DES-MEM-FACETED-001 Phase 3: thread the ask's project as the recall intent's `project`
592
+ // axis (the reliably-available axis on this seam). An unfiled ask leaves it undefined, so
593
+ // the clause is omitted. Phase 6: thread cli/repo (no single cli is in scope here — the
594
+ // launch carries the whole council roster via `clisJson`, not one assigned seat).
595
+ problem: chatProblem(ask, currentPath, outPath, ask.projectId !== undefined ? { project: ask.projectId } : undefined),
586
596
  sessionId: runId,
587
597
  clisJson: opts.clisJson ?? JSON.stringify(rosterOf(adapter)),
588
598
  workflow: INTERACTIVE_CHAT_WORKFLOW,
@@ -1 +1 @@
1
- {"version":3,"file":"chat-events.js","sourceRoot":"","sources":["../../src/interactive/chat-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-events.js","sourceRoot":"","sources":["../../src/interactive/chat-events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,QAAQ,EACR,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,OAAO,EACP,aAAa,EACb,YAAY,GAEb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAA4B,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,gGAAgG;AAEhG,MAAM,CAAC,MAAM,WAAW,GAAG,gCAAgC,CAAC;AAE5D,gGAAgG;AAChG,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,WAAW,IAAI,kBAAkB,EAAE,CAAC;AAElF;gFACgF;AAChF,MAAM,CAAC,MAAM,2BAA2B,GAAG,8BAA8B,CAAC;AAE1E,gGAAgG;AAEhG,MAAM,CAAC,MAAM,yBAAyB,GAAG,kBAAkB,CAAC;AAE5D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAgB;IACxD,EAAE,EAAE,yBAAyB;IAC7B,SAAS,EAAE,IAAI;IACf,MAAM,EAAE;QACN;YACE,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,OAAO;YACb,YAAY,EACV,qoBAAqoB;YACvoB,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,qBAAqB,EAAE,EAAE;YACzB,UAAU,EAAE,EAAE;YACd,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;SACpB;QACD;YACE,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO;YACb,YAAY,EACV,67BAA67B;YAC/7B,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,MAAM;YACZ,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,qBAAqB,EAAE,EAAE;YACzB,UAAU,EAAE,CAAC,YAAY,CAAC;YAC1B,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;SACpB;KACF;CACF,CAAC;AAgBF;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,OAAgB;IACjE,IAAI,SAAS,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjE,MAAM,CAAC,GAAG,OAAkC,CAAC;IAC7C,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,eAAe,GACnB,OAAO,CAAC,CAAC,mBAAmB,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,GAAG,CAAC;QAC7E,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACxB,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GACb,OAAO,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,OAAO;QACL,UAAU;QACV,IAAI;QACJ,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;oFAEoF;AACpF,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAE5D;0EAC0E;AAC1E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;iGACiG;AACjG,MAAM,UAAU,OAAO,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAwB;IACnF,OAAO,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,OAAO,EAAE,CAAC;AAC7G,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAwB;IAC9F,OAAO,yBAAyB,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;AAClF,CAAC;AAUD;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAkB;IAC9D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,CAI3E,CAAC;QACF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjF,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;YACpD,CAAC,CAAC,SAAS,CAAC;QACd,0FAA0F;QAC1F,6FAA6F;QAC7F,sFAAsF;QACtF,MAAM,WAAW,GACf,OAAO,KAAK,EAAE,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAChE,CAAC,CAAC,KAAK,CAAC,SAAS;YACjB,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC;QACvB,MAAM,QAAQ,GACZ,QAAQ,CAAC,WAAW,CAAC,KAAK,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClE,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC3F,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;SAClC,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,KAAK,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW,CACzB,GAAY,EACZ,WAAmB,EACnB,OAAe,EACf,MAAqB;IAErB,8FAA8F;IAC9F,gGAAgG;IAChG,0FAA0F;IAC1F,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC;IAChC,OAAO,CACL,2CAA2C,GAAG,CAAC,UAAU,wBAAwB;QACjF,mBAAmB,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;QAC7C,0FAA0F,WAAW,GAAG;QACxG,GAAG,MAAM,GAAG,OAAO,EAAE;QACrB,qFAAqF,OAAO,EAAE,CAC/F,CAAC;AACJ,CAAC;AA2FD;;+EAE+E;AAC/E,SAAS,eAAe;IACtB,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED;iGACiG;AACjG,SAAS,QAAQ,CAAC,OAAoB;IACpC,OAAQ,OAAO,CAAC,WAAkD,CAAC,MAAM,EAAE,CAAC;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAoB,EACpB,OAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,IAAI,GAAgC,CAAC;IACrC,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,kFACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,EAA8B,CAAC;IACnC,IAAI,MAA+B,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnF,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,+CACE,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EACrD,mCAAmC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACtF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wFAAwF;IACxF,yFAAyF;IACzF,iDAAiD;IACjD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,8CAA8C,yBAAyB,eAAe;YACpF,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,wBAAwB,CACzC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,8BAA8B,CAAC,CAC3E,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC7E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,6FAA6F;IAC7F,+FAA+F;IAC/F,MAAM,eAAe,GAAG,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC;IACpE,MAAM,UAAU,GAAG,eAAe,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,qBAAqB;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,iCAAiC;IAChF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,oCAAoC;IAEzF;;0FAEsF;IACtF,SAAS,eAAe,CACtB,IAAY,EACZ,OAAgC,EAChC,cAAuB;QAEvB,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE;gBACnB,UAAU,EAAE,IAAI;gBAChB,MAAM,EAAE,kBAAkB;gBAC1B,SAAS,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;gBAC7D,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE;gBACrD,WAAW,EAAE,oBAAoB;gBACjC,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7E,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA0B,CAAC,KAAK,CAAC;YAC/C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,oFAAoF;gBACpF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,GAAG,CACD,2BAA2B,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC9F,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,SAAS,OAAO,CAAC,MAAgB,EAAE,OAAe;QAChD,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;QAC3B,eAAe,CAAC,aAAa,EAAE;YAC7B,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,KAAK,EAAE,SAAS;YAChB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,SAAS,SAAS,CAAC,KAAa;QAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS,YAAY,CAAC,UAAkB;QACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;iFAC6E;IAC7E,SAAS,OAAO,CAAC,UAAkB;QACjC,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC3E,CAAC;IAED;oEACgE;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO;QAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QAEjC,wFAAwF;QACxF,oFAAoF;QACpF,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE,CACxC,GAAG,GAAG,eAAe;YACnB,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,CAAC,6BAA6B,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;QAE5E,2FAA2F;QAC3F,6FAA6F;QAC7F,wFAAwF;QACxF,2DAA2D;QAC3D,MAAM,UAAU,GAAG,CAAC,CAAY,EAAW,EAAE,CAC3C,OAAQ,CAAuB,CAAC,GAAG,KAAK,QAAQ,IAAK,CAAqB,CAAC,GAAG,GAAG,eAAe,CAAC;QAEnG,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC;YACpE,OAAO,CACL,MAAM,EACN,aAAa,OAAO,gBAAgB,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAC1G,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,UAAU,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC9B,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC;YACnE,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,QAAQ,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO,CACL,MAAM,EACN,GAAG,GAAG,eAAe;gBACnB,CAAC,CAAC,cAAc,GAAG,IAAI,UAAU,yDAAyD,KAAK,IAAI;gBACnG,CAAC,CAAC,GAAG,IAAI,eAAe;oBACtB,CAAC,CAAC,cAAc,GAAG,IAAI,UAAU,4BAA4B,KAAK,IAAI;oBACtE,CAAC,CAAC,cAAc,GAAG,IAAI,UAAU,KAAK,KAAK,8CAA8C,CAC9F,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrF,IAAI,KAAK;gBAAE,OAAO,CAAC,MAAM,EAAE,mBAAmB,KAAK,oBAAoB,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACzD,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,CACL,MAAM,EACN,GAAG,GAAG,eAAe;gBACnB,CAAC,CAAC,qDAAqD;gBACvD,CAAC,CAAC,GAAG,IAAI,eAAe;oBACtB,CAAC,CAAC,wDAAwD;oBAC1D,CAAC,CAAC,iBAAiB,SAAS,CAAC,GAAG,CAAC,eAAe,CACrD,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;YAC3E,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,2DAA2D,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,kFAAkF;YAClF,MAAM,MAAM,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAAE,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC;YACrD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,MAAM,GAAG,GACP,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7F,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,MAAM,CAAC,UAAU;gBAC9B,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,mCAAmC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,GAAG;oBAChG,QAAQ,KAAK,KAAK,GAAG,kDAAkD,KAAK,6BAA6B;aAC5G,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,KAAK,YAAY,MAAM,CAAC,GAAG,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YAClF,oFAAoF;YACpF,sCAAsC;YACtC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,QAAQ,CAAC,MAAgB,EAAE,KAAa;QAC/C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAC5C,IAAI,EAAE,GAAG,KAAK,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,EAAE,GAAG,KAAK,CAAC;QACb,CAAC;QACD,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,8DAA8D,OAAO,SAAS,KAAK,iCAAiC;aAC9H,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,KAAK,kBAAkB,OAAO,mBAAmB,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QACD,sFAAsF;QACtF,qFAAqF;QACrF,sCAAsC;QACtC,MAAM,OAAO,GAAG,eAAe,CAC7B,eAAe,EACf,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,EAC/C,yBAAyB,GAAG,EAAE,CAC/B,CAAC;QACF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,mFAAmF;YACnF,qFAAqF;YACrF,2EAA2E;YAC3E,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC1B,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE,OAAO;gBACd,OAAO,EACL,wEAAwE,KAAK,KAAK;oBAClF,kBAAkB,OAAO,yDAAyD;aACrF,CAAC,CAAC;YACH,GAAG,CAAC,0DAA0D,GAAG,SAAS,KAAK,yBAAyB,CAAC,CAAC;YAC1G,OAAO;QACT,CAAC;QACD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1B,sFAAsF;QACtF,0FAA0F;QAC1F,0FAA0F;QAC1F,kFAAkF;QAClF,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE;YAC3B,OAAO,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC;YAChC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa;SAClC,CAAC,CAAC;QACH,eAAe,CAAC,aAAa,EAAE;YAC7B,WAAW,EAAE,UAAU;YACvB,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;QACH,GAAG,CAAC,sDAAsD,GAAG,SAAS,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IAED;;iGAE6F;IAC7F,KAAK,UAAU,SAAS,CAAC,MAAiB;QACxC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;QAC5B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,qFAAqF;YACrF,sDAAsD;YACtD,GAAG,CACD,0BAA0B,GAAG,2BAA2B,GAAG,CAAC,UAAU,IACpE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,GACpD,UAAU,QAAQ,EAAE,CACrB,CAAC;YACF,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,GAAG,CAAC,UAAU;gBAC3B,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,+DAA+D,GAAG,CAAC,YAAY,+BAA+B;aACxH,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,GAAG,eAAe,GAAG,CAAC,YAAY,mBAAmB,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,iFAAiF;QACjF,0FAA0F;QAC1F,qFAAqF;QACrF,2FAA2F;QAC3F,uEAAuE;QACvE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAC7C,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;QAE3B,wFAAwF;QACxF,uCAAuC;QACvC,eAAe,CAAC,aAAa,EAAE;YAC7B,WAAW,EAAE,GAAG,CAAC,UAAU;YAC3B,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,6DAA6D;SACvE,CAAC,CAAC;QAEH,8EAA8E;QAC9E,4FAA4F;QAC5F,uFAAuF;QACvF,yFAAyF;QACzF,2FAA2F;QAC3F,+FAA+F;QAC/F,uEAAuE;QACvE,EAAE;QACF,yFAAyF;QACzF,2FAA2F;QAC3F,+FAA+F;QAC/F,4FAA4F;QAC5F,gCAAgC;QAChC,IAAI,mBAAmB,GAA+B,IAAI,CAAC;QAC3D,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,KAAK,CACxF,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,IAAI;gBACb,MAAM,EACJ,kDAAkD;oBAClD,IAAI,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;oBACzD,wCAAwC;aAC3C,CAAC,CACH,CAAC;YACF,mBAAmB,GAAG,QAAQ,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,SAAS,CAAC;gBACtB,yFAAyF;gBACzF,0FAA0F;gBAC1F,wFAAwF;gBACxF,kFAAkF;gBAClF,OAAO,EAAE,WAAW,CAClB,GAAG,EACH,WAAW,EACX,OAAO,EACP,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CACrE;gBACD,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5D,QAAQ,EAAE,yBAAyB;gBACnC,iFAAiF;gBACjF,kFAAkF;gBAClF,2CAA2C;gBAC3C,GAAG,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpE,0FAA0F;gBAC1F,wFAAwF;gBACxF,2FAA2F;gBAC3F,2FAA2F;gBAC3F,8EAA8E;gBAC9E,GAAG,CAAC,mBAAmB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,wFAAwF;gBACxF,oFAAoF;gBACpF,sFAAsF;gBACtF,yDAAyD;gBACzD,EAAE;gBACF,qFAAqF;gBACrF,uFAAuF;gBACvF,qFAAqF;gBACrF,uFAAuF;gBACvF,wFAAwF;gBACxF,oFAAoF;gBACpF,oEAAoE;gBACpE,eAAe,EAAE,CAAC,MAAM,CAAC;gBACzB,qFAAqF;gBACrF,uFAAuF;gBACvF,0EAA0E;gBAC1E,mBAAmB,EAAE,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kFAAkF;YAClF,0EAA0E;YAC1E,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,GAAG,CAAC,UAAU;gBAC3B,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,4CAA4C,MAAM,gCAAgC;aAC5F,CAAC,CAAC;YACH,qFAAqF;YACrF,uEAAuE;YACvE,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,wFAAwF;QACxF,qFAAqF;QACrF,yDAAyD;QACzD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzE,MAAM,MAAM,GAAa;YACvB,GAAG;YACH,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO;YACP,YAAY,EAAE,GAAG,CAAC,IAAI;YACtB,SAAS,EAAE,+CAA+C;YAC1D,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;gBAC1B,oFAAoF;gBACpF,2CAA2C;gBAC3C,eAAe,CAAC,aAAa,EAAE;oBAC7B,WAAW,EAAE,MAAM,CAAC,UAAU;oBAC9B,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,MAAM,CAAC,SAAS;iBAC1B,CAAC,CAAC;YACL,CAAC,EAAE,WAAW,CAAC;YACf,oDAAoD;SACrD,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC5B,GAAG,CAAC,0BAA0B,GAAG,mBAAmB,KAAK,MAAM,GAAG,CAAC,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;IAC3F,CAAC;IAED;;4FAEwF;IACxF,SAAS,SAAS,CAAC,UAAkB,EAAE,SAAkB;QACvD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,GAAG,CAAC,uCAAuC,UAAU,2CAA2C,CAAC,CAAC;YAClG,OAAO,KAAK,CAAC;QACf,CAAC;QACD,uFAAuF;QACvF,6BAA6B;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,IAAI,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC7C,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;sCAEkC;IAClC,SAAS,QAAQ,CAAC,UAAkB;QAClC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC;YAAE,OAAO;QACzD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAClD,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjC,GAAG,CACD,kCAAkC,IAAI,CAAC,GAAG,sBACxC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;YACF,0DAA0D;YAC1D,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6FAA6F;IAC7F,uFAAuF;IACvF,wFAAwF;IACxF,wFAAwF;IACxF,4EAA4E;IAC5E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;YAC9C,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;IAC9B,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAEhB,KAAK,UAAU,gBAAgB,CAAC,KAAe;QAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO;QACzB,uFAAuF;QACvF,wFAAwF;QACxF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,qCAAqC,GAAG,CAAC,UAAU,6CAA6C,CAAC,CAAC;YACtG,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAEzE,sFAAsF;QACtF,oFAAoF;QACpF,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,GAAG,CAAC,0BAA0B,GAAG,0BAA0B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,oBAAoB,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;gBAAE,OAAO;QAC5B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC;gBAAE,OAAO;QACnD,CAAC;QAED,+FAA+F;QAC/F,yFAAyF;QACzF,gEAAgE;QAChE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,GAAG,CAAC,kDAAkD,GAAG,CAAC,UAAU,UAAU,QAAQ,YAAY,CAAC,CAAC;YACpG,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,GAAG,CACD,0BAA0B,GAAG,CAAC,UAAU,cAAc,GAAG,CAAC,IAAI,sEAAsE,CACrI,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAc,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEhE,0FAA0F;QAC1F,4EAA4E;QAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACtG,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAClC,eAAe,CAAC,aAAa,EAAE;gBAC7B,WAAW,EAAE,GAAG,CAAC,UAAU;gBAC3B,KAAK,EAAE,YAAY;gBACnB,OAAO,EACL,+HAA+H;aAClI,CAAC,CAAC;YACH,GAAG,CAAC,0BAA0B,GAAG,2BAA2B,GAAG,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,WAAW,CAAC,CAAC;YACxG,OAAO;QACT,CAAC;QAED,mFAAmF;QACnF,iDAAiD;QACjD,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC;QACxB,EAAE;QACF,MAAM,EAAE,2BAA2B;QACnC,MAAM,EAAE,2BAA2B;QACnC,yFAAyF;QACzF,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,IAAI;QAC3C,wFAAwF;QACxF,mFAAmF;QACnF,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACrD,OAAO,EAAE,CAAC,GAAU,EAAE,KAAgB,EAAE,EAAE;YACxC,GAAG,CACD,6CAA6C,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAC9F,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,MAAM;QACN,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACjF,WAAW,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;QACxE,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,aAAa,EAAE,CAAC;YAChB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -152,6 +152,31 @@ export declare const SNAPSHOT_PATH_MAX = 300;
152
152
  * (the PTY seat runner refuses embedded newlines — and `oneLine`'s whitespace collapse would
153
153
  * respell the path, so it is never applied to paths) and within the prompt budget. */
154
154
  export declare function groundablePath(path: string): boolean;
155
+ /** The facet axes a recall intent can carry. Every axis is OPTIONAL and only defined ones ride the
156
+ * clause — `memory.recall` matches on a subset, so a `{project}`-only intent is legitimate.
157
+ * `project` is the reliably-available axis threaded today; `cli`/`repo` are Phase 6. */
158
+ export interface RecallIntent {
159
+ project?: string;
160
+ cli?: string;
161
+ repo?: string;
162
+ }
163
+ /** The non-empty subset of DEFINED axes for a recall intent, or `undefined` when no axis is set.
164
+ * Only defined axes are included, so `JSON.stringify` never emits `undefined`/`null` keys — the
165
+ * clause carries exactly the facets that were threaded. */
166
+ export declare function recallIntentObject(intent?: RecallIntent): Record<string, string> | undefined;
167
+ /** The recall clause (DES-MEM-FACETED-001 Phase 3): instruct the worker to call the read-only
168
+ * wicked-estate MCP `memory.recall` with the faceted intent BEFORE it starts, then ground its
169
+ * work in what returns. Empty (no axis) ⇒ `''` — omitted entirely, exactly like the grounding
170
+ * clause omits the snapshot fallback when there is no snapshot. SINGLE-LINE by contract (the PTY
171
+ * seat runner refuses embedded newlines; `JSON.stringify` of a flat string map never emits one). */
172
+ export declare function recallClause(intent?: RecallIntent): string;
173
+ /** The propose clause (DES-MEM-FACETED-001 write side): instruct the worker to record a reusable
174
+ * learning by calling the wicked-estate MCP `proposal.submit` tool. This is a SAFE write — the
175
+ * proposal lands in a review queue, inert (never recalled or applied) until an operator approves
176
+ * it, so it can never pollute anything. Unconditional (every worker may propose). SINGLE-LINE by
177
+ * contract (the PTY seat runner refuses embedded newlines). Provenance is stamped by the server
178
+ * from the run env, so the worker supplies only content/facets. */
179
+ export declare function proposeClause(): string;
155
180
  /**
156
181
  * The run's problem statement (the engine scopes it per phase and folds each phase's
157
182
  * instructions on top). Carries everything doc-specific: identity, brief, sources, style, and
@@ -177,7 +202,7 @@ export declare function groundablePath(path: string): boolean;
177
202
  * SINGLE-LINE by contract: the PTY seat runner refuses any embedded newline (FINDING-011), so
178
203
  * every fragment here stays on one line and the brief is flattened+capped by {@link oneLine}.
179
204
  */
180
- export declare function draftProblem(doc: SourceDocCreated, outPath: string, snapshotDir?: string): string;
205
+ export declare function draftProblem(doc: SourceDocCreated, outPath: string, snapshotDir?: string, intent?: RecallIntent): string;
181
206
  /** Deterministic bus idempotency key for the one draft this seam may land per document. */
182
207
  export declare function draftIdempotencyKey(documentId: string): string;
183
208
  export { InteractiveHandoffLedger, type HandoffLedgerEntry } from './ledger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"draft-events.d.ts","sourceRoot":"","sources":["../../src/interactive/draft-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"draft-events.d.ts","sourceRoot":"","sources":["../../src/interactive/draft-events.ts"],"names":[],"mappings":"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"}
@@ -211,6 +211,51 @@ export const SNAPSHOT_PATH_MAX = 300;
211
211
  export function groundablePath(path) {
212
212
  return path.length <= SNAPSHOT_PATH_MAX && !/[\n\r\t]/.test(path);
213
213
  }
214
+ /** The non-empty subset of DEFINED axes for a recall intent, or `undefined` when no axis is set.
215
+ * Only defined axes are included, so `JSON.stringify` never emits `undefined`/`null` keys — the
216
+ * clause carries exactly the facets that were threaded. */
217
+ export function recallIntentObject(intent) {
218
+ if (intent === undefined)
219
+ return undefined;
220
+ const obj = {};
221
+ if (intent.project !== undefined)
222
+ obj['project'] = intent.project;
223
+ if (intent.cli !== undefined)
224
+ obj['cli'] = intent.cli;
225
+ if (intent.repo !== undefined)
226
+ obj['repo'] = intent.repo;
227
+ return Object.keys(obj).length > 0 ? obj : undefined;
228
+ }
229
+ /** The recall clause (DES-MEM-FACETED-001 Phase 3): instruct the worker to call the read-only
230
+ * wicked-estate MCP `memory.recall` with the faceted intent BEFORE it starts, then ground its
231
+ * work in what returns. Empty (no axis) ⇒ `''` — omitted entirely, exactly like the grounding
232
+ * clause omits the snapshot fallback when there is no snapshot. SINGLE-LINE by contract (the PTY
233
+ * seat runner refuses embedded newlines; `JSON.stringify` of a flat string map never emits one). */
234
+ export function recallClause(intent) {
235
+ const intentObj = recallIntentObject(intent);
236
+ if (intentObj === undefined)
237
+ return '';
238
+ return (`Before you start, recall relevant prior learnings and decisions for this work: call the ` +
239
+ `wicked-estate MCP memory.recall tool with intent ${JSON.stringify(intentObj)} and a query ` +
240
+ `describing the task, then ground your work in what it returns (it may be empty — that is fine). `);
241
+ }
242
+ /** The propose clause (DES-MEM-FACETED-001 write side): instruct the worker to record a reusable
243
+ * learning by calling the wicked-estate MCP `proposal.submit` tool. This is a SAFE write — the
244
+ * proposal lands in a review queue, inert (never recalled or applied) until an operator approves
245
+ * it, so it can never pollute anything. Unconditional (every worker may propose). SINGLE-LINE by
246
+ * contract (the PTY seat runner refuses embedded newlines). Provenance is stamped by the server
247
+ * from the run env, so the worker supplies only content/facets. */
248
+ export function proposeClause() {
249
+ return (`When you learn something reusable that would help a future run — a CLI quirk, a repo build ` +
250
+ `gotcha, a tool behavior, a project decision — record it: call the wicked-estate MCP ` +
251
+ `proposal.submit tool with kind_type "memory", payload {"content":"<the learning>","tier":"procedural"}, ` +
252
+ `and facets tagging ONLY the natural axis it is about (e.g. {"cli":"codex"} for a codex quirk, not ` +
253
+ `tied to this repo). NEVER include secrets, credentials, tokens, API keys, or personal data — a ` +
254
+ `promoted proposal becomes shared memory. proposal.submit is a PERMITTED safe write even though your ` +
255
+ `estate MCP is otherwise read-only (it refuses your other writes) — the proposal is inert (never ` +
256
+ `recalled or applied) until a human reviews it, so proposing costs nothing and pollutes nothing; ` +
257
+ `capturing nothing is fine; never fabricate. `);
258
+ }
214
259
  /**
215
260
  * The run's problem statement (the engine scopes it per phase and folds each phase's
216
261
  * instructions on top). Carries everything doc-specific: identity, brief, sources, style, and
@@ -236,7 +281,7 @@ export function groundablePath(path) {
236
281
  * SINGLE-LINE by contract: the PTY seat runner refuses any embedded newline (FINDING-011), so
237
282
  * every fragment here stays on one line and the brief is flattened+capped by {@link oneLine}.
238
283
  */
239
- export function draftProblem(doc, outPath, snapshotDir) {
284
+ export function draftProblem(doc, outPath, snapshotDir, intent) {
240
285
  const sources = doc.sourcePaths.length > 0
241
286
  ? `Source materials to read: ${doc.sourcePaths.join(', ')}.`
242
287
  : 'There are no source files — the brief alone is the spec.';
@@ -248,8 +293,12 @@ export function draftProblem(doc, outPath, snapshotDir) {
248
293
  (snapshotDir !== undefined
249
294
  ? `If the estate tools are unavailable, fall back to the offline repository snapshot at ${snapshotDir} instead. `
250
295
  : '');
296
+ // The recall clause (DES-MEM-FACETED-001 Phase 3) sits right beside grounding; `''` when the
297
+ // intent carries no axis, so an unfiled draft reads exactly as it did before this phase.
298
+ const recall = recallClause(intent);
299
+ const propose = proposeClause();
251
300
  return (`Produce the first draft of the wicked-interactive document "${doc.documentId}" ` +
252
- `(requested style: ${doc.style}). The user's brief: ${brief} ${sources} ${grounding}` +
301
+ `(requested style: ${doc.style}). The user's brief: ${brief} ${sources} ${grounding}${recall}${propose}` +
253
302
  `The finished draft MUST be written to exactly this absolute file path: ${outPath}`);
254
303
  }
255
304
  /** Deterministic bus idempotency key for the one draft this seam may land per document. */
@@ -689,7 +738,11 @@ export async function startInteractiveDraftSubscriber(adapter, opts = {}) {
689
738
  }
690
739
  try {
691
740
  await adapter.launchRun({
692
- problem: draftProblem(doc, outPath, snapshotDir),
741
+ // DES-MEM-FACETED-001 Phase 3: thread the doc's project as the recall intent's `project`
742
+ // axis (the reliably-available axis on this seam). An unfiled doc leaves it undefined, so
743
+ // the clause is omitted. Phase 6: thread cli/repo (no single cli is in scope here — the
744
+ // launch carries the whole council roster via `clisJson`, not one assigned seat).
745
+ problem: draftProblem(doc, outPath, snapshotDir, doc.projectId !== undefined ? { project: doc.projectId } : undefined),
693
746
  sessionId: runId,
694
747
  clisJson: opts.clisJson ?? JSON.stringify(rosterOf(adapter)),
695
748
  workflow: INTERACTIVE_DRAFT_WORKFLOW,