@tooee/renderers 0.1.11 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/CodeView.d.ts +3 -7
  2. package/dist/CodeView.d.ts.map +1 -1
  3. package/dist/CodeView.js +5 -31
  4. package/dist/CodeView.js.map +1 -1
  5. package/dist/CommandPalette.d.ts.map +1 -1
  6. package/dist/CommandPalette.js +1 -23
  7. package/dist/CommandPalette.js.map +1 -1
  8. package/dist/DecorationLayer.d.ts +14 -0
  9. package/dist/DecorationLayer.d.ts.map +1 -0
  10. package/dist/DecorationLayer.js +2 -0
  11. package/dist/DecorationLayer.js.map +1 -0
  12. package/dist/MarkdownView.d.ts +16 -9
  13. package/dist/MarkdownView.d.ts.map +1 -1
  14. package/dist/MarkdownView.js +256 -107
  15. package/dist/MarkdownView.js.map +1 -1
  16. package/dist/RowDocumentRenderable.d.ts +14 -26
  17. package/dist/RowDocumentRenderable.d.ts.map +1 -1
  18. package/dist/RowDocumentRenderable.js +74 -78
  19. package/dist/RowDocumentRenderable.js.map +1 -1
  20. package/dist/Table.d.ts +5 -9
  21. package/dist/Table.d.ts.map +1 -1
  22. package/dist/Table.js +17 -46
  23. package/dist/Table.js.map +1 -1
  24. package/dist/index.d.ts +7 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -2
  27. package/dist/index.js.map +1 -1
  28. package/dist/parsers.d.ts.map +1 -1
  29. package/dist/parsers.js.map +1 -1
  30. package/dist/useGutterPalette.d.ts +3 -0
  31. package/dist/useGutterPalette.d.ts.map +1 -0
  32. package/dist/useGutterPalette.js +10 -0
  33. package/dist/useGutterPalette.js.map +1 -0
  34. package/package.json +18 -16
  35. package/src/CodeView.tsx +11 -54
  36. package/src/CommandPalette.tsx +1 -25
  37. package/src/DecorationLayer.ts +11 -0
  38. package/src/MarkdownView.tsx +382 -164
  39. package/src/RowDocumentRenderable.ts +91 -135
  40. package/src/Table.tsx +35 -71
  41. package/src/index.ts +6 -8
  42. package/src/parsers.ts +4 -1
  43. package/src/useGutterPalette.ts +15 -0
@@ -1,18 +1,14 @@
1
1
  import { type RefObject } from "react";
2
+ import type { MarkState } from "@tooee/marks";
2
3
  import type { RowDocumentRenderable } from "./RowDocumentRenderable.js";
3
4
  import "./row-document.js";
4
5
  interface CodeViewProps {
5
6
  content: string;
6
7
  language?: string;
7
8
  showLineNumbers?: boolean;
8
- cursor?: number;
9
- selectionStart?: number;
10
- selectionEnd?: number;
11
- matchingLines?: Set<number>;
12
- currentMatchLine?: number;
13
- toggledLines?: Set<number>;
9
+ marks?: MarkState;
14
10
  docRef?: RefObject<RowDocumentRenderable | null>;
15
11
  }
16
- export declare function CodeView({ content, language, showLineNumbers, cursor, selectionStart, selectionEnd, matchingLines, currentMatchLine, toggledLines, docRef, }: CodeViewProps): import("react").ReactNode;
12
+ export declare function CodeView({ content, language, showLineNumbers, marks, docRef }: CodeViewProps): import("react").ReactNode;
17
13
  export {};
18
14
  //# sourceMappingURL=CodeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeView.d.ts","sourceRoot":"","sources":["../src/CodeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzD,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,4BAA4B,CAAA;AACnH,OAAO,mBAAmB,CAAA;AAE1B,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;CACjD;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,eAAsB,EACtB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,MAAM,GACP,EAAE,aAAa,6BA6Cf"}
