@valyrianjs/terminal 0.2.2 → 0.2.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElG,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,2BAA2B,4CAA4C,CAAC;AACrF,eAAO,MAAM,4BAA4B,4CAA4C,CAAC;AAEtF,KAAK,gBAAgB,GAAG;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,UAE9C;AAwMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,gBAAqB,UAEpF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,GAAE,iBAAiB,EAAO,EAAE,OAAO,GAAE,gBAAqB,UAK1I;AAED,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,mBAAmB,CA0BrB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,gBAAqB,IAGtC,OAAO,MAAM,EAAE,EAAE,QAAQ,cAAc,GAAG,IAAI,EAAE,QAAO,iBAAiB,EAAO,YAM3G"}
1
+ {"version":3,"file":"ansi.d.ts","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAElG,eAAO,MAAM,2BAA2B,kBAAkB,CAAC;AAC3D,eAAO,MAAM,0BAA0B,kBAAkB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,gBAAgB,CAAC;AAC9C,eAAO,MAAM,2BAA2B,4CAA4C,CAAC;AACrF,eAAO,MAAM,4BAA4B,4CAA4C,CAAC;AAEtF,KAAK,gBAAgB,GAAG;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,UAE9C;AAwMD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,gBAAqB,UAEpF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,KAAK,GAAE,iBAAiB,EAAO,EAAE,OAAO,GAAE,gBAAqB,UAK1I;AAkID,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,OAAO,GAAE,gBAAqB,GAC7B,mBAAmB,CA0BrB;AA+DD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,gBAAqB,IAKtC,OAAO,MAAM,EAAE,EAAE,QAAQ,cAAc,GAAG,IAAI,EAAE,QAAO,iBAAiB,EAAO,YAO3G"}
package/dist/ansi.js CHANGED
@@ -1,4 +1,4 @@
1
- import { terminalCellWidth, terminalGraphemes } from "./text.js";
1
+ import { dropTerminalCells, terminalCellWidth, terminalGraphemes } from "./text.js";
2
2
  import { resolveTerminalStyle, resolveTerminalStyleToken } from "./theme.js";
3
3
  export const ANSI_ENTER_ALTERNATE_SCREEN = "\u001b[?1049h";
4
4
  export const ANSI_EXIT_ALTERNATE_SCREEN = "\u001b[?1049l";
@@ -203,6 +203,117 @@ export function toAnsiFrame(lines, cursor, spans = [], options = {}) {
203
203
  const cursorCode = cursor ? `\u001b[${cursor.y};${cursor.x}H${showCursor ? ANSI_SHOW_CURSOR : ""}` : showCursor ? ANSI_SHOW_CURSOR : "";
204
204
  return `\u001b[?25l\u001b[H${ansiLines.join("\n")}${cursorCode}`;
205
205
  }
