@pentoshi/clai 0.7.3 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/commands/providers.js +2 -0
- package/dist/commands/providers.js.map +1 -1
- package/dist/commands/update.js +1 -1
- package/dist/llm/agentrouter.d.ts +2 -0
- package/dist/llm/agentrouter.js +65 -0
- package/dist/llm/agentrouter.js.map +1 -0
- package/dist/llm/capabilities.js +9 -0
- package/dist/llm/capabilities.js.map +1 -1
- package/dist/llm/http.d.ts +1 -1
- package/dist/llm/http.js +125 -29
- package/dist/llm/http.js.map +1 -1
- package/dist/llm/provider.js +9 -10
- package/dist/llm/provider.js.map +1 -1
- package/dist/llm/router.js +3 -0
- package/dist/llm/router.js.map +1 -1
- package/dist/repl.js +57 -18
- package/dist/repl.js.map +1 -1
- package/dist/store/config.js +1 -0
- package/dist/store/config.js.map +1 -1
- package/dist/tools/registry.js +32 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -1
- package/dist/ui/output-pane.d.ts +30 -2
- package/dist/ui/output-pane.js +313 -3
- package/dist/ui/output-pane.js.map +1 -1
- package/package.json +1 -1
package/dist/ui/output-pane.js
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { readFile } from "node:fs/promises";
|
|
2
|
+
import { stdin as input, stdout as output } from "node:process";
|
|
2
3
|
import chalk from "chalk";
|
|
4
|
+
import { isCtrlC, isCtrlO, isEscape } from "./keys.js";
|
|
3
5
|
let viewportCounter = 0;
|
|
4
6
|
const viewports = new Map();
|
|
5
7
|
let lastViewportId;
|
|
8
|
+
let pagerActive = false;
|
|
9
|
+
/** True while the alt-screen pager owns the terminal. The REPL prompt
|
|
10
|
+
* inspects this so its own keypress handler ignores nav keys while the
|
|
11
|
+
* pager is open (otherwise `j` etc would be inserted into the input). */
|
|
12
|
+
export function isPagerActive() {
|
|
13
|
+
return pagerActive;
|
|
14
|
+
}
|
|
6
15
|
export function newViewportId(toolName) {
|
|
7
16
|
viewportCounter += 1;
|
|
8
17
|
return `${toolName.replace(/\W+/g, "-")}-${viewportCounter}`;
|
|
@@ -32,8 +41,12 @@ export function listViewports() {
|
|
|
32
41
|
}
|
|
33
42
|
/**
|
|
34
43
|
* Toggle expansion and render either the full artifact (when expanding) or
|
|
35
|
-
* a collapse confirmation (when collapsing). Used
|
|
36
|
-
*
|
|
44
|
+
* a collapse confirmation (when collapsing). Used by the `/output` slash
|
|
45
|
+
* command and as a non-TTY fallback for the Ctrl+O key handler.
|
|
46
|
+
*
|
|
47
|
+
* The interactive Ctrl+O shortcut prefers `openViewportPager` instead, which
|
|
48
|
+
* opens an alternate-screen pager (less-style) the user can scroll and
|
|
49
|
+
* close with `q` or Ctrl+O.
|
|
37
50
|
*/
|
|
38
51
|
export async function toggleViewport(id, write = (c) => process.stdout.write(c)) {
|
|
39
52
|
const v = viewports.get(id);
|
|
@@ -74,6 +87,303 @@ export function formatViewportHint(v) {
|
|
|
74
87
|
hints.push("/output last");
|
|
75
88
|
if (v.artifactPath)
|
|
76
89
|
hints.push(`/output ${v.id}`);
|
|
77
|
-
|
|
90
|
+
const action = v.expanded
|
|
91
|
+
? "collapse"
|
|
92
|
+
: process.stdout.isTTY
|
|
93
|
+
? "open full output (q to close)"
|
|
94
|
+
: "show full output";
|
|
95
|
+
return chalk.dim(` ${hints.join(" or ")} to ${action}${v.artifactPath ? ` (${v.artifactPath})` : ""}`);
|
|
96
|
+
}
|
|
97
|
+
function ansiSeq(code) {
|
|
98
|
+
return `\x1b[${code}`;
|
|
99
|
+
}
|
|
100
|
+
const ALT_SCREEN_ENTER = "\x1b[?1049h";
|
|
101
|
+
const ALT_SCREEN_EXIT = "\x1b[?1049l";
|
|
102
|
+
const HIDE_CURSOR = "\x1b[?25l";
|
|
103
|
+
const SHOW_CURSOR = "\x1b[?25h";
|
|
104
|
+
const CLEAR_SCREEN = "\x1b[2J";
|
|
105
|
+
const HOME = "\x1b[H";
|
|
106
|
+
function termSize() {
|
|
107
|
+
const rows = output.rows ?? 24;
|
|
108
|
+
const cols = output.columns ?? 80;
|
|
109
|
+
return { rows: Math.max(rows, 4), cols: Math.max(cols, 20) };
|
|
110
|
+
}
|
|
111
|
+
/** Wrap a single logical line to the given column width, preserving ANSI
|
|
112
|
+
* escapes by treating them as zero-width when measuring. */
|
|
113
|
+
function wrapLine(line, width) {
|
|
114
|
+
if (width <= 0)
|
|
115
|
+
return [line];
|
|
116
|
+
const ansiRe = /\x1b\[[0-9;]*[A-Za-z]/g;
|
|
117
|
+
const stripped = line.replace(ansiRe, "");
|
|
118
|
+
if (stripped.length <= width)
|
|
119
|
+
return [line];
|
|
120
|
+
// Naive but ANSI-aware wrap: walk character by character, breaking when
|
|
121
|
+
// the visible column counter hits `width`. We don't try to preserve
|
|
122
|
+
// styling across breaks, only to avoid splitting an escape mid-sequence.
|
|
123
|
+
const result = [];
|
|
124
|
+
let buf = "";
|
|
125
|
+
let visible = 0;
|
|
126
|
+
let i = 0;
|
|
127
|
+
while (i < line.length) {
|
|
128
|
+
const ch = line[i];
|
|
129
|
+
if (ch === "\x1b" && line[i + 1] === "[") {
|
|
130
|
+
const end = line.indexOf("m", i);
|
|
131
|
+
if (end >= 0) {
|
|
132
|
+
buf += line.slice(i, end + 1);
|
|
133
|
+
i = end + 1;
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
buf += ch;
|
|
138
|
+
visible += 1;
|
|
139
|
+
i += 1;
|
|
140
|
+
if (visible >= width) {
|
|
141
|
+
result.push(buf);
|
|
142
|
+
buf = "";
|
|
143
|
+
visible = 0;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
if (buf.length > 0)
|
|
147
|
+
result.push(buf);
|
|
148
|
+
return result;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Open `body` in an alternate-screen pager. Resolves once the user closes
|
|
152
|
+
* it (q, ESC, or Ctrl+O). Falls back to inline rendering when the terminal
|
|
153
|
+
* is not a TTY (eg piped output, non-interactive shells) so the same code
|
|
154
|
+
* path also serves CI logs.
|
|
155
|
+
*/
|
|
156
|
+
export async function openPager(options) {
|
|
157
|
+
if (!output.isTTY || !input.isTTY) {
|
|
158
|
+
// Non-TTY fallback — just dump the body. Useful for `clai ... | tee log`.
|
|
159
|
+
process.stdout.write(`\n── ${options.title} ──\n`);
|
|
160
|
+
process.stdout.write(options.body);
|
|
161
|
+
if (!options.body.endsWith("\n"))
|
|
162
|
+
process.stdout.write("\n");
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const lines = options.body.split(/\r?\n/);
|
|
166
|
+
return new Promise((resolve) => {
|
|
167
|
+
// Track whether we entered raw mode ourselves so we can restore the
|
|
168
|
+
// exact previous state. The REPL toggles raw mode for its own input
|
|
169
|
+
// loop, so we want to leave it the way we found it.
|
|
170
|
+
const wasRaw = input.isRaw ?? false;
|
|
171
|
+
let scrollTop = 0;
|
|
172
|
+
let resolved = false;
|
|
173
|
+
// Memoize the wrap result by column width. Wrapping every paint for a
|
|
174
|
+
// 100k-line artifact would burn CPU; recompute only when the terminal
|
|
175
|
+
// is resized to a different width.
|
|
176
|
+
let cachedWidth = -1;
|
|
177
|
+
let wrapped = [];
|
|
178
|
+
const computeWrapped = (cols) => {
|
|
179
|
+
if (cachedWidth === cols)
|
|
180
|
+
return wrapped;
|
|
181
|
+
cachedWidth = cols;
|
|
182
|
+
wrapped = [];
|
|
183
|
+
for (const line of lines) {
|
|
184
|
+
const segments = wrapLine(line, cols);
|
|
185
|
+
for (const seg of segments)
|
|
186
|
+
wrapped.push(seg);
|
|
187
|
+
}
|
|
188
|
+
return wrapped;
|
|
189
|
+
};
|
|
190
|
+
const enter = () => {
|
|
191
|
+
output.write(ALT_SCREEN_ENTER);
|
|
192
|
+
output.write(HIDE_CURSOR);
|
|
193
|
+
output.write(CLEAR_SCREEN);
|
|
194
|
+
output.write(HOME);
|
|
195
|
+
};
|
|
196
|
+
const exit = () => {
|
|
197
|
+
output.write(SHOW_CURSOR);
|
|
198
|
+
output.write(ALT_SCREEN_EXIT);
|
|
199
|
+
};
|
|
200
|
+
const buildFooter = (visibleStart, visibleEnd, total) => {
|
|
201
|
+
const help = options.footer ??
|
|
202
|
+
"↑/↓ j/k · PgUp/PgDn space · g/G top/bottom · q or Ctrl+O to close";
|
|
203
|
+
const ratio = total === 0 ? 100 : Math.round((visibleEnd / total) * 100);
|
|
204
|
+
const counter = `${visibleStart + 1}-${visibleEnd}/${total} (${ratio}%)`;
|
|
205
|
+
return `${help} ${chalk.dim(counter)}`;
|
|
206
|
+
};
|
|
207
|
+
const paint = () => {
|
|
208
|
+
const { rows, cols } = termSize();
|
|
209
|
+
const headerLines = 1;
|
|
210
|
+
const footerLines = 1;
|
|
211
|
+
const viewRows = Math.max(rows - headerLines - footerLines, 1);
|
|
212
|
+
const wrappedLines = computeWrapped(cols);
|
|
213
|
+
const total = wrappedLines.length;
|
|
214
|
+
if (scrollTop > Math.max(total - viewRows, 0)) {
|
|
215
|
+
scrollTop = Math.max(total - viewRows, 0);
|
|
216
|
+
}
|
|
217
|
+
if (scrollTop < 0)
|
|
218
|
+
scrollTop = 0;
|
|
219
|
+
const slice = wrappedLines.slice(scrollTop, scrollTop + viewRows);
|
|
220
|
+
// Build the full frame in a single buffer and write it at once. Many
|
|
221
|
+
// small `output.write()` calls cause flicker on Windows Terminal and
|
|
222
|
+
// on macOS Terminal.app under high CPU load; one big write paints
|
|
223
|
+
// the whole pager in a single syscall.
|
|
224
|
+
let frame = "";
|
|
225
|
+
frame += HOME;
|
|
226
|
+
frame += CLEAR_SCREEN;
|
|
227
|
+
frame += HOME;
|
|
228
|
+
frame += chalk.cyan(options.title);
|
|
229
|
+
frame += "\n";
|
|
230
|
+
for (let i = 0; i < viewRows; i += 1) {
|
|
231
|
+
frame += ansiSeq(`${i + 2};1H`);
|
|
232
|
+
frame += slice[i] ?? "";
|
|
233
|
+
frame += ansiSeq("K");
|
|
234
|
+
}
|
|
235
|
+
frame += ansiSeq(`${rows};1H`);
|
|
236
|
+
frame += ansiSeq("K");
|
|
237
|
+
const footer = buildFooter(scrollTop, Math.min(scrollTop + viewRows, total), total);
|
|
238
|
+
const visibleFooter = footer.length > cols ? footer.slice(0, cols) : footer;
|
|
239
|
+
frame += chalk.dim(visibleFooter);
|
|
240
|
+
output.write(frame);
|
|
241
|
+
};
|
|
242
|
+
const close = () => {
|
|
243
|
+
if (resolved)
|
|
244
|
+
return;
|
|
245
|
+
resolved = true;
|
|
246
|
+
pagerActive = false;
|
|
247
|
+
input.off("keypress", handleKeypress);
|
|
248
|
+
output.off("resize", handleResize);
|
|
249
|
+
if (input.isTTY) {
|
|
250
|
+
try {
|
|
251
|
+
input.setRawMode(wasRaw);
|
|
252
|
+
}
|
|
253
|
+
catch {
|
|
254
|
+
// ignore — caller is responsible for restoring its preferred mode
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
exit();
|
|
258
|
+
resolve();
|
|
259
|
+
};
|
|
260
|
+
function handleResize() {
|
|
261
|
+
if (resolved)
|
|
262
|
+
return;
|
|
263
|
+
// Force re-wrap on next paint — the column width changed.
|
|
264
|
+
cachedWidth = -1;
|
|
265
|
+
paint();
|
|
266
|
+
}
|
|
267
|
+
function handleKeypress(_seq, key) {
|
|
268
|
+
if (resolved)
|
|
269
|
+
return;
|
|
270
|
+
if (isCtrlC(key)) {
|
|
271
|
+
// Treat Ctrl+C as "close pager" rather than killing the whole REPL.
|
|
272
|
+
close();
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
if (isCtrlO(key)) {
|
|
276
|
+
close();
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
if (isEscape(key) || key.name === "q") {
|
|
280
|
+
close();
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const { rows } = termSize();
|
|
284
|
+
const pageSize = Math.max(rows - 3, 1);
|
|
285
|
+
if (key.name === "down" || key.name === "j") {
|
|
286
|
+
scrollTop += 1;
|
|
287
|
+
paint();
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
if (key.name === "up" || key.name === "k") {
|
|
291
|
+
scrollTop = Math.max(0, scrollTop - 1);
|
|
292
|
+
paint();
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
if (key.name === "pagedown" ||
|
|
296
|
+
(key.ctrl && key.name === "f") ||
|
|
297
|
+
key.name === "space") {
|
|
298
|
+
scrollTop += pageSize;
|
|
299
|
+
paint();
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
if (key.name === "pageup" || (key.ctrl && key.name === "b")) {
|
|
303
|
+
scrollTop = Math.max(0, scrollTop - pageSize);
|
|
304
|
+
paint();
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
if (key.name === "g" && !key.shift) {
|
|
308
|
+
scrollTop = 0;
|
|
309
|
+
paint();
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
if (key.name === "g" && key.shift) {
|
|
313
|
+
scrollTop = Number.MAX_SAFE_INTEGER;
|
|
314
|
+
paint();
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
if (key.name === "home") {
|
|
318
|
+
scrollTop = 0;
|
|
319
|
+
paint();
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
if (key.name === "end") {
|
|
323
|
+
scrollTop = Number.MAX_SAFE_INTEGER;
|
|
324
|
+
paint();
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
try {
|
|
329
|
+
pagerActive = true;
|
|
330
|
+
enter();
|
|
331
|
+
if (input.isTTY)
|
|
332
|
+
input.setRawMode(true);
|
|
333
|
+
input.resume();
|
|
334
|
+
input.on("keypress", handleKeypress);
|
|
335
|
+
output.on("resize", handleResize);
|
|
336
|
+
paint();
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
// Surface to stderr in case alt-screen is unsupported, then fall back
|
|
340
|
+
// to inline render so the user still sees the data.
|
|
341
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
342
|
+
process.stderr.write(chalk.yellow(`\n (pager unavailable: ${msg})\n`));
|
|
343
|
+
pagerActive = false;
|
|
344
|
+
try {
|
|
345
|
+
exit();
|
|
346
|
+
}
|
|
347
|
+
catch {
|
|
348
|
+
// ignore
|
|
349
|
+
}
|
|
350
|
+
process.stdout.write(`\n── ${options.title} ──\n`);
|
|
351
|
+
process.stdout.write(options.body);
|
|
352
|
+
if (!options.body.endsWith("\n"))
|
|
353
|
+
process.stdout.write("\n");
|
|
354
|
+
resolved = true;
|
|
355
|
+
resolve();
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Open the full output for a viewport in the alternate-screen pager. Reads
|
|
361
|
+
* the raw artifact when present; falls back to the AI-facing summary so
|
|
362
|
+
* the user always sees something even if the artifact file was rotated.
|
|
363
|
+
*/
|
|
364
|
+
export async function openViewportPager(id) {
|
|
365
|
+
const v = viewports.get(id);
|
|
366
|
+
if (!v)
|
|
367
|
+
return false;
|
|
368
|
+
let body = v.summary;
|
|
369
|
+
if (v.artifactPath) {
|
|
370
|
+
try {
|
|
371
|
+
body = await readFile(v.artifactPath, "utf8");
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
375
|
+
body = `(could not read artifact ${v.artifactPath}: ${msg})\n\n${v.summary}`;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
// Mark expanded for parity with the toggleViewport flow so /output behavior
|
|
379
|
+
// stays consistent — opening the pager counts as "expanded".
|
|
380
|
+
v.expanded = true;
|
|
381
|
+
await openPager({
|
|
382
|
+
title: `full output · ${v.toolName} ${v.argsDisplay}${v.artifactPath ? ` · ${v.artifactPath}` : ""}`,
|
|
383
|
+
body,
|
|
384
|
+
});
|
|
385
|
+
// Closing the pager collapses the viewport back to its summary state.
|
|
386
|
+
v.expanded = false;
|
|
387
|
+
return true;
|
|
78
388
|
}
|
|
79
389
|
//# sourceMappingURL=output-pane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output-pane.js","sourceRoot":"","sources":["../../src/ui/output-pane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"output-pane.js","sourceRoot":"","sources":["../../src/ui/output-pane.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAmBvD,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;AACpD,IAAI,cAAkC,CAAC;AACvC,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB;;0EAE0E;AAC1E,MAAM,UAAU,aAAa;IAC3B,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,eAAe,IAAI,CAAC,CAAC;IACrB,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,OAA4F;IAE5F,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,CAAC,GAAmB;QACxB,GAAG,OAAO;QACV,EAAE;QACF,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;IACF,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,cAAc,GAAG,EAAE,CAAC;IACpB,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU;IACpC,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IACtC,OAAO,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,EAAU,EACV,QAAiC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/D,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzB,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBACnD,KAAK,CAAC,GAAG,CAAC,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,KAAK,CACH,KAAK,CAAC,MAAM,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CACzG,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,cAAc,GAAG,SAAS,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAiB;IAClD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,IAAI,CAAC,CAAC,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ;QACvB,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;YACpB,CAAC,CAAC,+BAA+B;YACjC,CAAC,CAAC,kBAAkB,CAAC;IACzB,OAAO,KAAK,CAAC,GAAG,CACd,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtF,CAAC;AACJ,CAAC;AAgBD,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,QAAQ,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,gBAAgB,GAAG,aAAa,CAAC;AACvC,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,SAAS,QAAQ;IACf,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED;6DAC6D;AAC7D,SAAS,QAAQ,CAAC,IAAY,EAAE,KAAa;IAC3C,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,MAAM,GAAG,wBAAwB,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,IAAI,EAAE,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACb,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC9B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QACD,GAAG,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC,CAAC;QACb,CAAC,IAAI,CAAC,CAAC;QACP,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,GAAG,GAAG,EAAE,CAAC;YACT,OAAO,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,MAAM,CAAC;AAChB,CAAC;AASD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAqB;IACnD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClC,0EAA0E;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,oEAAoE;QACpE,oEAAoE;QACpE,oDAAoD;QACpD,MAAM,MAAM,GAAI,KAA6B,CAAC,KAAK,IAAI,KAAK,CAAC;QAC7D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,sEAAsE;QACtE,sEAAsE;QACtE,mCAAmC;QACnC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,CAAC,IAAY,EAAY,EAAE;YAChD,IAAI,WAAW,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC;YACnB,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACtC,KAAK,MAAM,GAAG,IAAI,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,CAClB,YAAoB,EACpB,UAAkB,EAClB,KAAa,EACL,EAAE;YACV,MAAM,IAAI,GACR,OAAO,CAAC,MAAM;gBACd,mEAAmE,CAAC;YACtE,MAAM,KAAK,GACT,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,GAAG,YAAY,GAAG,CAAC,IAAI,UAAU,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC;YACzE,OAAO,GAAG,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;YAClC,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,WAAW,GAAG,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC;YAE/D,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;YAClC,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC9C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,SAAS,GAAG,CAAC;gBAAE,SAAS,GAAG,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;YAElE,qEAAqE;YACrE,qEAAqE;YACrE,kEAAkE;YAClE,uCAAuC;YACvC,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,IAAI,YAAY,CAAC;YACtB,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACnC,KAAK,IAAI,IAAI,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAChC,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;YACD,KAAK,IAAI,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC;YAC/B,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,MAAM,MAAM,GAAG,WAAW,CACxB,SAAS,EACT,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,QAAQ,EAAE,KAAK,CAAC,EACrC,KAAK,CACN,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC5E,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAElC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,KAAK,GAAG,GAAS,EAAE;YACvB,IAAI,QAAQ;gBAAE,OAAO;YACrB,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,GAAG,KAAK,CAAC;YACpB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,IAAI,CAAC;oBACH,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;gBAAC,MAAM,CAAC;oBACP,kEAAkE;gBACpE,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,SAAS,YAAY;YACnB,IAAI,QAAQ;gBAAE,OAAO;YACrB,0DAA0D;YAC1D,WAAW,GAAG,CAAC,CAAC,CAAC;YACjB,KAAK,EAAE,CAAC;QACV,CAAC;QAED,SAAS,cAAc,CAAC,IAAY,EAAE,GAAgB;YACpD,IAAI,QAAQ;gBAAE,OAAO;YAErB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,oEAAoE;gBACpE,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACtC,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC5C,SAAS,IAAI,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC1C,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;gBACvC,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IACE,GAAG,CAAC,IAAI,KAAK,UAAU;gBACvB,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;gBAC9B,GAAG,CAAC,IAAI,KAAK,OAAO,EACpB,CAAC;gBACD,SAAS,IAAI,QAAQ,CAAC;gBACtB,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC5D,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;gBAC9C,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;gBACnC,SAAS,GAAG,CAAC,CAAC;gBACd,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAClC,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACpC,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,SAAS,GAAG,CAAC,CAAC;gBACd,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvB,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBACpC,KAAK,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC;YACnB,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAClC,KAAK,EAAE,CAAC;QACV,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sEAAsE;YACtE,oDAAoD;YACpD,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,2BAA2B,GAAG,KAAK,CAAC,CAAC,CAAC;YACxE,WAAW,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC;gBACH,IAAI,EAAE,CAAC;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,QAAQ,GAAG,IAAI,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAU;IAChD,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,IAAI,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC;IACrB,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,GAAG,4BAA4B,CAAC,CAAC,YAAY,KAAK,GAAG,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,4EAA4E;IAC5E,6DAA6D;IAC7D,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;IAClB,MAAM,SAAS,CAAC;QACd,KAAK,EAAE,iBAAiB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;QACpG,IAAI;KACL,CAAC,CAAC;IACH,sEAAsE;IACtE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;IACnB,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/package.json
CHANGED