@voicenter-team/voicenter-ui-plus 2.0.8 → 2.0.9
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/library/core/{clike-DaICHkS3.mjs → clike-CTYGlS6x.mjs} +7 -13
- package/library/core/clike-CTYGlS6x.mjs.br +0 -0
- package/library/core/clike-CTYGlS6x.mjs.gz +0 -0
- package/library/core/{css-c-jst79C.mjs → css-DkSyTW67.mjs} +4 -15
- package/library/core/css-DkSyTW67.mjs.br +0 -0
- package/library/core/css-DkSyTW67.mjs.gz +0 -0
- package/library/core/{dockerfile-D1TIj5jA.mjs → dockerfile-DEtqCkHn.mjs} +1 -1
- package/library/core/dockerfile-DEtqCkHn.mjs.br +0 -0
- package/library/core/dockerfile-DEtqCkHn.mjs.gz +0 -0
- package/library/core/{entry-C1uqp-lm.mjs → entry-BKrD0RBL.mjs} +10813 -9995
- package/library/core/entry-BKrD0RBL.mjs.br +0 -0
- package/library/core/entry-BKrD0RBL.mjs.gz +0 -0
- package/library/core/{factor-ne7PWKF0.mjs → factor-CxBhtrN5.mjs} +1 -1
- package/library/core/factor-CxBhtrN5.mjs.br +0 -0
- package/library/core/factor-CxBhtrN5.mjs.gz +0 -0
- package/library/core/{gas-d3KEcW3x.mjs → gas-0Aw8zDr5.mjs} +2 -3
- package/library/core/gas-0Aw8zDr5.mjs.br +0 -0
- package/library/core/gas-0Aw8zDr5.mjs.gz +0 -0
- package/library/core/{index-D16P5XEs.mjs → index-BAj2kg_2.mjs} +1 -1
- package/library/core/index-BAj2kg_2.mjs.br +0 -0
- package/library/core/index-BAj2kg_2.mjs.gz +0 -0
- package/library/core/{index-BwhERbud.mjs → index-BIJOxI62.mjs} +3 -3
- package/library/core/index-BIJOxI62.mjs.br +0 -0
- package/library/core/index-BIJOxI62.mjs.gz +0 -0
- package/library/core/index-BdSZyTPh.mjs +156 -0
- package/library/core/index-BdSZyTPh.mjs.br +0 -0
- package/library/core/index-BdSZyTPh.mjs.gz +0 -0
- package/library/core/{index-CLLFqnwj.mjs → index-BsyHLtlI.mjs} +1 -1
- package/library/core/index-BsyHLtlI.mjs.br +0 -0
- package/library/core/index-BsyHLtlI.mjs.gz +0 -0
- package/library/core/{index-9tv5FZx8.mjs → index-BztfI8J3.mjs} +1 -1
- package/library/core/index-BztfI8J3.mjs.br +0 -0
- package/library/core/index-BztfI8J3.mjs.gz +0 -0
- package/library/core/{index-D3FyPKbl.mjs → index-C-c2Z-qR.mjs} +1 -1
- package/library/core/index-C-c2Z-qR.mjs.br +0 -0
- package/library/core/index-C-c2Z-qR.mjs.gz +0 -0
- package/library/core/index-CFjyZNuJ.mjs +328 -0
- package/library/core/index-CFjyZNuJ.mjs.br +0 -0
- package/library/core/index-CFjyZNuJ.mjs.gz +0 -0
- package/library/core/index-CUMfOXPg.mjs +325 -0
- package/library/core/index-CUMfOXPg.mjs.br +0 -0
- package/library/core/index-CUMfOXPg.mjs.gz +0 -0
- package/library/core/{index-clOXfB9B.mjs → index-CcFoMOlp.mjs} +1 -1
- package/library/core/index-CcFoMOlp.mjs.br +0 -0
- package/library/core/index-CcFoMOlp.mjs.gz +0 -0
- package/library/core/{index-BG92Az-p.mjs → index-DM_4A0ge.mjs} +1 -1
- package/library/core/index-DM_4A0ge.mjs.br +0 -0
- package/library/core/index-DM_4A0ge.mjs.gz +0 -0
- package/library/core/{index-BCsaPCru.mjs → index-Dl5FfLH7.mjs} +1 -1
- package/library/core/index-Dl5FfLH7.mjs.br +0 -0
- package/library/core/index-Dl5FfLH7.mjs.gz +0 -0
- package/library/core/index-J8Dat7YQ.mjs +307 -0
- package/library/core/index-J8Dat7YQ.mjs.br +0 -0
- package/library/core/index-J8Dat7YQ.mjs.gz +0 -0
- package/library/core/{index-BdKHwbLO.mjs → index-JMZUDHdp.mjs} +48 -23
- package/library/core/index-JMZUDHdp.mjs.br +0 -0
- package/library/core/index-JMZUDHdp.mjs.gz +0 -0
- package/library/core/{index-D1QA78ua.mjs → index-NIvnx34k.mjs} +1 -1
- package/library/core/index-NIvnx34k.mjs.br +0 -0
- package/library/core/index-NIvnx34k.mjs.gz +0 -0
- package/library/core/{index-DIX9oDPO.mjs → index-Zh2eQN0A.mjs} +1 -1
- package/library/core/index-Zh2eQN0A.mjs.br +0 -0
- package/library/core/index-Zh2eQN0A.mjs.gz +0 -0
- package/library/core/index-g5OPFKhJ.mjs +287 -0
- package/library/core/index-g5OPFKhJ.mjs.br +0 -0
- package/library/core/index-g5OPFKhJ.mjs.gz +0 -0
- package/library/core/index.mjs +154 -154
- package/library/core/index.mjs.br +0 -0
- package/library/core/index.mjs.gz +0 -0
- package/library/core/index.umd.js +7 -17
- package/library/core/index.umd.js.br +0 -0
- package/library/core/index.umd.js.gz +0 -0
- package/library/core/{javascript-C3MnDRiU.mjs → javascript-CJze3-DU.mjs} +3 -5
- package/library/core/javascript-CJze3-DU.mjs.br +0 -0
- package/library/core/javascript-CJze3-DU.mjs.gz +0 -0
- package/library/core/{nsis-BnYeX9pP.mjs → nsis-mZ2GYujm.mjs} +1 -1
- package/library/core/nsis-mZ2GYujm.mjs.br +0 -0
- package/library/core/nsis-mZ2GYujm.mjs.gz +0 -0
- package/library/core/{pug-DGCLwxp4.mjs → pug-CEXQMbca.mjs} +1 -1
- package/library/core/pug-CEXQMbca.mjs.br +0 -0
- package/library/core/pug-CEXQMbca.mjs.gz +0 -0
- package/library/core/{python-CvWbmiX4.mjs → python-BFGRmuZ9.mjs} +2 -3
- package/library/core/python-BFGRmuZ9.mjs.br +0 -0
- package/library/core/python-BFGRmuZ9.mjs.gz +0 -0
- package/library/core/{q-819KmTeu.mjs → q-CrbCVq4a.mjs} +4 -1
- package/library/core/q-CrbCVq4a.mjs.br +0 -0
- package/library/core/q-CrbCVq4a.mjs.gz +0 -0
- package/library/core/{simple-mode-zrLq6ojR.mjs → simple-mode-DMneyfDu.mjs} +1 -0
- package/library/core/simple-mode-DMneyfDu.mjs.br +0 -0
- package/library/core/simple-mode-DMneyfDu.mjs.gz +0 -0
- package/library/core/{sql-BSrOzCRI.mjs → sql-Cei9CMfk.mjs} +13 -25
- package/library/core/sql-Cei9CMfk.mjs.br +0 -0
- package/library/core/sql-Cei9CMfk.mjs.gz +0 -0
- package/library/core/{stex-B6LNC55o.mjs → stex-C1nZSzAw.mjs} +2 -3
- package/library/core/stex-C1nZSzAw.mjs.br +0 -0
- package/library/core/stex-C1nZSzAw.mjs.gz +0 -0
- package/library/core/style.css +1 -1
- package/library/core/style.css.br +0 -0
- package/library/core/style.css.gz +0 -0
- package/library/core/{toml-CrLTxh7K.mjs → toml-BOuWGMcf.mjs} +8 -7
- package/library/core/toml-BOuWGMcf.mjs.br +4 -0
- package/library/core/toml-BOuWGMcf.mjs.gz +0 -0
- package/library/core/types/components/VcButton/VcToggleButton.vue.d.ts +1 -1
- package/library/core/types/components/VcDatePicker/VcDatePicker.vue.d.ts +6 -6
- package/library/core/types/components/VcDropdown/VcDropdown.vue.d.ts +1 -1
- package/library/core/types/components/VcInputNumber/VcInputNumber.vue.d.ts +1 -1
- package/library/core/types/components/VcJsonSchema/Components/JsonSchemaEditor.vue.d.ts +1 -1
- package/library/core/types/components/VcMeterGroup/VcMeterGroup.vue.d.ts +1 -1
- package/library/core/types/components/VcOtpInput/VcOtpInput.vue.d.ts +1 -1
- package/library/core/types/components/VcPopover/VcSelectPopover.vue.d.ts +9 -9
- package/library/core/types/components/VcProgress/VcProgressCircular.vue.d.ts +2 -2
- package/library/core/types/components/VcRadioTabs/VcRadioTabs.vue.d.ts +92 -0
- package/library/core/types/components/VcSegmented/VcSegmented.vue.d.ts +6 -6
- package/library/core/types/components/VcSelect/VcInfiniteScrollSelect.vue.d.ts +6 -6
- package/library/core/types/components/VcSoundplayer/VcSoundPlayerWrapper.vue.d.ts +4 -0
- package/library/core/types/components/VcSparkline/VcBarLine.vue.d.ts +1 -1
- package/library/core/types/components/VcSparkline/VcSparkline.vue.d.ts +1 -1
- package/library/core/types/components/VcSparkline/VcTrendLine.vue.d.ts +1 -1
- package/library/core/types/components/VcSwitch/VcSwitch.vue.d.ts +9 -9
- package/library/core/types/components/VcTable/VcTable.vue.d.ts +9 -9
- package/library/core/types/components/VcTree/VcTree.vue.d.ts +9 -9
- package/library/core/types/components/VcTree/VcTreeSelect.vue.d.ts +3 -3
- package/library/core/types/directives/index.d.ts +1 -1
- package/library/core/types/theme/themes.json.d.ts +45 -0
- package/library/core/{vbscript-CI6_mxxU.mjs → vbscript-Bfn8O8I7.mjs} +2 -3
- package/library/core/vbscript-Bfn8O8I7.mjs.br +0 -0
- package/library/core/vbscript-Bfn8O8I7.mjs.gz +0 -0
- package/library/core/{verilog-DDCYnHN8.mjs → verilog-CnT9bMk0.mjs} +1 -2
- package/library/core/verilog-CnT9bMk0.mjs.br +0 -0
- package/library/core/verilog-CnT9bMk0.mjs.gz +0 -0
- package/library/core/{z80-BZV19vqv.mjs → z80-ClgwfNdB.mjs} +4 -5
- package/library/core/z80-ClgwfNdB.mjs.br +0 -0
- package/library/core/z80-ClgwfNdB.mjs.gz +0 -0
- package/package.json +7 -9
- package/src/core/theme/themes.json +45 -0
- package/library/core/clike-DaICHkS3.mjs.br +0 -0
- package/library/core/clike-DaICHkS3.mjs.gz +0 -0
- package/library/core/css-c-jst79C.mjs.br +0 -0
- package/library/core/css-c-jst79C.mjs.gz +0 -0
- package/library/core/dockerfile-D1TIj5jA.mjs.br +0 -0
- package/library/core/dockerfile-D1TIj5jA.mjs.gz +0 -0
- package/library/core/entry-C1uqp-lm.mjs.br +0 -0
- package/library/core/entry-C1uqp-lm.mjs.gz +0 -0
- package/library/core/factor-ne7PWKF0.mjs.br +0 -0
- package/library/core/factor-ne7PWKF0.mjs.gz +0 -0
- package/library/core/gas-d3KEcW3x.mjs.br +0 -0
- package/library/core/gas-d3KEcW3x.mjs.gz +0 -0
- package/library/core/index-9tv5FZx8.mjs.br +0 -0
- package/library/core/index-9tv5FZx8.mjs.gz +0 -0
- package/library/core/index-BCsaPCru.mjs.br +0 -0
- package/library/core/index-BCsaPCru.mjs.gz +0 -0
- package/library/core/index-BG92Az-p.mjs.br +0 -0
- package/library/core/index-BG92Az-p.mjs.gz +0 -0
- package/library/core/index-BWO4i8Fm.mjs +0 -327
- package/library/core/index-BWO4i8Fm.mjs.br +0 -0
- package/library/core/index-BWO4i8Fm.mjs.gz +0 -0
- package/library/core/index-BdKHwbLO.mjs.br +0 -0
- package/library/core/index-BdKHwbLO.mjs.gz +0 -0
- package/library/core/index-BwhERbud.mjs.br +0 -0
- package/library/core/index-BwhERbud.mjs.gz +0 -0
- package/library/core/index-CHzQ0opk.mjs +0 -156
- package/library/core/index-CHzQ0opk.mjs.br +0 -0
- package/library/core/index-CHzQ0opk.mjs.gz +0 -0
- package/library/core/index-CJfoY4tA.mjs +0 -322
- package/library/core/index-CJfoY4tA.mjs.br +0 -0
- package/library/core/index-CJfoY4tA.mjs.gz +0 -0
- package/library/core/index-CLLFqnwj.mjs.br +0 -0
- package/library/core/index-CLLFqnwj.mjs.gz +0 -0
- package/library/core/index-D16P5XEs.mjs.br +0 -0
- package/library/core/index-D16P5XEs.mjs.gz +0 -0
- package/library/core/index-D1QA78ua.mjs.br +0 -0
- package/library/core/index-D1QA78ua.mjs.gz +0 -0
- package/library/core/index-D3FyPKbl.mjs.br +0 -0
- package/library/core/index-D3FyPKbl.mjs.gz +0 -0
- package/library/core/index-D7ggpCdC.mjs +0 -300
- package/library/core/index-D7ggpCdC.mjs.br +0 -0
- package/library/core/index-D7ggpCdC.mjs.gz +0 -0
- package/library/core/index-DIX9oDPO.mjs.br +0 -0
- package/library/core/index-DIX9oDPO.mjs.gz +0 -0
- package/library/core/index-clOXfB9B.mjs.br +0 -0
- package/library/core/index-clOXfB9B.mjs.gz +0 -0
- package/library/core/javascript-C3MnDRiU.mjs.br +0 -0
- package/library/core/javascript-C3MnDRiU.mjs.gz +0 -0
- package/library/core/jinja2-2Vo2sGef.mjs +0 -208
- package/library/core/jinja2-2Vo2sGef.mjs.br +0 -0
- package/library/core/jinja2-2Vo2sGef.mjs.gz +0 -0
- package/library/core/nsis-BnYeX9pP.mjs.br +0 -0
- package/library/core/nsis-BnYeX9pP.mjs.gz +0 -0
- package/library/core/pug-DGCLwxp4.mjs.br +0 -0
- package/library/core/pug-DGCLwxp4.mjs.gz +0 -0
- package/library/core/python-CvWbmiX4.mjs.br +0 -0
- package/library/core/python-CvWbmiX4.mjs.gz +0 -0
- package/library/core/q-819KmTeu.mjs.br +0 -0
- package/library/core/q-819KmTeu.mjs.gz +0 -0
- package/library/core/simple-mode-zrLq6ojR.mjs.br +0 -0
- package/library/core/simple-mode-zrLq6ojR.mjs.gz +0 -0
- package/library/core/sql-BSrOzCRI.mjs.br +0 -0
- package/library/core/sql-BSrOzCRI.mjs.gz +0 -0
- package/library/core/stex-B6LNC55o.mjs.br +0 -0
- package/library/core/stex-B6LNC55o.mjs.gz +0 -0
- package/library/core/toml-CrLTxh7K.mjs.br +0 -0
- package/library/core/toml-CrLTxh7K.mjs.gz +0 -0
- package/library/core/vbscript-CI6_mxxU.mjs.br +0 -0
- package/library/core/vbscript-CI6_mxxU.mjs.gz +0 -0
- package/library/core/verilog-DDCYnHN8.mjs.br +0 -0
- package/library/core/verilog-DDCYnHN8.mjs.gz +0 -0
- package/library/core/z80-BZV19vqv.mjs.br +0 -0
- package/library/core/z80-BZV19vqv.mjs.gz +0 -0
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
import { n as EditorView, o as EditorSelection, a as LanguageSupport, p as html, q as parseMixed, g as syntaxTree, L as LRLanguage, s as styleTags, t as tags, i as indentNodeProp, k as delimitedIndent, f as foldNodeProp, e as LRParser, E as ExternalTokenizer } from "./entry-BKrD0RBL.mjs";
|
|
2
|
+
const interpolationStart = 1, tagStart = 2, endTagStart = 3, text = 180, endrawTagStart = 4, rawText = 181, endcommentTagStart = 5, commentText = 182, InlineComment = 6;
|
|
3
|
+
function wordChar(code) {
|
|
4
|
+
return code >= 65 && code <= 90 || code >= 97 && code <= 122;
|
|
5
|
+
}
|
|
6
|
+
const base = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
7
|
+
let start = input.pos;
|
|
8
|
+
for (; ; ) {
|
|
9
|
+
let { next } = input;
|
|
10
|
+
if (next < 0)
|
|
11
|
+
break;
|
|
12
|
+
if (next == 123) {
|
|
13
|
+
let after = input.peek(1);
|
|
14
|
+
if (after == 123) {
|
|
15
|
+
if (input.pos > start)
|
|
16
|
+
break;
|
|
17
|
+
input.acceptToken(interpolationStart, 2);
|
|
18
|
+
return;
|
|
19
|
+
} else if (after == 37) {
|
|
20
|
+
if (input.pos > start)
|
|
21
|
+
break;
|
|
22
|
+
let scan = 2, size = 2;
|
|
23
|
+
for (; ; ) {
|
|
24
|
+
let next2 = input.peek(scan);
|
|
25
|
+
if (next2 == 32 || next2 == 10) {
|
|
26
|
+
++scan;
|
|
27
|
+
} else if (next2 == 35) {
|
|
28
|
+
++scan;
|
|
29
|
+
for (; ; ) {
|
|
30
|
+
let comment2 = input.peek(scan);
|
|
31
|
+
if (comment2 < 0 || comment2 == 10)
|
|
32
|
+
break;
|
|
33
|
+
scan++;
|
|
34
|
+
}
|
|
35
|
+
} else if (next2 == 45 && size == 2) {
|
|
36
|
+
size = ++scan;
|
|
37
|
+
} else {
|
|
38
|
+
let end = next2 == 101 && input.peek(scan + 1) == 110 && input.peek(scan + 2) == 100;
|
|
39
|
+
input.acceptToken(end ? endTagStart : tagStart, size);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
input.advance();
|
|
46
|
+
if (next == 10)
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
if (input.pos > start)
|
|
50
|
+
input.acceptToken(text);
|
|
51
|
+
});
|
|
52
|
+
function rawTokenizer(endTag, text2, tagStart2) {
|
|
53
|
+
return new ExternalTokenizer((input) => {
|
|
54
|
+
let start = input.pos;
|
|
55
|
+
for (; ; ) {
|
|
56
|
+
let { next } = input;
|
|
57
|
+
if (next == 123 && input.peek(1) == 37) {
|
|
58
|
+
let scan = 2;
|
|
59
|
+
for (; ; scan++) {
|
|
60
|
+
let ch = input.peek(scan);
|
|
61
|
+
if (ch != 32 && ch != 10)
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
let word = "";
|
|
65
|
+
for (; ; scan++) {
|
|
66
|
+
let next2 = input.peek(scan);
|
|
67
|
+
if (!wordChar(next2))
|
|
68
|
+
break;
|
|
69
|
+
word += String.fromCharCode(next2);
|
|
70
|
+
}
|
|
71
|
+
if (word == endTag) {
|
|
72
|
+
if (input.pos > start)
|
|
73
|
+
break;
|
|
74
|
+
input.acceptToken(tagStart2, 2);
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
} else if (next < 0) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
input.advance();
|
|
81
|
+
if (next == 10)
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
if (input.pos > start)
|
|
85
|
+
input.acceptToken(text2);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const comment = /* @__PURE__ */ rawTokenizer("endcomment", commentText, endcommentTagStart);
|
|
89
|
+
const raw = /* @__PURE__ */ rawTokenizer("endraw", rawText, endrawTagStart);
|
|
90
|
+
const inlineComment = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
91
|
+
if (input.next != 35)
|
|
92
|
+
return;
|
|
93
|
+
input.advance();
|
|
94
|
+
for (; ; ) {
|
|
95
|
+
if (input.next == 10 || input.next < 0)
|
|
96
|
+
break;
|
|
97
|
+
if ((input.next == 37 || input.next == 125) && input.peek(1) == 125)
|
|
98
|
+
break;
|
|
99
|
+
input.advance();
|
|
100
|
+
}
|
|
101
|
+
input.acceptToken(InlineComment);
|
|
102
|
+
});
|
|
103
|
+
const spec_identifier = { __proto__: null, contains: 34, or: 38, and: 38, true: 52, false: 52, empty: 54, forloop: 57, tablerowloop: 59, continue: 61, in: 131, with: 197, for: 199, as: 201, if: 237, endif: 241, unless: 247, endunless: 251, elsif: 255, else: 259, case: 265, endcase: 269, when: 273, endfor: 281, tablerow: 287, endtablerow: 291, break: 295, cycle: 301, echo: 305, render: 309, include: 313, assign: 317, capture: 323, endcapture: 327, increment: 331, decrement: 335 };
|
|
104
|
+
const spec_TagName = { __proto__: null, if: 86, endif: 90, elsif: 94, else: 98, unless: 104, endunless: 108, case: 114, endcase: 118, when: 122, for: 128, endfor: 138, tablerow: 144, endtablerow: 148, break: 152, continue: 156, cycle: 160, comment: 166, endcomment: 172, raw: 178, endraw: 184, echo: 188, render: 192, include: 204, assign: 208, capture: 214, endcapture: 218, increment: 222, decrement: 226, liquid: 230 };
|
|
105
|
+
const parser = /* @__PURE__ */ LRParser.deserialize({
|
|
106
|
+
version: 14,
|
|
107
|
+
states: "KtQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DSO#{OPO'#DVO$ZOPO'#D`O$iOPO'#DeO$wOPO'#DlO%VOPO'#DtO%eOSO'#EPO%jOQO'#EVO%oOPO'#EiOOOP'#Ge'#GeOOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&cQ!jO,59QO&jQ!jO'#G^OsQhO'#CtOOQW'#Gb'#GbOOQW'#Gc'#GcOOQW'#Gd'#GdOOQW'#G^'#G^OOOP,59n,59nO)YQhO,59nOsQhO,59rOsQhO,59vO)dQhO,59xOsQhO,59{OsQhO,5:QOsQhO,5:UO!]QhO,5:XO!]QhO,5:aO)iQhO,5:eO)nQhO,5:gO)sQhO,5:iO)xQhO,5:lO)}QhO,5:rOsQhO,5:wOsQhO,5:yOsQhO,5;POsQhO,5;ROsQhO,5;UOsQhO,5;YOsQhO,5;[O+^QhO,5;^O+eOPO'#CdOOOP,59q,59qO#{OPO,59qO+sQxO'#DYOOOP,59z,59zO$ZOPO,59zO+xQxO'#DcOOOP,5:P,5:PO$iOPO,5:PO+}QxO'#DhOOOP,5:W,5:WO$wOPO,5:WO,SQxO'#DrOOOP,5:`,5:`O%VOPO,5:`O,XQxO'#DwOOOS'#GQ'#GQO,^OSO'#ESO,fOSO,5:kOOOQ'#GR'#GRO,kOQO'#EYO,sOQO,5:qOOOP,5;T,5;TO%oOPO,5;TO,xQxO'#ElOOOP-E9x-E9xO,}Q#|O,59SOsQhO,59VOsQhO,59WOsQhO,59WO-SQhO'#C}OOQW'#F|'#F|O-XQhO1G.lOOOP1G.l1G.lOsQhO,59WOsQhO,59[O-rQ!jO,59`O-yQ!jO1G/YO.QQhO1G/YOOOP1G/Y1G/YO.YQ!jO1G/^O.aQ!jO1G/bOOOP1G/d1G/dO.hQ!jO1G/gO.oQ!jO1G/lO.vQ!jO1G/pO/QQhO1G/sO/QQhO1G/{OOOP1G0P1G0POOOP1G0R1G0RO/VQhO1G0TOOOS1G0W1G0WOOOQ1G0^1G0^O/bQ!jO1G0cO/iQ!jO1G0eO/yQ!jO1G0kO0QQ!jO1G0mO0XQ!jO1G0pO0`Q!jO1G0tO0gQ!jO1G0vOOQW'#Gh'#GhOOQW'#Gk'#GkOsQhO'#EuO0nQhO'#EtOOQW'#Gm'#GmOsQhO'#EzO0uQhO'#EyOOQW'#Go'#GoOsQhO'#FOOOQW'#Gp'#GpOOQW'#FQ'#FQOOQW'#Gq'#GqOsQhO'#FTO0|QhO'#FSOOQW'#Gs'#GsOsQhO'#FXO!]QhO'#F[O1TQhO'#FZOOQW'#Gu'#GuO!]QhO'#F`O1[QhO'#F_OOQW'#Gw'#GwOOQW'#Fd'#FdOOQW'#Ff'#FfOOQW'#Gx'#GxO1cQhO'#FgOOQW'#Gy'#GyOsQhO'#FiOOQW'#Gz'#GzOsQhO'#FkOOQW'#G{'#G{OsQhO'#FmOOQW'#G|'#G|OsQhO'#FoOOQW'#G}'#G}OsQhO'#FrO1hQhO'#FqOOQW'#HP'#HPOsQhO'#FvOOQW'#HQ'#HQOsQhO'#FxOOQW'#Gj'#GjOOQW'#GT'#GTO1oQhO1G0xOOOP1G0x1G0xOOOP1G/]1G/]O1vQhO,59tOOOP1G/f1G/fO1{QhO,59}OOOP1G/k1G/kO2QQhO,5:SOOOP1G/r1G/rO2VQhO,5:^OOOP1G/z1G/zO2[QhO,5:cOOOS-E:O-E:OOOOP1G0V1G0VO2aQxO'#ETOOOQ-E:P-E:POOOP1G0]1G0]O2fQxO'#EZOOOP1G0o1G0oO2kQhO,5;WOOQW1G.n1G.nO2pQ!jO1G.qO5aQ!jO1G.rO5hQ!jO1G.rOOQW'#DP'#DPO7vQhO,59iOOQW-E9z-E9zOOOP7+$W7+$WO9pQ!jO1G.rO9wQ!jO1G.vOsQhO1G.zO<VQhO7+$tOOOP7+$t7+$tOOOP7+$x7+$xOOOP7+$|7+$|OOOP7+%R7+%ROOOP7+%W7+%WOsQhO'#F}O<_QhO7+%[OOOP7+%[7+%[OOQW'#Gf'#GfOsQhO7+%_OsQhO7+%gO<gQhO'#GPO<lQhO7+%oOOOP7+%o7+%oO<tQhO7+%oO<yQhO7+%}OOOP7+%}7+%}OOQW'#Gg'#GgO!]QhO'#EaOsQhO'#EaOOQW'#GS'#GSO=RQhO7+&POOOP7+&P7+&POOOP7+&V7+&VO=aQhO7+&XOOOP7+&X7+&XOOOP7+&[7+&[OOOP7+&`7+&`OOOP7+&b7+&bO=iQ!jO,5;aOOQW'#Gl'#GlOOQW'#Ew'#EwOOQW,5;`,5;`O0nQhO,5;`O>xQ!jO,5;fOOQW'#Gn'#GnOOQW'#E|'#E|OOQW,5;e,5;eO0uQhO,5;eO@XQ!jO,5;jOAzQ!jO,5;oOOQW'#Gr'#GrOOQW'#FV'#FVOOQW,5;n,5;nO0|QhO,5;nOCZQ!jO,5;sO/QQhO,5;vOOQW'#Gt'#GtOOQW'#F]'#F]OOQW,5;u,5;uO1TQhO,5;uO/QQhO,5;zOOQW'#Gv'#GvOOQW'#Fb'#FbOOQW,5;y,5;yO1[QhO,5;yOEPQhO,5<ROFvQ!jO,5<TOHiQ!jO,5<VOJbQ!jO,5<XOLTQ!jO,5<ZOMvQ!jO,5<^OOQW'#HO'#HOOOQW'#Ft'#FtOOQW,5<],5<]O1hQhO,5<]O! VQ!jO,5<bO!!xQ!jO,5<dOOQW-E:R-E:ROOOP7+&d7+&dOOOP1G/`1G/`OOOP1G/i1G/iOOOP1G/n1G/nOOOP1G/x1G/xOOOP1G/}1G/}O!$kQhO,5:oO!$pQhO,5:uOOOP1G0r1G0rOOQW7+$]7+$]OsQhO1G/TO!$uQ!jO7+$fOOOP<<H`<<H`O!$|Q!jO,5<iOOQW-E9{-E9{OOOP<<Hv<<HvO!&xQ!jO<<HyO!'SQ!jO<<IROOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IZ<<IZO!'^QhO<<IZOOOP<<Ii<<IiO!'fQhO,5:{O!'kQ!jO,5:{OOQW-E:Q-E:QOOOP<<Ik<<IkOOOP<<Is<<IsOOQW1G0z1G0zOOQW1G1P1G1POOQW1G1Y1G1YO!)gQhO1G1_OsQhO1G1bOOQW1G1a1G1aOsQhO1G1fOOQW1G1e1G1eO!+ZQhO1G1mO!,}QhO1G1mO!-SQhO1G1oOOQW'#GU'#GUO!.vQhO1G1qO!0mQhO1G1uOOQW1G1w1G1wOOOP1G0Z1G0ZOOOP1G0a1G0aO!2aQ!jO7+$oOOQW<<HQ<<HQOOQW'#Dq'#DqO!4]QhO'#DpOOQW'#GO'#GOO!5vQhOAN>eOOOPAN>eAN>eO!6OQhOAN>mOOOPAN>mAN>mO!6WQhOAN>uOOOPAN>uAN>uOsQhO1G0gOOQW'#Gi'#GiO!]QhO1G0gO!6`Q!jO7+&|O!7rQ!jO7+'QO!9UQhO7+'XOOQW-E:S-E:SO!:xQhO<<HZOsQhO,5:[OOQW-E9|-E9|OOOPG24PG24POOOPG24XG24XOOOPG24aG24aO!<rQ!jO7+&ROOQW7+&R7+&RO!>kQhO<<JhO!?{QhO<<JlO!A]QhO<<JsO!CPQ!jO1G/v",
|
|
108
|
+
stateData: "!Di~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OgeOjiOkiOlfOmgOnhOoiOpiO%RbO~OwkOxjO{lO!PmO!RnO!UoO!ZpO!_qO!brO!jsO!ntO!puO!rvO!uwO!{xO#QyO#SzO#Y{O#[|O#_}O#c!OO#e!PO#g!QO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~OPROQSOR!bO$zPO~O$|!cO~O${!fO~OPROQSOR!kO$zPO~O]!mOa!uOb!oOc!pOr!qO%T!nO~OX!tO~P%}Oe!vOX%QX]%QXa%QXb%QXc%QXr%QX%T%QXi%QXx%QXu%QX#U%QX#V%QX%S%QXn%QX#j%QX#l%QX#o%QX#s%QX#u%QX#x%QX#|%QX$T%QX$X%QX$[%QX$^%QX$`%QX$b%QX$d%QX$g%QX$k%QX$m%QX#q%QX#z%QX$i%QXf%QX%R%QX#W%QX$Q%QX$V%QX~Or!qOx!zO~PsOx!}O~Ox#TO~Ox#UO~Oo#VO~Ox#WO~Ox#XO~OnhO#V#aO#j#bO#o#eO#s#hO#u#jO#x#lO#|#oO$T#sO$X#vO$[#yO$^#{O$`#}O$b$PO$d$RO$g$TO$k$WO$m$YO~Ox$_O~P*SO$zPOPWXQWXRWX~O}$aO~O!W$cO~O!]$eO~O!g$gO~O!l$iO~O$|!cOT!vX~OT$lO~O${!fOS!|X~OS$oO~O#a$qO~O^$rO~O%R$vO~OX$yOr!qO~O]!mOa!uOb!oOc!pO%T!nO~Oi$|O~P-aOx%OO~P%}Or!qOx%OO~Ox%PO~P-aOx%QO~P-aOx%RO~P-aOx%SO~P-aOu%TOx%VO~P-aO!c%WO~Ot%^Ou%ZOx%]O~Ox%`O~P%}Ou%bOx%fO#U%aO#V#aO~P-aOx%gO~P-aOx%iO~P%}Ox%jO~P-aOx%kO~P-aOx%lO~P-aO#l%nO~P*SO#q%sO~P*SO#z%yO~P*SO$Q&PO~P*SO$V&UO~P*SOo&YO~O$i&`O~P*SOx&gO~P*SOx&hO~Ox&iO~Ox&jO~Ox&kO~Ox&lO~O!x&mO~O#O&nO~Ox&oO~O%S&pO~P-aO]!mO%T!nOX`ia`ic`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~Ob`i~P2wOX`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~P-aOt&qOXqarqaxqanqa#Vqa#jqa#oqa#sqa#uqa#xqa#|qa$Tqa$Xqa$[qa$^qa$`qa$bqa$dqa$gqa$kqa$mqa#lqa#qqa#zqa$Qqa$Vqa$iqa~Ob!oO~P2wOXdirdiidixdiudi#Udi#Vdi%Sdindi#jdi#ldi#odi#sdi#udi#xdi#|di$Tdi$Xdi$[di$^di$`di$bdi$ddi$gdi$kdi$mdi#qdi#zdi$idifdi%Rdi#Wdi$Qdi$Vdi~P-aOr!qOx&sO~Ou%TOx&vO~Oo&yO~Ou%ZOx&{O~Oo&|O~Or!qOx&}O~Ou%bOx'RO#U%aO#V#aO~Or!qOx'SO~On#ia#V#ia#j#ia#l#ia#o#ia#s#ia#u#ia#x#ia#|#ia$T#ia$X#ia$[#ia$^#ia$`#ia$b#ia$d#ia$g#ia$k#ia$m#ia~P-aOn#na#V#na#j#na#o#na#q#na#s#na#u#na#x#na#|#na$T#na$X#na$[#na$^#na$`#na$b#na$d#na$g#na$k#na$m#na~P-aOn#rax#ra#V#ra#j#ra#o#ra#s#ra#u#ra#x#ra#|#ra$T#ra$X#ra$[#ra$^#ra$`#ra$b#ra$d#ra$g#ra$k#ra$m#ra#l#ra#q#ra#z#ra$Q#ra$V#ra$i#ra~P-aOn#wa#V#wa#j#wa#o#wa#s#wa#u#wa#x#wa#z#wa#|#wa$T#wa$X#wa$[#wa$^#wa$`#wa$b#wa$d#wa$g#wa$k#wa$m#wa~P-aOu%TOn#{ax#{a#V#{a#j#{a#o#{a#s#{a#u#{a#x#{a#|#{a$T#{a$X#{a$[#{a$^#{a$`#{a$b#{a$d#{a$g#{a$k#{a$m#{a#l#{a#q#{a#z#{a$Q#{a$V#{a$i#{a~P-aOt'^Ou%ZOn$Zax$Za#V$Za#j$Za#o$Za#s$Za#u$Za#x$Za#|$Za$T$Za$X$Za$[$Za$^$Za$`$Za$b$Za$d$Za$g$Za$k$Za$m$Za#l$Za#q$Za#z$Za$Q$Za$V$Za$i$Za~On$]ax$]a#V$]a#j$]a#o$]a#s$]a#u$]a#x$]a#|$]a$T$]a$X$]a$[$]a$^$]a$`$]a$b$]a$d$]a$g$]a$k$]a$m$]a#l$]a#q$]a#z$]a$Q$]a$V$]a$i$]a~P%}Ou%bO#U%aO#V#aOn$_ax$_a#j$_a#o$_a#s$_a#u$_a#x$_a#|$_a$T$_a$X$_a$[$_a$^$_a$`$_a$b$_a$d$_a$g$_a$k$_a$m$_a#l$_a#q$_a#z$_a$Q$_a$V$_a$i$_a~P-aOn$aax$aa#V$aa#j$aa#o$aa#s$aa#u$aa#x$aa#|$aa$T$aa$X$aa$[$aa$^$aa$`$aa$b$aa$d$aa$g$aa$k$aa$m$aa#l$aa#q$aa#z$aa$Q$aa$V$aa$i$aa~P-aOn$cax$ca#V$ca#j$ca#o$ca#s$ca#u$ca#x$ca#|$ca$T$ca$X$ca$[$ca$^$ca$`$ca$b$ca$d$ca$g$ca$k$ca$m$ca#l$ca#q$ca#z$ca$Q$ca$V$ca$i$ca~P%}On$fa#V$fa#j$fa#o$fa#s$fa#u$fa#x$fa#|$fa$T$fa$X$fa$[$fa$^$fa$`$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~P-aOn$jax$ja#V$ja#j$ja#o$ja#s$ja#u$ja#x$ja#|$ja$T$ja$X$ja$[$ja$^$ja$`$ja$b$ja$d$ja$g$ja$k$ja$m$ja#l$ja#q$ja#z$ja$Q$ja$V$ja$i$ja~P-aOn$lax$la#V$la#j$la#o$la#s$la#u$la#x$la#|$la$T$la$X$la$[$la$^$la$`$la$b$la$d$la$g$la$k$la$m$la#l$la#q$la#z$la$Q$la$V$la$i$la~P-aOx'dO~Ox'eO~Of'gO~P-aOu$qax$qan$qa#V$qa#j$qa#o$qa#s$qa#u$qa#x$qa#|$qa$T$qa$X$qa$[$qa$^$qa$`$qa$b$qa$d$qa$g$qa$k$qa$m$qa#l$qa#q$qa#z$qa$Q$qa$V$qa$i$qaX$qar$qa~P-aOx'lO%R'hO~P-aOx'nO%R'hO~P-aOu%ZOx'pO~Ot'qO~O#W'rOu#Tax#Ta#U#Ta#V#Tan#Ta#j#Ta#o#Ta#s#Ta#u#Ta#x#Ta#|#Ta$T#Ta$X#Ta$[#Ta$^#Ta$`#Ta$b#Ta$d#Ta$g#Ta$k#Ta$m#Ta#l#Ta#q#Ta#z#Ta$Q#Ta$V#Ta$i#Ta~P-aOu%TOn#{ix#{i#V#{i#j#{i#o#{i#s#{i#u#{i#x#{i#|#{i$T#{i$X#{i$[#{i$^#{i$`#{i$b#{i$d#{i$g#{i$k#{i$m#{i#l#{i#q#{i#z#{i$Q#{i$V#{i$i#{i~Ou%ZOn$Zix$Zi#V$Zi#j$Zi#o$Zi#s$Zi#u$Zi#x$Zi#|$Zi$T$Zi$X$Zi$[$Zi$^$Zi$`$Zi$b$Zi$d$Zi$g$Zi$k$Zi$m$Zi#l$Zi#q$Zi#z$Zi$Q$Zi$V$Zi$i$Zi~Oo'vO~Or!qOn$]ix$]i#V$]i#j$]i#o$]i#s$]i#u$]i#x$]i#|$]i$T$]i$X$]i$[$]i$^$]i$`$]i$b$]i$d$]i$g$]i$k$]i$m$]i#l$]i#q$]i#z$]i$Q$]i$V$]i$i$]i~Ou%bO#U%aO#V#aOn$_ix$_i#j$_i#o$_i#s$_i#u$_i#x$_i#|$_i$T$_i$X$_i$[$_i$^$_i$`$_i$b$_i$d$_i$g$_i$k$_i$m$_i#l$_i#q$_i#z$_i$Q$_i$V$_i$i$_i~Or!qOn$cix$ci#V$ci#j$ci#o$ci#s$ci#u$ci#x$ci#|$ci$T$ci$X$ci$[$ci$^$ci$`$ci$b$ci$d$ci$g$ci$k$ci$m$ci#l$ci#q$ci#z$ci$Q$ci$V$ci$i$ci~Ou%TOXqqrqqxqqnqq#Vqq#jqq#oqq#sqq#uqq#xqq#|qq$Tqq$Xqq$[qq$^qq$`qq$bqq$dqq$gqq$kqq$mqq#lqq#qqq#zqq$Qqq$Vqq$iqq~P-aOt'yOx!dX%R!dXn!dX#V!dX#j!dX#o!dX#s!dX#u!dX#x!dX#|!dX$Q!dX$T!dX$X!dX$[!dX$^!dX$`!dX$b!dX$d!dX$g!dX$k!dX$m!dX$V!dX~Ox'{O%R'hO~Ox'|O%R'hO~Ou%ZOx'}O~O%R'hOn$Oq#V$Oq#j$Oq#o$Oq#s$Oq#u$Oq#x$Oq#|$Oq$Q$Oq$T$Oq$X$Oq$[$Oq$^$Oq$`$Oq$b$Oq$d$Oq$g$Oq$k$Oq$m$Oq~P-aO%R'hOn$Sq#V$Sq#j$Sq#o$Sq#s$Sq#u$Sq#x$Sq#|$Sq$T$Sq$V$Sq$X$Sq$[$Sq$^$Sq$`$Sq$b$Sq$d$Sq$g$Sq$k$Sq$m$Sq~P-aOu%ZOn$Zqx$Zq#V$Zq#j$Zq#o$Zq#s$Zq#u$Zq#x$Zq#|$Zq$T$Zq$X$Zq$[$Zq$^$Zq$`$Zq$b$Zq$d$Zq$g$Zq$k$Zq$m$Zq#l$Zq#q$Zq#z$Zq$Q$Zq$V$Zq$i$Zq~Ou%TOXqyrqyxqynqy#Vqy#jqy#oqy#sqy#uqy#xqy#|qy$Tqy$Xqy$[qy$^qy$`qy$bqy$dqy$gqy$kqy$mqy#lqy#qqy#zqy$Qqy$Vqy$iqy~Ou#Tqx#Tq#U#Tq#V#Tqn#Tq#j#Tq#o#Tq#s#Tq#u#Tq#x#Tq#|#Tq$T#Tq$X#Tq$[#Tq$^#Tq$`#Tq$b#Tq$d#Tq$g#Tq$k#Tq$m#Tq#l#Tq#q#Tq#z#Tq$Q#Tq$V#Tq$i#Tq~P-aO%R'hOn$Oy#V$Oy#j$Oy#o$Oy#s$Oy#u$Oy#x$Oy#|$Oy$Q$Oy$T$Oy$X$Oy$[$Oy$^$Oy$`$Oy$b$Oy$d$Oy$g$Oy$k$Oy$m$Oy~O%R'hOn$Sy#V$Sy#j$Sy#o$Sy#s$Sy#u$Sy#x$Sy#|$Sy$T$Sy$V$Sy$X$Sy$[$Sy$^$Sy$`$Sy$b$Sy$d$Sy$g$Sy$k$Sy$m$Sy~Ou%ZOn$Zyx$Zy#V$Zy#j$Zy#o$Zy#s$Zy#u$Zy#x$Zy#|$Zy$T$Zy$X$Zy$[$Zy$^$Zy$`$Zy$b$Zy$d$Zy$g$Zy$k$Zy$m$Zy#l$Zy#q$Zy#z$Zy$Q$Zy$V$Zy$i$Zy~Ox!di%R!din!di#V!di#j!di#o!di#s!di#u!di#x!di#|!di$Q!di$T!di$X!di$[!di$^!di$`!di$b!di$d!di$g!di$k!di$m!di$V!di~P-aO",
|
|
109
|
+
goto: "@p%uPPPPPPPP%vP%v&W'hPP'h'hPPP'hPPP'hPPPPPPPP(fP(vPP(yPP(y)ZP)kP(yP(yP(y)qP*RP(y*XP*iP(yP(y*oPP+P+Z+eP(y+kP+{P(yP(yP(yP(y,RP,c,fP(y,iP,y,|P(yP(yP-PPPP(yP(yP(y-XP-iP(yP(yP(yP-o.PP.aP-o.gP.wP-oP-oP-o.}P/_P-oP-o/e/uP-o/{P0]P-oP-o-oP-oP-oP-oP-oP-o0cP0sP-oP-oP0y1i2P2o2}3a3s3y4P4V4uPPPPPP4{5]PPP'h'h8P%v9_9k9q:X:[:l:|;Q;b;f;v<W<h<l<|=Q=b=f=v>W>h>x?Y?j?z@O@`m^OTUVWX[`!T!W!Z!^!a!j!vdReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'yQ#RrQ#SsQ&O#qQ&T#tQ'O%bR(P's!wiReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'ym!rck!s!x!y#Y#]$}%_%h&Z&^'_'bR$w!qm]OTUVWX[`!T!W!Z!^!a!jmTOTUVWX[`!T!W!Z!^!a!jQ!STR$`!TmUOTUVWX[`!T!W!Z!^!a!jQ!VUR$b!WmVOTUVWX[`!T!W!Z!^!a!jQ!YVR$d!ZmWOTUVWX[`!T!W!Z!^!a!ja'j&w&x'k'm't'u(Q(Ra'i&w&x'k'm't'u(Q(RQ!]WR$f!^mXOTUVWX[`!T!W!Z!^!a!jQ!`XR$h!amYOTUVWX[`!T!W!Z!^!a!jR!eYR$k!emZOTUVWX[`!T!W!Z!^!a!jR!hZR$n!hS%d#Z%eT'`&['am[OTUVWX[`!T!W!Z!^!a!jQ!i[R$p!jm$[!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#d!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%p#dR'T%qm#g!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%u#gR'U%vm#n!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%{#nR'V%|m#r!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&R#rR'Y&Sm#u!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&W#uR'[&Xm$V!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&b$VR'c&cQ`OQ!TTQ!WUQ!ZVQ!^WQ!aXQ!j[_!l`!T!W!Z!^!a!jSQO`SaQ!Ri!RTUVWX[!T!W!Z!^!a!jQ!scQ!yk^$x!s!y$}%_%h'_'bQ$}!xQ%_#YQ%h#]Q'_&ZR'b&^Q%U#QU&u%U'W'xQ'W%}R'x'fQ'k&wQ'm&xW'z'k'm(Q(RQ(Q'tR(R'uQ%[#VW&z%[']'o(SQ']&YQ'o&|R(S'vQ!dYR$j!dQ!gZR$m!gQ%e#ZR'Q%eQ$^!QQ%q#dQ%v#gQ%|#nQ&S#rQ&X#uQ&c$V_&f$^%q%v%|&S&X&cQ'a&[R'w'am_OTUVWX[`!T!W!Z!^!a!jQcRQ!weQ!xkQ!{lQ!|mQ#OoQ#PpQ#QqQ#YyQ#ZzQ#[{Q#]|Q#^}Q#_!OQ#`!PQ$s!nQ$t!oQ$u!pQ$z!uQ${!vQ%m#cQ%r#fQ%w#iQ%x#mQ%}#pQ&Z#|Q&[$OQ&]$QQ&^$SQ&_$UQ&d$XQ&e$ZQ&r$|Q&t%TQ&w%XQ&x%YQ'P%cQ'f&qQ't'XQ'u'ZQ(O'qR(T'y!viReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'ym#x!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%X#RQ%Y#SQ'X&OR'Z&TX%c#Z%e&['al#q!Q#d#g#n#r#u$V$^%q%v%|&S&X&cX%c#Z%e&['aR's'Pm$]!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#c!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%o#d%qm#f!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%t#g%vm#i!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#k!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#m!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%z#n%|m#p!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&Q#r&Sm#t!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&V#u&Xm#w!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#z!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#|!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$O!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$Q!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$S!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$U!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&a$V&cm$X!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$Z!Q#d#g#n#r#u$V$^%q%v%|&S&X&c",
|
|
110
|
+
nodeNames: "⚠ {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",
|
|
111
|
+
maxTerm: 220,
|
|
112
|
+
nodeProps: [
|
|
113
|
+
["closedBy", 1, "}}", -4, 2, 3, 4, 5, "%}", 23, ")"],
|
|
114
|
+
["openedBy", 9, "{{", 22, "(", 40, "{%"],
|
|
115
|
+
["group", -13, 11, 12, 15, 16, 20, 24, 26, 27, 28, 29, 30, 31, 32, "Expression"]
|
|
116
|
+
],
|
|
117
|
+
skippedNodes: [0, 6],
|
|
118
|
+
repeatNodeCount: 11,
|
|
119
|
+
tokenData: ")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%O~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOx~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ou~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WwQ%RT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%T~~)TO%S~~)YOr~~)]P#q#r)`~)eOX~",
|
|
120
|
+
tokenizers: [base, raw, comment, inlineComment, 0, 1, 2, 3],
|
|
121
|
+
topRules: { "Template": [0, 7] },
|
|
122
|
+
dynamicPrecedences: { "190": 1, "191": 1, "192": 1, "194": 1, "195": 1, "196": 1, "197": 1, "199": 1, "200": 1, "201": 1, "202": 1, "203": 1, "204": 1, "205": 1, "206": 1, "207": 1, "208": 1, "209": 1, "210": 1, "211": 1, "212": 1, "213": 1, "214": 1, "215": 1, "216": 1, "217": 1, "218": 1, "219": 1, "220": 1 },
|
|
123
|
+
specialized: [{ term: 187, get: (value) => spec_identifier[value] || -1 }, { term: 39, get: (value) => spec_TagName[value] || -1 }],
|
|
124
|
+
tokenPrec: 0
|
|
125
|
+
});
|
|
126
|
+
function completions(words, type) {
|
|
127
|
+
return words.split(" ").map((label) => ({ label, type }));
|
|
128
|
+
}
|
|
129
|
+
const Filters = /* @__PURE__ */ completions("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where", "function");
|
|
130
|
+
const Tags = /* @__PURE__ */ completions("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include", "keyword");
|
|
131
|
+
const Expressions = /* @__PURE__ */ completions("empty forloop tablerowloop in with as", "keyword");
|
|
132
|
+
const forloop = /* @__PURE__ */ completions("first index index0 last length rindex", "property");
|
|
133
|
+
const tablerowloop = /* @__PURE__ */ completions("col col0 col_first col_last first index index0 last length rindex rindex0 row", "property");
|
|
134
|
+
function findContext(context) {
|
|
135
|
+
var _a;
|
|
136
|
+
let { state, pos } = context;
|
|
137
|
+
let node = syntaxTree(state).resolveInner(pos, -1).enterUnfinishedNodesBefore(pos);
|
|
138
|
+
let before = ((_a = node.childBefore(pos)) === null || _a === void 0 ? void 0 : _a.name) || node.name;
|
|
139
|
+
if (node.name == "FilterName")
|
|
140
|
+
return { type: "filter", node };
|
|
141
|
+
if (context.explicit && before == "|")
|
|
142
|
+
return { type: "filter" };
|
|
143
|
+
if (node.name == "TagName")
|
|
144
|
+
return { type: "tag", node };
|
|
145
|
+
if (context.explicit && before == "{%")
|
|
146
|
+
return { type: "tag" };
|
|
147
|
+
if (node.name == "PropertyName" && node.parent.name == "MemberExpression")
|
|
148
|
+
return { type: "property", node, target: node.parent };
|
|
149
|
+
if (node.name == "." && node.parent.name == "MemberExpression")
|
|
150
|
+
return { type: "property", target: node.parent };
|
|
151
|
+
if (node.name == "MemberExpression" && before == ".")
|
|
152
|
+
return { type: "property", target: node };
|
|
153
|
+
if (node.name == "VariableName")
|
|
154
|
+
return { type: "expression", from: node.from };
|
|
155
|
+
let word = context.matchBefore(/[\w\u00c0-\uffff]+$/);
|
|
156
|
+
if (word)
|
|
157
|
+
return { type: "expression", from: word.from };
|
|
158
|
+
if (context.explicit && node.name != "CommentText" && node.name != "StringLiteral" && node.name != "NumberLiteral" && node.name != "InlineComment")
|
|
159
|
+
return { type: "expression" };
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
function resolveProperties(state, node, context, properties) {
|
|
163
|
+
let path = [];
|
|
164
|
+
for (; ; ) {
|
|
165
|
+
let obj = node.getChild("Expression");
|
|
166
|
+
if (!obj)
|
|
167
|
+
return [];
|
|
168
|
+
if (obj.name == "VariableName" || obj.name == "forloop" || obj.name == "tablerowloop") {
|
|
169
|
+
let text2 = state.sliceDoc(obj.from, obj.to);
|
|
170
|
+
if (text2 == "forloop")
|
|
171
|
+
return path.length ? [] : forloop;
|
|
172
|
+
if (text2 == "tablerowloop")
|
|
173
|
+
return path.length ? [] : tablerowloop;
|
|
174
|
+
path.unshift(text2);
|
|
175
|
+
break;
|
|
176
|
+
} else if (obj.name == "MemberExpression") {
|
|
177
|
+
let name = obj.getChild("PropertyName");
|
|
178
|
+
if (name)
|
|
179
|
+
path.unshift(state.sliceDoc(name.from, name.to));
|
|
180
|
+
node = obj;
|
|
181
|
+
} else if (obj.name == "SubscriptExpression") {
|
|
182
|
+
let expr = obj.getChildren("Expression")[1];
|
|
183
|
+
path.unshift((expr === null || expr === void 0 ? void 0 : expr.name) == "StringLiteral" ? state.sliceDoc(expr.from + 1, expr.to - 1) : "[]");
|
|
184
|
+
node = obj;
|
|
185
|
+
} else {
|
|
186
|
+
return [];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return properties ? properties(path, state, context) : [];
|
|
190
|
+
}
|
|
191
|
+
function liquidCompletionSource(config = {}) {
|
|
192
|
+
let filters = config.filters ? config.filters.concat(Filters) : Filters;
|
|
193
|
+
let tags2 = config.tags ? config.tags.concat(Tags) : Tags;
|
|
194
|
+
let exprs = config.variables ? config.variables.concat(Expressions) : Expressions;
|
|
195
|
+
let { properties } = config;
|
|
196
|
+
return (context) => {
|
|
197
|
+
var _a;
|
|
198
|
+
let cx = findContext(context);
|
|
199
|
+
if (!cx)
|
|
200
|
+
return null;
|
|
201
|
+
let from = (_a = cx.from) !== null && _a !== void 0 ? _a : cx.node ? cx.node.from : context.pos;
|
|
202
|
+
let options;
|
|
203
|
+
if (cx.type == "filter")
|
|
204
|
+
options = filters;
|
|
205
|
+
else if (cx.type == "tag")
|
|
206
|
+
options = tags2;
|
|
207
|
+
else if (cx.type == "expression")
|
|
208
|
+
options = exprs;
|
|
209
|
+
else
|
|
210
|
+
options = resolveProperties(context.state, cx.target, context, properties);
|
|
211
|
+
return options.length ? { options, from, validFor: /^[\w\u00c0-\uffff]*$/ } : null;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
const closePercentBrace = /* @__PURE__ */ EditorView.inputHandler.of((view, from, to, text2) => {
|
|
215
|
+
if (text2 != "%" || from != to || view.state.doc.sliceString(from - 1, to + 1) != "{}")
|
|
216
|
+
return false;
|
|
217
|
+
view.dispatch(view.state.changeByRange((range) => ({
|
|
218
|
+
changes: { from: range.from, to: range.to, insert: "%%" },
|
|
219
|
+
range: EditorSelection.cursor(range.from + 1)
|
|
220
|
+
})), {
|
|
221
|
+
scrollIntoView: true,
|
|
222
|
+
userEvent: "input.type"
|
|
223
|
+
});
|
|
224
|
+
return true;
|
|
225
|
+
});
|
|
226
|
+
function directiveIndent(except) {
|
|
227
|
+
return (context) => {
|
|
228
|
+
let back = except.test(context.textAfter);
|
|
229
|
+
return context.lineIndent(context.node.from) + (back ? 0 : context.unit);
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
const tagLanguage = /* @__PURE__ */ LRLanguage.define({
|
|
233
|
+
name: "liquid",
|
|
234
|
+
parser: /* @__PURE__ */ parser.configure({
|
|
235
|
+
props: [
|
|
236
|
+
/* @__PURE__ */ styleTags({
|
|
237
|
+
"cycle comment endcomment raw endraw echo increment decrement liquid in with as": tags.keyword,
|
|
238
|
+
"empty forloop tablerowloop": tags.atom,
|
|
239
|
+
"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue": tags.controlKeyword,
|
|
240
|
+
"assign capture endcapture": tags.definitionKeyword,
|
|
241
|
+
"contains": tags.operatorKeyword,
|
|
242
|
+
"render include": tags.moduleKeyword,
|
|
243
|
+
VariableName: tags.variableName,
|
|
244
|
+
TagName: tags.tagName,
|
|
245
|
+
FilterName: /* @__PURE__ */ tags.function(tags.variableName),
|
|
246
|
+
PropertyName: tags.propertyName,
|
|
247
|
+
CompareOp: tags.compareOperator,
|
|
248
|
+
AssignOp: tags.definitionOperator,
|
|
249
|
+
LogicOp: tags.logicOperator,
|
|
250
|
+
NumberLiteral: tags.number,
|
|
251
|
+
StringLiteral: tags.string,
|
|
252
|
+
BooleanLiteral: tags.bool,
|
|
253
|
+
InlineComment: tags.lineComment,
|
|
254
|
+
CommentText: tags.blockComment,
|
|
255
|
+
"{% %} {{ }}": tags.brace,
|
|
256
|
+
"[ ]": tags.bracket,
|
|
257
|
+
"( )": tags.paren,
|
|
258
|
+
".": tags.derefOperator,
|
|
259
|
+
", .. : |": tags.punctuation
|
|
260
|
+
}),
|
|
261
|
+
/* @__PURE__ */ indentNodeProp.add({
|
|
262
|
+
Tag: /* @__PURE__ */ delimitedIndent({ closing: "%}" }),
|
|
263
|
+
"UnlessDirective ForDirective TablerowDirective CaptureDirective": /* @__PURE__ */ directiveIndent(/^\s*(\{%-?\s*)?end\w/),
|
|
264
|
+
IfDirective: /* @__PURE__ */ directiveIndent(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),
|
|
265
|
+
CaseDirective: /* @__PURE__ */ directiveIndent(/^\s*(\{%-?\s*)?(endcase|when)\b/)
|
|
266
|
+
}),
|
|
267
|
+
/* @__PURE__ */ foldNodeProp.add({
|
|
268
|
+
"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(tree) {
|
|
269
|
+
let first = tree.firstChild, last = tree.lastChild;
|
|
270
|
+
if (!first || first.name != "Tag")
|
|
271
|
+
return null;
|
|
272
|
+
return { from: first.to, to: last.name == "EndTag" ? last.from : tree.to };
|
|
273
|
+
}
|
|
274
|
+
})
|
|
275
|
+
]
|
|
276
|
+
}),
|
|
277
|
+
languageData: {
|
|
278
|
+
commentTokens: { line: "#" },
|
|
279
|
+
indentOnInput: /^\s*{%-?\s*(?:end|elsif|else|when|)$/
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
const baseHTML = /* @__PURE__ */ html();
|
|
283
|
+
function makeLiquid(base2) {
|
|
284
|
+
return tagLanguage.configure({
|
|
285
|
+
wrap: parseMixed((node) => node.type.isTop ? {
|
|
286
|
+
parser: base2.parser,
|
|
287
|
+
overlay: (n) => n.name == "Text" || n.name == "RawText"
|
|
288
|
+
} : null)
|
|
289
|
+
}, "liquid");
|
|
290
|
+
}
|
|
291
|
+
const liquidLanguage = /* @__PURE__ */ makeLiquid(baseHTML.language);
|
|
292
|
+
function liquid(config = {}) {
|
|
293
|
+
let base2 = config.base || baseHTML;
|
|
294
|
+
let lang = base2.language == baseHTML.language ? liquidLanguage : makeLiquid(base2.language);
|
|
295
|
+
return new LanguageSupport(lang, [
|
|
296
|
+
base2.support,
|
|
297
|
+
lang.data.of({ autocomplete: liquidCompletionSource(config) }),
|
|
298
|
+
base2.language.data.of({ closeBrackets: { brackets: ["{"] } }),
|
|
299
|
+
closePercentBrace
|
|
300
|
+
]);
|
|
301
|
+
}
|
|
302
|
+
export {
|
|
303
|
+
closePercentBrace,
|
|
304
|
+
liquid,
|
|
305
|
+
liquidCompletionSource,
|
|
306
|
+
liquidLanguage
|
|
307
|
+
};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as LRLanguage, a as
|
|
1
|
+
import { L as LRLanguage, a as LanguageSupport, i as indentNodeProp, c as continuedIndent, f as foldNodeProp, s as styleTags, t as tags, E as ExternalTokenizer, b as ifNotIn, d as completeFromList, e as LRParser, g as syntaxTree } from "./entry-BKrD0RBL.mjs";
|
|
2
2
|
const whitespace = 36, LineComment = 1, BlockComment = 2, String$1 = 3, Number = 4, Bool = 5, Null = 6, ParenL = 7, ParenR = 8, BraceL = 9, BraceR = 10, BracketL = 11, BracketR = 12, Semi = 13, Dot = 14, Operator = 15, Punctuation = 16, SpecialVar = 17, Identifier = 18, QuotedIdentifier = 19, Keyword = 20, Type = 21, Bits = 22, Bytes = 23, Builtin = 24;
|
|
3
3
|
function isAlpha(ch) {
|
|
4
4
|
return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57;
|
|
@@ -216,6 +216,10 @@ function tokensFor(d) {
|
|
|
216
216
|
input.advance(2);
|
|
217
217
|
readPLSQLQuotedLiteral(input, openDelim);
|
|
218
218
|
input.acceptToken(String$1);
|
|
219
|
+
} else if (inString(next, d.identifierQuotes)) {
|
|
220
|
+
const endQuote = next == 91 ? 93 : next;
|
|
221
|
+
readLiteral(input, endQuote, false);
|
|
222
|
+
input.acceptToken(QuotedIdentifier);
|
|
219
223
|
} else if (next == 40) {
|
|
220
224
|
input.acceptToken(ParenL);
|
|
221
225
|
} else if (next == 41) {
|
|
@@ -269,9 +273,6 @@ function tokensFor(d) {
|
|
|
269
273
|
input.advance();
|
|
270
274
|
readWordOrQuoted(input);
|
|
271
275
|
input.acceptToken(SpecialVar);
|
|
272
|
-
} else if (inString(next, d.identifierQuotes)) {
|
|
273
|
-
readLiteral(input, next, false);
|
|
274
|
-
input.acceptToken(QuotedIdentifier);
|
|
275
276
|
} else if (next == 58 || next == 44) {
|
|
276
277
|
input.acceptToken(Punctuation);
|
|
277
278
|
} else if (isAlpha(next)) {
|
|
@@ -306,7 +307,7 @@ function tokenBefore(tree) {
|
|
|
306
307
|
}
|
|
307
308
|
function idName(doc, node) {
|
|
308
309
|
let text = doc.sliceString(node.from, node.to);
|
|
309
|
-
let quoted = /^([`'"])(.*)\
|
|
310
|
+
let quoted = /^([`'"\[])(.*)([`'"\]])$/.exec(text);
|
|
310
311
|
return quoted ? quoted[2] : text;
|
|
311
312
|
}
|
|
312
313
|
function plainID(node) {
|
|
@@ -381,12 +382,10 @@ function getAliases(doc, at) {
|
|
|
381
382
|
}
|
|
382
383
|
return aliases;
|
|
383
384
|
}
|
|
384
|
-
function maybeQuoteCompletions(
|
|
385
|
-
|
|
386
|
-
return completions;
|
|
387
|
-
return completions.map((c) => Object.assign(Object.assign({}, c), { label: c.label[0] == quote ? c.label : quote + c.label + quote, apply: void 0 }));
|
|
385
|
+
function maybeQuoteCompletions(openingQuote, closingQuote, completions) {
|
|
386
|
+
return completions.map((c) => ({ ...c, label: c.label[0] == openingQuote ? c.label : openingQuote + c.label + closingQuote, apply: void 0 }));
|
|
388
387
|
}
|
|
389
|
-
const Span = /^\w*$/, QuotedSpan = /^[`'"]?\w*[`'"]?$/;
|
|
388
|
+
const Span = /^\w*$/, QuotedSpan = /^[`'"\[]?\w*[`'"\]]?$/;
|
|
390
389
|
function isSelfTag(namespace) {
|
|
391
390
|
return namespace.self && typeof namespace.self.label == "string";
|
|
392
391
|
}
|
|
@@ -450,7 +449,10 @@ class CompletionLevel {
|
|
|
450
449
|
function nameCompletion(label, type, idQuote, idCaseInsensitive) {
|
|
451
450
|
if (new RegExp("^[a-z_][a-z_\\d]*$", idCaseInsensitive ? "i" : "").test(label))
|
|
452
451
|
return { label, type };
|
|
453
|
-
return { label, type, apply: idQuote + label + idQuote };
|
|
452
|
+
return { label, type, apply: idQuote + label + getClosingQuote(idQuote) };
|
|
453
|
+
}
|
|
454
|
+
function getClosingQuote(openingQuote) {
|
|
455
|
+
return openingQuote === "[" ? "]" : openingQuote;
|
|
454
456
|
}
|
|
455
457
|
function completeFromSchema(schema, tables, schemas, defaultTableName, defaultSchemaName, dialect2) {
|
|
456
458
|
var _a;
|
|
@@ -487,16 +489,26 @@ function completeFromSchema(schema, tables, schemas, defaultTableName, defaultSc
|
|
|
487
489
|
return null;
|
|
488
490
|
level = next;
|
|
489
491
|
}
|
|
490
|
-
let quoteAfter = quoted && context.state.sliceDoc(context.pos, context.pos + 1) == quoted;
|
|
491
492
|
let options = level.list;
|
|
492
493
|
if (level == top && aliases)
|
|
493
494
|
options = options.concat(Object.keys(aliases).map((name) => ({ label: name, type: "constant" })));
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
495
|
+
if (quoted) {
|
|
496
|
+
let openingQuote = quoted[0];
|
|
497
|
+
let closingQuote = getClosingQuote(openingQuote);
|
|
498
|
+
let quoteAfter = context.state.sliceDoc(context.pos, context.pos + 1) == closingQuote;
|
|
499
|
+
return {
|
|
500
|
+
from,
|
|
501
|
+
to: quoteAfter ? context.pos + 1 : void 0,
|
|
502
|
+
options: maybeQuoteCompletions(openingQuote, closingQuote, options),
|
|
503
|
+
validFor: QuotedSpan
|
|
504
|
+
};
|
|
505
|
+
} else {
|
|
506
|
+
return {
|
|
507
|
+
from,
|
|
508
|
+
options,
|
|
509
|
+
validFor: Span
|
|
510
|
+
};
|
|
511
|
+
}
|
|
500
512
|
};
|
|
501
513
|
}
|
|
502
514
|
function completionType(tokenType) {
|
|
@@ -504,7 +516,7 @@ function completionType(tokenType) {
|
|
|
504
516
|
}
|
|
505
517
|
function completeKeywords(keywords2, upperCase, build) {
|
|
506
518
|
let completions = Object.keys(keywords2).map((keyword) => build(upperCase ? keyword.toUpperCase() : keyword, completionType(keywords2[keyword])));
|
|
507
|
-
return ifNotIn(["QuotedIdentifier", "
|
|
519
|
+
return ifNotIn(["QuotedIdentifier", "String", "LineComment", "BlockComment", "."], completeFromList(completions));
|
|
508
520
|
}
|
|
509
521
|
let parser = /* @__PURE__ */ parser$1.configure({
|
|
510
522
|
props: [
|
|
@@ -555,6 +567,13 @@ class SQLDialect {
|
|
|
555
567
|
return this.language.extension;
|
|
556
568
|
}
|
|
557
569
|
/**
|
|
570
|
+
Reconfigure the parser used by this dialect. Returns a new
|
|
571
|
+
dialect object.
|
|
572
|
+
*/
|
|
573
|
+
configureLanguage(options, name) {
|
|
574
|
+
return new SQLDialect(this.dialect, this.language.configure(options, name), this.spec);
|
|
575
|
+
}
|
|
576
|
+
/**
|
|
558
577
|
Define a new dialect.
|
|
559
578
|
*/
|
|
560
579
|
static define(spec) {
|
|
@@ -633,12 +652,18 @@ const MariaSQL = /* @__PURE__ */ SQLDialect.define({
|
|
|
633
652
|
types: MySQLTypes,
|
|
634
653
|
builtin: MySQLBuiltin
|
|
635
654
|
});
|
|
655
|
+
let MSSQLBuiltin = (
|
|
656
|
+
// Aggregate https://msdn.microsoft.com/en-us/library/ms173454.aspx
|
|
657
|
+
"approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set"
|
|
658
|
+
);
|
|
636
659
|
const MSSQL = /* @__PURE__ */ SQLDialect.define({
|
|
637
|
-
keywords: SQLKeywords +
|
|
638
|
-
|
|
639
|
-
|
|
660
|
+
keywords: SQLKeywords + // Reserved Keywords https://learn.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver17
|
|
661
|
+
"add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",
|
|
662
|
+
types: SQLTypes + "smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",
|
|
663
|
+
builtin: MSSQLBuiltin,
|
|
640
664
|
operatorChars: "*+-%<>!=^&|/",
|
|
641
|
-
specialVar: "@"
|
|
665
|
+
specialVar: "@",
|
|
666
|
+
identifierQuotes: '"['
|
|
642
667
|
});
|
|
643
668
|
const SQLite = /* @__PURE__ */ SQLDialect.define({
|
|
644
669
|
keywords: SQLKeywords + "abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as LRLanguage,
|
|
1
|
+
import { L as LRLanguage, a as LanguageSupport, p as html, q as parseMixed, v as javascriptLanguage, s as styleTags, t as tags, e as LRParser, E as ExternalTokenizer } from "./entry-BKrD0RBL.mjs";
|
|
2
2
|
const Text = 1, attributeContentSingle = 33, attributeContentDouble = 34, scriptAttributeContentSingle = 35, scriptAttributeContentDouble = 36;
|
|
3
3
|
const text = /* @__PURE__ */ new ExternalTokenizer((input) => {
|
|
4
4
|
let start = input.pos;
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { L as LRLanguage,
|
|
1
|
+
import { L as LRLanguage, a as LanguageSupport, p as html, q as parseMixed, s as styleTags, t as tags, v as javascriptLanguage, e as LRParser, h as LocalTokenGroup } from "./entry-BKrD0RBL.mjs";
|
|
2
2
|
const parser = /* @__PURE__ */ LRParser.deserialize({
|
|
3
3
|
version: 14,
|
|
4
4
|
states: "%pOVOWOOObQPOOOpOSO'#C_OOOO'#Cp'#CpQVOWOOQxQPOOO!TQQOOQ!YQPOOOOOO,58y,58yO!_OSO,58yOOOO-E6n-E6nO!dQQO'#CqQ{QPOOO!iQPOOQ{QPOOO!qQPOOOOOO1G.e1G.eOOQO,59],59]OOQO-E6o-E6oO!yOpO'#CiO#RO`O'#CiQOQPOOO#ZO#tO'#CmO#fO!bO'#CmOOQO,59T,59TO#qOpO,59TO#vO`O,59TOOOO'#Cr'#CrO#{O#tO,59XOOQO,59X,59XOOOO'#Cs'#CsO$WO!bO,59XOOQO1G.o1G.oOOOO-E6p-E6pOOQO1G.s1G.sOOOO-E6q-E6q",
|
|
Binary file
|
|
Binary file
|