206
+ function commonPrefixCellWidth(previousLine, nextLine) {
207
+ const previousGraphemes = terminalGraphemes(previousLine);
208
+ const nextGraphemes = terminalGraphemes(nextLine);
209
+ const length = Math.min(previousGraphemes.length, nextGraphemes.length);
210
+ let width = 0;
211
+ for (let index = 0; index < length; index += 1) {
212
+ if (previousGraphemes[index] !== nextGraphemes[index]) {
213
+ return width;
214
+ }
215
+ if (previousGraphemes[index] !== "|") {
216
+ width += terminalCellWidth(previousGraphemes[index]);
217
+ }
218
+ }
219
+ return width;
220
+ }
221
+ function renderAnsiLineSuffix(line, spans, y, startColumn, theme) {
222
+ let output = "";
223
+ let visibleColumn = Math.max(1, startColumn);
224
+ const rowSpans = lineSpans(spans, y);
225
+ let activeSpanIndex = rowSpans.findIndex((span) => span.x1 >= visibleColumn);
226
+ if (activeSpanIndex < 0) {
227
+ activeSpanIndex = rowSpans.length;
228
+ }
229
+ for (const span of rowSpans) {
230
+ if (span.x1 <= visibleColumn && span.x2 > visibleColumn) {
231
+ output += spanAnsiOpen(span, theme);
232
+ }
233
+ }
234
+ for (const grapheme of terminalGraphemes(dropTerminalCells(line, visibleColumn - 1))) {
235
+ while (rowSpans[activeSpanIndex]?.x1 === visibleColumn) {
236
+ output += spanAnsiOpen(rowSpans[activeSpanIndex], theme);
237
+ activeSpanIndex += 1;
238
+ }
239
+ if (grapheme === "|") {
240
+ continue;
241
+ }
242
+ output += grapheme;
243
+ visibleColumn += terminalCellWidth(grapheme);
244
+ let closedSpan = false;
245
+ for (const span of rowSpans) {
246
+ if (span.x2 === visibleColumn) {
247
+ if (span.kind !== "focus") {
248
+ output += spanAnsiClose(span, theme);
249
+ closedSpan = true;
250
+ }
251
+ }
252
+ }
253
+ for (const span of rowSpans) {
254
+ if (span.x2 === visibleColumn && span.kind === "focus") {
255
+ output += spanAnsiClose(span, theme);
256
+ closedSpan = true;
257
+ }
258
+ }
259
+ if (closedSpan && visibleColumn <= terminalCellWidth(line)) {
260
+ for (const span of rowSpans) {
261
+ if (span.x1 < visibleColumn && span.x2 > visibleColumn) {
262
+ output += spanAnsiOpen(span, theme);
263
+ }
264
+ }
265
+ }
266
+ }
267
+ for (const span of rowSpans) {
268
+ if (span.x1 < visibleColumn && span.x2 > visibleColumn) {
269
+ if (span.kind !== "focus") {
270
+ output += spanAnsiClose(span, theme);
271
+ }
272
+ }
273
+ }
274
+ for (const span of rowSpans) {
275
+ if (span.x1 < visibleColumn && span.x2 > visibleColumn && span.kind === "focus") {
276
+ output += spanAnsiClose(span, theme);
277
+ }
278
+ }
279
+ return output;
280
+ }
281
+ function sameSpanStyle(previous, next) {
282
+ if (previous === next) {
283
+ return true;
284
+ }
285
+ if (!previous || !next) {
286
+ return false;
287
+ }
288
+ return previous.color === next.color
289
+ && previous.background === next.background
290
+ && previous.plainPrefix === next.plainPrefix
291
+ && previous.plainSuffix === next.plainSuffix
292
+ && JSON.stringify(previous.border) === JSON.stringify(next.border)
293
+ && JSON.stringify(previous.padding) === JSON.stringify(next.padding);
294
+ }
295
+ function sameLineSpans(previousSpans, nextSpans, y) {
296
+ if (previousSpans.length === 0 && nextSpans.length === 0) {
297
+ return true;
298
+ }
299
+ const previousRowSpans = lineSpans(previousSpans, y);
300
+ const nextRowSpans = lineSpans(nextSpans, y);
301
+ if (previousRowSpans.length !== nextRowSpans.length) {
302
+ return false;
303
+ }
304
+ for (let index = 0; index < previousRowSpans.length; index += 1) {
305
+ const previous = previousRowSpans[index];
306
+ const next = nextRowSpans[index];
307
+ if (previous.kind !== next.kind
308
+ || previous.x1 !== next.x1
309
+ || previous.x2 !== next.x2
310
+ || previous.y !== next.y
311
+ || !sameSpanStyle(previous.style, next.style)) {
312
+ return false;
313
+ }
314
+ }
315
+ return true;
316
+ }
206
317
  export function createAnsiFrameDiff(previousAnsiLines, nextAnsiLines, cursor, options = {}) {
207
318
  const changedLineIndexes = [];
208
319
  const writes = ["\u001b[?25l"];
@@ -227,12 +338,63 @@ export function createAnsiFrameDiff(previousAnsiLines, nextAnsiLines, cursor, op
227
338
  restoresCursor: Boolean(cursor)
228
339
  };
229
340
  }
