safe-mdx 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +46 -14
- package/dist/safe-mdx.d.ts +29 -6
- package/dist/safe-mdx.d.ts.map +1 -1
- package/dist/safe-mdx.js +132 -35
- package/dist/safe-mdx.js.map +1 -1
- package/dist/safe-mdx.test.js +503 -234
- package/dist/safe-mdx.test.js.map +1 -1
- package/package.json +8 -8
- package/src/safe-mdx.test.tsx +512 -236
- package/src/safe-mdx.tsx +231 -40
- package/dist/plugins.d.ts +0 -12
- package/dist/plugins.d.ts.map +0 -1
- package/dist/plugins.js +0 -68
- package/dist/plugins.js.map +0 -1
- package/src/plugins.ts +0 -87
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Holocron
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
|
|
11
11
|
## Features
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
13
|
+
- Render MDX without `eval` on the server, so you can render MDX in Cloudflare Workers and Vercel Edge
|
|
14
|
+
- Works with React Server Components
|
|
15
|
+
- Supports custom MDX components
|
|
16
16
|
|
|
17
17
|
## Why
|
|
18
18
|
|
|
@@ -22,9 +22,9 @@ For example in an hypothetical platform similar to Notion, where users can write
|
|
|
22
22
|
|
|
23
23
|
Some use cases for this package are:
|
|
24
24
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
25
|
+
- Render MDX in Cloudflare Workers and Vercel Edge
|
|
26
|
+
- Safely render dynamically generated MDX code, like inside a ChatGPT like interface
|
|
27
|
+
- Render user generated MDX, like in a multi-tenant SaaS app
|
|
28
28
|
|
|
29
29
|
<br>
|
|
30
30
|
|
|
@@ -78,12 +78,12 @@ If you want to use custom MDX plugins, you can pass your own MDX processed ast.
|
|
|
78
78
|
|
|
79
79
|
By default `safe-mdx` already has support for
|
|
80
80
|
|
|
81
|
-
-
|
|
82
|
-
-
|
|
81
|
+
- frontmatter
|
|
82
|
+
- gfm
|
|
83
83
|
|
|
84
84
|
```tsx
|
|
85
85
|
import { SafeMdxRenderer } from 'safe-mdx'
|
|
86
|
-
import { remark } from 'remark'
|
|
86
|
+
import { remark, Root } from 'remark'
|
|
87
87
|
import remarkMdx from 'remark-mdx'
|
|
88
88
|
|
|
89
89
|
const code = `
|
|
@@ -94,9 +94,16 @@ This is a paragraph
|
|
|
94
94
|
<Heading>Custom component</Heading>
|
|
95
95
|
`
|
|
96
96
|
|
|
97
|
-
const parser = remark()
|
|
97
|
+
const parser = remark()
|
|
98
|
+
.use(remarkMdx)
|
|
99
|
+
.use(() => {
|
|
100
|
+
return (tree, file) => {
|
|
101
|
+
file.data.ast = tree
|
|
102
|
+
}
|
|
103
|
+
})
|
|
98
104
|
|
|
99
|
-
const
|
|
105
|
+
const file = parser.processSync(code)
|
|
106
|
+
const mdast = file.data.ast as Root
|
|
100
107
|
|
|
101
108
|
export function Page() {
|
|
102
109
|
return <SafeMdxRenderer code={code} mdast={mdast} />
|
|
@@ -139,6 +146,31 @@ export function Page() {
|
|
|
139
146
|
}
|
|
140
147
|
```
|
|
141
148
|
|
|
149
|
+
## Override code block component
|
|
150
|
+
|
|
151
|
+
It's not pratical to override the code block component using `code` as a component override, because it will also be used for inline code blocks. It also does not have access to meta string and language.
|
|
152
|
+
|
|
153
|
+
Instead you can use `customTransformer` to return some jsx for a specific mdast node:
|
|
154
|
+
|
|
155
|
+
```tsx
|
|
156
|
+
<SafeMdxRenderer
|
|
157
|
+
customTransformer={(node, transform) => {
|
|
158
|
+
if (node.type === 'code') {
|
|
159
|
+
const language = node.lang || ''
|
|
160
|
+
const meta = parseMetaString(node.meta)
|
|
161
|
+
|
|
162
|
+
return (
|
|
163
|
+
<CodeBlock {...meta} lang={language}>
|
|
164
|
+
<Pre>
|
|
165
|
+
<ShikiRenderer code={node.value} language={language} />
|
|
166
|
+
</Pre>
|
|
167
|
+
</CodeBlock>
|
|
168
|
+
)
|
|
169
|
+
}
|
|
170
|
+
}}
|
|
171
|
+
/>
|
|
172
|
+
```
|
|
173
|
+
|
|
142
174
|
## Handling errors
|
|
143
175
|
|
|
144
176
|
`safe-mdx` ignores missing components or expressions, to show a message to the user in case of these errors you can use `MdastToJsx` directly
|
|
@@ -170,7 +202,7 @@ This is ok if you render your MDX in isolation from each tenant, for example on
|
|
|
170
202
|
|
|
171
203
|
These features are not supported yet:
|
|
172
204
|
|
|
173
|
-
-
|
|
174
|
-
-
|
|
205
|
+
- expressions or values defined with `export`
|
|
206
|
+
- importing components or data from other files
|
|
175
207
|
|
|
176
|
-
To overcome these limitations you can define custom logic in your components and pass them to `SafeMdxRenderer
|
|
208
|
+
To overcome these limitations you can define custom logic in your components and pass them to `SafeMdxRenderer` `components` prop. This will also make your MDX files cleaner and easier to read.
|
package/dist/safe-mdx.d.ts
CHANGED
|
@@ -4,10 +4,19 @@ import { MdxJsxFlowElement, MdxJsxTextElement } from 'mdast-util-mdx-jsx';
|
|
|
4
4
|
import { ReactNode } from 'react';
|
|
5
5
|
type MyRootContent = RootContent | Root;
|
|
6
6
|
export declare function mdxParse(code: string): Root;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
declare module 'mdast' {
|
|
8
|
+
interface Data {
|
|
9
|
+
hProperties?: {
|
|
10
|
+
id?: string;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export type CustomTransformer = (node: MyRootContent, transform: (node: MyRootContent) => ReactNode) => ReactNode | undefined;
|
|
15
|
+
export declare function SafeMdxRenderer({ components, code, mdast, customTransformer, }: {
|
|
16
|
+
components?: ComponentsMap;
|
|
9
17
|
code?: string;
|
|
10
|
-
mdast?:
|
|
18
|
+
mdast?: MyRootContent;
|
|
19
|
+
customTransformer?: CustomTransformer;
|
|
11
20
|
}): any;
|
|
12
21
|
export declare class MdastToJsx {
|
|
13
22
|
mdast: MyRootContent;
|
|
@@ -17,10 +26,12 @@ export declare class MdastToJsx {
|
|
|
17
26
|
errors: {
|
|
18
27
|
message: string;
|
|
19
28
|
}[];
|
|
20
|
-
|
|
29
|
+
customTransformer?: CustomTransformer;
|
|
30
|
+
constructor({ code, mdast, components, customTransformer, }: {
|
|
21
31
|
code?: string;
|
|
22
|
-
mdast?:
|
|
32
|
+
mdast?: MyRootContent;
|
|
23
33
|
components?: ComponentsMap;
|
|
34
|
+
customTransformer?: (node: MyRootContent, transform: (node: MyRootContent) => ReactNode) => ReactNode | undefined;
|
|
24
35
|
});
|
|
25
36
|
mapMdastChildren(node: any): any;
|
|
26
37
|
mapJsxChildren(node: any): any;
|
|
@@ -32,9 +43,21 @@ export declare function getJsxAttrs(node: MdxJsxFlowElement | MdxJsxTextElement,
|
|
|
32
43
|
message: string;
|
|
33
44
|
}) => void): [string, any][];
|
|
34
45
|
export declare function mdastBfs(node: Parent | Node, cb?: (node: Node | Parent) => any): any[];
|
|
35
|
-
declare const nativeTags: readonly ["blockquote", "strong", "em", "del", "hr", "a", "b", "br", "button", "div", "form", "h1", "h2", "h3", "h4", "head", "iframe", "img", "input", "label", "li", "link", "ol", "p", "path", "picture", "script", "section", "source", "span", "sub", "sup", "svg", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "ul", "video", "code", "pre"];
|
|
46
|
+
declare const nativeTags: readonly ["blockquote", "strong", "em", "del", "hr", "a", "b", "br", "button", "div", "form", "h1", "h2", "h3", "h4", "head", "iframe", "img", "input", "label", "li", "link", "ol", "p", "path", "picture", "script", "section", "source", "span", "sub", "sup", "svg", "table", "tbody", "td", "tfoot", "th", "thead", "tr", "ul", "video", "code", "pre", "figure", "canvas", "details", "dl", "dt", "dd", "fieldset", "footer", "header", "legend", "main", "mark", "nav", "progress", "summary", "time"];
|
|
36
47
|
type ComponentsMap = {
|
|
37
48
|
[k in (typeof nativeTags)[number]]?: any;
|
|
49
|
+
} & {
|
|
50
|
+
[key: string]: any;
|
|
38
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* https://github.com/mdx-js/mdx/blob/b3351fadcb6f78833a72757b7135dcfb8ab646fe/packages/mdx/lib/plugin/remark-mark-and-unravel.js
|
|
54
|
+
* A tiny plugin that unravels `<p><h1>x</h1></p>` but also
|
|
55
|
+
* `<p><Component /></p>` (so it has no knowledge of "HTML").
|
|
56
|
+
*
|
|
57
|
+
* It also marks JSX as being explicitly JSX, so when a user passes a `h1`
|
|
58
|
+
* component, it is used for `# heading` but not for `<h1>heading</h1>`.
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
export declare function remarkMarkAndUnravel(): (tree: Root) => void;
|
|
39
62
|
export {};
|
|
40
63
|
//# sourceMappingURL=safe-mdx.d.ts.map
|
package/dist/safe-mdx.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"safe-mdx.d.ts","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAMjD,OAAO,EAAE,IAAI,EAAQ,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKzE,OAAO,EAAY,SAAS,EAAE,MAAM,OAAO,CAAA;AAE3C,KAAK,aAAa,GAAG,WAAW,GAAG,IAAI,CAAA;AAEvC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAET,IAAI,CAC/B;AAED,OAAO,QAAQ,OAAO,CAAC;IACnB,UAAiB,IAAI;QACjB,WAAW,CAAC,EAAE;YACV,EAAE,CAAC,EAAE,MAAM,CAAA;SACd,CAAA;KACJ;CACJ;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC5B,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,KAC5C,SAAS,GAAG,SAAS,CAAA;AAE1B,wBAAgB,eAAe,CAAC,EAC5B,UAAU,EACV,IAAS,EACT,KAAmB,EACnB,iBAAiB,GACpB,EAAE;IACC,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACxC,OASA;AAED,qBAAa,UAAU;IACnB,KAAK,EAAE,aAAa,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAK;IACnB,CAAC,EAAE,aAAa,CAAA;IAChB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAK;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;gBAEzB,EACR,IAAS,EACT,KAAwB,EACxB,UAAgC,EAChC,iBAAiB,GACpB,EAAE;QACC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,aAAa,CAAA;QACrB,UAAU,CAAC,EAAE,aAAa,CAAA;QAC1B,iBAAiB,CAAC,EAAE,CAChB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,SAAS,KAC5C,SAAS,GAAG,SAAS,CAAA;KAC7B;IAcD,gBAAgB,CAAC,IAAI,EAAE,GAAG;IAiB1B,cAAc,CAAC,IAAI,EAAE,GAAG;IAiBxB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;IAsC9C,GAAG;IAQH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS;CAiTnD;AAED,wBAAgB,WAAW,CACvB,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,EAC3C,OAAO,GAAE,CAAC,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAAK,IAAoB,mBAmE9D;AAcD,wBAAgB,QAAQ,CACpB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,KAAK,GAAG,SAiBpC;AAUD,QAAA,MAAM,UAAU,+eA6DN,CAAA;AA2RV,KAAK,aAAa,GAAG;KAAG,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG;CAAE,GAAG;IAChE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACrB,CAAA;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,KACf,MAAM,IAAI,UAqE9B"}
|
package/dist/safe-mdx.js
CHANGED
|
@@ -2,28 +2,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React, { cloneElement } from 'react';
|
|
3
3
|
import { htmlToJsx } from 'html-to-jsx-transform';
|
|
4
4
|
import remarkFrontmatter from 'remark-frontmatter';
|
|
5
|
+
import { collapseWhiteSpace } from 'collapse-white-space';
|
|
6
|
+
import { visit } from 'unist-util-visit';
|
|
5
7
|
import { remark } from 'remark';
|
|
6
8
|
import remarkGfm from 'remark-gfm';
|
|
7
9
|
import remarkMdx from 'remark-mdx';
|
|
8
10
|
import { Fragment } from 'react';
|
|
9
|
-
import { remarkMarkAndUnravel } from './plugins.js';
|
|
10
|
-
const processor = remark()
|
|
11
|
-
.use(remarkMdx)
|
|
12
|
-
.use(remarkMarkAndUnravel)
|
|
13
|
-
.use(remarkFrontmatter, ['yaml', 'toml'])
|
|
14
|
-
.use(remarkGfm)
|
|
15
|
-
.use(() => {
|
|
16
|
-
return (tree, file) => {
|
|
17
|
-
file.data.ast = tree;
|
|
18
|
-
};
|
|
19
|
-
});
|
|
20
11
|
export function mdxParse(code) {
|
|
21
|
-
const file =
|
|
12
|
+
const file = mdxProcessor.processSync(code);
|
|
22
13
|
return file.data.ast;
|
|
23
14
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
15
|
+
export function SafeMdxRenderer({ components, code = '', mdast = null, customTransformer, }) {
|
|
16
|
+
const visitor = new MdastToJsx({
|
|
17
|
+
code,
|
|
18
|
+
mdast,
|
|
19
|
+
components,
|
|
20
|
+
customTransformer,
|
|
21
|
+
});
|
|
27
22
|
const result = visitor.run();
|
|
28
23
|
return result;
|
|
29
24
|
}
|
|
@@ -33,9 +28,11 @@ export class MdastToJsx {
|
|
|
33
28
|
jsxStr = '';
|
|
34
29
|
c;
|
|
35
30
|
errors = [];
|
|
36
|
-
|
|
31
|
+
customTransformer;
|
|
32
|
+
constructor({ code = '', mdast = undefined, components = {}, customTransformer, }) {
|
|
37
33
|
this.str = code;
|
|
38
34
|
this.mdast = mdast || mdxParse(code);
|
|
35
|
+
this.customTransformer = customTransformer;
|
|
39
36
|
this.c = {
|
|
40
37
|
...Object.fromEntries(nativeTags.map((tag) => {
|
|
41
38
|
return [tag, tag];
|
|
@@ -116,6 +113,13 @@ export class MdastToJsx {
|
|
|
116
113
|
if (!node) {
|
|
117
114
|
return [];
|
|
118
115
|
}
|
|
116
|
+
// Check for custom transformer first, giving it higher priority
|
|
117
|
+
if (this.customTransformer) {
|
|
118
|
+
const customResult = this.customTransformer(node, this.mdastTransformer.bind(this));
|
|
119
|
+
if (customResult !== undefined) {
|
|
120
|
+
return customResult;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
119
123
|
switch (node.type) {
|
|
120
124
|
case 'mdxjsEsm': {
|
|
121
125
|
const start = node.position?.start?.offset;
|
|
@@ -159,13 +163,13 @@ export class MdastToJsx {
|
|
|
159
163
|
case 'heading': {
|
|
160
164
|
const level = node.depth;
|
|
161
165
|
const Tag = this.c[`h${level}`] ?? `h${level}`;
|
|
162
|
-
return _jsx(Tag, { children: this.mapMdastChildren(node) });
|
|
166
|
+
return (_jsx(Tag, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
163
167
|
}
|
|
164
168
|
case 'paragraph': {
|
|
165
|
-
return _jsx(this.c.p, { children: this.mapMdastChildren(node) });
|
|
169
|
+
return (_jsx(this.c.p, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
166
170
|
}
|
|
167
171
|
case 'blockquote': {
|
|
168
|
-
return (_jsx(this.c.blockquote, { children: this.mapMdastChildren(node) }));
|
|
172
|
+
return (_jsx(this.c.blockquote, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
169
173
|
}
|
|
170
174
|
case 'thematicBreak': {
|
|
171
175
|
return _jsx(this.c.hr, {});
|
|
@@ -176,7 +180,7 @@ export class MdastToJsx {
|
|
|
176
180
|
}
|
|
177
181
|
const language = node.lang || '';
|
|
178
182
|
const code = node.value;
|
|
179
|
-
const codeBlock = (className) => (_jsx(this.c.pre, { children: _jsx(this.c.code, { className: className, children: code }) }));
|
|
183
|
+
const codeBlock = (className) => (_jsx(this.c.pre, { ...node.data?.hProperties, children: _jsx(this.c.code, { className: className, children: code }) }));
|
|
180
184
|
if (language) {
|
|
181
185
|
if (supportedLanguagesSet.has(language)) {
|
|
182
186
|
return codeBlock(`language-${language}`);
|
|
@@ -192,16 +196,16 @@ export class MdastToJsx {
|
|
|
192
196
|
}
|
|
193
197
|
case 'list': {
|
|
194
198
|
if (node.ordered) {
|
|
195
|
-
return (_jsx(this.c.ol, { start: node.start, children: this.mapMdastChildren(node) }));
|
|
199
|
+
return (_jsx(this.c.ol, { start: node.start, ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
196
200
|
}
|
|
197
|
-
return _jsx(this.c.ul, { children: this.mapMdastChildren(node) });
|
|
201
|
+
return (_jsx(this.c.ul, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
198
202
|
}
|
|
199
203
|
case 'listItem': {
|
|
200
204
|
// https://github.com/syntax-tree/mdast-util-gfm-task-list-item#syntax-tree
|
|
201
205
|
if (node?.checked != null) {
|
|
202
|
-
return (_jsx(this.c.li, { "data-checked": node.checked, children: this.mapMdastChildren(node) }));
|
|
206
|
+
return (_jsx(this.c.li, { "data-checked": node.checked, ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
203
207
|
}
|
|
204
|
-
return _jsx(this.c.li, { children: this.mapMdastChildren(node) });
|
|
208
|
+
return (_jsx(this.c.li, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
205
209
|
}
|
|
206
210
|
case 'text': {
|
|
207
211
|
if (!node.value) {
|
|
@@ -213,27 +217,27 @@ export class MdastToJsx {
|
|
|
213
217
|
const src = node.url || '';
|
|
214
218
|
const alt = node.alt || '';
|
|
215
219
|
const title = node.title || '';
|
|
216
|
-
return _jsx(this.c.img, { src: src, alt: alt, title: title });
|
|
220
|
+
return (_jsx(this.c.img, { src: src, alt: alt, title: title, ...node.data?.hProperties }));
|
|
217
221
|
}
|
|
218
222
|
case 'link': {
|
|
219
223
|
const href = node.url || '';
|
|
220
224
|
const title = node.title || '';
|
|
221
|
-
return (_jsx(this.c.a, { href, title, children: this.mapMdastChildren(node) }));
|
|
225
|
+
return (_jsx(this.c.a, { href, title, ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
222
226
|
}
|
|
223
227
|
case 'strong': {
|
|
224
|
-
return (_jsx(this.c.strong, { children: this.mapMdastChildren(node) }));
|
|
228
|
+
return (_jsx(this.c.strong, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
225
229
|
}
|
|
226
230
|
case 'emphasis': {
|
|
227
|
-
return _jsx(this.c.em, { children: this.mapMdastChildren(node) });
|
|
231
|
+
return (_jsx(this.c.em, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
228
232
|
}
|
|
229
233
|
case 'delete': {
|
|
230
|
-
return _jsx(this.c.del, { children: this.mapMdastChildren(node) });
|
|
234
|
+
return (_jsx(this.c.del, { ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
231
235
|
}
|
|
232
236
|
case 'inlineCode': {
|
|
233
237
|
if (!node.value) {
|
|
234
238
|
return [];
|
|
235
239
|
}
|
|
236
|
-
return _jsx(this.c.code, { children: node.value });
|
|
240
|
+
return (_jsx(this.c.code, { ...node.data?.hProperties, children: node.value }));
|
|
237
241
|
}
|
|
238
242
|
case 'break': {
|
|
239
243
|
return _jsx(this.c.br, {});
|
|
@@ -243,14 +247,14 @@ export class MdastToJsx {
|
|
|
243
247
|
}
|
|
244
248
|
case 'table': {
|
|
245
249
|
const [head, ...body] = React.Children.toArray(this.mapMdastChildren(node));
|
|
246
|
-
return (_jsxs(this.c.table, { children: [head && _jsx(this.c.thead, { children: head }), !!body?.length && _jsx(this.c.tbody, { children: body })] }));
|
|
250
|
+
return (_jsxs(this.c.table, { ...node.data?.hProperties, children: [head && _jsx(this.c.thead, { children: head }), !!body?.length && _jsx(this.c.tbody, { children: body })] }));
|
|
247
251
|
}
|
|
248
252
|
case 'tableRow': {
|
|
249
|
-
return (_jsx(this.c.tr, { className: '', children: this.mapMdastChildren(node) }));
|
|
253
|
+
return (_jsx(this.c.tr, { className: '', ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
250
254
|
}
|
|
251
255
|
case 'tableCell': {
|
|
252
256
|
let content = this.mapMdastChildren(node);
|
|
253
|
-
return _jsx(this.c.td, { className: '', children: content });
|
|
257
|
+
return (_jsx(this.c.td, { className: '', ...node.data?.hProperties, children: content }));
|
|
254
258
|
}
|
|
255
259
|
case 'definition': {
|
|
256
260
|
return [];
|
|
@@ -263,7 +267,7 @@ export class MdastToJsx {
|
|
|
263
267
|
href = child.url;
|
|
264
268
|
}
|
|
265
269
|
});
|
|
266
|
-
return (_jsx(this.c.a, { href: href, children: this.mapMdastChildren(node) }));
|
|
270
|
+
return (_jsx(this.c.a, { href: href, ...node.data?.hProperties, children: this.mapMdastChildren(node) }));
|
|
267
271
|
}
|
|
268
272
|
case 'footnoteReference': {
|
|
269
273
|
return [];
|
|
@@ -312,7 +316,9 @@ export function getJsxAttrs(node, onError = console.error) {
|
|
|
312
316
|
.map((attr) => {
|
|
313
317
|
if (attr.type === 'mdxJsxExpressionAttribute') {
|
|
314
318
|
onError({
|
|
315
|
-
message: `Expressions in jsx props are not supported (${attr.value
|
|
319
|
+
message: `Expressions in jsx props are not supported (${attr.value
|
|
320
|
+
.replace(/\n+/g, ' ')
|
|
321
|
+
.replace(/ +/g, ' ')})`,
|
|
316
322
|
});
|
|
317
323
|
return;
|
|
318
324
|
}
|
|
@@ -448,6 +454,22 @@ const nativeTags = [
|
|
|
448
454
|
'video',
|
|
449
455
|
'code',
|
|
450
456
|
'pre',
|
|
457
|
+
'figure',
|
|
458
|
+
'canvas',
|
|
459
|
+
'details',
|
|
460
|
+
'dl',
|
|
461
|
+
'dt',
|
|
462
|
+
'dd',
|
|
463
|
+
'fieldset',
|
|
464
|
+
'footer',
|
|
465
|
+
'header',
|
|
466
|
+
'legend',
|
|
467
|
+
'main',
|
|
468
|
+
'mark',
|
|
469
|
+
'nav',
|
|
470
|
+
'progress',
|
|
471
|
+
'summary',
|
|
472
|
+
'time',
|
|
451
473
|
];
|
|
452
474
|
const supportedLanguages = [
|
|
453
475
|
'abap',
|
|
@@ -729,4 +751,79 @@ const supportedLanguages = [
|
|
|
729
751
|
'zig',
|
|
730
752
|
];
|
|
731
753
|
const supportedLanguagesSet = new Set(supportedLanguages);
|
|
754
|
+
/**
|
|
755
|
+
* https://github.com/mdx-js/mdx/blob/b3351fadcb6f78833a72757b7135dcfb8ab646fe/packages/mdx/lib/plugin/remark-mark-and-unravel.js
|
|
756
|
+
* A tiny plugin that unravels `<p><h1>x</h1></p>` but also
|
|
757
|
+
* `<p><Component /></p>` (so it has no knowledge of "HTML").
|
|
758
|
+
*
|
|
759
|
+
* It also marks JSX as being explicitly JSX, so when a user passes a `h1`
|
|
760
|
+
* component, it is used for `# heading` but not for `<h1>heading</h1>`.
|
|
761
|
+
*
|
|
762
|
+
*/
|
|
763
|
+
export function remarkMarkAndUnravel() {
|
|
764
|
+
return function (tree) {
|
|
765
|
+
visit(tree, function (node, index, parent) {
|
|
766
|
+
let offset = -1;
|
|
767
|
+
let all = true;
|
|
768
|
+
let oneOrMore = false;
|
|
769
|
+
if (parent &&
|
|
770
|
+
typeof index === 'number' &&
|
|
771
|
+
node.type === 'paragraph') {
|
|
772
|
+
const children = node.children;
|
|
773
|
+
while (++offset < children.length) {
|
|
774
|
+
const child = children[offset];
|
|
775
|
+
if (child.type === 'mdxJsxTextElement' ||
|
|
776
|
+
child.type === 'mdxTextExpression') {
|
|
777
|
+
oneOrMore = true;
|
|
778
|
+
}
|
|
779
|
+
else if (child.type === 'text' &&
|
|
780
|
+
collapseWhiteSpace(child.value, {
|
|
781
|
+
style: 'html',
|
|
782
|
+
trim: true,
|
|
783
|
+
}) === '') {
|
|
784
|
+
// Empty.
|
|
785
|
+
}
|
|
786
|
+
else {
|
|
787
|
+
all = false;
|
|
788
|
+
break;
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
if (all && oneOrMore) {
|
|
792
|
+
offset = -1;
|
|
793
|
+
const newChildren = [];
|
|
794
|
+
while (++offset < children.length) {
|
|
795
|
+
const child = children[offset];
|
|
796
|
+
if (child.type === 'mdxJsxTextElement') {
|
|
797
|
+
// @ts-expect-error: mutate because it is faster; content model is fine.
|
|
798
|
+
child.type = 'mdxJsxFlowElement';
|
|
799
|
+
}
|
|
800
|
+
if (child.type === 'mdxTextExpression') {
|
|
801
|
+
// @ts-expect-error: mutate because it is faster; content model is fine.
|
|
802
|
+
child.type = 'mdxFlowExpression';
|
|
803
|
+
}
|
|
804
|
+
if (child.type === 'text' &&
|
|
805
|
+
/^[\t\r\n ]+$/.test(String(child.value))) {
|
|
806
|
+
// Empty.
|
|
807
|
+
}
|
|
808
|
+
else {
|
|
809
|
+
newChildren.push(child);
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
parent.children.splice(index, 1, ...newChildren);
|
|
813
|
+
return index;
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
});
|
|
817
|
+
};
|
|
818
|
+
}
|
|
819
|
+
const mdxProcessor = remark()
|
|
820
|
+
.use(remarkMdx)
|
|
821
|
+
.use(remarkFrontmatter, ['yaml', 'toml'])
|
|
822
|
+
.use(remarkGfm)
|
|
823
|
+
.use(remarkMarkAndUnravel)
|
|
824
|
+
.use(() => {
|
|
825
|
+
return (tree, file) => {
|
|
826
|
+
file.data.ast = tree;
|
|
827
|
+
};
|
|
828
|
+
});
|
|
732
829
|
//# sourceMappingURL=safe-mdx.js.map
|
package/dist/safe-mdx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"safe-mdx.js","sourceRoot":"","sources":["../src/safe-mdx.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAEjD,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,SAAS,MAAM,YAAY,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAa,MAAM,OAAO,CAAA;AAI3C,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAW,CAAA;AAChC,CAAC;AAeD,MAAM,UAAU,eAAe,CAAC,EAC5B,UAAU,EACV,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,IAAW,EACnB,iBAAiB,GAMpB;IACG,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC;QAC3B,IAAI;QACJ,KAAK;QACL,UAAU;QACV,iBAAiB;KACpB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IAC5B,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,MAAM,OAAO,UAAU;IACnB,KAAK,CAAe;IACpB,GAAG,CAAQ;IACX,MAAM,GAAW,EAAE,CAAA;IACnB,CAAC,CAAe;IAChB,MAAM,GAA0B,EAAE,CAAA;IAClC,iBAAiB,CAAoB;IAErC,YAAY,EACR,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,SAAgB,EACxB,UAAU,GAAG,EAAmB,EAChC,iBAAiB,GASpB;QACG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAE1C,IAAI,CAAC,CAAC,GAAG;YACL,GAAG,MAAM,CAAC,WAAW,CACjB,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACrB,CAAC,CAAC,CACL;YACD,GAAG,UAAU;SAChB,CAAA;IACL,CAAC;IACD,gBAAgB,CAAC,IAAS;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;YACrB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;aACjD,MAAM,CAAC,OAAO,CAAC,CAAA;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,IAAI,CAAA;YACf,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;YACL,CAAC;QACL,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,CAAA;IACtB,CAAC;IACD,cAAc,CAAC,IAAS;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ;YACrB,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAClD,MAAM,CAAC,OAAO,CAAC,CAAA;QACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,IAAI,CAAA;YACf,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAA;YACL,CAAC;QACL,CAAC;QACD,OAAO,GAAG,IAAI,IAAI,CAAA;IACtB,CAAC;IACD,cAAc,CAAC,IAAmB;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAA;QACb,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,mBAAmB,CAAC;YACzB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACb,OAAO,EAAE,CAAA;gBACb,CAAC;gBAED,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;gBAElD,IAAI,CAAC,SAAS,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACb,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,EAAE;qBACpD,CAAC,CAAA;oBACF,OAAO,IAAI,CAAA;gBACf,CAAC;gBAED,IAAI,SAAS,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;oBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC,CAAC,CAAA;gBAEF,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAA;gBACzC,OAAO,CACH,KAAC,SAAS,OAAK,KAAK,YACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAClB,CACf,CAAA;YACL,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACN,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YACtC,CAAC;QACL,CAAC;IACL,CAAC;IAED,GAAG;QACC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAc,CAAA;QAC1D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,GAAG,CAAA;IACd,CAAC;IAED,gBAAgB,CAAC,IAAmB;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,EAAE,CAAA;QACb,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CACvC,IAAI,EACJ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAA;YACD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,YAAY,CAAA;YACvB,CAAC;QACL,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAA;gBACtC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAErC,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,mBAAmB,CAAC;YACzB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAA;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBACvC,IAAI,CAAC;oBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;oBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;oBACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;oBAC1C,CAAC;yBAAM,IAAI,MAAM,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAA;oBACjB,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;gBACpB,CAAC;gBACD,OAAO,EAAE,CAAA;YACb,CAAC;YAED,KAAK,mBAAmB,CAAC;YACzB,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,KAAK,EAAE,CAAA;gBAE9C,OAAO,CACH,KAAC,GAAG,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAC1B,CACT,CAAA;YACL,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACrB,CACd,CAAA;YACL,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,UAAU,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACZ,CACvB,CAAA;YACL,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACnB,OAAO,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAG,CAAA;YACxB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;gBAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAA;gBACvB,MAAM,SAAS,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,CACtC,KAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAClC,KAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAC,SAAS,EAAE,SAAS,YAAG,IAAI,GAAe,GAC9C,CAChB,CAAA;gBAED,IAAI,QAAQ,EAAE,CAAC;oBACX,IACI,qBAAqB,CAAC,GAAG,CACrB,QAA+C,CAClD,EACH,CAAC;wBACC,OAAO,SAAS,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAA;oBAC5C,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACb,OAAO,EAAE,wBAAwB,QAAQ,EAAE;yBAC9C,CAAC,CAAA;wBACF,OAAO,SAAS,EAAE,CAAA;oBACtB,CAAC;gBACL,CAAC;gBACD,OAAO,SAAS,EAAE,CAAA;YACtB,CAAC;YAED,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IACN,KAAK,EAAE,IAAI,CAAC,KAAM,KACd,IAAI,CAAC,IAAI,EAAE,WAAW,YAEzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;gBACL,CAAC;gBACD,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;YACL,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,2EAA2E;gBAC3E,IAAI,IAAI,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC;oBACxB,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,oBACQ,IAAI,CAAC,OAAO,KACtB,IAAI,CAAC,IAAI,EAAE,WAAW,YAEzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;gBACL,CAAC;gBACD,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;YACL,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAA;YACrB,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;gBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;gBAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;gBAC9B,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IACP,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,KACR,IAAI,CAAC,IAAI,EAAE,WAAW,GAC5B,CACL,CAAA;YACL,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAA;gBAC9B,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAO,IAAI,EAAE,KAAK,KAAQ,IAAI,CAAC,IAAI,EAAE,WAAW,YACpD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACrB,CACd,CAAA;YACL,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,MAAM,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAChB,CACnB,CAAA;YACL,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAChC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;YACL,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACnB,CAChB,CAAA;YACL,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,OAAO,EAAE,CAAA;gBACb,CAAC;gBACD,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAClC,IAAI,CAAC,KAAK,GACD,CACjB,CAAA;YACL,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,OAAO,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAG,CAAA;YACxB,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,OAAO,KAAC,QAAQ,cAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAY,CAAA;YAC7D,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACX,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC9B,CAAA;gBACD,OAAO,CACH,MAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAK,IAAI,CAAC,IAAI,EAAE,WAAW,aACnC,IAAI,IAAI,KAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAE,IAAI,GAAgB,EAC3C,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,KAAC,IAAI,CAAC,CAAC,CAAC,KAAK,cAAE,IAAI,GAAgB,IAC3C,CAClB,CAAA;YACL,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBACd,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAC,SAAS,EAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACpB,CACf,CAAA;YACL,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACf,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;gBACzC,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAC,SAAS,EAAC,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,WAAW,YAC7C,OAAO,GACA,CACf,CAAA;YACL,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAChB,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,eAAe,CAAC,CAAC,CAAC;gBACnB,IAAI,IAAI,GAAG,EAAE,CAAA;gBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE;oBAChC,IACI,KAAK,CAAC,IAAI,KAAK,YAAY;wBAC3B,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,UAAU,EACtC,CAAC;wBACC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAA;oBACpB,CAAC;gBACL,CAAC,CAAC,CAAA;gBAEF,OAAO,CACH,KAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAC,IAAI,EAAE,IAAI,KAAM,IAAI,CAAC,IAAI,EAAE,WAAW,YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GACrB,CACd,CAAA;YACL,CAAC;YACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACvB,OAAO,EAAE,CAAA;YACb,CAAC;YAED,KAAK,oBAAoB,CAAC,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACV,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAA;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAA;gBACtC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBACvC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,OAAO,EAAE,CAAA;gBACb,CAAC;gBAED,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;gBAC3B,IAAI,CAAC;oBACD,IAAI,CAAC,MAAM,GAAG,GAAG,CAAA;oBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;oBACxC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;oBAC1C,CAAC;yBAAM,IAAI,MAAM,EAAE,CAAC;wBAChB,OAAO,MAAM,CAAA;oBACjB,CAAC;gBACL,CAAC;wBAAS,CAAC;oBACP,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;gBACpB,CAAC;gBAED,OAAO,EAAE,CAAA;YACb,CAAC;YACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAA;YACb,CAAC;YAED,OAAO,CAAC,CAAC,CAAC;gBACN,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;oBACpB,OAAO,IAAI,CAAC,QAAQ,CAAA;gBACxB,CAAC,CAAC,CAAA;gBAEF,MAAM,IAAI,KAAK,CACX,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CACxD,CAAA;gBAED,OAAO,EAAE,CAAA;YACb,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAED,MAAM,UAAU,WAAW,CACvB,IAA2C,EAC3C,UAA8C,OAAO,CAAC,KAAK;IAE3D,IAAI,SAAS,GAAG,IAAI,CAAC,UAAU;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,IAAI,IAAI,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;YAC5C,OAAO,CAAC;gBACJ,OAAO,EAAE,+CAA+C,IAAI,CAAC,KAAK;qBAC7D,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;qBACpB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG;aAC9B,CAAC,CAAA;YACF,OAAM;QACV,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAA;QACpB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC,EAAE,IAAI,KAAK,gCAAgC,EAAE,CAAC;YAC/C,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,CAAC,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;YACjC,CAAC;YACD,IAAI,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtD,CAAA;YACD,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;gBACnB,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;oBAChB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;gBACxD,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;YACzC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC9B,CAAC;YACD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;YACzC,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;YAClC,CAAC;YAED,OAAO,CAAC;gBACJ,OAAO,EAAE,+CAA+C,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,IAAI;aACpF,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACtD,CAAC;QAED,OAAM;IACV,CAAC,CAAC;SACD,MAAM,CAAC,QAAQ,CAAoB,CAAA;IACxC,OAAO,SAAS,CAAA;AACpB,CAAC;AAED,SAAS,QAAQ,CAAI,GAAiC;IAClD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,GAAG,EAAE,IAAY;IACpC,OAAO,IAAI;SACN,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC;SACf,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,QAAQ,CACpB,IAAmB,EACnB,EAAiC;IAEjC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,MAAM,GAAU,EAAE,CAAA;IACxB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACpC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACpB,CAAC;aAAM,IAAI,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClB,CAAC;QACD,IAAI,IAAI,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,GAAI,IAAI,CAAC,QAAgB,CAAC,CAAA;QACzC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAA;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAC9B,IAAI,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC;AAED,MAAM,UAAU,GAAG;IACf,YAAY;IACZ,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,GAAG;IACH,GAAG;IACH,IAAI;IACJ,QAAQ;IACR,KAAK;IACL,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,MAAM;IACN,IAAI;IACJ,GAAG;IACH,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,MAAM;IACN,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,OAAO;IACP,IAAI;IACJ,IAAI;IACJ,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;IACL,UAAU;IACV,SAAS;IACT,MAAM;CACA,CAAA;AAEV,MAAM,kBAAkB,GAAG;IACvB,MAAM;IACN,MAAM;IACN,cAAc;IACd,KAAK;IACL,MAAM;IACN,IAAI;IACJ,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,KAAK;IACL,aAAa;IACb,KAAK;IACL,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,WAAW;IACX,cAAc;IACd,KAAK;IACL,KAAK;IACL,GAAG;IACH,UAAU;IACV,YAAY;IACZ,KAAK;IACL,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;IACP,cAAc;IACd,WAAW;IACX,KAAK;IACL,KAAK;IACL,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,YAAY;IACZ,KAAK;IACL,KAAK;IACL,QAAQ;IACR,GAAG;IACH,MAAM;IACN,WAAW;IACX,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,eAAe;IACf,QAAQ;IACR,KAAK;IACL,MAAM;IACN,cAAc;IACd,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,KAAK;IACL,KAAK;IACL,QAAQ;IACR,OAAO;IACP,eAAe;IACf,QAAQ;IACR,OAAO;IACP,0BAA0B;IAC1B,MAAM;IACN,SAAS;IACT,QAAQ;IACR,KAAK;IACL,KAAK;IACL,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,KAAK;IACL,MAAM;IACN,KAAK;IACL,IAAI;IACJ,WAAW;IACX,IAAI;IACJ,SAAS;IACT,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,SAAS;IACT,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,WAAW;IACX,MAAM;IACN,oBAAoB;IACpB,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,KAAK;IACL,IAAI;IACJ,GAAG;IACH,MAAM;IACN,SAAS;IACT,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,IAAI;IACJ,WAAW;IACX,cAAc;IACd,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,cAAc;IACd,KAAK;IACL,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,MAAM;IACN,KAAK;IACL,SAAS;IACT,KAAK;IACL,OAAO;IACP,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,KAAK;IACL,SAAS;IACT,OAAO;IACP,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,MAAM;IACN,iBAAiB;IACjB,YAAY;IACZ,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,KAAK;IACL,MAAM;IACN,YAAY;IACZ,OAAO;IACP,QAAQ;IACR,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,YAAY;IACZ,KAAK;IACL,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,WAAW;IACX,YAAY;IACZ,QAAQ;IACR,GAAG;IACH,KAAK;IACL,MAAM;IACN,QAAQ;IACR,GAAG;IACH,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,UAAU;IACV,gBAAgB;IAChB,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,QAAQ;IACR,MAAM;IACN,eAAe;IACf,OAAO;IACP,WAAW;IACX,QAAQ;IACR,KAAK;IACL,UAAU;IACV,eAAe;IACf,KAAK;IACL,QAAQ;IACR,YAAY;IACZ,KAAK;IACL,KAAK;IACL,UAAU;IACV,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,eAAe;IACf,OAAO;IACP,KAAK;IACL,KAAK;IACL,SAAS;IACT,MAAM;IACN,QAAQ;IACR,KAAK;IACL,KAAK;IACL,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,SAAS;IACT,KAAK;IACL,GAAG;IACH,MAAM;IACN,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,KAAK;IACL,cAAc;IACd,YAAY;IACZ,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,MAAM;IACN,KAAK;CACC,CAAA;AACV,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAA;AAMzD;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB;IAChC,OAAO,UAAU,IAAU;QACvB,KAAK,CAAC,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,MAAM;YACrC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAA;YACf,IAAI,GAAG,GAAG,IAAI,CAAA;YACd,IAAI,SAAS,GAAG,KAAK,CAAA;YAErB,IACI,MAAM;gBACN,OAAO,KAAK,KAAK,QAAQ;gBACzB,IAAI,CAAC,IAAI,KAAK,WAAW,EAC3B,CAAC;gBACC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAE9B,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;oBAE9B,IACI,KAAK,CAAC,IAAI,KAAK,mBAAmB;wBAClC,KAAK,CAAC,IAAI,KAAK,mBAAmB,EACpC,CAAC;wBACC,SAAS,GAAG,IAAI,CAAA;oBACpB,CAAC;yBAAM,IACH,KAAK,CAAC,IAAI,KAAK,MAAM;wBACrB,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE;4BAC5B,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,IAAI;yBACb,CAAC,KAAK,EAAE,EACX,CAAC;wBACC,SAAS;oBACb,CAAC;yBAAM,CAAC;wBACJ,GAAG,GAAG,KAAK,CAAA;wBACX,MAAK;oBACT,CAAC;gBACL,CAAC;gBAED,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACnB,MAAM,GAAG,CAAC,CAAC,CAAA;oBAEX,MAAM,WAAW,GAAkB,EAAE,CAAA;oBAErC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;wBAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;wBAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACrC,wEAAwE;4BACxE,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAA;wBACpC,CAAC;wBAED,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;4BACrC,wEAAwE;4BACxE,KAAK,CAAC,IAAI,GAAG,mBAAmB,CAAA;wBACpC,CAAC;wBAED,IACI,KAAK,CAAC,IAAI,KAAK,MAAM;4BACrB,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC1C,CAAC;4BACC,SAAS;wBACb,CAAC;6BAAM,CAAC;4BACJ,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;wBAC3B,CAAC;oBACL,CAAC;oBAED,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAA;oBAChD,OAAO,KAAK,CAAA;gBAChB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAA;AACL,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,EAAE;KACxB,GAAG,CAAC,SAAS,CAAC;KACd,GAAG,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACxC,GAAG,CAAC,SAAS,CAAC;KACd,GAAG,CAAC,oBAAoB,CAAC;KACzB,GAAG,CAAC,GAAG,EAAE;IACN,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAClB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;IACxB,CAAC,CAAA;AACL,CAAC,CAAC,CAAA"}
|