@veltra/desktop 1.2.34 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/action/action-group.vue.d.ts +2 -2
- package/dist/components/action/action.vue.d.ts +1 -1
- package/dist/components/auto-complete/auto-complete.vue.d.ts +1 -1
- package/dist/components/batch-edit/style2.css +0 -3
- package/dist/components/breadcrumb/style2.css +1 -2
- package/dist/components/button/style2.css +23 -7
- package/dist/components/calendar/style2.css +3 -0
- package/dist/components/card/style2.css +13 -11
- package/dist/components/cascade/cascade.vue.d.ts +7 -7
- package/dist/components/check-tag/style2.css +6 -1
- package/dist/components/checkbox/checkbox.js +10 -10
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/checkbox/style2.css +20 -3
- package/dist/components/checkbox-group/checkbox-group.vue.d.ts +1 -1
- package/dist/components/code-editor/lang-loaders.js +1 -0
- package/dist/components/code-editor/lang-loaders.js.map +1 -1
- package/dist/components/code-editor/style2.css +2 -2
- package/dist/components/condition-editor/style2.css +2 -4
- package/dist/components/contextmenu/style2.css +2 -2
- package/dist/components/date-picker/date-picker.vue.d.ts +1 -1
- package/dist/components/date-range-picker/date-range-picker.vue.d.ts +1 -1
- package/dist/components/dialog/style2.css +3 -3
- package/dist/components/drawer/style2.css +1 -1
- package/dist/components/dropdown/style2.css +1 -1
- package/dist/components/empty/empty.vue.d.ts +1 -1
- package/dist/components/float-button/style2.css +1 -1
- package/dist/components/group-nav/style2.css +1 -1
- package/dist/components/input/input.vue.d.ts +3 -3
- package/dist/components/input/style2.css +5 -4
- package/dist/components/message/style2.css +7 -7
- package/dist/components/message-confirm/style2.css +1 -1
- package/dist/components/multi-select/multi-select.vue.d.ts +3 -3
- package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +6 -6
- package/dist/components/nav/style2.css +2 -2
- package/dist/components/notification/style2.css +1 -1
- package/dist/components/number/number.vue.d.ts +1 -1
- package/dist/components/number-input/number-input.vue.d.ts +3 -3
- package/dist/components/number-range-input/number-range-input.vue.d.ts +1 -1
- package/dist/components/pop-confirm/pop-confirm.vue.d.ts +1 -1
- package/dist/components/progress-nodes/progress-nodes.vue.d.ts +1 -1
- package/dist/components/radio/radio.js +5 -5
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/radio/style2.css +12 -0
- package/dist/components/radio-group/radio-group.vue.d.ts +1 -1
- package/dist/components/rich-text-editor/style2.css +1 -1
- package/dist/components/scroll/style2.css +3 -3
- package/dist/components/select/select.vue.d.ts +2 -2
- package/dist/components/slider/slider-thumb.js +4 -2
- package/dist/components/slider/slider-thumb.js.map +1 -1
- package/dist/components/slider/style2.css +7 -0
- package/dist/components/switch/style2.css +15 -1
- package/dist/components/switch/switch.js +0 -1
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/tabs/style2.css +7 -4
- package/dist/components/text/style2.css +5 -5
- package/dist/components/textarea/textarea.vue.d.ts +3 -3
- package/dist/components/tip/style2.css +2 -2
- package/dist/components/tree/tree.vue.d.ts +3 -3
- package/dist/components/tree-select/tree-select.vue.d.ts +5 -5
- package/dist/node_modules/.bun/@codemirror_autocomplete@6.20.3/node_modules/@codemirror/autocomplete/dist/index.js +1 -1
- package/dist/node_modules/.bun/@codemirror_lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.js +914 -0
- package/dist/node_modules/.bun/@codemirror_lang-css@6.3.1/node_modules/@codemirror/lang-css/dist/index.js.map +1 -0
- package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js +994 -0
- package/dist/node_modules/.bun/@codemirror_lang-html@6.4.11/node_modules/@codemirror/lang-html/dist/index.js.map +1 -0
- package/dist/node_modules/.bun/@codemirror_lang-javascript@6.2.5/node_modules/@codemirror/lang-javascript/dist/index.js +1 -1
- package/dist/node_modules/.bun/@codemirror_lang-markdown@6.5.1/node_modules/@codemirror/lang-markdown/dist/index.js +471 -0
- package/dist/node_modules/.bun/@codemirror_lang-markdown@6.5.1/node_modules/@codemirror/lang-markdown/dist/index.js.map +1 -0
- package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js +71 -1
- package/dist/node_modules/.bun/@codemirror_language@6.12.4/node_modules/@codemirror/language/dist/index.js.map +1 -1
- package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js +326 -2
- package/dist/node_modules/.bun/@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js.map +1 -1
- package/dist/node_modules/.bun/@lezer_css@1.3.4/node_modules/@lezer/css/dist/index.js +250 -0
- package/dist/node_modules/.bun/@lezer_css@1.3.4/node_modules/@lezer/css/dist/index.js.map +1 -0
- package/dist/node_modules/.bun/@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js +1 -1
- package/dist/node_modules/.bun/@lezer_html@1.3.13/node_modules/@lezer/html/dist/index.js +438 -0
- package/dist/node_modules/.bun/@lezer_html@1.3.13/node_modules/@lezer/html/dist/index.js.map +1 -0
- package/dist/node_modules/.bun/@lezer_markdown@1.7.2/node_modules/@lezer/markdown/dist/index.js +1952 -0
- package/dist/node_modules/.bun/@lezer_markdown@1.7.2/node_modules/@lezer/markdown/dist/index.js.map +1 -0
- package/dist/types/code-editor.d.ts +1 -1
- package/package.json +7 -6
- package/src/components/batch-edit/style.scss +0 -5
- package/src/components/breadcrumb/style.scss +1 -2
- package/src/components/button/style.scss +18 -9
- package/src/components/calendar/style.scss +4 -0
- package/src/components/card/style.scss +5 -3
- package/src/components/check-tag/style.scss +7 -1
- package/src/components/checkbox/checkbox.vue +8 -2
- package/src/components/checkbox/style.scss +32 -3
- package/src/components/code-editor/lang-loaders.ts +1 -0
- package/src/components/code-editor/style.scss +2 -2
- package/src/components/condition-editor/style.scss +2 -4
- package/src/components/contextmenu/style.scss +1 -3
- package/src/components/dialog/style.scss +3 -3
- package/src/components/drawer/style.scss +1 -1
- package/src/components/dropdown/style.scss +1 -1
- package/src/components/float-button/style.scss +1 -1
- package/src/components/group-nav/style.scss +1 -3
- package/src/components/input/style.scss +4 -3
- package/src/components/message/style.scss +2 -2
- package/src/components/message-confirm/style.scss +1 -1
- package/src/components/nav/style.scss +2 -6
- package/src/components/notification/style.scss +1 -1
- package/src/components/radio/radio.vue +8 -9
- package/src/components/radio/style.scss +21 -0
- package/src/components/rich-text-editor/style.scss +1 -1
- package/src/components/scroll/style.scss +3 -3
- package/src/components/slider/slider-thumb.vue +1 -1
- package/src/components/slider/style.scss +10 -0
- package/src/components/switch/style.scss +25 -1
- package/src/components/switch/switch.vue +0 -1
- package/src/components/tabs/style.scss +7 -5
- package/src/components/text/style.scss +5 -5
- package/src/components/tip/style.scss +2 -2
- package/src/types/code-editor.ts +9 -1
|
@@ -0,0 +1,438 @@
|
|
|
1
|
+
import { parseMixed } from "../../../../../@lezer_common@1.5.2/node_modules/@lezer/common/dist/index.js";
|
|
2
|
+
import { styleTags, tags } from "../../../../../@lezer_highlight@1.2.3/node_modules/@lezer/highlight/dist/index.js";
|
|
3
|
+
import { ContextTracker, ExternalTokenizer, LRParser } from "../../../../../@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.js";
|
|
4
|
+
//#region ../../node_modules/.bun/@lezer+html@1.3.13/node_modules/@lezer/html/dist/index.js
|
|
5
|
+
const scriptText = 55, StartCloseScriptTag = 1, styleText = 56, StartCloseStyleTag = 2, textareaText = 57, StartCloseTextareaTag = 3, EndTag = 4, SelfClosingEndTag = 5, StartTag = 6, StartScriptTag = 7, StartStyleTag = 8, StartTextareaTag = 9, StartSelfClosingTag = 10, StartCloseTag = 11, NoMatchStartCloseTag = 12, MismatchedStartCloseTag = 13, missingCloseTag = 58, IncompleteTag = 14, IncompleteCloseTag = 15, commentContent$1 = 59, Element = 21, TagName = 23, Attribute = 24, AttributeName = 25, AttributeValue = 27, UnquotedAttributeValue = 28, ScriptText = 29, StyleText = 32, TextareaText = 35, OpenTag = 37, CloseTag = 38, Dialect_noMatch = 0, Dialect_selfClosing = 1;
|
|
6
|
+
const selfClosers = {
|
|
7
|
+
area: true,
|
|
8
|
+
base: true,
|
|
9
|
+
br: true,
|
|
10
|
+
col: true,
|
|
11
|
+
command: true,
|
|
12
|
+
embed: true,
|
|
13
|
+
frame: true,
|
|
14
|
+
hr: true,
|
|
15
|
+
img: true,
|
|
16
|
+
input: true,
|
|
17
|
+
keygen: true,
|
|
18
|
+
link: true,
|
|
19
|
+
meta: true,
|
|
20
|
+
param: true,
|
|
21
|
+
source: true,
|
|
22
|
+
track: true,
|
|
23
|
+
wbr: true,
|
|
24
|
+
menuitem: true
|
|
25
|
+
};
|
|
26
|
+
const implicitlyClosed = {
|
|
27
|
+
dd: true,
|
|
28
|
+
li: true,
|
|
29
|
+
optgroup: true,
|
|
30
|
+
option: true,
|
|
31
|
+
p: true,
|
|
32
|
+
rp: true,
|
|
33
|
+
rt: true,
|
|
34
|
+
tbody: true,
|
|
35
|
+
td: true,
|
|
36
|
+
tfoot: true,
|
|
37
|
+
th: true,
|
|
38
|
+
tr: true
|
|
39
|
+
};
|
|
40
|
+
const closeOnOpen = {
|
|
41
|
+
dd: {
|
|
42
|
+
dd: true,
|
|
43
|
+
dt: true
|
|
44
|
+
},
|
|
45
|
+
dt: {
|
|
46
|
+
dd: true,
|
|
47
|
+
dt: true
|
|
48
|
+
},
|
|
49
|
+
li: { li: true },
|
|
50
|
+
option: {
|
|
51
|
+
option: true,
|
|
52
|
+
optgroup: true
|
|
53
|
+
},
|
|
54
|
+
optgroup: { optgroup: true },
|
|
55
|
+
p: {
|
|
56
|
+
address: true,
|
|
57
|
+
article: true,
|
|
58
|
+
aside: true,
|
|
59
|
+
blockquote: true,
|
|
60
|
+
dir: true,
|
|
61
|
+
div: true,
|
|
62
|
+
dl: true,
|
|
63
|
+
fieldset: true,
|
|
64
|
+
footer: true,
|
|
65
|
+
form: true,
|
|
66
|
+
h1: true,
|
|
67
|
+
h2: true,
|
|
68
|
+
h3: true,
|
|
69
|
+
h4: true,
|
|
70
|
+
h5: true,
|
|
71
|
+
h6: true,
|
|
72
|
+
header: true,
|
|
73
|
+
hgroup: true,
|
|
74
|
+
hr: true,
|
|
75
|
+
menu: true,
|
|
76
|
+
nav: true,
|
|
77
|
+
ol: true,
|
|
78
|
+
p: true,
|
|
79
|
+
pre: true,
|
|
80
|
+
section: true,
|
|
81
|
+
table: true,
|
|
82
|
+
ul: true
|
|
83
|
+
},
|
|
84
|
+
rp: {
|
|
85
|
+
rp: true,
|
|
86
|
+
rt: true
|
|
87
|
+
},
|
|
88
|
+
rt: {
|
|
89
|
+
rp: true,
|
|
90
|
+
rt: true
|
|
91
|
+
},
|
|
92
|
+
tbody: {
|
|
93
|
+
tbody: true,
|
|
94
|
+
tfoot: true
|
|
95
|
+
},
|
|
96
|
+
td: {
|
|
97
|
+
td: true,
|
|
98
|
+
th: true
|
|
99
|
+
},
|
|
100
|
+
tfoot: { tbody: true },
|
|
101
|
+
th: {
|
|
102
|
+
td: true,
|
|
103
|
+
th: true
|
|
104
|
+
},
|
|
105
|
+
thead: {
|
|
106
|
+
tbody: true,
|
|
107
|
+
tfoot: true
|
|
108
|
+
},
|
|
109
|
+
tr: { tr: true }
|
|
110
|
+
};
|
|
111
|
+
function nameChar(ch) {
|
|
112
|
+
return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161;
|
|
113
|
+
}
|
|
114
|
+
let cachedName = null, cachedInput = null, cachedPos = 0;
|
|
115
|
+
function tagNameAfter(input, offset) {
|
|
116
|
+
let pos = input.pos + offset;
|
|
117
|
+
if (cachedPos == pos && cachedInput == input) return cachedName;
|
|
118
|
+
let next = input.peek(offset), name = "";
|
|
119
|
+
for (;;) {
|
|
120
|
+
if (!nameChar(next)) break;
|
|
121
|
+
name += String.fromCharCode(next);
|
|
122
|
+
next = input.peek(++offset);
|
|
123
|
+
}
|
|
124
|
+
cachedInput = input;
|
|
125
|
+
cachedPos = pos;
|
|
126
|
+
return cachedName = name ? name.toLowerCase() : next == question || next == bang ? void 0 : null;
|
|
127
|
+
}
|
|
128
|
+
const lessThan = 60, greaterThan = 62, slash = 47, question = 63, bang = 33, dash = 45;
|
|
129
|
+
function ElementContext(name, parent) {
|
|
130
|
+
this.name = name;
|
|
131
|
+
this.parent = parent;
|
|
132
|
+
}
|
|
133
|
+
const startTagTerms = [
|
|
134
|
+
StartTag,
|
|
135
|
+
StartSelfClosingTag,
|
|
136
|
+
StartScriptTag,
|
|
137
|
+
StartStyleTag,
|
|
138
|
+
StartTextareaTag
|
|
139
|
+
];
|
|
140
|
+
const elementContext = new ContextTracker({
|
|
141
|
+
start: null,
|
|
142
|
+
shift(context, term, stack, input) {
|
|
143
|
+
return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || "", context) : context;
|
|
144
|
+
},
|
|
145
|
+
reduce(context, term) {
|
|
146
|
+
return term == Element && context ? context.parent : context;
|
|
147
|
+
},
|
|
148
|
+
reuse(context, node, stack, input) {
|
|
149
|
+
let type = node.type.id;
|
|
150
|
+
return type == StartTag || type == OpenTag ? new ElementContext(tagNameAfter(input, 1) || "", context) : context;
|
|
151
|
+
},
|
|
152
|
+
strict: false
|
|
153
|
+
});
|
|
154
|
+
const tagStart = new ExternalTokenizer((input, stack) => {
|
|
155
|
+
if (input.next != lessThan) {
|
|
156
|
+
if (input.next < 0 && stack.context) input.acceptToken(missingCloseTag);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
input.advance();
|
|
160
|
+
let close = input.next == slash;
|
|
161
|
+
if (close) input.advance();
|
|
162
|
+
let name = tagNameAfter(input, 0);
|
|
163
|
+
if (name === void 0) return;
|
|
164
|
+
if (!name) return input.acceptToken(close ? IncompleteCloseTag : IncompleteTag);
|
|
165
|
+
let parent = stack.context ? stack.context.name : null;
|
|
166
|
+
if (close) {
|
|
167
|
+
if (name == parent) return input.acceptToken(StartCloseTag);
|
|
168
|
+
if (parent && implicitlyClosed[parent]) return input.acceptToken(missingCloseTag, -2);
|
|
169
|
+
if (stack.dialectEnabled(Dialect_noMatch)) return input.acceptToken(NoMatchStartCloseTag);
|
|
170
|
+
for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return;
|
|
171
|
+
input.acceptToken(MismatchedStartCloseTag);
|
|
172
|
+
} else {
|
|
173
|
+
if (name == "script") return input.acceptToken(StartScriptTag);
|
|
174
|
+
if (name == "style") return input.acceptToken(StartStyleTag);
|
|
175
|
+
if (name == "textarea") return input.acceptToken(StartTextareaTag);
|
|
176
|
+
if (selfClosers.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag);
|
|
177
|
+
if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);
|
|
178
|
+
else input.acceptToken(StartTag);
|
|
179
|
+
}
|
|
180
|
+
}, { contextual: true });
|
|
181
|
+
const commentContent = new ExternalTokenizer((input) => {
|
|
182
|
+
for (let dashes = 0, i = 0;; i++) {
|
|
183
|
+
if (input.next < 0) {
|
|
184
|
+
if (i) input.acceptToken(commentContent$1);
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
if (input.next == dash) dashes++;
|
|
188
|
+
else if (input.next == greaterThan && dashes >= 2) {
|
|
189
|
+
if (i >= 3) input.acceptToken(commentContent$1, -2);
|
|
190
|
+
break;
|
|
191
|
+
} else dashes = 0;
|
|
192
|
+
input.advance();
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
function inForeignElement(context) {
|
|
196
|
+
for (; context; context = context.parent) if (context.name == "svg" || context.name == "math") return true;
|
|
197
|
+
return false;
|
|
198
|
+
}
|
|
199
|
+
const endTag = new ExternalTokenizer((input, stack) => {
|
|
200
|
+
if (input.next == slash && input.peek(1) == greaterThan) {
|
|
201
|
+
let selfClosing = stack.dialectEnabled(Dialect_selfClosing) || inForeignElement(stack.context);
|
|
202
|
+
input.acceptToken(selfClosing ? SelfClosingEndTag : EndTag, 2);
|
|
203
|
+
} else if (input.next == greaterThan) input.acceptToken(EndTag, 1);
|
|
204
|
+
});
|
|
205
|
+
function contentTokenizer(tag, textToken, endToken) {
|
|
206
|
+
let lastState = 2 + tag.length;
|
|
207
|
+
return new ExternalTokenizer((input) => {
|
|
208
|
+
for (let state = 0, matchedLen = 0, i = 0;; i++) {
|
|
209
|
+
if (input.next < 0) {
|
|
210
|
+
if (i) input.acceptToken(textToken);
|
|
211
|
+
break;
|
|
212
|
+
}
|
|
213
|
+
if (state == 0 && input.next == lessThan || state == 1 && input.next == slash || state >= 2 && state < lastState && input.next == tag.charCodeAt(state - 2)) {
|
|
214
|
+
state++;
|
|
215
|
+
matchedLen++;
|
|
216
|
+
} else if (state == lastState && input.next == greaterThan) {
|
|
217
|
+
if (i > matchedLen) input.acceptToken(textToken, -matchedLen);
|
|
218
|
+
else input.acceptToken(endToken, -(matchedLen - 2));
|
|
219
|
+
break;
|
|
220
|
+
} else if ((input.next == 10 || input.next == 13) && i) {
|
|
221
|
+
input.acceptToken(textToken, 1);
|
|
222
|
+
break;
|
|
223
|
+
} else state = matchedLen = 0;
|
|
224
|
+
input.advance();
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
const scriptTokens = contentTokenizer("script", scriptText, StartCloseScriptTag);
|
|
229
|
+
const styleTokens = contentTokenizer("style", styleText, StartCloseStyleTag);
|
|
230
|
+
const textareaTokens = contentTokenizer("textarea", textareaText, StartCloseTextareaTag);
|
|
231
|
+
const htmlHighlighting = styleTags({
|
|
232
|
+
"Text RawText IncompleteTag IncompleteCloseTag": tags.content,
|
|
233
|
+
"StartTag StartCloseTag SelfClosingEndTag EndTag": tags.angleBracket,
|
|
234
|
+
TagName: tags.tagName,
|
|
235
|
+
"MismatchedCloseTag/TagName": [tags.tagName, tags.invalid],
|
|
236
|
+
AttributeName: tags.attributeName,
|
|
237
|
+
"AttributeValue UnquotedAttributeValue": tags.attributeValue,
|
|
238
|
+
Is: tags.definitionOperator,
|
|
239
|
+
"EntityReference CharacterReference": tags.character,
|
|
240
|
+
Comment: tags.blockComment,
|
|
241
|
+
ProcessingInst: tags.processingInstruction,
|
|
242
|
+
DoctypeDecl: tags.documentMeta
|
|
243
|
+
});
|
|
244
|
+
const parser = LRParser.deserialize({
|
|
245
|
+
version: 14,
|
|
246
|
+
states: ",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",
|
|
247
|
+
stateData: ",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",
|
|
248
|
+
goto: "%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
|
|
249
|
+
nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",
|
|
250
|
+
maxTerm: 68,
|
|
251
|
+
context: elementContext,
|
|
252
|
+
nodeProps: [
|
|
253
|
+
[
|
|
254
|
+
"closedBy",
|
|
255
|
+
-10,
|
|
256
|
+
1,
|
|
257
|
+
2,
|
|
258
|
+
3,
|
|
259
|
+
7,
|
|
260
|
+
8,
|
|
261
|
+
9,
|
|
262
|
+
10,
|
|
263
|
+
11,
|
|
264
|
+
12,
|
|
265
|
+
13,
|
|
266
|
+
"EndTag",
|
|
267
|
+
6,
|
|
268
|
+
"EndTag SelfClosingEndTag",
|
|
269
|
+
-4,
|
|
270
|
+
22,
|
|
271
|
+
31,
|
|
272
|
+
34,
|
|
273
|
+
37,
|
|
274
|
+
"CloseTag"
|
|
275
|
+
],
|
|
276
|
+
[
|
|
277
|
+
"openedBy",
|
|
278
|
+
4,
|
|
279
|
+
"StartTag StartCloseTag",
|
|
280
|
+
5,
|
|
281
|
+
"StartTag",
|
|
282
|
+
-4,
|
|
283
|
+
30,
|
|
284
|
+
33,
|
|
285
|
+
36,
|
|
286
|
+
38,
|
|
287
|
+
"OpenTag"
|
|
288
|
+
],
|
|
289
|
+
[
|
|
290
|
+
"group",
|
|
291
|
+
-10,
|
|
292
|
+
14,
|
|
293
|
+
15,
|
|
294
|
+
18,
|
|
295
|
+
19,
|
|
296
|
+
20,
|
|
297
|
+
21,
|
|
298
|
+
40,
|
|
299
|
+
41,
|
|
300
|
+
42,
|
|
301
|
+
43,
|
|
302
|
+
"Entity",
|
|
303
|
+
17,
|
|
304
|
+
"Entity TextContent",
|
|
305
|
+
-3,
|
|
306
|
+
29,
|
|
307
|
+
32,
|
|
308
|
+
35,
|
|
309
|
+
"TextContent Entity"
|
|
310
|
+
],
|
|
311
|
+
[
|
|
312
|
+
"isolate",
|
|
313
|
+
-11,
|
|
314
|
+
22,
|
|
315
|
+
30,
|
|
316
|
+
31,
|
|
317
|
+
33,
|
|
318
|
+
34,
|
|
319
|
+
36,
|
|
320
|
+
37,
|
|
321
|
+
38,
|
|
322
|
+
39,
|
|
323
|
+
42,
|
|
324
|
+
43,
|
|
325
|
+
"ltr",
|
|
326
|
+
-3,
|
|
327
|
+
27,
|
|
328
|
+
28,
|
|
329
|
+
40,
|
|
330
|
+
""
|
|
331
|
+
]
|
|
332
|
+
],
|
|
333
|
+
propSources: [htmlHighlighting],
|
|
334
|
+
skippedNodes: [0],
|
|
335
|
+
repeatNodeCount: 9,
|
|
336
|
+
tokenData: "!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",
|
|
337
|
+
tokenizers: [
|
|
338
|
+
scriptTokens,
|
|
339
|
+
styleTokens,
|
|
340
|
+
textareaTokens,
|
|
341
|
+
endTag,
|
|
342
|
+
tagStart,
|
|
343
|
+
commentContent,
|
|
344
|
+
0,
|
|
345
|
+
1,
|
|
346
|
+
2,
|
|
347
|
+
3,
|
|
348
|
+
4,
|
|
349
|
+
5
|
|
350
|
+
],
|
|
351
|
+
topRules: { "Document": [0, 16] },
|
|
352
|
+
dialects: {
|
|
353
|
+
noMatch: 0,
|
|
354
|
+
selfClosing: 515
|
|
355
|
+
},
|
|
356
|
+
tokenPrec: 517
|
|
357
|
+
});
|
|
358
|
+
function getAttrs(openTag, input) {
|
|
359
|
+
let attrs = Object.create(null);
|
|
360
|
+
for (let att of openTag.getChildren(Attribute)) {
|
|
361
|
+
let name = att.getChild(AttributeName), value = att.getChild(AttributeValue) || att.getChild(UnquotedAttributeValue);
|
|
362
|
+
if (name) attrs[input.read(name.from, name.to)] = !value ? "" : value.type.id == AttributeValue ? input.read(value.from + 1, value.to - 1) : input.read(value.from, value.to);
|
|
363
|
+
}
|
|
364
|
+
return attrs;
|
|
365
|
+
}
|
|
366
|
+
function findTagName(openTag, input) {
|
|
367
|
+
let tagNameNode = openTag.getChild(TagName);
|
|
368
|
+
return tagNameNode ? input.read(tagNameNode.from, tagNameNode.to) : " ";
|
|
369
|
+
}
|
|
370
|
+
function maybeNest(node, input, tags) {
|
|
371
|
+
let attrs;
|
|
372
|
+
for (let tag of tags) if (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(node.node.parent.firstChild, input)))) return {
|
|
373
|
+
parser: tag.parser,
|
|
374
|
+
bracketed: true
|
|
375
|
+
};
|
|
376
|
+
return null;
|
|
377
|
+
}
|
|
378
|
+
function configureNesting(tags = [], attributes = []) {
|
|
379
|
+
let script = [], style = [], textarea = [], other = [];
|
|
380
|
+
for (let tag of tags) (tag.tag == "script" ? script : tag.tag == "style" ? style : tag.tag == "textarea" ? textarea : other).push(tag);
|
|
381
|
+
let attrs = attributes.length ? Object.create(null) : null;
|
|
382
|
+
for (let attr of attributes) (attrs[attr.name] || (attrs[attr.name] = [])).push(attr);
|
|
383
|
+
return parseMixed((node, input) => {
|
|
384
|
+
let id = node.type.id;
|
|
385
|
+
if (id == ScriptText) return maybeNest(node, input, script);
|
|
386
|
+
if (id == StyleText) return maybeNest(node, input, style);
|
|
387
|
+
if (id == TextareaText) return maybeNest(node, input, textarea);
|
|
388
|
+
if (id == Element && other.length) {
|
|
389
|
+
let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs;
|
|
390
|
+
if (tagName) {
|
|
391
|
+
for (let tag of other) if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(open, input))))) {
|
|
392
|
+
let close = n.lastChild;
|
|
393
|
+
let to = close.type.id == CloseTag ? close.from : n.to;
|
|
394
|
+
if (to > open.to) return {
|
|
395
|
+
parser: tag.parser,
|
|
396
|
+
overlay: [{
|
|
397
|
+
from: open.to,
|
|
398
|
+
to
|
|
399
|
+
}]
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
if (attrs && id == Attribute) {
|
|
405
|
+
let n = node.node, nameNode;
|
|
406
|
+
if (nameNode = n.firstChild) {
|
|
407
|
+
let matches = attrs[input.read(nameNode.from, nameNode.to)];
|
|
408
|
+
if (matches) for (let attr of matches) {
|
|
409
|
+
if (attr.tagName && attr.tagName != findTagName(n.parent, input)) continue;
|
|
410
|
+
let value = n.lastChild;
|
|
411
|
+
if (value.type.id == AttributeValue) {
|
|
412
|
+
let from = value.from + 1;
|
|
413
|
+
let last = value.lastChild, to = value.to - (last && last.isError ? 0 : 1);
|
|
414
|
+
if (to > from) return {
|
|
415
|
+
parser: attr.parser,
|
|
416
|
+
overlay: [{
|
|
417
|
+
from,
|
|
418
|
+
to
|
|
419
|
+
}],
|
|
420
|
+
bracketed: true
|
|
421
|
+
};
|
|
422
|
+
} else if (value.type.id == UnquotedAttributeValue) return {
|
|
423
|
+
parser: attr.parser,
|
|
424
|
+
overlay: [{
|
|
425
|
+
from: value.from,
|
|
426
|
+
to: value.to
|
|
427
|
+
}]
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
return null;
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
//#endregion
|
|
436
|
+
export { configureNesting, parser };
|
|
437
|
+
|
|
438
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../../../../../../node_modules/.bun/@lezer+html@1.3.13/node_modules/@lezer/html/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst scriptText = 55,\n StartCloseScriptTag = 1,\n styleText = 56,\n StartCloseStyleTag = 2,\n textareaText = 57,\n StartCloseTextareaTag = 3,\n EndTag = 4,\n SelfClosingEndTag = 5,\n StartTag = 6,\n StartScriptTag = 7,\n StartStyleTag = 8,\n StartTextareaTag = 9,\n StartSelfClosingTag = 10,\n StartCloseTag = 11,\n NoMatchStartCloseTag = 12,\n MismatchedStartCloseTag = 13,\n missingCloseTag = 58,\n IncompleteTag = 14,\n IncompleteCloseTag = 15,\n commentContent$1 = 59,\n Element = 21,\n TagName = 23,\n Attribute = 24,\n AttributeName = 25,\n AttributeValue = 27,\n UnquotedAttributeValue = 28,\n ScriptText = 29,\n StyleText = 32,\n TextareaText = 35,\n OpenTag = 37,\n CloseTag = 38,\n Dialect_noMatch = 0,\n Dialect_selfClosing = 1;\n\n/* Hand-written tokenizers for HTML. */\n\nconst selfClosers = {\n area: true, base: true, br: true, col: true, command: true,\n embed: true, frame: true, hr: true, img: true, input: true,\n keygen: true, link: true, meta: true, param: true, source: true,\n track: true, wbr: true, menuitem: true\n};\n\nconst implicitlyClosed = {\n dd: true, li: true, optgroup: true, option: true, p: true,\n rp: true, rt: true, tbody: true, td: true, tfoot: true,\n th: true, tr: true\n};\n\nconst closeOnOpen = {\n dd: {dd: true, dt: true},\n dt: {dd: true, dt: true},\n li: {li: true},\n option: {option: true, optgroup: true},\n optgroup: {optgroup: true},\n p: {\n address: true, article: true, aside: true, blockquote: true, dir: true,\n div: true, dl: true, fieldset: true, footer: true, form: true,\n h1: true, h2: true, h3: true, h4: true, h5: true, h6: true,\n header: true, hgroup: true, hr: true, menu: true, nav: true, ol: true,\n p: true, pre: true, section: true, table: true, ul: true\n },\n rp: {rp: true, rt: true},\n rt: {rp: true, rt: true},\n tbody: {tbody: true, tfoot: true},\n td: {td: true, th: true},\n tfoot: {tbody: true},\n th: {td: true, th: true},\n thead: {tbody: true, tfoot: true},\n tr: {tr: true}\n};\n\nfunction nameChar(ch) {\n return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161\n}\n\nlet cachedName = null, cachedInput = null, cachedPos = 0;\nfunction tagNameAfter(input, offset) {\n let pos = input.pos + offset;\n if (cachedPos == pos && cachedInput == input) return cachedName\n let next = input.peek(offset), name = \"\";\n for (;;) {\n if (!nameChar(next)) break\n name += String.fromCharCode(next);\n next = input.peek(++offset);\n }\n // Undefined to signal there's a <? or <!, null for just missing\n cachedInput = input; cachedPos = pos;\n return cachedName = name ? name.toLowerCase() : next == question || next == bang ? undefined : null\n}\n\nconst lessThan = 60, greaterThan = 62, slash = 47, question = 63, bang = 33, dash = 45;\n\nfunction ElementContext(name, parent) {\n this.name = name;\n this.parent = parent;\n}\n\nconst startTagTerms = [StartTag, StartSelfClosingTag, StartScriptTag, StartStyleTag, StartTextareaTag];\n\nconst elementContext = new ContextTracker({\n start: null,\n shift(context, term, stack, input) {\n return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n reduce(context, term) {\n return term == Element && context ? context.parent : context\n },\n reuse(context, node, stack, input) {\n let type = node.type.id;\n return type == StartTag || type == OpenTag\n ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n },\n strict: false\n});\n\nconst tagStart = new ExternalTokenizer((input, stack) => {\n if (input.next != lessThan) {\n // End of file, close any open tags\n if (input.next < 0 && stack.context) input.acceptToken(missingCloseTag);\n return\n }\n input.advance();\n let close = input.next == slash;\n if (close) input.advance();\n let name = tagNameAfter(input, 0);\n if (name === undefined) return\n if (!name) return input.acceptToken(close ? IncompleteCloseTag : IncompleteTag)\n\n let parent = stack.context ? stack.context.name : null;\n if (close) {\n if (name == parent) return input.acceptToken(StartCloseTag)\n if (parent && implicitlyClosed[parent]) return input.acceptToken(missingCloseTag, -2)\n if (stack.dialectEnabled(Dialect_noMatch)) return input.acceptToken(NoMatchStartCloseTag)\n for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return\n input.acceptToken(MismatchedStartCloseTag);\n } else {\n if (name == \"script\") return input.acceptToken(StartScriptTag)\n if (name == \"style\") return input.acceptToken(StartStyleTag)\n if (name == \"textarea\") return input.acceptToken(StartTextareaTag)\n if (selfClosers.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag)\n if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);\n else input.acceptToken(StartTag);\n }\n}, {contextual: true});\n\nconst commentContent = new ExternalTokenizer(input => {\n for (let dashes = 0, i = 0;; i++) {\n if (input.next < 0) {\n if (i) input.acceptToken(commentContent$1);\n break\n }\n if (input.next == dash) {\n dashes++;\n } else if (input.next == greaterThan && dashes >= 2) {\n if (i >= 3) input.acceptToken(commentContent$1, -2);\n break\n } else {\n dashes = 0;\n }\n input.advance();\n }\n});\n\nfunction inForeignElement(context) {\n for (; context; context = context.parent)\n if (context.name == \"svg\" || context.name == \"math\") return true\n return false\n}\n\nconst endTag = new ExternalTokenizer((input, stack) => {\n if (input.next == slash && input.peek(1) == greaterThan) {\n let selfClosing = stack.dialectEnabled(Dialect_selfClosing) || inForeignElement(stack.context);\n input.acceptToken(selfClosing ? SelfClosingEndTag : EndTag, 2);\n } else if (input.next == greaterThan) {\n input.acceptToken(EndTag, 1);\n }\n});\n\nfunction contentTokenizer(tag, textToken, endToken) {\n let lastState = 2 + tag.length;\n return new ExternalTokenizer(input => {\n // state means:\n // - 0 nothing matched\n // - 1 '<' matched\n // - 2 '</'\n // - 3-(1+tag.length) part of the tag matched\n // - lastState whole tag + possibly whitespace matched\n for (let state = 0, matchedLen = 0, i = 0;; i++) {\n if (input.next < 0) {\n if (i) input.acceptToken(textToken);\n break\n }\n if (state == 0 && input.next == lessThan ||\n state == 1 && input.next == slash ||\n state >= 2 && state < lastState && input.next == tag.charCodeAt(state - 2)) {\n state++;\n matchedLen++;\n } else if (state == lastState && input.next == greaterThan) {\n if (i > matchedLen)\n input.acceptToken(textToken, -matchedLen);\n else\n input.acceptToken(endToken, -(matchedLen - 2));\n break\n } else if ((input.next == 10 /* '\\n' */ || input.next == 13 /* '\\r' */) && i) {\n input.acceptToken(textToken, 1);\n break\n } else {\n state = matchedLen = 0;\n }\n input.advance();\n }\n })\n}\n\nconst scriptTokens = contentTokenizer(\"script\", scriptText, StartCloseScriptTag);\n\nconst styleTokens = contentTokenizer(\"style\", styleText, StartCloseStyleTag);\n\nconst textareaTokens = contentTokenizer(\"textarea\", textareaText, StartCloseTextareaTag);\n\nconst htmlHighlighting = styleTags({\n \"Text RawText IncompleteTag IncompleteCloseTag\": tags.content,\n \"StartTag StartCloseTag SelfClosingEndTag EndTag\": tags.angleBracket,\n TagName: tags.tagName,\n \"MismatchedCloseTag/TagName\": [tags.tagName, tags.invalid],\n AttributeName: tags.attributeName,\n \"AttributeValue UnquotedAttributeValue\": tags.attributeValue,\n Is: tags.definitionOperator,\n \"EntityReference CharacterReference\": tags.character,\n Comment: tags.blockComment,\n ProcessingInst: tags.processingInstruction,\n DoctypeDecl: tags.documentMeta\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[\",\n stateData: \",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~\",\n goto: \"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp\",\n nodeNames: \"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl\",\n maxTerm: 68,\n context: elementContext,\n nodeProps: [\n [\"closedBy\", -10,1,2,3,7,8,9,10,11,12,13,\"EndTag\",6,\"EndTag SelfClosingEndTag\",-4,22,31,34,37,\"CloseTag\"],\n [\"openedBy\", 4,\"StartTag StartCloseTag\",5,\"StartTag\",-4,30,33,36,38,\"OpenTag\"],\n [\"group\", -10,14,15,18,19,20,21,40,41,42,43,\"Entity\",17,\"Entity TextContent\",-3,29,32,35,\"TextContent Entity\"],\n [\"isolate\", -11,22,30,31,33,34,36,37,38,39,42,43,\"ltr\",-3,27,28,40,\"\"]\n ],\n propSources: [htmlHighlighting],\n skippedNodes: [0],\n repeatNodeCount: 9,\n tokenData: \"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X\",\n tokenizers: [scriptTokens, styleTokens, textareaTokens, endTag, tagStart, commentContent, 0, 1, 2, 3, 4, 5],\n topRules: {\"Document\":[0,16]},\n dialects: {noMatch: 0, selfClosing: 515},\n tokenPrec: 517\n});\n\nfunction getAttrs(openTag, input) {\n let attrs = Object.create(null);\n for (let att of openTag.getChildren(Attribute)) {\n let name = att.getChild(AttributeName), value = att.getChild(AttributeValue) || att.getChild(UnquotedAttributeValue);\n if (name) attrs[input.read(name.from, name.to)] =\n !value ? \"\" : value.type.id == AttributeValue ? input.read(value.from + 1, value.to - 1) : input.read(value.from, value.to);\n }\n return attrs\n}\n\nfunction findTagName(openTag, input) {\n let tagNameNode = openTag.getChild(TagName);\n return tagNameNode ? input.read(tagNameNode.from, tagNameNode.to) : \" \"\n}\n\nfunction maybeNest(node, input, tags) {\n let attrs;\n for (let tag of tags) {\n if (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(node.node.parent.firstChild, input))))\n return {parser: tag.parser, bracketed: true}\n }\n return null\n}\n\n// tags?: {\n// tag: string,\n// attrs?: ({[attr: string]: string}) => boolean,\n// parser: Parser\n// }[]\n// attributes?: {\n// name: string,\n// tagName?: string,\n// parser: Parser\n// }[]\n \nfunction configureNesting(tags = [], attributes = []) {\n let script = [], style = [], textarea = [], other = [];\n for (let tag of tags) {\n let array = tag.tag == \"script\" ? script : tag.tag == \"style\" ? style : tag.tag == \"textarea\" ? textarea : other;\n array.push(tag);\n }\n let attrs = attributes.length ? Object.create(null) : null;\n for (let attr of attributes) (attrs[attr.name] || (attrs[attr.name] = [])).push(attr);\n\n return parseMixed((node, input) => {\n let id = node.type.id;\n if (id == ScriptText) return maybeNest(node, input, script)\n if (id == StyleText) return maybeNest(node, input, style)\n if (id == TextareaText) return maybeNest(node, input, textarea)\n\n if (id == Element && other.length) {\n let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs;\n if (tagName) for (let tag of other) {\n if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(open, input))))) {\n let close = n.lastChild;\n let to = close.type.id == CloseTag ? close.from : n.to;\n if (to > open.to)\n return {parser: tag.parser, overlay: [{from: open.to, to}]}\n }\n }\n }\n\n if (attrs && id == Attribute) {\n let n = node.node, nameNode;\n if (nameNode = n.firstChild) {\n let matches = attrs[input.read(nameNode.from, nameNode.to)];\n if (matches) for (let attr of matches) {\n if (attr.tagName && attr.tagName != findTagName(n.parent, input)) continue\n let value = n.lastChild;\n if (value.type.id == AttributeValue) {\n let from = value.from + 1;\n let last = value.lastChild, to = value.to - (last && last.isError ? 0 : 1);\n if (to > from) return {parser: attr.parser, overlay: [{from, to}], bracketed: true}\n } else if (value.type.id == UnquotedAttributeValue) {\n return {parser: attr.parser, overlay: [{from: value.from, to: value.to}]}\n }\n }\n }\n }\n return null\n })\n}\n\nexport { configureNesting, parser };\n"],"x_google_ignoreList":[0],"mappings":"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"}
|