341
+ function createAnsiFramePatch(previousLines, previousAnsiLines, nextLines, previousSpans, nextSpans, cursor, options = {}) {
342
+ const nextAnsiLines = [];
343
+ const changedLineIndexes = [];
344
+ const writes = ["\u001b[?25l"];
345
+ const maxLines = Math.max(previousAnsiLines.length, nextLines.length);
346
+ for (let i = 0; i < maxLines; i += 1) {
347
+ const previousLine = previousLines[i] || "";
348
+ const nextLine = nextLines[i] || "";
349
+ const previousAnsiLine = previousAnsiLines[i] || "";
350
+ const spansMatch = sameLineSpans(previousSpans, nextSpans, i + 1);
351
+ const nextAnsiLine = i < nextLines.length && previousLine === nextLine && spansMatch
352
+ ? previousAnsiLine
353
+ : i < nextLines.length
354
+ ? renderAnsiLine(nextLine, nextSpans, i + 1, options.theme)
355
+ : "";
356
+ nextAnsiLines[i] = nextAnsiLine;
357
+ if (nextAnsiLine === previousAnsiLine) {
358
+ continue;
359
+ }
360
+ changedLineIndexes.push(i);
361
+ const canPatchSuffix = cursor?.y === i + 1
362
+ && lineSpans(previousSpans, i + 1).length === 0
363
+ && lineSpans(nextSpans, i + 1).length === 0;
364
+ const prefixWidth = canPatchSuffix && i < previousLines.length && i < nextLines.length && previousLine !== nextLine
365
+ ? commonPrefixCellWidth(previousLine, nextLine)
366
+ : 0;
367
+ if (prefixWidth > 0) {
368
+ const startColumn = prefixWidth + 1;
369
+ const suffix = renderAnsiLineSuffix(nextLine, nextSpans, i + 1, startColumn, options.theme);
370
+ writes.push(`\u001b[${i + 1};${startColumn}H${suffix}\u001b[0m\u001b[K`);
371
+ }
372
+ else {
373
+ writes.push(`\u001b[${i + 1};1H${nextAnsiLine}\u001b[0m\u001b[K`);
374
+ }
375
+ }
376
+ if (cursor) {
377
+ writes.push(`\u001b[${cursor.y};${cursor.x}H`);
378
+ }
379
+ if (options.showCursor !== false || (options.showCursorWhenFrameHasCursor === true && cursor)) {
380
+ writes.push(ANSI_SHOW_CURSOR);
381
+ }
382
+ return {
383
+ changedLineIndexes,
384
+ outputChunk: writes.join(""),
385
+ restoresCursor: Boolean(cursor),
386
+ nextAnsiLines: nextAnsiLines.slice(0, nextLines.length)
387
+ };
388
+ }
230
389
  export function createAnsiDiffWriter(options = {}) {
390
+ let previousLines = [];
231
391
  let previousAnsiLines = [];
392
+ let previousSpans = [];
232
393
  return function toAnsiDiff(lines, cursor, spans = []) {
233
- const ansiLines = lines.map((line, index) => renderAnsiLine(line, spans, index + 1, options.theme));
234
- const diff = createAnsiFrameDiff(previousAnsiLines, ansiLines, cursor, options);
235
- previousAnsiLines = ansiLines.slice();
394
+ const diff = createAnsiFramePatch(previousLines, previousAnsiLines, lines, previousSpans, spans, cursor, options);
395
+ previousLines = lines.slice();
396
+ previousAnsiLines = diff.nextAnsiLines.slice();
397
+ previousSpans = spans.map((span) => ({ ...span }));
236
398
  return diff.outputChunk;
237
399
  };
238
400
  }