1
+ {"version":3,"file":"CodeView.d.ts","sourceRoot":"","sources":["../src/CodeView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,mBAAmB,CAAA;AAE1B,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;CACjD;AAED,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,6BAgBnG"}
package/dist/CodeView.js CHANGED
@@ -1,36 +1,10 @@
1
1
  import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
- import { useEffect, useRef } from "react";
3
2
  import { useTheme } from "@tooee/themes";
3
+ import { useGutterPalette } from "./useGutterPalette.js";
4
4
  import "./row-document.js";
5
- export function CodeView({ content, language, showLineNumbers = true, cursor, selectionStart, selectionEnd, matchingLines, currentMatchLine, toggledLines, docRef, }) {
6
- const { syntax, theme } = useTheme();
7
- const internalRef = useRef(null);
8
- const effectiveRef = docRef ?? internalRef;
9
- const palette = {
10
- gutterFg: theme.textMuted,
11
- gutterBg: theme.backgroundElement,
12
- cursorBg: theme.cursorLine,
13
- selectionBg: theme.selection,
14
- matchBg: theme.warning,
15
- currentMatchBg: theme.primary,
16
- toggledBg: theme.backgroundPanel,
17
- cursorSignFg: theme.primary,
18
- matchSignFg: theme.warning,
19
- currentMatchSignFg: theme.primary,
20
- };
21
- useEffect(() => {
22
- const decorations = {
23
- cursorRow: cursor,
24
- selection: selectionStart != null && selectionEnd != null
25
- ? { start: selectionStart, end: selectionEnd }
26
- : null,
27
- matchingRows: matchingLines,
28
- currentMatchRow: currentMatchLine,
29
- toggledRows: toggledLines,
30
- };
31
- effectiveRef.current?.setDecorations(decorations);
32
- }, [cursor, selectionStart, selectionEnd, matchingLines, currentMatchLine, toggledLines]);
33
- const codeElement = _jsx("code", { content: content, filetype: language, syntaxStyle: syntax });
34
- return (_jsx("row-document", { ref: effectiveRef, showLineNumbers: showLineNumbers, palette: palette, signColumnWidth: 1, style: { flexGrow: 1 }, children: codeElement }, theme.textMuted + theme.backgroundElement));
5
+ export function CodeView({ content, language, showLineNumbers = true, marks, docRef }) {
6
+ const { syntax } = useTheme();
7
+ const palette = useGutterPalette();
8
+ return (_jsx("row-document", { ref: docRef, showLineNumbers: showLineNumbers, palette: palette, decorations: marks?.sets, signColumnWidth: 1, style: { flexGrow: 1 }, children: _jsx("code", { content: content, filetype: language, syntaxStyle: syntax }) }));
35
9
  }
36
10
  //# sourceMappingURL=CodeView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeView.js","sourceRoot":"","sources":["../src/CodeView.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,mBAAmB,CAAA;AAe1B,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,EACP,QAAQ,EACR,eAAe,GAAG,IAAI,EACtB,MAAM,EACN,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,MAAM,GACQ;IACd,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;IACpC,MAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IACvD,MAAM,YAAY,GAAG,MAAM,IAAI,WAAW,CAAA;IAE1C,MAAM,OAAO,GAAuB;QAClC,QAAQ,EAAE,KAAK,CAAC,SAAS;QACzB,QAAQ,EAAE,KAAK,CAAC,iBAAiB;QACjC,QAAQ,EAAE,KAAK,CAAC,UAAU;QAC1B,WAAW,EAAE,KAAK,CAAC,SAAS;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,cAAc,EAAE,KAAK,CAAC,OAAO;QAC7B,SAAS,EAAE,KAAK,CAAC,eAAe;QAChC,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,WAAW,EAAE,KAAK,CAAC,OAAO;QAC1B,kBAAkB,EAAE,KAAK,CAAC,OAAO;KAClC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAA2B;YAC1C,SAAS,EAAE,MAAM;YACjB,SAAS,EAAE,cAAc,IAAI,IAAI,IAAI,YAAY,IAAI,IAAI;gBACvD,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,EAAE;gBAC9C,CAAC,CAAC,IAAI;YACR,YAAY,EAAE,aAAa;YAC3B,eAAe,EAAE,gBAAgB;YACjC,WAAW,EAAE,YAAY;SAC1B,CAAA;QACD,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;IACnD,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAA;IAEzF,MAAM,WAAW,GAAG,eAAM,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAI,CAAA;IAEvF,OAAO,CACL,uBACE,GAAG,EAAE,YAAY,EAEjB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,CAAC,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAErB,WAAW,IANP,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAOjC,CAChB,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"CodeView.js","sourceRoot":"","sources":["../src/CodeView.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,mBAAmB,CAAA;AAU1B,MAAM,UAAU,QAAQ,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAiB;IAClG,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAA;IAElC,OAAO,CACL,uBACE,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,EAAE,IAAI,EACxB,eAAe,EAAE,CAAC,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,YAEtB,eAAM,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAI,GACtD,CAChB,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AA2BD,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,6BA6FlF"}
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,mBAAmB,6BA6FlF"}
@@ -2,29 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
2
  import { useState, useMemo, useCallback } from "react";
3
3
  import { useKeyboard } from "@opentui/react";
4
4
  import { useTheme } from "@tooee/themes";
5
- function fuzzyMatch(query, text) {
6
- const lowerQuery = query.toLowerCase();
7
- const lowerText = text.toLowerCase();
8
- let qi = 0;
9
- let score = 0;
10
- let lastMatchIndex = -2;
11
- for (let ti = 0; ti < lowerText.length && qi < lowerQuery.length; ti++) {
12
- if (lowerText[ti] === lowerQuery[qi]) {
13
- // Start of string bonus
14
- if (ti === 0)
15
- score += 3;
16
- // Word boundary bonus (after space, hyphen, dot, slash)
17
- else if (" -./".includes(lowerText[ti - 1]))
18
- score += 2;
19
- // Consecutive bonus
20
- else if (ti === lastMatchIndex + 1)
21
- score += 1;
22
- lastMatchIndex = ti;
23
- qi++;
24
- }
25
- }
26
- return qi === lowerQuery.length ? score : null;
27
- }
5
+ import { fuzzyMatch } from "@tooee/fuzzy";
28
6
  export function CommandPalette({ commands, onSelect, onClose }) {
29
7
  const { theme } = useTheme();
30
8
  const [filter, setFilter] = useState("");
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandPalette.js","sourceRoot":"","sources":["../src/CommandPalette.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface RowDecoration {
2
+ row: number;
3
+ background?: string;
4
+ gutterBackground?: string;
5
+ sign?: {
6
+ text: string;
7
+ fg?: string;
8
+ };
9
+ }
10
+ export interface DecorationLayer {
11
+ readonly priority: number;
12
+ forVisibleRows(from: number, to: number): Iterable<RowDecoration>;
13
+ }
14
+ //# sourceMappingURL=DecorationLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecorationLayer.d.ts","sourceRoot":"","sources":["../src/DecorationLayer.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAA;CAClE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DecorationLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecorationLayer.js","sourceRoot":"","sources":["../src/DecorationLayer.ts"],"names":[],"mappings":""}
@@ -1,20 +1,27 @@
1
+ import { type Token } from "marked";
1
2
  import { type ReactNode, type RefObject } from "react";
3
+ import type { MarkState } from "@tooee/marks";
2
4
  import type { RowDocumentRenderable } from "./RowDocumentRenderable.js";
3
5
  import "./row-document.js";
4
6
  import "./text-table.js";
5
7
  interface MarkdownViewProps {
6
8
  content: string;
7
9
  showLineNumbers?: boolean;
8
- activeBlock?: number;
9
- selectedBlocks?: {
10
- start: number;
11
- end: number;
12
- };
13
- matchingBlocks?: Set<number>;
14
- currentMatchBlock?: number;
15
- toggledBlocks?: Set<number>;
10
+ marks?: MarkState;
16
11
  docRef?: RefObject<RowDocumentRenderable | null>;
17
12
  }
18
- export declare function MarkdownView({ content, showLineNumbers, activeBlock, selectedBlocks, matchingBlocks, currentMatchBlock, toggledBlocks, docRef, }: MarkdownViewProps): ReactNode;
13
+ /**
14
+ * A flattened block — all blocks exist at the top level with an indent.
15
+ * Nested structures (lists containing code blocks, etc.) are flattened
16
+ * into sibling blocks with appropriate indentation.
17
+ */
18
+ export interface FlatBlock {
19
+ token: Token;
20
+ indent: number;
21
+ bullet?: string;
22
+ checked?: boolean;
23
+ }
24
+ export declare function flattenTokens(tokens: Token[]): FlatBlock[];
25
+ export declare function MarkdownView({ content, showLineNumbers, marks, docRef }: MarkdownViewProps): ReactNode;
19
26
  export {};
20
27
  //# sourceMappingURL=MarkdownView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownView.d.ts","sourceRoot":"","sources":["../src/MarkdownView.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAIlF,OAAO,KAAK,EAAE,qBAAqB,EAA8C,MAAM,4BAA4B,CAAA;AACnH,OAAO,mBAAmB,CAAA;AAC1B,OAAO,iBAAiB,CAAA;AAExB,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;CACjD;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,eAAsB,EACtB,WAAW,EACX,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,aAAa,EACb,MAAM,GACP,EAAE,iBAAiB,aA+CnB"}
1
+ {"version":3,"file":"MarkdownView.d.ts","sourceRoot":"","sources":["../src/MarkdownView.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,KAAK,EAAe,MAAM,QAAQ,CAAA;AACxD,OAAO,EAAW,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAc/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAEvE,OAAO,mBAAmB,CAAA;AAC1B,OAAO,iBAAiB,CAAA;AAMxB,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,wBAAgB,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAI1D;AA0FD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,eAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB,aAsBjG"}