package/dist/ansi.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAG7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,yCAAyC,CAAC;AACrF,MAAM,CAAC,MAAM,4BAA4B,GAAG,yCAAyC,CAAC;AActF,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,KAA0B,EAAE,CAAS;IACtD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SAC5I,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,KAAmD;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU;QACnD,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE;QACvH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAA0D;IAC/E,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,cAAc,CAAC,KAA0D;IAChF,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB,EAAE,KAAqB;IAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC7B,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,kBAAkB;QAAE,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACjE,IAAI,KAAK,EAAE,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB,EAAE,KAAqB;IACnE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC7B,IAAI,KAAK;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,kBAAkB;QAAE,OAAO,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,KAAK,EAAE,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB,EAAE,UAAmB;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,CAAC,CAAC,GAAG,CAAC;IACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAA0B,EAAE,CAAS,EAAE,KAAqB;IAChG,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC;YACvD,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;YACzD,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,aAAa,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,IAAI,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;oBACvD,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChF,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmD;IAC7E,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,aAAa,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAA0B,EAAE,CAAS,EAAE,KAAqB;IACjG,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,mBAAmB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC;QACA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO;eAC5C,CAAC,KAAK,EAAE,WAAW;eACnB,CAAC,KAAK,EAAE,WAAW;eACnB,IAAI,CAAC,EAAE,KAAK,CAAC;eACb,CAAC,KAAK,mBAAmB;eACzB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;eACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;eACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5F,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/F,CAAC;IACJ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC;YACnB,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,aAAa,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,UAA4B,EAAE;IACnF,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,MAA6B,EAAE,QAA6B,EAAE,EAAE,UAA4B,EAAE;IACzI,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC;IAC7G,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxI,OAAO,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,iBAA2B,EAC3B,aAAuB,EACvB,MAA6B,EAC7B,UAA4B,EAAE;IAE9B,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAa,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,QAAQ,mBAAmB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA4B,EAAE;IACjE,IAAI,iBAAiB,GAAa,EAAE,CAAC;IAErC,OAAO,SAAS,UAAU,CAAC,KAAe,EAAE,MAA6B,EAAE,QAA6B,EAAE;QACxG,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,mBAAmB,CAAC,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAChF,iBAAiB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ansi.js","sourceRoot":"","sources":["../src/ansi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAG7E,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC9C,MAAM,CAAC,MAAM,2BAA2B,GAAG,yCAAyC,CAAC;AACrF,MAAM,CAAC,MAAM,4BAA4B,GAAG,yCAAyC,CAAC;AActF,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAuB;IAChD,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,KAA0B,EAAE,CAAS;IACtD,OAAO,KAAK;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;SAClC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SAC5I,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,KAAmD;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU;QACnD,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE;QACvH,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,KAA0D;IAC/E,OAAO,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC;AAClF,CAAC;AAED,SAAS,cAAc,CAAC,KAA0D;IAChF,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACvF,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB,EAAE,KAAqB;IAClE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC7B,IAAI,KAAK;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,kBAAkB;QAAE,OAAO,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACjE,IAAI,KAAK,EAAE,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IAC3C,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,IAAuB,EAAE,KAAqB;IACnE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC7B,IAAI,KAAK;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,kBAAkB;QAAE,OAAO,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,KAAK,EAAE,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,cAAc,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAyB,EAAE,UAAmB;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,CAAC,CAAC,GAAG,CAAC;IACR,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,UAAU,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnD,OAAO,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC;AACrE,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAA0B,EAAE,CAAS,EAAE,KAAqB;IAChG,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,OAAO,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC;YACvD,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;YACzD,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,aAAa,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,IAAI,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;oBACvD,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChF,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmD;IAC7E,OAAO,OAAO,KAAK,KAAK,WAAW,IAAI,CAAC,aAAa,IAAI,KAAK,IAAI,aAAa,IAAI,KAAK,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,KAA0B,EAAE,CAAS,EAAE,KAAqB;IACjG,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,mBAAmB,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC5D,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC;QACA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO;eAC5C,CAAC,KAAK,EAAE,WAAW;eACnB,CAAC,KAAK,EAAE,WAAW;eACnB,IAAI,CAAC,EAAE,KAAK,CAAC;eACb,CAAC,KAAK,mBAAmB;eACzB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;eACjC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;eACnB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO;YACL,GAAG,IAAI;YACP,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5F,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9F,WAAW,EAAE,KAAK,EAAE,WAAW,IAAI,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/F,CAAC;IACJ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAEnE,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,MAAM,IAAI,QAAQ,CAAC;YACnB,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,aAAa,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;YAC9B,MAAM,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAoB,EAAE,UAA4B,EAAE;IACnF,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAe,EAAE,MAA6B,EAAE,QAA6B,EAAE,EAAE,UAA4B,EAAE;IACzI,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjH,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC;IAC7G,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxI,OAAO,sBAAsB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,QAAgB;IACnE,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,iBAAiB,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YACrC,KAAK,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,KAA0B,EAAE,CAAS,EAAE,WAAmB,EAAE,KAAqB;IAC3H,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,aAAa,CAAC,CAAC;IAC7E,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;QACxB,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,IAAI,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;YACxD,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO,QAAQ,CAAC,eAAe,CAAC,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC;YACvD,MAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,CAAC;YACzD,eAAe,IAAI,CAAC,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,IAAI,QAAQ,CAAC;QACnB,aAAa,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBACrC,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACrC,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QACD,IAAI,UAAU,IAAI,aAAa,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;oBACvD,MAAM,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,CAAC;YACvD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAChF,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD,SAAS,aAAa,CAAC,QAAoC,EAAE,IAAgC;IAC3F,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;WAC/B,QAAQ,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU;WACvC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;WACzC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW;WACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;WAC/D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,aAAkC,EAAE,SAA8B,EAAE,CAAS;IAClG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,gBAAgB,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;eAC1B,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;eACvB,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;eACvB,QAAQ,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;eACrB,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,iBAA2B,EAC3B,aAAuB,EACvB,MAA6B,EAC7B,UAA4B,EAAE;IAE9B,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAa,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE1E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,QAAQ,mBAAmB,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAAuB,EACvB,iBAA2B,EAC3B,SAAmB,EACnB,aAAkC,EAClC,SAA8B,EAC9B,MAA6B,EAC7B,UAA4B,EAAE;IAE9B,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,MAAM,GAAa,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,aAAa,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,YAAY,KAAK,QAAQ,IAAI,UAAU;YAClF,CAAC,CAAC,gBAAgB;YAClB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;gBACpB,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;gBAC3D,CAAC,CAAC,EAAE,CAAC;QACT,aAAa,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;QAChC,IAAI,YAAY,KAAK,gBAAgB,EAAE,CAAC;YACtC,SAAS;QACX,CAAC;QAED,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;eACrC,SAAS,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;eAC5C,SAAS,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,cAAc,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,IAAI,YAAY,KAAK,QAAQ;YACjH,CAAC,CAAC,qBAAqB,CAAC,YAAY,EAAE,QAAQ,CAAC;YAC/C,CAAC,CAAC,CAAC,CAAC;QAEN,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC;YACpC,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC5F,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,WAAW,IAAI,MAAM,mBAAmB,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,YAAY,mBAAmB,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,4BAA4B,KAAK,IAAI,IAAI,MAAM,CAAC,EAAE,CAAC;QAC9F,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC;QAC/B,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;KACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,UAA4B,EAAE;IACjE,IAAI,aAAa,GAAa,EAAE,CAAC;IACjC,IAAI,iBAAiB,GAAa,EAAE,CAAC;IACrC,IAAI,aAAa,GAAwB,EAAE,CAAC;IAE5C,OAAO,SAAS,UAAU,CAAC,KAAe,EAAE,MAA6B,EAAE,QAA6B,EAAE;QACxG,MAAM,IAAI,GAAG,oBAAoB,CAAC,aAAa,EAAE,iBAAiB,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAClH,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9B,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC/C,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { TerminalFrame, TerminalNode, TerminalTheme } from "./types.js";
2
+ export interface TerminalRenderContext {
3
+ cols: number;
4
+ rows: number;
5
+ theme?: TerminalTheme;
6
+ }
7
+ export declare function renderTerminalFrame(node: TerminalNode, context?: TerminalRenderContext): TerminalFrame;
8
+ export declare function renderTerminalNode(node: TerminalNode, context?: TerminalRenderContext): string;
9
+ export declare function renderTerminal(input: any, context?: TerminalRenderContext): string;
10
+ //# sourceMappingURL=render-internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render-internal.d.ts","sourceRoot":"","sources":["../src/render-internal.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAkG,aAAa,EAAkB,YAAY,EAA2G,aAAa,EAAuB,MAAM,YAAY,CAAC;AAE3T,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA+3CD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,aAAa,CAKtG;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAE9F;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAOlF"}