abidlabs HF staff commited on
Commit
e32cf58
1 Parent(s): b4bf19e

Upload folder using huggingface_hub

Browse files
README.md CHANGED
@@ -1,9 +1,9 @@
1
 
2
  ---
3
  tags: [gradio-custom-component,gradio-template-Code,code,highlighted,completion]
4
- title: gradio_highlightedcode V0.0.1
5
- colorFrom: purple
6
- colorTo: gray
7
  sdk: docker
8
  pinned: false
9
  license: apache-2.0
 
1
 
2
  ---
3
  tags: [gradio-custom-component,gradio-template-Code,code,highlighted,completion]
4
+ title: gradio_highlightedcode V0.0.2
5
+ colorFrom: gray
6
+ colorTo: blue
7
  sdk: docker
8
  pinned: false
9
  license: apache-2.0
__pycache__/__init__.cpython-311.pyc ADDED
Binary file (177 Bytes). View file
 
__pycache__/app.cpython-311.pyc ADDED
Binary file (1.73 kB). View file
 
app.py CHANGED
@@ -1,17 +1,33 @@
1
 
 
2
  import gradio as gr
3
  from gradio_highlightedcode import HighlightedCode
4
 
5
 
6
  example = HighlightedCode().example_inputs()
7
 
8
- demo = gr.Interface(
9
- lambda x:x,
10
- HighlightedCode(), # interactive version of your component
11
- HighlightedCode(), # static version of your component
12
- # examples=[[example]], # uncomment this line to view the "example version" of your component
13
- )
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  if __name__ == "__main__":
17
  demo.launch()
 
1
 
2
+ import time
3
  import gradio as gr
4
  from gradio_highlightedcode import HighlightedCode
5
 
6
 
7
  example = HighlightedCode().example_inputs()
8
 
9
+ initial_value = """import random
 
 
 
 
 
10
 
11
+ def scramble_name(name):
12
+ name_list = list(name)
13
+ """
14
+
15
+ completion = """ random.shuffle(name_list)
16
+ return ''.join(name_list)
17
+
18
+ # Example usage:
19
+ print(scramble_name("Python"))
20
+ """
21
+
22
+ def generate_code():
23
+ for i in range(len(completion)):
24
+ time.sleep(0.03)
25
+ yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
26
+
27
+ with gr.Blocks() as demo:
28
+ code = HighlightedCode(initial_value, language="python")
29
+ btn = gr.Button("Generate", variant="primary")
30
+ btn.click(generate_code, outputs=code)
31
 
32
  if __name__ == "__main__":
33
  demo.launch()
space.py CHANGED
@@ -21,7 +21,7 @@ with gr.Blocks(
21
  # `gradio_highlightedcode`
22
 
23
  <div style="display: flex; gap: 7px;">
24
- <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
25
  </div>
26
 
27
  A variant of the Code component that supports highlighting lines of code.
@@ -39,19 +39,35 @@ pip install gradio_highlightedcode
39
 
40
  ```python
41
 
 
42
  import gradio as gr
43
  from gradio_highlightedcode import HighlightedCode
44
 
45
 
46
  example = HighlightedCode().example_inputs()
47
 
48
- demo = gr.Interface(
49
- lambda x:x,
50
- HighlightedCode(), # interactive version of your component
51
- HighlightedCode(), # static version of your component
52
- # examples=[[example]], # uncomment this line to view the "example version" of your component
53
- )
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
  if __name__ == "__main__":
57
  demo.launch()
 
21
  # `gradio_highlightedcode`
22
 
23
  <div style="display: flex; gap: 7px;">
24
+ <a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
25
  </div>
26
 
27
  A variant of the Code component that supports highlighting lines of code.
 
39
 
40
  ```python
41
 
42
+ import time
43
  import gradio as gr
44
  from gradio_highlightedcode import HighlightedCode
45
 
46
 
47
  example = HighlightedCode().example_inputs()
48
 
49
+ initial_value = """import random
 
 
 
 
 
50
 
51
+ def scramble_name(name):
52
+ name_list = list(name)
53
+ """
54
+
55
+ completion = """ random.shuffle(name_list)
56
+ return ''.join(name_list)
57
+
58
+ # Example usage:
59
+ print(scramble_name("Python"))
60
+ """
61
+
62
+ def generate_code():
63
+ for i in range(len(completion)):
64
+ time.sleep(0.03)
65
+ yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
66
+
67
+ with gr.Blocks() as demo:
68
+ code = HighlightedCode(initial_value, language="python")
69
+ btn = gr.Button("Generate", variant="primary")
70
+ btn.click(generate_code, outputs=code)
71
 
72
  if __name__ == "__main__":
73
  demo.launch()
src/README.md CHANGED
@@ -1,6 +1,6 @@
1
 
2
  # `gradio_highlightedcode`
3
- <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
4
 
5
  A variant of the Code component that supports highlighting lines of code.
6
 
@@ -14,19 +14,35 @@ pip install gradio_highlightedcode
14
 
15
  ```python
16
 
 
17
  import gradio as gr
18
  from gradio_highlightedcode import HighlightedCode
19
 
20
 
21
  example = HighlightedCode().example_inputs()
22
 
23
- demo = gr.Interface(
24
- lambda x:x,
25
- HighlightedCode(), # interactive version of your component
26
- HighlightedCode(), # static version of your component
27
- # examples=[[example]], # uncomment this line to view the "example version" of your component
28
- )
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  if __name__ == "__main__":
32
  demo.launch()
 
1
 
2
  # `gradio_highlightedcode`
3
+ <a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
4
 
5
  A variant of the Code component that supports highlighting lines of code.
6
 
 
14
 
15
  ```python
16
 
17
+ import time
18
  import gradio as gr
19
  from gradio_highlightedcode import HighlightedCode
20
 
21
 
22
  example = HighlightedCode().example_inputs()
23
 
24
+ initial_value = """import random
 
 
 
 
 
25
 
26
+ def scramble_name(name):
27
+ name_list = list(name)
28
+ """
29
+
30
+ completion = """ random.shuffle(name_list)
31
+ return ''.join(name_list)
32
+
33
+ # Example usage:
34
+ print(scramble_name("Python"))
35
+ """
36
+
37
+ def generate_code():
38
+ for i in range(len(completion)):
39
+ time.sleep(0.03)
40
+ yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
41
+
42
+ with gr.Blocks() as demo:
43
+ code = HighlightedCode(initial_value, language="python")
44
+ btn = gr.Button("Generate", variant="primary")
45
+ btn.click(generate_code, outputs=code)
46
 
47
  if __name__ == "__main__":
48
  demo.launch()
src/backend/gradio_highlightedcode/highlightedcode.py CHANGED
@@ -95,7 +95,7 @@ class HighlightedCode(Component):
95
 
96
  self.language = language
97
  self.lines = lines
98
- self.highlights = highlights
99
  super().__init__(
100
  label=label,
101
  every=every,
 
95
 
96
  self.language = language
97
  self.lines = lines
98
+ self.highlights = highlights or []
99
  super().__init__(
100
  label=label,
101
  every=every,
src/backend/gradio_highlightedcode/highlightedcode.pyi CHANGED
@@ -96,7 +96,7 @@ class HighlightedCode(Component):
96
 
97
  self.language = language
98
  self.lines = lines
99
- self.highlights = highlights
100
  super().__init__(
101
  label=label,
102
  every=every,
 
96
 
97
  self.language = language
98
  self.lines = lines
99
+ self.highlights = highlights or []
100
  super().__init__(
101
  label=label,
102
  every=every,
src/backend/gradio_highlightedcode/templates/component/Index-805076c9.js ADDED
The diff for this file is too large to render. See raw diff
 
src/backend/gradio_highlightedcode/templates/component/frontmatter-4dfee5e8.js ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { s, f as m, c as l, p as i, t as o, S as f } from "./Index-805076c9.js";
2
+ import { yaml as p } from "./yaml-cef3802d.js";
3
+ const n = /^---\s*$/m, F = {
4
+ defineNodes: [{ name: "Frontmatter", block: !0 }, "FrontmatterMark"],
5
+ props: [
6
+ s({
7
+ Frontmatter: [o.documentMeta, o.monospace],
8
+ FrontmatterMark: o.processingInstruction
9
+ }),
10
+ m.add({
11
+ Frontmatter: l,
12
+ FrontmatterMark: () => null
13
+ })
14
+ ],
15
+ wrap: i((t) => {
16
+ const { parser: e } = f.define(p);
17
+ return t.type.name === "Frontmatter" ? {
18
+ parser: e,
19
+ overlay: [{ from: t.from + 4, to: t.to - 4 }]
20
+ } : null;
21
+ }),
22
+ parseBlock: [
23
+ {
24
+ name: "Frontmatter",
25
+ before: "HorizontalRule",
26
+ parse: (t, e) => {
27
+ let r;
28
+ const a = new Array();
29
+ if (t.lineStart === 0 && n.test(e.text)) {
30
+ for (a.push(t.elt("FrontmatterMark", 0, 4)); t.nextLine(); )
31
+ if (n.test(e.text)) {
32
+ r = t.lineStart + 4;
33
+ break;
34
+ }
35
+ return r !== void 0 && (a.push(t.elt("FrontmatterMark", r - 4, r)), t.addElement(t.elt("Frontmatter", 0, r, a))), !0;
36
+ }
37
+ return !1;
38
+ }
39
+ }
40
+ ]
41
+ };
42
+ export {
43
+ F as frontmatter
44
+ };
src/backend/gradio_highlightedcode/templates/component/index-3f1cf095.js ADDED
@@ -0,0 +1,1301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { P as L, l as M, j as $, J as E, k as y, m as S, I as j } from "./Index-805076c9.js";
2
+ class v {
3
+ /**
4
+ @internal
5
+ */
6
+ constructor(t, e, s, i, h, r, n, o, a, u = 0, f) {
7
+ this.p = t, this.stack = e, this.state = s, this.reducePos = i, this.pos = h, this.score = r, this.buffer = n, this.bufferBase = o, this.curContext = a, this.lookAhead = u, this.parent = f;
8
+ }
9
+ /**
10
+ @internal
11
+ */
12
+ toString() {
13
+ return `[${this.stack.filter((t, e) => e % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`;
14
+ }
15
+ // Start an empty stack
16
+ /**
17
+ @internal
18
+ */
19
+ static start(t, e, s = 0) {
20
+ let i = t.parser.context;
21
+ return new v(t, [], e, s, s, 0, [], 0, i ? new N(i, i.start) : null, 0, null);
22
+ }
23
+ /**
24
+ The stack's current [context](#lr.ContextTracker) value, if
25
+ any. Its type will depend on the context tracker's type
26
+ parameter, or it will be `null` if there is no context
27
+ tracker.
28
+ */
29
+ get context() {
30
+ return this.curContext ? this.curContext.context : null;
31
+ }
32
+ // Push a state onto the stack, tracking its start position as well
33
+ // as the buffer base at that point.
34
+ /**
35
+ @internal
36
+ */
37
+ pushState(t, e) {
38
+ this.stack.push(this.state, e, this.bufferBase + this.buffer.length), this.state = t;
39
+ }
40
+ // Apply a reduce action
41
+ /**
42
+ @internal
43
+ */
44
+ reduce(t) {
45
+ var e;
46
+ let s = t >> 19, i = t & 65535, { parser: h } = this.p, r = h.dynamicPrecedence(i);
47
+ if (r && (this.score += r), s == 0) {
48
+ this.pushState(h.getGoto(this.state, i, !0), this.reducePos), i < h.minRepeatTerm && this.storeNode(i, this.reducePos, this.reducePos, 4, !0), this.reduceContext(i, this.reducePos);
49
+ return;
50
+ }
51
+ let n = this.stack.length - (s - 1) * 3 - (t & 262144 ? 6 : 0), o = n ? this.stack[n - 2] : this.p.ranges[0].from, a = this.reducePos - o;
52
+ a >= 2e3 && !(!((e = this.p.parser.nodeSet.types[i]) === null || e === void 0) && e.isAnonymous) && (o == this.p.lastBigReductionStart ? (this.p.bigReductionCount++, this.p.lastBigReductionSize = a) : this.p.lastBigReductionSize < a && (this.p.bigReductionCount = 1, this.p.lastBigReductionStart = o, this.p.lastBigReductionSize = a));
53
+ let u = n ? this.stack[n - 1] : 0, f = this.bufferBase + this.buffer.length - u;
54
+ if (i < h.minRepeatTerm || t & 131072) {
55
+ let c = h.stateFlag(
56
+ this.state,
57
+ 1
58
+ /* StateFlag.Skipped */
59
+ ) ? this.pos : this.reducePos;
60
+ this.storeNode(i, o, c, f + 4, !0);
61
+ }
62
+ if (t & 262144)
63
+ this.state = this.stack[n];
64
+ else {
65
+ let c = this.stack[n - 3];
66
+ this.state = h.getGoto(c, i, !0);
67
+ }
68
+ for (; this.stack.length > n; )
69
+ this.stack.pop();
70
+ this.reduceContext(i, o);
71
+ }
72
+ // Shift a value into the buffer
73
+ /**
74
+ @internal
75
+ */
76
+ storeNode(t, e, s, i = 4, h = !1) {
77
+ if (t == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) {
78
+ let r = this, n = this.buffer.length;
79
+ if (n == 0 && r.parent && (n = r.bufferBase - r.parent.bufferBase, r = r.parent), n > 0 && r.buffer[n - 4] == 0 && r.buffer[n - 1] > -1) {
80
+ if (e == s)
81
+ return;
82
+ if (r.buffer[n - 2] >= e) {
83
+ r.buffer[n - 2] = s;
84
+ return;
85
+ }
86
+ }
87
+ }
88
+ if (!h || this.pos == s)
89
+ this.buffer.push(t, e, s, i);
90
+ else {
91
+ let r = this.buffer.length;
92
+ if (r > 0 && this.buffer[r - 4] != 0)
93
+ for (; r > 0 && this.buffer[r - 2] > s; )
94
+ this.buffer[r] = this.buffer[r - 4], this.buffer[r + 1] = this.buffer[r - 3], this.buffer[r + 2] = this.buffer[r - 2], this.buffer[r + 3] = this.buffer[r - 1], r -= 4, i > 4 && (i -= 4);
95
+ this.buffer[r] = t, this.buffer[r + 1] = e, this.buffer[r + 2] = s, this.buffer[r + 3] = i;
96
+ }
97
+ }
98
+ // Apply a shift action
99
+ /**
100
+ @internal
101
+ */
102
+ shift(t, e, s, i) {
103
+ if (t & 131072)
104
+ this.pushState(t & 65535, this.pos);
105
+ else if (t & 262144)
106
+ this.pos = i, this.shiftContext(e, s), e <= this.p.parser.maxNode && this.buffer.push(e, s, i, 4);
107
+ else {
108
+ let h = t, { parser: r } = this.p;
109
+ (i > this.pos || e <= r.maxNode) && (this.pos = i, r.stateFlag(
110
+ h,
111
+ 1
112
+ /* StateFlag.Skipped */
113
+ ) || (this.reducePos = i)), this.pushState(h, s), this.shiftContext(e, s), e <= r.maxNode && this.buffer.push(e, s, i, 4);
114
+ }
115
+ }
116
+ // Apply an action
117
+ /**
118
+ @internal
119
+ */
120
+ apply(t, e, s, i) {
121
+ t & 65536 ? this.reduce(t) : this.shift(t, e, s, i);
122
+ }
123
+ // Add a prebuilt (reused) node into the buffer.
124
+ /**
125
+ @internal
126
+ */
127
+ useNode(t, e) {
128
+ let s = this.p.reused.length - 1;
129
+ (s < 0 || this.p.reused[s] != t) && (this.p.reused.push(t), s++);
130
+ let i = this.pos;
131
+ this.reducePos = this.pos = i + t.length, this.pushState(e, i), this.buffer.push(
132
+ s,
133
+ i,
134
+ this.reducePos,
135
+ -1
136
+ /* size == -1 means this is a reused value */
137
+ ), this.curContext && this.updateContext(this.curContext.tracker.reuse(this.curContext.context, t, this, this.p.stream.reset(this.pos - t.length)));
138
+ }
139
+ // Split the stack. Due to the buffer sharing and the fact
140
+ // that `this.stack` tends to stay quite shallow, this isn't very
141
+ // expensive.
142
+ /**
143
+ @internal
144
+ */
145
+ split() {
146
+ let t = this, e = t.buffer.length;
147
+ for (; e > 0 && t.buffer[e - 2] > t.reducePos; )
148
+ e -= 4;
149
+ let s = t.buffer.slice(e), i = t.bufferBase + e;
150
+ for (; t && i == t.bufferBase; )
151
+ t = t.parent;
152
+ return new v(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, s, i, this.curContext, this.lookAhead, t);
153
+ }
154
+ // Try to recover from an error by 'deleting' (ignoring) one token.
155
+ /**
156
+ @internal
157
+ */
158
+ recoverByDelete(t, e) {
159
+ let s = t <= this.p.parser.maxNode;
160
+ s && this.storeNode(t, this.pos, e, 4), this.storeNode(0, this.pos, e, s ? 8 : 4), this.pos = this.reducePos = e, this.score -= 190;
161
+ }
162
+ /**
163
+ Check if the given term would be able to be shifted (optionally
164
+ after some reductions) on this stack. This can be useful for
165
+ external tokenizers that want to make sure they only provide a
166
+ given token when it applies.
167
+ */
168
+ canShift(t) {
169
+ for (let e = new G(this); ; ) {
170
+ let s = this.p.parser.stateSlot(
171
+ e.state,
172
+ 4
173
+ /* ParseState.DefaultReduce */
174
+ ) || this.p.parser.hasAction(e.state, t);
175
+ if (s == 0)
176
+ return !1;
177
+ if (!(s & 65536))
178
+ return !0;
179
+ e.reduce(s);
180
+ }
181
+ }
182
+ // Apply up to Recover.MaxNext recovery actions that conceptually
183
+ // inserts some missing token or rule.
184
+ /**
185
+ @internal
186
+ */
187
+ recoverByInsert(t) {
188
+ if (this.stack.length >= 300)
189
+ return [];
190
+ let e = this.p.parser.nextStates(this.state);
191
+ if (e.length > 8 || this.stack.length >= 120) {
192
+ let i = [];
193
+ for (let h = 0, r; h < e.length; h += 2)
194
+ (r = e[h + 1]) != this.state && this.p.parser.hasAction(r, t) && i.push(e[h], r);
195
+ if (this.stack.length < 120)
196
+ for (let h = 0; i.length < 8 && h < e.length; h += 2) {
197
+ let r = e[h + 1];
198
+ i.some((n, o) => o & 1 && n == r) || i.push(e[h], r);
199
+ }
200
+ e = i;
201
+ }
202
+ let s = [];
203
+ for (let i = 0; i < e.length && s.length < 4; i += 2) {
204
+ let h = e[i + 1];
205
+ if (h == this.state)
206
+ continue;
207
+ let r = this.split();
208
+ r.pushState(h, this.pos), r.storeNode(0, r.pos, r.pos, 4, !0), r.shiftContext(e[i], this.pos), r.reducePos = this.pos, r.score -= 200, s.push(r);
209
+ }
210
+ return s;
211
+ }
212
+ // Force a reduce, if possible. Return false if that can't
213
+ // be done.
214
+ /**
215
+ @internal
216
+ */
217
+ forceReduce() {
218
+ let { parser: t } = this.p, e = t.stateSlot(
219
+ this.state,
220
+ 5
221
+ /* ParseState.ForcedReduce */
222
+ );
223
+ if (!(e & 65536))
224
+ return !1;
225
+ if (!t.validAction(this.state, e)) {
226
+ let s = e >> 19, i = e & 65535, h = this.stack.length - s * 3;
227
+ if (h < 0 || t.getGoto(this.stack[h], i, !1) < 0) {
228
+ let r = this.findForcedReduction();
229
+ if (r == null)
230
+ return !1;
231
+ e = r;
232
+ }
233
+ this.storeNode(0, this.pos, this.pos, 4, !0), this.score -= 100;
234
+ }
235
+ return this.reducePos = this.pos, this.reduce(e), !0;
236
+ }
237
+ /**
238
+ Try to scan through the automaton to find some kind of reduction
239
+ that can be applied. Used when the regular ForcedReduce field
240
+ isn't a valid action. @internal
241
+ */
242
+ findForcedReduction() {
243
+ let { parser: t } = this.p, e = [], s = (i, h) => {
244
+ if (!e.includes(i))
245
+ return e.push(i), t.allActions(i, (r) => {
246
+ if (!(r & 393216))
247
+ if (r & 65536) {
248
+ let n = (r >> 19) - h;
249
+ if (n > 1) {
250
+ let o = r & 65535, a = this.stack.length - n * 3;
251
+ if (a >= 0 && t.getGoto(this.stack[a], o, !1) >= 0)
252
+ return n << 19 | 65536 | o;
253
+ }
254
+ } else {
255
+ let n = s(r, h + 1);
256
+ if (n != null)
257
+ return n;
258
+ }
259
+ });
260
+ };
261
+ return s(this.state, 0);
262
+ }
263
+ /**
264
+ @internal
265
+ */
266
+ forceAll() {
267
+ for (; !this.p.parser.stateFlag(
268
+ this.state,
269
+ 2
270
+ /* StateFlag.Accepting */
271
+ ); )
272
+ if (!this.forceReduce()) {
273
+ this.storeNode(0, this.pos, this.pos, 4, !0);
274
+ break;
275
+ }
276
+ return this;
277
+ }
278
+ /**
279
+ Check whether this state has no further actions (assumed to be a direct descendant of the
280
+ top state, since any other states must be able to continue
281
+ somehow). @internal
282
+ */
283
+ get deadEnd() {
284
+ if (this.stack.length != 3)
285
+ return !1;
286
+ let { parser: t } = this.p;
287
+ return t.data[t.stateSlot(
288
+ this.state,
289
+ 1
290
+ /* ParseState.Actions */
291
+ )] == 65535 && !t.stateSlot(
292
+ this.state,
293
+ 4
294
+ /* ParseState.DefaultReduce */
295
+ );
296
+ }
297
+ /**
298
+ Restart the stack (put it back in its start state). Only safe
299
+ when this.stack.length == 3 (state is directly below the top
300
+ state). @internal
301
+ */
302
+ restart() {
303
+ this.storeNode(0, this.pos, this.pos, 4, !0), this.state = this.stack[0], this.stack.length = 0;
304
+ }
305
+ /**
306
+ @internal
307
+ */
308
+ sameState(t) {
309
+ if (this.state != t.state || this.stack.length != t.stack.length)
310
+ return !1;
311
+ for (let e = 0; e < this.stack.length; e += 3)
312
+ if (this.stack[e] != t.stack[e])
313
+ return !1;
314
+ return !0;
315
+ }
316
+ /**
317
+ Get the parser used by this stack.
318
+ */
319
+ get parser() {
320
+ return this.p.parser;
321
+ }
322
+ /**
323
+ Test whether a given dialect (by numeric ID, as exported from
324
+ the terms file) is enabled.
325
+ */
326
+ dialectEnabled(t) {
327
+ return this.p.parser.dialect.flags[t];
328
+ }
329
+ shiftContext(t, e) {
330
+ this.curContext && this.updateContext(this.curContext.tracker.shift(this.curContext.context, t, this, this.p.stream.reset(e)));
331
+ }
332
+ reduceContext(t, e) {
333
+ this.curContext && this.updateContext(this.curContext.tracker.reduce(this.curContext.context, t, this, this.p.stream.reset(e)));
334
+ }
335
+ /**
336
+ @internal
337
+ */
338
+ emitContext() {
339
+ let t = this.buffer.length - 1;
340
+ (t < 0 || this.buffer[t] != -3) && this.buffer.push(this.curContext.hash, this.pos, this.pos, -3);
341
+ }
342
+ /**
343
+ @internal
344
+ */
345
+ emitLookAhead() {
346
+ let t = this.buffer.length - 1;
347
+ (t < 0 || this.buffer[t] != -4) && this.buffer.push(this.lookAhead, this.pos, this.pos, -4);
348
+ }
349
+ updateContext(t) {
350
+ if (t != this.curContext.context) {
351
+ let e = new N(this.curContext.tracker, t);
352
+ e.hash != this.curContext.hash && this.emitContext(), this.curContext = e;
353
+ }
354
+ }
355
+ /**
356
+ @internal
357
+ */
358
+ setLookAhead(t) {
359
+ t > this.lookAhead && (this.emitLookAhead(), this.lookAhead = t);
360
+ }
361
+ /**
362
+ @internal
363
+ */
364
+ close() {
365
+ this.curContext && this.curContext.tracker.strict && this.emitContext(), this.lookAhead > 0 && this.emitLookAhead();
366
+ }
367
+ }
368
+ class N {
369
+ constructor(t, e) {
370
+ this.tracker = t, this.context = e, this.hash = t.strict ? t.hash(e) : 0;
371
+ }
372
+ }
373
+ class G {
374
+ constructor(t) {
375
+ this.start = t, this.state = t.state, this.stack = t.stack, this.base = this.stack.length;
376
+ }
377
+ reduce(t) {
378
+ let e = t & 65535, s = t >> 19;
379
+ s == 0 ? (this.stack == this.start.stack && (this.stack = this.stack.slice()), this.stack.push(this.state, 0, 0), this.base += 3) : this.base -= (s - 1) * 3;
380
+ let i = this.start.p.parser.getGoto(this.stack[this.base - 3], e, !0);
381
+ this.state = i;
382
+ }
383
+ }
384
+ class A {
385
+ constructor(t, e, s) {
386
+ this.stack = t, this.pos = e, this.index = s, this.buffer = t.buffer, this.index == 0 && this.maybeNext();
387
+ }
388
+ static create(t, e = t.bufferBase + t.buffer.length) {
389
+ return new A(t, e, e - t.bufferBase);
390
+ }
391
+ maybeNext() {
392
+ let t = this.stack.parent;
393
+ t != null && (this.index = this.stack.bufferBase - t.bufferBase, this.stack = t, this.buffer = t.buffer);
394
+ }
395
+ get id() {
396
+ return this.buffer[this.index - 4];
397
+ }
398
+ get start() {
399
+ return this.buffer[this.index - 3];
400
+ }
401
+ get end() {
402
+ return this.buffer[this.index - 2];
403
+ }
404
+ get size() {
405
+ return this.buffer[this.index - 1];
406
+ }
407
+ next() {
408
+ this.index -= 4, this.pos -= 4, this.index == 0 && this.maybeNext();
409
+ }
410
+ fork() {
411
+ return new A(this.stack, this.pos, this.index);
412
+ }
413
+ }
414
+ function x(l, t = Uint16Array) {
415
+ if (typeof l != "string")
416
+ return l;
417
+ let e = null;
418
+ for (let s = 0, i = 0; s < l.length; ) {
419
+ let h = 0;
420
+ for (; ; ) {
421
+ let r = l.charCodeAt(s++), n = !1;
422
+ if (r == 126) {
423
+ h = 65535;
424
+ break;
425
+ }
426
+ r >= 92 && r--, r >= 34 && r--;
427
+ let o = r - 32;
428
+ if (o >= 46 && (o -= 46, n = !0), h += o, n)
429
+ break;
430
+ h *= 46;
431
+ }
432
+ e ? e[i++] = h : e = new t(h);
433
+ }
434
+ return e;
435
+ }
436
+ class P {
437
+ constructor() {
438
+ this.start = -1, this.value = -1, this.end = -1, this.extended = -1, this.lookAhead = 0, this.mask = 0, this.context = 0;
439
+ }
440
+ }
441
+ const R = new P();
442
+ class U {
443
+ /**
444
+ @internal
445
+ */
446
+ constructor(t, e) {
447
+ this.input = t, this.ranges = e, this.chunk = "", this.chunkOff = 0, this.chunk2 = "", this.chunk2Pos = 0, this.next = -1, this.token = R, this.rangeIndex = 0, this.pos = this.chunkPos = e[0].from, this.range = e[0], this.end = e[e.length - 1].to, this.readNext();
448
+ }
449
+ /**
450
+ @internal
451
+ */
452
+ resolveOffset(t, e) {
453
+ let s = this.range, i = this.rangeIndex, h = this.pos + t;
454
+ for (; h < s.from; ) {
455
+ if (!i)
456
+ return null;
457
+ let r = this.ranges[--i];
458
+ h -= s.from - r.to, s = r;
459
+ }
460
+ for (; e < 0 ? h > s.to : h >= s.to; ) {
461
+ if (i == this.ranges.length - 1)
462
+ return null;
463
+ let r = this.ranges[++i];
464
+ h += r.from - s.to, s = r;
465
+ }
466
+ return h;
467
+ }
468
+ /**
469
+ @internal
470
+ */
471
+ clipPos(t) {
472
+ if (t >= this.range.from && t < this.range.to)
473
+ return t;
474
+ for (let e of this.ranges)
475
+ if (e.to > t)
476
+ return Math.max(t, e.from);
477
+ return this.end;
478
+ }
479
+ /**
480
+ Look at a code unit near the stream position. `.peek(0)` equals
481
+ `.next`, `.peek(-1)` gives you the previous character, and so
482
+ on.
483
+
484
+ Note that looking around during tokenizing creates dependencies
485
+ on potentially far-away content, which may reduce the
486
+ effectiveness incremental parsing—when looking forward—or even
487
+ cause invalid reparses when looking backward more than 25 code
488
+ units, since the library does not track lookbehind.
489
+ */
490
+ peek(t) {
491
+ let e = this.chunkOff + t, s, i;
492
+ if (e >= 0 && e < this.chunk.length)
493
+ s = this.pos + t, i = this.chunk.charCodeAt(e);
494
+ else {
495
+ let h = this.resolveOffset(t, 1);
496
+ if (h == null)
497
+ return -1;
498
+ if (s = h, s >= this.chunk2Pos && s < this.chunk2Pos + this.chunk2.length)
499
+ i = this.chunk2.charCodeAt(s - this.chunk2Pos);
500
+ else {
501
+ let r = this.rangeIndex, n = this.range;
502
+ for (; n.to <= s; )
503
+ n = this.ranges[++r];
504
+ this.chunk2 = this.input.chunk(this.chunk2Pos = s), s + this.chunk2.length > n.to && (this.chunk2 = this.chunk2.slice(0, n.to - s)), i = this.chunk2.charCodeAt(0);
505
+ }
506
+ }
507
+ return s >= this.token.lookAhead && (this.token.lookAhead = s + 1), i;
508
+ }
509
+ /**
510
+ Accept a token. By default, the end of the token is set to the
511
+ current stream position, but you can pass an offset (relative to
512
+ the stream position) to change that.
513
+ */
514
+ acceptToken(t, e = 0) {
515
+ let s = e ? this.resolveOffset(e, -1) : this.pos;
516
+ if (s == null || s < this.token.start)
517
+ throw new RangeError("Token end out of bounds");
518
+ this.token.value = t, this.token.end = s;
519
+ }
520
+ /**
521
+ Accept a token ending at a specific given position.
522
+ */
523
+ acceptTokenTo(t, e) {
524
+ this.token.value = t, this.token.end = e;
525
+ }
526
+ getChunk() {
527
+ if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) {
528
+ let { chunk: t, chunkPos: e } = this;
529
+ this.chunk = this.chunk2, this.chunkPos = this.chunk2Pos, this.chunk2 = t, this.chunk2Pos = e, this.chunkOff = this.pos - this.chunkPos;
530
+ } else {
531
+ this.chunk2 = this.chunk, this.chunk2Pos = this.chunkPos;
532
+ let t = this.input.chunk(this.pos), e = this.pos + t.length;
533
+ this.chunk = e > this.range.to ? t.slice(0, this.range.to - this.pos) : t, this.chunkPos = this.pos, this.chunkOff = 0;
534
+ }
535
+ }
536
+ readNext() {
537
+ return this.chunkOff >= this.chunk.length && (this.getChunk(), this.chunkOff == this.chunk.length) ? this.next = -1 : this.next = this.chunk.charCodeAt(this.chunkOff);
538
+ }
539
+ /**
540
+ Move the stream forward N (defaults to 1) code units. Returns
541
+ the new value of [`next`](#lr.InputStream.next).
542
+ */
543
+ advance(t = 1) {
544
+ for (this.chunkOff += t; this.pos + t >= this.range.to; ) {
545
+ if (this.rangeIndex == this.ranges.length - 1)
546
+ return this.setDone();
547
+ t -= this.range.to - this.pos, this.range = this.ranges[++this.rangeIndex], this.pos = this.range.from;
548
+ }
549
+ return this.pos += t, this.pos >= this.token.lookAhead && (this.token.lookAhead = this.pos + 1), this.readNext();
550
+ }
551
+ setDone() {
552
+ return this.pos = this.chunkPos = this.end, this.range = this.ranges[this.rangeIndex = this.ranges.length - 1], this.chunk = "", this.next = -1;
553
+ }
554
+ /**
555
+ @internal
556
+ */
557
+ reset(t, e) {
558
+ if (e ? (this.token = e, e.start = t, e.lookAhead = t + 1, e.value = e.extended = -1) : this.token = R, this.pos != t) {
559
+ if (this.pos = t, t == this.end)
560
+ return this.setDone(), this;
561
+ for (; t < this.range.from; )
562
+ this.range = this.ranges[--this.rangeIndex];
563
+ for (; t >= this.range.to; )
564
+ this.range = this.ranges[++this.rangeIndex];
565
+ t >= this.chunkPos && t < this.chunkPos + this.chunk.length ? this.chunkOff = t - this.chunkPos : (this.chunk = "", this.chunkOff = 0), this.readNext();
566
+ }
567
+ return this;
568
+ }
569
+ /**
570
+ @internal
571
+ */
572
+ read(t, e) {
573
+ if (t >= this.chunkPos && e <= this.chunkPos + this.chunk.length)
574
+ return this.chunk.slice(t - this.chunkPos, e - this.chunkPos);
575
+ if (t >= this.chunk2Pos && e <= this.chunk2Pos + this.chunk2.length)
576
+ return this.chunk2.slice(t - this.chunk2Pos, e - this.chunk2Pos);
577
+ if (t >= this.range.from && e <= this.range.to)
578
+ return this.input.read(t, e);
579
+ let s = "";
580
+ for (let i of this.ranges) {
581
+ if (i.from >= e)
582
+ break;
583
+ i.to > t && (s += this.input.read(Math.max(i.from, t), Math.min(i.to, e)));
584
+ }
585
+ return s;
586
+ }
587
+ }
588
+ class m {
589
+ constructor(t, e) {
590
+ this.data = t, this.id = e;
591
+ }
592
+ token(t, e) {
593
+ let { parser: s } = e.p;
594
+ F(this.data, t, e, this.id, s.data, s.tokenPrecTable);
595
+ }
596
+ }
597
+ m.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
598
+ class H {
599
+ constructor(t, e, s) {
600
+ this.precTable = e, this.elseToken = s, this.data = typeof t == "string" ? x(t) : t;
601
+ }
602
+ token(t, e) {
603
+ let s = t.pos, i = 0;
604
+ for (; ; ) {
605
+ let h = t.next < 0, r = t.resolveOffset(1, 1);
606
+ if (F(this.data, t, e, 0, this.data, this.precTable), t.token.value > -1)
607
+ break;
608
+ if (this.elseToken == null)
609
+ return;
610
+ if (h || i++, r == null)
611
+ break;
612
+ t.reset(r, t.token);
613
+ }
614
+ i && (t.reset(s, t.token), t.acceptToken(this.elseToken, i));
615
+ }
616
+ }
617
+ H.prototype.contextual = m.prototype.fallback = m.prototype.extend = !1;
618
+ class Y {
619
+ /**
620
+ Create a tokenizer. The first argument is the function that,
621
+ given an input stream, scans for the types of tokens it
622
+ recognizes at the stream's position, and calls
623
+ [`acceptToken`](#lr.InputStream.acceptToken) when it finds
624
+ one.
625
+ */
626
+ constructor(t, e = {}) {
627
+ this.token = t, this.contextual = !!e.contextual, this.fallback = !!e.fallback, this.extend = !!e.extend;
628
+ }
629
+ }
630
+ function F(l, t, e, s, i, h) {
631
+ let r = 0, n = 1 << s, { dialect: o } = e.p.parser;
632
+ t:
633
+ for (; n & l[r]; ) {
634
+ let a = l[r + 1];
635
+ for (let p = r + 3; p < a; p += 2)
636
+ if ((l[p + 1] & n) > 0) {
637
+ let d = l[p];
638
+ if (o.allows(d) && (t.token.value == -1 || t.token.value == d || W(d, t.token.value, i, h))) {
639
+ t.acceptToken(d);
640
+ break;
641
+ }
642
+ }
643
+ let u = t.next, f = 0, c = l[r + 2];
644
+ if (t.next < 0 && c > f && l[a + c * 3 - 3] == 65535) {
645
+ r = l[a + c * 3 - 1];
646
+ continue t;
647
+ }
648
+ for (; f < c; ) {
649
+ let p = f + c >> 1, d = a + p + (p << 1), b = l[d], O = l[d + 1] || 65536;
650
+ if (u < b)
651
+ c = p;
652
+ else if (u >= O)
653
+ f = p + 1;
654
+ else {
655
+ r = l[d + 2], t.advance();
656
+ continue t;
657
+ }
658
+ }
659
+ break;
660
+ }
661
+ }
662
+ function z(l, t, e) {
663
+ for (let s = t, i; (i = l[s]) != 65535; s++)
664
+ if (i == e)
665
+ return s - t;
666
+ return -1;
667
+ }
668
+ function W(l, t, e, s) {
669
+ let i = z(e, s, t);
670
+ return i < 0 || z(e, s, l) < i;
671
+ }
672
+ const g = typeof process < "u" && process.env && /\bparse\b/.test(process.env.LOG);
673
+ let T = null;
674
+ function I(l, t, e) {
675
+ let s = l.cursor(j.IncludeAnonymous);
676
+ for (s.moveTo(t); ; )
677
+ if (!(e < 0 ? s.childBefore(t) : s.childAfter(t)))
678
+ for (; ; ) {
679
+ if ((e < 0 ? s.to < t : s.from > t) && !s.type.isError)
680
+ return e < 0 ? Math.max(0, Math.min(
681
+ s.to - 1,
682
+ t - 25
683
+ /* Safety.Margin */
684
+ )) : Math.min(l.length, Math.max(
685
+ s.from + 1,
686
+ t + 25
687
+ /* Safety.Margin */
688
+ ));
689
+ if (e < 0 ? s.prevSibling() : s.nextSibling())
690
+ break;
691
+ if (!s.parent())
692
+ return e < 0 ? 0 : l.length;
693
+ }
694
+ }
695
+ class J {
696
+ constructor(t, e) {
697
+ this.fragments = t, this.nodeSet = e, this.i = 0, this.fragment = null, this.safeFrom = -1, this.safeTo = -1, this.trees = [], this.start = [], this.index = [], this.nextFragment();
698
+ }
699
+ nextFragment() {
700
+ let t = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++];
701
+ if (t) {
702
+ for (this.safeFrom = t.openStart ? I(t.tree, t.from + t.offset, 1) - t.offset : t.from, this.safeTo = t.openEnd ? I(t.tree, t.to + t.offset, -1) - t.offset : t.to; this.trees.length; )
703
+ this.trees.pop(), this.start.pop(), this.index.pop();
704
+ this.trees.push(t.tree), this.start.push(-t.offset), this.index.push(0), this.nextStart = this.safeFrom;
705
+ } else
706
+ this.nextStart = 1e9;
707
+ }
708
+ // `pos` must be >= any previously given `pos` for this cursor
709
+ nodeAt(t) {
710
+ if (t < this.nextStart)
711
+ return null;
712
+ for (; this.fragment && this.safeTo <= t; )
713
+ this.nextFragment();
714
+ if (!this.fragment)
715
+ return null;
716
+ for (; ; ) {
717
+ let e = this.trees.length - 1;
718
+ if (e < 0)
719
+ return this.nextFragment(), null;
720
+ let s = this.trees[e], i = this.index[e];
721
+ if (i == s.children.length) {
722
+ this.trees.pop(), this.start.pop(), this.index.pop();
723
+ continue;
724
+ }
725
+ let h = s.children[i], r = this.start[e] + s.positions[i];
726
+ if (r > t)
727
+ return this.nextStart = r, null;
728
+ if (h instanceof S) {
729
+ if (r == t) {
730
+ if (r < this.safeFrom)
731
+ return null;
732
+ let n = r + h.length;
733
+ if (n <= this.safeTo) {
734
+ let o = h.prop(y.lookAhead);
735
+ if (!o || n + o < this.fragment.to)
736
+ return h;
737
+ }
738
+ }
739
+ this.index[e]++, r + h.length >= Math.max(this.safeFrom, t) && (this.trees.push(h), this.start.push(r), this.index.push(0));
740
+ } else
741
+ this.index[e]++, this.nextStart = r + h.length;
742
+ }
743
+ }
744
+ }
745
+ class q {
746
+ constructor(t, e) {
747
+ this.stream = e, this.tokens = [], this.mainToken = null, this.actions = [], this.tokens = t.tokenizers.map((s) => new P());
748
+ }
749
+ getActions(t) {
750
+ let e = 0, s = null, { parser: i } = t.p, { tokenizers: h } = i, r = i.stateSlot(
751
+ t.state,
752
+ 3
753
+ /* ParseState.TokenizerMask */
754
+ ), n = t.curContext ? t.curContext.hash : 0, o = 0;
755
+ for (let a = 0; a < h.length; a++) {
756
+ if (!(1 << a & r))
757
+ continue;
758
+ let u = h[a], f = this.tokens[a];
759
+ if (!(s && !u.fallback) && ((u.contextual || f.start != t.pos || f.mask != r || f.context != n) && (this.updateCachedToken(f, u, t), f.mask = r, f.context = n), f.lookAhead > f.end + 25 && (o = Math.max(f.lookAhead, o)), f.value != 0)) {
760
+ let c = e;
761
+ if (f.extended > -1 && (e = this.addActions(t, f.extended, f.end, e)), e = this.addActions(t, f.value, f.end, e), !u.extend && (s = f, e > c))
762
+ break;
763
+ }
764
+ }
765
+ for (; this.actions.length > e; )
766
+ this.actions.pop();
767
+ return o && t.setLookAhead(o), !s && t.pos == this.stream.end && (s = new P(), s.value = t.p.parser.eofTerm, s.start = s.end = t.pos, e = this.addActions(t, s.value, s.end, e)), this.mainToken = s, this.actions;
768
+ }
769
+ getMainToken(t) {
770
+ if (this.mainToken)
771
+ return this.mainToken;
772
+ let e = new P(), { pos: s, p: i } = t;
773
+ return e.start = s, e.end = Math.min(s + 1, i.stream.end), e.value = s == i.stream.end ? i.parser.eofTerm : 0, e;
774
+ }
775
+ updateCachedToken(t, e, s) {
776
+ let i = this.stream.clipPos(s.pos);
777
+ if (e.token(this.stream.reset(i, t), s), t.value > -1) {
778
+ let { parser: h } = s.p;
779
+ for (let r = 0; r < h.specialized.length; r++)
780
+ if (h.specialized[r] == t.value) {
781
+ let n = h.specializers[r](this.stream.read(t.start, t.end), s);
782
+ if (n >= 0 && s.p.parser.dialect.allows(n >> 1)) {
783
+ n & 1 ? t.extended = n >> 1 : t.value = n >> 1;
784
+ break;
785
+ }
786
+ }
787
+ } else
788
+ t.value = 0, t.end = this.stream.clipPos(i + 1);
789
+ }
790
+ putAction(t, e, s, i) {
791
+ for (let h = 0; h < i; h += 3)
792
+ if (this.actions[h] == t)
793
+ return i;
794
+ return this.actions[i++] = t, this.actions[i++] = e, this.actions[i++] = s, i;
795
+ }
796
+ addActions(t, e, s, i) {
797
+ let { state: h } = t, { parser: r } = t.p, { data: n } = r;
798
+ for (let o = 0; o < 2; o++)
799
+ for (let a = r.stateSlot(
800
+ h,
801
+ o ? 2 : 1
802
+ /* ParseState.Actions */
803
+ ); ; a += 3) {
804
+ if (n[a] == 65535)
805
+ if (n[a + 1] == 1)
806
+ a = k(n, a + 2);
807
+ else {
808
+ i == 0 && n[a + 1] == 2 && (i = this.putAction(k(n, a + 2), e, s, i));
809
+ break;
810
+ }
811
+ n[a] == e && (i = this.putAction(k(n, a + 1), e, s, i));
812
+ }
813
+ return i;
814
+ }
815
+ }
816
+ class K {
817
+ constructor(t, e, s, i) {
818
+ this.parser = t, this.input = e, this.ranges = i, this.recovering = 0, this.nextStackID = 9812, this.minStackPos = 0, this.reused = [], this.stoppedAt = null, this.lastBigReductionStart = -1, this.lastBigReductionSize = 0, this.bigReductionCount = 0, this.stream = new U(e, i), this.tokens = new q(t, this.stream), this.topTerm = t.top[1];
819
+ let { from: h } = i[0];
820
+ this.stacks = [v.start(this, t.top[0], h)], this.fragments = s.length && this.stream.end - h > t.bufferLength * 4 ? new J(s, t.nodeSet) : null;
821
+ }
822
+ get parsedPos() {
823
+ return this.minStackPos;
824
+ }
825
+ // Move the parser forward. This will process all parse stacks at
826
+ // `this.pos` and try to advance them to a further position. If no
827
+ // stack for such a position is found, it'll start error-recovery.
828
+ //
829
+ // When the parse is finished, this will return a syntax tree. When
830
+ // not, it returns `null`.
831
+ advance() {
832
+ let t = this.stacks, e = this.minStackPos, s = this.stacks = [], i, h;
833
+ if (this.bigReductionCount > 300 && t.length == 1) {
834
+ let [r] = t;
835
+ for (; r.forceReduce() && r.stack.length && r.stack[r.stack.length - 2] >= this.lastBigReductionStart; )
836
+ ;
837
+ this.bigReductionCount = this.lastBigReductionSize = 0;
838
+ }
839
+ for (let r = 0; r < t.length; r++) {
840
+ let n = t[r];
841
+ for (; ; ) {
842
+ if (this.tokens.mainToken = null, n.pos > e)
843
+ s.push(n);
844
+ else {
845
+ if (this.advanceStack(n, s, t))
846
+ continue;
847
+ {
848
+ i || (i = [], h = []), i.push(n);
849
+ let o = this.tokens.getMainToken(n);
850
+ h.push(o.value, o.end);
851
+ }
852
+ }
853
+ break;
854
+ }
855
+ }
856
+ if (!s.length) {
857
+ let r = i && V(i);
858
+ if (r)
859
+ return g && console.log("Finish with " + this.stackID(r)), this.stackToTree(r);
860
+ if (this.parser.strict)
861
+ throw g && i && console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none")), new SyntaxError("No parse at " + e);
862
+ this.recovering || (this.recovering = 5);
863
+ }
864
+ if (this.recovering && i) {
865
+ let r = this.stoppedAt != null && i[0].pos > this.stoppedAt ? i[0] : this.runRecovery(i, h, s);
866
+ if (r)
867
+ return g && console.log("Force-finish " + this.stackID(r)), this.stackToTree(r.forceAll());
868
+ }
869
+ if (this.recovering) {
870
+ let r = this.recovering == 1 ? 1 : this.recovering * 3;
871
+ if (s.length > r)
872
+ for (s.sort((n, o) => o.score - n.score); s.length > r; )
873
+ s.pop();
874
+ s.some((n) => n.reducePos > e) && this.recovering--;
875
+ } else if (s.length > 1) {
876
+ t:
877
+ for (let r = 0; r < s.length - 1; r++) {
878
+ let n = s[r];
879
+ for (let o = r + 1; o < s.length; o++) {
880
+ let a = s[o];
881
+ if (n.sameState(a) || n.buffer.length > 500 && a.buffer.length > 500)
882
+ if ((n.score - a.score || n.buffer.length - a.buffer.length) > 0)
883
+ s.splice(o--, 1);
884
+ else {
885
+ s.splice(r--, 1);
886
+ continue t;
887
+ }
888
+ }
889
+ }
890
+ s.length > 12 && s.splice(
891
+ 12,
892
+ s.length - 12
893
+ /* Rec.MaxStackCount */
894
+ );
895
+ }
896
+ this.minStackPos = s[0].pos;
897
+ for (let r = 1; r < s.length; r++)
898
+ s[r].pos < this.minStackPos && (this.minStackPos = s[r].pos);
899
+ return null;
900
+ }
901
+ stopAt(t) {
902
+ if (this.stoppedAt != null && this.stoppedAt < t)
903
+ throw new RangeError("Can't move stoppedAt forward");
904
+ this.stoppedAt = t;
905
+ }
906
+ // Returns an updated version of the given stack, or null if the
907
+ // stack can't advance normally. When `split` and `stacks` are
908
+ // given, stacks split off by ambiguous operations will be pushed to
909
+ // `split`, or added to `stacks` if they move `pos` forward.
910
+ advanceStack(t, e, s) {
911
+ let i = t.pos, { parser: h } = this, r = g ? this.stackID(t) + " -> " : "";
912
+ if (this.stoppedAt != null && i > this.stoppedAt)
913
+ return t.forceReduce() ? t : null;
914
+ if (this.fragments) {
915
+ let a = t.curContext && t.curContext.tracker.strict, u = a ? t.curContext.hash : 0;
916
+ for (let f = this.fragments.nodeAt(i); f; ) {
917
+ let c = this.parser.nodeSet.types[f.type.id] == f.type ? h.getGoto(t.state, f.type.id) : -1;
918
+ if (c > -1 && f.length && (!a || (f.prop(y.contextHash) || 0) == u))
919
+ return t.useNode(f, c), g && console.log(r + this.stackID(t) + ` (via reuse of ${h.getName(f.type.id)})`), !0;
920
+ if (!(f instanceof S) || f.children.length == 0 || f.positions[0] > 0)
921
+ break;
922
+ let p = f.children[0];
923
+ if (p instanceof S && f.positions[0] == 0)
924
+ f = p;
925
+ else
926
+ break;
927
+ }
928
+ }
929
+ let n = h.stateSlot(
930
+ t.state,
931
+ 4
932
+ /* ParseState.DefaultReduce */
933
+ );
934
+ if (n > 0)
935
+ return t.reduce(n), g && console.log(r + this.stackID(t) + ` (via always-reduce ${h.getName(
936
+ n & 65535
937
+ /* Action.ValueMask */
938
+ )})`), !0;
939
+ if (t.stack.length >= 8400)
940
+ for (; t.stack.length > 6e3 && t.forceReduce(); )
941
+ ;
942
+ let o = this.tokens.getActions(t);
943
+ for (let a = 0; a < o.length; ) {
944
+ let u = o[a++], f = o[a++], c = o[a++], p = a == o.length || !s, d = p ? t : t.split(), b = this.tokens.mainToken;
945
+ if (d.apply(u, f, b ? b.start : d.pos, c), g && console.log(r + this.stackID(d) + ` (via ${u & 65536 ? `reduce of ${h.getName(
946
+ u & 65535
947
+ /* Action.ValueMask */
948
+ )}` : "shift"} for ${h.getName(f)} @ ${i}${d == t ? "" : ", split"})`), p)
949
+ return !0;
950
+ d.pos > i ? e.push(d) : s.push(d);
951
+ }
952
+ return !1;
953
+ }
954
+ // Advance a given stack forward as far as it will go. Returns the
955
+ // (possibly updated) stack if it got stuck, or null if it moved
956
+ // forward and was given to `pushStackDedup`.
957
+ advanceFully(t, e) {
958
+ let s = t.pos;
959
+ for (; ; ) {
960
+ if (!this.advanceStack(t, null, null))
961
+ return !1;
962
+ if (t.pos > s)
963
+ return D(t, e), !0;
964
+ }
965
+ }
966
+ runRecovery(t, e, s) {
967
+ let i = null, h = !1;
968
+ for (let r = 0; r < t.length; r++) {
969
+ let n = t[r], o = e[r << 1], a = e[(r << 1) + 1], u = g ? this.stackID(n) + " -> " : "";
970
+ if (n.deadEnd && (h || (h = !0, n.restart(), g && console.log(u + this.stackID(n) + " (restarted)"), this.advanceFully(n, s))))
971
+ continue;
972
+ let f = n.split(), c = u;
973
+ for (let p = 0; f.forceReduce() && p < 10 && (g && console.log(c + this.stackID(f) + " (via force-reduce)"), !this.advanceFully(f, s)); p++)
974
+ g && (c = this.stackID(f) + " -> ");
975
+ for (let p of n.recoverByInsert(o))
976
+ g && console.log(u + this.stackID(p) + " (via recover-insert)"), this.advanceFully(p, s);
977
+ this.stream.end > n.pos ? (a == n.pos && (a++, o = 0), n.recoverByDelete(o, a), g && console.log(u + this.stackID(n) + ` (via recover-delete ${this.parser.getName(o)})`), D(n, s)) : (!i || i.score < n.score) && (i = n);
978
+ }
979
+ return i;
980
+ }
981
+ // Convert the stack's buffer to a syntax tree.
982
+ stackToTree(t) {
983
+ return t.close(), S.build({
984
+ buffer: A.create(t),
985
+ nodeSet: this.parser.nodeSet,
986
+ topID: this.topTerm,
987
+ maxBufferLength: this.parser.bufferLength,
988
+ reused: this.reused,
989
+ start: this.ranges[0].from,
990
+ length: t.pos - this.ranges[0].from,
991
+ minRepeatType: this.parser.minRepeatTerm
992
+ });
993
+ }
994
+ stackID(t) {
995
+ let e = (T || (T = /* @__PURE__ */ new WeakMap())).get(t);
996
+ return e || T.set(t, e = String.fromCodePoint(this.nextStackID++)), e + t;
997
+ }
998
+ }
999
+ function D(l, t) {
1000
+ for (let e = 0; e < t.length; e++) {
1001
+ let s = t[e];
1002
+ if (s.pos == l.pos && s.sameState(l)) {
1003
+ t[e].score < l.score && (t[e] = l);
1004
+ return;
1005
+ }
1006
+ }
1007
+ t.push(l);
1008
+ }
1009
+ class Q {
1010
+ constructor(t, e, s) {
1011
+ this.source = t, this.flags = e, this.disabled = s;
1012
+ }
1013
+ allows(t) {
1014
+ return !this.disabled || this.disabled[t] == 0;
1015
+ }
1016
+ }
1017
+ const C = (l) => l;
1018
+ class Z {
1019
+ /**
1020
+ Define a context tracker.
1021
+ */
1022
+ constructor(t) {
1023
+ this.start = t.start, this.shift = t.shift || C, this.reduce = t.reduce || C, this.reuse = t.reuse || C, this.hash = t.hash || (() => 0), this.strict = t.strict !== !1;
1024
+ }
1025
+ }
1026
+ class w extends L {
1027
+ /**
1028
+ @internal
1029
+ */
1030
+ constructor(t) {
1031
+ if (super(), this.wrappers = [], t.version != 14)
1032
+ throw new RangeError(`Parser version (${t.version}) doesn't match runtime version (14)`);
1033
+ let e = t.nodeNames.split(" ");
1034
+ this.minRepeatTerm = e.length;
1035
+ for (let n = 0; n < t.repeatNodeCount; n++)
1036
+ e.push("");
1037
+ let s = Object.keys(t.topRules).map((n) => t.topRules[n][1]), i = [];
1038
+ for (let n = 0; n < e.length; n++)
1039
+ i.push([]);
1040
+ function h(n, o, a) {
1041
+ i[n].push([o, o.deserialize(String(a))]);
1042
+ }
1043
+ if (t.nodeProps)
1044
+ for (let n of t.nodeProps) {
1045
+ let o = n[0];
1046
+ typeof o == "string" && (o = y[o]);
1047
+ for (let a = 1; a < n.length; ) {
1048
+ let u = n[a++];
1049
+ if (u >= 0)
1050
+ h(u, o, n[a++]);
1051
+ else {
1052
+ let f = n[a + -u];
1053
+ for (let c = -u; c > 0; c--)
1054
+ h(n[a++], o, f);
1055
+ a++;
1056
+ }
1057
+ }
1058
+ }
1059
+ this.nodeSet = new M(e.map((n, o) => $.define({
1060
+ name: o >= this.minRepeatTerm ? void 0 : n,
1061
+ id: o,
1062
+ props: i[o],
1063
+ top: s.indexOf(o) > -1,
1064
+ error: o == 0,
1065
+ skipped: t.skippedNodes && t.skippedNodes.indexOf(o) > -1
1066
+ }))), t.propSources && (this.nodeSet = this.nodeSet.extend(...t.propSources)), this.strict = !1, this.bufferLength = E;
1067
+ let r = x(t.tokenData);
1068
+ this.context = t.context, this.specializerSpecs = t.specialized || [], this.specialized = new Uint16Array(this.specializerSpecs.length);
1069
+ for (let n = 0; n < this.specializerSpecs.length; n++)
1070
+ this.specialized[n] = this.specializerSpecs[n].term;
1071
+ this.specializers = this.specializerSpecs.map(B), this.states = x(t.states, Uint32Array), this.data = x(t.stateData), this.goto = x(t.goto), this.maxTerm = t.maxTerm, this.tokenizers = t.tokenizers.map((n) => typeof n == "number" ? new m(r, n) : n), this.topRules = t.topRules, this.dialects = t.dialects || {}, this.dynamicPrecedences = t.dynamicPrecedences || null, this.tokenPrecTable = t.tokenPrec, this.termNames = t.termNames || null, this.maxNode = this.nodeSet.types.length - 1, this.dialect = this.parseDialect(), this.top = this.topRules[Object.keys(this.topRules)[0]];
1072
+ }
1073
+ createParse(t, e, s) {
1074
+ let i = new K(this, t, e, s);
1075
+ for (let h of this.wrappers)
1076
+ i = h(i, t, e, s);
1077
+ return i;
1078
+ }
1079
+ /**
1080
+ Get a goto table entry @internal
1081
+ */
1082
+ getGoto(t, e, s = !1) {
1083
+ let i = this.goto;
1084
+ if (e >= i[0])
1085
+ return -1;
1086
+ for (let h = i[e + 1]; ; ) {
1087
+ let r = i[h++], n = r & 1, o = i[h++];
1088
+ if (n && s)
1089
+ return o;
1090
+ for (let a = h + (r >> 1); h < a; h++)
1091
+ if (i[h] == t)
1092
+ return o;
1093
+ if (n)
1094
+ return -1;
1095
+ }
1096
+ }
1097
+ /**
1098
+ Check if this state has an action for a given terminal @internal
1099
+ */
1100
+ hasAction(t, e) {
1101
+ let s = this.data;
1102
+ for (let i = 0; i < 2; i++)
1103
+ for (let h = this.stateSlot(
1104
+ t,
1105
+ i ? 2 : 1
1106
+ /* ParseState.Actions */
1107
+ ), r; ; h += 3) {
1108
+ if ((r = s[h]) == 65535)
1109
+ if (s[h + 1] == 1)
1110
+ r = s[h = k(s, h + 2)];
1111
+ else {
1112
+ if (s[h + 1] == 2)
1113
+ return k(s, h + 2);
1114
+ break;
1115
+ }
1116
+ if (r == e || r == 0)
1117
+ return k(s, h + 1);
1118
+ }
1119
+ return 0;
1120
+ }
1121
+ /**
1122
+ @internal
1123
+ */
1124
+ stateSlot(t, e) {
1125
+ return this.states[t * 6 + e];
1126
+ }
1127
+ /**
1128
+ @internal
1129
+ */
1130
+ stateFlag(t, e) {
1131
+ return (this.stateSlot(
1132
+ t,
1133
+ 0
1134
+ /* ParseState.Flags */
1135
+ ) & e) > 0;
1136
+ }
1137
+ /**
1138
+ @internal
1139
+ */
1140
+ validAction(t, e) {
1141
+ return !!this.allActions(t, (s) => s == e ? !0 : null);
1142
+ }
1143
+ /**
1144
+ @internal
1145
+ */
1146
+ allActions(t, e) {
1147
+ let s = this.stateSlot(
1148
+ t,
1149
+ 4
1150
+ /* ParseState.DefaultReduce */
1151
+ ), i = s ? e(s) : void 0;
1152
+ for (let h = this.stateSlot(
1153
+ t,
1154
+ 1
1155
+ /* ParseState.Actions */
1156
+ ); i == null; h += 3) {
1157
+ if (this.data[h] == 65535)
1158
+ if (this.data[h + 1] == 1)
1159
+ h = k(this.data, h + 2);
1160
+ else
1161
+ break;
1162
+ i = e(k(this.data, h + 1));
1163
+ }
1164
+ return i;
1165
+ }
1166
+ /**
1167
+ Get the states that can follow this one through shift actions or
1168
+ goto jumps. @internal
1169
+ */
1170
+ nextStates(t) {
1171
+ let e = [];
1172
+ for (let s = this.stateSlot(
1173
+ t,
1174
+ 1
1175
+ /* ParseState.Actions */
1176
+ ); ; s += 3) {
1177
+ if (this.data[s] == 65535)
1178
+ if (this.data[s + 1] == 1)
1179
+ s = k(this.data, s + 2);
1180
+ else
1181
+ break;
1182
+ if (!(this.data[s + 2] & 1)) {
1183
+ let i = this.data[s + 1];
1184
+ e.some((h, r) => r & 1 && h == i) || e.push(this.data[s], i);
1185
+ }
1186
+ }
1187
+ return e;
1188
+ }
1189
+ /**
1190
+ Configure the parser. Returns a new parser instance that has the
1191
+ given settings modified. Settings not provided in `config` are
1192
+ kept from the original parser.
1193
+ */
1194
+ configure(t) {
1195
+ let e = Object.assign(Object.create(w.prototype), this);
1196
+ if (t.props && (e.nodeSet = this.nodeSet.extend(...t.props)), t.top) {
1197
+ let s = this.topRules[t.top];
1198
+ if (!s)
1199
+ throw new RangeError(`Invalid top rule name ${t.top}`);
1200
+ e.top = s;
1201
+ }
1202
+ return t.tokenizers && (e.tokenizers = this.tokenizers.map((s) => {
1203
+ let i = t.tokenizers.find((h) => h.from == s);
1204
+ return i ? i.to : s;
1205
+ })), t.specializers && (e.specializers = this.specializers.slice(), e.specializerSpecs = this.specializerSpecs.map((s, i) => {
1206
+ let h = t.specializers.find((n) => n.from == s.external);
1207
+ if (!h)
1208
+ return s;
1209
+ let r = Object.assign(Object.assign({}, s), { external: h.to });
1210
+ return e.specializers[i] = B(r), r;
1211
+ })), t.contextTracker && (e.context = t.contextTracker), t.dialect && (e.dialect = this.parseDialect(t.dialect)), t.strict != null && (e.strict = t.strict), t.wrap && (e.wrappers = e.wrappers.concat(t.wrap)), t.bufferLength != null && (e.bufferLength = t.bufferLength), e;
1212
+ }
1213
+ /**
1214
+ Tells you whether any [parse wrappers](#lr.ParserConfig.wrap)
1215
+ are registered for this parser.
1216
+ */
1217
+ hasWrappers() {
1218
+ return this.wrappers.length > 0;
1219
+ }
1220
+ /**
1221
+ Returns the name associated with a given term. This will only
1222
+ work for all terms when the parser was generated with the
1223
+ `--names` option. By default, only the names of tagged terms are
1224
+ stored.
1225
+ */
1226
+ getName(t) {
1227
+ return this.termNames ? this.termNames[t] : String(t <= this.maxNode && this.nodeSet.types[t].name || t);
1228
+ }
1229
+ /**
1230
+ The eof term id is always allocated directly after the node
1231
+ types. @internal
1232
+ */
1233
+ get eofTerm() {
1234
+ return this.maxNode + 1;
1235
+ }
1236
+ /**
1237
+ The type of top node produced by the parser.
1238
+ */
1239
+ get topNode() {
1240
+ return this.nodeSet.types[this.top[1]];
1241
+ }
1242
+ /**
1243
+ @internal
1244
+ */
1245
+ dynamicPrecedence(t) {
1246
+ let e = this.dynamicPrecedences;
1247
+ return e == null ? 0 : e[t] || 0;
1248
+ }
1249
+ /**
1250
+ @internal
1251
+ */
1252
+ parseDialect(t) {
1253
+ let e = Object.keys(this.dialects), s = e.map(() => !1);
1254
+ if (t)
1255
+ for (let h of t.split(" ")) {
1256
+ let r = e.indexOf(h);
1257
+ r >= 0 && (s[r] = !0);
1258
+ }
1259
+ let i = null;
1260
+ for (let h = 0; h < e.length; h++)
1261
+ if (!s[h])
1262
+ for (let r = this.dialects[e[h]], n; (n = this.data[r++]) != 65535; )
1263
+ (i || (i = new Uint8Array(this.maxTerm + 1)))[n] = 1;
1264
+ return new Q(t, s, i);
1265
+ }
1266
+ /**
1267
+ Used by the output of the parser generator. Not available to
1268
+ user code. @hide
1269
+ */
1270
+ static deserialize(t) {
1271
+ return new w(t);
1272
+ }
1273
+ }
1274
+ function k(l, t) {
1275
+ return l[t] | l[t + 1] << 16;
1276
+ }
1277
+ function V(l) {
1278
+ let t = null;
1279
+ for (let e of l) {
1280
+ let s = e.p.stoppedAt;
1281
+ (e.pos == e.p.stream.end || s != null && e.pos > s) && e.p.parser.stateFlag(
1282
+ e.state,
1283
+ 2
1284
+ /* StateFlag.Accepting */
1285
+ ) && (!t || t.score < e.score) && (t = e);
1286
+ }
1287
+ return t;
1288
+ }
1289
+ function B(l) {
1290
+ if (l.external) {
1291
+ let t = l.extend ? 1 : 0;
1292
+ return (e, s) => l.external(e, s) << 1 | t;
1293
+ }
1294
+ return l.get;
1295
+ }
1296
+ export {
1297
+ Z as C,
1298
+ Y as E,
1299
+ w as L,
1300
+ H as a
1301
+ };
src/backend/gradio_highlightedcode/templates/component/index-55bcb1bf.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { L as s } from "./index-3f1cf095.js";
2
+ import { s as n, t as r, L as o, b as P, B as a, f as Q, c as i, e as c } from "./Index-805076c9.js";
3
+ const g = n({
4
+ String: r.string,
5
+ Number: r.number,
6
+ "True False": r.bool,
7
+ PropertyName: r.propertyName,
8
+ Null: r.null,
9
+ ",": r.separator,
10
+ "[ ]": r.squareBracket,
11
+ "{ }": r.brace
12
+ }), p = s.deserialize({
13
+ version: 14,
14
+ states: "$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#CjOOQO'#Cp'#CpQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CrOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59U,59UO!iQPO,59UOVQPO,59QOqQPO'#CkO!nQPO,59^OOQO1G.k1G.kOVQPO'#ClO!vQPO,59aOOQO1G.p1G.pOOQO1G.l1G.lOOQO,59V,59VOOQO-E6i-E6iOOQO,59W,59WOOQO-E6j-E6j",
15
+ stateData: "#O~OcOS~OQSORSOSSOTSOWQO]ROePO~OVXOeUO~O[[O~PVOg^O~Oh_OVfX~OVaO~OhbO[iX~O[dO~Oh_OVfa~OhbO[ia~O",
16
+ goto: "!kjPPPPPPkPPkqwPPk{!RPPP!XP!ePP!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R",
17
+ nodeNames: "⚠ JsonText True False Null Number String } { Object Property PropertyName ] [ Array",
18
+ maxTerm: 25,
19
+ nodeProps: [
20
+ ["isolate", -2, 6, 11, ""],
21
+ ["openedBy", 7, "{", 12, "["],
22
+ ["closedBy", 8, "}", 13, "]"]
23
+ ],
24
+ propSources: [g],
25
+ skippedNodes: [0],
26
+ repeatNodeCount: 2,
27
+ tokenData: "(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oc~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Oe~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zOh~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yOg~~'OO]~~'TO[~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~",
28
+ tokenizers: [0],
29
+ topRules: { JsonText: [0, 1] },
30
+ tokenPrec: 0
31
+ }), d = () => (t) => {
32
+ try {
33
+ JSON.parse(t.state.doc.toString());
34
+ } catch (O) {
35
+ if (!(O instanceof SyntaxError))
36
+ throw O;
37
+ const e = u(O, t.state.doc);
38
+ return [{
39
+ from: e,
40
+ message: O.message,
41
+ severity: "error",
42
+ to: e
43
+ }];
44
+ }
45
+ return [];
46
+ };
47
+ function u(t, O) {
48
+ let e;
49
+ return (e = t.message.match(/at position (\d+)/)) ? Math.min(+e[1], O.length) : (e = t.message.match(/at line (\d+) column (\d+)/)) ? Math.min(O.line(+e[1]).from + +e[2] - 1, O.length) : 0;
50
+ }
51
+ const l = /* @__PURE__ */ o.define({
52
+ name: "json",
53
+ parser: /* @__PURE__ */ p.configure({
54
+ props: [
55
+ /* @__PURE__ */ P.add({
56
+ Object: /* @__PURE__ */ a({ except: /^\s*\}/ }),
57
+ Array: /* @__PURE__ */ a({ except: /^\s*\]/ })
58
+ }),
59
+ /* @__PURE__ */ Q.add({
60
+ "Object Array": i
61
+ })
62
+ ]
63
+ }),
64
+ languageData: {
65
+ closeBrackets: { brackets: ["[", "{", '"'] },
66
+ indentOnInput: /^\s*[\}\]]$/
67
+ }
68
+ });
69
+ function h() {
70
+ return new c(l);
71
+ }
72
+ export {
73
+ h as json,
74
+ l as jsonLanguage,
75
+ d as jsonParseLinter
76
+ };
src/backend/gradio_highlightedcode/templates/component/index-6c267d21.js ADDED
@@ -0,0 +1,979 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { C as be, E as k, L as Pe } from "./index-3f1cf095.js";
2
+ import { s as xe, t as h, p as Te, L as Ve, b as we, f as ye, D as ve, e as Xe, F as ke, a as K, E as $e } from "./Index-805076c9.js";
3
+ import { cssLanguage as J, css as _e } from "./index-8ba95b76.js";
4
+ import { typescriptLanguage as qe, jsxLanguage as Ce, tsxLanguage as Ae, javascriptLanguage as M, javascript as Qe } from "./index-9f51af45.js";
5
+ const Ye = 54, Me = 1, Re = 55, Ee = 2, Ze = 56, Be = 3, W = 4, We = 5, v = 6, ee = 7, te = 8, ae = 9, le = 10, ze = 11, De = 12, Ne = 13, $ = 57, Ge = 14, z = 58, re = 20, je = 22, ne = 23, Ie = 24, Q = 26, se = 27, Ue = 28, Le = 31, Fe = 34, He = 36, Ke = 37, Je = 0, et = 1, tt = {
6
+ area: !0,
7
+ base: !0,
8
+ br: !0,
9
+ col: !0,
10
+ command: !0,
11
+ embed: !0,
12
+ frame: !0,
13
+ hr: !0,
14
+ img: !0,
15
+ input: !0,
16
+ keygen: !0,
17
+ link: !0,
18
+ meta: !0,
19
+ param: !0,
20
+ source: !0,
21
+ track: !0,
22
+ wbr: !0,
23
+ menuitem: !0
24
+ }, at = {
25
+ dd: !0,
26
+ li: !0,
27
+ optgroup: !0,
28
+ option: !0,
29
+ p: !0,
30
+ rp: !0,
31
+ rt: !0,
32
+ tbody: !0,
33
+ td: !0,
34
+ tfoot: !0,
35
+ th: !0,
36
+ tr: !0
37
+ }, D = {
38
+ dd: { dd: !0, dt: !0 },
39
+ dt: { dd: !0, dt: !0 },
40
+ li: { li: !0 },
41
+ option: { option: !0, optgroup: !0 },
42
+ optgroup: { optgroup: !0 },
43
+ p: {
44
+ address: !0,
45
+ article: !0,
46
+ aside: !0,
47
+ blockquote: !0,
48
+ dir: !0,
49
+ div: !0,
50
+ dl: !0,
51
+ fieldset: !0,
52
+ footer: !0,
53
+ form: !0,
54
+ h1: !0,
55
+ h2: !0,
56
+ h3: !0,
57
+ h4: !0,
58
+ h5: !0,
59
+ h6: !0,
60
+ header: !0,
61
+ hgroup: !0,
62
+ hr: !0,
63
+ menu: !0,
64
+ nav: !0,
65
+ ol: !0,
66
+ p: !0,
67
+ pre: !0,
68
+ section: !0,
69
+ table: !0,
70
+ ul: !0
71
+ },
72
+ rp: { rp: !0, rt: !0 },
73
+ rt: { rp: !0, rt: !0 },
74
+ tbody: { tbody: !0, tfoot: !0 },
75
+ td: { td: !0, th: !0 },
76
+ tfoot: { tbody: !0 },
77
+ th: { td: !0, th: !0 },
78
+ thead: { tbody: !0, tfoot: !0 },
79
+ tr: { tr: !0 }
80
+ };
81
+ function lt(e) {
82
+ return e == 45 || e == 46 || e == 58 || e >= 65 && e <= 90 || e == 95 || e >= 97 && e <= 122 || e >= 161;
83
+ }
84
+ function oe(e) {
85
+ return e == 9 || e == 10 || e == 13 || e == 32;
86
+ }
87
+ let N = null, G = null, j = 0;
88
+ function Y(e, a) {
89
+ let r = e.pos + a;
90
+ if (j == r && G == e)
91
+ return N;
92
+ let l = e.peek(a);
93
+ for (; oe(l); )
94
+ l = e.peek(++a);
95
+ let t = "";
96
+ for (; lt(l); )
97
+ t += String.fromCharCode(l), l = e.peek(++a);
98
+ return G = e, j = r, N = t ? t.toLowerCase() : l == rt || l == nt ? void 0 : null;
99
+ }
100
+ const ue = 60, X = 62, R = 47, rt = 63, nt = 33, st = 45;
101
+ function I(e, a) {
102
+ this.name = e, this.parent = a, this.hash = a ? a.hash : 0;
103
+ for (let r = 0; r < e.length; r++)
104
+ this.hash += (this.hash << 4) + e.charCodeAt(r) + (e.charCodeAt(r) << 8);
105
+ }
106
+ const ot = [v, le, ee, te, ae], ut = new be({
107
+ start: null,
108
+ shift(e, a, r, l) {
109
+ return ot.indexOf(a) > -1 ? new I(Y(l, 1) || "", e) : e;
110
+ },
111
+ reduce(e, a) {
112
+ return a == re && e ? e.parent : e;
113
+ },
114
+ reuse(e, a, r, l) {
115
+ let t = a.type.id;
116
+ return t == v || t == He ? new I(Y(l, 1) || "", e) : e;
117
+ },
118
+ hash(e) {
119
+ return e ? e.hash : 0;
120
+ },
121
+ strict: !1
122
+ }), it = new k((e, a) => {
123
+ if (e.next != ue) {
124
+ e.next < 0 && a.context && e.acceptToken($);
125
+ return;
126
+ }
127
+ e.advance();
128
+ let r = e.next == R;
129
+ r && e.advance();
130
+ let l = Y(e, 0);
131
+ if (l === void 0)
132
+ return;
133
+ if (!l)
134
+ return e.acceptToken(r ? Ge : v);
135
+ let t = a.context ? a.context.name : null;
136
+ if (r) {
137
+ if (l == t)
138
+ return e.acceptToken(ze);
139
+ if (t && at[t])
140
+ return e.acceptToken($, -2);
141
+ if (a.dialectEnabled(Je))
142
+ return e.acceptToken(De);
143
+ for (let s = a.context; s; s = s.parent)
144
+ if (s.name == l)
145
+ return;
146
+ e.acceptToken(Ne);
147
+ } else {
148
+ if (l == "script")
149
+ return e.acceptToken(ee);
150
+ if (l == "style")
151
+ return e.acceptToken(te);
152
+ if (l == "textarea")
153
+ return e.acceptToken(ae);
154
+ if (tt.hasOwnProperty(l))
155
+ return e.acceptToken(le);
156
+ t && D[t] && D[t][l] ? e.acceptToken($, -1) : e.acceptToken(v);
157
+ }
158
+ }, { contextual: !0 }), Ot = new k((e) => {
159
+ for (let a = 0, r = 0; ; r++) {
160
+ if (e.next < 0) {
161
+ r && e.acceptToken(z);
162
+ break;
163
+ }
164
+ if (e.next == st)
165
+ a++;
166
+ else if (e.next == X && a >= 2) {
167
+ r >= 3 && e.acceptToken(z, -2);
168
+ break;
169
+ } else
170
+ a = 0;
171
+ e.advance();
172
+ }
173
+ });
174
+ function ct(e) {
175
+ for (; e; e = e.parent)
176
+ if (e.name == "svg" || e.name == "math")
177
+ return !0;
178
+ return !1;
179
+ }
180
+ const dt = new k((e, a) => {
181
+ if (e.next == R && e.peek(1) == X) {
182
+ let r = a.dialectEnabled(et) || ct(a.context);
183
+ e.acceptToken(r ? We : W, 2);
184
+ } else
185
+ e.next == X && e.acceptToken(W, 1);
186
+ });
187
+ function E(e, a, r) {
188
+ let l = 2 + e.length;
189
+ return new k((t) => {
190
+ for (let s = 0, o = 0, u = 0; ; u++) {
191
+ if (t.next < 0) {
192
+ u && t.acceptToken(a);
193
+ break;
194
+ }
195
+ if (s == 0 && t.next == ue || s == 1 && t.next == R || s >= 2 && s < l && t.next == e.charCodeAt(s - 2))
196
+ s++, o++;
197
+ else if ((s == 2 || s == l) && oe(t.next))
198
+ o++;
199
+ else if (s == l && t.next == X) {
200
+ u > o ? t.acceptToken(a, -o) : t.acceptToken(r, -(o - 2));
201
+ break;
202
+ } else if ((t.next == 10 || t.next == 13) && u) {
203
+ t.acceptToken(a, 1);
204
+ break;
205
+ } else
206
+ s = o = 0;
207
+ t.advance();
208
+ }
209
+ });
210
+ }
211
+ const pt = E("script", Ye, Me), mt = E("style", Re, Ee), ft = E("textarea", Ze, Be), St = xe({
212
+ "Text RawText": h.content,
213
+ "StartTag StartCloseTag SelfClosingEndTag EndTag": h.angleBracket,
214
+ TagName: h.tagName,
215
+ "MismatchedCloseTag/TagName": [h.tagName, h.invalid],
216
+ AttributeName: h.attributeName,
217
+ "AttributeValue UnquotedAttributeValue": h.attributeValue,
218
+ Is: h.definitionOperator,
219
+ "EntityReference CharacterReference": h.character,
220
+ Comment: h.blockComment,
221
+ ProcessingInst: h.processingInstruction,
222
+ DoctypeDecl: h.documentMeta
223
+ }), gt = Pe.deserialize({
224
+ version: 14,
225
+ states: ",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",
226
+ stateData: "+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",
227
+ goto: "%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",
228
+ nodeNames: "⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag 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",
229
+ maxTerm: 67,
230
+ context: ut,
231
+ nodeProps: [
232
+ ["closedBy", -10, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, "EndTag", 6, "EndTag SelfClosingEndTag", -4, 21, 30, 33, 36, "CloseTag"],
233
+ ["openedBy", 4, "StartTag StartCloseTag", 5, "StartTag", -4, 29, 32, 35, 37, "OpenTag"],
234
+ ["group", -9, 14, 17, 18, 19, 20, 39, 40, 41, 42, "Entity", 16, "Entity TextContent", -3, 28, 31, 34, "TextContent Entity"],
235
+ ["isolate", -11, 21, 29, 30, 32, 33, 35, 36, 37, 38, 41, 42, "ltr", -3, 26, 27, 39, ""]
236
+ ],
237
+ propSources: [St],
238
+ skippedNodes: [0],
239
+ repeatNodeCount: 9,
240
+ 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$|c`PkW!a`!cpOX$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&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+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,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$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[/ebhSkWOX+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+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&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!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!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!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[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!_:sbhSkWa!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<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@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@TakWOX@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!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@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!_DsbhSkWb!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!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$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_khS`PkW!a`!cpOX$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_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$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!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*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!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,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!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!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!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",
241
+ tokenizers: [pt, mt, ft, dt, it, Ot, 0, 1, 2, 3, 4, 5],
242
+ topRules: { Document: [0, 15] },
243
+ dialects: { noMatch: 0, selfClosing: 485 },
244
+ tokenPrec: 487
245
+ });
246
+ function ie(e, a) {
247
+ let r = /* @__PURE__ */ Object.create(null);
248
+ for (let l of e.getChildren(ne)) {
249
+ let t = l.getChild(Ie), s = l.getChild(Q) || l.getChild(se);
250
+ t && (r[a.read(t.from, t.to)] = s ? s.type.id == Q ? a.read(s.from + 1, s.to - 1) : a.read(s.from, s.to) : "");
251
+ }
252
+ return r;
253
+ }
254
+ function U(e, a) {
255
+ let r = e.getChild(je);
256
+ return r ? a.read(r.from, r.to) : " ";
257
+ }
258
+ function _(e, a, r) {
259
+ let l;
260
+ for (let t of r)
261
+ if (!t.attrs || t.attrs(l || (l = ie(e.node.parent.firstChild, a))))
262
+ return { parser: t.parser };
263
+ return null;
264
+ }
265
+ function Oe(e = [], a = []) {
266
+ let r = [], l = [], t = [], s = [];
267
+ for (let u of e)
268
+ (u.tag == "script" ? r : u.tag == "style" ? l : u.tag == "textarea" ? t : s).push(u);
269
+ let o = a.length ? /* @__PURE__ */ Object.create(null) : null;
270
+ for (let u of a)
271
+ (o[u.name] || (o[u.name] = [])).push(u);
272
+ return Te((u, i) => {
273
+ let f = u.type.id;
274
+ if (f == Ue)
275
+ return _(u, i, r);
276
+ if (f == Le)
277
+ return _(u, i, l);
278
+ if (f == Fe)
279
+ return _(u, i, t);
280
+ if (f == re && s.length) {
281
+ let p = u.node, d = p.firstChild, m = d && U(d, i), c;
282
+ if (m) {
283
+ for (let O of s)
284
+ if (O.tag == m && (!O.attrs || O.attrs(c || (c = ie(p, i))))) {
285
+ let g = p.lastChild, b = g.type.id == Ke ? g.from : p.to;
286
+ if (b > d.to)
287
+ return { parser: O.parser, overlay: [{ from: d.to, to: b }] };
288
+ }
289
+ }
290
+ }
291
+ if (o && f == ne) {
292
+ let p = u.node, d;
293
+ if (d = p.firstChild) {
294
+ let m = o[i.read(d.from, d.to)];
295
+ if (m)
296
+ for (let c of m) {
297
+ if (c.tagName && c.tagName != U(p.parent, i))
298
+ continue;
299
+ let O = p.lastChild;
300
+ if (O.type.id == Q) {
301
+ let g = O.from + 1, b = O.lastChild, P = O.to - (b && b.isError ? 0 : 1);
302
+ if (P > g)
303
+ return { parser: c.parser, overlay: [{ from: g, to: P }] };
304
+ } else if (O.type.id == se)
305
+ return { parser: c.parser, overlay: [{ from: O.from, to: O.to }] };
306
+ }
307
+ }
308
+ }
309
+ return null;
310
+ });
311
+ }
312
+ const V = ["_blank", "_self", "_top", "_parent"], q = ["ascii", "utf-8", "utf-16", "latin1", "latin1"], C = ["get", "post", "put", "delete"], A = ["application/x-www-form-urlencoded", "multipart/form-data", "text/plain"], S = ["true", "false"], n = {}, ht = {
313
+ a: {
314
+ attrs: {
315
+ href: null,
316
+ ping: null,
317
+ type: null,
318
+ media: null,
319
+ target: V,
320
+ hreflang: null
321
+ }
322
+ },
323
+ abbr: n,
324
+ address: n,
325
+ area: {
326
+ attrs: {
327
+ alt: null,
328
+ coords: null,
329
+ href: null,
330
+ target: null,
331
+ ping: null,
332
+ media: null,
333
+ hreflang: null,
334
+ type: null,
335
+ shape: ["default", "rect", "circle", "poly"]
336
+ }
337
+ },
338
+ article: n,
339
+ aside: n,
340
+ audio: {
341
+ attrs: {
342
+ src: null,
343
+ mediagroup: null,
344
+ crossorigin: ["anonymous", "use-credentials"],
345
+ preload: ["none", "metadata", "auto"],
346
+ autoplay: ["autoplay"],
347
+ loop: ["loop"],
348
+ controls: ["controls"]
349
+ }
350
+ },
351
+ b: n,
352
+ base: { attrs: { href: null, target: V } },
353
+ bdi: n,
354
+ bdo: n,
355
+ blockquote: { attrs: { cite: null } },
356
+ body: n,
357
+ br: n,
358
+ button: {
359
+ attrs: {
360
+ form: null,
361
+ formaction: null,
362
+ name: null,
363
+ value: null,
364
+ autofocus: ["autofocus"],
365
+ disabled: ["autofocus"],
366
+ formenctype: A,
367
+ formmethod: C,
368
+ formnovalidate: ["novalidate"],
369
+ formtarget: V,
370
+ type: ["submit", "reset", "button"]
371
+ }
372
+ },
373
+ canvas: { attrs: { width: null, height: null } },
374
+ caption: n,
375
+ center: n,
376
+ cite: n,
377
+ code: n,
378
+ col: { attrs: { span: null } },
379
+ colgroup: { attrs: { span: null } },
380
+ command: {
381
+ attrs: {
382
+ type: ["command", "checkbox", "radio"],
383
+ label: null,
384
+ icon: null,
385
+ radiogroup: null,
386
+ command: null,
387
+ title: null,
388
+ disabled: ["disabled"],
389
+ checked: ["checked"]
390
+ }
391
+ },
392
+ data: { attrs: { value: null } },
393
+ datagrid: { attrs: { disabled: ["disabled"], multiple: ["multiple"] } },
394
+ datalist: { attrs: { data: null } },
395
+ dd: n,
396
+ del: { attrs: { cite: null, datetime: null } },
397
+ details: { attrs: { open: ["open"] } },
398
+ dfn: n,
399
+ div: n,
400
+ dl: n,
401
+ dt: n,
402
+ em: n,
403
+ embed: { attrs: { src: null, type: null, width: null, height: null } },
404
+ eventsource: { attrs: { src: null } },
405
+ fieldset: { attrs: { disabled: ["disabled"], form: null, name: null } },
406
+ figcaption: n,
407
+ figure: n,
408
+ footer: n,
409
+ form: {
410
+ attrs: {
411
+ action: null,
412
+ name: null,
413
+ "accept-charset": q,
414
+ autocomplete: ["on", "off"],
415
+ enctype: A,
416
+ method: C,
417
+ novalidate: ["novalidate"],
418
+ target: V
419
+ }
420
+ },
421
+ h1: n,
422
+ h2: n,
423
+ h3: n,
424
+ h4: n,
425
+ h5: n,
426
+ h6: n,
427
+ head: {
428
+ children: ["title", "base", "link", "style", "meta", "script", "noscript", "command"]
429
+ },
430
+ header: n,
431
+ hgroup: n,
432
+ hr: n,
433
+ html: {
434
+ attrs: { manifest: null }
435
+ },
436
+ i: n,
437
+ iframe: {
438
+ attrs: {
439
+ src: null,
440
+ srcdoc: null,
441
+ name: null,
442
+ width: null,
443
+ height: null,
444
+ sandbox: ["allow-top-navigation", "allow-same-origin", "allow-forms", "allow-scripts"],
445
+ seamless: ["seamless"]
446
+ }
447
+ },
448
+ img: {
449
+ attrs: {
450
+ alt: null,
451
+ src: null,
452
+ ismap: null,
453
+ usemap: null,
454
+ width: null,
455
+ height: null,
456
+ crossorigin: ["anonymous", "use-credentials"]
457
+ }
458
+ },
459
+ input: {
460
+ attrs: {
461
+ alt: null,
462
+ dirname: null,
463
+ form: null,
464
+ formaction: null,
465
+ height: null,
466
+ list: null,
467
+ max: null,
468
+ maxlength: null,
469
+ min: null,
470
+ name: null,
471
+ pattern: null,
472
+ placeholder: null,
473
+ size: null,
474
+ src: null,
475
+ step: null,
476
+ value: null,
477
+ width: null,
478
+ accept: ["audio/*", "video/*", "image/*"],
479
+ autocomplete: ["on", "off"],
480
+ autofocus: ["autofocus"],
481
+ checked: ["checked"],
482
+ disabled: ["disabled"],
483
+ formenctype: A,
484
+ formmethod: C,
485
+ formnovalidate: ["novalidate"],
486
+ formtarget: V,
487
+ multiple: ["multiple"],
488
+ readonly: ["readonly"],
489
+ required: ["required"],
490
+ type: [
491
+ "hidden",
492
+ "text",
493
+ "search",
494
+ "tel",
495
+ "url",
496
+ "email",
497
+ "password",
498
+ "datetime",
499
+ "date",
500
+ "month",
501
+ "week",
502
+ "time",
503
+ "datetime-local",
504
+ "number",
505
+ "range",
506
+ "color",
507
+ "checkbox",
508
+ "radio",
509
+ "file",
510
+ "submit",
511
+ "image",
512
+ "reset",
513
+ "button"
514
+ ]
515
+ }
516
+ },
517
+ ins: { attrs: { cite: null, datetime: null } },
518
+ kbd: n,
519
+ keygen: {
520
+ attrs: {
521
+ challenge: null,
522
+ form: null,
523
+ name: null,
524
+ autofocus: ["autofocus"],
525
+ disabled: ["disabled"],
526
+ keytype: ["RSA"]
527
+ }
528
+ },
529
+ label: { attrs: { for: null, form: null } },
530
+ legend: n,
531
+ li: { attrs: { value: null } },
532
+ link: {
533
+ attrs: {
534
+ href: null,
535
+ type: null,
536
+ hreflang: null,
537
+ media: null,
538
+ sizes: ["all", "16x16", "16x16 32x32", "16x16 32x32 64x64"]
539
+ }
540
+ },
541
+ map: { attrs: { name: null } },
542
+ mark: n,
543
+ menu: { attrs: { label: null, type: ["list", "context", "toolbar"] } },
544
+ meta: {
545
+ attrs: {
546
+ content: null,
547
+ charset: q,
548
+ name: ["viewport", "application-name", "author", "description", "generator", "keywords"],
549
+ "http-equiv": ["content-language", "content-type", "default-style", "refresh"]
550
+ }
551
+ },
552
+ meter: { attrs: { value: null, min: null, low: null, high: null, max: null, optimum: null } },
553
+ nav: n,
554
+ noscript: n,
555
+ object: {
556
+ attrs: {
557
+ data: null,
558
+ type: null,
559
+ name: null,
560
+ usemap: null,
561
+ form: null,
562
+ width: null,
563
+ height: null,
564
+ typemustmatch: ["typemustmatch"]
565
+ }
566
+ },
567
+ ol: {
568
+ attrs: { reversed: ["reversed"], start: null, type: ["1", "a", "A", "i", "I"] },
569
+ children: ["li", "script", "template", "ul", "ol"]
570
+ },
571
+ optgroup: { attrs: { disabled: ["disabled"], label: null } },
572
+ option: { attrs: { disabled: ["disabled"], label: null, selected: ["selected"], value: null } },
573
+ output: { attrs: { for: null, form: null, name: null } },
574
+ p: n,
575
+ param: { attrs: { name: null, value: null } },
576
+ pre: n,
577
+ progress: { attrs: { value: null, max: null } },
578
+ q: { attrs: { cite: null } },
579
+ rp: n,
580
+ rt: n,
581
+ ruby: n,
582
+ samp: n,
583
+ script: {
584
+ attrs: {
585
+ type: ["text/javascript"],
586
+ src: null,
587
+ async: ["async"],
588
+ defer: ["defer"],
589
+ charset: q
590
+ }
591
+ },
592
+ section: n,
593
+ select: {
594
+ attrs: {
595
+ form: null,
596
+ name: null,
597
+ size: null,
598
+ autofocus: ["autofocus"],
599
+ disabled: ["disabled"],
600
+ multiple: ["multiple"]
601
+ }
602
+ },
603
+ slot: { attrs: { name: null } },
604
+ small: n,
605
+ source: { attrs: { src: null, type: null, media: null } },
606
+ span: n,
607
+ strong: n,
608
+ style: {
609
+ attrs: {
610
+ type: ["text/css"],
611
+ media: null,
612
+ scoped: null
613
+ }
614
+ },
615
+ sub: n,
616
+ summary: n,
617
+ sup: n,
618
+ table: n,
619
+ tbody: n,
620
+ td: { attrs: { colspan: null, rowspan: null, headers: null } },
621
+ template: n,
622
+ textarea: {
623
+ attrs: {
624
+ dirname: null,
625
+ form: null,
626
+ maxlength: null,
627
+ name: null,
628
+ placeholder: null,
629
+ rows: null,
630
+ cols: null,
631
+ autofocus: ["autofocus"],
632
+ disabled: ["disabled"],
633
+ readonly: ["readonly"],
634
+ required: ["required"],
635
+ wrap: ["soft", "hard"]
636
+ }
637
+ },
638
+ tfoot: n,
639
+ th: { attrs: { colspan: null, rowspan: null, headers: null, scope: ["row", "col", "rowgroup", "colgroup"] } },
640
+ thead: n,
641
+ time: { attrs: { datetime: null } },
642
+ title: n,
643
+ tr: n,
644
+ track: {
645
+ attrs: {
646
+ src: null,
647
+ label: null,
648
+ default: null,
649
+ kind: ["subtitles", "captions", "descriptions", "chapters", "metadata"],
650
+ srclang: null
651
+ }
652
+ },
653
+ ul: { children: ["li", "script", "template", "ul", "ol"] },
654
+ var: n,
655
+ video: {
656
+ attrs: {
657
+ src: null,
658
+ poster: null,
659
+ width: null,
660
+ height: null,
661
+ crossorigin: ["anonymous", "use-credentials"],
662
+ preload: ["auto", "metadata", "none"],
663
+ autoplay: ["autoplay"],
664
+ mediagroup: ["movie"],
665
+ muted: ["muted"],
666
+ controls: ["controls"]
667
+ }
668
+ },
669
+ wbr: n
670
+ }, ce = {
671
+ accesskey: null,
672
+ class: null,
673
+ contenteditable: S,
674
+ contextmenu: null,
675
+ dir: ["ltr", "rtl", "auto"],
676
+ draggable: ["true", "false", "auto"],
677
+ dropzone: ["copy", "move", "link", "string:", "file:"],
678
+ hidden: ["hidden"],
679
+ id: null,
680
+ inert: ["inert"],
681
+ itemid: null,
682
+ itemprop: null,
683
+ itemref: null,
684
+ itemscope: ["itemscope"],
685
+ itemtype: null,
686
+ lang: ["ar", "bn", "de", "en-GB", "en-US", "es", "fr", "hi", "id", "ja", "pa", "pt", "ru", "tr", "zh"],
687
+ spellcheck: S,
688
+ autocorrect: S,
689
+ autocapitalize: S,
690
+ style: null,
691
+ tabindex: null,
692
+ title: null,
693
+ translate: ["yes", "no"],
694
+ rel: ["stylesheet", "alternate", "author", "bookmark", "help", "license", "next", "nofollow", "noreferrer", "prefetch", "prev", "search", "tag"],
695
+ role: /* @__PURE__ */ "alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),
696
+ "aria-activedescendant": null,
697
+ "aria-atomic": S,
698
+ "aria-autocomplete": ["inline", "list", "both", "none"],
699
+ "aria-busy": S,
700
+ "aria-checked": ["true", "false", "mixed", "undefined"],
701
+ "aria-controls": null,
702
+ "aria-describedby": null,
703
+ "aria-disabled": S,
704
+ "aria-dropeffect": null,
705
+ "aria-expanded": ["true", "false", "undefined"],
706
+ "aria-flowto": null,
707
+ "aria-grabbed": ["true", "false", "undefined"],
708
+ "aria-haspopup": S,
709
+ "aria-hidden": S,
710
+ "aria-invalid": ["true", "false", "grammar", "spelling"],
711
+ "aria-label": null,
712
+ "aria-labelledby": null,
713
+ "aria-level": null,
714
+ "aria-live": ["off", "polite", "assertive"],
715
+ "aria-multiline": S,
716
+ "aria-multiselectable": S,
717
+ "aria-owns": null,
718
+ "aria-posinset": null,
719
+ "aria-pressed": ["true", "false", "mixed", "undefined"],
720
+ "aria-readonly": S,
721
+ "aria-relevant": null,
722
+ "aria-required": S,
723
+ "aria-selected": ["true", "false", "undefined"],
724
+ "aria-setsize": null,
725
+ "aria-sort": ["ascending", "descending", "none", "other"],
726
+ "aria-valuemax": null,
727
+ "aria-valuemin": null,
728
+ "aria-valuenow": null,
729
+ "aria-valuetext": null
730
+ }, de = /* @__PURE__ */ "beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map((e) => "on" + e);
731
+ for (let e of de)
732
+ ce[e] = null;
733
+ class w {
734
+ constructor(a, r) {
735
+ this.tags = Object.assign(Object.assign({}, ht), a), this.globalAttrs = Object.assign(Object.assign({}, ce), r), this.allTags = Object.keys(this.tags), this.globalAttrNames = Object.keys(this.globalAttrs);
736
+ }
737
+ }
738
+ w.default = /* @__PURE__ */ new w();
739
+ function x(e, a, r = e.length) {
740
+ if (!a)
741
+ return "";
742
+ let l = a.firstChild, t = l && l.getChild("TagName");
743
+ return t ? e.sliceString(t.from, Math.min(t.to, r)) : "";
744
+ }
745
+ function T(e, a = !1) {
746
+ for (; e; e = e.parent)
747
+ if (e.name == "Element")
748
+ if (a)
749
+ a = !1;
750
+ else
751
+ return e;
752
+ return null;
753
+ }
754
+ function pe(e, a, r) {
755
+ let l = r.tags[x(e, T(a))];
756
+ return (l == null ? void 0 : l.children) || r.allTags;
757
+ }
758
+ function Z(e, a) {
759
+ let r = [];
760
+ for (let l = T(a); l && !l.type.isTop; l = T(l.parent)) {
761
+ let t = x(e, l);
762
+ if (t && l.lastChild.name == "CloseTag")
763
+ break;
764
+ t && r.indexOf(t) < 0 && (a.name == "EndTag" || a.from >= l.firstChild.to) && r.push(t);
765
+ }
766
+ return r;
767
+ }
768
+ const me = /^[:\-\.\w\u00b7-\uffff]*$/;
769
+ function L(e, a, r, l, t) {
770
+ let s = /\s*>/.test(e.sliceDoc(t, t + 5)) ? "" : ">", o = T(r, !0);
771
+ return {
772
+ from: l,
773
+ to: t,
774
+ options: pe(e.doc, o, a).map((u) => ({ label: u, type: "type" })).concat(Z(e.doc, r).map((u, i) => ({
775
+ label: "/" + u,
776
+ apply: "/" + u + s,
777
+ type: "type",
778
+ boost: 99 - i
779
+ }))),
780
+ validFor: /^\/?[:\-\.\w\u00b7-\uffff]*$/
781
+ };
782
+ }
783
+ function F(e, a, r, l) {
784
+ let t = /\s*>/.test(e.sliceDoc(l, l + 5)) ? "" : ">";
785
+ return {
786
+ from: r,
787
+ to: l,
788
+ options: Z(e.doc, a).map((s, o) => ({ label: s, apply: s + t, type: "type", boost: 99 - o })),
789
+ validFor: me
790
+ };
791
+ }
792
+ function bt(e, a, r, l) {
793
+ let t = [], s = 0;
794
+ for (let o of pe(e.doc, r, a))
795
+ t.push({ label: "<" + o, type: "type" });
796
+ for (let o of Z(e.doc, r))
797
+ t.push({ label: "</" + o + ">", type: "type", boost: 99 - s++ });
798
+ return { from: l, to: l, options: t, validFor: /^<\/?[:\-\.\w\u00b7-\uffff]*$/ };
799
+ }
800
+ function Pt(e, a, r, l, t) {
801
+ let s = T(r), o = s ? a.tags[x(e.doc, s)] : null, u = o && o.attrs ? Object.keys(o.attrs) : [], i = o && o.globalAttrs === !1 ? u : u.length ? u.concat(a.globalAttrNames) : a.globalAttrNames;
802
+ return {
803
+ from: l,
804
+ to: t,
805
+ options: i.map((f) => ({ label: f, type: "property" })),
806
+ validFor: me
807
+ };
808
+ }
809
+ function xt(e, a, r, l, t) {
810
+ var s;
811
+ let o = (s = r.parent) === null || s === void 0 ? void 0 : s.getChild("AttributeName"), u = [], i;
812
+ if (o) {
813
+ let f = e.sliceDoc(o.from, o.to), p = a.globalAttrs[f];
814
+ if (!p) {
815
+ let d = T(r), m = d ? a.tags[x(e.doc, d)] : null;
816
+ p = (m == null ? void 0 : m.attrs) && m.attrs[f];
817
+ }
818
+ if (p) {
819
+ let d = e.sliceDoc(l, t).toLowerCase(), m = '"', c = '"';
820
+ /^['"]/.test(d) ? (i = d[0] == '"' ? /^[^"]*$/ : /^[^']*$/, m = "", c = e.sliceDoc(t, t + 1) == d[0] ? "" : d[0], d = d.slice(1), l++) : i = /^[^\s<>='"]*$/;
821
+ for (let O of p)
822
+ u.push({ label: O, apply: m + O + c, type: "constant" });
823
+ }
824
+ }
825
+ return { from: l, to: t, options: u, validFor: i };
826
+ }
827
+ function fe(e, a) {
828
+ let { state: r, pos: l } = a, t = K(r).resolveInner(l, -1), s = t.resolve(l);
829
+ for (let o = l, u; s == t && (u = t.childBefore(o)); ) {
830
+ let i = u.lastChild;
831
+ if (!i || !i.type.isError || i.from < i.to)
832
+ break;
833
+ s = t = u, o = i.from;
834
+ }
835
+ return t.name == "TagName" ? t.parent && /CloseTag$/.test(t.parent.name) ? F(r, t, t.from, l) : L(r, e, t, t.from, l) : t.name == "StartTag" ? L(r, e, t, l, l) : t.name == "StartCloseTag" || t.name == "IncompleteCloseTag" ? F(r, t, l, l) : t.name == "OpenTag" || t.name == "SelfClosingTag" || t.name == "AttributeName" ? Pt(r, e, t, t.name == "AttributeName" ? t.from : l, l) : t.name == "Is" || t.name == "AttributeValue" || t.name == "UnquotedAttributeValue" ? xt(r, e, t, t.name == "Is" ? l : t.from, l) : a.explicit && (s.name == "Element" || s.name == "Text" || s.name == "Document") ? bt(r, e, t, l) : null;
836
+ }
837
+ function $t(e) {
838
+ return fe(w.default, e);
839
+ }
840
+ function Tt(e) {
841
+ let { extraTags: a, extraGlobalAttributes: r } = e, l = r || a ? new w(a, r) : w.default;
842
+ return (t) => fe(l, t);
843
+ }
844
+ const Vt = /* @__PURE__ */ M.parser.configure({ top: "SingleExpression" }), Se = [
845
+ {
846
+ tag: "script",
847
+ attrs: (e) => e.type == "text/typescript" || e.lang == "ts",
848
+ parser: qe.parser
849
+ },
850
+ {
851
+ tag: "script",
852
+ attrs: (e) => e.type == "text/babel" || e.type == "text/jsx",
853
+ parser: Ce.parser
854
+ },
855
+ {
856
+ tag: "script",
857
+ attrs: (e) => e.type == "text/typescript-jsx",
858
+ parser: Ae.parser
859
+ },
860
+ {
861
+ tag: "script",
862
+ attrs(e) {
863
+ return /^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type);
864
+ },
865
+ parser: Vt
866
+ },
867
+ {
868
+ tag: "script",
869
+ attrs(e) {
870
+ return !e.type || /^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type);
871
+ },
872
+ parser: M.parser
873
+ },
874
+ {
875
+ tag: "style",
876
+ attrs(e) {
877
+ return (!e.lang || e.lang == "css") && (!e.type || /^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type));
878
+ },
879
+ parser: J.parser
880
+ }
881
+ ], ge = /* @__PURE__ */ [
882
+ {
883
+ name: "style",
884
+ parser: /* @__PURE__ */ J.parser.configure({ top: "Styles" })
885
+ }
886
+ ].concat(/* @__PURE__ */ de.map((e) => ({ name: e, parser: M.parser }))), he = /* @__PURE__ */ Ve.define({
887
+ name: "html",
888
+ parser: /* @__PURE__ */ gt.configure({
889
+ props: [
890
+ /* @__PURE__ */ we.add({
891
+ Element(e) {
892
+ let a = /^(\s*)(<\/)?/.exec(e.textAfter);
893
+ return e.node.to <= e.pos + a[0].length ? e.continue() : e.lineIndent(e.node.from) + (a[2] ? 0 : e.unit);
894
+ },
895
+ "OpenTag CloseTag SelfClosingTag"(e) {
896
+ return e.column(e.node.from) + e.unit;
897
+ },
898
+ Document(e) {
899
+ if (e.pos + /\s*/.exec(e.textAfter)[0].length < e.node.to)
900
+ return e.continue();
901
+ let a = null, r;
902
+ for (let l = e.node; ; ) {
903
+ let t = l.lastChild;
904
+ if (!t || t.name != "Element" || t.to != l.to)
905
+ break;
906
+ a = l = t;
907
+ }
908
+ return a && !((r = a.lastChild) && (r.name == "CloseTag" || r.name == "SelfClosingTag")) ? e.lineIndent(a.from) + e.unit : null;
909
+ }
910
+ }),
911
+ /* @__PURE__ */ ye.add({
912
+ Element(e) {
913
+ let a = e.firstChild, r = e.lastChild;
914
+ return !a || a.name != "OpenTag" ? null : { from: a.to, to: r.name == "CloseTag" ? r.from : e.to };
915
+ }
916
+ }),
917
+ /* @__PURE__ */ ve.add({
918
+ "OpenTag CloseTag": (e) => e.getChild("TagName")
919
+ })
920
+ ]
921
+ }),
922
+ languageData: {
923
+ commentTokens: { block: { open: "<!--", close: "-->" } },
924
+ indentOnInput: /^\s*<\/\w+\W$/,
925
+ wordChars: "-._"
926
+ }
927
+ }), y = /* @__PURE__ */ he.configure({
928
+ wrap: /* @__PURE__ */ Oe(Se, ge)
929
+ });
930
+ function _t(e = {}) {
931
+ let a = "", r;
932
+ e.matchClosingTags === !1 && (a = "noMatch"), e.selfClosingTags === !0 && (a = (a ? a + " " : "") + "selfClosing"), (e.nestedLanguages && e.nestedLanguages.length || e.nestedAttributes && e.nestedAttributes.length) && (r = Oe((e.nestedLanguages || []).concat(Se), (e.nestedAttributes || []).concat(ge)));
933
+ let l = r ? he.configure({ wrap: r, dialect: a }) : a ? y.configure({ dialect: a }) : y;
934
+ return new Xe(l, [
935
+ y.data.of({ autocomplete: Tt(e) }),
936
+ e.autoCloseTags !== !1 ? wt : [],
937
+ Qe().support,
938
+ _e().support
939
+ ]);
940
+ }
941
+ const H = /* @__PURE__ */ new Set(/* @__PURE__ */ "area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")), wt = /* @__PURE__ */ ke.inputHandler.of((e, a, r, l, t) => {
942
+ if (e.composing || e.state.readOnly || a != r || l != ">" && l != "/" || !y.isActiveAt(e.state, a, -1))
943
+ return !1;
944
+ let s = t(), { state: o } = s, u = o.changeByRange((i) => {
945
+ var f, p, d;
946
+ let m = o.doc.sliceString(i.from - 1, i.to) == l, { head: c } = i, O = K(o).resolveInner(c - 1, -1), g;
947
+ if ((O.name == "TagName" || O.name == "StartTag") && (O = O.parent), m && l == ">" && O.name == "OpenTag") {
948
+ if (((p = (f = O.parent) === null || f === void 0 ? void 0 : f.lastChild) === null || p === void 0 ? void 0 : p.name) != "CloseTag" && (g = x(o.doc, O.parent, c)) && !H.has(g)) {
949
+ let b = c + (o.doc.sliceString(c, c + 1) === ">" ? 1 : 0), P = `</${g}>`;
950
+ return { range: i, changes: { from: c, to: b, insert: P } };
951
+ }
952
+ } else if (m && l == "/" && O.name == "IncompleteCloseTag") {
953
+ let b = O.parent;
954
+ if (O.from == c - 2 && ((d = b.lastChild) === null || d === void 0 ? void 0 : d.name) != "CloseTag" && (g = x(o.doc, b, c)) && !H.has(g)) {
955
+ let P = c + (o.doc.sliceString(c, c + 1) === ">" ? 1 : 0), B = `${g}>`;
956
+ return {
957
+ range: $e.cursor(c + B.length, -1),
958
+ changes: { from: c, to: P, insert: B }
959
+ };
960
+ }
961
+ }
962
+ return { range: i };
963
+ });
964
+ return u.changes.empty ? !1 : (e.dispatch([
965
+ s,
966
+ o.update(u, {
967
+ userEvent: "input.complete",
968
+ scrollIntoView: !0
969
+ })
970
+ ]), !0);
971
+ });
972
+ export {
973
+ wt as autoCloseTags,
974
+ _t as html,
975
+ $t as htmlCompletionSource,
976
+ Tt as htmlCompletionSourceWith,
977
+ y as htmlLanguage,
978
+ he as htmlPlain
979
+ };
src/backend/gradio_highlightedcode/templates/component/index-8ba95b76.js ADDED
@@ -0,0 +1,923 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { E as m, L as w, a as v } from "./index-3f1cf095.js";
2
+ import { s as z, t as o, a as k, L as x, b as T, B as W, f as R, c as U, e as Y, I as q, N as _ } from "./Index-805076c9.js";
3
+ const E = 99, S = 1, Z = 100, C = 101, g = 2, y = [
4
+ 9,
5
+ 10,
6
+ 11,
7
+ 12,
8
+ 13,
9
+ 32,
10
+ 133,
11
+ 160,
12
+ 5760,
13
+ 8192,
14
+ 8193,
15
+ 8194,
16
+ 8195,
17
+ 8196,
18
+ 8197,
19
+ 8198,
20
+ 8199,
21
+ 8200,
22
+ 8201,
23
+ 8202,
24
+ 8232,
25
+ 8233,
26
+ 8239,
27
+ 8287,
28
+ 12288
29
+ ], G = 58, N = 40, P = 95, V = 91, Q = 45, j = 46, D = 35, I = 37, B = 38, F = 92, K = 10;
30
+ function d(e) {
31
+ return e >= 65 && e <= 90 || e >= 97 && e <= 122 || e >= 161;
32
+ }
33
+ function L(e) {
34
+ return e >= 48 && e <= 57;
35
+ }
36
+ const A = new m((e, t) => {
37
+ for (let l = !1, a = 0, O = 0; ; O++) {
38
+ let { next: r } = e;
39
+ if (d(r) || r == Q || r == P || l && L(r))
40
+ !l && (r != Q || O > 0) && (l = !0), a === O && r == Q && a++, e.advance();
41
+ else if (r == F && e.peek(1) != K)
42
+ e.advance(), e.next > -1 && e.advance(), l = !0;
43
+ else {
44
+ l && e.acceptToken(r == N ? Z : a == 2 && t.canShift(g) ? g : C);
45
+ break;
46
+ }
47
+ }
48
+ }), J = new m((e) => {
49
+ if (y.includes(e.peek(-1))) {
50
+ let { next: t } = e;
51
+ (d(t) || t == P || t == D || t == j || t == V || t == G && d(e.peek(1)) || t == Q || t == B) && e.acceptToken(E);
52
+ }
53
+ }), H = new m((e) => {
54
+ if (!y.includes(e.peek(-1))) {
55
+ let { next: t } = e;
56
+ if (t == I && (e.advance(), e.acceptToken(S)), d(t)) {
57
+ do
58
+ e.advance();
59
+ while (d(e.next));
60
+ e.acceptToken(S);
61
+ }
62
+ }
63
+ }), M = z({
64
+ "AtKeyword import charset namespace keyframes media supports": o.definitionKeyword,
65
+ "from to selector": o.keyword,
66
+ NamespaceName: o.namespace,
67
+ KeyframeName: o.labelName,
68
+ KeyframeRangeName: o.operatorKeyword,
69
+ TagName: o.tagName,
70
+ ClassName: o.className,
71
+ PseudoClassName: o.constant(o.className),
72
+ IdName: o.labelName,
73
+ "FeatureName PropertyName": o.propertyName,
74
+ AttributeName: o.attributeName,
75
+ NumberLiteral: o.number,
76
+ KeywordQuery: o.keyword,
77
+ UnaryQueryOp: o.operatorKeyword,
78
+ "CallTag ValueName": o.atom,
79
+ VariableName: o.variableName,
80
+ Callee: o.operatorKeyword,
81
+ Unit: o.unit,
82
+ "UniversalSelector NestingSelector": o.definitionOperator,
83
+ MatchOp: o.compareOperator,
84
+ "ChildOp SiblingOp, LogicOp": o.logicOperator,
85
+ BinOp: o.arithmeticOperator,
86
+ Important: o.modifier,
87
+ Comment: o.blockComment,
88
+ ColorLiteral: o.color,
89
+ "ParenthesizedContent StringLiteral": o.string,
90
+ ":": o.punctuation,
91
+ "PseudoOp #": o.derefOperator,
92
+ "; ,": o.separator,
93
+ "( )": o.paren,
94
+ "[ ]": o.squareBracket,
95
+ "{ }": o.brace
96
+ }), ee = { __proto__: null, lang: 32, "nth-child": 32, "nth-last-child": 32, "nth-of-type": 32, "nth-last-of-type": 32, dir: 32, "host-context": 32, url: 60, "url-prefix": 60, domain: 60, regexp: 60, selector: 138 }, Oe = { __proto__: null, "@import": 118, "@media": 142, "@charset": 146, "@namespace": 150, "@keyframes": 156, "@supports": 168 }, ae = { __proto__: null, not: 132, only: 132 }, te = w.deserialize({
97
+ version: 14,
98
+ states: ":^QYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DTO$vQ[O'#DWOOQP'#Em'#EmO${QdO'#DgO%jQ[O'#DtO${QdO'#DvO%{Q[O'#DxO&WQ[O'#D{O&`Q[O'#ERO&nQ[O'#ETOOQS'#El'#ElOOQS'#EW'#EWQYQ[OOO&uQXO'#CdO'jQWO'#DcO'oQWO'#EsO'zQ[O'#EsQOQWOOP(UO#tO'#C_POOO)C@[)C@[OOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(aQ[O'#E[O({QWO,58{O)TQ[O,59SO$qQ[O,59oO$vQ[O,59rO(aQ[O,59uO(aQ[O,59wO(aQ[O,59xO)`Q[O'#DbOOQS,58{,58{OOQP'#Ck'#CkOOQO'#DR'#DROOQP,59S,59SO)gQWO,59SO)lQWO,59SOOQP'#DV'#DVOOQP,59o,59oOOQO'#DX'#DXO)qQ`O,59rOOQS'#Cp'#CpO${QdO'#CqO)yQvO'#CsO+ZQtO,5:ROOQO'#Cx'#CxO)lQWO'#CwO+oQWO'#CyO+tQ[O'#DOOOQS'#Ep'#EpOOQO'#Dj'#DjO+|Q[O'#DqO,[QWO'#EtO&`Q[O'#DoO,jQWO'#DrOOQO'#Eu'#EuO)OQWO,5:`O,oQpO,5:bOOQS'#Dz'#DzO,wQWO,5:dO,|Q[O,5:dOOQO'#D}'#D}O-UQWO,5:gO-ZQWO,5:mO-cQWO,5:oOOQS-E8U-E8UO${QdO,59}O-kQ[O'#E^O-xQWO,5;_O-xQWO,5;_POOO'#EV'#EVP.TO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.zQXO,5:vOOQO-E8Y-E8YOOQS1G.g1G.gOOQP1G.n1G.nO)gQWO1G.nO)lQWO1G.nOOQP1G/Z1G/ZO/XQ`O1G/^O/rQXO1G/aO0YQXO1G/cO0pQXO1G/dO1WQWO,59|O1]Q[O'#DSO1dQdO'#CoOOQP1G/^1G/^O${QdO1G/^O1kQpO,59]OOQS,59_,59_O${QdO,59aO1sQWO1G/mOOQS,59c,59cO1xQ!bO,59eOOQS'#DP'#DPOOQS'#EY'#EYO2QQ[O,59jOOQS,59j,59jO2YQWO'#DjO2eQWO,5:VO2jQWO,5:]O&`Q[O,5:XO&`Q[O'#E_O2rQWO,5;`O2}QWO,5:ZO(aQ[O,5:^OOQS1G/z1G/zOOQS1G/|1G/|OOQS1G0O1G0OO3`QWO1G0OO3eQdO'#EOOOQS1G0R1G0ROOQS1G0X1G0XOOQS1G0Z1G0ZO3pQtO1G/iOOQO,5:x,5:xO4WQ[O,5:xOOQO-E8[-E8[O4eQWO1G0yPOOO-E8T-E8TPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$x7+$xO${QdO7+$xOOQS1G/h1G/hO4pQXO'#ErO4wQWO,59nO4|QtO'#EXO5tQdO'#EoO6OQWO,59ZO6TQpO7+$xOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%X7+%XO6]QWO1G/POOQS-E8W-E8WOOQS1G/U1G/UO${QdO1G/qOOQO1G/w1G/wOOQO1G/s1G/sO6bQWO,5:yOOQO-E8]-E8]O6pQXO1G/xOOQS7+%j7+%jO6wQYO'#CsOOQO'#EQ'#EQO7SQ`O'#EPOOQO'#EP'#EPO7_QWO'#E`O7gQdO,5:jOOQS,5:j,5:jO7rQtO'#E]O${QdO'#E]O8sQdO7+%TOOQO7+%T7+%TOOQO1G0d1G0dO9WQpO<<HdO9`QWO,5;^OOQP1G/Y1G/YOOQS-E8V-E8VO${QdO'#EZO9hQWO,5;ZOOQT1G.u1G.uOOQP<<Hd<<HdOOQS7+$k7+$kO9pQdO7+%]OOQO7+%d7+%dOOQO,5:k,5:kO3hQdO'#EaO7_QWO,5:zOOQS,5:z,5:zOOQS-E8^-E8^OOQS1G0U1G0UO9wQtO,5:wOOQS-E8Z-E8ZOOQO<<Ho<<HoOOQPAN>OAN>OO:xQdO,5:uOOQO-E8X-E8XOOQO<<Hw<<HwOOQO,5:{,5:{OOQO-E8_-E8_OOQS1G0f1G0f",
99
+ stateData: ";[~O#ZOS#[QQ~OUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XRO#bTO~OQfOUYOXYO]VO^VOqXOxWO![aO!]ZO!i[O!k]O!m^O!p_O!v`O#XeO#bTO~O#U#gP~P!ZO#[jO~O#XlO~O]qO^qOqsOtoOxrO!OtO!RvO#VuO#bnO~O!TwO~P#pO`}O#WzO#XyO~O#X!OO~O#X!QO~OQ![Ob!TOf![Oh![On!YOq!ZO#W!WO#X!SO#e!UO~Ob!^O!d!`O!g!aO#X!]O!T#hP~Oh!fOn!YO#X!eO~Oh!hO#X!hO~Ob!^O!d!`O!g!aO#X!]O~O!Y#hP~P%jO]WX]!WX^WXqWXtWXxWX!OWX!RWX!TWX#VWX#bWX~O]!mO~O!Y!nO#U#gX!S#gX~O#U#gX!S#gX~P!ZO#]!qO#^!qO#_!sO~OUYOXYO]VO^VOqXOxWO#XRO#bTO~OtoO!TwO~O`!zO#WzO#XyO~O!S#gP~P!ZOb#RO~Ob#SO~Op#TO|#UO~OP#WObgXjgX!YgX!dgX!ggX#XgXagXQgXfgXhgXngXqgXtgX!XgX#UgX#WgX#egXpgX!SgX~Ob!^Oj#XO!d!`O!g!aO#X!]O!Y#hP~Ob#[O~Op#`O#X#]O~Ob!^O!d!`O!g!aO#X#aO~Ot#eO!b#dO!T#hX!Y#hX~Ob#hO~Oj#XO!Y#jO~O!Y#kO~Oh#lOn!YO~O!T#mO~O!TwO!b#dO~O!TwO!Y#pO~O!Y#QX#U#QX!S#QX~P!ZO!Y!nO#U#ga!S#ga~O#]!qO#^!qO#_#wO~O]qO^qOqsOxrO!OtO!RvO#VuO#bnO~Ot#Oa!T#Oaa#Oa~P.`Op#yO|#zO~O]qO^qOqsOxrO#bnO~Ot}i!O}i!R}i!T}i#V}ia}i~P/aOt!Pi!O!Pi!R!Pi!T!Pi#V!Pia!Pi~P/aOt!Qi!O!Qi!R!Qi!T!Qi#V!Qia!Qi~P/aO!S#{O~Oa#fP~P(aOa#cP~P${Oa$SOj#XO~O!Y$UO~Oh$VOo$VO~Op$XO#X#]O~O]!`Xa!^X!b!^X~O]$YO~Oa$ZO!b#dO~Ot#eO!T#ha!Y#ha~O!b#dOt!ca!T!ca!Y!caa!ca~O!Y$`O~O!S$gO#X$bO#e$aO~Oj#XOt$iO!X$kO!Y!Vi#U!Vi!S!Vi~P${O!Y#Qa#U#Qa!S#Qa~P!ZO!Y!nO#U#gi!S#gi~Oa#fX~P#pOa$oO~Oj#XOQ!{Xa!{Xb!{Xf!{Xh!{Xn!{Xq!{Xt!{X#W!{X#X!{X#e!{X~Ot$qOa#cX~P${Oa$sO~Oj#XOp$tO~Oa$uO~O!b#dOt#Ra!T#Ra!Y#Ra~Oa$wO~P.`OP#WOtgX!TgX~O#e$aOt!sX!T!sX~Ot$yO!TwO~O!S$}O#X$bO#e$aO~Oj#XOQ#PXb#PXf#PXh#PXn#PXq#PXt#PX!X#PX!Y#PX#U#PX#W#PX#X#PX#e#PX!S#PX~Ot$iO!X%QO!Y!Vq#U!Vq!S!Vq~P${Oj#XOp%RO~OtoOa#fa~Ot$qOa#ca~Oa%UO~P${Oj#XOQ#Pab#Paf#Pah#Pan#Paq#Pat#Pa!X#Pa!Y#Pa#U#Pa#W#Pa#X#Pa#e#Pa!S#Pa~Oa!}at!}a~P${O#Zo#[#ej!R#e~",
100
+ goto: "-g#jPPP#kP#nP#w$WP#w$g#wPP$mPPP$s$|$|P%`P$|P$|%z&^PPPP$|&vP&z'Q#wP'W#w'^P#wP#w#wPPP'd'y(WPP#nPP(_(_(i(_P(_P(_(_P#nP#nP#nP(l#nP(o(r(u(|#nP#nP)R)X)h)v)|*S*^*d*n*t*zPPPPPPPPPP+Q+ZP+v+yP,o,r,x-RRkQ_bOPdhw!n#skYOPdhotuvw!n#R#h#skSOPdhotuvw!n#R#h#sQmTR!tnQ{VR!xqQ!x}Q#Z!XR#x!zq![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SU$d#m$f$yR$x$cq!XZ]!T!m#S#U#X#q#z$P$Y$i$j$q$v%Sp![Z]!T!m#S#U#X#q#z$P$Y$i$j$q$v%SQ!f^R#l!gT#^!Z#_Q|VR!yqQ!x|R#x!yQ!PWR!{rQ!RXR!|sQxUQ!wpQ#i!cQ#o!jQ#p!kQ${$eR%X$zSgPwQ!phQ#r!nR$l#sZfPhw!n#sa!b[`a!V!^!`#d#eR#b!^R!g^R!i_R#n!iS$e#m$fR%V$yV$c#m$f$yQ!rjR#v!rQdOShPwU!ldh#sR#s!nQ$P#SU$p$P$v%SQ$v$YR%S$qQ#_!ZR$W#_Q$r$PR%T$rQpUS!vp$nR$n#|Q$j#qR%P$jQ!ogS#t!o#uR#u!pQ#f!_R$^#fQ$f#mR$|$fQ$z$eR%W$z_cOPdhw!n#s^UOPdhw!n#sQ!uoQ!}tQ#OuQ#PvQ#|#RR$_#hR$Q#SQ!VZQ!d]Q#V!TQ#q!m[$O#S$P$Y$q$v%SQ$R#UQ$T#XS$h#q$jQ$m#zR%O$iR#}#RQiPR#QwQ!c[Q!kaR#Y!VU!_[a!VQ!j`Q#c!^Q#g!`Q$[#dR$]#e",
101
+ nodeNames: "⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent ] [ LineNames LineName , PseudoClassName ArgList IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",
102
+ maxTerm: 117,
103
+ nodeProps: [
104
+ ["isolate", -2, 3, 24, ""],
105
+ ["openedBy", 17, "(", 32, "[", 50, "{"],
106
+ ["closedBy", 18, ")", 33, "]", 51, "}"]
107
+ ],
108
+ propSources: [M],
109
+ skippedNodes: [0, 3, 87],
110
+ repeatNodeCount: 11,
111
+ tokenData: "J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#Z~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#Z~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!X[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYxQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QS|So`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!RQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#e[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#e[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSt^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#bQOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#[~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#e[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!Y^Oy%^z;'S%^;'S;=`%o<%lO%^dCoS|SOy%^z;'S%^;'S;=`%o<%lO%^bDQU!OQOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS!OQo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[![Qo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^nFfSq^Oy%^z;'S%^;'S;=`%o<%lO%^nFwSp^Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!bQo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!TUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!S^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!RQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",
112
+ tokenizers: [J, H, A, 1, 2, 3, 4, new v("m~RRYZ[z{a~~g~aO#^~~dP!P!Qg~lO#_~~", 28, 105)],
113
+ topRules: { StyleSheet: [0, 4], Styles: [1, 86] },
114
+ specialized: [{ term: 100, get: (e) => ee[e] || -1 }, { term: 58, get: (e) => Oe[e] || -1 }, { term: 101, get: (e) => ae[e] || -1 }],
115
+ tokenPrec: 1200
116
+ });
117
+ let p = null;
118
+ function u() {
119
+ if (!p && typeof document == "object" && document.body) {
120
+ let { style: e } = document.body, t = [], l = /* @__PURE__ */ new Set();
121
+ for (let a in e)
122
+ a != "cssText" && a != "cssFloat" && typeof e[a] == "string" && (/[A-Z]/.test(a) && (a = a.replace(/[A-Z]/g, (O) => "-" + O.toLowerCase())), l.has(a) || (t.push(a), l.add(a)));
123
+ p = t.sort().map((a) => ({ type: "property", label: a }));
124
+ }
125
+ return p || [];
126
+ }
127
+ const f = /* @__PURE__ */ [
128
+ "active",
129
+ "after",
130
+ "any-link",
131
+ "autofill",
132
+ "backdrop",
133
+ "before",
134
+ "checked",
135
+ "cue",
136
+ "default",
137
+ "defined",
138
+ "disabled",
139
+ "empty",
140
+ "enabled",
141
+ "file-selector-button",
142
+ "first",
143
+ "first-child",
144
+ "first-letter",
145
+ "first-line",
146
+ "first-of-type",
147
+ "focus",
148
+ "focus-visible",
149
+ "focus-within",
150
+ "fullscreen",
151
+ "has",
152
+ "host",
153
+ "host-context",
154
+ "hover",
155
+ "in-range",
156
+ "indeterminate",
157
+ "invalid",
158
+ "is",
159
+ "lang",
160
+ "last-child",
161
+ "last-of-type",
162
+ "left",
163
+ "link",
164
+ "marker",
165
+ "modal",
166
+ "not",
167
+ "nth-child",
168
+ "nth-last-child",
169
+ "nth-last-of-type",
170
+ "nth-of-type",
171
+ "only-child",
172
+ "only-of-type",
173
+ "optional",
174
+ "out-of-range",
175
+ "part",
176
+ "placeholder",
177
+ "placeholder-shown",
178
+ "read-only",
179
+ "read-write",
180
+ "required",
181
+ "right",
182
+ "root",
183
+ "scope",
184
+ "selection",
185
+ "slotted",
186
+ "target",
187
+ "target-text",
188
+ "valid",
189
+ "visited",
190
+ "where"
191
+ ].map((e) => ({ type: "class", label: e })), h = /* @__PURE__ */ [
192
+ "above",
193
+ "absolute",
194
+ "activeborder",
195
+ "additive",
196
+ "activecaption",
197
+ "after-white-space",
198
+ "ahead",
199
+ "alias",
200
+ "all",
201
+ "all-scroll",
202
+ "alphabetic",
203
+ "alternate",
204
+ "always",
205
+ "antialiased",
206
+ "appworkspace",
207
+ "asterisks",
208
+ "attr",
209
+ "auto",
210
+ "auto-flow",
211
+ "avoid",
212
+ "avoid-column",
213
+ "avoid-page",
214
+ "avoid-region",
215
+ "axis-pan",
216
+ "background",
217
+ "backwards",
218
+ "baseline",
219
+ "below",
220
+ "bidi-override",
221
+ "blink",
222
+ "block",
223
+ "block-axis",
224
+ "bold",
225
+ "bolder",
226
+ "border",
227
+ "border-box",
228
+ "both",
229
+ "bottom",
230
+ "break",
231
+ "break-all",
232
+ "break-word",
233
+ "bullets",
234
+ "button",
235
+ "button-bevel",
236
+ "buttonface",
237
+ "buttonhighlight",
238
+ "buttonshadow",
239
+ "buttontext",
240
+ "calc",
241
+ "capitalize",
242
+ "caps-lock-indicator",
243
+ "caption",
244
+ "captiontext",
245
+ "caret",
246
+ "cell",
247
+ "center",
248
+ "checkbox",
249
+ "circle",
250
+ "cjk-decimal",
251
+ "clear",
252
+ "clip",
253
+ "close-quote",
254
+ "col-resize",
255
+ "collapse",
256
+ "color",
257
+ "color-burn",
258
+ "color-dodge",
259
+ "column",
260
+ "column-reverse",
261
+ "compact",
262
+ "condensed",
263
+ "contain",
264
+ "content",
265
+ "contents",
266
+ "content-box",
267
+ "context-menu",
268
+ "continuous",
269
+ "copy",
270
+ "counter",
271
+ "counters",
272
+ "cover",
273
+ "crop",
274
+ "cross",
275
+ "crosshair",
276
+ "currentcolor",
277
+ "cursive",
278
+ "cyclic",
279
+ "darken",
280
+ "dashed",
281
+ "decimal",
282
+ "decimal-leading-zero",
283
+ "default",
284
+ "default-button",
285
+ "dense",
286
+ "destination-atop",
287
+ "destination-in",
288
+ "destination-out",
289
+ "destination-over",
290
+ "difference",
291
+ "disc",
292
+ "discard",
293
+ "disclosure-closed",
294
+ "disclosure-open",
295
+ "document",
296
+ "dot-dash",
297
+ "dot-dot-dash",
298
+ "dotted",
299
+ "double",
300
+ "down",
301
+ "e-resize",
302
+ "ease",
303
+ "ease-in",
304
+ "ease-in-out",
305
+ "ease-out",
306
+ "element",
307
+ "ellipse",
308
+ "ellipsis",
309
+ "embed",
310
+ "end",
311
+ "ethiopic-abegede-gez",
312
+ "ethiopic-halehame-aa-er",
313
+ "ethiopic-halehame-gez",
314
+ "ew-resize",
315
+ "exclusion",
316
+ "expanded",
317
+ "extends",
318
+ "extra-condensed",
319
+ "extra-expanded",
320
+ "fantasy",
321
+ "fast",
322
+ "fill",
323
+ "fill-box",
324
+ "fixed",
325
+ "flat",
326
+ "flex",
327
+ "flex-end",
328
+ "flex-start",
329
+ "footnotes",
330
+ "forwards",
331
+ "from",
332
+ "geometricPrecision",
333
+ "graytext",
334
+ "grid",
335
+ "groove",
336
+ "hand",
337
+ "hard-light",
338
+ "help",
339
+ "hidden",
340
+ "hide",
341
+ "higher",
342
+ "highlight",
343
+ "highlighttext",
344
+ "horizontal",
345
+ "hsl",
346
+ "hsla",
347
+ "hue",
348
+ "icon",
349
+ "ignore",
350
+ "inactiveborder",
351
+ "inactivecaption",
352
+ "inactivecaptiontext",
353
+ "infinite",
354
+ "infobackground",
355
+ "infotext",
356
+ "inherit",
357
+ "initial",
358
+ "inline",
359
+ "inline-axis",
360
+ "inline-block",
361
+ "inline-flex",
362
+ "inline-grid",
363
+ "inline-table",
364
+ "inset",
365
+ "inside",
366
+ "intrinsic",
367
+ "invert",
368
+ "italic",
369
+ "justify",
370
+ "keep-all",
371
+ "landscape",
372
+ "large",
373
+ "larger",
374
+ "left",
375
+ "level",
376
+ "lighter",
377
+ "lighten",
378
+ "line-through",
379
+ "linear",
380
+ "linear-gradient",
381
+ "lines",
382
+ "list-item",
383
+ "listbox",
384
+ "listitem",
385
+ "local",
386
+ "logical",
387
+ "loud",
388
+ "lower",
389
+ "lower-hexadecimal",
390
+ "lower-latin",
391
+ "lower-norwegian",
392
+ "lowercase",
393
+ "ltr",
394
+ "luminosity",
395
+ "manipulation",
396
+ "match",
397
+ "matrix",
398
+ "matrix3d",
399
+ "medium",
400
+ "menu",
401
+ "menutext",
402
+ "message-box",
403
+ "middle",
404
+ "min-intrinsic",
405
+ "mix",
406
+ "monospace",
407
+ "move",
408
+ "multiple",
409
+ "multiple_mask_images",
410
+ "multiply",
411
+ "n-resize",
412
+ "narrower",
413
+ "ne-resize",
414
+ "nesw-resize",
415
+ "no-close-quote",
416
+ "no-drop",
417
+ "no-open-quote",
418
+ "no-repeat",
419
+ "none",
420
+ "normal",
421
+ "not-allowed",
422
+ "nowrap",
423
+ "ns-resize",
424
+ "numbers",
425
+ "numeric",
426
+ "nw-resize",
427
+ "nwse-resize",
428
+ "oblique",
429
+ "opacity",
430
+ "open-quote",
431
+ "optimizeLegibility",
432
+ "optimizeSpeed",
433
+ "outset",
434
+ "outside",
435
+ "outside-shape",
436
+ "overlay",
437
+ "overline",
438
+ "padding",
439
+ "padding-box",
440
+ "painted",
441
+ "page",
442
+ "paused",
443
+ "perspective",
444
+ "pinch-zoom",
445
+ "plus-darker",
446
+ "plus-lighter",
447
+ "pointer",
448
+ "polygon",
449
+ "portrait",
450
+ "pre",
451
+ "pre-line",
452
+ "pre-wrap",
453
+ "preserve-3d",
454
+ "progress",
455
+ "push-button",
456
+ "radial-gradient",
457
+ "radio",
458
+ "read-only",
459
+ "read-write",
460
+ "read-write-plaintext-only",
461
+ "rectangle",
462
+ "region",
463
+ "relative",
464
+ "repeat",
465
+ "repeating-linear-gradient",
466
+ "repeating-radial-gradient",
467
+ "repeat-x",
468
+ "repeat-y",
469
+ "reset",
470
+ "reverse",
471
+ "rgb",
472
+ "rgba",
473
+ "ridge",
474
+ "right",
475
+ "rotate",
476
+ "rotate3d",
477
+ "rotateX",
478
+ "rotateY",
479
+ "rotateZ",
480
+ "round",
481
+ "row",
482
+ "row-resize",
483
+ "row-reverse",
484
+ "rtl",
485
+ "run-in",
486
+ "running",
487
+ "s-resize",
488
+ "sans-serif",
489
+ "saturation",
490
+ "scale",
491
+ "scale3d",
492
+ "scaleX",
493
+ "scaleY",
494
+ "scaleZ",
495
+ "screen",
496
+ "scroll",
497
+ "scrollbar",
498
+ "scroll-position",
499
+ "se-resize",
500
+ "self-start",
501
+ "self-end",
502
+ "semi-condensed",
503
+ "semi-expanded",
504
+ "separate",
505
+ "serif",
506
+ "show",
507
+ "single",
508
+ "skew",
509
+ "skewX",
510
+ "skewY",
511
+ "skip-white-space",
512
+ "slide",
513
+ "slider-horizontal",
514
+ "slider-vertical",
515
+ "sliderthumb-horizontal",
516
+ "sliderthumb-vertical",
517
+ "slow",
518
+ "small",
519
+ "small-caps",
520
+ "small-caption",
521
+ "smaller",
522
+ "soft-light",
523
+ "solid",
524
+ "source-atop",
525
+ "source-in",
526
+ "source-out",
527
+ "source-over",
528
+ "space",
529
+ "space-around",
530
+ "space-between",
531
+ "space-evenly",
532
+ "spell-out",
533
+ "square",
534
+ "start",
535
+ "static",
536
+ "status-bar",
537
+ "stretch",
538
+ "stroke",
539
+ "stroke-box",
540
+ "sub",
541
+ "subpixel-antialiased",
542
+ "svg_masks",
543
+ "super",
544
+ "sw-resize",
545
+ "symbolic",
546
+ "symbols",
547
+ "system-ui",
548
+ "table",
549
+ "table-caption",
550
+ "table-cell",
551
+ "table-column",
552
+ "table-column-group",
553
+ "table-footer-group",
554
+ "table-header-group",
555
+ "table-row",
556
+ "table-row-group",
557
+ "text",
558
+ "text-bottom",
559
+ "text-top",
560
+ "textarea",
561
+ "textfield",
562
+ "thick",
563
+ "thin",
564
+ "threeddarkshadow",
565
+ "threedface",
566
+ "threedhighlight",
567
+ "threedlightshadow",
568
+ "threedshadow",
569
+ "to",
570
+ "top",
571
+ "transform",
572
+ "translate",
573
+ "translate3d",
574
+ "translateX",
575
+ "translateY",
576
+ "translateZ",
577
+ "transparent",
578
+ "ultra-condensed",
579
+ "ultra-expanded",
580
+ "underline",
581
+ "unidirectional-pan",
582
+ "unset",
583
+ "up",
584
+ "upper-latin",
585
+ "uppercase",
586
+ "url",
587
+ "var",
588
+ "vertical",
589
+ "vertical-text",
590
+ "view-box",
591
+ "visible",
592
+ "visibleFill",
593
+ "visiblePainted",
594
+ "visibleStroke",
595
+ "visual",
596
+ "w-resize",
597
+ "wait",
598
+ "wave",
599
+ "wider",
600
+ "window",
601
+ "windowframe",
602
+ "windowtext",
603
+ "words",
604
+ "wrap",
605
+ "wrap-reverse",
606
+ "x-large",
607
+ "x-small",
608
+ "xor",
609
+ "xx-large",
610
+ "xx-small"
611
+ ].map((e) => ({ type: "keyword", label: e })).concat(/* @__PURE__ */ [
612
+ "aliceblue",
613
+ "antiquewhite",
614
+ "aqua",
615
+ "aquamarine",
616
+ "azure",
617
+ "beige",
618
+ "bisque",
619
+ "black",
620
+ "blanchedalmond",
621
+ "blue",
622
+ "blueviolet",
623
+ "brown",
624
+ "burlywood",
625
+ "cadetblue",
626
+ "chartreuse",
627
+ "chocolate",
628
+ "coral",
629
+ "cornflowerblue",
630
+ "cornsilk",
631
+ "crimson",
632
+ "cyan",
633
+ "darkblue",
634
+ "darkcyan",
635
+ "darkgoldenrod",
636
+ "darkgray",
637
+ "darkgreen",
638
+ "darkkhaki",
639
+ "darkmagenta",
640
+ "darkolivegreen",
641
+ "darkorange",
642
+ "darkorchid",
643
+ "darkred",
644
+ "darksalmon",
645
+ "darkseagreen",
646
+ "darkslateblue",
647
+ "darkslategray",
648
+ "darkturquoise",
649
+ "darkviolet",
650
+ "deeppink",
651
+ "deepskyblue",
652
+ "dimgray",
653
+ "dodgerblue",
654
+ "firebrick",
655
+ "floralwhite",
656
+ "forestgreen",
657
+ "fuchsia",
658
+ "gainsboro",
659
+ "ghostwhite",
660
+ "gold",
661
+ "goldenrod",
662
+ "gray",
663
+ "grey",
664
+ "green",
665
+ "greenyellow",
666
+ "honeydew",
667
+ "hotpink",
668
+ "indianred",
669
+ "indigo",
670
+ "ivory",
671
+ "khaki",
672
+ "lavender",
673
+ "lavenderblush",
674
+ "lawngreen",
675
+ "lemonchiffon",
676
+ "lightblue",
677
+ "lightcoral",
678
+ "lightcyan",
679
+ "lightgoldenrodyellow",
680
+ "lightgray",
681
+ "lightgreen",
682
+ "lightpink",
683
+ "lightsalmon",
684
+ "lightseagreen",
685
+ "lightskyblue",
686
+ "lightslategray",
687
+ "lightsteelblue",
688
+ "lightyellow",
689
+ "lime",
690
+ "limegreen",
691
+ "linen",
692
+ "magenta",
693
+ "maroon",
694
+ "mediumaquamarine",
695
+ "mediumblue",
696
+ "mediumorchid",
697
+ "mediumpurple",
698
+ "mediumseagreen",
699
+ "mediumslateblue",
700
+ "mediumspringgreen",
701
+ "mediumturquoise",
702
+ "mediumvioletred",
703
+ "midnightblue",
704
+ "mintcream",
705
+ "mistyrose",
706
+ "moccasin",
707
+ "navajowhite",
708
+ "navy",
709
+ "oldlace",
710
+ "olive",
711
+ "olivedrab",
712
+ "orange",
713
+ "orangered",
714
+ "orchid",
715
+ "palegoldenrod",
716
+ "palegreen",
717
+ "paleturquoise",
718
+ "palevioletred",
719
+ "papayawhip",
720
+ "peachpuff",
721
+ "peru",
722
+ "pink",
723
+ "plum",
724
+ "powderblue",
725
+ "purple",
726
+ "rebeccapurple",
727
+ "red",
728
+ "rosybrown",
729
+ "royalblue",
730
+ "saddlebrown",
731
+ "salmon",
732
+ "sandybrown",
733
+ "seagreen",
734
+ "seashell",
735
+ "sienna",
736
+ "silver",
737
+ "skyblue",
738
+ "slateblue",
739
+ "slategray",
740
+ "snow",
741
+ "springgreen",
742
+ "steelblue",
743
+ "tan",
744
+ "teal",
745
+ "thistle",
746
+ "tomato",
747
+ "turquoise",
748
+ "violet",
749
+ "wheat",
750
+ "white",
751
+ "whitesmoke",
752
+ "yellow",
753
+ "yellowgreen"
754
+ ].map((e) => ({ type: "constant", label: e }))), oe = /* @__PURE__ */ [
755
+ "a",
756
+ "abbr",
757
+ "address",
758
+ "article",
759
+ "aside",
760
+ "b",
761
+ "bdi",
762
+ "bdo",
763
+ "blockquote",
764
+ "body",
765
+ "br",
766
+ "button",
767
+ "canvas",
768
+ "caption",
769
+ "cite",
770
+ "code",
771
+ "col",
772
+ "colgroup",
773
+ "dd",
774
+ "del",
775
+ "details",
776
+ "dfn",
777
+ "dialog",
778
+ "div",
779
+ "dl",
780
+ "dt",
781
+ "em",
782
+ "figcaption",
783
+ "figure",
784
+ "footer",
785
+ "form",
786
+ "header",
787
+ "hgroup",
788
+ "h1",
789
+ "h2",
790
+ "h3",
791
+ "h4",
792
+ "h5",
793
+ "h6",
794
+ "hr",
795
+ "html",
796
+ "i",
797
+ "iframe",
798
+ "img",
799
+ "input",
800
+ "ins",
801
+ "kbd",
802
+ "label",
803
+ "legend",
804
+ "li",
805
+ "main",
806
+ "meter",
807
+ "nav",
808
+ "ol",
809
+ "output",
810
+ "p",
811
+ "pre",
812
+ "ruby",
813
+ "section",
814
+ "select",
815
+ "small",
816
+ "source",
817
+ "span",
818
+ "strong",
819
+ "sub",
820
+ "summary",
821
+ "sup",
822
+ "table",
823
+ "tbody",
824
+ "td",
825
+ "template",
826
+ "textarea",
827
+ "tfoot",
828
+ "th",
829
+ "thead",
830
+ "tr",
831
+ "u",
832
+ "ul"
833
+ ].map((e) => ({ type: "type", label: e })), s = /^(\w[\w-]*|-\w[\w-]*|)$/, re = /^-(-[\w-]*)?$/;
834
+ function le(e, t) {
835
+ var l;
836
+ if ((e.name == "(" || e.type.isError) && (e = e.parent || e), e.name != "ArgList")
837
+ return !1;
838
+ let a = (l = e.parent) === null || l === void 0 ? void 0 : l.firstChild;
839
+ return (a == null ? void 0 : a.name) != "Callee" ? !1 : t.sliceString(a.from, a.to) == "var";
840
+ }
841
+ const b = /* @__PURE__ */ new _(), ie = ["Declaration"];
842
+ function ne(e) {
843
+ for (let t = e; ; ) {
844
+ if (t.type.isTop)
845
+ return t;
846
+ if (!(t = t.parent))
847
+ return e;
848
+ }
849
+ }
850
+ function X(e, t, l) {
851
+ if (t.to - t.from > 4096) {
852
+ let a = b.get(t);
853
+ if (a)
854
+ return a;
855
+ let O = [], r = /* @__PURE__ */ new Set(), i = t.cursor(q.IncludeAnonymous);
856
+ if (i.firstChild())
857
+ do
858
+ for (let n of X(e, i.node, l))
859
+ r.has(n.label) || (r.add(n.label), O.push(n));
860
+ while (i.nextSibling());
861
+ return b.set(t, O), O;
862
+ } else {
863
+ let a = [], O = /* @__PURE__ */ new Set();
864
+ return t.cursor().iterate((r) => {
865
+ var i;
866
+ if (l(r) && r.matchContext(ie) && ((i = r.node.nextSibling) === null || i === void 0 ? void 0 : i.name) == ":") {
867
+ let n = e.sliceString(r.from, r.to);
868
+ O.has(n) || (O.add(n), a.push({ label: n, type: "variable" }));
869
+ }
870
+ }), a;
871
+ }
872
+ }
873
+ const se = (e) => (t) => {
874
+ let { state: l, pos: a } = t, O = k(l).resolveInner(a, -1), r = O.type.isError && O.from == O.to - 1 && l.doc.sliceString(O.from, O.to) == "-";
875
+ if (O.name == "PropertyName" || (r || O.name == "TagName") && /^(Block|Styles)$/.test(O.resolve(O.to).name))
876
+ return { from: O.from, options: u(), validFor: s };
877
+ if (O.name == "ValueName")
878
+ return { from: O.from, options: h, validFor: s };
879
+ if (O.name == "PseudoClassName")
880
+ return { from: O.from, options: f, validFor: s };
881
+ if (e(O) || (t.explicit || r) && le(O, l.doc))
882
+ return {
883
+ from: e(O) || r ? O.from : a,
884
+ options: X(l.doc, ne(O), e),
885
+ validFor: re
886
+ };
887
+ if (O.name == "TagName") {
888
+ for (let { parent: c } = O; c; c = c.parent)
889
+ if (c.name == "Block")
890
+ return { from: O.from, options: u(), validFor: s };
891
+ return { from: O.from, options: oe, validFor: s };
892
+ }
893
+ if (!t.explicit)
894
+ return null;
895
+ let i = O.resolve(a), n = i.childBefore(a);
896
+ return n && n.name == ":" && i.name == "PseudoClassSelector" ? { from: a, options: f, validFor: s } : n && n.name == ":" && i.name == "Declaration" || i.name == "ArgList" ? { from: a, options: h, validFor: s } : i.name == "Block" || i.name == "Styles" ? { from: a, options: u(), validFor: s } : null;
897
+ }, de = /* @__PURE__ */ se((e) => e.name == "VariableName"), $ = /* @__PURE__ */ x.define({
898
+ name: "css",
899
+ parser: /* @__PURE__ */ te.configure({
900
+ props: [
901
+ /* @__PURE__ */ T.add({
902
+ Declaration: /* @__PURE__ */ W()
903
+ }),
904
+ /* @__PURE__ */ R.add({
905
+ "Block KeyframeList": U
906
+ })
907
+ ]
908
+ }),
909
+ languageData: {
910
+ commentTokens: { block: { open: "/*", close: "*/" } },
911
+ indentOnInput: /^\s*\}$/,
912
+ wordChars: "-"
913
+ }
914
+ });
915
+ function pe() {
916
+ return new Y($, $.data.of({ autocomplete: de }));
917
+ }
918
+ export {
919
+ pe as css,
920
+ de as cssCompletionSource,
921
+ $ as cssLanguage,
922
+ se as defineCSSCompletionSource
923
+ };
src/backend/gradio_highlightedcode/templates/component/index-8d61f887.js ADDED
@@ -0,0 +1,546 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { E as P, C as G, L as k } from "./index-3f1cf095.js";
2
+ import { s as E, t as i, a as _, i as U, L as z, b as j, d as $, f as A, c as F, e as I, I as N, g as C, N as D, h as S } from "./Index-805076c9.js";
3
+ const L = 1, m = 206, y = 207, H = 208, c = 209, J = 210, B = 211, M = 212, K = 2, OO = 213, rO = 214, oO = 3, aO = 215, iO = 216, eO = 4, QO = 217, xO = 218, SO = 5, sO = 219, TO = 26, tO = 27, nO = 51, PO = 52, lO = 57, pO = 58, $O = 59, qO = 61, XO = 62, wO = 63, dO = 64, YO = 65, cO = 67, ZO = 256, fO = 74, bO = 275, vO = 120, mO = 138, yO = 159, RO = 160, uO = 163, T = 10, t = 13, d = 32, l = 9, Y = 35, WO = 40, VO = 46, Z = 123, R = 39, u = 34, gO = 92, hO = /* @__PURE__ */ new Set([
4
+ tO,
5
+ nO,
6
+ PO,
7
+ bO,
8
+ cO,
9
+ mO,
10
+ pO,
11
+ $O,
12
+ ZO,
13
+ dO,
14
+ YO,
15
+ fO,
16
+ XO,
17
+ wO,
18
+ yO,
19
+ RO,
20
+ uO,
21
+ vO
22
+ ]);
23
+ function q(O) {
24
+ return O == T || O == t;
25
+ }
26
+ const GO = new P((O, r) => {
27
+ let o;
28
+ if (O.next < 0)
29
+ O.acceptToken(B);
30
+ else if (r.context.depth < 0)
31
+ q(O.next) && O.acceptToken(J, 1);
32
+ else if (((o = O.peek(-1)) < 0 || q(o)) && r.canShift(c)) {
33
+ let a = 0;
34
+ for (; O.next == d || O.next == l; )
35
+ O.advance(), a++;
36
+ (O.next == T || O.next == t || O.next == Y) && O.acceptToken(c, -a);
37
+ } else
38
+ q(O.next) && O.acceptToken(H, 1);
39
+ }, { contextual: !0 }), kO = new P((O, r) => {
40
+ let o = r.context.depth;
41
+ if (o < 0)
42
+ return;
43
+ let a = O.peek(-1);
44
+ if (a == T || a == t) {
45
+ let e = 0, Q = 0;
46
+ for (; ; ) {
47
+ if (O.next == d)
48
+ e++;
49
+ else if (O.next == l)
50
+ e += 8 - e % 8;
51
+ else
52
+ break;
53
+ O.advance(), Q++;
54
+ }
55
+ e != o && O.next != T && O.next != t && O.next != Y && (e < o ? O.acceptToken(y, -Q) : O.acceptToken(m));
56
+ }
57
+ });
58
+ function w(O, r) {
59
+ this.parent = O, this.depth = r, this.hash = (O ? O.hash + O.hash << 8 : 0) + r + (r << 4);
60
+ }
61
+ const EO = new w(null, 0);
62
+ function _O(O) {
63
+ let r = 0;
64
+ for (let o = 0; o < O.length; o++)
65
+ r += O.charCodeAt(o) == l ? 8 - r % 8 : 1;
66
+ return r;
67
+ }
68
+ const UO = new G({
69
+ start: EO,
70
+ reduce(O, r) {
71
+ return O.depth < 0 && hO.has(r) ? O.parent : O;
72
+ },
73
+ shift(O, r, o, a) {
74
+ return r == m ? new w(O, _O(a.read(a.pos, o.pos))) : r == y ? O.parent : r == TO || r == lO || r == qO ? new w(O, -1) : O;
75
+ },
76
+ hash(O) {
77
+ return O.hash;
78
+ }
79
+ }), zO = new P((O) => {
80
+ for (let r = 0; r < 5; r++) {
81
+ if (O.next != "print".charCodeAt(r))
82
+ return;
83
+ O.advance();
84
+ }
85
+ if (!/\w/.test(String.fromCharCode(O.next)))
86
+ for (let r = 0; ; r++) {
87
+ let o = O.peek(r);
88
+ if (!(o == d || o == l)) {
89
+ o != WO && o != VO && o != T && o != t && o != Y && O.acceptToken(L);
90
+ return;
91
+ }
92
+ }
93
+ });
94
+ function p(O, r, o, a, e) {
95
+ return new P((Q) => {
96
+ let x = Q.pos;
97
+ for (; !(Q.next < 0); )
98
+ if (Q.next == Z)
99
+ if (Q.peek(1) == Z)
100
+ Q.advance(2);
101
+ else {
102
+ if (Q.pos == x) {
103
+ Q.acceptToken(a, 1);
104
+ return;
105
+ }
106
+ break;
107
+ }
108
+ else if (Q.next == gO)
109
+ Q.advance(), Q.next >= 0 && Q.advance();
110
+ else if (Q.next == O && (r == 1 || Q.peek(1) == O && Q.peek(2) == O)) {
111
+ if (Q.pos == x) {
112
+ Q.acceptToken(e, r);
113
+ return;
114
+ }
115
+ break;
116
+ } else
117
+ Q.advance();
118
+ Q.pos > x && Q.acceptToken(o);
119
+ });
120
+ }
121
+ const jO = p(R, 1, M, K, OO), AO = p(u, 1, rO, oO, aO), FO = p(R, 3, iO, eO, QO), IO = p(u, 3, xO, SO, sO), NO = E({
122
+ 'async "*" "**" FormatConversion FormatSpec': i.modifier,
123
+ "for while if elif else try except finally return raise break continue with pass assert await yield match case": i.controlKeyword,
124
+ "in not and or is del": i.operatorKeyword,
125
+ "from def class global nonlocal lambda": i.definitionKeyword,
126
+ import: i.moduleKeyword,
127
+ "with as print": i.keyword,
128
+ Boolean: i.bool,
129
+ None: i.null,
130
+ VariableName: i.variableName,
131
+ "CallExpression/VariableName": i.function(i.variableName),
132
+ "FunctionDefinition/VariableName": i.function(i.definition(i.variableName)),
133
+ "ClassDefinition/VariableName": i.definition(i.className),
134
+ PropertyName: i.propertyName,
135
+ "CallExpression/MemberExpression/PropertyName": i.function(i.propertyName),
136
+ Comment: i.lineComment,
137
+ Number: i.number,
138
+ String: i.string,
139
+ FormatString: i.special(i.string),
140
+ UpdateOp: i.updateOperator,
141
+ "ArithOp!": i.arithmeticOperator,
142
+ BitOp: i.bitwiseOperator,
143
+ CompareOp: i.compareOperator,
144
+ AssignOp: i.definitionOperator,
145
+ Ellipsis: i.punctuation,
146
+ At: i.meta,
147
+ "( )": i.paren,
148
+ "[ ]": i.squareBracket,
149
+ "{ }": i.brace,
150
+ ".": i.derefOperator,
151
+ ", ;": i.separator
152
+ }), CO = { __proto__: null, await: 48, or: 58, and: 60, in: 64, not: 66, is: 68, if: 74, else: 76, lambda: 80, yield: 98, from: 100, async: 106, for: 108, None: 178, True: 180, False: 180, del: 194, pass: 198, break: 202, continue: 206, return: 210, raise: 218, import: 222, as: 224, global: 228, nonlocal: 230, assert: 234, type: 239, elif: 252, while: 256, try: 262, except: 264, finally: 266, with: 270, def: 274, class: 284, match: 295, case: 301 }, DO = k.deserialize({
153
+ version: 14,
154
+ states: "#)WO`Q#yOOP$bOSOOO%kQ&nO'#HhOOQS'#Cq'#CqOOQS'#Cr'#CrO'ZQ#xO'#CpO(|Q&nO'#HgOOQS'#Hh'#HhOOQS'#DW'#DWOOQS'#Hg'#HgO)jQ#xO'#DaO)}Q#xO'#DhO*_Q#xO'#DlOOQS'#Dw'#DwO*rO,UO'#DwO*zO7[O'#DwO+SOWO'#DxO+_O`O'#DxO+jOpO'#DxO+uO!bO'#DxO-wQ&nO'#HXOOQS'#HX'#HXO'ZQ#xO'#HWO/ZQ&nO'#HWOOQS'#Ej'#EjO/rQ#xO'#EkOOQS'#HV'#HVO/|Q#xO'#HUOOQV'#HU'#HUO0XQ#xO'#FbOOQS'#Gj'#GjO0^Q#xO'#FaOOQV'#I_'#I_OOQV'#HT'#HTOOQV'#Fy'#FyQ`Q#yOOO'ZQ#xO'#CsO0lQ#xO'#DPO0sQ#xO'#DTO1RQ#xO'#HlO1cQ&nO'#E_O'ZQ#xO'#E`OOQS'#Eb'#EbOOQS'#Ed'#EdOOQS'#Ef'#EfO1wQ#xO'#EhO2_Q#xO'#ElO0XQ#xO'#EnO2rQ&nO'#EnO0XQ#xO'#EqO/rQ#xO'#EtO0XQ#xO'#EvO/rQ#xO'#E|O/rQ#xO'#FPO2}Q#xO'#FRO3UQ#xO'#FWO3aQ#xO'#FSO/rQ#xO'#FWO0XQ#xO'#FYO0XQ#xO'#F_O3fQ#xO'#FdP3mO#xO'#HSPOOO)CBv)CBvOOQS'#Cg'#CgOOQS'#Ch'#ChOOQS'#Ci'#CiOOQS'#Cj'#CjOOQS'#Ck'#CkOOQS'#Cl'#ClOOQS'#Cn'#CnO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO'ZQ#xO,59QO3xQ#xO'#DqOOQS,5:[,5:[O4]Q#xO'#HvOOQS,5:_,5:_O4jQMlO,5:_O4oQ&nO,59[O0lQ#xO,59dO0lQ#xO,59dO0lQ#xO,59dO7_Q#xO,59dO7dQ#xO,59dO7kQ#xO,59lO7rQ#xO'#HgO8xQ#xO'#HfOOQS'#Hf'#HfOOQS'#D^'#D^O9aQ#xO,59cO'ZQ#xO,59cO9oQ#xO,59cOOQS,59{,59{O9tQ#xO,5:TO'ZQ#xO,5:TOOQS,5:S,5:SO:SQ#xO,5:SO:XQ#xO,5:ZO'ZQ#xO,5:ZO'ZQ#xO,5:XOOQS,5:W,5:WO:jQ#xO,5:WO:oQ#xO,5:YOOOO'#GR'#GRO:tO,UO,5:cOOQS,5:c,5:cOOOO'#GS'#GSO:|O7[O,5:cO;UQ#xO'#DyOOOW'#GT'#GTO;fOWO,5:dOOQS,5:d,5:dO;UQ#xO'#EPOOO`'#GW'#GWO;qO`O,5:dO;UQ#xO'#EROOOp'#GX'#GXO;|OpO,5:dO;UQ#xO'#ETOOO!b'#GY'#GYO<XO!bO,5:dOOQS'#GZ'#GZO<dQ&nO,5:qO?UQ&nO,5=rO?oQ!LUO,5=rO@`Q&nO,5=rOOQS,5;V,5;VO@wQ#yO'#GdOBZQ#xO,5;fOOQV,5=p,5=pOBfQ&nO'#IYOB}Q#xO,5;|OOQS-E:h-E:hOOQV,5;{,5;{O3[Q#xO'#FYOOQV-E9w-E9wOCVQ&nO,59_OE^Q&nO,59kOEwQ#xO'#HiOFSQ#xO'#HiO0XQ#xO'#HiOF_Q#xO'#DVOFgQ#xO,59oOFlQ#xO'#HmO'ZQ#xO'#HmO/rQ#xO,5>WOOQS,5>W,5>WO/rQ#xO'#EZOOQS'#E['#E[OGZQ#xO'#G]OGkQ#xO,59OOGkQ#xO,59OO)pQ#xO,5:wOGyQ&nO'#HoOOQS,5:z,5:zOOQS,5;S,5;SOH^Q#xO,5;WOHoQ#xO,5;YOOQS'#G`'#G`OH}Q&nO,5;YOI]Q#xO,5;YOIbQ#xO'#I]OOQS,5;],5;]OIpQ#xO'#IXOOQS,5;`,5;`OJRQ#xO,5;bO3aQ#xO,5;hO3aQ#xO,5;kOJZQ&nO'#I`O'ZQ#xO'#I`OJeQ#xO,5;mO2}Q#xO,5;mO/rQ#xO,5;rO0XQ#xO,5;tOJjQ#yO'#E}OKvQ#{O,5;nO! [Q#xO'#IaO3aQ#xO,5;rO! gQ#xO,5;tO! oQ#xO,5;yO! zQ&nO,5<OO'ZQ#xO,5<OPOOO,5=n,5=nP!!ROSO,5=nP!!WO#xO,5=nO!${Q&nO1G.lO!%SQ&nO1G.lO!'sQ&nO1G.lO!'}Q&nO1G.lO!*hQ&nO1G.lO!*{Q&nO1G.lO!+`Q#xO'#HuO!+nQ&nO'#HXO/rQ#xO'#HuO!+xQ#xO'#HtOOQS,5:],5:]O!,QQ#xO,5:]O!,VQ#xO'#HwO!,bQ#xO'#HwO!,uQ#xO,5>bOOQS'#Du'#DuOOQS1G/y1G/yOOQS1G/O1G/OO!-uQ&nO1G/OO!-|Q&nO1G/OO0lQ#xO1G/OO!.iQ#xO1G/WOOQS'#D]'#D]O/rQ#xO,59vOOQS1G.}1G.}O!.pQ#xO1G/gO!/QQ#xO1G/gO!/YQ#xO1G/hO'ZQ#xO'#HnO!/_Q#xO'#HnO!/dQ&nO1G.}O!/tQ#xO,59kO!0zQ#xO,5>^O!1[Q#xO,5>^O!1dQ#xO1G/oO!1iQ&nO1G/oOOQS1G/n1G/nO!1yQ#xO,5>XO!2pQ#xO,5>XO/rQ#xO1G/sO!3_Q#xO1G/uO!3dQ&nO1G/uO!3tQ&nO1G/sOOQS1G/r1G/rOOQS1G/t1G/tOOOO-E:P-E:POOQS1G/}1G/}OOOO-E:Q-E:QO!4UQ#xO'#IRO/rQ#xO'#IRO!4gQ#xO,5:eOOOW-E:R-E:ROOQS1G0O1G0OO!4uQ#xO,5:kOOO`-E:U-E:UO!5TQ#xO,5:mOOOp-E:V-E:VO!5cQ#xO,5:oOOO!b-E:W-E:WOOQS-E:X-E:XO!5qQ!LUO1G3^O!6bQ&nO1G3^O'ZQ#xO,5<vOOQS,5<v,5<vOOQS-E:Y-E:YOOQS,5=O,5=OOOQS-E:b-E:bOOQV1G1Q1G1QO0XQ#xO'#G_O!6yQ&nO,5>tOOQS1G1h1G1hO!7bQ#xO1G1hOOQS'#DX'#DXO/rQ#xO,5>TOOQS,5>T,5>TO!7gQ#xO'#FzO!7rQ#xO,59qO!7zQ#xO1G/ZO!8UQ&nO,5>XOOQS1G3r1G3rOOQS,5:u,5:uO!8uQ#xO'#HWOOQS,5<w,5<wOOQS-E:Z-E:ZO!9WQ#xO1G.jOOQS1G0c1G0cO!9fQ#xO,5>ZO!9vQ#xO,5>ZO/rQ#xO1G0rO/rQ#xO1G0rO0XQ#xO1G0tOOQS-E:^-E:^O!:XQ#xO1G0tO!:dQ#xO1G0tO!:iQ#xO,5>wO!:wQ#xO,5>wO!;VQ#xO,5>sO!;mQ#xO,5>sO!<OQ#xO'#ExO/rQ#xO1G0|O!<ZQ#xO1G0|O!<`Q#{O1G1SO!?qQ#{O1G1VO!CPQ#xO,5>zO!CZQ#xO,5>zO!CcQ&nO,5>zO/rQ#xO1G1XO!CmQ#xO1G1XO3aQ#xO1G1^O! gQ#xO1G1`OOQV,5;i,5;iO!CrQ#zO,5;iO!CwQ#{O1G1YO!G]Q#xO'#GgO3aQ#xO1G1YO3aQ#xO1G1YO!GmQ#xO,5>{O!GzQ#xO,5>{O0XQ#xO,5>{OOQV1G1^1G1^O!HSQ#xO'#F[O!HeQMlO1G1`O!HmQ#xO1G1`OOQV1G1e1G1eO3aQ#xO1G1eO!HrQ#xO1G1eO!HzQ#xO'#FfOOQV1G1j1G1jO! zQ&nO1G1jPOOO1G3Y1G3YP!IPOSO1G3YOOQS,5>a,5>aOOQS'#Dr'#DrO/rQ#xO,5>aO!IUQ#xO,5>`O!IiQ#xO,5>`OOQS1G/w1G/wO!IqQ#xO,5>cO!JRQ#xO,5>cO!JZQ#xO,5>cO!JnQ#xO,5>cO!KOQ#xO,5>cOOQS1G3|1G3|OOQS7+$j7+$jO!7zQ#xO7+$rO!LqQ#xO1G/OO!LxQ#xO1G/OOOQS1G/b1G/bOOQS,5<h,5<hO'ZQ#xO,5<hOOQS7+%R7+%RO!MPQ#xO7+%ROOQS-E9z-E9zOOQS7+%S7+%SO!MaQ#xO,5>YO'ZQ#xO,5>YOOQS7+$i7+$iO!MfQ#xO7+%RO!MnQ#xO7+%SO!MsQ#xO1G3xOOQS7+%Z7+%ZO!NTQ#xO1G3xO!N]Q#xO7+%ZOOQS,5<g,5<gO'ZQ#xO,5<gO!NbQ#xO1G3sOOQS-E9y-E9yO# XQ#xO7+%_OOQS7+%a7+%aO# gQ#xO1G3sO#!UQ#xO7+%aO#!ZQ#xO1G3yO#!kQ#xO1G3yO#!sQ#xO7+%_O#!xQ#xO,5>mO##cQ#xO,5>mO##cQ#xO,5>mOOQS'#Dz'#DzO##tO$ISO'#D|O#$PO#tO'#ISOOOW1G0P1G0PO#$UQ#xO1G0PO#$^Q#xO1G0POOQS'#EQ'#EQOOO`1G0V1G0VO#$iQ#xO1G0VO#$qQ#xO1G0VOOQS'#ES'#ESOOOp1G0X1G0XO#$|Q#xO1G0XO#%UQ#xO1G0XOOQS'#EU'#EUOOO!b1G0Z1G0ZO#%aQ#xO1G0ZO#%iQ#xO1G0ZO#%tQ!LUO7+(xO#&eQ&nO1G2bP#'OQ#xO'#G[OOQS,5<y,5<yOOQS-E:]-E:]OOQS7+'S7+'SOOQS1G3o1G3oOOQS,5<f,5<fOOQS-E9x-E9xOOQS7+$u7+$uO#']Q#xO,5=rO#'vQ#xO,5=rO#(XQ&nO,5<iO#(lQ#xO1G3uOOQS-E9{-E9{OOQS7+&^7+&^O#(|Q#xO7+&^OOQS7+&`7+&`O#)[Q#xO'#I[O0XQ#xO'#IZO#)pQ#xO7+&`OOQS,5<|,5<|O#){Q#xO1G4cOOQS-E:`-E:`OOQS,5<x,5<xO#*ZQ#xO1G4_OOQS-E:[-E:[O0XQ#xO'#EyO#*qQ#xO'#EyO#*|Q#xO'#I^O#+UQ#xO,5;dOOQS7+&h7+&hO/rQ#xO7+&hO#+ZQ#{O7+&nO!G`Q#xO'#GeO3aQ#xO7+&nO3aQ#xO7+&qO#.lQ&nO,5=QO'ZQ#xO,5=QO#.vQ#xO1G4fOOQS-E:d-E:dO#/QQ#xO1G4fO3aQ#xO7+&sO/rQ#xO7+&sOOQV7+&x7+&xO!HeQMlO7+&zO!HmQ#xO7+&zO`Q#yO1G1TOOQV-E:e-E:eO3aQ#xO7+&tO3aQ#xO7+&tOOQV,5=R,5=RO#/YQ#xO,5=RO!G`Q#xO,5=ROOQV7+&t7+&tO#/eQ#{O7+&tO#2sQ#xO,5=SO#3OQ#xO1G4gOOQS-E:f-E:fO#3]Q#xO1G4gO#3eQ#xO'#IcO#3sQ#xO'#IcO0XQ#xO'#IcOOQS'#Ic'#IcO#4OQ#xO'#IbOOQS,5;v,5;vO#4WQ#xO,5;vO/rQ#xO'#F^OOQV7+&z7+&zO3aQ#xO7+&zOOQV7+'P7+'PO3aQ#xO7+'PO#4]Q#zO,5<QOOQV7+'U7+'UPOOO7+(t7+(tO#4bQ#xO1G3{OOQS,5<k,5<kO#4pQ#xO1G3zOOQS-E9}-E9}O#5TQ#xO,5<lO#5`Q#xO,5<lO#5sQ#xO1G3}OOQS-E:O-E:OO#6TQ#xO1G3}O#6]Q#xO1G3}O#6mQ#xO1G3}O#6TQ#xO1G3}OOQS<<H^<<H^O#6xQ&nO1G2SOOQS<<Hm<<HmP#7VQ#xO'#F|O7kQ#xO1G3tO#7dQ#xO1G3tO#7iQ#xO<<HmOOQS<<Hn<<HnO#7yQ#xO7+)dOOQS<<Hu<<HuO#8ZQ&nO1G2RP#8zQ#xO'#F{O#9XQ#xO7+)eO#9iQ#xO7+)eO#9qQ#xO<<HyO#9vQ#xO7+)_OOQS<<H{<<H{O#:mQ#xO,5<jO'ZQ#xO,5<jOOQS-E9|-E9|OOQS<<Hy<<HyOOQS,5<p,5<pO/rQ#xO,5<pO#:rQ#xO1G4XOOQS-E:S-E:SO#;]Q#xO1G4XO;UQ#xO'#D}OOOO'#GV'#GVO#;nO$ISO,5:hOOO#l,5>n,5>nOOOW7+%k7+%kO#;yQ#xO7+%kOOO`7+%q7+%qO#<RQ#xO7+%qOOOp7+%s7+%sO#<ZQ#xO7+%sOOO!b7+%u7+%uO#<cQ#xO7+%uO#<kQ#xO1G3^O#=UQ#xO1G3^P'ZQ#xO'#F}O/rQ#xO<<IxO#=gQ#xO,5>vO#=xQ#xO,5>vO0XQ#xO,5>vO#>ZQ#xO,5>uOOQS<<Iz<<IzP0XQ#xO'#GbP/rQ#xO'#G^OOQS,5;e,5;eO#>`Q#xO,5>xO#>nQ#xO,5>xOOQS1G1O1G1OOOQS<<JS<<JSOOQV-E:c-E:cO3aQ#xO<<JYOOQV,5=P,5=PO3aQ#xO,5=POOQV<<JY<<JYOOQV<<J]<<J]O#>vQ&nO1G2lP#?QQ#xO'#GfO#?XQ#xO7+*QO#?cQ#{O<<J_O3aQ#xO<<J_OOQV<<Jf<<JfO3aQ#xO<<JfO!HeQMlO<<JfO#BqQ#{O7+&oOOQV<<J`<<J`O#B{Q#{O<<J`OOQV1G2m1G2mO0XQ#xO1G2mO#FZQ#xO1G2mO3aQ#xO<<J`O0XQ#xO1G2nP/rQ#xO'#GhO#FfQ#xO7+*RO#FsQ#xO7+*ROOQS'#F]'#F]O/rQ#xO,5>}O#F{Q#xO,5>}OOQS,5>},5>}O#GWQ#xO,5>|O#GiQ#xO,5>|OOQS1G1b1G1bOOQS,5;x,5;xOOQV<<Jk<<JkO#GqQ#xO1G1lOOQS7+)g7+)gP#GvQ#xO'#GPO#HWQ#xO1G2WO#HkQ#xO1G2WO#H{Q#xO1G2WP#IWQ#xO'#GQO#IeQ#xO7+)iO#IuQ#xO7+)iO#IuQ#xO7+)iO#I}Q#xO7+)iO#J_Q#xO7+)`O7kQ#xO7+)`OOQSAN>XAN>XO#JxQ#xO<<MPOOQSAN>eAN>eO/rQ#xO1G2UO#KYQ&nO1G2UP#KdQ#xO'#GOOOQS1G2[1G2[P#KqQ#xO'#GUO#LOQ#xO7+)sO#LiQ#xO,5:iOOOO-E:T-E:TOOOW<<IV<<IVOOO`<<I]<<I]OOOp<<I_<<I_OOO!b<<Ia<<IaO#LwQ#xO7+(xOOQSAN?dAN?dO#MbQ#xO,5<{O#MvQ#xO1G4bOOQS-E:_-E:_O#NXQ#xO1G4bOOQS1G4a1G4aOOQS,5<},5<}O#NjQ#xO1G4dOOQS-E:a-E:aOOQVAN?tAN?tOOQV1G2k1G2kO3aQ#xOAN?yO#NxQ#{OAN?yOOQVAN@QAN@QO3aQ#xOAN@QOOQV<<JZ<<JZO3aQ#xOAN?zO3aQ#xO7+(XOOQV7+(X7+(XO0XQ#xO7+(XOOQVAN?zAN?zOOQS7+(Y7+(YO$$WQ#xO<<MmOOQS1G4i1G4iO/rQ#xO1G4iOOQS,5=T,5=TO$$eQ#xO1G4hOOQS-E:g-E:gOOQU'#Gk'#GkO$$vQ#zO7+'WO$%RQ#xO'#FgO$%yQ#xO7+'rO$&ZQ#xO7+'rOOQS7+'r7+'rO$&fQ#xO<<MTO$&vQ#xO<<MTO$&vQ#xO<<MTO$'OQ#xO'#HpOOQS<<Lz<<LzO$'YQ#xO<<LzOOQS7+'p7+'pOOQS'#EO'#EOOOOO1G0T1G0TO$'sQ#xO1G0TO$'{Q#xO1G0TO0XQ#xO1G2gP0XQ#xO'#GaO$(WQ#xO7+)|O$(iQ#xO7+)|P!<OQ#xO'#GcOOQVG25eG25eO3aQ#xOG25eOOQVG25lG25lOOQVG25fG25fOOQV<<Ks<<KsO3aQ#xO<<KsOOQS7+*T7+*TP$(zQ#xO'#GiOOQU-E:i-E:iOOQV<<Jr<<JrO$)nQ&nO'#FiOOQS'#Fk'#FkO$*OQ#xO'#FjO$*pQ#xO'#FjOOQS'#Fj'#FjO$*uQ#xO'#IeO$%RQ#xO'#FqO$%RQ#xO'#FqO$+^Q#xO'#FrO$%RQ#xO'#FsO$+eQ#xO'#IfOOQS'#If'#IfO$,SQ#xO,5<ROOQS<<K^<<K^O$,[Q#xO<<K^O$,lQ#xOANBoO$,|Q#xOANBoO$-UQ#xO'#HqOOQS'#Hq'#HqO0sQ#xO'#DeO$-oQ#xO,5>[OOQSANBfANBfOOOO7+%o7+%oO$.WQ#xO7+%oOOQS7+(R7+(RO$.`Q#xO<<MhOOQVLD+PLD+POOQVANA_ANA_O4jQMlO'#GmO$.qQ&nO,5<[O$%RQ#xO'#FuOOQS,5<`,5<`OOQS'#Fl'#FlO$/cQ#xO,5<UO$/hQ#xO,5<UOOQS'#Fo'#FoO$%RQ#xO'#GlO$0YQ#xO,5<YO$0tQ#xO,5?PO$1UQ#xO,5?PO0XQ#xO,5<XO$1gQ#xO,5<]O$1lQ#xO,5<]O$%RQ#xO'#IgO$1qQ#xO'#IgO$1vQ#xO,5<^OOQS,5<_,5<_O'ZQ#xO'#FxOOQU1G1m1G1mO3aQ#xO1G1mOOQSAN@xAN@xO$1{Q#xOG28ZO$2]Q#xO,5:POOQS1G3v1G3vOOOO<<IZ<<IZOOQS,5=X,5=XOOQS-E:k-E:kO$2bQ&nO'#FiO$2iQ#xO'#IhO$2wQ#xO'#IhO$3PQ#xO,5<aOOQS1G1p1G1pO$3UQ#xO1G1pO$3ZQ#xO,5=WOOQS-E:j-E:jO$3uQ#xO,5=[O$4^Q#xO1G4kOOQS-E:n-E:nOOQS1G1s1G1sOOQS1G1w1G1wO$4nQ#xO,5?RO$%RQ#xO,5?ROOQS1G1x1G1xO$4|Q&nO,5<dOOQU7+'X7+'XO$'OQ#xO1G/kO$%RQ#xO,5<bO$5TQ#xO,5?SO$5[Q#xO,5?SOOQS1G1{1G1{OOQS7+'[7+'[P$%RQ#xO'#GpO$5dQ#xO1G4mO$5nQ#xO1G4mO$5vQ#xO1G4mOOQS7+%V7+%VO$6UQ#xO1G1|O$6dQ&nO'#FiO$6kQ#xO,5=ZOOQS,5=Z,5=ZO$6yQ#xO1G4nOOQS-E:m-E:mO$%RQ#xO,5=YO$7QQ#xO,5=YO$7VQ#xO7+*XOOQS-E:l-E:lO$7aQ#xO7+*XO$%RQ#xO,5<cP$%RQ#xO'#GoO$7iQ#xO1G2tO$%RQ#xO1G2tP$7wQ#xO'#GnO$8OQ#xO<<MsO$8YQ#xO1G1}O$8hQ#xO7+(`O7kQ#xO'#DPO7kQ#xO,59dO7kQ#xO,59dO7kQ#xO,59dO$8vQ&nO,5=rO7kQ#xO1G/OO/rQ#xO1G/ZO/rQ#xO7+$rP$9ZQ#xO'#G[O'ZQ#xO'#HWO$9hQ#xO,59dO$9mQ#xO,59dO$9tQ#xO,59oO$9yQ#xO1G/WO0sQ#xO'#DTO7kQ#xO,59l",
155
+ stateData: "$:[~O%uOS%jOSUOS%iPQ~OPiOXfOhtOjYOquOu!UOxvO!RwO!S!QO!V!XO!W!WO!ZZO!_[O!jeO!zeO!{eO!|eO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO#t!VO#w!YO#{!ZO#}![O$S!]O$VmO$X!^O&RRO&SRO&WSO&XWO&m]O&n^O&q_O&t`O&xaO&ybO&zcO~O%i!_O~OX!fOa!fOc!gOj!nO!Z!pO!h!rO%|!aO%}!bO&O!cO&P!dO&Q!dO&R!eO&S!eO&T!fO&U!fO&V!fO~Om&[Xn&[Xo&[Xp&[Xq&[Xr&[Xu&[X|&[X}&[X#Q&[X#o&[X%h&[X%k&[X&^&[Xi&[X!V&[X!W&[X&_&[X!Y&[X!^&[X!S&[X#d&[Xv&[X!o&[X~P$gOhtOjYO!ZZO!_[O!jeO!zeO!{eO!|eO&RRO&SRO&WSO&XWO&m]O&n^O&q_O&t`O&xaO&ybO&zcO~O|&ZX}&ZX#o&ZX%h&ZX%k&ZX&^&ZX~Om!uOn!vOo!tOp!tOq!wOr!xOu!yO#Q&ZX~P(hOX#POi#ROq1`Ox1nO!RwO~P'ZOX#TOq1`Ox1nO!Y#UO~P'ZOX#XOc#YOq1`Ox1nO!^#ZO~P'ZO&o#^O&p#`O~O&r#aO&s#`O~OQ#cO%l#dO%m#fO~OR#gO%n#hO%o#fO~OS#jO%p#kO%q#fO~OT#mO%r#nO%s#fO~OX%{Xa%{Xc%{Xj%{Xm%{Xn%{Xo%{Xp%{Xq%{Xr%{Xu%{X|%{X!Z%{X!h%{X%|%{X%}%{X&O%{X&P%{X&Q%{X&R%{X&S%{X&T%{X&U%{X&V%{Xi%{X!V%{X!W%{X~O&m]O&n^O&q_O&t`O&xaO&ybO&zcO}%{X#Q%{X#o%{X%h%{X%k%{X&^%{X&_%{X!Y%{X!^%{X!S%{X#d%{Xv%{X!o%{X~P,QO|#sO}%zX#Q%zX#o%zX%h%zX%k%zX&^%zX~Oq1`Ox1nO~P'ZO#o#vO%h#xO%k#xO~O&XWO~O!V#}O#}![O$S!]O$VmO~OquO~P'ZOX$SOc$TO&XWO}yP~OX$XOq1`Ox1nO!S$YO~P'ZO}$[O#Q$aO&^$]O#o#RX%h#RX%k#RX~OX$XOq1`Ox1nO#o#[X%h#[X%k#[X~P'ZOq1`Ox1nO#o#`X%h#`X%k#`X~P'ZO!h$gO!z$gO&XWO~OX$rO~P'ZO!W$tO#{$uO#}$vO~O}$wO~OX%OO~P'ZOU%QO%h%PO%u%RO~OX%[Oc%[Oi%^Oq1`Ox1nO~P'ZOq1`Ox1nO}%aO~P'ZO&l%cO~Oc!gOj!nO!Z!pO!h!rOXdaadamdandaodapdaqdardauda|da}da#Qda#oda%hda%kda%|da%}da&Oda&Pda&Qda&Rda&Sda&Tda&Uda&Vda&^daida!Vda!Wda&_da!Yda!^da!Sda#ddavda!oda~Op%hO~Oq%hO~P'ZOq1`O~P'ZOm1bOn1cOo1aOp1aOq1jOr1kOu1oOi&ZX!V&ZX!W&ZX&_&ZX!Y&ZX!^&ZX!S&ZX#d&ZX!o&ZX~P(hO&_%jOi&YX|&YX!V&YX!W&YX!Y&YX}&YX~Oi%lO|%mO!V%qO!W%pO~Oi%lO~O|%tO!V%qO!W%pO!Y&fX~O!Y%xO~O|%yO}%{O!V%qO!W%pO!^&aX~O!^&PO~O!^&QO~O&o#^O&p&SO~O&r#aO&s&SO~OX&VOq1`Ox1nO!RwO~P'ZOQ#cO%l#dO%m&YO~OR#gO%n#hO%o&YO~OS#jO%p#kO%q&YO~OT#mO%r#nO%s&YO~OX!yaa!yac!yaj!yam!yan!yao!yap!yaq!yar!yau!ya|!ya}!ya!Z!ya!h!ya#Q!ya#o!ya%h!ya%k!ya%|!ya%}!ya&O!ya&P!ya&Q!ya&R!ya&S!ya&T!ya&U!ya&V!ya&^!yai!ya!V!ya!W!ya&_!ya!Y!ya!^!ya!S!ya#d!yav!ya!o!ya~P#yO|&bO}%za#Q%za#o%za%h%za%k%za&^%za~P$gOX&dOquOxvO}%za#Q%za#o%za%h%za%k%za&^%za~P'ZO|&bO}%za#Q%za#o%za%h%za%k%za&^%za~OPiOXfOquOxvO!RwO!S!QO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO#o%WX%h%WX%k%WX~P'ZO#o#vO%h&iO%k&iO~O!h&jOj&|X%h&|X#d&|X#o&|X%k&|X#c&|X~Oj!nO%h&lO~Omgangaogapgaqgargauga|ga}ga#Qga#oga%hga%kga&^gaiga!Vga!Wga&_ga!Yga!^ga!Sga#dgavga!oga~P$gOusa|sa}sa#osa%hsa%ksa&^sa~Om!uOn!vOo!tOp!tOq!wOr!xO#Qsa~PDuO&^&nO|&]X}&]X~O&XWO|&]X}&]X~O|&qO}yX~O}&sO~O|%yO#o&aX%h&aX%k&aXi&aX}&aX!^&aX!o&aX&^&aX~OX1iOq1`Ox1nO!RwO~P'ZO&^$]O#oWa%hWa%kWa~O|&|O#o&cX%h&cX%k&cXp&cX~P$gO|'PO!S'OO#o#`a%h#`a%k#`a~O#d'QO#o#ba%h#ba%k#ba~O!h$gO!z$gO#c'SO&XWO~O#c'SO~O|'UO#o'PX%h'PX%k'PX~O|'WO#o&{X%h&{X%k&{X}&{X~O!Z'YO&^'ZO~O|'_Op'SX~P$gOp'bO~OPiOXfOquOxvO!RwO!S!QO#TyO#VzO#X{O#Z|O#]}O#a!OO#c!PO#f!RO#g!RO#i!SO#k!TO%h'gO~P'ZOv'kO#x'iO#y'jOP#vaX#vah#vaj#vaq#vau#vax#va!R#va!S#va!V#va!W#va!Z#va!_#va!j#va!z#va!{#va!|#va#T#va#V#va#X#va#Z#va#]#va#a#va#c#va#f#va#g#va#i#va#k#va#t#va#w#va#{#va#}#va$S#va$V#va$X#va%e#va&R#va&S#va&W#va&X#va&m#va&n#va&q#va&t#va&x#va&y#va&z#va%g#va%k#va~O|'lO#d'nO}'TX~Oj'pO!Z'YO~Oj!nO}$wO!Z'YO~O}'vO~P$gO%h'yO~OU'zO%h'yO~OX!fOa!fOc!gOj!nO!Z!pO!h!rO&O!cO&P!dO&Q!dO&R!eO&S!eO&T!fO&U!fO&V!fOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~O%}!bO~P!!`O%}Yi~P!!`OX!fOa!fOc!gOj!nO!Z!pO!h!rO&R!eO&S!eO&T!fO&U!fO&V!fOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi%}Yi&OYi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~O&P!dO&Q!dO~P!%ZO&PYi&QYi~P!%ZOc!gOj!nO!Z!pO!h!rOmYinYioYipYiqYirYiuYi|Yi}Yi#QYi#oYi%hYi%kYi%|Yi%}Yi&OYi&PYi&QYi&RYi&SYi&^YiiYi!VYi!WYi&_Yi!YYi!^Yi!SYi#dYivYi!oYi~OX!fOa!fO&T!fO&U!fO&V!fO~P!(XOXYiaYi&TYi&UYi&VYi~P!(XO!V%qO!W%pOi&iX|&iX~O&^'|O&_'|O~P,QO|(OOi&hX~Oi(QO~O|(RO}(TO!Y&kX~Oq1`Ox1nO|(RO}(UO!Y&kX~P'ZO!Y(WO~Oo!tOp!tOq!wOr!xOmliuli|li}li#Qli#oli%hli%kli&^li~On!vO~P!,zOnli~P!,zOm1bOn1cOo1aOp1aOq1jOr1kO~Ov(YO~P!.TOX(_Oi(`Oq1`Ox1nO~P'ZOi(`O|(aO~Oi(cO~O!W(eO~Oi(fO|(aO!V%qO!W%pO~P$gOm1bOn1cOo1aOp1aOq1jOr1kOisa!Vsa!Wsa&_sa!Ysa!^sa!Ssa#dsavsa!osa~PDuOX(_Oq1`Ox1nO!Y&fa~P'ZO|(iO!Y&fa~O!Y(jO~O|(iO!V%qO!W%pO!Y&fa~P$gOX(nOq1`Ox1nO!^&aa#o&aa%h&aa%k&aai&aa}&aa!o&aa&^&aa~P'ZO|(oO!^&aa#o&aa%h&aa%k&aai&aa}&aa!o&aa&^&aa~O!^(rO~O|(oO!V%qO!W%pO!^&aa~P$gO|(uO!V%qO!W%pO!^&ga~P$gO|(xO}&uX!^&uX!o&uX&^&uX~O}(|O!^)OO!o)PO&^({O~O}(|O!^)SO!o)TO&^)RO~O}(|O!^)WO!o)XO&^)VO~O}(|O!^)[O!o)]O&^)ZO~OX&dOquOxvO}%zi#Q%zi#o%zi%h%zi%k%zi&^%zi~P'ZO|)_O}%zi#Q%zi#o%zi%h%zi%k%zi&^%zi~O!h&jOj&|a%h&|a#d&|a#o&|a%k&|a#c&|a~O%h)dO~OX$SOc$TO&XWO~O|&qO}ya~OquOxvO~P'ZO|(oO#o&aa%h&aa%k&aai&aa}&aa!^&aa!o&aa&^&aa~P$gO|)iO#o%zX%h%zX%k%zX&^%zX~O&^$]O#oWi%hWi%kWi~O#o&ca%h&ca%k&cap&ca~P'ZO|)lO#o&ca%h&ca%k&cap&ca~OX)pOj)rO&XWO~O#c)sO~O&XWO#o'Pa%h'Pa%k'Pa~O|)uO#o'Pa%h'Pa%k'Pa~Oq1`Ox1nO#o&{a%h&{a%k&{a}&{a~P'ZO|)xO#o&{a%h&{a%k&{a}&{a~OX)zOc)zO&XWO~O&^*PO~Ov*SO#r*ROP#piX#pih#pij#piq#piu#pix#pi!R#pi!S#pi!V#pi!W#pi!Z#pi!_#pi!j#pi!z#pi!{#pi!|#pi#T#pi#V#pi#X#pi#Z#pi#]#pi#a#pi#c#pi#f#pi#g#pi#i#pi#k#pi#t#pi#w#pi#{#pi#}#pi$S#pi$V#pi$X#pi%e#pi&R#pi&S#pi&W#pi&X#pi&m#pi&n#pi&q#pi&t#pi&x#pi&y#pi&z#pi%g#pi%k#pi~Ov*TOP#siX#sih#sij#siq#siu#six#si!R#si!S#si!V#si!W#si!Z#si!_#si!j#si!z#si!{#si!|#si#T#si#V#si#X#si#Z#si#]#si#a#si#c#si#f#si#g#si#i#si#k#si#t#si#w#si#{#si#}#si$S#si$V#si$X#si%e#si&R#si&S#si&W#si&X#si&m#si&n#si&q#si&t#si&x#si&y#si&z#si%g#si%k#si~OX*VOp'Sa~P'ZO|*WOp'Sa~O|*WOp'Sa~P$gOp*[O~O%f*`O~Ov*cO#x'iO#y*bOP#viX#vih#vij#viq#viu#vix#vi!R#vi!S#vi!V#vi!W#vi!Z#vi!_#vi!j#vi!z#vi!{#vi!|#vi#T#vi#V#vi#X#vi#Z#vi#]#vi#a#vi#c#vi#f#vi#g#vi#i#vi#k#vi#t#vi#w#vi#{#vi#}#vi$S#vi$V#vi$X#vi%e#vi&R#vi&S#vi&W#vi&X#vi&m#vi&n#vi&q#vi&t#vi&x#vi&y#vi&z#vi%g#vi%k#vi~OX*fOq1`Ox1nO}$wO~P'ZOq1`Ox1nO}'Ta~P'ZO|*jO}'Ta~OX*nOc*oOi*rO&T*pO&XWO~O}$wO'W*tO~Oj'pO~Oj!nO}$wO~O%h*yO~O%h*{O~OX%[Oc%[Oq1`Ox1nOi&ha~P'ZO|+OOi&ha~Oq1`Ox1nO}+RO!Y&ka~P'ZO|+SO!Y&ka~Oq1`Ox1nO|+SO}+VO!Y&ka~P'ZOq1`Ox1nO|+SO!Y&ka~P'ZO|+SO}+VO!Y&ka~Oo1aOp1aOq1jOr1kOilimliuli|li!Vli!Wli&_li!Yli}li!^li#oli%hli%kli!Sli#dlivli!oli&^li~On1cO~P!KZOnli~P!KZOX(_Oi+[Oq1`Ox1nO~P'ZOp+^O~Oi+[O|+`O~Oi+aO~OX(_Oq1`Ox1nO!Y&fi~P'ZO|+bO!Y&fi~O!Y+cO~OX(nOq1`Ox1nO!^&ai#o&ai%h&ai%k&aii&ai}&ai!o&ai&^&ai~P'ZO|+fO!V%qO!W%pO!^&gi~O|+iO!^&ai#o&ai%h&ai%k&aii&ai}&ai!o&ai&^&ai~O!^+jO~Oc+lOq1`Ox1nO!^&gi~P'ZO|+fO!^&gi~O!^+nO~OX+pOq1`Ox1nO}&ua!^&ua!o&ua&^&ua~P'ZO|+qO}&ua!^&ua!o&ua&^&ua~O!_+tO&w+uO!^!pX~O!^+wO~O}(|O!^+xO~O}(|O!^+xO!o+yO~O}(|O!^+zO~O}(|O!^+zO!o+{O~O}(|O!^+|O~O}(|O!^+|O!o+}O~O}(|O!^,OO~O}(|O!^,OO!o,PO~OX&dOquOxvO}%zq#Q%zq#o%zq%h%zq%k%zq&^%zq~P'ZO|%Oi}%Oi#Q%Oi#o%Oi%h%Oi%k%Oi&^%Oi~P$gOX&dOquOxvO~P'ZOX&dOq1`Ox1nO#o%za%h%za%k%za&^%za~P'ZO|,QO#o%za%h%za%k%za&^%za~O|$qa#o$qa%h$qa%k$qap$qa~P$gO#o&ci%h&ci%k&cip&ci~P'ZO|,TO#o#`q%h#`q%k#`q~O|,UO#d,WO#o'OX%h'OX%k'OXi'OX~OX,YOj)rO&XWO~O&XWO#o'Pi%h'Pi%k'Pi~Oq1`Ox1nO#o&{i%h&{i%k&{i}&{i~P'ZO}$[O|#mX!Y#mX~O|,^O!Y'QX~O!Y,`O~Ov,cO#r*ROP#pqX#pqh#pqj#pqq#pqu#pqx#pq!R#pq!S#pq!V#pq!W#pq!Z#pq!_#pq!j#pq!z#pq!{#pq!|#pq#T#pq#V#pq#X#pq#Z#pq#]#pq#a#pq#c#pq#f#pq#g#pq#i#pq#k#pq#t#pq#w#pq#{#pq#}#pq$S#pq$V#pq$X#pq%e#pq&R#pq&S#pq&W#pq&X#pq&m#pq&n#pq&q#pq&t#pq&x#pq&y#pq&z#pq%g#pq%k#pq~Op%Ya|%Ya~P$gOX*VOp'Si~P'ZO|,jOp'Si~O|,tO}$wO#d,tO~O#y,vOP#vqX#vqh#vqj#vqq#vqu#vqx#vq!R#vq!S#vq!V#vq!W#vq!Z#vq!_#vq!j#vq!z#vq!{#vq!|#vq#T#vq#V#vq#X#vq#Z#vq#]#vq#a#vq#c#vq#f#vq#g#vq#i#vq#k#vq#t#vq#w#vq#{#vq#}#vq$S#vq$V#vq$X#vq%e#vq&R#vq&S#vq&W#vq&X#vq&m#vq&n#vq&q#vq&t#vq&x#vq&y#vq&z#vq%g#vq%k#vq~O#d,wO|%[a}%[a~Oq1`Ox1nO}'Ti~P'ZO|,yO}'Ti~O}$[O&^,{Oi'VX|'VX~O&XWOi'VX|'VX~O|-POi'UX~Oi-RO~O%f-UO~O!V%qO!W%pOi&ii|&ii~OX%[Oc%[Oq1`Ox1nOi&hi~P'ZO}-XO|$ta!Y$ta~Oq1`Ox1nO}-YO|$ta!Y$ta~P'ZOq1`Ox1nO}+RO!Y&ki~P'ZO|-]O!Y&ki~Oq1`Ox1nO|-]O!Y&ki~P'ZO|-]O}-`O!Y&ki~Oi$pi|$pi!Y$pi~P$gOX(_Oq1`Ox1nO~P'ZOp-bO~OX(_Oi-cOq1`Ox1nO~P'ZOX(_Oq1`Ox1nO!Y&fq~P'ZO|$oi!^$oi#o$oi%h$oi%k$oii$oi}$oi!o$oi&^$oi~P$gOX(nOq1`Ox1nO~P'ZOc+lOq1`Ox1nO!^&gq~P'ZO|-dO!^&gq~O!^-eO~OX(nOq1`Ox1nO!^&aq#o&aq%h&aq%k&aqi&aq}&aq!o&aq&^&aq~P'ZO}-fO~OX+pOq1`Ox1nO}&ui!^&ui!o&ui&^&ui~P'ZO|-kO}&ui!^&ui!o&ui&^&ui~O!_+tO&w+uO!^!pa~O}(|O!^-nO~O}(|O!^-oO~O}(|O!^-pO~O}(|O!^-qO~OX&dOq1`Ox1nO#o%zi%h%zi%k%zi&^%zi~P'ZO|-rO#o%zi%h%zi%k%zi&^%zi~O&XWO#o'Oa%h'Oa%k'Oai'Oa~O|-uO#o'Oa%h'Oa%k'Oai'Oa~Oi-xO~OX)zOc)zO&XWO!Y'Qa~O|-zO!Y'Qa~Op%Yi|%Yi~P$gOX*VO~P'ZOX*VOp'Sq~P'ZOv.OOP#uyX#uyh#uyj#uyq#uyu#uyx#uy!R#uy!S#uy!V#uy!W#uy!Z#uy!_#uy!j#uy!z#uy!{#uy!|#uy#T#uy#V#uy#X#uy#Z#uy#]#uy#a#uy#c#uy#f#uy#g#uy#i#uy#k#uy#t#uy#w#uy#{#uy#}#uy$S#uy$V#uy$X#uy%e#uy&R#uy&S#uy&W#uy&X#uy&m#uy&n#uy&q#uy&t#uy&x#uy&y#uy&z#uy%g#uy%k#uy~O%g.SO%k.SO~P`O#y.TOP#vyX#vyh#vyj#vyq#vyu#vyx#vy!R#vy!S#vy!V#vy!W#vy!Z#vy!_#vy!j#vy!z#vy!{#vy!|#vy#T#vy#V#vy#X#vy#Z#vy#]#vy#a#vy#c#vy#f#vy#g#vy#i#vy#k#vy#t#vy#w#vy#{#vy#}#vy$S#vy$V#vy$X#vy%e#vy&R#vy&S#vy&W#vy&X#vy&m#vy&n#vy&q#vy&t#vy&x#vy&y#vy&z#vy%g#vy%k#vy~O|.WO}$wO#d.WO~Oq1`Ox1nO}'Tq~P'ZO|.ZO}'Tq~O&^,{Oi'Va|'Va~OX*nOc*oO&T*pO&XWOi'Ua~O|._Oi'Ua~O$[.cO~OX%[Oc%[Oq1`Ox1nO~P'ZOq1`Ox1nO}.dO|$ti!Y$ti~P'ZOq1`Ox1nO|$ti!Y$ti~P'ZO}.dO|$ti!Y$ti~Oq1`Ox1nO}+RO~P'ZOq1`Ox1nO}+RO!Y&kq~P'ZO|.gO!Y&kq~Oq1`Ox1nO|.gO!Y&kq~P'ZOu.jO!V%qO!W%pOi&bq!Y&bq!^&bq|&bq~P!.TOc+lOq1`Ox1nO!^&gy~P'ZO|$ri!^$ri~P$gOc+lOq1`Ox1nO~P'ZOX+pOq1`Ox1nO~P'ZOX+pOq1`Ox1nO}&uq!^&uq!o&uq&^&uq~P'ZO}(|O!^.oO!o.pO&^.nO~OX&dOq1`Ox1nO#o%zq%h%zq%k%zq&^%zq~P'ZO#d.rO|%Ta#o%Ta%h%Ta%k%Tai%Ta~O&XWO#o'Oi%h'Oi%k'Oii'Oi~O|.tO#o'Oi%h'Oi%k'Oii'Oi~OX)zOc)zO&XWO!Y'Qi~Ov.xOP#u!RX#u!Rh#u!Rj#u!Rq#u!Ru#u!Rx#u!R!R#u!R!S#u!R!V#u!R!W#u!R!Z#u!R!_#u!R!j#u!R!z#u!R!{#u!R!|#u!R#T#u!R#V#u!R#X#u!R#Z#u!R#]#u!R#a#u!R#c#u!R#f#u!R#g#u!R#i#u!R#k#u!R#t#u!R#w#u!R#{#u!R#}#u!R$S#u!R$V#u!R$X#u!R%e#u!R&R#u!R&S#u!R&W#u!R&X#u!R&m#u!R&n#u!R&q#u!R&t#u!R&x#u!R&y#u!R&z#u!R%g#u!R%k#u!R~Oq1`Ox1nO}'Ty~P'ZOX*nOc*oO&T*pO&XWOi'Ui~O$[.cO%g/QO%k/QO~OX/[Oj/YO!Z/XO!_/ZO!j/TO!{/VO!|/VO&S/SO&XWO&m]O&n^O&q_O~Oq1`Ox1nO|$tq!Y$tq~P'ZO}/aO|$tq!Y$tq~Oq1`Ox1nO}+RO!Y&ky~P'ZO|/bO!Y&ky~Oq1`Ox/fO~P'ZOu.jO!V%qO!W%pOi&by!Y&by!^&by|&by~P!.TO}(|O!^/iO~O}(|O!^/iO!o/jO~O&XWO#o'Oq%h'Oq%k'Oqi'Oq~O|/lO#o'Oq%h'Oq%k'Oqi'Oq~OX*nOc*oO&T*pO&XWO~Oj/qO!h/oO|$]X#d$]X%|$]Xi$]X~Ou$]X}$]X!Y$]X!^$]X~P$)YO&R/sO&S/sOu$^X|$^X}$^X#d$^X%|$^X!Y$^Xi$^X!^$^X~O!j/uO~O|/yO#d/{O%|/vOu'XX}'XX!Y'XXi'XX~Oc0OO~P$%_Oj/qOu'YX|'YX}'YX#d'YX%|'YX!Y'YXi'YX!^'YX~Ou0SO}$wO~Oq1`Ox1nO|$ty!Y$ty~P'ZOq1`Ox1nO}+RO!Y&k!R~P'ZO|0WO!Y&k!R~Oi&eXu&eX!V&eX!W&eX!Y&eX!^&eX|&eX~P!.TOu.jO!V%qO!W%pOi&da!Y&da!^&da|&da~O}(|O!^0ZO~O&XWO#o'Oy%h'Oy%k'Oyi'Oy~O!h/oOj$dau$da|$da}$da#d$da%|$da!Y$dai$da!^$da~O!j0bO~O&R/sO&S/sOu$^a|$^a}$^a#d$^a%|$^a!Y$^ai$^a!^$^a~O%|/vOu$ba|$ba}$ba#d$ba!Y$bai$ba!^$ba~Ou'Xa}'Xa!Y'Xai'Xa~P$%RO|0gOu'Xa}'Xa!Y'Xai'Xa~O!Y0jO~Oi0jO~O}0lO~O!^0mO~Oq1`Ox1nO}+RO!Y&k!Z~P'ZO}0pO~O&^0qO~P$)YO|0rO#d/{O%|/vOi'[X~O|0rOi'[X~Oi0tO~O!j0uO~O#d/{Ou%`a|%`a}%`a%|%`a!Y%`ai%`a!^%`a~O#d/{O%|/vOu%da|%da}%da!Y%dai%da~Ou'Xi}'Xi!Y'Xii'Xi~P$%RO|0wO#d/{O%|/vO!^'Za~O}$la~P$gOi'[a~P$%RO|1POi'[a~Oc1RO!^'Zi~P$%_O|1TO!^'Zi~O|1TO#d/{O%|/vO!^'Zi~O#d/{O%|/vOi$ji|$ji~O&^1WO~P$)YO#d/{O%|/vOi%ca|%ca~Oi'[i~P$%RO}1ZO~Oc1RO!^'Zq~P$%_O|1]O!^'Zq~O#d/{O%|/vO|%bi!^%bi~Oc1RO~P$%_Oc1RO!^'Zy~P$%_O#d/{O%|/vOi$ki|$ki~O#d/{O%|/vO|%bq!^%bq~O|,QO#o%za%h%za%k%za&^%za~P$gOX&dOq1`Ox1nO~P'ZOp1eO~Oq1eO~P'ZO}1fO~Ov1gO~P!.TO&n&q&y&z&m&t&x&X&m~",
156
+ goto: "!@f']PPPPPPPP'^P'f+R+k,U,p-]-yP.hP'f/X/X'fPPP'f2tPPPPPP2t5kPP5kP8O8X>kPP>n?`?cPP'f'fPP?{PP'f'fPP'f'f'f'f'f@P@y'fP@|PASE^H}IRPIUIlIpIsIwIzJOJRJV'fPPPJYJc'^P'^'^P'^P'^P'^P'^P'^'^'^P'^PP'^PP'^P'^PJiJuJ}PKUK[PKUPKUKUPPPKUPMjPMsM}NTMjPKUN^PKUPNeNkPNo! T! r!!]NoNo!!c!!pNoNoNoNo!#U!#[!#_!#d!#g!#q!#w!$T!$g!$m!$w!$}!%k!%q!%w!%}!&X!&_!&e!&k!&q!&w!'Z!'e!'k!'q!'w!(R!(X!(_!(e!(k!(u!({!)V!)]!)f!)l!){!*T!*_!*fPPPPPPPPPPPPPPPPP!*l!*o!*u!+O!+Y!+ePPPPPPPPPPPP!0[!1p!5s!9WPP!9`!9r!9{!:t!:k!:}!;T!;W!;Z!;^!;f!<VPPPPPPPPP!<Y!<iPPPP!=m!=y!>V!>]!>f!>i!>l!>r!>x!?O!?RP!?Z!?d!@`!@c]jOs#v$w*`,p(TeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1o}!hQ#r$P$b$q$}%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!P!iQ#r$P$b$q$}%S%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!R!jQ#r$P$b$q$}%S%T%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!T!kQ#r$P$b$q$}%S%T%U%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!V!lQ#r$P$b$q$}%S%T%U%V%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!X!mQ#r$P$b$q$}%S%T%U%V%W%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d!]!mQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1d(TTOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1o&iVOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0W0p1`1a1b1c1e1f1g1h1k1o%sXOYZ[isw}!O!S!U!V!Z!n!p#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-d-f-h-j-k-r.Z.].d.g/a/b0W1f1g1hQ$VvQ0X/fR1l1n'zeOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oW#ym!P!Q$hW$Rv&q/f1nQ$j!RQ$n!TQ${![Q$|!]W%Z!n(O+O-WS&p$S$TQ'e$vQ)b&jQ)p'QU)q'S)r)sU)t'U)u,ZW){'Y,^-z.vQ*l'nW*m'p-P._/OQ,])zS-O*n*oY-t,U-u.s.t/lQ-w,WQ.U,tQ.Y,wQ.|.Wl/R.c/X/Y/[/w/y0O0g0l0q0v1R1W1ZQ/k.rQ0P/ZQ0^/qQ0i/{U0|0r1P1XX1S0w1T1[1]R&o$R!_!|YZ!U!V!p%a%m%t(R(T(U(a(i*R+R+S+V+]+`+b-X-Y-[-]-`.d.g/a/b0WR%k!{Q#QYQ&W#cQ&Z#gQ&]#jQ&_#mQ&x$^Q&{$aR-l+tT/e.j0p![!oQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1dQ&m#zQ't$|R*x'uR'}%ZQ%d!rR0[/o(SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oS#pd#q!P/V.c/X/Y/Z/[/q/w/y0O0g0l0q0r0v0w1P1R1T1W1X1Z1[1](SdOTYZ[fistuwy}!O!S!U!V!W!Z!^!h!i!j!k!l!m!n!p!t!u!v!x!y#P#T#X#Y#c#g#j#m#s#v$X$Y$[$^$a$r$t$u$w%O%[%a%h%k%m%p%t%y%{&V&b&d&o&s&|'O'P'W'Z'_'b'i'l'}(O(R(T(U(Y(_(a(e(i(n(o(u(x)_)a)i)l)x*P*R*V*W*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+l+p+q+t,Q,S,T,[,i,j,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0S0W0p1`1a1b1c1e1f1g1h1i1k1oT#pd#qT#d`#eR)Q&Wy(}&W&Z&]&_)P)Q)T)U)X)Y)])^+y+{+},P-l.p.q/jT+u(|+vR.q-lT#ha#iR)U&ZT#kb#lR)Y&]T#nc#oR)^&_Q$`xQ,]){R,}*mX$^x$_$`&zQ'[$nQ'r${Q'u$|R*_'eQ)|'YV-y,^-z.vZlOs$w*`,pXpOs*`,pQ$x!YQ']$oQ'^$pQ'o$zQ's$|Q*]'dQ*d'iQ*g'jQ*h'kQ*u'qS*w't'uQ,d*RQ,f*SQ,g*TQ,k*ZS,m*^*vQ,q*bQ,r*cS,s*e*fQ-T*xQ-|,cQ-},eQ.P,lS.Q,n,oQ.V,uQ.X,vQ.w.OQ.y.RQ.z.TQ.{.UQ/m.xQ/n.|Q0T/_R0o0UWpOs*`,pR#|oQ'q${S*^'e'rR,o*_Q,|*mR.],}Q*v'qQ,n*^R.R,oZnOos*`,pQ'w$}R*z'xT.a-U.bu/^.c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1Zt/^.c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1ZQ0P/ZX1S0w1T1[1]!P/U.c/X/Y/Z/[/q/w/y0O0g0l0q0r0v0w1P1R1T1W1X1Z1[1]Q/t/TR0c/ug/w/W/x0_0f0k0y0{0}1Y1^1_u/].c/X/Y/[/q/w/y0O0g0l0q0r0v1P1R1W1X1ZX/r/R/]0^0|R0`/qV1O0r1P1XR0U/_QsOS$Os,pR,p*`Q&r$UR)g&rS%z#W$WS(p%z(sT(s%}&tQ%n#OQ%u#SW(b%n%u(g(kQ(g%rR(k%wQ&}$bR)m&}Q(v&OQ+g(qT+m(v+gQ(P%]R+P(PS(S%`%aY+T(S+U-^.h/cU+U(T(U(VU-^+V+W+XS.h-_-`R/c.iQ#_^R&R#_Q#b_R&T#bQ#e`R&X#eQ(y&US+r(y+sR+s(zQ+v(|R-m+vQ#iaR&[#iQ#lbR&^#lQ#ocR&`#oQ#qdR&a#qQ#tgQ&c#rW&f#t&c)j,RQ)j&wR,R1dQ$_xS&y$_&zR&z$`Q'X$lR)y'XQ&k#yR)c&kQ$h!QR'R$hQ,V)qS-v,V.uR.u-wQ'V$jR)v'VQ,_)|R-{,_Q#wkR&h#wQ*Q']R,b*QQ'`$qS*X'`*YR*Y'aQ'h$xR*a'hQ'm$yS*k'm,zR,z*lQ-Q*qR.`-QWoOs*`,pR#{oQ.b-UR/P.bd/x/W0_0f0k0y0{0}1Y1^1_R0e/xU/p/R0^0|R0]/pQ0x0kS1U0x1VR1V0yS0s0_0`R1Q0sQ/z/WR0h/zR!`PXrOs*`,pWqOs*`,pR'f$wYkOs$w*`,pR&g#v[xOs#v$w*`,pR&x$^&hQOYZ[isuw}!O!S!U!V!Z!n!p!t!u!v!x!y#c#g#j#m#s#v$Y$[$^$a$u$w%[%a%h%k%m%t%y%{&V&b&o&s'O'P'W'Z'b'i'l'}(O(R(T(U(Y(a(i(o(u(x)_)a)i)x*P*R*[*`*f*j*t+O+R+S+V+]+^+`+b+e+f+i+p+q+t,Q,T,[,p,x,y,|-W-X-Y-[-]-`-b-d-f-h-j-k-r.Z.].d.g.j/a/b0W0p1`1a1b1c1e1f1g1h1k1oQ!sTQ#rfQ$PtU$by%p(eS$q!W$tQ$}!^Q%S!hQ%T!iQ%U!jQ%V!kQ%W!lQ%X!mQ%r#PQ%w#TQ%}#XQ&O#YQ&t$XQ'a$rQ'x%OQ)`&dU)k&|)l,SW*U'_*W,i,jQ+Z(_Q+d(nQ,h*VQ-g+lQ0n0SR1d1iQ#OYQ#SZQ$o!UQ$p!VQ%`!pQ(V%a^(^%m%t(a(i+]+`+b^+Q(R+S-[-].g/b0WQ+W(TQ+X(UQ,e*RQ-Z+RQ-_+VQ.e-XQ.f-YQ.i-`Q/`.dR0V/a[gOs#v$w*`,p!^!{YZ!U!V!p%a%m%t(R(T(U(a(i*R+R+S+V+]+`+b-X-Y-[-]-`.d.g/a/b0WQ#W[Q#uiS$Ww}Q$e!OW$l!S$a'b*[S$y!Z$uW%Y!n(O+O-WY&U#c#g#j#m+t`&e#s&b)_)a)i,Q-r1hQ&u$YQ&v$[Q&w$^Q'{%[Q(]%kW(m%y(o+e+iQ(q%{Q(z&VQ)e&oS)h&s1fQ)n'OQ)o'PU)w'W)x,[Q*O'ZQ*e'iY*i'l*j,x,y.ZQ*|'}S+Y(Y1gW+k(u+f-d-hW+o(x+q-j-kQ,a*PQ,u*fQ-S*tQ-i+pQ-s,TQ.[,|Q.m-fR.}.]hUOs#s#v$w&b&s(Y)_)a*`,p%Y!zYZ[iw}!O!S!U!V!Z!n!p#c#g#j#m$Y$[$^$a$u%[%a%k%m%t%y%{&V&o'O'P'W'Z'b'i'l'}(O(R(T(U(a(i(o(u(x)i)x*P*R*[*f*j*t+O+R+S+V+]+`+b+e+f+i+p+q+t,Q,T,[,x,y,|-W-X-Y-[-]-`-d-f-h-j-k-r.Z.].d.g/a/b0W1f1g1hQ$QuW%e!t!x1a1kQ%f!uQ%g!vQ%i!yQ%s1`S(X%h1eQ(Z1bQ([1cQ-a+^Q.l-bS/d.j0pR1m1oU$Uv/f1nR)f&q[hOs#v$w*`,pa!}Y#c#g#j#m$^$a+tQ#][Q$ZwR$d}Q%o#OQ%v#SQ%|#WQ'{%YQ(h%rQ(l%wQ(t%}Q(w&OQ+h(qQ-V*|Q.k-aQ/h.lR0Y/gQ$cyQ(d%pR+_(eQ/g.jR0z0pR#VZR#[[R%_!nQ%]!nV*}(O+O-W!]!qQ!s#r$P$b$q$}%S%T%U%V%W%X%r%w%}&O&t'a'x)`)k*U+Z+d,h-g0n1dR%b!pQ&W#cQ&Z#gQ&]#jQ&_#mR-l+tQ)O&WQ)S&ZQ)W&]Q)[&_S+x)P)QS+z)T)US+|)X)YS,O)])^Q-n+yQ-o+{Q-p+}Q-q,PQ.o-lS/i.p.qR0Z/jQ$m!SQ&{$aQ*Z'bR,l*[Q#zmQ$f!PQ$i!QR'T$hQ)p'SR,Y)sQ)p'SQ,X)rR,Y)sR$k!RR)}'YXqOs*`,pQ$s!WR'c$tQ$z!ZR'd$uR*s'pQ*q'pV.^-P._/OQ/_.cQ/|/XR/}/YU/W.c/X/YQ0R/[Q0_/qQ0d/wU0f/y0g0vQ0k0OQ0y0lQ0{0qU0}0r1P1XQ1Y1RQ1^1WR1_1ZR0Q/ZR0a/q",
157
+ nodeNames: "⚠ print { { { { Comment Script AssignStatement * BinaryExpression BitOp BitOp BitOp BitOp ArithOp ArithOp @ ArithOp ** UnaryExpression ArithOp BitOp AwaitExpression await ) ( ParenthesizedExpression BinaryExpression or and CompareOp in not is UnaryExpression ConditionalExpression if else LambdaExpression lambda ParamList VariableName AssignOp , : NamedExpression AssignOp YieldExpression yield from TupleExpression ComprehensionExpression async for LambdaExpression ] [ ArrayExpression ArrayComprehensionExpression } { DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression CallExpression ArgList AssignOp MemberExpression . PropertyName Number String FormatString FormatReplacement FormatSelfDoc FormatConversion FormatSpec FormatReplacement FormatSelfDoc FormatReplacement FormatSelfDoc FormatReplacement FormatSelfDoc FormatReplacement FormatSelfDoc ContinuedString Ellipsis None Boolean TypeDef AssignOp UpdateStatement UpdateOp ExpressionStatement DeleteStatement del PassStatement pass BreakStatement break ContinueStatement continue ReturnStatement return YieldStatement PrintStatement RaiseStatement raise ImportStatement import as ScopeStatement global nonlocal AssertStatement assert TypeDefinition type TypeParamList TypeParam StatementGroup ; IfStatement Body elif WhileStatement while ForStatement TryStatement try except finally WithStatement with FunctionDefinition def ParamList AssignOp TypeDef ClassDefinition class DecoratedStatement Decorator At MatchStatement match MatchBody MatchClause case CapturePattern LiteralPattern ArithOp ArithOp AsPattern OrPattern LogicOp AttributePattern SequencePattern MappingPattern StarPattern ClassPattern PatternArgList KeywordPattern KeywordPattern Guard",
158
+ maxTerm: 288,
159
+ context: UO,
160
+ nodeProps: [
161
+ ["isolate", -8, 6, 73, 74, 75, 79, 81, 83, 85, ""],
162
+ ["group", -15, 8, 93, 95, 96, 98, 100, 102, 104, 106, 107, 108, 110, 113, 116, 118, "Statement Statement", -22, 10, 20, 23, 27, 42, 51, 52, 58, 59, 62, 63, 64, 65, 66, 69, 72, 73, 74, 87, 88, 89, 90, "Expression", -10, 122, 124, 127, 129, 130, 134, 136, 141, 143, 146, "Statement", -9, 151, 152, 155, 156, 158, 159, 160, 161, 162, "Pattern"],
163
+ ["openedBy", 25, "(", 56, "[", 60, "{"],
164
+ ["closedBy", 26, ")", 57, "]", 61, "}"]
165
+ ],
166
+ propSources: [NO],
167
+ skippedNodes: [0, 6],
168
+ repeatNodeCount: 38,
169
+ tokenData: "%-W#sR!`OX%TXY=|Y[%T[]=|]p%Tpq=|qr@_rsDOst!+|tu%Tuv!Nnvw#!|wx#$Wxy#:Uyz#;Yz{#<^{|#>x|}#@S}!O#AW!O!P#Ci!P!Q#N_!Q!R$!y!R![$&w![!]$1e!]!^$3s!^!_$4w!_!`$7c!`!a$8m!a!b%T!b!c$;U!c!d$<b!d!e$>W!e!h$<b!h!i$H[!i!t$<b!t!u%#r!u!w$<b!w!x$Fl!x!}$<b!}#O%%z#O#P?d#P#Q%'O#Q#R%(S#R#S$<b#S#T%T#T#U$<b#U#V$>W#V#Y$<b#Y#Z$H[#Z#f$<b#f#g%#r#g#i$<b#i#j$Fl#j#o$<b#o#p%)^#p#q%*S#q#r%+^#r#s%,S#s$g%T$g;'S$<b;'S;=`$>Q<%lO$<b!n%^]&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n&^]&w!b&oSOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n'^]&w!b&oSOr%Trs(Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!f(^Z&w!b&oSOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!f)UZ&w!bOw(Vwx)wx#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!f)|Z&w!bOw(Vwx*ox#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V!b*tT&w!bO#o*o#p#q*o#r;'S*o;'S;=`+T<%lO*o!b+WP;=`<%l*o!f+`W&w!bO#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`.d;=`<%l+x<%lO(VS+}V&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS,gVOw+xwx,|x#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS-PUOw+xx#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xS-fRO;'S+x;'S;=`-o;=`O+xS-tW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l+x<%lO+xS.aP;=`<%l+x!f.iW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l(V<%lO+x!f/UP;=`<%l(V!n/`]&w!b&rWOr%Trs&Vsw%Twx0Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!n0`]&w!b&rWOr%Trs&Vsw%Twx1Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!j1`Z&w!b&rWOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j2WZ&w!bOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j3OZ&w!bOr1Xrs*os#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X!j3vW&w!bO#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`6z;=`<%l4`<%lO1XW4eV&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W4}VOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W5gUOr4`s#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`W5|RO;'S4`;'S;=`6V;=`O4`W6[W&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l4`<%lO4`W6wP;=`<%l4`!j7PW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l1X<%lO4`!j7lP;=`<%l1X!n7tW&w!bO#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T[8eX&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[9VX&oSOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[9wX&oSOr8^rs+xsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[:iX&rWOr8^rs9Qsw8^wx;Ux#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[;ZX&rWOr8^rs9Qsw8^wx4`x#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^[;yRO;'S8^;'S;=`<S;=`O8^[<ZY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l8^<%lO8^[<|P;=`<%l8^!n=WY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l%T<%lO8^!n=yP;=`<%l%T#s>Xc&w!b&oS&rW%u!TOX%TXY=|Y[%T[]=|]p%Tpq=|qr%Trs&Vsw%Twx/Xx#O%T#O#P?d#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s?i[&w!bOY%TYZ=|Z]%T]^=|^#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=P;=`<%l8^<%lO%T!q@hd&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#T%T#T#UBz#U#f%T#f#gBz#g#hBz#h#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qBR]oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!qCV]!oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cDXa&w!b&oS&msOYE^YZ%TZ]E^]^%T^rE^rs!)|swE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cEia&w!b&oS&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cFw]&w!b&oS&msOr%Trs'Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#cGya&w!b&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxIOx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#cIXa&w!b&rW&msOYE^YZ%TZ]E^]^%T^rE^rsFnswE^wxJ^x#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#_Jg_&w!b&rW&msOYJ^YZ1XZ]J^]^1X^rJ^rsKfs#OJ^#O#PL`#P#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`!!o<%lOJ^#_KmZ&w!b&msOr1Xrs2ys#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#_LeW&w!bO#oJ^#o#pL}#p#qJ^#q#rL}#r;'SJ^;'S;=`! r;=`<%lL}<%lOJ^{MUZ&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l<%lOL}{M|V&msOr4`rs5ds#O4`#O#P5y#P;'S4`;'S;=`6t<%lO4`{NfRO;'SL};'S;=`No;=`OL}{Nv[&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lL}<%lOL}{! oP;=`<%lL}#_! y[&rW&msOYL}YZ4`Z]L}]^4`^rL}rsMws#OL}#O#PNc#P;'SL};'S;=`! l;=`<%lJ^<%lOL}#_!!rP;=`<%lJ^#c!!zW&w!bO#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!(q;=`<%l!#d<%lOE^!P!#m]&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!$mX&oS&msOr8^rs9rsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^!P!%a]&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!&Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!&a]&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwxL}x#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k<%lO!#d!P!']RO;'S!#d;'S;=`!'f;=`O!#d!P!'o^&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k;=`<%l!#d<%lO!#d!P!(nP;=`<%l!#d#c!(z^&oS&rW&msOY!#dYZ8^Z]!#d]^8^^r!#drs!$fsw!#dwx!%Yx#O!#d#O#P!'Y#P;'S!#d;'S;=`!(k;=`<%lE^<%lO!#d#c!)yP;=`<%lE^#c!*V]&w!b&oS&msOr%Trs!+Osw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c!+ZZ&sW&w!b&oS&qsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#s!,XaU!T&w!b&oS&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!-gaU!T&w!b&oSOY!+|YZ%TZ]!+|]^%T^r!+|rs!.lsw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!.uaU!T&w!b&oSOY!+|YZ%TZ]!+|]^%T^r!+|rs!/zsw!+|wx!:hx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#k!0T_U!T&w!b&oSOY!/zYZ(VZ]!/z]^(V^w!/zwx!1Sx#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#k!1Z_U!T&w!bOY!/zYZ(VZ]!/z]^(V^w!/zwx!2Yx#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#k!2a_U!T&w!bOY!/zYZ(VZ]!/z]^(V^w!/zwx!3`x#O!/z#O#P!4z#P#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!:b<%lO!/z#g!3gZU!T&w!bOY!3`YZ*oZ]!3`]^*o^#o!3`#o#p!4Y#p#q!3`#q#r!4Y#r;'S!3`;'S;=`!4t<%lO!3`!T!4_TU!TOY!4YZ]!4Y^;'S!4Y;'S;=`!4n<%lO!4Y!T!4qP;=`<%l!4Y#g!4wP;=`<%l!3`#k!5R[U!T&w!bOY!/zYZ(VZ]!/z]^(V^#o!/z#o#p!5w#p#q!/z#q#r!5w#r;'S!/z;'S;=`!9s;=`<%l+x<%lO!/z!X!6OZU!T&oSOY!5wYZ+xZ]!5w]^+x^w!5wwx!6qx#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!6vZU!TOY!5wYZ+xZ]!5w]^+x^w!5wwx!7ix#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!7nZU!TOY!5wYZ+xZ]!5w]^+x^w!5wwx!4Yx#O!5w#O#P!8a#P;'S!5w;'S;=`!9m<%lO!5w!X!8fWU!TOY!5wYZ+xZ]!5w]^+x^;'S!5w;'S;=`!9O;=`<%l+x<%lO!5w!X!9TW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l!5w<%lO+x!X!9pP;=`<%l!5w#k!9xW&oSOw+xwx,dx#O+x#O#P-c#P;'S+x;'S;=`.^;=`<%l!/z<%lO+x#k!:eP;=`<%l!/z#s!:qaU!T&w!b&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!;vx#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#s!<PaU!T&w!b&rWOY!+|YZ%TZ]!+|]^%T^r!+|rs!-^sw!+|wx!=Ux#O!+|#O#P!FW#P#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Nh<%lO!+|#o!=__U!T&w!b&rWOY!=UYZ1XZ]!=U]^1X^r!=Urs!>^s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!>e_U!T&w!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!?ds#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!?k_U!T&w!bOY!=UYZ1XZ]!=U]^1X^r!=Urs!3`s#O!=U#O#P!@j#P#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!FQ<%lO!=U#o!@q[U!T&w!bOY!=UYZ1XZ]!=U]^1X^#o!=U#o#p!Ag#p#q!=U#q#r!Ag#r;'S!=U;'S;=`!Ec;=`<%l4`<%lO!=U!]!AnZU!T&rWOY!AgYZ4`Z]!Ag]^4`^r!Agrs!Bas#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!BfZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!CXs#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!C^ZU!TOY!AgYZ4`Z]!Ag]^4`^r!Agrs!4Ys#O!Ag#O#P!DP#P;'S!Ag;'S;=`!E]<%lO!Ag!]!DUWU!TOY!AgYZ4`Z]!Ag]^4`^;'S!Ag;'S;=`!Dn;=`<%l4`<%lO!Ag!]!DsW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!Ag<%lO4`!]!E`P;=`<%l!Ag#o!EhW&rWOr4`rs4zs#O4`#O#P5y#P;'S4`;'S;=`6t;=`<%l!=U<%lO4`#o!FTP;=`<%l!=U#s!F_[U!T&w!bOY!+|YZ%TZ]!+|]^%T^#o!+|#o#p!GT#p#q!+|#q#r!GT#r;'S!+|;'S;=`!Mq;=`<%l8^<%lO!+|!a!G^]U!T&oS&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!H^]U!T&oSOY!GTYZ8^Z]!GT]^8^^r!GTrs!IVsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!I^]U!T&oSOY!GTYZ8^Z]!GT]^8^^r!GTrs!5wsw!GTwx!JVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!J^]U!T&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!KVx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!K^]U!T&rWOY!GTYZ8^Z]!GT]^8^^r!GTrs!HVsw!GTwx!Agx#O!GT#O#P!LV#P;'S!GT;'S;=`!Mk<%lO!GT!a!L[WU!TOY!GTYZ8^Z]!GT]^8^^;'S!GT;'S;=`!Lt;=`<%l8^<%lO!GT!a!L{Y&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l!GT<%lO8^!a!MnP;=`<%l!GT#s!MxY&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y;=`<%l!+|<%lO8^#s!NkP;=`<%l!+|#b!Ny_&UQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b#!T]#Qr&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b##X_&OQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#$aa&w!b&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx#8Ux#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#%qa&w!b&oS&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#'Pa&w!b&oS&msOY#%fYZ%TZ]#%f]^%T^r#%frs#(Usw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c#(_a&w!b&oS&msOY#%fYZ%TZ]#%f]^%T^r#%frs#)dsw#%fwx#/{x#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#Z#)m_&w!b&oS&msOY#)dYZ(VZ]#)d]^(V^w#)dwx#*lx#O#)d#O#P#+f#P#o#)d#o#p#,T#p#q#)d#q#r#,T#r;'S#)d;'S;=`#/u<%lO#)d#Z#*sZ&w!b&msOw(Vwx)wx#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#Z#+kW&w!bO#o#)d#o#p#,T#p#q#)d#q#r#,T#r;'S#)d;'S;=`#.x;=`<%l#,T<%lO#)dw#,[Z&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r<%lO#,Tw#-SV&msOw+xwx,|x#O+x#O#P-c#P;'S+x;'S;=`.^<%lO+xw#-lRO;'S#,T;'S;=`#-u;=`O#,Tw#-|[&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r;=`<%l#,T<%lO#,Tw#.uP;=`<%l#,T#Z#/P[&oS&msOY#,TYZ+xZ]#,T]^+x^w#,Twx#,}x#O#,T#O#P#-i#P;'S#,T;'S;=`#.r;=`<%l#)d<%lO#,T#Z#/xP;=`<%l#)d#c#0U]&w!b&rW&msOr%Trs&Vsw%Twx0Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#1SW&w!bO#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#6y;=`<%l#1l<%lO#%f!P#1u]&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#2u]&oS&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#3nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#3u]&oS&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#,Tsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s<%lO#1l!P#4uX&rW&msOr8^rs9Qsw8^wx;Ux#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^!P#5eRO;'S#1l;'S;=`#5n;=`O#1l!P#5w^&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s;=`<%l#1l<%lO#1l!P#6vP;=`<%l#1l#c#7S^&oS&rW&msOY#1lYZ8^Z]#1l]^8^^r#1lrs#2nsw#1lwx#4nx#O#1l#O#P#5b#P;'S#1l;'S;=`#6s;=`<%l#%f<%lO#1l#c#8RP;=`<%l#%f#c#8_]&w!b&rW&msOr%Trs&Vsw%Twx#9Wx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#9cZ&pS&w!b&rW&nsOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#c#:a]js&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q#;e]iR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#<iaXs&w!b&oS&rWOr%Trs&Vsw%Twx/Xxz%Tz{#=n{!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#=y_cR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#?T_&Rs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q#@_]|R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s#Ac`&Ss&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`!a#Be!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#O#Bp]'W`&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#Cta!hQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P#Dy!P!Q%T!Q![#GV![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#ES_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P#FR!P#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#F^]!zs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Gbi!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#GV![!g%T!g!h#IP!h!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S#GV#S#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#IYc&w!b&oS&rWOr%Trs&Vsw%Twx/Xx{%T{|#Je|}%T}!O#Je!O!Q%T!Q![#Km![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Jn_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#Km![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Kxe!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#Km![!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S#Km#S#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a#Mf]!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c#Nja&TR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!P%T!P!Q$ o!Q!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$ z_&VQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$#Uw!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P$%o!P!Q%T!Q![$&w![!d%T!d!e$(w!e!g%T!g!h#IP!h!l%T!l!m#MZ!m!q%T!q!r$+m!r!z%T!z!{$.]!{#O%T#O#P7o#P#R%T#R#S$&w#S#U%T#U#V$(w#V#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#c%T#c#d$+m#d#l%T#l#m$.]#m#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$%x_&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![#GV![#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$'Sk!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!O%T!O!P$%o!P!Q%T!Q![$&w![!g%T!g!h#IP!h!l%T!l!m#MZ!m#O%T#O#P7o#P#R%T#R#S$&w#S#X%T#X#Y#IP#Y#^%T#^#_#MZ#_#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$)Qb&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!R$*Y!R!S$*Y!S#O%T#O#P7o#P#R%T#R#S$*Y#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$*eb!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!R$*Y!R!S$*Y!S#O%T#O#P7o#P#R%T#R#S$*Y#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$+va&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!Y$,{!Y#O%T#O#P7o#P#R%T#R#S$,{#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$-Wa!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q!Y$,{!Y#O%T#O#P7o#P#R%T#R#S$,{#S#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$.fe&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![$/w![!c%T!c!i$/w!i#O%T#O#P7o#P#R%T#R#S$/w#S#T%T#T#Z$/w#Z#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a$0Se!jq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!Q%T!Q![$/w![!c%T!c!i$/w!i#O%T#O#P7o#P#R%T#R#S$/w#S#T%T#T#Z$/w#Z#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s$1p_}!T&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`$2o!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q$2z]&_R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$4O]#os&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$5SaoR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!^%T!^!_$6X!_!`Av!`!aAv!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$6d_&PQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$7n_&^s&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$8x`oR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`Av!`!a$9z!a#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b$:V_&QQ&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$;c_aQ$VP&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#s$<oe&w!b&oS&rW&l`&XsOr%Trs&Vsw%Twx/Xx!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s$>TP;=`<%l$<b#s$>ei&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!t$<b!t!u$Fl!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#f$<b#f#g$Fl#g#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c$@]a&w!b&oS&msOYE^YZ%TZ]E^]^%T^rE^rs$AbswE^wxGpx#OE^#O#P!!u#P#oE^#o#p!#d#p#qE^#q#r!#d#r;'SE^;'S;=`!)v<%lOE^#c$Ak]&w!b&oS&msOr%Trs$Bdsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#Z$BmZ&w!b&oS&qsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#c$Cia&w!b&rW&msOY#%fYZ%TZ]#%f]^%T^r#%frs#&vsw#%fwx$Dnx#O#%f#O#P#0}#P#o#%f#o#p#1l#p#q#%f#q#r#1l#r;'S#%f;'S;=`#8O<%lO#%f#c$Dw]&w!b&rW&msOr%Trs&Vsw%Twx$Epx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#_$EyZ&w!b&rW&nsOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#s$Fye&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s$Hii&w!b&oS&rW&l`&XsOr%Trs$JWsw%Twx$MUx!Q%T!Q![$<b![!c%T!c!t$<b!t!u%!S!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#f$<b#f#g%!S#g#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c$Ja]&w!b&oS&xsOr%Trs$KYsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$Ka]&w!b&oSOr%Trs$LYsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#Z$LcZ&w!b&oS&zsOw(Vwx)Px#O(V#O#P+Z#P#o(V#o#p+x#p#q(V#q#r+x#r;'S(V;'S;=`/R<%lO(V#c$M_]&w!b&rW&tsOr%Trs&Vsw%Twx$NWx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#c$N_]&w!b&rWOr%Trs&Vsw%Twx% Wx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#_% aZ&w!b&rW&ysOr1Xrs2Rs#O1X#O#P3q#P#o1X#o#p4`#p#q1X#q#r4`#r;'S1X;'S;=`7i<%lO1X#s%!ae&w!b&oS&rW&l`&XsOr%Trs$JWsw%Twx$MUx!Q%T!Q![$<b![!c%T!c!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#s%$Pm&w!b&oS&rW&l`&XsOr%Trs$@Ssw%Twx$C`x!Q%T!Q![$<b![!c%T!c!h$<b!h!i%!S!i!t$<b!t!u$Fl!u!}$<b!}#O%T#O#P7o#P#R%T#R#S$<b#S#T%T#T#U$<b#U#V$Fl#V#Y$<b#Y#Z%!S#Z#o$<b#o#p8^#p#q%T#q#r8^#r$g%T$g;'S$<b;'S;=`$>Q<%lO$<b#c%&V]!Zs&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q%'Z]!YR&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#b%(__%}Q&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T#a%)gX!_#T&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^#c%*__%|R&w!b&oS&rWOr%Trs&Vsw%Twx/Xx!_%T!_!`# x!`#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T!q%+gX!^!e&oS&rWOr8^rs9Qsw8^wx:dx#O8^#O#P;v#P;'S8^;'S;=`<y<%lO8^#a%,_]&Wq&w!b&oS&rWOr%Trs&Vsw%Twx/Xx#O%T#O#P7o#P#o%T#o#p8^#p#q%T#q#r8^#r;'S%T;'S;=`=v<%lO%T",
170
+ tokenizers: [zO, kO, GO, jO, AO, FO, IO, 0, 1, 2, 3, 4, 5, 6],
171
+ topRules: { Script: [0, 7] },
172
+ specialized: [{ term: 239, get: (O) => CO[O] || -1 }],
173
+ tokenPrec: 7500
174
+ }), f = /* @__PURE__ */ new D(), W = /* @__PURE__ */ new Set([
175
+ "Script",
176
+ "Body",
177
+ "FunctionDefinition",
178
+ "ClassDefinition",
179
+ "LambdaExpression",
180
+ "ForStatement",
181
+ "MatchClause"
182
+ ]);
183
+ function n(O) {
184
+ return (r, o, a) => {
185
+ if (a)
186
+ return !1;
187
+ let e = r.node.getChild("VariableName");
188
+ return e && o(e, O), !0;
189
+ };
190
+ }
191
+ const LO = {
192
+ FunctionDefinition: /* @__PURE__ */ n("function"),
193
+ ClassDefinition: /* @__PURE__ */ n("class"),
194
+ ForStatement(O, r, o) {
195
+ if (o) {
196
+ for (let a = O.node.firstChild; a; a = a.nextSibling)
197
+ if (a.name == "VariableName")
198
+ r(a, "variable");
199
+ else if (a.name == "in")
200
+ break;
201
+ }
202
+ },
203
+ ImportStatement(O, r) {
204
+ var o, a;
205
+ let { node: e } = O, Q = ((o = e.firstChild) === null || o === void 0 ? void 0 : o.name) == "from";
206
+ for (let x = e.getChild("import"); x; x = x.nextSibling)
207
+ x.name == "VariableName" && ((a = x.nextSibling) === null || a === void 0 ? void 0 : a.name) != "as" && r(x, Q ? "variable" : "namespace");
208
+ },
209
+ AssignStatement(O, r) {
210
+ for (let o = O.node.firstChild; o; o = o.nextSibling)
211
+ if (o.name == "VariableName")
212
+ r(o, "variable");
213
+ else if (o.name == ":" || o.name == "AssignOp")
214
+ break;
215
+ },
216
+ ParamList(O, r) {
217
+ for (let o = null, a = O.node.firstChild; a; a = a.nextSibling)
218
+ a.name == "VariableName" && (!o || !/\*|AssignOp/.test(o.name)) && r(a, "variable"), o = a;
219
+ },
220
+ CapturePattern: /* @__PURE__ */ n("variable"),
221
+ AsPattern: /* @__PURE__ */ n("variable"),
222
+ __proto__: null
223
+ };
224
+ function V(O, r) {
225
+ let o = f.get(r);
226
+ if (o)
227
+ return o;
228
+ let a = [], e = !0;
229
+ function Q(x, s) {
230
+ let h = O.sliceString(x.from, x.to);
231
+ a.push({ label: h, type: s });
232
+ }
233
+ return r.cursor(N.IncludeAnonymous).iterate((x) => {
234
+ if (x.name) {
235
+ let s = LO[x.name];
236
+ if (s && s(x, Q, e) || !e && W.has(x.name))
237
+ return !1;
238
+ e = !1;
239
+ } else if (x.to - x.from > 8192) {
240
+ for (let s of V(O, x.node))
241
+ a.push(s);
242
+ return !1;
243
+ }
244
+ }), f.set(r, a), a;
245
+ }
246
+ const b = /^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/, g = ["String", "FormatString", "Comment", "PropertyName"];
247
+ function HO(O) {
248
+ let r = _(O.state).resolveInner(O.pos, -1);
249
+ if (g.indexOf(r.name) > -1)
250
+ return null;
251
+ let o = r.name == "VariableName" || r.to - r.from < 20 && b.test(O.state.sliceDoc(r.from, r.to));
252
+ if (!o && !O.explicit)
253
+ return null;
254
+ let a = [];
255
+ for (let e = r; e; e = e.parent)
256
+ W.has(e.name) && (a = a.concat(V(O.state.doc, e)));
257
+ return {
258
+ options: a,
259
+ from: o ? r.from : O.pos,
260
+ validFor: b
261
+ };
262
+ }
263
+ const JO = /* @__PURE__ */ [
264
+ "__annotations__",
265
+ "__builtins__",
266
+ "__debug__",
267
+ "__doc__",
268
+ "__import__",
269
+ "__name__",
270
+ "__loader__",
271
+ "__package__",
272
+ "__spec__",
273
+ "False",
274
+ "None",
275
+ "True"
276
+ ].map((O) => ({ label: O, type: "constant" })).concat(/* @__PURE__ */ [
277
+ "ArithmeticError",
278
+ "AssertionError",
279
+ "AttributeError",
280
+ "BaseException",
281
+ "BlockingIOError",
282
+ "BrokenPipeError",
283
+ "BufferError",
284
+ "BytesWarning",
285
+ "ChildProcessError",
286
+ "ConnectionAbortedError",
287
+ "ConnectionError",
288
+ "ConnectionRefusedError",
289
+ "ConnectionResetError",
290
+ "DeprecationWarning",
291
+ "EOFError",
292
+ "Ellipsis",
293
+ "EncodingWarning",
294
+ "EnvironmentError",
295
+ "Exception",
296
+ "FileExistsError",
297
+ "FileNotFoundError",
298
+ "FloatingPointError",
299
+ "FutureWarning",
300
+ "GeneratorExit",
301
+ "IOError",
302
+ "ImportError",
303
+ "ImportWarning",
304
+ "IndentationError",
305
+ "IndexError",
306
+ "InterruptedError",
307
+ "IsADirectoryError",
308
+ "KeyError",
309
+ "KeyboardInterrupt",
310
+ "LookupError",
311
+ "MemoryError",
312
+ "ModuleNotFoundError",
313
+ "NameError",
314
+ "NotADirectoryError",
315
+ "NotImplemented",
316
+ "NotImplementedError",
317
+ "OSError",
318
+ "OverflowError",
319
+ "PendingDeprecationWarning",
320
+ "PermissionError",
321
+ "ProcessLookupError",
322
+ "RecursionError",
323
+ "ReferenceError",
324
+ "ResourceWarning",
325
+ "RuntimeError",
326
+ "RuntimeWarning",
327
+ "StopAsyncIteration",
328
+ "StopIteration",
329
+ "SyntaxError",
330
+ "SyntaxWarning",
331
+ "SystemError",
332
+ "SystemExit",
333
+ "TabError",
334
+ "TimeoutError",
335
+ "TypeError",
336
+ "UnboundLocalError",
337
+ "UnicodeDecodeError",
338
+ "UnicodeEncodeError",
339
+ "UnicodeError",
340
+ "UnicodeTranslateError",
341
+ "UnicodeWarning",
342
+ "UserWarning",
343
+ "ValueError",
344
+ "Warning",
345
+ "ZeroDivisionError"
346
+ ].map((O) => ({ label: O, type: "type" }))).concat(/* @__PURE__ */ [
347
+ "bool",
348
+ "bytearray",
349
+ "bytes",
350
+ "classmethod",
351
+ "complex",
352
+ "float",
353
+ "frozenset",
354
+ "int",
355
+ "list",
356
+ "map",
357
+ "memoryview",
358
+ "object",
359
+ "range",
360
+ "set",
361
+ "staticmethod",
362
+ "str",
363
+ "super",
364
+ "tuple",
365
+ "type"
366
+ ].map((O) => ({ label: O, type: "class" }))).concat(/* @__PURE__ */ [
367
+ "abs",
368
+ "aiter",
369
+ "all",
370
+ "anext",
371
+ "any",
372
+ "ascii",
373
+ "bin",
374
+ "breakpoint",
375
+ "callable",
376
+ "chr",
377
+ "compile",
378
+ "delattr",
379
+ "dict",
380
+ "dir",
381
+ "divmod",
382
+ "enumerate",
383
+ "eval",
384
+ "exec",
385
+ "exit",
386
+ "filter",
387
+ "format",
388
+ "getattr",
389
+ "globals",
390
+ "hasattr",
391
+ "hash",
392
+ "help",
393
+ "hex",
394
+ "id",
395
+ "input",
396
+ "isinstance",
397
+ "issubclass",
398
+ "iter",
399
+ "len",
400
+ "license",
401
+ "locals",
402
+ "max",
403
+ "min",
404
+ "next",
405
+ "oct",
406
+ "open",
407
+ "ord",
408
+ "pow",
409
+ "print",
410
+ "property",
411
+ "quit",
412
+ "repr",
413
+ "reversed",
414
+ "round",
415
+ "setattr",
416
+ "slice",
417
+ "sorted",
418
+ "sum",
419
+ "vars",
420
+ "zip"
421
+ ].map((O) => ({ label: O, type: "function" }))), BO = [
422
+ /* @__PURE__ */ S("def ${name}(${params}):\n ${}", {
423
+ label: "def",
424
+ detail: "function",
425
+ type: "keyword"
426
+ }),
427
+ /* @__PURE__ */ S("for ${name} in ${collection}:\n ${}", {
428
+ label: "for",
429
+ detail: "loop",
430
+ type: "keyword"
431
+ }),
432
+ /* @__PURE__ */ S("while ${}:\n ${}", {
433
+ label: "while",
434
+ detail: "loop",
435
+ type: "keyword"
436
+ }),
437
+ /* @__PURE__ */ S("try:\n ${}\nexcept ${error}:\n ${}", {
438
+ label: "try",
439
+ detail: "/ except block",
440
+ type: "keyword"
441
+ }),
442
+ /* @__PURE__ */ S(`if \${}:
443
+
444
+ `, {
445
+ label: "if",
446
+ detail: "block",
447
+ type: "keyword"
448
+ }),
449
+ /* @__PURE__ */ S("if ${}:\n ${}\nelse:\n ${}", {
450
+ label: "if",
451
+ detail: "/ else block",
452
+ type: "keyword"
453
+ }),
454
+ /* @__PURE__ */ S("class ${name}:\n def __init__(self, ${params}):\n ${}", {
455
+ label: "class",
456
+ detail: "definition",
457
+ type: "keyword"
458
+ }),
459
+ /* @__PURE__ */ S("import ${module}", {
460
+ label: "import",
461
+ detail: "statement",
462
+ type: "keyword"
463
+ }),
464
+ /* @__PURE__ */ S("from ${module} import ${names}", {
465
+ label: "from",
466
+ detail: "import",
467
+ type: "keyword"
468
+ })
469
+ ], MO = /* @__PURE__ */ U(g, /* @__PURE__ */ C(/* @__PURE__ */ JO.concat(BO)));
470
+ function v(O, r) {
471
+ let o = O.baseIndentFor(r), a = O.lineAt(O.pos, -1), e = a.from + a.text.length;
472
+ return /^\s*($|#)/.test(a.text) && O.node.to < e + 100 && !/\S/.test(O.state.sliceDoc(e, O.node.to)) && O.lineIndent(O.pos, -1) <= o || /^\s*(else:|elif |except |finally:)/.test(O.textAfter) && O.lineIndent(O.pos, -1) > o ? null : o + O.unit;
473
+ }
474
+ const X = /* @__PURE__ */ z.define({
475
+ name: "python",
476
+ parser: /* @__PURE__ */ DO.configure({
477
+ props: [
478
+ /* @__PURE__ */ j.add({
479
+ Body: (O) => {
480
+ var r;
481
+ return (r = v(O, O.node)) !== null && r !== void 0 ? r : O.continue();
482
+ },
483
+ IfStatement: (O) => /^\s*(else:|elif )/.test(O.textAfter) ? O.baseIndent : O.continue(),
484
+ TryStatement: (O) => /^\s*(except |finally:|else:)/.test(O.textAfter) ? O.baseIndent : O.continue(),
485
+ "TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression": /* @__PURE__ */ $({ closing: ")" }),
486
+ "DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression": /* @__PURE__ */ $({ closing: "}" }),
487
+ "ArrayExpression ArrayComprehensionExpression": /* @__PURE__ */ $({ closing: "]" }),
488
+ "String FormatString": () => null,
489
+ Script: (O) => {
490
+ if (O.pos + /\s*/.exec(O.textAfter)[0].length >= O.node.to) {
491
+ let r = null;
492
+ for (let o = O.node, a = o.to; o = o.lastChild, !(!o || o.to != a); )
493
+ o.type.name == "Body" && (r = o);
494
+ if (r) {
495
+ let o = v(O, r);
496
+ if (o != null)
497
+ return o;
498
+ }
499
+ }
500
+ return O.continue();
501
+ }
502
+ }),
503
+ /* @__PURE__ */ A.add({
504
+ "ArrayExpression DictionaryExpression SetExpression TupleExpression": F,
505
+ Body: (O, r) => ({ from: O.from + 1, to: O.to - (O.to == r.doc.length ? 0 : 1) })
506
+ })
507
+ ]
508
+ }),
509
+ languageData: {
510
+ closeBrackets: {
511
+ brackets: ["(", "[", "{", "'", '"', "'''", '"""'],
512
+ stringPrefixes: [
513
+ "f",
514
+ "fr",
515
+ "rf",
516
+ "r",
517
+ "u",
518
+ "b",
519
+ "br",
520
+ "rb",
521
+ "F",
522
+ "FR",
523
+ "RF",
524
+ "R",
525
+ "U",
526
+ "B",
527
+ "BR",
528
+ "RB"
529
+ ]
530
+ },
531
+ commentTokens: { line: "#" },
532
+ indentOnInput: /^\s*([\}\]\)]|else:|elif |except |finally:)$/
533
+ }
534
+ });
535
+ function rr() {
536
+ return new I(X, [
537
+ X.data.of({ autocomplete: HO }),
538
+ X.data.of({ autocomplete: MO })
539
+ ]);
540
+ }
541
+ export {
542
+ MO as globalCompletion,
543
+ HO as localCompletionSource,
544
+ rr as python,
545
+ X as pythonLanguage
546
+ };
src/backend/gradio_highlightedcode/templates/component/index-9f51af45.js ADDED
@@ -0,0 +1,547 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { C, E as d, L as I, a as x } from "./index-3f1cf095.js";
2
+ import { s as A, t as i, h as n, a as j, L as J, b as N, B as m, G as D, d as K, f as B, c as L, H as R, e as F, i as H, g as M, F as OO, E as aO, I as QO, w as iO, N as eO } from "./Index-805076c9.js";
3
+ const ZO = 309, h = 1, $O = 2, rO = 3, tO = 310, oO = 312, nO = 313, pO = 4, PO = 5, cO = 0, g = [
4
+ 9,
5
+ 10,
6
+ 11,
7
+ 12,
8
+ 13,
9
+ 32,
10
+ 133,
11
+ 160,
12
+ 5760,
13
+ 8192,
14
+ 8193,
15
+ 8194,
16
+ 8195,
17
+ 8196,
18
+ 8197,
19
+ 8198,
20
+ 8199,
21
+ 8200,
22
+ 8201,
23
+ 8202,
24
+ 8232,
25
+ 8233,
26
+ 8239,
27
+ 8287,
28
+ 12288
29
+ ], G = 125, SO = 59, y = 47, lO = 42, sO = 43, XO = 45, YO = 60, dO = 44, fO = new C({
30
+ start: !1,
31
+ shift(O, a) {
32
+ return a == pO || a == PO || a == oO ? O : a == nO;
33
+ },
34
+ strict: !1
35
+ }), mO = new d((O, a) => {
36
+ let { next: Q } = O;
37
+ (Q == G || Q == -1 || a.context) && O.acceptToken(tO);
38
+ }, { contextual: !0, fallback: !0 }), wO = new d((O, a) => {
39
+ let { next: Q } = O, e;
40
+ g.indexOf(Q) > -1 || Q == y && ((e = O.peek(1)) == y || e == lO) || Q != G && Q != SO && Q != -1 && !a.context && O.acceptToken(ZO);
41
+ }, { contextual: !0 }), WO = new d((O, a) => {
42
+ let { next: Q } = O;
43
+ if ((Q == sO || Q == XO) && (O.advance(), Q == O.next)) {
44
+ O.advance();
45
+ let e = !a.context && a.canShift(h);
46
+ O.acceptToken(e ? h : $O);
47
+ }
48
+ }, { contextual: !0 });
49
+ function w(O, a) {
50
+ return O >= 65 && O <= 90 || O >= 97 && O <= 122 || O == 95 || O >= 192 || !a && O >= 48 && O <= 57;
51
+ }
52
+ const gO = new d((O, a) => {
53
+ if (O.next != YO || !a.dialectEnabled(cO) || (O.advance(), O.next == y))
54
+ return;
55
+ let Q = 0;
56
+ for (; g.indexOf(O.next) > -1; )
57
+ O.advance(), Q++;
58
+ if (w(O.next, !0)) {
59
+ for (O.advance(), Q++; w(O.next, !1); )
60
+ O.advance(), Q++;
61
+ for (; g.indexOf(O.next) > -1; )
62
+ O.advance(), Q++;
63
+ if (O.next == dO)
64
+ return;
65
+ for (let e = 0; ; e++) {
66
+ if (e == 7) {
67
+ if (!w(O.next, !0))
68
+ return;
69
+ break;
70
+ }
71
+ if (O.next != "extends".charCodeAt(e))
72
+ break;
73
+ O.advance(), Q++;
74
+ }
75
+ }
76
+ O.acceptToken(rO, -Q);
77
+ }), yO = A({
78
+ "get set async static": i.modifier,
79
+ "for while do if else switch try catch finally return throw break continue default case": i.controlKeyword,
80
+ "in of await yield void typeof delete instanceof": i.operatorKeyword,
81
+ "let var const using function class extends": i.definitionKeyword,
82
+ "import export from": i.moduleKeyword,
83
+ "with debugger as new": i.keyword,
84
+ TemplateString: i.special(i.string),
85
+ super: i.atom,
86
+ BooleanLiteral: i.bool,
87
+ this: i.self,
88
+ null: i.null,
89
+ Star: i.modifier,
90
+ VariableName: i.variableName,
91
+ "CallExpression/VariableName TaggedTemplateExpression/VariableName": i.function(i.variableName),
92
+ VariableDefinition: i.definition(i.variableName),
93
+ Label: i.labelName,
94
+ PropertyName: i.propertyName,
95
+ PrivatePropertyName: i.special(i.propertyName),
96
+ "CallExpression/MemberExpression/PropertyName": i.function(i.propertyName),
97
+ "FunctionDeclaration/VariableDefinition": i.function(i.definition(i.variableName)),
98
+ "ClassDeclaration/VariableDefinition": i.definition(i.className),
99
+ PropertyDefinition: i.definition(i.propertyName),
100
+ PrivatePropertyDefinition: i.definition(i.special(i.propertyName)),
101
+ UpdateOp: i.updateOperator,
102
+ "LineComment Hashbang": i.lineComment,
103
+ BlockComment: i.blockComment,
104
+ Number: i.number,
105
+ String: i.string,
106
+ Escape: i.escape,
107
+ ArithOp: i.arithmeticOperator,
108
+ LogicOp: i.logicOperator,
109
+ BitOp: i.bitwiseOperator,
110
+ CompareOp: i.compareOperator,
111
+ RegExp: i.regexp,
112
+ Equals: i.definitionOperator,
113
+ Arrow: i.function(i.punctuation),
114
+ ": Spread": i.punctuation,
115
+ "( )": i.paren,
116
+ "[ ]": i.squareBracket,
117
+ "{ }": i.brace,
118
+ "InterpolationStart InterpolationEnd": i.special(i.brace),
119
+ ".": i.derefOperator,
120
+ ", ;": i.separator,
121
+ "@": i.meta,
122
+ TypeName: i.typeName,
123
+ TypeDefinition: i.definition(i.typeName),
124
+ "type enum interface implements namespace module declare": i.definitionKeyword,
125
+ "abstract global Privacy readonly override": i.modifier,
126
+ "is keyof unique infer": i.operatorKeyword,
127
+ JSXAttributeValue: i.attributeValue,
128
+ JSXText: i.content,
129
+ "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": i.angleBracket,
130
+ "JSXIdentifier JSXNameSpacedName": i.tagName,
131
+ "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": i.attributeName,
132
+ "JSXBuiltin/JSXIdentifier": i.standard(i.tagName)
133
+ }), jO = { __proto__: null, export: 18, as: 23, from: 31, default: 34, async: 39, function: 40, extends: 52, this: 56, true: 64, false: 64, null: 76, void: 80, typeof: 84, super: 102, new: 136, delete: 152, yield: 161, await: 165, class: 170, public: 227, private: 227, protected: 227, readonly: 229, instanceof: 248, satisfies: 251, in: 252, const: 254, import: 286, keyof: 339, unique: 343, infer: 349, is: 385, abstract: 405, implements: 407, type: 409, let: 412, var: 414, using: 417, interface: 423, enum: 427, namespace: 433, module: 435, declare: 439, global: 443, for: 462, of: 471, while: 474, with: 478, do: 482, if: 486, else: 488, switch: 492, case: 498, try: 504, catch: 508, finally: 512, return: 516, throw: 520, break: 524, continue: 528, debugger: 532 }, kO = { __proto__: null, async: 123, get: 125, set: 127, declare: 187, public: 189, private: 189, protected: 189, static: 191, abstract: 193, override: 195, readonly: 201, accessor: 203, new: 389 }, bO = { __proto__: null, "<": 143 }, xO = I.deserialize({
134
+ version: 14,
135
+ states: "$<UO%TQ^OOO%[Q^OOO'_Q`OOP(lOWOOO*zQ08SO'#ChO+RO!bO'#CiO+aO#tO'#CiO+oO?MpO'#D^O.QQ^O'#DdO.bQ^O'#DoO%[Q^O'#DyO0fQ^O'#EROOQ07b'#EZ'#EZO1PQWO'#EWOOQO'#El'#ElOOQO'#Ie'#IeO1XQWO'#GmO1dQWO'#EkO1iQWO'#EkO3kQ08SO'#JiO6[Q08SO'#JjO6xQWO'#FZO6}Q&jO'#FqOOQ07b'#Fc'#FcO7YO,YO'#FcO7hQ7[O'#FxO9UQWO'#FwOOQ07b'#Jj'#JjOOQ07`'#Ji'#JiO9ZQWO'#GqOOQU'#KU'#KUO9fQWO'#IRO9kQ07hO'#ISOOQU'#JW'#JWOOQU'#IW'#IWQ`Q^OOO`Q^OOO%[Q^O'#DqO9sQ^O'#D}O9zQ^O'#EPO9aQWO'#GmO:RQ7[O'#CnO:aQWO'#EjO:lQWO'#EuO:qQ7[O'#FbO;`QWO'#GmOOQO'#KV'#KVO;eQWO'#KVO;sQWO'#GuO;sQWO'#GvO;sQWO'#GxO9aQWO'#G{O<jQWO'#HOO>RQWO'#CdO>cQWO'#H[O>kQWO'#HbO>kQWO'#HdO`Q^O'#HfO>kQWO'#HhO>kQWO'#HkO>pQWO'#HqO>uQ07iO'#HwO%[Q^O'#HyO?QQ07iO'#H{O?]Q07iO'#H}O9kQ07hO'#IPO?hQ08SO'#ChO@jQ`O'#DiQOQWOOO%[Q^O'#EPOAQQWO'#ESO:RQ7[O'#EjOA]QWO'#EjOAhQpO'#FbOOQU'#Cf'#CfOOQ07`'#Dn'#DnOOQ07`'#Jm'#JmO%[Q^O'#JmOOQO'#Jq'#JqOOQO'#Ib'#IbOBhQ`O'#EcOOQ07`'#Eb'#EbOCdQ07pO'#EcOCnQ`O'#EVOOQO'#Jp'#JpODSQ`O'#JqOEaQ`O'#EVOCnQ`O'#EcPEnO!0LbO'#CaPOOO)CDu)CDuOOOO'#IX'#IXOEyO!bO,59TOOQ07b,59T,59TOOOO'#IY'#IYOFXO#tO,59TO%[Q^O'#D`OOOO'#I['#I[OFgO?MpO,59xOOQ07b,59x,59xOFuQ^O'#I]OGYQWO'#JkOI[QrO'#JkO+}Q^O'#JkOIcQWO,5:OOIyQWO'#ElOJWQWO'#JyOJcQWO'#JxOJcQWO'#JxOJkQWO,5;YOJpQWO'#JwOOQ07f,5:Z,5:ZOJwQ^O,5:ZOLxQ08SO,5:eOMiQWO,5:mONSQ07hO'#JvONZQWO'#JuO9ZQWO'#JuONoQWO'#JuONwQWO,5;XON|QWO'#JuO!#UQrO'#JjOOQ07b'#Ch'#ChO%[Q^O'#ERO!#tQpO,5:rOOQO'#Jr'#JrOOQO-E<c-E<cO9aQWO,5=XO!$[QWO,5=XO!$aQ^O,5;VO!&dQ7[O'#EgO!'}QWO,5;VO!)mQ7[O'#DsO!)tQ^O'#DxO!*OQ`O,5;`O!*WQ`O,5;`O%[Q^O,5;`OOQU'#FR'#FROOQU'#FT'#FTO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aO%[Q^O,5;aOOQU'#FX'#FXO!*fQ^O,5;rOOQ07b,5;w,5;wOOQ07b,5;x,5;xO!,iQWO,5;xOOQ07b,5;y,5;yO%[Q^O'#IiO!,qQ07hO,5<eO!&dQ7[O,5;aO!-`Q7[O,5;aO%[Q^O,5;uO!-gQ&jO'#FgO!.dQ&jO'#J}O!.OQ&jO'#J}O!.kQ&jO'#J}OOQO'#J}'#J}O!/PQ&jO,5<POOOS,5<],5<]O!/bQ^O'#FsOOOS'#Ih'#IhO7YO,YO,5;}O!/iQ&jO'#FuOOQ07b,5;},5;}O!0YQMhO'#CuOOQ07b'#Cy'#CyO!0mQWO'#CyO!0rO?MpO'#C}O!1`Q7[O,5<bO!1gQWO,5<dO!3SQ!LQO'#GSO!3aQWO'#GTO!3fQWO'#GTO!3kQ!LQO'#GXO!4jQ`O'#G]OOQO'#Gh'#GhO!(SQ7[O'#GgOOQO'#Gj'#GjO!(SQ7[O'#GiO!5]QMhO'#JdOOQ07b'#Jd'#JdO!5gQWO'#JcO!5uQWO'#JbO!5}QWO'#CtOOQ07b'#Cw'#CwOOQ07b'#DR'#DROOQ07b'#DT'#DTO1SQWO'#DVO!(SQ7[O'#FzO!(SQ7[O'#F|O!6VQWO'#GOO!6[QWO'#GPO!3fQWO'#GVO!(SQ7[O'#G[O!6aQWO'#EmO!7OQWO,5<cOOQ07`'#Cq'#CqO!7WQWO'#EnO!8QQ`O'#EoOOQ07`'#Jw'#JwO!8XQ07hO'#KWO9kQ07hO,5=]O`Q^O,5>mOOQU'#J`'#J`OOQU,5>n,5>nOOQU-E<U-E<UO!:ZQ08SO,5:]O!<wQ08SO,5:iO%[Q^O,5:iO!?bQ08SO,5:kOOQO,5@q,5@qO!@RQ7[O,5=XO!@aQ07hO'#JaO9UQWO'#JaO!@rQ07hO,59YO!@}Q`O,59YO!AVQ7[O,59YO:RQ7[O,59YO!AbQWO,5;VO!AjQWO'#HZO!BOQWO'#KZO%[Q^O,5;zO!7{Q`O,5;|O!BWQWO,5=tO!B]QWO,5=tO!BbQWO,5=tO9kQ07hO,5=tO;sQWO,5=dOOQO'#Cu'#CuO!BpQ`O,5=aO!BxQ7[O,5=bO!CTQWO,5=dO!CYQpO,5=gO!CbQWO'#KVO>pQWO'#HQO9aQWO'#HSO!CgQWO'#HSO:RQ7[O'#HUO!ClQWO'#HUOOQU,5=j,5=jO!CqQWO'#HVO!DSQWO'#CnO!DXQWO,59OO!DcQWO,59OO!FhQ^O,59OOOQU,59O,59OO!FxQ07hO,59OO%[Q^O,59OO!ITQ^O'#H^OOQU'#H_'#H_OOQU'#H`'#H`O`Q^O,5=vO!IkQWO,5=vO`Q^O,5=|O`Q^O,5>OO!IpQWO,5>QO`Q^O,5>SO!IuQWO,5>VO!IzQ^O,5>]OOQU,5>c,5>cO%[Q^O,5>cO9kQ07hO,5>eOOQU,5>g,5>gO!NUQWO,5>gOOQU,5>i,5>iO!NUQWO,5>iOOQU,5>k,5>kO!NZQ`O'#D[O%[Q^O'#JmO!NxQ`O'#JmO# gQ`O'#DjO# xQ`O'#DjO#$ZQ^O'#DjO#$bQWO'#JlO#$jQWO,5:TO#$oQWO'#EpO#$}QWO'#JzO#%VQWO,5;ZO#%[Q`O'#DjO#%iQ`O'#EUOOQ07b,5:n,5:nO%[Q^O,5:nO#%pQWO,5:nO>pQWO,5;UO!@}Q`O,5;UO!AVQ7[O,5;UO:RQ7[O,5;UO#%xQWO,5@XO#%}Q$ISO,5:rOOQO-E<`-E<`O#'TQ07pO,5:}OCnQ`O,5:qO#'_Q`O,5:qOCnQ`O,5:}O!@rQ07hO,5:qOOQ07`'#Ef'#EfOOQO,5:},5:}O%[Q^O,5:}O#'lQ07hO,5:}O#'wQ07hO,5:}O!@}Q`O,5:qOOQO,5;T,5;TO#(VQ07hO,5:}POOO'#IV'#IVP#(kO!0LbO,58{POOO,58{,58{OOOO-E<V-E<VOOQ07b1G.o1G.oOOOO-E<W-E<WO#(vQpO,59zOOOO-E<Y-E<YOOQ07b1G/d1G/dO#({QrO,5>wO+}Q^O,5>wOOQO,5>},5>}O#)VQ^O'#I]OOQO-E<Z-E<ZO#)dQWO,5@VO#)lQrO,5@VO#)sQWO,5@dOOQ07b1G/j1G/jO%[Q^O,5@eO#){QWO'#IcOOQO-E<a-E<aO#)sQWO,5@dOOQ07`1G0t1G0tOOQ07f1G/u1G/uOOQ07f1G0X1G0XO%[Q^O,5@bO#*aQ07hO,5@bO#*rQ07hO,5@bO#*yQWO,5@aO9ZQWO,5@aO#+RQWO,5@aO#+aQWO'#IfO#*yQWO,5@aOOQ07`1G0s1G0sO!*OQ`O,5:tO!*ZQ`O,5:tOOQO,5:v,5:vO#,RQWO,5:vO#,ZQ7[O1G2sO9aQWO1G2sOOQ07b1G0q1G0qO#,iQ08SO1G0qO#-nQ08QO,5;ROOQ07b'#GR'#GRO#.[Q08SO'#JdO!$aQ^O1G0qO#0dQ7[O'#JnO#0nQWO,5:_O#0sQrO'#JoO%[Q^O'#JoO#0}QWO,5:dOOQ07b'#D['#D[OOQ07b1G0z1G0zO%[Q^O1G0zOOQ07b1G1d1G1dO#1SQWO1G0zO#3kQ08SO1G0{O#3rQ08SO1G0{O#6]Q08SO1G0{O#6dQ08SO1G0{O#8nQ08SO1G0{O#9UQ08SO1G0{O#<OQ08SO1G0{O#<VQ08SO1G0{O#>jQ08SO1G0{O#>wQ08SO1G0{O#@uQ08SO1G0{O#CuQ(CYO'#ChO#EsQ(CYO1G1^O#EzQ(CYO'#JjO!,lQWO1G1dO#F[Q08SO,5?TOOQ07`-E<g-E<gO#GOQ08SO1G0{OOQ07b1G0{1G0{O#IZQ08SO1G1aO#I}Q&jO,5<TO#JVQ&jO,5<UO#J_Q&jO'#FlO#JvQWO'#FkOOQO'#KO'#KOOOQO'#Ig'#IgO#J{Q&jO1G1kOOQ07b1G1k1G1kOOOS1G1v1G1vO#K^Q(CYO'#JiO#KhQWO,5<_O!*fQ^O,5<_OOOS-E<f-E<fOOQ07b1G1i1G1iO#KmQ`O'#J}OOQ07b,5<a,5<aO#KuQ`O,5<aOOQ07b,59e,59eO!&dQ7[O'#DPOOOO'#IZ'#IZO#KzO?MpO,59iOOQ07b,59i,59iO%[Q^O1G1|O!6[QWO'#IkO#LVQ7[O,5<uOOQ07b,5<r,5<rO!(SQ7[O'#InO#LuQ7[O,5=RO!(SQ7[O'#IpO#MhQ7[O,5=TO!&dQ7[O,5=VOOQO1G2O1G2OO#MrQpO'#CqO#NVQpO,5<nO#N^QWO'#KRO9aQWO'#KRO#NlQWO,5<pO!(SQ7[O,5<oO#NqQWO'#GUO#N|QWO,5<oO$ RQpO'#GRO$ `QpO'#KSO$ jQWO'#KSO!&dQ7[O'#KSO$ oQWO,5<sO$ tQ`O'#G^O!4eQ`O'#G^O$!VQWO'#G`O$![QWO'#GbO!3fQWO'#GeO$!aQ07hO'#ImO$!lQ`O,5<wOOQ07f,5<w,5<wO$!sQ`O'#G^O$#RQ`O'#G_O$#ZQ`O'#G_O$#`Q7[O,5=RO$#pQ7[O,5=TOOQ07b,5=W,5=WO!(SQ7[O,5?}O!(SQ7[O,5?}O$$QQWO'#IrO$$]QWO,5?|O$$eQWO,59`O$%UQ7[O,59qOOQ07b,59q,59qO$%wQ7[O,5<fO$&jQ7[O,5<hO@bQWO,5<jOOQ07b,5<k,5<kO$&tQWO,5<qO$&yQ7[O,5<vO$'ZQWO'#JuO!$aQ^O1G1}O$'`QWO1G1}O9ZQWO'#JxO9ZQWO'#EpO%[Q^O'#EpO9ZQWO'#ItO$'eQ07hO,5@rOOQU1G2w1G2wOOQU1G4X1G4XOOQ07b1G/w1G/wO!,iQWO1G/wO$)jQ08SO1G0TOOQU1G2s1G2sO!&dQ7[O1G2sO%[Q^O1G2sO#,^QWO1G2sO$+nQ7[O'#EgOOQ07`,5?{,5?{O$+xQ07hO,5?{[email protected]!@}Q`O1G.tO!AVQ7[O1G.tO$,ZQWO1G0qO$,`QWO'#ChO$,kQWO'#K[O$,sQWO,5=uO$,xQWO'#K[O$,}QWO'#K[O$-]QWO'#IzO$-kQWO,5@uO$-sQrO1G1fOOQ07b1G1h1G1hO9aQWO1G3`O@bQWO1G3`O$-zQWO1G3`O$.PQWO1G3`OOQU1G3`1G3`O!CTQWO1G3OO!&dQ7[O1G2{O$.UQWO1G2{OOQU1G2|1G2|O!&dQ7[O1G2|O$.ZQWO1G2|O$.cQ`O'#GzOOQU1G3O1G3OO!4eQ`O'#IvO!CYQpO1G3ROOQU1G3R1G3ROOQU,5=l,5=lO$.kQ7[O,5=nO9aQWO,5=nO$![QWO,5=pO9UQWO,5=pO!@}Q`O,5=pO!AVQ7[O,5=pO:RQ7[O,5=pO$.yQWO'#KYO$/UQWO,5=qOOQU1G.j1G.jO$/[email protected]$/fQWO1G.jO9kQ07hO1G.jO$1kQrO,5@wO$1{QWO,5@wO9ZQWO,5@wO$2WQ^O,5=xO$2_QWO,5=xOOQU1G3b1G3bO`Q^O1G3bOOQU1G3h1G3hOOQU1G3j1G3jO>kQWO1G3lO$2dQ^O1G3nO$6hQ^O'#HmOOQU1G3q1G3qO$6uQWO'#HsO>pQWO'#HuOOQU1G3w1G3wO$6}Q^O1G3wO9kQ07hO1G3}OOQU1G4P1G4POOQ07`'#GY'#GYO9kQ07hO1G4RO9kQ07hO1G4TO$;UQWO,5@XO!*fQ^O,5;[O9ZQWO,5;[O>pQWO,5:UO!*fQ^O,5:UO!@}Q`O,5:UO$;ZQ(CYO,5:UOOQO,5;[,5;[O$;eQ`O'#I^O$;{QWO,5@WOOQ07b1G/o1G/oO$<TQ`O'#IdO$<_QWO,5@fOOQ07`1G0u1G0uO# xQ`O,5:UOOQO'#Ia'#IaO$<gQ`O,5:pOOQ07f,5:p,5:pO#%sQWO1G0YOOQ07b1G0Y1G0YO%[Q^O1G0YOOQ07b1G0p1G0pO>pQWO1G0pO!@}Q`O1G0pO!AVQ7[O1G0pOOQ07`1G5s1G5sO!@rQ07hO1G0]OOQO1G0i1G0iO%[Q^O1G0iO$<nQ07hO1G0iO$<yQ07hO1G0iO!@}Q`O1G0]OCnQ`O1G0]O$=XQ07hO1G0iOOQO1G0]1G0]O$=mQ08SO1G0iPOOO-E<T-E<TPOOO1G.g1G.gOOOO1G/f1G/fO$=wQpO,5<eO$>PQrO1G4cOOQO1G4i1G4iO%[Q^O,5>wO$>ZQWO1G5qO$>cQWO1G6OO$>kQrO1G6PO9ZQWO,5>}O$>uQ08SO1G5|O%[Q^O1G5|O$?VQ07hO1G5|O$?hQWO1G5{O$?hQWO1G5{O9ZQWO1G5{O$?pQWO,5?QO9ZQWO,5?QOOQO,5?Q,5?QO$@UQWO,5?QO$'ZQWO,5?QOOQO-E<d-E<dOOQO1G0`1G0`OOQO1G0b1G0bO!,lQWO1G0bOOQU7+(_7+(_O!&dQ7[O7+(_O%[Q^O7+(_O$@dQWO7+(_O$@oQ7[O7+(_O$@}Q08SO,5=RO$CYQ08SO,5=TO$EeQ08SO,5=RO$GvQ08SO,5=TO$JXQ08SO,59qO$LaQ08SO,5<fO$NlQ08SO,5<hO%!wQ08SO,5<vOOQ07b7+&]7+&]O%%YQ08SO7+&]O%%|Q7[O'#I_O%&WQWO,5@YOOQ07b1G/y1G/yO%&`Q^O'#I`O%&mQWO,5@ZO%&uQrO,5@ZOOQ07b1G0O1G0OO%'PQWO7+&fOOQ07b7+&f7+&fO%'UQ(CYO,5:eO%[Q^O7+&xO%'`Q(CYO,5:]O%'mQ(CYO,5:iO%'wQ(CYO,5:kOOQ07b7+'O7+'OOOQO1G1o1G1oOOQO1G1p1G1pO%(RQtO,5<WO!*fQ^O,5<VOOQO-E<e-E<eOOQ07b7+'V7+'VOOOS7+'b7+'bOOOS1G1y1G1yO%(^QWO1G1yOOQ07b1G1{1G1{O%(cQpO,59kOOOO-E<X-E<XOOQ07b1G/T1G/TO%(jQ08SO7+'hOOQ07b,5?V,5?VO%)^QpO,5?VOOQ07b1G2a1G2aP!&dQ7[O'#IkPOQ07b-E<i-E<iO%)|Q7[O,5?YOOQ07b-E<l-E<lO%*oQ7[O,5?[OOQ07b-E<n-E<nO%*yQpO1G2qOOQ07b1G2Y1G2YO%+QQWO'#IjO%+`QWO,5@mO%+`QWO,5@mO%+hQWO,5@mO%+sQWO,5@mOOQO1G2[1G2[O%,RQ7[O1G2ZO!(SQ7[O1G2ZO%,cQ!LQO'#IlO%,sQWO,5@nO!&dQ7[O,5@nO%,{QpO,5@nOOQ07b1G2_1G2_OOQ07`,5<x,5<xOOQ07`,5<y,5<yO$'ZQWO,5<yOC_QWO,5<yO!@}Q`O,5<xOOQO'#Ga'#GaO%-VQWO,5<zOOQ07`,5<|,5<|O$'ZQWO,5=POOQO,5?X,5?XOOQO-E<k-E<kOOQ07f1G2c1G2cO!4eQ`O,5<xO%-_QWO,5<yO$!VQWO,5<zO!4eQ`O,5<yO!(SQ7[O'#InO%.RQ7[O1G2mO!(SQ7[O'#IpO%.tQ7[O1G2oO%/OQ7[O1G5iO%/YQ7[O1G5iOOQO,5?^,5?^OOQO-E<p-E<pOOQO1G.z1G.zO!7{Q`O,59sO%[Q^O,59sO%/gQWO1G2UO!(SQ7[O1G2]O%/lQ08SO7+'iOOQ07b7+'i7+'iO!$aQ^O7+'iO%0`QWO,5;[OOQ07`,5?`,5?`OOQ07`-E<r-E<rOOQ07b7+%c7+%cO%0eQpO'#KTO#%sQWO7+(_O%0oQrO7+(_O$@gQWO7+(_O%0vQ08QO'#ChO%1ZQ08QO,5<}O%1{QWO,5<}OOQ07`1G5g1G5gOOQU7+$`7+$`O!@rQ07hO7+$`O!@}Q`O7+$`O!$aQ^O7+&]O%2QQWO'#IyO%2iQWO,5@vOOQO1G3a1G3aO9aQWO,5@vO%2iQWO,5@vO%2qQWO,5@vOOQO,5?f,5?fOOQO-E<x-E<xOOQ07b7+'Q7+'QO%2vQWO7+(zO9kQ07hO7+(zO9aQWO7+(zO@bQWO7+(zOOQU7+(j7+(jO%2{Q08QO7+(gO!&dQ7[O7+(gO%3VQpO7+(hOOQU7+(h7+(hO!&dQ7[O7+(hO%3^QWO'#KXO%3iQWO,5=fOOQO,5?b,5?bOOQO-E<t-E<tOOQU7+(m7+(mO%4xQ`O'#HTOOQU1G3Y1G3YO!&dQ7[O1G3YO%[Q^O1G3YO%5PQWO1G3YO%5[Q7[O1G3YO9kQ07hO1G3[O$![QWO1G3[O9UQWO1G3[O!@}Q`O1G3[O!AVQ7[O1G3[O%5jQWO'#IxO%6OQWO,5@tO%6WQ`O,5@tOOQ07`1G3]1G3]OOQU7+$U7+$UO@bQWO7+$UO9kQ07hO7+$UO%6cQWO7+$UO%[Q^O1G6cO%[Q^O1G6dO%6hQ07hO1G6cO%6rQ^O1G3dO%6yQWO1G3dO%7OQ^O1G3dOOQU7+(|7+(|O9kQ07hO7+)WO`Q^O7+)YOOQU'#K_'#K_OOQU'#I{'#I{O%7VQ^O,5>XOOQU,5>X,5>XO%[Q^O'#HnO%7dQWO'#HpOOQU,5>_,5>_O9ZQWO,5>_OOQU,5>a,5>aOOQU7+)c7+)cOOQU7+)i7+)iOOQU7+)m7+)mOOQU7+)o7+)oO%7iQ`O1G5sO%7}Q(CYO1G0vO%8XQWO1G0vOOQO1G/p1G/pO%8dQ(CYO1G/pO>pQWO1G/pO!*fQ^O'#DjOOQO,5>x,5>xOOQO-E<[-E<[OOQO,5?O,5?OOOQO-E<b-E<bO!@}Q`O1G/pOOQO-E<_-E<_OOQ07f1G0[1G0[OOQ07b7+%t7+%tO#%sQWO7+%tOOQ07b7+&[7+&[O>pQWO7+&[O!@}Q`O7+&[OOQO7+%w7+%wO$=mQ08SO7+&TOOQO7+&T7+&TO%[Q^O7+&TO%8nQ07hO7+&TO!@rQ07hO7+%wO!@}Q`O7+%wO%8yQ07hO7+&TO%9XQ08SO7++hO%[Q^O7++hO%9iQWO7++gO%9iQWO7++gOOQO1G4l1G4lO9ZQWO1G4lO%9qQWO1G4lOOQO7+%|7+%|O#%sQWO<<KyO%0oQrO<<KyO%:PQWO<<KyOOQU<<Ky<<KyO!&dQ7[O<<KyO%[Q^O<<KyO%:XQWO<<KyO%:dQ08SO,5?YO%<oQ08SO,5?[O%>zQ08SO1G2ZO%A]Q08SO1G2mO%ChQ08SO1G2oO%EsQ7[O,5>yOOQO-E<]-E<]O%E}QrO,5>zO%[Q^O,5>zOOQO-E<^-E<^O%FXQWO1G5uOOQ07b<<JQ<<JQO%FaQ(CYO1G0qO%HkQ(CYO1G0{O%HrQ(CYO1G0{O%JvQ(CYO1G0{O%J}Q(CYO1G0{O%LrQ(CYO1G0{O%MYQ(CYO1G0{O& mQ(CYO1G0{O& tQ(CYO1G0{O&#rQ(CYO1G0{O&$PQ(CYO1G0{O&%}Q(CYO1G0{O&&bQ08SO<<JdO&'gQ(CYO1G0{O&)]Q(CYO'#JdO&+`Q(CYO1G1aO&+mQ(CYO1G0TO!*fQ^O'#FnOOQO'#KP'#KPOOQO1G1r1G1rO&+wQWO1G1qO&+|Q(CYO,5?TOOOS7+'e7+'eOOOO1G/V1G/VOOQ07b1G4q1G4qO!(SQ7[O7+(]O&,WQWO,5?UO9aQWO,5?UOOQO-E<h-E<hO&,fQWO1G6XO&,fQWO1G6XO&,nQWO1G6XO&,yQ7[O7+'uO&-ZQpO,5?WO&-eQWO,5?WO!&dQ7[O,5?WOOQO-E<j-E<jO&-jQpO1G6YO&-tQWO1G6YOOQ07`1G2e1G2eO$'ZQWO1G2eOOQ07`1G2d1G2dO&-|QWO1G2fO!&dQ7[O1G2fOOQ07`1G2k1G2kO!@}Q`O1G2dOC_QWO1G2eO&.RQWO1G2fO&.ZQWO1G2eO&.}Q7[O,5?YOOQ07b-E<m-E<mO&/pQ7[O,5?[OOQ07b-E<o-E<oO!(SQ7[O7++TOOQ07b1G/_1G/_O&/zQWO1G/_OOQ07b7+'p7+'pO&0PQ7[O7+'wO&0aQ08SO<<KTOOQ07b<<KT<<KTO&1TQWO1G0vO!&dQ7[O'#IsO&1YQWO,5@oO!&dQ7[O1G2iOOQU<<Gz<<GzO!@rQ07hO<<GzO&1bQ08SO<<IwOOQ07b<<Iw<<IwOOQO,5?e,5?eO&2UQWO,5?eO&2ZQWO,5?eOOQO-E<w-E<wO&2iQWO1G6bO&2iQWO1G6bO9aQWO1G6bO@bQWO<<LfOOQU<<Lf<<LfO&2qQWO<<LfO9kQ07hO<<LfOOQU<<LR<<LRO%2{Q08QO<<LROOQU<<LS<<LSO%3VQpO<<LSO&2vQ`O'#IuO&3RQWO,5@sO!*fQ^O,5@sOOQU1G3Q1G3QO&3ZQ^O'#JmOOQO'#Iw'#IwO9kQ07hO'#IwO&3eQ`O,5=oOOQU,5=o,5=oO&3lQ`O'#EcO&4QQWO7+(tO&4VQWO7+(tOOQU7+(t7+(tO!&dQ7[O7+(tO%[Q^O7+(tO&4_QWO7+(tOOQU7+(v7+(vO9kQ07hO7+(vO$![QWO7+(vO9UQWO7+(vO!@}Q`O7+(vO&4jQWO,5?dOOQO-E<v-E<vOOQO'#HW'#HWO&4uQWO1G6`O9kQ07hO<<GpOOQU<<Gp<<GpO@bQWO<<GpO&4}QWO7++}O&5SQWO7+,OO%[Q^O7++}O%[Q^O7+,OOOQU7+)O7+)OO&5XQWO7+)OO&5^Q^O7+)OO&5eQWO7+)OOOQU<<Lr<<LrOOQU<<Lt<<LtOOQU-E<y-E<yOOQU1G3s1G3sO&5jQWO,5>YOOQU,5>[,5>[O&5oQWO1G3yO9ZQWO7+&bO!*fQ^O7+&bOOQO7+%[7+%[O&5tQ(CYO1G6PO>pQWO7+%[OOQ07b<<I`<<I`OOQ07b<<Iv<<IvO>pQWO<<IvOOQO<<Io<<IoO$=mQ08SO<<IoO%[Q^O<<IoOOQO<<Ic<<IcO!@rQ07hO<<IcO&6OQ07hO<<IoO&6ZQ08SO<= SO&6kQWO<= ROOQO7+*W7+*WO9ZQWO7+*WOOQUANAeANAeO&6sQWOANAeO!&dQ7[OANAeO#%sQWOANAeO%0oQrOANAeO%[Q^OANAeO&6{Q08SO7+'uO&9^Q08SO,5?YO&;iQ08SO,5?[O&=tQ08SO7+'wO&@VQrO1G4fO&@aQ(CYO7+&]O&BeQ(CYO,5=RO&DlQ(CYO,5=TO&D|Q(CYO,5=RO&E^Q(CYO,5=TO&EnQ(CYO,59qO&GqQ(CYO,5<fO&ItQ(CYO,5<hO&KwQ(CYO,5<vO&MmQ(CYO7+'hO&MzQ(CYO7+'iO&NXQWO,5<YOOQO7+']7+']O&N^Q7[O<<KwOOQO1G4p1G4pO&NeQWO1G4pO&NpQWO1G4pO' OQWO7++sO' OQWO7++sO!&dQ7[O1G4rO' WQpO1G4rO' bQWO7++tOOQ07`7+(P7+(PO$'ZQWO7+(QO' jQpO7+(QOOQ07`7+(O7+(OO$'ZQWO7+(PO' qQWO7+(QO!&dQ7[O7+(QOC_QWO7+(PO' vQ7[O<<NoOOQ07b7+$y7+$yO'!QQpO,5?_OOQO-E<q-E<qO'![Q08QO7+(TOOQUAN=fAN=fO9aQWO1G5POOQO1G5P1G5PO'!lQWO1G5PO'!qQWO7++|O'!qQWO7++|O9kQ07hOANBQO@bQWOANBQOOQUANBQANBQOOQUANAmANAmOOQUANAnANAnO'!yQWO,5?aOOQO-E<s-E<sO'#UQ(CYO1G6_O'%fQrO'#ChOOQO,5?c,5?cOOQO-E<u-E<uOOQU1G3Z1G3ZO&3ZQ^O,5<zOOQU<<L`<<L`O!&dQ7[O<<L`O&4QQWO<<L`O'%pQWO<<L`O%[Q^O<<L`OOQU<<Lb<<LbO9kQ07hO<<LbO$![QWO<<LbO9UQWO<<LbO'%xQ`O1G5OO'&TQWO7++zOOQUAN=[AN=[O9kQ07hOAN=[OOQU<= i<= iOOQU<= j<= jO'&]QWO<= iO'&bQWO<= jOOQU<<Lj<<LjO'&gQWO<<LjO'&lQ^O<<LjOOQU1G3t1G3tO>pQWO7+)eO'&sQWO<<I|O''OQ(CYO<<I|OOQO<<Hv<<HvOOQ07bAN?bAN?bOOQOAN?ZAN?ZO$=mQ08SOAN?ZOOQOAN>}AN>}O%[Q^OAN?ZOOQO<<Mr<<MrOOQUG27PG27PO!&dQ7[OG27PO#%sQWOG27PO''YQWOG27PO%0oQrOG27PO''bQ(CYO<<JdO''oQ(CYO1G2ZO')eQ(CYO,5?YO'+hQ(CYO,5?[O'-kQ(CYO1G2mO'/nQ(CYO1G2oO'1qQ(CYO<<KTO'2OQ(CYO<<IwOOQO1G1t1G1tO!(SQ7[OANAcOOQO7+*[7+*[O'2]QWO7+*[O'2hQWO<= _O'2pQpO7+*^OOQ07`<<Kl<<KlO$'ZQWO<<KlOOQ07`<<Kk<<KkO'2zQpO<<KlO$'ZQWO<<KkOOQO7+*k7+*kO9aQWO7+*kO'3RQWO<= hOOQUG27lG27lO9kQ07hOG27lO!*fQ^O1G4{O'3ZQWO7++yO&4QQWOANAzOOQUANAzANAzO!&dQ7[OANAzO'3cQWOANAzOOQUANA|ANA|O9kQ07hOANA|O$![QWOANA|OOQO'#HX'#HXOOQO7+*j7+*jOOQUG22vG22vOOQUANETANETOOQUANEUANEUOOQUANBUANBUO'3kQWOANBUOOQU<<MP<<MPO!*fQ^OAN?hOOQOG24uG24uO$=mQ08SOG24uO#%sQWOLD,kOOQULD,kLD,kO!&dQ7[OLD,kO'3pQWOLD,kO'3xQ(CYO7+'uO'5nQ(CYO,5?YO'7qQ(CYO,5?[O'9tQ(CYO7+'wO';jQ7[OG26}OOQO<<Mv<<MvOOQ07`ANAWANAWO$'ZQWOANAWOOQ07`ANAVANAVOOQO<<NV<<NVOOQULD-WLD-WO';zQ(CYO7+*gOOQUG27fG27fO&4QQWOG27fO!&dQ7[OG27fOOQUG27hG27hO9kQ07hOG27hOOQUG27pG27pO'<UQ(CYOG25SOOQOLD*aLD*aOOQU!$(!V!$(!VO#%sQWO!$(!VO!&dQ7[O!$(!VO'<`Q08SOG26}OOQ07`G26rG26rOOQULD-QLD-QO&4QQWOLD-QOOQULD-SLD-SOOQU!)9Eq!)9EqO#%sQWO!)9EqOOQU!$(!l!$(!lOOQU!.K;]!.K;]O'>qQ(CYOG26}O!*fQ^O'#DyO1PQWO'#EWO'@gQrO'#JiO!*fQ^O'#DqO'@nQ^O'#D}O'@uQrO'#ChO'C]QrO'#ChO!*fQ^O'#EPO'CmQ^O,5;VO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O,5;aO!*fQ^O'#IiO'EpQWO,5<eO'ExQ7[O,5;aO'GcQ7[O,5;aO!*fQ^O,5;uO!&dQ7[O'#GgO'ExQ7[O'#GgO!&dQ7[O'#GiO'ExQ7[O'#GiO1SQWO'#DVO1SQWO'#DVO!&dQ7[O'#FzO'ExQ7[O'#FzO!&dQ7[O'#F|O'ExQ7[O'#F|O!&dQ7[O'#G[O'ExQ7[O'#G[O!*fQ^O,5:iO!*fQ^O,5@eO'CmQ^O1G0qO'GjQ(CYO'#ChO!*fQ^O1G1|O!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O,5<oO'ExQ7[O,5<oO'CmQ^O1G1}O!*fQ^O7+&xO!&dQ7[O1G2ZO'ExQ7[O1G2ZO!&dQ7[O'#InO'ExQ7[O'#InO!&dQ7[O'#IpO'ExQ7[O'#IpO!&dQ7[O1G2]O'ExQ7[O1G2]O'CmQ^O7+'iO'CmQ^O7+&]O!&dQ7[OANAcO'ExQ7[OANAcO'GtQWO'#EkO'GyQWO'#EkO'HRQWO'#FZO'HWQWO'#EuO'H]QWO'#JyO'HhQWO'#JwO'HsQWO,5;VO'HxQ7[O,5<bO'IPQWO'#GTO'IUQWO'#GTO'IZQWO,5<cO'IcQWO,5;VO'IkQ(CYO1G1^O'IrQWO,5<oO'IwQWO,5<oO'I|QWO,5<qO'JRQWO,5<qO'JWQWO1G1}O'J]QWO1G0qO'JbQ7[O<<KwO'JiQ7[O<<KwO7hQ7[O'#FxO9UQWO'#FwOA]QWO'#EjO!*fQ^O,5;rO!3fQWO'#GTO!3fQWO'#GTO!3fQWO'#GVO!3fQWO'#GVO!(SQ7[O7+(]O!(SQ7[O7+(]O%*yQpO1G2qO%*yQpO1G2qO!&dQ7[O,5=VO!&dQ7[O,5=V",
136
+ stateData: "'Km~O'tOS'uOSSOS'vRQ~OPYOQYORfOX!VO`qOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!twO!wxO!{]O#s!PO$T|O%b}O%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO&P!WO&V!XO&X!YO&Z!ZO&]![O&`!]O&f!^O&l!_O&n!`O&p!aO&r!bO&t!cO'{SO'}TO(QUO(XVO(g[O(tiO~OVtO~P`OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`!vOo!nO!P!oO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!wO#S!pO#T!pO#W!yO#X!yO'|!lO'}TO(QUO([!mO(g!sO~O'v!zO~OP[XZ[X`[Xn[X|[X}[X!P[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X'r[X(X[X(h[X(o[X(p[X~O!d$|X~P(qO^!|O'}#OO(O!|O(P#OO~O^#PO(P#OO(Q#OO(R#PO~Ot#RO!R#SO(Y#SO(Z#UO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{:hO'}TO(QUO(XVO(g[O(tiO~O!X#YO!Y#VO!V(_P!V(lP~P+}O!Z#bO~P`OPYOQYORfOc!jOd!iOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'}TO(QUO(XVO(g[O(tiO~Ol#lO!X#hO!{]O#e#kO#f#hO'{:iO!j(iP~P.iO!k#nO'{#mO~O!w#rO!{]O%b#sO~O#g#tO~O!d#uO#g#tO~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y$aO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`(]X'r(]X'p(]X!j(]X!V(]X![(]X%c(]X!d(]X~P1qO#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X![(^X%c(^X~O`(^X!i(^X'r(^X'p(^X!V(^X!j(^Xr(^X!d(^X~P4XO#[$eO~O$Y$gO$[$fO$c$lO~ORfO![$mO$f$nO$h$pO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{$rO'}TO(QUO(X$uO(o$}O(p%POf(UP~O!k%bO~O!P%eO![%fO'{%dO~O!d%jO~O`%kO'r%kO~O'|!lO~P%[O%h%rO~P%[Og%VO!k%bO'{%dO'|!lO~Od%yO!k%bO'{%dO~O#r$SO~O|&OO![%{O!k%}O%d&RO'{%dO'|!lO'}TO(QUO_(}P~O!w#rO~O%m&TO!P(yX![(yX'{(yX~O'{&UO~O!t&ZO#s!PO%d!QO%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO~Oc&`Od&_O!w&]O%b&^O%u&[O~P;xOc&cOdyO![&bO!t&ZO!wxO!{]O#s!PO%b}O%f!OO%g!OO%h!OO%k!RO%m!SO%p!TO%q!TO%s!UO~Oa&fO#[&iO%d&dO'|!lO~P<}O!k&jO!t&nO~O!k#nO~O![XO~O`%kO'q&vO'r%kO~O`%kO'q&yO'r%kO~O`%kO'q&{O'r%kO~O'p[X!V[Xr[X!j[X&T[X![[X%c[X!d[X~P(qO!_'YO!`'RO!a'RO'|!lO'}TO(QUO~Oo'PO!P'OO!X'SO([&}O!Z(`P!Z(nP~P@UOj']O!['ZO'{%dO~Od'bO!k%bO'{%dO~O|&OO!k%}O~Oo!nO!P!oO!{:dO#P!pO#Q!pO#S!pO#T!pO'|!lO'}TO(QUO([!mO(g!sO~O!_'hO!`'gO!a'gO#R!pO#W'iO#X'iO~PApO`%kOg%VO!d#uO!k%bO'r%kO(h'kO~O!o'oO#['mO~PCOOo!nO!P!oO'}TO(QUO([!mO(g!sO~O![XOo(eX!P(eX!_(eX!`(eX!a(eX!{(eX#P(eX#Q(eX#R(eX#S(eX#T(eX#W(eX#X(eX'|(eX'}(eX(Q(eX([(eX(g(eX~O!`'gO!a'gO'|!lO~PCnO'w'sO'x'sO'y'uO~O^!|O'}'wO(O!|O(P'wO~O^#PO(P'wO(Q'wO(R#PO~Ot#RO!R#SO(Y#SO(Z'{O~O!X'}O!V'PX!V'VX!Y'PX!Y'VX~P+}O!Y(PO!V(_X~OP$]OZ$dOn$QO|#yO}#zO!P#{O!Y(PO!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O!V(_X~PGbO!V(UO~O!V(kX!Y(kX!d(kX!j(kX(h(kX~O#[(kX#g#`X!Z(kX~PIhO#[(VO!V(mX!Y(mX~O!Y(WO!V(lX~O!V(ZO~O#[$eO~PIhO!Z([O~P`O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!maZ!man!ma!Y!ma!h!ma!o!ma#j!ma#k!ma#l!ma#m!ma#n!ma#o!ma#p!ma#q!ma#r!ma#t!ma#v!ma#x!ma#y!ma(h!ma(o!ma(p!ma~O`!ma'r!ma'p!ma!V!ma!j!mar!ma![!ma%c!ma!d!ma~PKOO!j(]O~O!d#uO#[(^O(h'kO!Y(jX`(jX'r(jX~O!j(jX~PMnO!P%eO![%fO!{]O#e(cO#f(bO'{%dO~O!Y(dO!j(iX~O!j(fO~O!P%eO![%fO#f(bO'{%dO~OP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!i(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#r(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O!d#uO!j(^X~P! [O|(gO}(hO!i#wO!k#xO!{!za!P!za~O!w!za%b!za![!za#e!za#f!za'{!za~P!#`O!w(lO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![XO!fuO!kZO!nYO!oYO!pYO!rvO!t!gO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#g(rO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz%ZO!P${O![$|O!f%`O!k$xO#f%aO$T%^O$o%[O$q%]O$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~Of(bP~P!(SO!X(vO!j(cP~P%[O([(xO(g[O~O!P(zO!k#xO([(xO(g[O~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O})]O!k#xO~O!Y$aO`$ma'r$ma'p$ma!j$ma!V$ma![$ma%c$ma!d$ma~O#s)aO~P!&dO|)dO!d)cO![$ZX$W$ZX$Y$ZX$[$ZX$c$ZX~O!d)cO![(qX$W(qX$Y(qX$[(qX$c(qX~O|)dO~P!.OO|)dO![(qX$W(qX$Y(qX$[(qX$c(qX~O![)fO$W)jO$Y)eO$[)eO$c)kO~O!X)nO~P!*fO$Y$gO$[$fO$c)rO~Oj$uX|$uX!P$uX!i$uX(o$uX(p$uX~OfiXf$uXjiX!YiX#[iX~P!/tOo)tO~Ot)uO(Y)vO(Z)xO~Oj*RO|)zO!P){O(o$}O(p%PO~Of)yO~P!0}Of*SO~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~O!X*WO'{*TO!j(uP~P!1lO#g*YO~O!k*ZO~O!X*`O'{*]O!V(vP~P!1lOn*lO!P*dO!_*jO!`*cO!a*cO!k*ZO#W*kO%Y*fO'|!lO([!mO~O!Z*iO~P!3xO!i#wOj(WX|(WX!P(WX(o(WX(p(WX!Y(WX#[(WX~Of(WX#|(WX~P!4qOj*qO#[*pOf(VX!Y(VX~O!Y*rOf(UX~O'{&UOf(UP~O!k*yO~O'{(pO~Ol*}O!P%eO!X#hO![%fO!{]O#e#kO#f#hO'{%dO!j(iP~O!d#uO#g+OO~O!P%eO!X+QO!Y(WO![%fO'{%dO!V(lP~Oo'VO!P+SO!X+RO'}TO(QUO([(xO~O!Z(nP~P!7lO!Y+TO`(zX'r(zX~OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO#y$YO(XVO(h$ZO(o#|O(p#}O~O`!ea!Y!ea'r!ea'p!ea!V!ea!j!ear!ea![!ea%c!ea!d!ea~P!8dO|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qaZ!qan!qa!Y!qa!h!qa!o!qa#j!qa#k!qa#l!qa#m!qa#n!qa#o!qa#p!qa#q!qa#r!qa#t!qa#v!qa#x!qa#y!qa(h!qa(o!qa(p!qa~O`!qa'r!qa'p!qa!V!qa!j!qar!qa![!qa%c!qa!d!qa~P!:}O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!saZ!san!sa!Y!sa!h!sa!o!sa#j!sa#k!sa#l!sa#m!sa#n!sa#o!sa#p!sa#q!sa#r!sa#t!sa#v!sa#x!sa#y!sa(h!sa(o!sa(p!sa~O`!sa'r!sa'p!sa!V!sa!j!sar!sa![!sa%c!sa!d!sa~P!=hOg%VOj+^O!['ZO%c+]O~O!d+`O`(TX![(TX'r(TX!Y(TX~O`%kO![XO'r%kO~Og%VO!k%bO~Og%VO!k%bO'{%dO~O!d#uO#g(rO~Oa+kO%d+lO'{+hO'}TO(QUO!Z)OP~O!Y+mO_(}X~OZ+qO~O_+rO~O![%{O'{%dO'|!lO_(}P~Og%VO#[+wO~Og%VOj+zO![$|O~O![+|O~O|,OO![XO~O%h%rO~O!w,TO~Od,YO~Oa,ZO'{#mO'}TO(QUO!Z(|P~Od%yO~O%d!QO'{&UO~P<}OZ,`O_,_O~OPYOQYORfOczOdyOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO!fuO!kZO!nYO!oYO!pYO!rvO!wxO!{]O%b}O'}TO(QUO(XVO(g[O(tiO~O![!eO!t!gO$T!kO'{!dO~P!DkO_,_O`%kO'r%kO~OPYOQYORfOc!jOd!iOlkOnYOokOpkOvkOxYOzYO!PWO!TkO!UkO![!eO!fuO!kZO!nYO!oYO!pYO!rvO!w!hO$T!kO'{!dO'}TO(QUO(XVO(g[O(tiO~O`,eO!twO#s!OO%f!OO%g!OO%h!OO~P!GTO!k&jO~O&V,kO~O![,mO~O&h,oO&j,pOP&eaQ&eaR&eaX&ea`&eac&ead&eal&ean&eao&eap&eav&eax&eaz&ea!P&ea!T&ea!U&ea![&ea!f&ea!k&ea!n&ea!o&ea!p&ea!r&ea!t&ea!w&ea!{&ea#s&ea$T&ea%b&ea%d&ea%f&ea%g&ea%h&ea%k&ea%m&ea%p&ea%q&ea%s&ea&P&ea&V&ea&X&ea&Z&ea&]&ea&`&ea&f&ea&l&ea&n&ea&p&ea&r&ea&t&ea'p&ea'{&ea'}&ea(Q&ea(X&ea(g&ea(t&ea!Z&ea&^&eaa&ea&c&ea~O'{,uO~Og!bX!Y!OX!Y!bX!Z!OX!Z!bX!d!OX!d!bX!k!bX#[!OX~O!d,zO#[,yOg(aX!Y#dX!Y(aX!Z#dX!Z(aX!d(aX!k(aX~Og%VO!d,|O!k%bO!Y!^X!Z!^X~Oo!nO!P!oO'}TO(QUO([!mO~OP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![!eO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'}TO(QUO(XVO(g[O(t<YO~O'{;]O~P#!ZO!Y-QO!Z(`X~O!Z-SO~O!d,zO#[,yO!Y#dX!Z#dX~O!Y-TO!Z(nX~O!Z-VO~O!`-WO!a-WO'|!lO~P# xO!Z-ZO~P'_Oj-^O!['ZO~O!V-cO~Oo!za!_!za!`!za!a!za#P!za#Q!za#R!za#S!za#T!za#W!za#X!za'|!za'}!za(Q!za([!za(g!za~P!#`O!o-hO#[-fO~PCOO!`-jO!a-jO'|!lO~PCnO`%kO#[-fO'r%kO~O`%kO!d#uO#[-fO'r%kO~O`%kO!d#uO!o-hO#[-fO'r%kO(h'kO~O'w'sO'x'sO'y-oO~Or-pO~O!V'Pa!Y'Pa~P!8dO!X-tO!V'PX!Y'PX~P%[O!Y(PO!V(_a~O!V(_a~PGbO!Y(WO!V(la~O!P%eO!X-xO![%fO'{%dO!V'VX!Y'VX~O#[-zO!Y(ja!j(ja`(ja'r(ja~O!d#uO~P#*aO!Y(dO!j(ia~O!P%eO![%fO#f.OO'{%dO~Ol.TO!P%eO!X.QO![%fO!{]O#e.SO#f.QO'{%dO!Y'YX!j'YX~O}.XO!k#xO~Og%VOj.[O!['ZO%c.ZO~O`#_i!Y#_i'r#_i'p#_i!V#_i!j#_ir#_i![#_i%c#_i!d#_i~P!8dOj<fO|)zO!P){O(o$}O(p%PO~O#g#Za`#Za#[#Za'r#Za!Y#Za!j#Za![#Za!V#Za~P#-]O#g(WXP(WXZ(WX`(WXn(WX}(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX'r(WX(X(WX(h(WX!j(WX!V(WX'p(WXr(WX![(WX%c(WX!d(WX~P!4qO!Y.iOf(bX~P!0}Of.kO~O!Y.lO!j(cX~P!8dO!j.oO~O!V.qO~OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#ii`#iin#ii!Y#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#j#ii~P#1XO#j$OO~P#1XOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO(XVOZ#ii`#ii!Y#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~On#ii~P#3yOn$QO~P#3yOP$]On$QO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO(XVO`#ii!Y#ii#t#ii#v#ii#x#ii#y#ii'r#ii(h#ii(o#ii(p#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P#6kOZ$dO!h$SO#o$SO#p$SO#q$cO#r$SO~P#6kOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO(p#}O`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii(o#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v$VO~P#9lO#v#ii~P#9lOP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO(XVO`#ii!Y#ii#x#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~O#v#ii(o#ii(p#ii~P#<^O#v$VO(o#|O(p#}O~P#<^OP$]OZ$dOn$QO|#yO}#zO!P#{O!h$SO!i#wO!k#xO!o$]O#j$OO#k$PO#l$PO#m$PO#n$RO#o$SO#p$SO#q$cO#r$SO#t$TO#v$VO#x$XO(XVO(o#|O(p#}O~O`#ii!Y#ii#y#ii'r#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#?UOP[XZ[Xn[X|[X}[X!P[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X!Y[X!Z[X~O#|[X~P#AoOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO#y:vO(XVO(h$ZO(o#|O(p#}O~O#|.sO~P#C|O#[:{O$O:{O#|(^X!Z(^X~P! [O`']a!Y']a'r']a'p']a!j']a!V']ar']a![']a%c']a!d']a~P!8dOP#iiZ#ii`#iin#ii}#ii!Y#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii'r#ii(X#ii(h#ii'p#ii!V#ii!j#iir#ii![#ii%c#ii!d#ii~P#-]O`#}i!Y#}i'r#}i'p#}i!V#}i!j#}ir#}i![#}i%c#}i!d#}i~P!8dO$Y.xO$[.xO~O$Y.yO$[.yO~O!d)cO#[.zO![$`X$W$`X$Y$`X$[$`X$c$`X~O!X.{O~O![)fO$W.}O$Y)eO$[)eO$c/OO~O!Y:wO!Z(]X~P#C|O!Z/PO~O!d)cO$c(qX~O$c/RO~Ot)uO(Y)vO(Z/UO~O!V/YO~P!&dO(o$}Oj%Za|%Za!P%Za(p%Za!Y%Za#[%Za~Of%Za#|%Za~P#L^O(p%POj%]a|%]a!P%]a(o%]a!Y%]a#[%]a~Of%]a#|%]a~P#MPO!YeX!deX!jeX!j$uX(heX~P!/tO!j/bO~P#-]O!Y/cO!d#uO(h'kO!j(uX~O!j/hO~O!X*WO'{%dO!j(uP~O#g/jO~O!V$uX!Y$uX!d$|X~P!/tO!Y/kO!V(vX~P#-]O!d/mO~O!V/oO~Og%VOn/sO!d#uO!k%bO(h'kO~O'{/uO~O!d+`O~O`%kO!Y/yO'r%kO~O!Z/{O~P!3xO!`/|O!a/|O'|!lO([!mO~O!P0OO([!mO~O#W0PO~Of%Za!Y%Za#[%Za#|%Za~P!0}Of%]a!Y%]a#[%]a#|%]a~P!0}O'{&UOf'fX!Y'fX~O!Y*rOf(Ua~Of0YO~O|0ZO}0ZO!P0[Ojya(oya(pya!Yya#[ya~Ofya#|ya~P$$jO|)zO!P){Oj$na(o$na(p$na!Y$na#[$na~Of$na#|$na~P$%`O|)zO!P){Oj$pa(o$pa(p$pa!Y$pa#[$pa~Of$pa#|$pa~P$&RO#g0^O~Of%Oa!Y%Oa#[%Oa#|%Oa~P!0}O!d#uO~O#g0aO~O!Y+TO`(za'r(za~O|#yO}#zO!P#{O!i#wO!k#xO(XVOP!qiZ!qin!qi!Y!qi!h!qi!o!qi#j!qi#k!qi#l!qi#m!qi#n!qi#o!qi#p!qi#q!qi#r!qi#t!qi#v!qi#x!qi#y!qi(h!qi(o!qi(p!qi~O`!qi'r!qi'p!qi!V!qi!j!qir!qi![!qi%c!qi!d!qi~P$'pOg%VOn$tOo$sOp$sOv%XOx%YOz;QO!P${O![$|O!f<`O!k$xO#f;WO$T%^O$o;SO$q;UO$t%_O'}TO(QUO(X$uO(o$}O(p%PO~Ol0kO'{0jO~P$*ZO!d+`O`(Ta![(Ta'r(Ta!Y(Ta~O#g0qO~OZ[X!YeX!ZeX~O!Y0rO!Z)OX~O!Z0tO~OZ0uO~Oa0wO'{+hO'}TO(QUO~O![%{O'{%dO_'nX!Y'nX~O!Y+mO_(}a~O!j0zO~P!8dOZ0}O~O_1OO~O#[1RO~Oj1UO![$|O~O([(xO!Z({P~Og%VOj1_O![1[O%c1^O~OZ1iO!Y1gO!Z(|X~O!Z1jO~O_1lO`%kO'r%kO~O'{#mO'}TO(QUO~O#[$eO$O$eOP(^XZ(^Xn(^X|(^X}(^X!P(^X!Y(^X!h(^X!k(^X!o(^X#j(^X#k(^X#l(^X#m(^X#n(^X#o(^X#p(^X#q(^X#t(^X#v(^X#x(^X#y(^X(X(^X(h(^X(o(^X(p(^X~O#r1oO&T1pO`(^X!i(^X~P$/qO#[$eO#r1oO&T1pO~O`1rO~P%[O`1tO~O&^1wOP&[iQ&[iR&[iX&[i`&[ic&[id&[il&[in&[io&[ip&[iv&[ix&[iz&[i!P&[i!T&[i!U&[i![&[i!f&[i!k&[i!n&[i!o&[i!p&[i!r&[i!t&[i!w&[i!{&[i#s&[i$T&[i%b&[i%d&[i%f&[i%g&[i%h&[i%k&[i%m&[i%p&[i%q&[i%s&[i&P&[i&V&[i&X&[i&Z&[i&]&[i&`&[i&f&[i&l&[i&n&[i&p&[i&r&[i&t&[i'p&[i'{&[i'}&[i(Q&[i(X&[i(g&[i(t&[i!Z&[ia&[i&c&[i~Oa1}O!Z1{O&c1|O~P`O![XO!k2PO~O&j,pOP&eiQ&eiR&eiX&ei`&eic&eid&eil&ein&eio&eip&eiv&eix&eiz&ei!P&ei!T&ei!U&ei![&ei!f&ei!k&ei!n&ei!o&ei!p&ei!r&ei!t&ei!w&ei!{&ei#s&ei$T&ei%b&ei%d&ei%f&ei%g&ei%h&ei%k&ei%m&ei%p&ei%q&ei%s&ei&P&ei&V&ei&X&ei&Z&ei&]&ei&`&ei&f&ei&l&ei&n&ei&p&ei&r&ei&t&ei'p&ei'{&ei'}&ei(Q&ei(X&ei(g&ei(t&ei!Z&ei&^&eia&ei&c&ei~O!V2VO~O!Y!^a!Z!^a~P#C|Oo!nO!P!oO!X2]O([!mO!Y'QX!Z'QX~P@UO!Y-QO!Z(`a~O!Y'WX!Z'WX~P!7lO!Y-TO!Z(na~O!Z2dO~P'_O`%kO#[2mO'r%kO~O`%kO!d#uO#[2mO'r%kO~O`%kO!d#uO!o2qO#[2mO'r%kO(h'kO~O`%kO'r%kO~P!8dO!Y$aOr$ma~O!V'Pi!Y'Pi~P!8dO!Y(PO!V(_i~O!Y(WO!V(li~O!V(mi!Y(mi~P!8dO!Y(ji!j(ji`(ji'r(ji~P!8dO#[2sO!Y(ji!j(ji`(ji'r(ji~O!Y(dO!j(ii~O!P%eO![%fO!{]O#e2xO#f2wO'{%dO~O!P%eO![%fO#f2wO'{%dO~Oj3PO!['ZO%c3OO~Og%VOj3PO!['ZO%c3OO~O#g%ZaP%ZaZ%Za`%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Zar%Za![%Za%c%Za!d%Za~P#L^O#g%]aP%]aZ%]a`%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]ar%]a![%]a%c%]a!d%]a~P#MPO#g%ZaP%ZaZ%Za`%Zan%Za}%Za!Y%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za'r%Za(X%Za(h%Za!j%Za!V%Za'p%Za#[%Zar%Za![%Za%c%Za!d%Za~P#-]O#g%]aP%]aZ%]a`%]an%]a}%]a!Y%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a'r%]a(X%]a(h%]a!j%]a!V%]a'p%]a#[%]ar%]a![%]a%c%]a!d%]a~P#-]O#gyaPyaZya`yanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya'rya(Xya(hya!jya!Vya'pyarya![ya%cya!dya~P$$jO#g$naP$naZ$na`$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na'r$na(X$na(h$na!j$na!V$na'p$nar$na![$na%c$na!d$na~P$%`O#g$paP$paZ$pa`$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa'r$pa(X$pa(h$pa!j$pa!V$pa'p$par$pa![$pa%c$pa!d$pa~P$&RO#g%OaP%OaZ%Oa`%Oan%Oa}%Oa!Y%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa'r%Oa(X%Oa(h%Oa!j%Oa!V%Oa'p%Oa#[%Oar%Oa![%Oa%c%Oa!d%Oa~P#-]O`#_q!Y#_q'r#_q'p#_q!V#_q!j#_qr#_q![#_q%c#_q!d#_q~P!8dOf'RX!Y'RX~P!(SO!Y.iOf(ba~O!X3ZO!Y'SX!j'SX~P%[O!Y.lO!j(ca~O!Y.lO!j(ca~P!8dO!V3^O~O#|!ma!Z!ma~PKOO#|!ea!Y!ea!Z!ea~P#C|O#|!qa!Z!qa~P!:}O#|!sa!Z!sa~P!=hORfO![3pO$a3qO~O!Z3uO~Or3vO~P#-]O`$jq!Y$jq'r$jq'p$jq!V$jq!j$jqr$jq![$jq%c$jq!d$jq~P!8dO!V3wO~P#-]O|)zO!P){O(p%POj'ba(o'ba!Y'ba#['ba~Of'ba#|'ba~P%)eO|)zO!P){Oj'da(o'da(p'da!Y'da#['da~Of'da#|'da~P%*WO(h$ZO~P#-]O!X3zO'{%dO!Y'^X!j'^X~O!Y/cO!j(ua~O!Y/cO!d#uO!j(ua~O!Y/cO!d#uO(h'kO!j(ua~Of$wi!Y$wi#[$wi#|$wi~P!0}O!X4SO'{*]O!V'`X!Y'`X~P!1lO!Y/kO!V(va~O!Y/kO!V(va~P#-]O!d#uO#r4[O~On4_O!d#uO(h'kO~O(o$}Oj%Zi|%Zi!P%Zi(p%Zi!Y%Zi#[%Zi~Of%Zi#|%Zi~P%-jO(p%POj%]i|%]i!P%]i(o%]i!Y%]i#[%]i~Of%]i#|%]i~P%.]Of(Vi!Y(Vi~P!0}O#[4fOf(Vi!Y(Vi~P!0}O!j4iO~O`$kq!Y$kq'r$kq'p$kq!V$kq!j$kqr$kq![$kq%c$kq!d$kq~P!8dO!V4mO~O!Y4nO![(wX~P#-]O!i#wO~P4XO`$uX![$uX%W[X'r$uX!Y$uX~P!/tO%W4pO`kXjkX|kX!PkX![kX'rkX(okX(pkX!YkX~O%W4pO~Oa4vO%d4wO'{+hO'}TO(QUO!Y'mX!Z'mX~O!Y0rO!Z)Oa~OZ4{O~O_4|O~O`%kO'r%kO~P#-]O![$|O~P#-]O!Y5UO#[5WO!Z({X~O!Z5XO~Oo!nO!P5YO!_!xO!`!uO!a!uO!{:dO#P!pO#Q!pO#R!pO#S!pO#T!pO#W5_O#X!yO'|!lO'}TO(QUO([!mO(g!sO~O!Z5^O~P%3nOj5dO![1[O%c5cO~Og%VOj5dO![1[O%c5cO~Oa5kO'{#mO'}TO(QUO!Y'lX!Z'lX~O!Y1gO!Z(|a~O'}TO(QUO([5mO~O_5qO~O#r5tO&T5uO~PMnO!j5vO~P%[O`5xO~O`5xO~P%[Oa1}O!Z5}O&c1|O~P`O!d6PO~O!d6ROg(ai!Y(ai!Z(ai!d(ai!k(ai~O!Y#di!Z#di~P#C|O#[6SO!Y#di!Z#di~O!Y!^i!Z!^i~P#C|O`%kO#[6]O'r%kO~O`%kO!d#uO#[6]O'r%kO~O!Y(jq!j(jq`(jq'r(jq~P!8dO!Y(dO!j(iq~O!P%eO![%fO#f6dO'{%dO~O!['ZO%c6gO~Oj6jO!['ZO%c6gO~O#g'baP'baZ'ba`'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba'r'ba(X'ba(h'ba!j'ba!V'ba'p'bar'ba!['ba%c'ba!d'ba~P%)eO#g'daP'daZ'da`'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da'r'da(X'da(h'da!j'da!V'da'p'dar'da!['da%c'da!d'da~P%*WO#g$wiP$wiZ$wi`$win$wi}$wi!Y$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi'r$wi(X$wi(h$wi!j$wi!V$wi'p$wi#[$wir$wi![$wi%c$wi!d$wi~P#-]O#g%ZiP%ZiZ%Zi`%Zin%Zi}%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi'r%Zi(X%Zi(h%Zi!j%Zi!V%Zi'p%Zir%Zi![%Zi%c%Zi!d%Zi~P%-jO#g%]iP%]iZ%]i`%]in%]i}%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i'r%]i(X%]i(h%]i!j%]i!V%]i'p%]ir%]i![%]i%c%]i!d%]i~P%.]Of'Ra!Y'Ra~P!0}O!Y'Sa!j'Sa~P!8dO!Y.lO!j(ci~O#|#_i!Y#_i!Z#_i~P#C|OP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O(XVOZ#iin#ii!h#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~O#j#ii~P%FnO#j:lO~P%FnOP$]O|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO(XVOZ#ii!h#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~On#ii~P%HyOn:nO~P%HyOP$]On:nO|#yO}#zO!P#{O!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO(XVO#t#ii#v#ii#x#ii#y#ii#|#ii(h#ii(o#ii(p#ii!Y#ii!Z#ii~OZ#ii!h#ii#o#ii#p#ii#q#ii#r#ii~P%KUOZ:zO!h:pO#o:pO#p:pO#q:yO#r:pO~P%KUOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO(p#}O#x#ii#y#ii#|#ii(h#ii(o#ii!Y#ii!Z#ii~O#v:sO~P%MpO#v#ii~P%MpOP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO(XVO#x#ii#y#ii#|#ii(h#ii!Y#ii!Z#ii~O#v#ii(o#ii(p#ii~P& {O#v:sO(o#|O(p#}O~P& {OP$]OZ:zOn:nO|#yO}#zO!P#{O!h:pO!i#wO!k#xO!o$]O#j:lO#k:mO#l:mO#m:mO#n:oO#o:pO#p:pO#q:yO#r:pO#t:qO#v:sO#x:uO(XVO(o#|O(p#}O~O#y#ii#|#ii(h#ii!Y#ii!Z#ii~P&$^O`#zy!Y#zy'r#zy'p#zy!V#zy!j#zyr#zy![#zy%c#zy!d#zy~P!8dOj<gO|)zO!P){O(o$}O(p%PO~OP#iiZ#iin#ii}#ii!h#ii!i#ii!k#ii!o#ii#j#ii#k#ii#l#ii#m#ii#n#ii#o#ii#p#ii#q#ii#r#ii#t#ii#v#ii#x#ii#y#ii#|#ii(X#ii(h#ii!Y#ii!Z#ii~P&'UO!i#wOP(WXZ(WXj(WXn(WX|(WX}(WX!P(WX!h(WX!k(WX!o(WX#j(WX#k(WX#l(WX#m(WX#n(WX#o(WX#p(WX#q(WX#r(WX#t(WX#v(WX#x(WX#y(WX#|(WX(X(WX(h(WX(o(WX(p(WX!Y(WX!Z(WX~O#|#}i!Y#}i!Z#}i~P#C|O#|!qi!Z!qi~P$'pO!Z6|O~O!Y']a!Z']a~P#C|O!d#uO(h'kO!Y'^a!j'^a~O!Y/cO!j(ui~O!Y/cO!d#uO!j(ui~Of$wq!Y$wq#[$wq#|$wq~P!0}O!V'`a!Y'`a~P#-]O!d7TO~O!Y/kO!V(vi~P#-]O!Y/kO!V(vi~O!V7XO~O!d#uO#r7^O~On7_O!d#uO(h'kO~O|)zO!P){O(p%POj'ca(o'ca!Y'ca#['ca~Of'ca#|'ca~P&.fO|)zO!P){Oj'ea(o'ea(p'ea!Y'ea#['ea~Of'ea#|'ea~P&/XO!V7aO~Of$yq!Y$yq#[$yq#|$yq~P!0}O`$ky!Y$ky'r$ky'p$ky!V$ky!j$kyr$ky![$ky%c$ky!d$ky~P!8dO!d6RO~O!Y4nO![(wa~O`#_y!Y#_y'r#_y'p#_y!V#_y!j#_yr#_y![#_y%c#_y!d#_y~P!8dOZ7fO~Oa7hO'{+hO'}TO(QUO~O!Y0rO!Z)Oi~O_7lO~O([(xO!Y'iX!Z'iX~O!Y5UO!Z({a~OlkO'{7sO~P.iO!Z7vO~P%3nOo!nO!P7wO'}TO(QUO([!mO(g!sO~O![1[O~O![1[O%c7yO~Oj7|O![1[O%c7yO~OZ8RO!Y'la!Z'la~O!Y1gO!Z(|i~O!j8VO~O!j8WO~O!j8ZO~O!j8ZO~P%[O`8]O~O!d8^O~O!j8_O~O!Y(mi!Z(mi~P#C|O`%kO#[8gO'r%kO~O!Y(jy!j(jy`(jy'r(jy~P!8dO!Y(dO!j(iy~O!['ZO%c8jO~O#g$wqP$wqZ$wq`$wqn$wq}$wq!Y$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq'r$wq(X$wq(h$wq!j$wq!V$wq'p$wq#[$wqr$wq![$wq%c$wq!d$wq~P#-]O#g'caP'caZ'ca`'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca'r'ca(X'ca(h'ca!j'ca!V'ca'p'car'ca!['ca%c'ca!d'ca~P&.fO#g'eaP'eaZ'ea`'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea'r'ea(X'ea(h'ea!j'ea!V'ea'p'ear'ea!['ea%c'ea!d'ea~P&/XO#g$yqP$yqZ$yq`$yqn$yq}$yq!Y$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq'r$yq(X$yq(h$yq!j$yq!V$yq'p$yq#[$yqr$yq![$yq%c$yq!d$yq~P#-]O!Y'Si!j'Si~P!8dO#|#_q!Y#_q!Z#_q~P#C|O(o$}OP%ZaZ%Zan%Za}%Za!h%Za!i%Za!k%Za!o%Za#j%Za#k%Za#l%Za#m%Za#n%Za#o%Za#p%Za#q%Za#r%Za#t%Za#v%Za#x%Za#y%Za#|%Za(X%Za(h%Za!Y%Za!Z%Za~Oj%Za|%Za!P%Za(p%Za~P&@nO(p%POP%]aZ%]an%]a}%]a!h%]a!i%]a!k%]a!o%]a#j%]a#k%]a#l%]a#m%]a#n%]a#o%]a#p%]a#q%]a#r%]a#t%]a#v%]a#x%]a#y%]a#|%]a(X%]a(h%]a!Y%]a!Z%]a~Oj%]a|%]a!P%]a(o%]a~P&BuOj<gO|)zO!P){O(p%PO~P&@nOj<gO|)zO!P){O(o$}O~P&BuO|0ZO}0ZO!P0[OPyaZyajyanya!hya!iya!kya!oya#jya#kya#lya#mya#nya#oya#pya#qya#rya#tya#vya#xya#yya#|ya(Xya(hya(oya(pya!Yya!Zya~O|)zO!P){OP$naZ$naj$nan$na}$na!h$na!i$na!k$na!o$na#j$na#k$na#l$na#m$na#n$na#o$na#p$na#q$na#r$na#t$na#v$na#x$na#y$na#|$na(X$na(h$na(o$na(p$na!Y$na!Z$na~O|)zO!P){OP$paZ$paj$pan$pa}$pa!h$pa!i$pa!k$pa!o$pa#j$pa#k$pa#l$pa#m$pa#n$pa#o$pa#p$pa#q$pa#r$pa#t$pa#v$pa#x$pa#y$pa#|$pa(X$pa(h$pa(o$pa(p$pa!Y$pa!Z$pa~OP%OaZ%Oan%Oa}%Oa!h%Oa!i%Oa!k%Oa!o%Oa#j%Oa#k%Oa#l%Oa#m%Oa#n%Oa#o%Oa#p%Oa#q%Oa#r%Oa#t%Oa#v%Oa#x%Oa#y%Oa#|%Oa(X%Oa(h%Oa!Y%Oa!Z%Oa~P&'UO#|$jq!Y$jq!Z$jq~P#C|O#|$kq!Y$kq!Z$kq~P#C|O!Z8vO~O#|8wO~P!0}O!d#uO!Y'^i!j'^i~O!d#uO(h'kO!Y'^i!j'^i~O!Y/cO!j(uq~O!V'`i!Y'`i~P#-]O!Y/kO!V(vq~O!V8}O~P#-]O!V8}O~Of(Vy!Y(Vy~P!0}O!Y'ga!['ga~P#-]O`%Vq![%Vq'r%Vq!Y%Vq~P#-]OZ9SO~O!Y0rO!Z)Oq~O#[9WO!Y'ia!Z'ia~O!Y5UO!Z({i~P#C|OP[XZ[Xn[X|[X}[X!P[X!V[X!Y[X!h[X!i[X!k[X!o[X#[[X#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!d%TX#r%TX~P'#`O![1[O%c9[O~O'}TO(QUO([9aO~O!Y1gO!Z(|q~O!j9dO~O!j9eO~O!j9fO~O!j9fO~P%[O#[9iO!Y#dy!Z#dy~O!Y#dy!Z#dy~P#C|O!['ZO%c9nO~O#|#zy!Y#zy!Z#zy~P#C|OP$wiZ$win$wi}$wi!h$wi!i$wi!k$wi!o$wi#j$wi#k$wi#l$wi#m$wi#n$wi#o$wi#p$wi#q$wi#r$wi#t$wi#v$wi#x$wi#y$wi#|$wi(X$wi(h$wi!Y$wi!Z$wi~P&'UO|)zO!P){O(p%POP'baZ'baj'ban'ba}'ba!h'ba!i'ba!k'ba!o'ba#j'ba#k'ba#l'ba#m'ba#n'ba#o'ba#p'ba#q'ba#r'ba#t'ba#v'ba#x'ba#y'ba#|'ba(X'ba(h'ba(o'ba!Y'ba!Z'ba~O|)zO!P){OP'daZ'daj'dan'da}'da!h'da!i'da!k'da!o'da#j'da#k'da#l'da#m'da#n'da#o'da#p'da#q'da#r'da#t'da#v'da#x'da#y'da#|'da(X'da(h'da(o'da(p'da!Y'da!Z'da~O(o$}OP%ZiZ%Zij%Zin%Zi|%Zi}%Zi!P%Zi!h%Zi!i%Zi!k%Zi!o%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#p%Zi#q%Zi#r%Zi#t%Zi#v%Zi#x%Zi#y%Zi#|%Zi(X%Zi(h%Zi(p%Zi!Y%Zi!Z%Zi~O(p%POP%]iZ%]ij%]in%]i|%]i}%]i!P%]i!h%]i!i%]i!k%]i!o%]i#j%]i#k%]i#l%]i#m%]i#n%]i#o%]i#p%]i#q%]i#r%]i#t%]i#v%]i#x%]i#y%]i#|%]i(X%]i(h%]i(o%]i!Y%]i!Z%]i~O#|$ky!Y$ky!Z$ky~P#C|O#|#_y!Y#_y!Z#_y~P#C|O!d#uO!Y'^q!j'^q~O!Y/cO!j(uy~O!V'`q!Y'`q~P#-]O!V9wO~P#-]O!Y0rO!Z)Oy~O!Y5UO!Z({q~O![1[O%c:OO~O!j:RO~O!['ZO%c:WO~OP$wqZ$wqn$wq}$wq!h$wq!i$wq!k$wq!o$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#p$wq#q$wq#r$wq#t$wq#v$wq#x$wq#y$wq#|$wq(X$wq(h$wq!Y$wq!Z$wq~P&'UO|)zO!P){O(p%POP'caZ'caj'can'ca}'ca!h'ca!i'ca!k'ca!o'ca#j'ca#k'ca#l'ca#m'ca#n'ca#o'ca#p'ca#q'ca#r'ca#t'ca#v'ca#x'ca#y'ca#|'ca(X'ca(h'ca(o'ca!Y'ca!Z'ca~O|)zO!P){OP'eaZ'eaj'ean'ea}'ea!h'ea!i'ea!k'ea!o'ea#j'ea#k'ea#l'ea#m'ea#n'ea#o'ea#p'ea#q'ea#r'ea#t'ea#v'ea#x'ea#y'ea#|'ea(X'ea(h'ea(o'ea(p'ea!Y'ea!Z'ea~OP$yqZ$yqn$yq}$yq!h$yq!i$yq!k$yq!o$yq#j$yq#k$yq#l$yq#m$yq#n$yq#o$yq#p$yq#q$yq#r$yq#t$yq#v$yq#x$yq#y$yq#|$yq(X$yq(h$yq!Y$yq!Z$yq~P&'UOf%_!Z!Y%_!Z#[%_!Z#|%_!Z~P!0}O!Y'iq!Z'iq~P#C|O!Y#d!Z!Z#d!Z~P#C|O#g%_!ZP%_!ZZ%_!Z`%_!Zn%_!Z}%_!Z!Y%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z'r%_!Z(X%_!Z(h%_!Z!j%_!Z!V%_!Z'p%_!Z#[%_!Zr%_!Z![%_!Z%c%_!Z!d%_!Z~P#-]OP%_!ZZ%_!Zn%_!Z}%_!Z!h%_!Z!i%_!Z!k%_!Z!o%_!Z#j%_!Z#k%_!Z#l%_!Z#m%_!Z#n%_!Z#o%_!Z#p%_!Z#q%_!Z#r%_!Z#t%_!Z#v%_!Z#x%_!Z#y%_!Z#|%_!Z(X%_!Z(h%_!Z!Y%_!Z!Z%_!Z~P&'UOr(]X~P1qO'|!lO~P!*fO!VeX!YeX#[eX~P'#`OP[XZ[Xn[X|[X}[X!P[X!Y[X!YeX!h[X!i[X!k[X!o[X#[[X#[eX#geX#j[X#k[X#l[X#m[X#n[X#o[X#p[X#q[X#r[X#t[X#v[X#x[X#y[X$O[X(X[X(h[X(o[X(p[X~O!deX!j[X!jeX(heX~P'ASOP:cOQ:cORfOc<[Od!iOlkOn:cOokOpkOvkOx:cOz:cO!PWO!TkO!UkO![XO!f:fO!kZO!n:cO!o:cO!p:cO!r:gO!t:jO!w!hO$T!kO'{)YO'}TO(QUO(XVO(g[O(t<YO~O!Y:wO!Z$ma~Og%VOl%WOn$tOo$sOp$sOv%XOx%YOz;RO!P${O![$|O!f<aO!k$xO#f;XO$T%^O$o;TO$q;VO$t%_O'{(pO'}TO(QUO(X$uO(o$}O(p%PO~O#s)aO~P'ExO!Z[X!ZeX~P'ASO#g:kO~O!d#uO#g:kO~O#[:{O~O#r:pO~O#[;ZO!Y(mX!Z(mX~O#[:{O!Y(kX!Z(kX~O#g;[O~Of;^O~P!0}O#g;cO~O#g;dO~O!d#uO#g;eO~O!d#uO#g;[O~O#|;fO~P#C|O#g;gO~O#g;hO~O#g;mO~O#g;nO~O#g;oO~O#g;pO~O#|;qO~P!0}O#|;rO~P!0}O!i#P#Q#S#T#W#e#f#q(t$o$q$t%W%b%c%d%k%m%p%q%s%u~'vS#k!U't'|#lo#j#mn|'u$Y'u'{$[([~",
137
+ goto: "$2p)SPPPPP)TPP)WP)iP*x.|PPPP5pPP6WPP<S?gP?zP?zPPP?zPAxP?zP?zP?zPA|PPBRPBlPGdPPPGhPPPPGhJiPPPJoKjPGhPMxPPPP!!WGhPPPGhPGhP!$fGhP!'z!(|!)VP!)y!)}!)yPPPPP!-Y!(|PP!-v!.pP!1dGhGh!1i!4s!9Y!9Y!=OPPP!=VGhPPPPPPPPPPP!@dP!AqPPGh!CSPGhPGhGhGhGhPGh!DfP!GnP!JrP!Jv!KQ!KU!KUP!GkP!KY!KYP!N^P!NbGhGh!Nh##k?zP?zP?z?zP#$v?z?z#'O?z#)k?z#+m?z?z#,[#.f#.f#.j#.r#.f#.zP#.fP?z#/d?z#3R?z?z5pPPP#6vPPP#7a#7aP#7aP#7w#7aPP#7}P#7tP#7t#8b#7t#8|#9S5m)W#9V)WP#9^#9^#9^P)WP)WP)WP)WPP)WP#9d#9gP#9g)WP#9kP#9nP)WP)WP)WP)WP)WP)W)WPP#9t#9z#:V#:]#:c#:i#:o#:}#;T#;Z#;e#;k#;u#<U#<[#<|#=`#=f#=l#=z#>a#@O#@^#@d#Ax#BW#Cr#DQ#DW#D^#Dd#Dn#Dt#Dz#EU#Eh#EnPPPPPPPPPP#EtPPPPPPP#Fi#Ip#KP#KW#K`PPPP$!d$%Z$+r$+u$+x$,q$,t$,w$-O$-WPP$-^$-b$.Y$/X$/]$/qPP$/u$/{$0PP$0S$0W$0Z$1P$1h$2P$2T$2W$2Z$2a$2d$2h$2lR!{RoqOXst!Z#c%j&m&o&p&r,h,m1w1zY!uQ'Z-Y1[5]Q%pvQ%xyQ&P|Q&e!VS'R!e-QQ'a!iS'g!r!xS*c$|*hQ+f%yQ+s&RQ,X&_Q-W'YQ-b'bQ-j'hQ/|*jQ1f,YR;Y:g%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8gS#p]:d!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q*u%ZQ+k%{Q,Z&bQ,b&jQ.c;QQ0h+^Q0l+`Q0w+lQ1n,`Q2{.[Q4v0rQ5k1gQ6i3PQ6u;RQ7h4wR8m6j&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]t!nQ!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_$v$si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ&S|Q'P!eS'V%f-TQ+k%{Q,Z&bQ0]*yQ0w+lQ0|+rQ1m,_Q1n,`Q4v0rQ5P1OQ5k1gQ5n1iQ5o1lQ7h4wQ7k4|Q8U5qQ9V7lR9b8RrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR,]&f&v^OPXYstuvwz!Z!`!g!j!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O']'m(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<[<][#[WZ#V#Y'S'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ%sxQ%wyS%||&RQ&Y!TQ'^!hQ'`!iQ(k#rS*V$x*ZS+e%x%yQ+i%{Q,S&]Q,W&_S-a'a'bQ.^(lQ/g*WQ0p+fQ0v+lQ0x+mQ0{+qQ1a,TS1e,X,YQ2i-bQ3y/cQ4u0rQ4y0uQ5O0}Q5j1fQ7Q3zQ7g4wQ7j4{Q9R7fR9y9S!O$zi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c!S%uy!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^Q+_%sQ+x&VQ+{&WQ,V&_Q.](kQ1`,SU1d,W,X,YQ3Q.^Q5e1aS5i1e1fQ8Q5j#W<^#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go<_:y:z:};P;T;V;X;`;b;d;h;j;l;n;rW%Ti%V*r<YS&V!Q&dQ&W!RQ&X!SR+v&T$w%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gT)v$u)wV*v%Z;Q;RU'V!e%f-TS(y#y#zQ+p&OS.V(g(hQ1V+|Q4g0ZR7p5U&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]$i$`c#X#d%n%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.t.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PT#SV#T&}kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q'T!eR2^-Qv!nQ!e!r!u!x!y'R'Y'Z'g'h'i-Q-W-Y-j1[5]5_S*b$|*hS/t*c*jQ/}*kQ1X,OQ4^/|R4a0PnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&t!^Q'q!wS(m#t:kQ+c%vQ,Q&YQ,R&[Q-_'_Q-l'jS.g(r;[S0`+O;eQ0n+dQ1Z,PQ2O,oQ2Q,pQ2Y,{Q2g-`Q2j-dS4l0a;oQ4q0oS4t0q;pQ6T2[Q6X2hQ6^2oQ7e4rQ8b6VQ8c6YQ8f6_R9h8_$d$_c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(j#o'dU*o%R(q3mS+Y%n.tQ2|0hQ6f2{Q8l6iR9o8m$d$^c#X#d%o%q'|(S(n(u(})O)P)Q)R)S)T)U)V)W)X)Z)^)b)l+Z+o-O-m-r-w-y.h.n.r.u.v/V0_2W2Z2k2r3Y3_3`3a3b3c3d3e3f3g3h3i3j3k3n3o3t4k4s6U6[6a6o6p6y6z7r8a8e8n8t8u9k9{:S:e<PS(i#o'dS({#z$_S+X%n.tS.W(h(jQ.w)]Q0e+YR2y.X&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S#p]:dQ&o!XQ&p!YQ&r![Q&s!]R1v,kQ'[!hQ+[%sQ-]'^S.Y(k+_Q2e-[W2}.].^0g0iQ6W2fU6e2z2|3QS8i6f6hS9m8k8lS:U9l9oQ:^:VR:a:_U!vQ'Z-YT5Z1[5]!Q_OXZ`st!V!Z#c#g%b%j&d&f&m&o&p&r(d,h,m.P1w1z]!pQ!r'Z-Y1[5]T#p]:d%Y{OPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS(y#y#zS.V(g(h!s;v$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Y!tQ'Z-Y1[5]Q'f!rS'p!u!xS'r!y5_S-i'g'hQ-k'iR2p-jQ'o!tS(`#f1qS-h'f'rQ/f*VQ/r*bQ2q-kQ4O/gS4X/s/}Q7P3yS7[4_4aQ8y7QR9Q7_Q#vbQ'n!tS(_#f1qS(a#l*}Q+P%cQ+a%tQ+g%zU-g'f'o'rQ-{(`Q/e*VQ/q*bQ/w*eQ0m+bQ1b,US2n-h-kQ2v.TS3}/f/gS4W/r/}Q4Z/vQ4]/xQ5g1cQ6`2qQ7O3yQ7S4OS7W4X4aQ7]4`Q8O5hS8x7P7QQ8|7XQ9O7[Q9_8PQ9u8yQ9v8}Q9x9QQ:Q9`Q:Y9wQ;y;tQ<U;}R<V<OV!vQ'Z-Y%YaOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gS#vz!j!r;s$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;y<[%YbOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gQ%cj!S%ty!i!t%w%x%y'Q'`'a'b'f'p*b+e+f,}-a-b-i/t0p2b2i2p4^S%zz!jQ+b%uQ,U&_W1c,V,W,X,YU5h1d1e1fS8P5i5jQ9`8Q!r;t$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q;}<ZR<O<[$|eOPXYstuvw!Z!`!g!o#R#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8gY#aWZ#V#Y'}!S%gm#g#h#k%b%e(W(b(c(d+Q+R+T,d,z-x.O.P.Q.S2P2w2x6R6dQ,c&j!p;u$[$m)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]R;x'SS'W!e%fR2`-T%OdOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S,e,h,m-^-f-t-z.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3Z5Y5d5t5u5x6]7w7|8]8g!r)[$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]Q,b&jQ0h+^Q2{.[Q6i3PR8m6j!b$Uc#X%n'|(S(n(u)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!P:r)Z)l-O.t2W2Z3_3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!f$Wc#X%n'|(S(n(u)T)U)W)X)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:e!T:t)Z)l-O.t2W2Z3_3f3g3i3j3n3t6U6p6y6z7r8a8n8t8u9{:S<P!^$[c#X%n'|(S(n(u)^)b+o-m-r-w-y.h.n/V0_2k2r3Y3k4k4s6[6a6o8e9k:eQ3x/az<])Z)l-O.t2W2Z3_3n3t6U6p6y6z7r8a8n8t8u9{:S<PQ<b<dR<c<e&|kOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]S$nh$oR3q.z'TgOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$jf$pQ$hfS)e$k)iR)q$pT$if$pT)g$k)i'ThOPWXYZhstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$[$a$e$m$o%j%p%}&f&i&j&m&o&p&r&v'O'S']'m'}(P(V(^(r(v(z)n)y+O+S+^,e,h,m,y,|-^-f-t-z.[.l.s.z.{0[0a0q1_1o1p1r1t1w1z1|2]2m2s3P3Z3p5W5Y5d5t5u5x6S6]6j7w7|8]8g9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]T$nh$oQ$qhR)p$o%YjOPWXYZstuvw!Z!`!g!o#R#V#Y#c#n#t#x#{$O$P$Q$R$S$T$U$V$W$X$Y$a$e%j%p%}&f&i&j&m&o&p&r&v'O']'m'}(P(V(^(r(v(z)y+O+S+^,e,h,m-^-f-t-z.[.l.s0[0a0q1_1o1p1r1t1w1z1|2m2s3P3Z5Y5d5t5u5x6]6j7w7|8]8g!s<Z$[$m'S)n,y,|.{2]3p5W6S9W9i:c:f:g:j:k:l:m:n:o:p:q:r:s:t:u:v:w:{;Y;Z;[;^;e;f;o;p<]#clOPXZst!Z!`!o#R#c#n#{$m%j&f&i&j&m&o&p&r&v'O'](z)n+S+^,e,h,m-^.[.{0[1_1o1p1r1t1w1z1|3P3p5Y5d5t5u5x6j7w7|8]!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gQ*z%_Q/W)zo3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!O$yi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cQ*[$zS*e$|*hQ*{%`Q/x*f#W;{#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;|:y:z:};P;T;V;X;`;b;d;h;j;l;n;rQ<Q<^Q<R<_Q<S<`R<T<a!O%Ri#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<c#W(q#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<go3m:y:z:};P;T;V;X;`;b;d;h;j;l;n;rnoOXst!Z#c%j&m&o&p&r,h,m1w1zQ*_${Q,v&yQ,w&{R4R/k$v%Si#u#w$c$d$x${%O%Q%[%]%a)u){)}*P*R*Y*`*p*q+]+`+w+z.Z.i/Z/j/k/m0Q0S0^1R1U1^3O3x4S4[4f4n4p5c6g7T7^7y8j8w9[9n:O:W:y:z:|:};O;P;S;T;U;V;W;X;_;`;a;b;c;d;g;h;i;j;k;l;m;n;q;r<Y<b<c<f<gQ+y&WQ1T+{Q5S1SR7o5TT*g$|*hS*g$|*hT5[1[5]S/v*d5YT4`0O7wQ+a%tQ/w*eQ0m+bQ1b,UQ5g1cQ8O5hQ9_8PR:Q9`!O%Oi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cr)}$v(s*O*n*|/i0U0V3W4P4j6}7`9t;z<W<XS0Q*m0R#W:|#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn:}:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!^;_(o)`*U*^._.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<e`;`3l6q6t6x8o9p9s:bS;i.a3UT;j6s8r!O%Qi#w%O%Q%[%]%a)}*P*Y*p*q.i/j0Q0S0^3x4f8w<Y<b<cv*P$v(s*Q*m*|/]/i0U0V3W4P4b4j6}7`9t;z<W<XS0S*n0T#W;O#u$c$d$x${)u){*R*`+]+`+w+z.Z/Z/k/m1R1U1^3O4S4[4n4p5c6g7T7^7y8j9[9n:O:W:|;O;S;U;W;_;a;c;g;i;k;m;q<f<gn;P:y:z:};P;T;V;X;`;b;d;h;j;l;n;r!b;a(o)`*U*^.`.a.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<ed;b3l6r6s6x8o8p9p9q9s:bS;k.b3VT;l6t8srnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ&a!UR,e&jrnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zR&a!UQ+}&XR1P+vsnOXst!V!Z#c%j&d&m&o&p&r,h,m1w1zQ1],SS5b1`1aU7x5`5a5eS9Z7z7{S9|9Y9]Q:Z9}R:`:[Q&h!VR,^&dR5n1iS%||&RR0x+mQ&m!WR,h&nR,n&sT1x,m1zR,r&tQ,q&tR2R,rQ't!zR-n'tSsOtQ#cXT%ms#cQ!}TR'v!}Q#QUR'x#QQ)w$uR/T)wQ#TVR'z#TQ#WWU(Q#W(R-uQ(R#XR-u(SQ-R'TR2_-RQ.j(sR3X.jQ.m(uS3[.m3]R3].nQ-Y'ZR2c-YY!rQ'Z-Y1[5]R'e!rS#^W%eU(X#^(Y-vQ(Y#_R-v(TQ-U'WR2a-Ut`OXst!V!Z#c%j&d&f&m&o&p&r,h,m1w1zS#gZ%bU#q`#g.PR.P(dQ(e#iQ-|(aW.U(e-|2t6bQ2t-}R6b2uQ)i$kR.|)iQ$ohR)o$oQ$bcU)_$b-q:xQ-q:eR:x)lQ/d*VW3{/d3|7R8zU3|/e/f/gS7R3}4OR8z7S$X)|$v(o(s)`*U*^*m*n*w*x*|.a.b.d.e.f/S/X/]/_/a/i/n0U0V0f1Q1S3R3S3T3W3l4P4Q4U4b4d4j5R5T6k6l6m6n6s6t6v6w6x6}7U7Y7`7b7d8o8p8q8{9P9p9q9r9s9t:X:b;z<W<X<d<eQ/l*^U4T/l4V7VQ4V/nR7V4UQ*h$|R/z*hr*O$v(s*m*n*|/i0U0V3W4P4j6}7`9t;z<W<X!^._(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3T4Q4U5R5T6k6n7U7Y7b7d8{9P:X<d<eU/^*O._6qa6q3l6s6t6x8o9p9s:bQ0R*mQ3U.aU4c0R3U8rR8r6sv*Q$v(s*m*n*|/]/i0U0V3W4P4b4j6}7`9t;z<W<X!b.`(o)`*U*^.a.b.f/S/X/a/n0f1Q1S3R3T4Q4U5R5T6k6l6n7U7Y7b7d8{9P:X<d<eU/`*Q.`6re6r3l6s6t6x8o8p9p9q9s:bQ0T*nQ3V.bU4e0T3V8sR8s6tQ*s%UR0X*sQ4o0fR7c4oQ+U%hR0d+UQ5V1VS7q5V9XR9X7rQ,P&YR1Y,PQ5]1[R7u5]Q1h,ZS5l1h8SR8S5nQ0s+iW4x0s4z7i9TQ4z0vQ7i4yR9T7jQ+n%|R0y+nQ1z,mR5|1zYrOXst#cQ&q!ZQ+W%jQ,g&mQ,i&oQ,j&pQ,l&rQ1u,hS1x,m1zR5{1wQ%lpQ&u!_Q&x!aQ&z!bQ&|!cQ'l!tQ+V%iQ+c%vQ+u&SQ,]&hQ,t&wW-e'f'n'o'rQ-l'jQ/y*gQ0n+dS1k,^,aQ2S,sQ2T,vQ2U,wQ2j-dW2l-g-h-k-mQ4q0oQ4}0|Q5Q1QQ5f1bQ5p1mQ5z1vU6Z2k2n2qQ6^2oQ7e4rQ7m5PQ7n5RQ7t5[Q7}5gQ8T5oS8d6[6`Q8f6_Q9U7kQ9^8OQ9c8UQ9j8eQ9z9VQ:P9_Q:T9kR:]:QQ%vyQ'_!iQ'j!tU+d%w%x%yQ,{'QU-`'`'a'bS-d'f'pQ/p*bS0o+e+fQ2[,}S2h-a-bQ2o-iQ4Y/tQ4r0pQ6V2bQ6Y2iQ6_2pR7Z4^S$wi<YR*t%VU%Ui%V<YR0W*rQ$viS(o#u+`Q(s#wS)`$c$dQ*U$xQ*^${Q*m%OQ*n%QQ*w%[Q*x%]Q*|%aQ.a:|Q.b;OQ.d;SQ.e;UQ.f;WQ/S)uS/X){/ZQ/])}Q/_*PQ/a*RQ/i*YQ/n*`Q0U*pQ0V*qh0f+].Z1^3O5c6g7y8j9[9n:O:WQ1Q+wQ1S+zQ3R;_Q3S;aQ3T;cQ3W.iS3l:y:zQ4P/jQ4Q/kQ4U/mQ4b0QQ4d0SQ4j0^Q5R1RQ5T1UQ6k;gQ6l;iQ6m;kQ6n;mQ6s:}Q6t;PQ6v;TQ6w;VQ6x;XQ6}3xQ7U4SQ7Y4[Q7`4fQ7b4nQ7d4pQ8o;dQ8p;`Q8q;bQ8{7TQ9P7^Q9p;hQ9q;jQ9r;lQ9s;nQ9t8wQ:X;qQ:b;rQ;z<YQ<W<bQ<X<cQ<d<fR<e<gnpOXst!Z#c%j&m&o&p&r,h,m1w1zQ!fPS#eZ#nQ&w!`U'c!o5Y7wQ'y#RQ(|#{Q)m$mS,a&f&iQ,f&jQ,s&vQ,x'OQ-[']Q.p(zQ/Q)nQ0b+SQ0i+^Q1s,eQ2f-^Q2|.[Q3s.{Q4h0[Q5a1_Q5r1oQ5s1pQ5w1rQ5y1tQ6O1|Q6f3PQ6{3pQ7{5dQ8X5tQ8Y5uQ8[5xQ8l6jQ9]7|R9g8]#WcOPXZst!Z!`!o#c#n#{%j&f&i&j&m&o&p&r&v'O'](z+S+^,e,h,m-^.[0[1_1o1p1r1t1w1z1|3P5Y5d5t5u5x6j7w7|8]Q#XWQ#dYQ%nuQ%ovS%qw!gS'|#V(PQ(S#YQ(n#tQ(u#xQ(}$OQ)O$PQ)P$QQ)Q$RQ)R$SQ)S$TQ)T$UQ)U$VQ)V$WQ)W$XQ)X$YQ)Z$[Q)^$aQ)b$eW)l$m)n.{3pQ+Z%pQ+o%}S-O'S2]Q-m'mS-r'}-tQ-w(VQ-y(^Q.h(rQ.n(vQ.r:cQ.t:fQ.u:gQ.v:jQ/V)yQ0_+OQ2W,yQ2Z,|Q2k-fQ2r-zQ3Y.lQ3_:kQ3`:lQ3a:mQ3b:nQ3c:oQ3d:pQ3e:qQ3f:rQ3g:sQ3h:tQ3i:uQ3j:vQ3k.sQ3n:{Q3o;YQ3t:wQ4k0aQ4s0qQ6U;ZQ6[2mQ6a2sQ6o3ZQ6p;[Q6y;^Q6z;eQ7r5WQ8a6SQ8e6]Q8n;fQ8t;oQ8u;pQ9k8gQ9{9WQ:S9iQ:e#RR<P<]R#ZWR'U!eY!tQ'Z-Y1[5]S'Q!e-QQ'f!rS'p!u!xS'r!y5_S,}'R'YS-i'g'hQ-k'iQ2b-WR2p-jR(t#wR(w#xQ!fQT-X'Z-Y]!qQ!r'Z-Y1[5]Q#o]R'd:dT#jZ%bS#iZ%bS%hm,dU(a#g#h#kS-}(b(cQ.R(dQ0c+TQ2u.OU2v.P.Q.SS6c2w2xR8h6d`#]W#V#Y%e'}(W+Q-xr#fZm#g#h#k%b(b(c(d+T.O.P.Q.S2w2x6dQ1q,dQ2X,zQ6Q2PQ8`6RT;w'S+RT#`W%eS#_W%eS(O#V(WS(T#Y+QS-P'S+RT-s'}-xT'X!e%fQ$kfR)s$pT)h$k)iR3r.zT*X$x*ZR*a${Q0g+]Q2z.ZQ5`1^Q6h3OQ7z5cQ8k6gQ9Y7yQ9l8jQ9}9[Q:V9nQ:[:OR:_:WnqOXst!Z#c%j&m&o&p&r,h,m1w1zQ&g!VR,]&dtmOXst!U!V!Z#c%j&d&m&o&p&r,h,m1w1zR,d&jT%im,dR1W+|R,[&bQ&Q|R+t&RR+j%{T&k!W&nT&l!W&nT1y,m1z",
138
+ nodeNames: "⚠ ArithOp ArithOp JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",
139
+ maxTerm: 371,
140
+ context: fO,
141
+ nodeProps: [
142
+ ["isolate", -8, 4, 5, 13, 33, 35, 48, 50, 52, ""],
143
+ ["group", -26, 8, 16, 18, 65, 201, 205, 209, 210, 212, 215, 218, 228, 230, 236, 238, 240, 242, 245, 251, 257, 259, 261, 263, 265, 267, 268, "Statement", -32, 12, 13, 28, 31, 32, 38, 48, 51, 52, 54, 59, 67, 75, 79, 81, 83, 84, 106, 107, 116, 117, 134, 137, 139, 140, 141, 142, 144, 145, 164, 165, 167, "Expression", -23, 27, 29, 33, 37, 39, 41, 168, 170, 172, 173, 175, 176, 177, 179, 180, 181, 183, 184, 185, 195, 197, 199, 200, "Type", -3, 87, 99, 105, "ClassItem"],
144
+ ["openedBy", 22, "<", 34, "InterpolationStart", 53, "[", 57, "{", 72, "(", 157, "JSXStartCloseTag"],
145
+ ["closedBy", 23, ">", 36, "InterpolationEnd", 47, "]", 58, "}", 73, ")", 162, "JSXEndTag"]
146
+ ],
147
+ propSources: [yO],
148
+ skippedNodes: [0, 4, 5, 271],
149
+ repeatNodeCount: 37,
150
+ tokenData: "$Fj(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#8g!R![#:v![!]#Gv!]!^#IS!^!_#J^!_!`#Ns!`!a$#_!a!b$(l!b!c$,k!c!}Er!}#O$-u#O#P$/P#P#Q$4h#Q#R$5r#R#SEr#S#T$7P#T#o$8Z#o#p$<k#p#q$=a#q#r$>q#r#s$?}#s$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$I|Er$I|$I}$Dd$I}$JO$Dd$JO$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(n%d_$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$f&j(OpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$f&j(Op(R!b't(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST(P#S$f&j'u(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$f&j(Op(R!b'u(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$f&j!o$Ip(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#t$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/|3l_'}$(n$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$f&j(R!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$f&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$a`$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$a``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$a`$f&j(R!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(R!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$a`(R!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k#%|:hh$f&j(Op(R!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__VS$f&j(Op(R!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]VS$f&j(R!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXVS$f&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSVSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWVS(R!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]VS$f&j(OpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWVS(OpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYVS(Op(R!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S#%|C}i$f&j(g!L^(Op(R!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr#%|EoP;=`<%lCr(CSFRk$f&j(Op(R!b$Y#t'{&;d([!LYOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$f&j(Op(R!b$Y#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv(CSJPP;=`<%lEr%#SJ_`$f&j(Op(R!b#l$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SKl_$f&j$O$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&COLva(p&;`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SNW`$f&j#x$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/|! c_(Q$)`$f&j(OpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$f&j(OpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$f&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$a`$f&j(OpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(OpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$a`(OpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b(*Q!'t_!k(!b$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l!)O_!jM|$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!*[b$f&j(Op(R!b'|#)d#m$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!+o`$f&j(Op(R!b#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!,|`$f&j(Op(R!bn&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!.Z_!Y&;l$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!/ec$f&j(Op(R!b|'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!0ya$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!2Z_!XMt$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!3eg$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!5Vg$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!6wc$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!8_c$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!9uf$f&j(Op(R!b#k$IdOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpxz!;Zz{#,f{!P!;Z!P!Q#-{!Q!^!;Z!^!_#'Z!_!`#5k!`!a#7Q!a!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(r!;fb$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(Q!<w`$f&j(R!b!USOY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eb!Q!^!<n!^!_!GY!_!}!<n!}#O!Ja#O#P!Dj#P#o!<n#o#p!GY#p;'S!<n;'S;=`!Kj<%lO!<n&n!>Q^$f&j!USOY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@Y!_!}!=y!}#O!Bw#O#P!Dj#P#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!?Ta$f&j!USO!^&c!_#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&cS!@_X!USOY!@YZ!P!@Y!P!Q!@z!Q!}!@Y!}#O!Ac#O#P!Bb#P;'S!@Y;'S;=`!Bq<%lO!@YS!APU!US#Z#[!@z#]#^!@z#a#b!@z#g#h!@z#i#j!@z#m#n!@zS!AfVOY!AcZ#O!Ac#O#P!A{#P#Q!@Y#Q;'S!Ac;'S;=`!B[<%lO!AcS!BOSOY!AcZ;'S!Ac;'S;=`!B[<%lO!AcS!B_P;=`<%l!AcS!BeSOY!@YZ;'S!@Y;'S;=`!Bq<%lO!@YS!BtP;=`<%l!@Y&n!B|[$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#O!Bw#O#P!Cr#P#Q!=y#Q#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!CwX$f&jOY!BwYZ&cZ!^!Bw!^!_!Ac!_#o!Bw#o#p!Ac#p;'S!Bw;'S;=`!Dd<%lO!Bw&n!DgP;=`<%l!Bw&n!DoX$f&jOY!=yYZ&cZ!^!=y!^!_!@Y!_#o!=y#o#p!@Y#p;'S!=y;'S;=`!E[<%lO!=y&n!E_P;=`<%l!=y(Q!Eki$f&j(R!b!USOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!Eb#[#]&}#]#^!Eb#^#a&}#a#b!Eb#b#g&}#g#h!Eb#h#i&}#i#j!Eb#j#m&}#m#n!Eb#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!GaZ(R!b!USOY!GYZw!GYwx!@Yx!P!GY!P!Q!HS!Q!}!GY!}#O!Ic#O#P!Bb#P;'S!GY;'S;=`!JZ<%lO!GY!f!HZb(R!b!USOY'}Zw'}x#O'}#P#Z'}#Z#[!HS#[#]'}#]#^!HS#^#a'}#a#b!HS#b#g'}#g#h!HS#h#i'}#i#j!HS#j#m'}#m#n!HS#n;'S'};'S;=`(f<%lO'}!f!IhX(R!bOY!IcZw!Icwx!Acx#O!Ic#O#P!A{#P#Q!GY#Q;'S!Ic;'S;=`!JT<%lO!Ic!f!JWP;=`<%l!Ic!f!J^P;=`<%l!GY(Q!Jh^$f&j(R!bOY!JaYZ&cZw!Jawx!Bwx!^!Ja!^!_!Ic!_#O!Ja#O#P!Cr#P#Q!<n#Q#o!Ja#o#p!Ic#p;'S!Ja;'S;=`!Kd<%lO!Ja(Q!KgP;=`<%l!Ja(Q!KmP;=`<%l!<n'`!Ky`$f&j(Op!USOY!KpYZ&cZr!Kprs!=ys!P!Kp!P!Q!L{!Q!^!Kp!^!_!Ns!_!}!Kp!}#O##z#O#P!Dj#P#o!Kp#o#p!Ns#p;'S!Kp;'S;=`#%T<%lO!Kp'`!MUi$f&j(Op!USOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!L{#[#](r#]#^!L{#^#a(r#a#b!L{#b#g(r#g#h!L{#h#i(r#i#j!L{#j#m(r#m#n!L{#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!NzZ(Op!USOY!NsZr!Nsrs!@Ys!P!Ns!P!Q# m!Q!}!Ns!}#O#!|#O#P!Bb#P;'S!Ns;'S;=`##t<%lO!Nst# tb(Op!USOY)rZr)rs#O)r#P#Z)r#Z#[# m#[#])r#]#^# m#^#a)r#a#b# m#b#g)r#g#h# m#h#i)r#i#j# m#j#m)r#m#n# m#n;'S)r;'S;=`*Z<%lO)rt##RX(OpOY#!|Zr#!|rs!Acs#O#!|#O#P!A{#P#Q!Ns#Q;'S#!|;'S;=`##n<%lO#!|t##qP;=`<%l#!|t##wP;=`<%l!Ns'`#$R^$f&j(OpOY##zYZ&cZr##zrs!Bws!^##z!^!_#!|!_#O##z#O#P!Cr#P#Q!Kp#Q#o##z#o#p#!|#p;'S##z;'S;=`#$}<%lO##z'`#%QP;=`<%l##z'`#%WP;=`<%l!Kp(r#%fk$f&j(Op(R!b!USOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[#%Z#[#]%Z#]#^#%Z#^#a%Z#a#b#%Z#b#g%Z#g#h#%Z#h#i%Z#i#j#%Z#j#m%Z#m#n#%Z#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W#'d](Op(R!b!USOY#'ZZr#'Zrs!GYsw#'Zwx!Nsx!P#'Z!P!Q#(]!Q!}#'Z!}#O#)w#O#P!Bb#P;'S#'Z;'S;=`#*w<%lO#'Z#W#(fe(Op(R!b!USOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[#(]#[#]*g#]#^#(]#^#a*g#a#b#(]#b#g*g#g#h#(]#h#i*g#i#j#(]#j#m*g#m#n#(]#n;'S*g;'S;=`+Z<%lO*g#W#*OZ(Op(R!bOY#)wZr#)wrs!Icsw#)wwx#!|x#O#)w#O#P!A{#P#Q#'Z#Q;'S#)w;'S;=`#*q<%lO#)w#W#*tP;=`<%l#)w#W#*zP;=`<%l#'Z(r#+W`$f&j(Op(R!bOY#*}YZ&cZr#*}rs!Jasw#*}wx##zx!^#*}!^!_#)w!_#O#*}#O#P!Cr#P#Q!;Z#Q#o#*}#o#p#)w#p;'S#*};'S;=`#,Y<%lO#*}(r#,]P;=`<%l#*}(r#,cP;=`<%l!;Z(CS#,sb$f&j(Op(R!b'v(;d!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z(CS#.W_$f&j(Op(R!bS(;dOY#-{YZ&cZr#-{rs#/Vsw#-{wx#2gx!^#-{!^!_#4f!_#O#-{#O#P#0X#P#o#-{#o#p#4f#p;'S#-{;'S;=`#5e<%lO#-{(Bb#/`]$f&j(R!bS(;dOY#/VYZ&cZw#/Vwx#0Xx!^#/V!^!_#1j!_#O#/V#O#P#0X#P#o#/V#o#p#1j#p;'S#/V;'S;=`#2a<%lO#/V(AO#0`X$f&jS(;dOY#0XYZ&cZ!^#0X!^!_#0{!_#o#0X#o#p#0{#p;'S#0X;'S;=`#1d<%lO#0X(;d#1QSS(;dOY#0{Z;'S#0{;'S;=`#1^<%lO#0{(;d#1aP;=`<%l#0{(AO#1gP;=`<%l#0X(<v#1qW(R!bS(;dOY#1jZw#1jwx#0{x#O#1j#O#P#0{#P;'S#1j;'S;=`#2Z<%lO#1j(<v#2^P;=`<%l#1j(Bb#2dP;=`<%l#/V(Ap#2p]$f&j(OpS(;dOY#2gYZ&cZr#2grs#0Xs!^#2g!^!_#3i!_#O#2g#O#P#0X#P#o#2g#o#p#3i#p;'S#2g;'S;=`#4`<%lO#2g(<U#3pW(OpS(;dOY#3iZr#3irs#0{s#O#3i#O#P#0{#P;'S#3i;'S;=`#4Y<%lO#3i(<U#4]P;=`<%l#3i(Ap#4cP;=`<%l#2g(=h#4oY(Op(R!bS(;dOY#4fZr#4frs#1jsw#4fwx#3ix#O#4f#O#P#0{#P;'S#4f;'S;=`#5_<%lO#4f(=h#5bP;=`<%l#4f(CS#5hP;=`<%l#-{%#W#5xb$f&j$O$Id(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z+h#7_b$W#t$f&j(Op(R!b!USOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Kpx!P!;Z!P!Q#%Z!Q!^!;Z!^!_#'Z!_!}!;Z!}#O#*}#O#P!Dj#P#o!;Z#o#p#'Z#p;'S!;Z;'S;=`#,`<%lO!;Z$/l#8rp$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#U%Z#U#V#>Q#V#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#d#AY#d#l%Z#l#m#D[#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;Rk$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#:v![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#:v#S#X%Z#X#Y!4|#Y#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#=R_$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>Zd$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#?tf$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#?i!R!S#?i!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#?i#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Acc$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Bye$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#Bn!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#Bn#S#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#Deg$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#FXi$f&j(Op(R!bo$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#E|![!^%Z!^!_*g!_!c%Z!c!i#E|!i#O%Z#O#P&c#P#R%Z#R#S#E|#S#T%Z#T#Z#E|#Z#b%Z#b#c#<v#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#HT_!d$b$f&j#|%<f(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#I__`l$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^#Jk^g!*v!h'.r(Op(R!b(tSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Kg!Q!^*g!^!_#L]!_!`#M}!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#KpX$h&j(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#LfZ#n$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#MX!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#MbX$O$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#NWX#o$Id(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh$ Oa#[%?x$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$!T!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W$!`_#g$Ih$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh$#nafBf#o$Id$c#|$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$$s!`!a$%}!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$%O_#o$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$&Ya#n$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$'_!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$'j`#n$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$(wc(h$Ip$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$*S!P!^%Z!^!_*g!_!a%Z!a!b$+^!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$*__}'#p$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$+i`$f&j#y$Id(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$,v_!{!Ln$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$.Q_!P(8n$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/UZ$f&jO!^$/w!^!_$0_!_#i$/w#i#j$0d#j#l$/w#l#m$2V#m#o$/w#o#p$0_#p;'S$/w;'S;=`$4b<%lO$/w(n$0OT^#S$f&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0dO^#S(n$0i[$f&jO!Q&c!Q![$1_![!^&c!_!c&c!c!i$1_!i#T&c#T#Z$1_#Z#o&c#o#p$3u#p;'S&c;'S;=`&w<%lO&c(n$1dZ$f&jO!Q&c!Q![$2V![!^&c!_!c&c!c!i$2V!i#T&c#T#Z$2V#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2[Z$f&jO!Q&c!Q![$2}![!^&c!_!c&c!c!i$2}!i#T&c#T#Z$2}#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3SZ$f&jO!Q&c!Q![$/w![!^&c!_!c&c!c!i$/w!i#T&c#T#Z$/w#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$3xR!Q![$4R!c!i$4R#T#Z$4R#S$4US!Q![$4R!c!i$4R#T#Z$4R#q#r$0_(n$4eP;=`<%l$/w!2r$4s_!V!+S$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$5}`#v$Id$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$7[_$f&j(Op(R!b(X&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$8jk$f&j(Op(R!b'{&;d$[#t([!LYOY%ZYZ&cZr%Zrs&}st%Ztu$8Zuw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$8Z![!^%Z!^!_*g!_!c%Z!c!}$8Z!}#O%Z#O#P&c#P#R%Z#R#S$8Z#S#T%Z#T#o$8Z#o#p*g#p$g%Z$g;'S$8Z;'S;=`$<e<%lO$8Z+d$:jk$f&j(Op(R!b$[#tOY%ZYZ&cZr%Zrs&}st%Ztu$:_uw%Zwx(rx}%Z}!O$:_!O!Q%Z!Q![$:_![!^%Z!^!_*g!_!c%Z!c!}$:_!}#O%Z#O#P&c#P#R%Z#R#S$:_#S#T%Z#T#o$:_#o#p*g#p$g%Z$g;'S$:_;'S;=`$<_<%lO$:_+d$<bP;=`<%l$:_(CS$<hP;=`<%l$8Z!5p$<tX![!3l(Op(R!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g&CO$=la(o&;`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+^#q;'S%Z;'S;=`+a<%lO%Z%#`$?O_!Z$I`r`$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$@Y_!pS$f&j(Op(R!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$Aj|$f&j(Op(R!b't(;d$Y#t'{&;d([!LYOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$AX#BZ$ISEr$IS$I_$AX$I_$JTEr$JT$JU$AX$JU$KVEr$KV$KW$AX$KW&FUEr&FU&FV$AX&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$AX?HUOEr(CS$Duk$f&j(Op(R!b'u(;d$Y#t'{&;d([!LYOY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",
151
+ tokenizers: [wO, WO, gO, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, mO, new x("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOt~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!R~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(Z~~", 141, 332), new x("j~RQYZXz{^~^O'x~~aP!P!Qd~iO'y~~", 25, 315)],
152
+ topRules: { Script: [0, 6], SingleExpression: [1, 269], SingleClassItem: [2, 270] },
153
+ dialects: { jsx: 0, ts: 14614 },
154
+ dynamicPrecedences: { 69: 1, 79: 1, 81: 1, 165: 1, 193: 1 },
155
+ specialized: [{ term: 319, get: (O) => jO[O] || -1 }, { term: 334, get: (O) => kO[O] || -1 }, { term: 70, get: (O) => bO[O] || -1 }],
156
+ tokenPrec: 14638
157
+ }), T = [
158
+ /* @__PURE__ */ n("function ${name}(${params}) {\n ${}\n}", {
159
+ label: "function",
160
+ detail: "definition",
161
+ type: "keyword"
162
+ }),
163
+ /* @__PURE__ */ n("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", {
164
+ label: "for",
165
+ detail: "loop",
166
+ type: "keyword"
167
+ }),
168
+ /* @__PURE__ */ n("for (let ${name} of ${collection}) {\n ${}\n}", {
169
+ label: "for",
170
+ detail: "of loop",
171
+ type: "keyword"
172
+ }),
173
+ /* @__PURE__ */ n("do {\n ${}\n} while (${})", {
174
+ label: "do",
175
+ detail: "loop",
176
+ type: "keyword"
177
+ }),
178
+ /* @__PURE__ */ n("while (${}) {\n ${}\n}", {
179
+ label: "while",
180
+ detail: "loop",
181
+ type: "keyword"
182
+ }),
183
+ /* @__PURE__ */ n(`try {
184
+ \${}
185
+ } catch (\${error}) {
186
+ \${}
187
+ }`, {
188
+ label: "try",
189
+ detail: "/ catch block",
190
+ type: "keyword"
191
+ }),
192
+ /* @__PURE__ */ n("if (${}) {\n ${}\n}", {
193
+ label: "if",
194
+ detail: "block",
195
+ type: "keyword"
196
+ }),
197
+ /* @__PURE__ */ n(`if (\${}) {
198
+ \${}
199
+ } else {
200
+ \${}
201
+ }`, {
202
+ label: "if",
203
+ detail: "/ else block",
204
+ type: "keyword"
205
+ }),
206
+ /* @__PURE__ */ n(`class \${name} {
207
+ constructor(\${params}) {
208
+ \${}
209
+ }
210
+ }`, {
211
+ label: "class",
212
+ detail: "definition",
213
+ type: "keyword"
214
+ }),
215
+ /* @__PURE__ */ n('import {${names}} from "${module}"\n${}', {
216
+ label: "import",
217
+ detail: "named",
218
+ type: "keyword"
219
+ }),
220
+ /* @__PURE__ */ n('import ${name} from "${module}"\n${}', {
221
+ label: "import",
222
+ detail: "default",
223
+ type: "keyword"
224
+ })
225
+ ], hO = /* @__PURE__ */ T.concat([
226
+ /* @__PURE__ */ n("interface ${name} {\n ${}\n}", {
227
+ label: "interface",
228
+ detail: "definition",
229
+ type: "keyword"
230
+ }),
231
+ /* @__PURE__ */ n("type ${name} = ${type}", {
232
+ label: "type",
233
+ detail: "definition",
234
+ type: "keyword"
235
+ }),
236
+ /* @__PURE__ */ n("enum ${name} {\n ${}\n}", {
237
+ label: "enum",
238
+ detail: "definition",
239
+ type: "keyword"
240
+ })
241
+ ]), q = /* @__PURE__ */ new eO(), V = /* @__PURE__ */ new Set([
242
+ "Script",
243
+ "Block",
244
+ "FunctionExpression",
245
+ "FunctionDeclaration",
246
+ "ArrowFunction",
247
+ "MethodDeclaration",
248
+ "ForStatement"
249
+ ]);
250
+ function s(O) {
251
+ return (a, Q) => {
252
+ let e = a.node.getChild("VariableDefinition");
253
+ return e && Q(e, O), !0;
254
+ };
255
+ }
256
+ const qO = ["FunctionDeclaration"], _O = {
257
+ FunctionDeclaration: /* @__PURE__ */ s("function"),
258
+ ClassDeclaration: /* @__PURE__ */ s("class"),
259
+ ClassExpression: () => !0,
260
+ EnumDeclaration: /* @__PURE__ */ s("constant"),
261
+ TypeAliasDeclaration: /* @__PURE__ */ s("type"),
262
+ NamespaceDeclaration: /* @__PURE__ */ s("namespace"),
263
+ VariableDefinition(O, a) {
264
+ O.matchContext(qO) || a(O, "variable");
265
+ },
266
+ TypeDefinition(O, a) {
267
+ a(O, "type");
268
+ },
269
+ __proto__: null
270
+ };
271
+ function U(O, a) {
272
+ let Q = q.get(a);
273
+ if (Q)
274
+ return Q;
275
+ let e = [], $ = !0;
276
+ function r(Z, t) {
277
+ let p = O.sliceString(Z.from, Z.to);
278
+ e.push({ label: p, type: t });
279
+ }
280
+ return a.cursor(QO.IncludeAnonymous).iterate((Z) => {
281
+ if ($)
282
+ $ = !1;
283
+ else if (Z.name) {
284
+ let t = _O[Z.name];
285
+ if (t && t(Z, r) || V.has(Z.name))
286
+ return !1;
287
+ } else if (Z.to - Z.from > 8192) {
288
+ for (let t of U(O, Z.node))
289
+ e.push(t);
290
+ return !1;
291
+ }
292
+ }), q.set(a, e), e;
293
+ }
294
+ const Y = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/, k = [
295
+ "TemplateString",
296
+ "String",
297
+ "RegExp",
298
+ "LineComment",
299
+ "BlockComment",
300
+ "VariableDefinition",
301
+ "TypeDefinition",
302
+ "Label",
303
+ "PropertyDefinition",
304
+ "PropertyName",
305
+ "PrivatePropertyDefinition",
306
+ "PrivatePropertyName",
307
+ ".",
308
+ "?."
309
+ ];
310
+ function uO(O) {
311
+ let a = j(O.state).resolveInner(O.pos, -1);
312
+ if (k.indexOf(a.name) > -1)
313
+ return null;
314
+ let Q = a.name == "VariableName" || a.to - a.from < 20 && Y.test(O.state.sliceDoc(a.from, a.to));
315
+ if (!Q && !O.explicit)
316
+ return null;
317
+ let e = [];
318
+ for (let $ = a; $; $ = $.parent)
319
+ V.has($.name) && (e = e.concat(U(O.state.doc, $)));
320
+ return {
321
+ options: e,
322
+ from: Q ? a.from : O.pos,
323
+ validFor: Y
324
+ };
325
+ }
326
+ function W(O, a, Q) {
327
+ var e;
328
+ let $ = [];
329
+ for (; ; ) {
330
+ let r = a.firstChild, Z;
331
+ if ((r == null ? void 0 : r.name) == "VariableName")
332
+ return $.push(O(r)), { path: $.reverse(), name: Q };
333
+ if ((r == null ? void 0 : r.name) == "MemberExpression" && ((e = Z = r.lastChild) === null || e === void 0 ? void 0 : e.name) == "PropertyName")
334
+ $.push(O(Z)), a = r;
335
+ else
336
+ return null;
337
+ }
338
+ }
339
+ function RO(O) {
340
+ let a = (e) => O.state.doc.sliceString(e.from, e.to), Q = j(O.state).resolveInner(O.pos, -1);
341
+ return Q.name == "PropertyName" ? W(a, Q.parent, a(Q)) : (Q.name == "." || Q.name == "?.") && Q.parent.name == "MemberExpression" ? W(a, Q.parent, "") : k.indexOf(Q.name) > -1 ? null : Q.name == "VariableName" || Q.to - Q.from < 20 && Y.test(a(Q)) ? { path: [], name: a(Q) } : Q.name == "MemberExpression" ? W(a, Q, "") : O.explicit ? { path: [], name: "" } : null;
342
+ }
343
+ function GO(O, a) {
344
+ let Q = [], e = /* @__PURE__ */ new Set();
345
+ for (let $ = 0; ; $++) {
346
+ for (let Z of (Object.getOwnPropertyNames || Object.keys)(O)) {
347
+ if (!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(Z) || e.has(Z))
348
+ continue;
349
+ e.add(Z);
350
+ let t;
351
+ try {
352
+ t = O[Z];
353
+ } catch {
354
+ continue;
355
+ }
356
+ Q.push({
357
+ label: Z,
358
+ type: typeof t == "function" ? /^[A-Z]/.test(Z) ? "class" : a ? "function" : "method" : a ? "variable" : "property",
359
+ boost: -$
360
+ });
361
+ }
362
+ let r = Object.getPrototypeOf(O);
363
+ if (!r)
364
+ return Q;
365
+ O = r;
366
+ }
367
+ }
368
+ function NO(O) {
369
+ let a = /* @__PURE__ */ new Map();
370
+ return (Q) => {
371
+ let e = RO(Q);
372
+ if (!e)
373
+ return null;
374
+ let $ = O;
375
+ for (let Z of e.path)
376
+ if ($ = $[Z], !$)
377
+ return null;
378
+ let r = a.get($);
379
+ return r || a.set($, r = GO($, !e.path.length)), {
380
+ from: Q.pos - e.name.length,
381
+ options: r,
382
+ validFor: Y
383
+ };
384
+ };
385
+ }
386
+ const c = /* @__PURE__ */ J.define({
387
+ name: "javascript",
388
+ parser: /* @__PURE__ */ xO.configure({
389
+ props: [
390
+ /* @__PURE__ */ N.add({
391
+ IfStatement: /* @__PURE__ */ m({ except: /^\s*({|else\b)/ }),
392
+ TryStatement: /* @__PURE__ */ m({ except: /^\s*({|catch\b|finally\b)/ }),
393
+ LabeledStatement: D,
394
+ SwitchBody: (O) => {
395
+ let a = O.textAfter, Q = /^\s*\}/.test(a), e = /^\s*(case|default)\b/.test(a);
396
+ return O.baseIndent + (Q ? 0 : e ? 1 : 2) * O.unit;
397
+ },
398
+ Block: /* @__PURE__ */ K({ closing: "}" }),
399
+ ArrowFunction: (O) => O.baseIndent + O.unit,
400
+ "TemplateString BlockComment": () => null,
401
+ "Statement Property": /* @__PURE__ */ m({ except: /^{/ }),
402
+ JSXElement(O) {
403
+ let a = /^\s*<\//.test(O.textAfter);
404
+ return O.lineIndent(O.node.from) + (a ? 0 : O.unit);
405
+ },
406
+ JSXEscape(O) {
407
+ let a = /\s*\}/.test(O.textAfter);
408
+ return O.lineIndent(O.node.from) + (a ? 0 : O.unit);
409
+ },
410
+ "JSXOpenTag JSXSelfClosingTag"(O) {
411
+ return O.column(O.node.from) + O.unit;
412
+ }
413
+ }),
414
+ /* @__PURE__ */ B.add({
415
+ "Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType": L,
416
+ BlockComment(O) {
417
+ return { from: O.from + 2, to: O.to - 2 };
418
+ }
419
+ })
420
+ ]
421
+ }),
422
+ languageData: {
423
+ closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] },
424
+ commentTokens: { line: "//", block: { open: "/*", close: "*/" } },
425
+ indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/,
426
+ wordChars: "$"
427
+ }
428
+ }), v = {
429
+ test: (O) => /^JSX/.test(O.name),
430
+ facet: /* @__PURE__ */ iO({ commentTokens: { block: { open: "{/*", close: "*/}" } } })
431
+ }, TO = /* @__PURE__ */ c.configure({ dialect: "ts" }, "typescript"), VO = /* @__PURE__ */ c.configure({
432
+ dialect: "jsx",
433
+ props: [/* @__PURE__ */ R.add((O) => O.isTop ? [v] : void 0)]
434
+ }), UO = /* @__PURE__ */ c.configure({
435
+ dialect: "jsx ts",
436
+ props: [/* @__PURE__ */ R.add((O) => O.isTop ? [v] : void 0)]
437
+ }, "typescript");
438
+ let z = (O) => ({ label: O, type: "keyword" });
439
+ const E = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(z), vO = /* @__PURE__ */ E.concat(/* @__PURE__ */ ["declare", "implements", "private", "protected", "public"].map(z));
440
+ function DO(O = {}) {
441
+ let a = O.jsx ? O.typescript ? UO : VO : O.typescript ? TO : c, Q = O.typescript ? hO.concat(vO) : T.concat(E);
442
+ return new F(a, [
443
+ c.data.of({
444
+ autocomplete: H(k, M(Q))
445
+ }),
446
+ c.data.of({
447
+ autocomplete: uO
448
+ }),
449
+ O.jsx ? CO : []
450
+ ]);
451
+ }
452
+ function zO(O) {
453
+ for (; ; ) {
454
+ if (O.name == "JSXOpenTag" || O.name == "JSXSelfClosingTag" || O.name == "JSXFragmentTag")
455
+ return O;
456
+ if (O.name == "JSXEscape" || !O.parent)
457
+ return null;
458
+ O = O.parent;
459
+ }
460
+ }
461
+ function _(O, a, Q = O.length) {
462
+ for (let e = a == null ? void 0 : a.firstChild; e; e = e.nextSibling)
463
+ if (e.name == "JSXIdentifier" || e.name == "JSXBuiltin" || e.name == "JSXNamespacedName" || e.name == "JSXMemberExpression")
464
+ return O.sliceString(e.from, Math.min(e.to, Q));
465
+ return "";
466
+ }
467
+ const EO = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent), CO = /* @__PURE__ */ OO.inputHandler.of((O, a, Q, e, $) => {
468
+ if ((EO ? O.composing : O.compositionStarted) || O.state.readOnly || a != Q || e != ">" && e != "/" || !c.isActiveAt(O.state, a, -1))
469
+ return !1;
470
+ let r = $(), { state: Z } = r, t = Z.changeByRange((p) => {
471
+ var S;
472
+ let { head: o } = p, P = j(Z).resolveInner(o - 1, -1), X;
473
+ if (P.name == "JSXStartTag" && (P = P.parent), !(Z.doc.sliceString(o - 1, o) != e || P.name == "JSXAttributeValue" && P.to > o)) {
474
+ if (e == ">" && P.name == "JSXFragmentTag")
475
+ return { range: p, changes: { from: o, insert: "</>" } };
476
+ if (e == "/" && P.name == "JSXStartCloseTag") {
477
+ let l = P.parent, f = l.parent;
478
+ if (f && l.from == o - 2 && ((X = _(Z.doc, f.firstChild, o)) || ((S = f.firstChild) === null || S === void 0 ? void 0 : S.name) == "JSXFragmentTag")) {
479
+ let b = `${X}>`;
480
+ return { range: aO.cursor(o + b.length, -1), changes: { from: o, insert: b } };
481
+ }
482
+ } else if (e == ">") {
483
+ let l = zO(P);
484
+ if (l && !/^\/?>|^<\//.test(Z.doc.sliceString(o, o + 2)) && (X = _(Z.doc, l, o)))
485
+ return { range: p, changes: { from: o, insert: `</${X}>` } };
486
+ }
487
+ }
488
+ return { range: p };
489
+ });
490
+ return t.changes.empty ? !1 : (O.dispatch([
491
+ r,
492
+ Z.update(t, { userEvent: "input.complete", scrollIntoView: !0 })
493
+ ]), !0);
494
+ });
495
+ function KO(O, a) {
496
+ return a || (a = {
497
+ parserOptions: { ecmaVersion: 2019, sourceType: "module" },
498
+ env: { browser: !0, node: !0, es6: !0, es2015: !0, es2017: !0, es2020: !0 },
499
+ rules: {}
500
+ }, O.getRules().forEach((Q, e) => {
501
+ Q.meta.docs.recommended && (a.rules[e] = 2);
502
+ })), (Q) => {
503
+ let { state: e } = Q, $ = [];
504
+ for (let { from: r, to: Z } of c.findRegions(e)) {
505
+ let t = e.doc.lineAt(r), p = { line: t.number - 1, col: r - t.from, pos: r };
506
+ for (let S of O.verify(e.sliceDoc(r, Z), a))
507
+ $.push(IO(S, e.doc, p));
508
+ }
509
+ return $;
510
+ };
511
+ }
512
+ function u(O, a, Q, e) {
513
+ return Q.line(O + e.line).from + a + (O == 1 ? e.col - 1 : -1);
514
+ }
515
+ function IO(O, a, Q) {
516
+ let e = u(O.line, O.column, a, Q), $ = {
517
+ from: e,
518
+ to: O.endLine != null && O.endColumn != 1 ? u(O.endLine, O.endColumn, a, Q) : e,
519
+ message: O.message,
520
+ source: O.ruleId ? "eslint:" + O.ruleId : "eslint",
521
+ severity: O.severity == 1 ? "warning" : "error"
522
+ };
523
+ if (O.fix) {
524
+ let { range: r, text: Z } = O.fix, t = r[0] + Q.pos - e, p = r[1] + Q.pos - e;
525
+ $.actions = [{
526
+ name: "fix",
527
+ apply(S, o) {
528
+ S.dispatch({ changes: { from: o + t, to: o + p, insert: Z }, scrollIntoView: !0 });
529
+ }
530
+ }];
531
+ }
532
+ return $;
533
+ }
534
+ export {
535
+ CO as autoCloseTags,
536
+ RO as completionPath,
537
+ KO as esLint,
538
+ DO as javascript,
539
+ c as javascriptLanguage,
540
+ VO as jsxLanguage,
541
+ uO as localCompletionSource,
542
+ NO as scopeCompletionSource,
543
+ T as snippets,
544
+ UO as tsxLanguage,
545
+ TO as typescriptLanguage,
546
+ hO as typescriptSnippets
547
+ };
src/backend/gradio_highlightedcode/templates/component/index-b8615717.js ADDED
@@ -0,0 +1,1758 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import { j as _, k as H, s as Ae, l as Ie, t as c, P as rt, T as nt, m as E, p as st, a as q, E as P, n as T, e as ae, o as it, q as ot, C as at, r as lt, u as ht, v as ft, w as ut, f as Be, b as dt, x as pt, y as ct, z as le, A as mt } from "./Index-805076c9.js";
2
+ import { htmlCompletionSource as gt, html as kt } from "./index-6c267d21.js";
3
+ import "./index-3f1cf095.js";
4
+ import "./index-8ba95b76.js";
5
+ import "./index-9f51af45.js";
6
+ class j {
7
+ static create(e, r, n, s, i) {
8
+ let o = s + (s << 8) + e + (r << 4) | 0;
9
+ return new j(e, r, n, o, i, [], []);
10
+ }
11
+ constructor(e, r, n, s, i, o, a) {
12
+ this.type = e, this.value = r, this.from = n, this.hash = s, this.end = i, this.children = o, this.positions = a, this.hashProp = [[H.contextHash, s]];
13
+ }
14
+ addChild(e, r) {
15
+ e.prop(H.contextHash) != this.hash && (e = new E(e.type, e.children, e.positions, e.length, this.hashProp)), this.children.push(e), this.positions.push(r);
16
+ }
17
+ toTree(e, r = this.end) {
18
+ let n = this.children.length - 1;
19
+ return n >= 0 && (r = Math.max(r, this.positions[n] + this.children[n].length + this.from)), new E(e.types[this.type], this.children, this.positions, r - this.from).balance({
20
+ makeTree: (s, i, o) => new E(_.none, s, i, o, this.hashProp)
21
+ });
22
+ }
23
+ }
24
+ var u;
25
+ (function(t) {
26
+ t[t.Document = 1] = "Document", t[t.CodeBlock = 2] = "CodeBlock", t[t.FencedCode = 3] = "FencedCode", t[t.Blockquote = 4] = "Blockquote", t[t.HorizontalRule = 5] = "HorizontalRule", t[t.BulletList = 6] = "BulletList", t[t.OrderedList = 7] = "OrderedList", t[t.ListItem = 8] = "ListItem", t[t.ATXHeading1 = 9] = "ATXHeading1", t[t.ATXHeading2 = 10] = "ATXHeading2", t[t.ATXHeading3 = 11] = "ATXHeading3", t[t.ATXHeading4 = 12] = "ATXHeading4", t[t.ATXHeading5 = 13] = "ATXHeading5", t[t.ATXHeading6 = 14] = "ATXHeading6", t[t.SetextHeading1 = 15] = "SetextHeading1", t[t.SetextHeading2 = 16] = "SetextHeading2", t[t.HTMLBlock = 17] = "HTMLBlock", t[t.LinkReference = 18] = "LinkReference", t[t.Paragraph = 19] = "Paragraph", t[t.CommentBlock = 20] = "CommentBlock", t[t.ProcessingInstructionBlock = 21] = "ProcessingInstructionBlock", t[t.Escape = 22] = "Escape", t[t.Entity = 23] = "Entity", t[t.HardBreak = 24] = "HardBreak", t[t.Emphasis = 25] = "Emphasis", t[t.StrongEmphasis = 26] = "StrongEmphasis", t[t.Link = 27] = "Link", t[t.Image = 28] = "Image", t[t.InlineCode = 29] = "InlineCode", t[t.HTMLTag = 30] = "HTMLTag", t[t.Comment = 31] = "Comment", t[t.ProcessingInstruction = 32] = "ProcessingInstruction", t[t.Autolink = 33] = "Autolink", t[t.HeaderMark = 34] = "HeaderMark", t[t.QuoteMark = 35] = "QuoteMark", t[t.ListMark = 36] = "ListMark", t[t.LinkMark = 37] = "LinkMark", t[t.EmphasisMark = 38] = "EmphasisMark", t[t.CodeMark = 39] = "CodeMark", t[t.CodeText = 40] = "CodeText", t[t.CodeInfo = 41] = "CodeInfo", t[t.LinkTitle = 42] = "LinkTitle", t[t.LinkLabel = 43] = "LinkLabel", t[t.URL = 44] = "URL";
27
+ })(u || (u = {}));
28
+ class Lt {
29
+ /// @internal
30
+ constructor(e, r) {
31
+ this.start = e, this.content = r, this.marks = [], this.parsers = [];
32
+ }
33
+ }
34
+ class bt {
35
+ constructor() {
36
+ this.text = "", this.baseIndent = 0, this.basePos = 0, this.depth = 0, this.markers = [], this.pos = 0, this.indent = 0, this.next = -1;
37
+ }
38
+ /// @internal
39
+ forward() {
40
+ this.basePos > this.pos && this.forwardInner();
41
+ }
42
+ /// @internal
43
+ forwardInner() {
44
+ let e = this.skipSpace(this.basePos);
45
+ this.indent = this.countIndent(e, this.pos, this.indent), this.pos = e, this.next = e == this.text.length ? -1 : this.text.charCodeAt(e);
46
+ }
47
+ /// Skip whitespace after the given position, return the position of
48
+ /// the next non-space character or the end of the line if there's
49
+ /// only space after `from`.
50
+ skipSpace(e) {
51
+ return R(this.text, e);
52
+ }
53
+ /// @internal
54
+ reset(e) {
55
+ for (this.text = e, this.baseIndent = this.basePos = this.pos = this.indent = 0, this.forwardInner(), this.depth = 1; this.markers.length; )
56
+ this.markers.pop();
57
+ }
58
+ /// Move the line's base position forward to the given position.
59
+ /// This should only be called by composite [block
60
+ /// parsers](#BlockParser.parse) or [markup skipping
61
+ /// functions](#NodeSpec.composite).
62
+ moveBase(e) {
63
+ this.basePos = e, this.baseIndent = this.countIndent(e, this.pos, this.indent);
64
+ }
65
+ /// Move the line's base position forward to the given _column_.
66
+ moveBaseColumn(e) {
67
+ this.baseIndent = e, this.basePos = this.findColumn(e);
68
+ }
69
+ /// Store a composite-block-level marker. Should be called from
70
+ /// [markup skipping functions](#NodeSpec.composite) when they
71
+ /// consume any non-whitespace characters.
72
+ addMarker(e) {
73
+ this.markers.push(e);
74
+ }
75
+ /// Find the column position at `to`, optionally starting at a given
76
+ /// position and column.
77
+ countIndent(e, r = 0, n = 0) {
78
+ for (let s = r; s < e; s++)
79
+ n += this.text.charCodeAt(s) == 9 ? 4 - n % 4 : 1;
80
+ return n;
81
+ }
82
+ /// Find the position corresponding to the given column.
83
+ findColumn(e) {
84
+ let r = 0;
85
+ for (let n = 0; r < this.text.length && n < e; r++)
86
+ n += this.text.charCodeAt(r) == 9 ? 4 - n % 4 : 1;
87
+ return r;
88
+ }
89
+ /// @internal
90
+ scrub() {
91
+ if (!this.baseIndent)
92
+ return this.text;
93
+ let e = "";
94
+ for (let r = 0; r < this.basePos; r++)
95
+ e += " ";
96
+ return e + this.text.slice(this.basePos);
97
+ }
98
+ }
99
+ function he(t, e, r) {
100
+ if (r.pos == r.text.length || t != e.block && r.indent >= e.stack[r.depth + 1].value + r.baseIndent)
101
+ return !0;
102
+ if (r.indent >= r.baseIndent + 4)
103
+ return !1;
104
+ let n = (t.type == u.OrderedList ? se : ne)(r, e, !1);
105
+ return n > 0 && (t.type != u.BulletList || re(r, e, !1) < 0) && r.text.charCodeAt(r.pos + n - 1) == t.value;
106
+ }
107
+ const Ee = {
108
+ [u.Blockquote](t, e, r) {
109
+ return r.next != 62 ? !1 : (r.markers.push(g(u.QuoteMark, e.lineStart + r.pos, e.lineStart + r.pos + 1)), r.moveBase(r.pos + (C(r.text.charCodeAt(r.pos + 1)) ? 2 : 1)), t.end = e.lineStart + r.text.length, !0);
110
+ },
111
+ [u.ListItem](t, e, r) {
112
+ return r.indent < r.baseIndent + t.value && r.next > -1 ? !1 : (r.moveBaseColumn(r.baseIndent + t.value), !0);
113
+ },
114
+ [u.OrderedList]: he,
115
+ [u.BulletList]: he,
116
+ [u.Document]() {
117
+ return !0;
118
+ }
119
+ };
120
+ function C(t) {
121
+ return t == 32 || t == 9 || t == 10 || t == 13;
122
+ }
123
+ function R(t, e = 0) {
124
+ for (; e < t.length && C(t.charCodeAt(e)); )
125
+ e++;
126
+ return e;
127
+ }
128
+ function fe(t, e, r) {
129
+ for (; e > r && C(t.charCodeAt(e - 1)); )
130
+ e--;
131
+ return e;
132
+ }
133
+ function Me(t) {
134
+ if (t.next != 96 && t.next != 126)
135
+ return -1;
136
+ let e = t.pos + 1;
137
+ for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
138
+ e++;
139
+ if (e < t.pos + 3)
140
+ return -1;
141
+ if (t.next == 96) {
142
+ for (let r = e; r < t.text.length; r++)
143
+ if (t.text.charCodeAt(r) == 96)
144
+ return -1;
145
+ }
146
+ return e;
147
+ }
148
+ function Pe(t) {
149
+ return t.next != 62 ? -1 : t.text.charCodeAt(t.pos + 1) == 32 ? 2 : 1;
150
+ }
151
+ function re(t, e, r) {
152
+ if (t.next != 42 && t.next != 45 && t.next != 95)
153
+ return -1;
154
+ let n = 1;
155
+ for (let s = t.pos + 1; s < t.text.length; s++) {
156
+ let i = t.text.charCodeAt(s);
157
+ if (i == t.next)
158
+ n++;
159
+ else if (!C(i))
160
+ return -1;
161
+ }
162
+ return r && t.next == 45 && Ne(t) > -1 && t.depth == e.stack.length || n < 3 ? -1 : 1;
163
+ }
164
+ function He(t, e) {
165
+ for (let r = t.stack.length - 1; r >= 0; r--)
166
+ if (t.stack[r].type == e)
167
+ return !0;
168
+ return !1;
169
+ }
170
+ function ne(t, e, r) {
171
+ return (t.next == 45 || t.next == 43 || t.next == 42) && (t.pos == t.text.length - 1 || C(t.text.charCodeAt(t.pos + 1))) && (!r || He(e, u.BulletList) || t.skipSpace(t.pos + 2) < t.text.length) ? 1 : -1;
172
+ }
173
+ function se(t, e, r) {
174
+ let n = t.pos, s = t.next;
175
+ for (; s >= 48 && s <= 57; ) {
176
+ n++;
177
+ if (n == t.text.length)
178
+ return -1;
179
+ s = t.text.charCodeAt(n);
180
+ }
181
+ return n == t.pos || n > t.pos + 9 || s != 46 && s != 41 || n < t.text.length - 1 && !C(t.text.charCodeAt(n + 1)) || r && !He(e, u.OrderedList) && (t.skipSpace(n + 1) == t.text.length || n > t.pos + 1 || t.next != 49) ? -1 : n + 1 - t.pos;
182
+ }
183
+ function ve(t) {
184
+ if (t.next != 35)
185
+ return -1;
186
+ let e = t.pos + 1;
187
+ for (; e < t.text.length && t.text.charCodeAt(e) == 35; )
188
+ e++;
189
+ if (e < t.text.length && t.text.charCodeAt(e) != 32)
190
+ return -1;
191
+ let r = e - t.pos;
192
+ return r > 6 ? -1 : r;
193
+ }
194
+ function Ne(t) {
195
+ if (t.next != 45 && t.next != 61 || t.indent >= t.baseIndent + 4)
196
+ return -1;
197
+ let e = t.pos + 1;
198
+ for (; e < t.text.length && t.text.charCodeAt(e) == t.next; )
199
+ e++;
200
+ let r = e;
201
+ for (; e < t.text.length && C(t.text.charCodeAt(e)); )
202
+ e++;
203
+ return e == t.text.length ? r : -1;
204
+ }
205
+ const K = /^[ \t]*$/, ye = /-->/, Re = /\?>/, J = [
206
+ [/^<(?:script|pre|style)(?:\s|>|$)/i, /<\/(?:script|pre|style)>/i],
207
+ [/^\s*<!--/, ye],
208
+ [/^\s*<\?/, Re],
209
+ [/^\s*<![A-Z]/, />/],
210
+ [/^\s*<!\[CDATA\[/, /\]\]>/],
211
+ [/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i, K],
212
+ [/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i, K]
213
+ ];
214
+ function Oe(t, e, r) {
215
+ if (t.next != 60)
216
+ return -1;
217
+ let n = t.text.slice(t.pos);
218
+ for (let s = 0, i = J.length - (r ? 1 : 0); s < i; s++)
219
+ if (J[s][0].test(n))
220
+ return s;
221
+ return -1;
222
+ }
223
+ function ue(t, e) {
224
+ let r = t.countIndent(e, t.pos, t.indent), n = t.countIndent(t.skipSpace(e), e, r);
225
+ return n >= r + 5 ? r + 1 : n;
226
+ }
227
+ function B(t, e, r) {
228
+ let n = t.length - 1;
229
+ n >= 0 && t[n].to == e && t[n].type == u.CodeText ? t[n].to = r : t.push(g(u.CodeText, e, r));
230
+ }
231
+ const F = {
232
+ LinkReference: void 0,
233
+ IndentedCode(t, e) {
234
+ let r = e.baseIndent + 4;
235
+ if (e.indent < r)
236
+ return !1;
237
+ let n = e.findColumn(r), s = t.lineStart + n, i = t.lineStart + e.text.length, o = [], a = [];
238
+ for (B(o, s, i); t.nextLine() && e.depth >= t.stack.length; )
239
+ if (e.pos == e.text.length) {
240
+ B(a, t.lineStart - 1, t.lineStart);
241
+ for (let l of e.markers)
242
+ a.push(l);
243
+ } else {
244
+ if (e.indent < r)
245
+ break;
246
+ {
247
+ if (a.length) {
248
+ for (let f of a)
249
+ f.type == u.CodeText ? B(o, f.from, f.to) : o.push(f);
250
+ a = [];
251
+ }
252
+ B(o, t.lineStart - 1, t.lineStart);
253
+ for (let f of e.markers)
254
+ o.push(f);
255
+ i = t.lineStart + e.text.length;
256
+ let l = t.lineStart + e.findColumn(e.baseIndent + 4);
257
+ l < i && B(o, l, i);
258
+ }
259
+ }
260
+ return a.length && (a = a.filter((l) => l.type != u.CodeText), a.length && (e.markers = a.concat(e.markers))), t.addNode(t.buffer.writeElements(o, -s).finish(u.CodeBlock, i - s), s), !0;
261
+ },
262
+ FencedCode(t, e) {
263
+ let r = Me(e);
264
+ if (r < 0)
265
+ return !1;
266
+ let n = t.lineStart + e.pos, s = e.next, i = r - e.pos, o = e.skipSpace(r), a = fe(e.text, e.text.length, o), l = [g(u.CodeMark, n, n + i)];
267
+ o < a && l.push(g(u.CodeInfo, t.lineStart + o, t.lineStart + a));
268
+ for (let f = !0; t.nextLine() && e.depth >= t.stack.length; f = !1) {
269
+ let h = e.pos;
270
+ if (e.indent - e.baseIndent < 4)
271
+ for (; h < e.text.length && e.text.charCodeAt(h) == s; )
272
+ h++;
273
+ if (h - e.pos >= i && e.skipSpace(h) == e.text.length) {
274
+ for (let p of e.markers)
275
+ l.push(p);
276
+ l.push(g(u.CodeMark, t.lineStart + e.pos, t.lineStart + h)), t.nextLine();
277
+ break;
278
+ } else {
279
+ f || B(l, t.lineStart - 1, t.lineStart);
280
+ for (let m of e.markers)
281
+ l.push(m);
282
+ let p = t.lineStart + e.basePos, d = t.lineStart + e.text.length;
283
+ p < d && B(l, p, d);
284
+ }
285
+ }
286
+ return t.addNode(t.buffer.writeElements(l, -n).finish(u.FencedCode, t.prevLineEnd() - n), n), !0;
287
+ },
288
+ Blockquote(t, e) {
289
+ let r = Pe(e);
290
+ return r < 0 ? !1 : (t.startContext(u.Blockquote, e.pos), t.addNode(u.QuoteMark, t.lineStart + e.pos, t.lineStart + e.pos + 1), e.moveBase(e.pos + r), null);
291
+ },
292
+ HorizontalRule(t, e) {
293
+ if (re(e, t, !1) < 0)
294
+ return !1;
295
+ let r = t.lineStart + e.pos;
296
+ return t.nextLine(), t.addNode(u.HorizontalRule, r), !0;
297
+ },
298
+ BulletList(t, e) {
299
+ let r = ne(e, t, !1);
300
+ if (r < 0)
301
+ return !1;
302
+ t.block.type != u.BulletList && t.startContext(u.BulletList, e.basePos, e.next);
303
+ let n = ue(e, e.pos + 1);
304
+ return t.startContext(u.ListItem, e.basePos, n - e.baseIndent), t.addNode(u.ListMark, t.lineStart + e.pos, t.lineStart + e.pos + r), e.moveBaseColumn(n), null;
305
+ },
306
+ OrderedList(t, e) {
307
+ let r = se(e, t, !1);
308
+ if (r < 0)
309
+ return !1;
310
+ t.block.type != u.OrderedList && t.startContext(u.OrderedList, e.basePos, e.text.charCodeAt(e.pos + r - 1));
311
+ let n = ue(e, e.pos + r);
312
+ return t.startContext(u.ListItem, e.basePos, n - e.baseIndent), t.addNode(u.ListMark, t.lineStart + e.pos, t.lineStart + e.pos + r), e.moveBaseColumn(n), null;
313
+ },
314
+ ATXHeading(t, e) {
315
+ let r = ve(e);
316
+ if (r < 0)
317
+ return !1;
318
+ let n = e.pos, s = t.lineStart + n, i = fe(e.text, e.text.length, n), o = i;
319
+ for (; o > n && e.text.charCodeAt(o - 1) == e.next; )
320
+ o--;
321
+ (o == i || o == n || !C(e.text.charCodeAt(o - 1))) && (o = e.text.length);
322
+ let a = t.buffer.write(u.HeaderMark, 0, r).writeElements(t.parser.parseInline(e.text.slice(n + r + 1, o), s + r + 1), -s);
323
+ o < e.text.length && a.write(u.HeaderMark, o - n, i - n);
324
+ let l = a.finish(u.ATXHeading1 - 1 + r, e.text.length - n);
325
+ return t.nextLine(), t.addNode(l, s), !0;
326
+ },
327
+ HTMLBlock(t, e) {
328
+ let r = Oe(e, t, !1);
329
+ if (r < 0)
330
+ return !1;
331
+ let n = t.lineStart + e.pos, s = J[r][1], i = [], o = s != K;
332
+ for (; !s.test(e.text) && t.nextLine(); ) {
333
+ if (e.depth < t.stack.length) {
334
+ o = !1;
335
+ break;
336
+ }
337
+ for (let f of e.markers)
338
+ i.push(f);
339
+ }
340
+ o && t.nextLine();
341
+ let a = s == ye ? u.CommentBlock : s == Re ? u.ProcessingInstructionBlock : u.HTMLBlock, l = t.prevLineEnd();
342
+ return t.addNode(t.buffer.writeElements(i, -n).finish(a, l - n), n), !0;
343
+ },
344
+ SetextHeading: void 0
345
+ // Specifies relative precedence for block-continue function
346
+ };
347
+ class wt {
348
+ constructor(e) {
349
+ this.stage = 0, this.elts = [], this.pos = 0, this.start = e.start, this.advance(e.content);
350
+ }
351
+ nextLine(e, r, n) {
352
+ if (this.stage == -1)
353
+ return !1;
354
+ let s = n.content + `
355
+ ` + r.scrub(), i = this.advance(s);
356
+ return i > -1 && i < s.length ? this.complete(e, n, i) : !1;
357
+ }
358
+ finish(e, r) {
359
+ return (this.stage == 2 || this.stage == 3) && R(r.content, this.pos) == r.content.length ? this.complete(e, r, r.content.length) : !1;
360
+ }
361
+ complete(e, r, n) {
362
+ return e.addLeafElement(r, g(u.LinkReference, this.start, this.start + n, this.elts)), !0;
363
+ }
364
+ nextStage(e) {
365
+ return e ? (this.pos = e.to - this.start, this.elts.push(e), this.stage++, !0) : (e === !1 && (this.stage = -1), !1);
366
+ }
367
+ advance(e) {
368
+ for (; ; ) {
369
+ if (this.stage == -1)
370
+ return -1;
371
+ if (this.stage == 0) {
372
+ if (!this.nextStage(qe(e, this.pos, this.start, !0)))
373
+ return -1;
374
+ if (e.charCodeAt(this.pos) != 58)
375
+ return this.stage = -1;
376
+ this.elts.push(g(u.LinkMark, this.pos + this.start, this.pos + this.start + 1)), this.pos++;
377
+ } else if (this.stage == 1) {
378
+ if (!this.nextStage(je(e, R(e, this.pos), this.start)))
379
+ return -1;
380
+ } else if (this.stage == 2) {
381
+ let r = R(e, this.pos), n = 0;
382
+ if (r > this.pos) {
383
+ let s = _e(e, r, this.start);
384
+ if (s) {
385
+ let i = Q(e, s.to - this.start);
386
+ i > 0 && (this.nextStage(s), n = i);
387
+ }
388
+ }
389
+ return n || (n = Q(e, this.pos)), n > 0 && n < e.length ? n : -1;
390
+ } else
391
+ return Q(e, this.pos);
392
+ }
393
+ }
394
+ }
395
+ function Q(t, e) {
396
+ for (; e < t.length; e++) {
397
+ let r = t.charCodeAt(e);
398
+ if (r == 10)
399
+ break;
400
+ if (!C(r))
401
+ return -1;
402
+ }
403
+ return e;
404
+ }
405
+ class St {
406
+ nextLine(e, r, n) {
407
+ let s = r.depth < e.stack.length ? -1 : Ne(r), i = r.next;
408
+ if (s < 0)
409
+ return !1;
410
+ let o = g(u.HeaderMark, e.lineStart + r.pos, e.lineStart + s);
411
+ return e.nextLine(), e.addLeafElement(n, g(i == 61 ? u.SetextHeading1 : u.SetextHeading2, n.start, e.prevLineEnd(), [
412
+ ...e.parser.parseInline(n.content, n.start),
413
+ o
414
+ ])), !0;
415
+ }
416
+ finish() {
417
+ return !1;
418
+ }
419
+ }
420
+ const Ct = {
421
+ LinkReference(t, e) {
422
+ return e.content.charCodeAt(0) == 91 ? new wt(e) : null;
423
+ },
424
+ SetextHeading() {
425
+ return new St();
426
+ }
427
+ }, xt = [
428
+ (t, e) => ve(e) >= 0,
429
+ (t, e) => Me(e) >= 0,
430
+ (t, e) => Pe(e) >= 0,
431
+ (t, e) => ne(e, t, !0) >= 0,
432
+ (t, e) => se(e, t, !0) >= 0,
433
+ (t, e) => re(e, t, !0) >= 0,
434
+ (t, e) => Oe(e, t, !0) >= 0
435
+ ], At = { text: "", end: 0 };
436
+ class It {
437
+ /// @internal
438
+ constructor(e, r, n, s) {
439
+ this.parser = e, this.input = r, this.ranges = s, this.line = new bt(), this.atEnd = !1, this.reusePlaceholders = /* @__PURE__ */ new Map(), this.stoppedAt = null, this.rangeI = 0, this.to = s[s.length - 1].to, this.lineStart = this.absoluteLineStart = this.absoluteLineEnd = s[0].from, this.block = j.create(u.Document, 0, this.lineStart, 0, 0), this.stack = [this.block], this.fragments = n.length ? new Pt(n, r) : null, this.readLine();
440
+ }
441
+ get parsedPos() {
442
+ return this.absoluteLineStart;
443
+ }
444
+ advance() {
445
+ if (this.stoppedAt != null && this.absoluteLineStart > this.stoppedAt)
446
+ return this.finish();
447
+ let { line: e } = this;
448
+ for (; ; ) {
449
+ for (let n = 0; ; ) {
450
+ let s = e.depth < this.stack.length ? this.stack[this.stack.length - 1] : null;
451
+ for (; n < e.markers.length && (!s || e.markers[n].from < s.end); ) {
452
+ let i = e.markers[n++];
453
+ this.addNode(i.type, i.from, i.to);
454
+ }
455
+ if (!s)
456
+ break;
457
+ this.finishContext();
458
+ }
459
+ if (e.pos < e.text.length)
460
+ break;
461
+ if (!this.nextLine())
462
+ return this.finish();
463
+ }
464
+ if (this.fragments && this.reuseFragment(e.basePos))
465
+ return null;
466
+ e:
467
+ for (; ; ) {
468
+ for (let n of this.parser.blockParsers)
469
+ if (n) {
470
+ let s = n(this, e);
471
+ if (s != !1) {
472
+ if (s == !0)
473
+ return null;
474
+ e.forward();
475
+ continue e;
476
+ }
477
+ }
478
+ break;
479
+ }
480
+ let r = new Lt(this.lineStart + e.pos, e.text.slice(e.pos));
481
+ for (let n of this.parser.leafBlockParsers)
482
+ if (n) {
483
+ let s = n(this, r);
484
+ s && r.parsers.push(s);
485
+ }
486
+ e:
487
+ for (; this.nextLine() && e.pos != e.text.length; ) {
488
+ if (e.indent < e.baseIndent + 4) {
489
+ for (let n of this.parser.endLeafBlock)
490
+ if (n(this, e, r))
491
+ break e;
492
+ }
493
+ for (let n of r.parsers)
494
+ if (n.nextLine(this, e, r))
495
+ return null;
496
+ r.content += `
497
+ ` + e.scrub();
498
+ for (let n of e.markers)
499
+ r.marks.push(n);
500
+ }
501
+ return this.finishLeaf(r), null;
502
+ }
503
+ stopAt(e) {
504
+ if (this.stoppedAt != null && this.stoppedAt < e)
505
+ throw new RangeError("Can't move stoppedAt forward");
506
+ this.stoppedAt = e;
507
+ }
508
+ reuseFragment(e) {
509
+ if (!this.fragments.moveTo(this.absoluteLineStart + e, this.absoluteLineStart) || !this.fragments.matches(this.block.hash))
510
+ return !1;
511
+ let r = this.fragments.takeNodes(this);
512
+ return r ? (this.absoluteLineStart += r, this.lineStart = Ue(this.absoluteLineStart, this.ranges), this.moveRangeI(), this.absoluteLineStart < this.to ? (this.lineStart++, this.absoluteLineStart++, this.readLine()) : (this.atEnd = !0, this.readLine()), !0) : !1;
513
+ }
514
+ /// The number of parent blocks surrounding the current block.
515
+ get depth() {
516
+ return this.stack.length;
517
+ }
518
+ /// Get the type of the parent block at the given depth. When no
519
+ /// depth is passed, return the type of the innermost parent.
520
+ parentType(e = this.depth - 1) {
521
+ return this.parser.nodeSet.types[this.stack[e].type];
522
+ }
523
+ /// Move to the next input line. This should only be called by
524
+ /// (non-composite) [block parsers](#BlockParser.parse) that consume
525
+ /// the line directly, or leaf block parser
526
+ /// [`nextLine`](#LeafBlockParser.nextLine) methods when they
527
+ /// consume the current line (and return true).
528
+ nextLine() {
529
+ return this.lineStart += this.line.text.length, this.absoluteLineEnd >= this.to ? (this.absoluteLineStart = this.absoluteLineEnd, this.atEnd = !0, this.readLine(), !1) : (this.lineStart++, this.absoluteLineStart = this.absoluteLineEnd + 1, this.moveRangeI(), this.readLine(), !0);
530
+ }
531
+ moveRangeI() {
532
+ for (; this.rangeI < this.ranges.length - 1 && this.absoluteLineStart >= this.ranges[this.rangeI].to; )
533
+ this.rangeI++, this.absoluteLineStart = Math.max(this.absoluteLineStart, this.ranges[this.rangeI].from);
534
+ }
535
+ /// @internal
536
+ scanLine(e) {
537
+ let r = At;
538
+ if (r.end = e, e >= this.to)
539
+ r.text = "";
540
+ else if (r.text = this.lineChunkAt(e), r.end += r.text.length, this.ranges.length > 1) {
541
+ let n = this.absoluteLineStart, s = this.rangeI;
542
+ for (; this.ranges[s].to < r.end; ) {
543
+ s++;
544
+ let i = this.ranges[s].from, o = this.lineChunkAt(i);
545
+ r.end = i + o.length, r.text = r.text.slice(0, this.ranges[s - 1].to - n) + o, n = r.end - r.text.length;
546
+ }
547
+ }
548
+ return r;
549
+ }
550
+ /// @internal
551
+ readLine() {
552
+ let { line: e } = this, { text: r, end: n } = this.scanLine(this.absoluteLineStart);
553
+ for (this.absoluteLineEnd = n, e.reset(r); e.depth < this.stack.length; e.depth++) {
554
+ let s = this.stack[e.depth], i = this.parser.skipContextMarkup[s.type];
555
+ if (!i)
556
+ throw new Error("Unhandled block context " + u[s.type]);
557
+ if (!i(s, this, e))
558
+ break;
559
+ e.forward();
560
+ }
561
+ }
562
+ lineChunkAt(e) {
563
+ let r = this.input.chunk(e), n;
564
+ if (this.input.lineChunks)
565
+ n = r == `
566
+ ` ? "" : r;
567
+ else {
568
+ let s = r.indexOf(`
569
+ `);
570
+ n = s < 0 ? r : r.slice(0, s);
571
+ }
572
+ return e + n.length > this.to ? n.slice(0, this.to - e) : n;
573
+ }
574
+ /// The end position of the previous line.
575
+ prevLineEnd() {
576
+ return this.atEnd ? this.lineStart : this.lineStart - 1;
577
+ }
578
+ /// @internal
579
+ startContext(e, r, n = 0) {
580
+ this.block = j.create(e, n, this.lineStart + r, this.block.hash, this.lineStart + this.line.text.length), this.stack.push(this.block);
581
+ }
582
+ /// Start a composite block. Should only be called from [block
583
+ /// parser functions](#BlockParser.parse) that return null.
584
+ startComposite(e, r, n = 0) {
585
+ this.startContext(this.parser.getNodeType(e), r, n);
586
+ }
587
+ /// @internal
588
+ addNode(e, r, n) {
589
+ typeof e == "number" && (e = new E(this.parser.nodeSet.types[e], v, v, (n ?? this.prevLineEnd()) - r)), this.block.addChild(e, r - this.block.from);
590
+ }
591
+ /// Add a block element. Can be called by [block
592
+ /// parsers](#BlockParser.parse).
593
+ addElement(e) {
594
+ this.block.addChild(e.toTree(this.parser.nodeSet), e.from - this.block.from);
595
+ }
596
+ /// Add a block element from a [leaf parser](#LeafBlockParser). This
597
+ /// makes sure any extra composite block markup (such as blockquote
598
+ /// markers) inside the block are also added to the syntax tree.
599
+ addLeafElement(e, r) {
600
+ this.addNode(this.buffer.writeElements(W(r.children, e.marks), -r.from).finish(r.type, r.to - r.from), r.from);
601
+ }
602
+ /// @internal
603
+ finishContext() {
604
+ let e = this.stack.pop(), r = this.stack[this.stack.length - 1];
605
+ r.addChild(e.toTree(this.parser.nodeSet), e.from - r.from), this.block = r;
606
+ }
607
+ finish() {
608
+ for (; this.stack.length > 1; )
609
+ this.finishContext();
610
+ return this.addGaps(this.block.toTree(this.parser.nodeSet, this.lineStart));
611
+ }
612
+ addGaps(e) {
613
+ return this.ranges.length > 1 ? Te(this.ranges, 0, e.topNode, this.ranges[0].from, this.reusePlaceholders) : e;
614
+ }
615
+ /// @internal
616
+ finishLeaf(e) {
617
+ for (let n of e.parsers)
618
+ if (n.finish(this, e))
619
+ return;
620
+ let r = W(this.parser.parseInline(e.content, e.start), e.marks);
621
+ this.addNode(this.buffer.writeElements(r, -e.start).finish(u.Paragraph, e.content.length), e.start);
622
+ }
623
+ elt(e, r, n, s) {
624
+ return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
625
+ }
626
+ /// @internal
627
+ get buffer() {
628
+ return new De(this.parser.nodeSet);
629
+ }
630
+ }
631
+ function Te(t, e, r, n, s) {
632
+ let i = t[e].to, o = [], a = [], l = r.from + n;
633
+ function f(h, p) {
634
+ for (; p ? h >= i : h > i; ) {
635
+ let d = t[e + 1].from - i;
636
+ n += d, h += d, e++, i = t[e].to;
637
+ }
638
+ }
639
+ for (let h = r.firstChild; h; h = h.nextSibling) {
640
+ f(h.from + n, !0);
641
+ let p = h.from + n, d, m = s.get(h.tree);
642
+ m ? d = m : h.to + n > i ? (d = Te(t, e, h, n, s), f(h.to + n, !1)) : d = h.toTree(), o.push(d), a.push(p - l);
643
+ }
644
+ return f(r.to + n, !1), new E(r.type, o, a, r.to + n - l, r.tree ? r.tree.propValues : void 0);
645
+ }
646
+ class U extends rt {
647
+ /// @internal
648
+ constructor(e, r, n, s, i, o, a, l, f) {
649
+ super(), this.nodeSet = e, this.blockParsers = r, this.leafBlockParsers = n, this.blockNames = s, this.endLeafBlock = i, this.skipContextMarkup = o, this.inlineParsers = a, this.inlineNames = l, this.wrappers = f, this.nodeTypes = /* @__PURE__ */ Object.create(null);
650
+ for (let h of e.types)
651
+ this.nodeTypes[h.name] = h.id;
652
+ }
653
+ createParse(e, r, n) {
654
+ let s = new It(this, e, r, n);
655
+ for (let i of this.wrappers)
656
+ s = i(s, e, r, n);
657
+ return s;
658
+ }
659
+ /// Reconfigure the parser.
660
+ configure(e) {
661
+ let r = Y(e);
662
+ if (!r)
663
+ return this;
664
+ let { nodeSet: n, skipContextMarkup: s } = this, i = this.blockParsers.slice(), o = this.leafBlockParsers.slice(), a = this.blockNames.slice(), l = this.inlineParsers.slice(), f = this.inlineNames.slice(), h = this.endLeafBlock.slice(), p = this.wrappers;
665
+ if (N(r.defineNodes)) {
666
+ s = Object.assign({}, s);
667
+ let d = n.types.slice(), m;
668
+ for (let L of r.defineNodes) {
669
+ let { name: k, block: w, composite: S, style: b } = typeof L == "string" ? { name: L } : L;
670
+ if (d.some((I) => I.name == k))
671
+ continue;
672
+ S && (s[d.length] = (I, et, tt) => S(et, tt, I.value));
673
+ let A = d.length, M = S ? ["Block", "BlockContext"] : w ? A >= u.ATXHeading1 && A <= u.SetextHeading2 ? ["Block", "LeafBlock", "Heading"] : ["Block", "LeafBlock"] : void 0;
674
+ d.push(_.define({
675
+ id: A,
676
+ name: k,
677
+ props: M && [[H.group, M]]
678
+ })), b && (m || (m = {}), Array.isArray(b) || b instanceof nt ? m[k] = b : Object.assign(m, b));
679
+ }
680
+ n = new Ie(d), m && (n = n.extend(Ae(m)));
681
+ }
682
+ if (N(r.props) && (n = n.extend(...r.props)), N(r.remove))
683
+ for (let d of r.remove) {
684
+ let m = this.blockNames.indexOf(d), L = this.inlineNames.indexOf(d);
685
+ m > -1 && (i[m] = o[m] = void 0), L > -1 && (l[L] = void 0);
686
+ }
687
+ if (N(r.parseBlock))
688
+ for (let d of r.parseBlock) {
689
+ let m = a.indexOf(d.name);
690
+ if (m > -1)
691
+ i[m] = d.parse, o[m] = d.leaf;
692
+ else {
693
+ let L = d.before ? X(a, d.before) : d.after ? X(a, d.after) + 1 : a.length - 1;
694
+ i.splice(L, 0, d.parse), o.splice(L, 0, d.leaf), a.splice(L, 0, d.name);
695
+ }
696
+ d.endLeaf && h.push(d.endLeaf);
697
+ }
698
+ if (N(r.parseInline))
699
+ for (let d of r.parseInline) {
700
+ let m = f.indexOf(d.name);
701
+ if (m > -1)
702
+ l[m] = d.parse;
703
+ else {
704
+ let L = d.before ? X(f, d.before) : d.after ? X(f, d.after) + 1 : f.length - 1;
705
+ l.splice(L, 0, d.parse), f.splice(L, 0, d.name);
706
+ }
707
+ }
708
+ return r.wrap && (p = p.concat(r.wrap)), new U(n, i, o, a, h, s, l, f, p);
709
+ }
710
+ /// @internal
711
+ getNodeType(e) {
712
+ let r = this.nodeTypes[e];
713
+ if (r == null)
714
+ throw new RangeError(`Unknown node type '${e}'`);
715
+ return r;
716
+ }
717
+ /// Parse the given piece of inline text at the given offset,
718
+ /// returning an array of [`Element`](#Element) objects representing
719
+ /// the inline content.
720
+ parseInline(e, r) {
721
+ let n = new Et(this, e, r);
722
+ e:
723
+ for (let s = r; s < n.end; ) {
724
+ let i = n.char(s);
725
+ for (let o of this.inlineParsers)
726
+ if (o) {
727
+ let a = o(n, i, s);
728
+ if (a >= 0) {
729
+ s = a;
730
+ continue e;
731
+ }
732
+ }
733
+ s++;
734
+ }
735
+ return n.resolveMarkers(0);
736
+ }
737
+ }
738
+ function N(t) {
739
+ return t != null && t.length > 0;
740
+ }
741
+ function Y(t) {
742
+ if (!Array.isArray(t))
743
+ return t;
744
+ if (t.length == 0)
745
+ return null;
746
+ let e = Y(t[0]);
747
+ if (t.length == 1)
748
+ return e;
749
+ let r = Y(t.slice(1));
750
+ if (!r || !e)
751
+ return e || r;
752
+ let n = (o, a) => (o || v).concat(a || v), s = e.wrap, i = r.wrap;
753
+ return {
754
+ props: n(e.props, r.props),
755
+ defineNodes: n(e.defineNodes, r.defineNodes),
756
+ parseBlock: n(e.parseBlock, r.parseBlock),
757
+ parseInline: n(e.parseInline, r.parseInline),
758
+ remove: n(e.remove, r.remove),
759
+ wrap: s ? i ? (o, a, l, f) => s(i(o, a, l, f), a, l, f) : s : i
760
+ };
761
+ }
762
+ function X(t, e) {
763
+ let r = t.indexOf(e);
764
+ if (r < 0)
765
+ throw new RangeError(`Position specified relative to unknown parser ${e}`);
766
+ return r;
767
+ }
768
+ let ze = [_.none];
769
+ for (let t = 1, e; e = u[t]; t++)
770
+ ze[t] = _.define({
771
+ id: t,
772
+ name: e,
773
+ props: t >= u.Escape ? [] : [[H.group, t in Ee ? ["Block", "BlockContext"] : ["Block", "LeafBlock"]]],
774
+ top: e == "Document"
775
+ });
776
+ const v = [];
777
+ class De {
778
+ constructor(e) {
779
+ this.nodeSet = e, this.content = [], this.nodes = [];
780
+ }
781
+ write(e, r, n, s = 0) {
782
+ return this.content.push(e, r, n, 4 + s * 4), this;
783
+ }
784
+ writeElements(e, r = 0) {
785
+ for (let n of e)
786
+ n.writeTo(this, r);
787
+ return this;
788
+ }
789
+ finish(e, r) {
790
+ return E.build({
791
+ buffer: this.content,
792
+ nodeSet: this.nodeSet,
793
+ reused: this.nodes,
794
+ topID: e,
795
+ length: r
796
+ });
797
+ }
798
+ }
799
+ class z {
800
+ /// @internal
801
+ constructor(e, r, n, s = v) {
802
+ this.type = e, this.from = r, this.to = n, this.children = s;
803
+ }
804
+ /// @internal
805
+ writeTo(e, r) {
806
+ let n = e.content.length;
807
+ e.writeElements(this.children, r), e.content.push(this.type, this.from + r, this.to + r, e.content.length + 4 - n);
808
+ }
809
+ /// @internal
810
+ toTree(e) {
811
+ return new De(e).writeElements(this.children, -this.from).finish(this.type, this.to - this.from);
812
+ }
813
+ }
814
+ class Fe {
815
+ constructor(e, r) {
816
+ this.tree = e, this.from = r;
817
+ }
818
+ get to() {
819
+ return this.from + this.tree.length;
820
+ }
821
+ get type() {
822
+ return this.tree.type.id;
823
+ }
824
+ get children() {
825
+ return v;
826
+ }
827
+ writeTo(e, r) {
828
+ e.nodes.push(this.tree), e.content.push(e.nodes.length - 1, this.from + r, this.to + r, -1);
829
+ }
830
+ toTree() {
831
+ return this.tree;
832
+ }
833
+ }
834
+ function g(t, e, r, n) {
835
+ return new z(t, e, r, n);
836
+ }
837
+ const Xe = { resolve: "Emphasis", mark: "EmphasisMark" }, $e = { resolve: "Emphasis", mark: "EmphasisMark" }, y = {}, de = {};
838
+ class x {
839
+ constructor(e, r, n, s) {
840
+ this.type = e, this.from = r, this.to = n, this.side = s;
841
+ }
842
+ }
843
+ const pe = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";
844
+ let D = /[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;
845
+ try {
846
+ D = new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]", "u");
847
+ } catch {
848
+ }
849
+ const Z = {
850
+ Escape(t, e, r) {
851
+ if (e != 92 || r == t.end - 1)
852
+ return -1;
853
+ let n = t.char(r + 1);
854
+ for (let s = 0; s < pe.length; s++)
855
+ if (pe.charCodeAt(s) == n)
856
+ return t.append(g(u.Escape, r, r + 2));
857
+ return -1;
858
+ },
859
+ Entity(t, e, r) {
860
+ if (e != 38)
861
+ return -1;
862
+ let n = /^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(t.slice(r + 1, r + 31));
863
+ return n ? t.append(g(u.Entity, r, r + 1 + n[0].length)) : -1;
864
+ },
865
+ InlineCode(t, e, r) {
866
+ if (e != 96 || r && t.char(r - 1) == 96)
867
+ return -1;
868
+ let n = r + 1;
869
+ for (; n < t.end && t.char(n) == 96; )
870
+ n++;
871
+ let s = n - r, i = 0;
872
+ for (; n < t.end; n++)
873
+ if (t.char(n) == 96) {
874
+ if (i++, i == s && t.char(n + 1) != 96)
875
+ return t.append(g(u.InlineCode, r, n + 1, [
876
+ g(u.CodeMark, r, r + s),
877
+ g(u.CodeMark, n + 1 - s, n + 1)
878
+ ]));
879
+ } else
880
+ i = 0;
881
+ return -1;
882
+ },
883
+ HTMLTag(t, e, r) {
884
+ if (e != 60 || r == t.end - 1)
885
+ return -1;
886
+ let n = t.slice(r + 1, t.end), s = /^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);
887
+ if (s)
888
+ return t.append(g(u.Autolink, r, r + 1 + s[0].length, [
889
+ g(u.LinkMark, r, r + 1),
890
+ // url[0] includes the closing bracket, so exclude it from this slice
891
+ g(u.URL, r + 1, r + s[0].length),
892
+ g(u.LinkMark, r + s[0].length, r + 1 + s[0].length)
893
+ ]));
894
+ let i = /^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);
895
+ if (i)
896
+ return t.append(g(u.Comment, r, r + 1 + i[0].length));
897
+ let o = /^\?[^]*?\?>/.exec(n);
898
+ if (o)
899
+ return t.append(g(u.ProcessingInstruction, r, r + 1 + o[0].length));
900
+ let a = /^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);
901
+ return a ? t.append(g(u.HTMLTag, r, r + 1 + a[0].length)) : -1;
902
+ },
903
+ Emphasis(t, e, r) {
904
+ if (e != 95 && e != 42)
905
+ return -1;
906
+ let n = r + 1;
907
+ for (; t.char(n) == e; )
908
+ n++;
909
+ let s = t.slice(r - 1, r), i = t.slice(n, n + 1), o = D.test(s), a = D.test(i), l = /\s|^$/.test(s), f = /\s|^$/.test(i), h = !f && (!a || l || o), p = !l && (!o || f || a), d = h && (e == 42 || !p || o), m = p && (e == 42 || !h || a);
910
+ return t.append(new x(e == 95 ? Xe : $e, r, n, (d ? 1 : 0) | (m ? 2 : 0)));
911
+ },
912
+ HardBreak(t, e, r) {
913
+ if (e == 92 && t.char(r + 1) == 10)
914
+ return t.append(g(u.HardBreak, r, r + 2));
915
+ if (e == 32) {
916
+ let n = r + 1;
917
+ for (; t.char(n) == 32; )
918
+ n++;
919
+ if (t.char(n) == 10 && n >= r + 2)
920
+ return t.append(g(u.HardBreak, r, n + 1));
921
+ }
922
+ return -1;
923
+ },
924
+ Link(t, e, r) {
925
+ return e == 91 ? t.append(new x(
926
+ y,
927
+ r,
928
+ r + 1,
929
+ 1
930
+ /* Mark.Open */
931
+ )) : -1;
932
+ },
933
+ Image(t, e, r) {
934
+ return e == 33 && t.char(r + 1) == 91 ? t.append(new x(
935
+ de,
936
+ r,
937
+ r + 2,
938
+ 1
939
+ /* Mark.Open */
940
+ )) : -1;
941
+ },
942
+ LinkEnd(t, e, r) {
943
+ if (e != 93)
944
+ return -1;
945
+ for (let n = t.parts.length - 1; n >= 0; n--) {
946
+ let s = t.parts[n];
947
+ if (s instanceof x && (s.type == y || s.type == de)) {
948
+ if (!s.side || t.skipSpace(s.to) == r && !/[(\[]/.test(t.slice(r + 1, r + 2)))
949
+ return t.parts[n] = null, -1;
950
+ let i = t.takeContent(n), o = t.parts[n] = Bt(t, i, s.type == y ? u.Link : u.Image, s.from, r + 1);
951
+ if (s.type == y)
952
+ for (let a = 0; a < n; a++) {
953
+ let l = t.parts[a];
954
+ l instanceof x && l.type == y && (l.side = 0);
955
+ }
956
+ return o.to;
957
+ }
958
+ }
959
+ return -1;
960
+ }
961
+ };
962
+ function Bt(t, e, r, n, s) {
963
+ let { text: i } = t, o = t.char(s), a = s;
964
+ if (e.unshift(g(u.LinkMark, n, n + (r == u.Image ? 2 : 1))), e.push(g(u.LinkMark, s - 1, s)), o == 40) {
965
+ let l = t.skipSpace(s + 1), f = je(i, l - t.offset, t.offset), h;
966
+ f && (l = t.skipSpace(f.to), l != f.to && (h = _e(i, l - t.offset, t.offset), h && (l = t.skipSpace(h.to)))), t.char(l) == 41 && (e.push(g(u.LinkMark, s, s + 1)), a = l + 1, f && e.push(f), h && e.push(h), e.push(g(u.LinkMark, l, a)));
967
+ } else if (o == 91) {
968
+ let l = qe(i, s - t.offset, t.offset, !1);
969
+ l && (e.push(l), a = l.to);
970
+ }
971
+ return g(r, n, a, e);
972
+ }
973
+ function je(t, e, r) {
974
+ if (t.charCodeAt(e) == 60) {
975
+ for (let s = e + 1; s < t.length; s++) {
976
+ let i = t.charCodeAt(s);
977
+ if (i == 62)
978
+ return g(u.URL, e + r, s + 1 + r);
979
+ if (i == 60 || i == 10)
980
+ return !1;
981
+ }
982
+ return null;
983
+ } else {
984
+ let s = 0, i = e;
985
+ for (let o = !1; i < t.length; i++) {
986
+ let a = t.charCodeAt(i);
987
+ if (C(a))
988
+ break;
989
+ if (o)
990
+ o = !1;
991
+ else if (a == 40)
992
+ s++;
993
+ else if (a == 41) {
994
+ if (!s)
995
+ break;
996
+ s--;
997
+ } else
998
+ a == 92 && (o = !0);
999
+ }
1000
+ return i > e ? g(u.URL, e + r, i + r) : i == t.length ? null : !1;
1001
+ }
1002
+ }
1003
+ function _e(t, e, r) {
1004
+ let n = t.charCodeAt(e);
1005
+ if (n != 39 && n != 34 && n != 40)
1006
+ return !1;
1007
+ let s = n == 40 ? 41 : n;
1008
+ for (let i = e + 1, o = !1; i < t.length; i++) {
1009
+ let a = t.charCodeAt(i);
1010
+ if (o)
1011
+ o = !1;
1012
+ else {
1013
+ if (a == s)
1014
+ return g(u.LinkTitle, e + r, i + 1 + r);
1015
+ a == 92 && (o = !0);
1016
+ }
1017
+ }
1018
+ return null;
1019
+ }
1020
+ function qe(t, e, r, n) {
1021
+ for (let s = !1, i = e + 1, o = Math.min(t.length, i + 999); i < o; i++) {
1022
+ let a = t.charCodeAt(i);
1023
+ if (s)
1024
+ s = !1;
1025
+ else {
1026
+ if (a == 93)
1027
+ return n ? !1 : g(u.LinkLabel, e + r, i + 1 + r);
1028
+ if (n && !C(a) && (n = !1), a == 91)
1029
+ return !1;
1030
+ a == 92 && (s = !0);
1031
+ }
1032
+ }
1033
+ return null;
1034
+ }
1035
+ class Et {
1036
+ /// @internal
1037
+ constructor(e, r, n) {
1038
+ this.parser = e, this.text = r, this.offset = n, this.parts = [];
1039
+ }
1040
+ /// Get the character code at the given (document-relative)
1041
+ /// position.
1042
+ char(e) {
1043
+ return e >= this.end ? -1 : this.text.charCodeAt(e - this.offset);
1044
+ }
1045
+ /// The position of the end of this inline section.
1046
+ get end() {
1047
+ return this.offset + this.text.length;
1048
+ }
1049
+ /// Get a substring of this inline section. Again uses
1050
+ /// document-relative positions.
1051
+ slice(e, r) {
1052
+ return this.text.slice(e - this.offset, r - this.offset);
1053
+ }
1054
+ /// @internal
1055
+ append(e) {
1056
+ return this.parts.push(e), e.to;
1057
+ }
1058
+ /// Add a [delimiter](#DelimiterType) at this given position. `open`
1059
+ /// and `close` indicate whether this delimiter is opening, closing,
1060
+ /// or both. Returns the end of the delimiter, for convenient
1061
+ /// returning from [parse functions](#InlineParser.parse).
1062
+ addDelimiter(e, r, n, s, i) {
1063
+ return this.append(new x(e, r, n, (s ? 1 : 0) | (i ? 2 : 0)));
1064
+ }
1065
+ /// Add an inline element. Returns the end of the element.
1066
+ addElement(e) {
1067
+ return this.append(e);
1068
+ }
1069
+ /// Resolve markers between this.parts.length and from, wrapping matched markers in the
1070
+ /// appropriate node and updating the content of this.parts. @internal
1071
+ resolveMarkers(e) {
1072
+ for (let n = e; n < this.parts.length; n++) {
1073
+ let s = this.parts[n];
1074
+ if (!(s instanceof x && s.type.resolve && s.side & 2))
1075
+ continue;
1076
+ let i = s.type == Xe || s.type == $e, o = s.to - s.from, a, l = n - 1;
1077
+ for (; l >= e; l--) {
1078
+ let k = this.parts[l];
1079
+ if (k instanceof x && k.side & 1 && k.type == s.type && // Ignore emphasis delimiters where the character count doesn't match
1080
+ !(i && (s.side & 1 || k.side & 2) && (k.to - k.from + o) % 3 == 0 && ((k.to - k.from) % 3 || o % 3))) {
1081
+ a = k;
1082
+ break;
1083
+ }
1084
+ }
1085
+ if (!a)
1086
+ continue;
1087
+ let f = s.type.resolve, h = [], p = a.from, d = s.to;
1088
+ if (i) {
1089
+ let k = Math.min(2, a.to - a.from, o);
1090
+ p = a.to - k, d = s.from + k, f = k == 1 ? "Emphasis" : "StrongEmphasis";
1091
+ }
1092
+ a.type.mark && h.push(this.elt(a.type.mark, p, a.to));
1093
+ for (let k = l + 1; k < n; k++)
1094
+ this.parts[k] instanceof z && h.push(this.parts[k]), this.parts[k] = null;
1095
+ s.type.mark && h.push(this.elt(s.type.mark, s.from, d));
1096
+ let m = this.elt(f, p, d, h);
1097
+ this.parts[l] = i && a.from != p ? new x(a.type, a.from, p, a.side) : null, (this.parts[n] = i && s.to != d ? new x(s.type, d, s.to, s.side) : null) ? this.parts.splice(n, 0, m) : this.parts[n] = m;
1098
+ }
1099
+ let r = [];
1100
+ for (let n = e; n < this.parts.length; n++) {
1101
+ let s = this.parts[n];
1102
+ s instanceof z && r.push(s);
1103
+ }
1104
+ return r;
1105
+ }
1106
+ /// Find an opening delimiter of the given type. Returns `null` if
1107
+ /// no delimiter is found, or an index that can be passed to
1108
+ /// [`takeContent`](#InlineContext.takeContent) otherwise.
1109
+ findOpeningDelimiter(e) {
1110
+ for (let r = this.parts.length - 1; r >= 0; r--) {
1111
+ let n = this.parts[r];
1112
+ if (n instanceof x && n.type == e)
1113
+ return r;
1114
+ }
1115
+ return null;
1116
+ }
1117
+ /// Remove all inline elements and delimiters starting from the
1118
+ /// given index (which you should get from
1119
+ /// [`findOpeningDelimiter`](#InlineContext.findOpeningDelimiter),
1120
+ /// resolve delimiters inside of them, and return them as an array
1121
+ /// of elements.
1122
+ takeContent(e) {
1123
+ let r = this.resolveMarkers(e);
1124
+ return this.parts.length = e, r;
1125
+ }
1126
+ /// Skip space after the given (document) position, returning either
1127
+ /// the position of the next non-space character or the end of the
1128
+ /// section.
1129
+ skipSpace(e) {
1130
+ return R(this.text, e - this.offset) + this.offset;
1131
+ }
1132
+ elt(e, r, n, s) {
1133
+ return typeof e == "string" ? g(this.parser.getNodeType(e), r, n, s) : new Fe(e, r);
1134
+ }
1135
+ }
1136
+ function W(t, e) {
1137
+ if (!e.length)
1138
+ return t;
1139
+ if (!t.length)
1140
+ return e;
1141
+ let r = t.slice(), n = 0;
1142
+ for (let s of e) {
1143
+ for (; n < r.length && r[n].to < s.to; )
1144
+ n++;
1145
+ if (n < r.length && r[n].from < s.from) {
1146
+ let i = r[n];
1147
+ i instanceof z && (r[n] = new z(i.type, i.from, i.to, W(i.children, [s])));
1148
+ } else
1149
+ r.splice(n++, 0, s);
1150
+ }
1151
+ return r;
1152
+ }
1153
+ const Mt = [u.CodeBlock, u.ListItem, u.OrderedList, u.BulletList];
1154
+ class Pt {
1155
+ constructor(e, r) {
1156
+ this.fragments = e, this.input = r, this.i = 0, this.fragment = null, this.fragmentEnd = -1, this.cursor = null, e.length && (this.fragment = e[this.i++]);
1157
+ }
1158
+ nextFragment() {
1159
+ this.fragment = this.i < this.fragments.length ? this.fragments[this.i++] : null, this.cursor = null, this.fragmentEnd = -1;
1160
+ }
1161
+ moveTo(e, r) {
1162
+ for (; this.fragment && this.fragment.to <= e; )
1163
+ this.nextFragment();
1164
+ if (!this.fragment || this.fragment.from > (e ? e - 1 : 0))
1165
+ return !1;
1166
+ if (this.fragmentEnd < 0) {
1167
+ let i = this.fragment.to;
1168
+ for (; i > 0 && this.input.read(i - 1, i) != `
1169
+ `; )
1170
+ i--;
1171
+ this.fragmentEnd = i ? i - 1 : 0;
1172
+ }
1173
+ let n = this.cursor;
1174
+ n || (n = this.cursor = this.fragment.tree.cursor(), n.firstChild());
1175
+ let s = e + this.fragment.offset;
1176
+ for (; n.to <= s; )
1177
+ if (!n.parent())
1178
+ return !1;
1179
+ for (; ; ) {
1180
+ if (n.from >= s)
1181
+ return this.fragment.from <= r;
1182
+ if (!n.childAfter(s))
1183
+ return !1;
1184
+ }
1185
+ }
1186
+ matches(e) {
1187
+ let r = this.cursor.tree;
1188
+ return r && r.prop(H.contextHash) == e;
1189
+ }
1190
+ takeNodes(e) {
1191
+ let r = this.cursor, n = this.fragment.offset, s = this.fragmentEnd - (this.fragment.openEnd ? 1 : 0), i = e.absoluteLineStart, o = i, a = e.block.children.length, l = o, f = a;
1192
+ for (; ; ) {
1193
+ if (r.to - n > s) {
1194
+ if (r.type.isAnonymous && r.firstChild())
1195
+ continue;
1196
+ break;
1197
+ }
1198
+ let h = Ue(r.from - n, e.ranges);
1199
+ if (r.to - n <= e.ranges[e.rangeI].to)
1200
+ e.addNode(r.tree, h);
1201
+ else {
1202
+ let p = new E(e.parser.nodeSet.types[u.Paragraph], [], [], 0, e.block.hashProp);
1203
+ e.reusePlaceholders.set(p, r.tree), e.addNode(p, h);
1204
+ }
1205
+ if (r.type.is("Block") && (Mt.indexOf(r.type.id) < 0 ? (o = r.to - n, a = e.block.children.length) : (o = l, a = f, l = r.to - n, f = e.block.children.length)), !r.nextSibling())
1206
+ break;
1207
+ }
1208
+ for (; e.block.children.length > a; )
1209
+ e.block.children.pop(), e.block.positions.pop();
1210
+ return o - i;
1211
+ }
1212
+ }
1213
+ function Ue(t, e) {
1214
+ let r = t;
1215
+ for (let n = 1; n < e.length; n++) {
1216
+ let s = e[n - 1].to, i = e[n].from;
1217
+ s < t && (r -= i - s);
1218
+ }
1219
+ return r;
1220
+ }
1221
+ const Ht = Ae({
1222
+ "Blockquote/...": c.quote,
1223
+ HorizontalRule: c.contentSeparator,
1224
+ "ATXHeading1/... SetextHeading1/...": c.heading1,
1225
+ "ATXHeading2/... SetextHeading2/...": c.heading2,
1226
+ "ATXHeading3/...": c.heading3,
1227
+ "ATXHeading4/...": c.heading4,
1228
+ "ATXHeading5/...": c.heading5,
1229
+ "ATXHeading6/...": c.heading6,
1230
+ "Comment CommentBlock": c.comment,
1231
+ Escape: c.escape,
1232
+ Entity: c.character,
1233
+ "Emphasis/...": c.emphasis,
1234
+ "StrongEmphasis/...": c.strong,
1235
+ "Link/... Image/...": c.link,
1236
+ "OrderedList/... BulletList/...": c.list,
1237
+ "BlockQuote/...": c.quote,
1238
+ "InlineCode CodeText": c.monospace,
1239
+ "URL Autolink": c.url,
1240
+ "HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark": c.processingInstruction,
1241
+ "CodeInfo LinkLabel": c.labelName,
1242
+ LinkTitle: c.string,
1243
+ Paragraph: c.content
1244
+ }), vt = new U(new Ie(ze).extend(Ht), Object.keys(F).map((t) => F[t]), Object.keys(F).map((t) => Ct[t]), Object.keys(F), xt, Ee, Object.keys(Z).map((t) => Z[t]), Object.keys(Z), []);
1245
+ function Nt(t, e, r) {
1246
+ let n = [];
1247
+ for (let s = t.firstChild, i = e; ; s = s.nextSibling) {
1248
+ let o = s ? s.from : r;
1249
+ if (o > i && n.push({ from: i, to: o }), !s)
1250
+ break;
1251
+ i = s.to;
1252
+ }
1253
+ return n;
1254
+ }
1255
+ function yt(t) {
1256
+ let { codeParser: e, htmlParser: r } = t;
1257
+ return { wrap: st((s, i) => {
1258
+ let o = s.type.id;
1259
+ if (e && (o == u.CodeBlock || o == u.FencedCode)) {
1260
+ let a = "";
1261
+ if (o == u.FencedCode) {
1262
+ let f = s.node.getChild(u.CodeInfo);
1263
+ f && (a = i.read(f.from, f.to));
1264
+ }
1265
+ let l = e(a);
1266
+ if (l)
1267
+ return { parser: l, overlay: (f) => f.type.id == u.CodeText };
1268
+ } else if (r && (o == u.HTMLBlock || o == u.HTMLTag))
1269
+ return { parser: r, overlay: Nt(s.node, s.from, s.to) };
1270
+ return null;
1271
+ }) };
1272
+ }
1273
+ const Rt = { resolve: "Strikethrough", mark: "StrikethroughMark" }, Ot = {
1274
+ defineNodes: [{
1275
+ name: "Strikethrough",
1276
+ style: { "Strikethrough/...": c.strikethrough }
1277
+ }, {
1278
+ name: "StrikethroughMark",
1279
+ style: c.processingInstruction
1280
+ }],
1281
+ parseInline: [{
1282
+ name: "Strikethrough",
1283
+ parse(t, e, r) {
1284
+ if (e != 126 || t.char(r + 1) != 126 || t.char(r + 2) == 126)
1285
+ return -1;
1286
+ let n = t.slice(r - 1, r), s = t.slice(r + 2, r + 3), i = /\s|^$/.test(n), o = /\s|^$/.test(s), a = D.test(n), l = D.test(s);
1287
+ return t.addDelimiter(Rt, r, r + 2, !o && (!l || i || a), !i && (!a || o || l));
1288
+ },
1289
+ after: "Emphasis"
1290
+ }]
1291
+ };
1292
+ function O(t, e, r = 0, n, s = 0) {
1293
+ let i = 0, o = !0, a = -1, l = -1, f = !1, h = () => {
1294
+ n.push(t.elt("TableCell", s + a, s + l, t.parser.parseInline(e.slice(a, l), s + a)));
1295
+ };
1296
+ for (let p = r; p < e.length; p++) {
1297
+ let d = e.charCodeAt(p);
1298
+ d == 124 && !f ? ((!o || a > -1) && i++, o = !1, n && (a > -1 && h(), n.push(t.elt("TableDelimiter", p + s, p + s + 1))), a = l = -1) : (f || d != 32 && d != 9) && (a < 0 && (a = p), l = p + 1), f = !f && d == 92;
1299
+ }
1300
+ return a > -1 && (i++, n && h()), i;
1301
+ }
1302
+ function ce(t, e) {
1303
+ for (let r = e; r < t.length; r++) {
1304
+ let n = t.charCodeAt(r);
1305
+ if (n == 124)
1306
+ return !0;
1307
+ n == 92 && r++;
1308
+ }
1309
+ return !1;
1310
+ }
1311
+ const Qe = /^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;
1312
+ class me {
1313
+ constructor() {
1314
+ this.rows = null;
1315
+ }
1316
+ nextLine(e, r, n) {
1317
+ if (this.rows == null) {
1318
+ this.rows = !1;
1319
+ let s;
1320
+ if ((r.next == 45 || r.next == 58 || r.next == 124) && Qe.test(s = r.text.slice(r.pos))) {
1321
+ let i = [];
1322
+ O(e, n.content, 0, i, n.start) == O(e, s, r.pos) && (this.rows = [
1323
+ e.elt("TableHeader", n.start, n.start + n.content.length, i),
1324
+ e.elt("TableDelimiter", e.lineStart + r.pos, e.lineStart + r.text.length)
1325
+ ]);
1326
+ }
1327
+ } else if (this.rows) {
1328
+ let s = [];
1329
+ O(e, r.text, r.pos, s, e.lineStart), this.rows.push(e.elt("TableRow", e.lineStart + r.pos, e.lineStart + r.text.length, s));
1330
+ }
1331
+ return !1;
1332
+ }
1333
+ finish(e, r) {
1334
+ return this.rows ? (e.addLeafElement(r, e.elt("Table", r.start, r.start + r.content.length, this.rows)), !0) : !1;
1335
+ }
1336
+ }
1337
+ const Tt = {
1338
+ defineNodes: [
1339
+ { name: "Table", block: !0 },
1340
+ { name: "TableHeader", style: { "TableHeader/...": c.heading } },
1341
+ "TableRow",
1342
+ { name: "TableCell", style: c.content },
1343
+ { name: "TableDelimiter", style: c.processingInstruction }
1344
+ ],
1345
+ parseBlock: [{
1346
+ name: "Table",
1347
+ leaf(t, e) {
1348
+ return ce(e.content, 0) ? new me() : null;
1349
+ },
1350
+ endLeaf(t, e, r) {
1351
+ if (r.parsers.some((s) => s instanceof me) || !ce(e.text, e.basePos))
1352
+ return !1;
1353
+ let n = t.scanLine(t.absoluteLineEnd + 1).text;
1354
+ return Qe.test(n) && O(t, e.text, e.basePos) == O(t, n, e.basePos);
1355
+ },
1356
+ before: "SetextHeading"
1357
+ }]
1358
+ };
1359
+ class zt {
1360
+ nextLine() {
1361
+ return !1;
1362
+ }
1363
+ finish(e, r) {
1364
+ return e.addLeafElement(r, e.elt("Task", r.start, r.start + r.content.length, [
1365
+ e.elt("TaskMarker", r.start, r.start + 3),
1366
+ ...e.parser.parseInline(r.content.slice(3), r.start + 3)
1367
+ ])), !0;
1368
+ }
1369
+ }
1370
+ const Dt = {
1371
+ defineNodes: [
1372
+ { name: "Task", block: !0, style: c.list },
1373
+ { name: "TaskMarker", style: c.atom }
1374
+ ],
1375
+ parseBlock: [{
1376
+ name: "TaskList",
1377
+ leaf(t, e) {
1378
+ return /^\[[ xX]\][ \t]/.test(e.content) && t.parentType().name == "ListItem" ? new zt() : null;
1379
+ },
1380
+ after: "SetextHeading"
1381
+ }]
1382
+ }, ge = /(www\.)|(https?:\/\/)|([\w.+-]+@)|(mailto:|xmpp:)/gy, ke = /[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy, Ft = /[\w-]+\.[\w-]+($|\/)/, Le = /[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy, be = /\/[a-zA-Z\d@.]+/gy;
1383
+ function we(t, e, r, n) {
1384
+ let s = 0;
1385
+ for (let i = e; i < r; i++)
1386
+ t[i] == n && s++;
1387
+ return s;
1388
+ }
1389
+ function Xt(t, e) {
1390
+ ke.lastIndex = e;
1391
+ let r = ke.exec(t);
1392
+ if (!r || Ft.exec(r[0])[0].indexOf("_") > -1)
1393
+ return -1;
1394
+ let n = e + r[0].length;
1395
+ for (; ; ) {
1396
+ let s = t[n - 1], i;
1397
+ if (/[?!.,:*_~]/.test(s) || s == ")" && we(t, e, n, ")") > we(t, e, n, "("))
1398
+ n--;
1399
+ else if (s == ";" && (i = /&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e, n))))
1400
+ n = e + i.index;
1401
+ else
1402
+ break;
1403
+ }
1404
+ return n;
1405
+ }
1406
+ function Se(t, e) {
1407
+ Le.lastIndex = e;
1408
+ let r = Le.exec(t);
1409
+ if (!r)
1410
+ return -1;
1411
+ let n = r[0][r[0].length - 1];
1412
+ return n == "_" || n == "-" ? -1 : e + r[0].length - (n == "." ? 1 : 0);
1413
+ }
1414
+ const $t = {
1415
+ parseInline: [{
1416
+ name: "Autolink",
1417
+ parse(t, e, r) {
1418
+ let n = r - t.offset;
1419
+ ge.lastIndex = n;
1420
+ let s = ge.exec(t.text), i = -1;
1421
+ return !s || (s[1] || s[2] ? i = Xt(t.text, n + s[0].length) : s[3] ? i = Se(t.text, n) : (i = Se(t.text, n + s[0].length), i > -1 && s[0] == "xmpp:" && (be.lastIndex = i, s = be.exec(t.text), s && (i = s.index + s[0].length))), i < 0) ? -1 : (t.addElement(t.elt("URL", r, i + t.offset)), i + t.offset);
1422
+ }
1423
+ }]
1424
+ }, jt = [Tt, Dt, Ot, $t];
1425
+ function Ze(t, e, r) {
1426
+ return (n, s, i) => {
1427
+ if (s != t || n.char(i + 1) == t)
1428
+ return -1;
1429
+ let o = [n.elt(r, i, i + 1)];
1430
+ for (let a = i + 1; a < n.end; a++) {
1431
+ let l = n.char(a);
1432
+ if (l == t)
1433
+ return n.addElement(n.elt(e, i, a + 1, o.concat(n.elt(r, a, a + 1))));
1434
+ if (l == 92 && o.push(n.elt("Escape", a, a++ + 2)), C(l))
1435
+ break;
1436
+ }
1437
+ return -1;
1438
+ };
1439
+ }
1440
+ const _t = {
1441
+ defineNodes: [
1442
+ { name: "Superscript", style: c.special(c.content) },
1443
+ { name: "SuperscriptMark", style: c.processingInstruction }
1444
+ ],
1445
+ parseInline: [{
1446
+ name: "Superscript",
1447
+ parse: Ze(94, "Superscript", "SuperscriptMark")
1448
+ }]
1449
+ }, qt = {
1450
+ defineNodes: [
1451
+ { name: "Subscript", style: c.special(c.content) },
1452
+ { name: "SubscriptMark", style: c.processingInstruction }
1453
+ ],
1454
+ parseInline: [{
1455
+ name: "Subscript",
1456
+ parse: Ze(126, "Subscript", "SubscriptMark")
1457
+ }]
1458
+ }, Ut = {
1459
+ defineNodes: [{ name: "Emoji", style: c.character }],
1460
+ parseInline: [{
1461
+ name: "Emoji",
1462
+ parse(t, e, r) {
1463
+ let n;
1464
+ return e != 58 || !(n = /^[a-zA-Z_0-9]+:/.exec(t.slice(r + 1, t.end))) ? -1 : t.addElement(t.elt("Emoji", r, r + 1 + n[0].length));
1465
+ }
1466
+ }]
1467
+ }, Ge = /* @__PURE__ */ ut({ commentTokens: { block: { open: "<!--", close: "-->" } } }), Ve = /* @__PURE__ */ new H(), Ke = /* @__PURE__ */ vt.configure({
1468
+ props: [
1469
+ /* @__PURE__ */ Be.add((t) => !t.is("Block") || t.is("Document") || ee(t) != null ? void 0 : (e, r) => ({ from: r.doc.lineAt(e.from).to, to: e.to })),
1470
+ /* @__PURE__ */ Ve.add(ee),
1471
+ /* @__PURE__ */ dt.add({
1472
+ Document: () => null
1473
+ }),
1474
+ /* @__PURE__ */ pt.add({
1475
+ Document: Ge
1476
+ })
1477
+ ]
1478
+ });
1479
+ function ee(t) {
1480
+ let e = /^(?:ATX|Setext)Heading(\d)$/.exec(t.name);
1481
+ return e ? +e[1] : void 0;
1482
+ }
1483
+ function Qt(t, e) {
1484
+ let r = t;
1485
+ for (; ; ) {
1486
+ let n = r.nextSibling, s;
1487
+ if (!n || (s = ee(n.type)) != null && s <= e)
1488
+ break;
1489
+ r = n;
1490
+ }
1491
+ return r.to;
1492
+ }
1493
+ const Zt = /* @__PURE__ */ ct.of((t, e, r) => {
1494
+ for (let n = q(t).resolveInner(r, -1); n && !(n.from < e); n = n.parent) {
1495
+ let s = n.type.prop(Ve);
1496
+ if (s == null)
1497
+ continue;
1498
+ let i = Qt(n, s);
1499
+ if (i > r)
1500
+ return { from: r, to: i };
1501
+ }
1502
+ return null;
1503
+ });
1504
+ function ie(t) {
1505
+ return new ht(Ge, t, [Zt], "markdown");
1506
+ }
1507
+ const Gt = /* @__PURE__ */ ie(Ke), Vt = /* @__PURE__ */ Ke.configure([jt, qt, _t, Ut, {
1508
+ props: [
1509
+ /* @__PURE__ */ Be.add({
1510
+ Table: (t, e) => ({ from: e.doc.lineAt(t.from).to, to: t.to })
1511
+ })
1512
+ ]
1513
+ }]), Je = /* @__PURE__ */ ie(Vt);
1514
+ function Kt(t, e) {
1515
+ return (r) => {
1516
+ if (r && t) {
1517
+ let n = null;
1518
+ if (r = /\S*/.exec(r)[0], typeof t == "function" ? n = t(r) : n = le.matchLanguageName(t, r, !0), n instanceof le)
1519
+ return n.support ? n.support.language.parser : mt.getSkippingParser(n.load());
1520
+ if (n)
1521
+ return n.parser;
1522
+ }
1523
+ return e ? e.parser : null;
1524
+ };
1525
+ }
1526
+ class $ {
1527
+ constructor(e, r, n, s, i, o, a) {
1528
+ this.node = e, this.from = r, this.to = n, this.spaceBefore = s, this.spaceAfter = i, this.type = o, this.item = a;
1529
+ }
1530
+ blank(e, r = !0) {
1531
+ let n = this.spaceBefore + (this.node.name == "Blockquote" ? ">" : "");
1532
+ if (e != null) {
1533
+ for (; n.length < e; )
1534
+ n += " ";
1535
+ return n;
1536
+ } else {
1537
+ for (let s = this.to - this.from - n.length - this.spaceAfter.length; s > 0; s--)
1538
+ n += " ";
1539
+ return n + (r ? this.spaceAfter : "");
1540
+ }
1541
+ }
1542
+ marker(e, r) {
1543
+ let n = this.node.name == "OrderedList" ? String(+We(this.item, e)[2] + r) : "";
1544
+ return this.spaceBefore + n + this.type + this.spaceAfter;
1545
+ }
1546
+ }
1547
+ function Ye(t, e) {
1548
+ let r = [];
1549
+ for (let s = t; s && s.name != "Document"; s = s.parent)
1550
+ (s.name == "ListItem" || s.name == "Blockquote" || s.name == "FencedCode") && r.push(s);
1551
+ let n = [];
1552
+ for (let s = r.length - 1; s >= 0; s--) {
1553
+ let i = r[s], o, a = e.lineAt(i.from), l = i.from - a.from;
1554
+ if (i.name == "FencedCode")
1555
+ n.push(new $(i, l, l, "", "", "", null));
1556
+ else if (i.name == "Blockquote" && (o = /^ *>( ?)/.exec(a.text.slice(l))))
1557
+ n.push(new $(i, l, l + o[0].length, "", o[1], ">", null));
1558
+ else if (i.name == "ListItem" && i.parent.name == "OrderedList" && (o = /^( *)\d+([.)])( *)/.exec(a.text.slice(l)))) {
1559
+ let f = o[3], h = o[0].length;
1560
+ f.length >= 4 && (f = f.slice(0, f.length - 4), h -= 4), n.push(new $(i.parent, l, l + h, o[1], f, o[2], i));
1561
+ } else if (i.name == "ListItem" && i.parent.name == "BulletList" && (o = /^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(a.text.slice(l)))) {
1562
+ let f = o[4], h = o[0].length;
1563
+ f.length > 4 && (f = f.slice(0, f.length - 4), h -= 4);
1564
+ let p = o[2];
1565
+ o[3] && (p += o[3].replace(/[xX]/, " ")), n.push(new $(i.parent, l, l + h, o[1], f, p, i));
1566
+ }
1567
+ }
1568
+ return n;
1569
+ }
1570
+ function We(t, e) {
1571
+ return /^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from, t.from + 10));
1572
+ }
1573
+ function G(t, e, r, n = 0) {
1574
+ for (let s = -1, i = t; ; ) {
1575
+ if (i.name == "ListItem") {
1576
+ let a = We(i, e), l = +a[2];
1577
+ if (s >= 0) {
1578
+ if (l != s + 1)
1579
+ return;
1580
+ r.push({ from: i.from + a[1].length, to: i.from + a[0].length, insert: String(s + 2 + n) });
1581
+ }
1582
+ s = l;
1583
+ }
1584
+ let o = i.nextSibling;
1585
+ if (!o)
1586
+ break;
1587
+ i = o;
1588
+ }
1589
+ }
1590
+ function oe(t, e) {
1591
+ let r = /^[ \t]*/.exec(t)[0].length;
1592
+ if (!r || e.facet(ft) != " ")
1593
+ return t;
1594
+ let n = T(t, 4, r), s = "";
1595
+ for (let i = n; i > 0; )
1596
+ i >= 4 ? (s += " ", i -= 4) : (s += " ", i--);
1597
+ return s + t.slice(r);
1598
+ }
1599
+ const Jt = ({ state: t, dispatch: e }) => {
1600
+ let r = q(t), { doc: n } = t, s = null, i = t.changeByRange((o) => {
1601
+ if (!o.empty || !Je.isActiveAt(t, o.from))
1602
+ return s = { range: o };
1603
+ let a = o.from, l = n.lineAt(a), f = Ye(r.resolveInner(a, -1), n);
1604
+ for (; f.length && f[f.length - 1].from > a - l.from; )
1605
+ f.pop();
1606
+ if (!f.length)
1607
+ return s = { range: o };
1608
+ let h = f[f.length - 1];
1609
+ if (h.to - h.spaceAfter.length > a - l.from)
1610
+ return s = { range: o };
1611
+ let p = a >= h.to - h.spaceAfter.length && !/\S/.test(l.text.slice(h.to));
1612
+ if (h.item && p) {
1613
+ let w = h.node.firstChild, S = h.node.getChild("ListItem", "ListItem");
1614
+ if (w.to >= a || S && S.to < a || l.from > 0 && !/[^\s>]/.test(n.lineAt(l.from - 1).text)) {
1615
+ let b = f.length > 1 ? f[f.length - 2] : null, A, M = "";
1616
+ b && b.item ? (A = l.from + b.from, M = b.marker(n, 1)) : A = l.from + (b ? b.to : 0);
1617
+ let I = [{ from: A, to: a, insert: M }];
1618
+ return h.node.name == "OrderedList" && G(h.item, n, I, -2), b && b.node.name == "OrderedList" && G(b.item, n, I), { range: P.cursor(A + M.length), changes: I };
1619
+ } else {
1620
+ let b = xe(f, t, l);
1621
+ return {
1622
+ range: P.cursor(a + b.length + 1),
1623
+ changes: { from: l.from, insert: b + t.lineBreak }
1624
+ };
1625
+ }
1626
+ }
1627
+ if (h.node.name == "Blockquote" && p && l.from) {
1628
+ let w = n.lineAt(l.from - 1), S = />\s*$/.exec(w.text);
1629
+ if (S && S.index == h.from) {
1630
+ let b = t.changes([
1631
+ { from: w.from + S.index, to: w.to },
1632
+ { from: l.from + h.from, to: l.to }
1633
+ ]);
1634
+ return { range: o.map(b), changes: b };
1635
+ }
1636
+ }
1637
+ let d = [];
1638
+ h.node.name == "OrderedList" && G(h.item, n, d);
1639
+ let m = h.item && h.item.from < l.from, L = "";
1640
+ if (!m || /^[\s\d.)\-+*>]*/.exec(l.text)[0].length >= h.to)
1641
+ for (let w = 0, S = f.length - 1; w <= S; w++)
1642
+ L += w == S && !m ? f[w].marker(n, 1) : f[w].blank(w < S ? T(l.text, 4, f[w + 1].from) - L.length : null);
1643
+ let k = a;
1644
+ for (; k > l.from && /\s/.test(l.text.charAt(k - l.from - 1)); )
1645
+ k--;
1646
+ return L = oe(L, t), Yt(h.node, t.doc) && (L = xe(f, t, l) + t.lineBreak + L), d.push({ from: k, to: a, insert: t.lineBreak + L }), { range: P.cursor(k + L.length + 1), changes: d };
1647
+ });
1648
+ return s ? !1 : (e(t.update(i, { scrollIntoView: !0, userEvent: "input" })), !0);
1649
+ };
1650
+ function Ce(t) {
1651
+ return t.name == "QuoteMark" || t.name == "ListMark";
1652
+ }
1653
+ function Yt(t, e) {
1654
+ if (t.name != "OrderedList" && t.name != "BulletList")
1655
+ return !1;
1656
+ let r = t.firstChild, n = t.getChild("ListItem", "ListItem");
1657
+ if (!n)
1658
+ return !1;
1659
+ let s = e.lineAt(r.to), i = e.lineAt(n.from), o = /^[\s>]*$/.test(s.text);
1660
+ return s.number + (o ? 0 : 1) < i.number;
1661
+ }
1662
+ function xe(t, e, r) {
1663
+ let n = "";
1664
+ for (let s = 0, i = t.length - 2; s <= i; s++)
1665
+ n += t[s].blank(s < i ? T(r.text, 4, t[s + 1].from) - n.length : null, s < i);
1666
+ return oe(n, e);
1667
+ }
1668
+ function Wt(t, e) {
1669
+ let r = t.resolveInner(e, -1), n = e;
1670
+ Ce(r) && (n = r.from, r = r.parent);
1671
+ for (let s; s = r.childBefore(n); )
1672
+ if (Ce(s))
1673
+ n = s.from;
1674
+ else if (s.name == "OrderedList" || s.name == "BulletList")
1675
+ r = s.lastChild, n = r.to;
1676
+ else
1677
+ break;
1678
+ return r;
1679
+ }
1680
+ const er = ({ state: t, dispatch: e }) => {
1681
+ let r = q(t), n = null, s = t.changeByRange((i) => {
1682
+ let o = i.from, { doc: a } = t;
1683
+ if (i.empty && Je.isActiveAt(t, i.from)) {
1684
+ let l = a.lineAt(o), f = Ye(Wt(r, o), a);
1685
+ if (f.length) {
1686
+ let h = f[f.length - 1], p = h.to - h.spaceAfter.length + (h.spaceAfter ? 1 : 0);
1687
+ if (o - l.from > p && !/\S/.test(l.text.slice(p, o - l.from)))
1688
+ return {
1689
+ range: P.cursor(l.from + p),
1690
+ changes: { from: l.from + p, to: o }
1691
+ };
1692
+ if (o - l.from == p && // Only apply this if we're on the line that has the
1693
+ // construct's syntax, or there's only indentation in the
1694
+ // target range
1695
+ (!h.item || l.from <= h.item.from || !/\S/.test(l.text.slice(0, h.to)))) {
1696
+ let d = l.from + h.from;
1697
+ if (h.item && h.node.from < h.item.from && /\S/.test(l.text.slice(h.from, h.to))) {
1698
+ let m = h.blank(T(l.text, 4, h.to) - T(l.text, 4, h.from));
1699
+ return d == l.from && (m = oe(m, t)), {
1700
+ range: P.cursor(d + m.length),
1701
+ changes: { from: d, to: l.from + h.to, insert: m }
1702
+ };
1703
+ }
1704
+ if (d < o)
1705
+ return { range: P.cursor(d), changes: { from: d, to: o } };
1706
+ }
1707
+ }
1708
+ }
1709
+ return n = { range: i };
1710
+ });
1711
+ return n ? !1 : (e(t.update(s, { scrollIntoView: !0, userEvent: "delete" })), !0);
1712
+ }, tr = [
1713
+ { key: "Enter", run: Jt },
1714
+ { key: "Backspace", run: er }
1715
+ ], te = /* @__PURE__ */ kt({ matchClosingTags: !1 });
1716
+ function hr(t = {}) {
1717
+ let { codeLanguages: e, defaultCodeLanguage: r, addKeymap: n = !0, base: { parser: s } = Gt, completeHTMLTags: i = !0 } = t;
1718
+ if (!(s instanceof U))
1719
+ throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");
1720
+ let o = t.extensions ? [t.extensions] : [], a = [te.support], l;
1721
+ r instanceof ae ? (a.push(r.support), l = r.language) : r && (l = r);
1722
+ let f = e || l ? Kt(e, l) : void 0;
1723
+ o.push(yt({ codeParser: f, htmlParser: te.language.parser })), n && a.push(it.high(ot.of(tr)));
1724
+ let h = ie(s.configure(o));
1725
+ return i && a.push(h.data.of({ autocomplete: rr })), new ae(h, a);
1726
+ }
1727
+ function rr(t) {
1728
+ let { state: e, pos: r } = t, n = /<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(r - 25, r));
1729
+ if (!n)
1730
+ return null;
1731
+ let s = q(e).resolveInner(r, -1);
1732
+ for (; s && !s.type.isTop; ) {
1733
+ if (s.name == "CodeBlock" || s.name == "FencedCode" || s.name == "ProcessingInstructionBlock" || s.name == "CommentBlock" || s.name == "Link" || s.name == "Image")
1734
+ return null;
1735
+ s = s.parent;
1736
+ }
1737
+ return {
1738
+ from: r - n[0].length,
1739
+ to: r,
1740
+ options: nr(),
1741
+ validFor: /^<[:\-\.\w\u00b7-\uffff]*$/
1742
+ };
1743
+ }
1744
+ let V = null;
1745
+ function nr() {
1746
+ if (V)
1747
+ return V;
1748
+ let t = gt(new at(lt.create({ extensions: te }), 0, !0));
1749
+ return V = t ? t.options : [];
1750
+ }
1751
+ export {
1752
+ Gt as commonmarkLanguage,
1753
+ er as deleteMarkupBackward,
1754
+ Jt as insertNewlineContinueMarkup,
1755
+ hr as markdown,
1756
+ tr as markdownKeymap,
1757
+ Je as markdownLanguage
1758
+ };
src/backend/gradio_highlightedcode/templates/component/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-2933bd90.js";
2
  export {
3
  e as BaseCode,
4
  o as BaseCopy,
 
1
+ import { R as e, Q as o, O as B, M as d, W as l, K as p } from "./Index-805076c9.js";
2
  export {
3
  e as BaseCode,
4
  o as BaseCopy,
src/demo/app.py CHANGED
@@ -1,17 +1,33 @@
1
 
 
2
  import gradio as gr
3
  from gradio_highlightedcode import HighlightedCode
4
 
5
 
6
  example = HighlightedCode().example_inputs()
7
 
8
- demo = gr.Interface(
9
- lambda x:x,
10
- HighlightedCode(), # interactive version of your component
11
- HighlightedCode(), # static version of your component
12
- # examples=[[example]], # uncomment this line to view the "example version" of your component
13
- )
14
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  if __name__ == "__main__":
17
  demo.launch()
 
1
 
2
+ import time
3
  import gradio as gr
4
  from gradio_highlightedcode import HighlightedCode
5
 
6
 
7
  example = HighlightedCode().example_inputs()
8
 
9
+ initial_value = """import random
 
 
 
 
 
10
 
11
+ def scramble_name(name):
12
+ name_list = list(name)
13
+ """
14
+
15
+ completion = """ random.shuffle(name_list)
16
+ return ''.join(name_list)
17
+
18
+ # Example usage:
19
+ print(scramble_name("Python"))
20
+ """
21
+
22
+ def generate_code():
23
+ for i in range(len(completion)):
24
+ time.sleep(0.03)
25
+ yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
26
+
27
+ with gr.Blocks() as demo:
28
+ code = HighlightedCode(initial_value, language="python")
29
+ btn = gr.Button("Generate", variant="primary")
30
+ btn.click(generate_code, outputs=code)
31
 
32
  if __name__ == "__main__":
33
  demo.launch()
src/demo/space.py CHANGED
@@ -21,7 +21,7 @@ with gr.Blocks(
21
  # `gradio_highlightedcode`
22
 
23
  <div style="display: flex; gap: 7px;">
24
- <img alt="Static Badge" src="https://img.shields.io/badge/version%20-%200.0.1%20-%20orange">
25
  </div>
26
 
27
  A variant of the Code component that supports highlighting lines of code.
@@ -39,19 +39,35 @@ pip install gradio_highlightedcode
39
 
40
  ```python
41
 
 
42
  import gradio as gr
43
  from gradio_highlightedcode import HighlightedCode
44
 
45
 
46
  example = HighlightedCode().example_inputs()
47
 
48
- demo = gr.Interface(
49
- lambda x:x,
50
- HighlightedCode(), # interactive version of your component
51
- HighlightedCode(), # static version of your component
52
- # examples=[[example]], # uncomment this line to view the "example version" of your component
53
- )
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
 
56
  if __name__ == "__main__":
57
  demo.launch()
 
21
  # `gradio_highlightedcode`
22
 
23
  <div style="display: flex; gap: 7px;">
24
+ <a href="https://pypi.org/project/gradio_highlightedcode/" target="_blank"><img alt="PyPI - Version" src="https://img.shields.io/pypi/v/gradio_highlightedcode"></a>
25
  </div>
26
 
27
  A variant of the Code component that supports highlighting lines of code.
 
39
 
40
  ```python
41
 
42
+ import time
43
  import gradio as gr
44
  from gradio_highlightedcode import HighlightedCode
45
 
46
 
47
  example = HighlightedCode().example_inputs()
48
 
49
+ initial_value = """import random
 
 
 
 
 
50
 
51
+ def scramble_name(name):
52
+ name_list = list(name)
53
+ """
54
+
55
+ completion = """ random.shuffle(name_list)
56
+ return ''.join(name_list)
57
+
58
+ # Example usage:
59
+ print(scramble_name("Python"))
60
+ """
61
+
62
+ def generate_code():
63
+ for i in range(len(completion)):
64
+ time.sleep(0.03)
65
+ yield HighlightedCode(initial_value + completion[:i], highlights=[(5, "rgb(255 254 213)")])
66
+
67
+ with gr.Blocks() as demo:
68
+ code = HighlightedCode(initial_value, language="python")
69
+ btn = gr.Button("Generate", variant="primary")
70
+ btn.click(generate_code, outputs=code)
71
 
72
  if __name__ == "__main__":
73
  demo.launch()
src/frontend/Index.svelte CHANGED
@@ -36,6 +36,7 @@
36
  export let show_label = true;
37
  export let loading_status: LoadingStatus;
38
  export let scale: number | null = null;
 
39
 
40
  export let interactive: boolean;
41
 
@@ -81,6 +82,7 @@
81
  {language}
82
  {lines}
83
  {dark_mode}
 
84
  readonly={!interactive}
85
  on:blur={() => gradio.dispatch("blur")}
86
  on:focus={() => gradio.dispatch("focus")}
 
36
  export let show_label = true;
37
  export let loading_status: LoadingStatus;
38
  export let scale: number | null = null;
39
+ export let highlights: [number, string][] = [];
40
 
41
  export let interactive: boolean;
42
 
 
82
  {language}
83
  {lines}
84
  {dark_mode}
85
+ {highlights}
86
  readonly={!interactive}
87
  on:blur={() => gradio.dispatch("blur")}
88
  on:focus={() => gradio.dispatch("focus")}
src/frontend/shared/Code.svelte CHANGED
@@ -1,8 +1,9 @@
1
  <script lang="ts">
2
- import type { ViewUpdate } from "@codemirror/view";
3
  import { createEventDispatcher, onMount } from "svelte";
4
  import {
 
5
  EditorView,
 
6
  keymap,
7
  placeholder as placeholderExt
8
  } from "@codemirror/view";
@@ -22,7 +23,7 @@
22
  export let language: string;
23
  export let lines = 5;
24
  export let extensions: Extension[] = [];
25
-
26
  export let useTab = true;
27
 
28
  export let readonly = false;
@@ -48,6 +49,18 @@
48
  $: setDoc(value);
49
  $: updateLines();
50
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  function setDoc(newDoc: string): void {
52
  if (view && newDoc !== view.state.doc.toString()) {
53
  view.dispatch({
@@ -110,6 +123,7 @@
110
  let node = gutters[i];
111
  node.style.minHeight = `calc(${lineHeight} * ${_lines})`;
112
  }
 
113
  return null;
114
  }
115
 
 
1
  <script lang="ts">
 
2
  import { createEventDispatcher, onMount } from "svelte";
3
  import {
4
+ Decoration,
5
  EditorView,
6
+ ViewUpdate,
7
  keymap,
8
  placeholder as placeholderExt
9
  } from "@codemirror/view";
 
23
  export let language: string;
24
  export let lines = 5;
25
  export let extensions: Extension[] = [];
26
+ export let highlights: [number, string][] = [];
27
  export let useTab = true;
28
 
29
  export let readonly = false;
 
49
  $: setDoc(value);
50
  $: updateLines();
51
 
52
+ function highlight_lines(root_element: HTMLDivElement) {
53
+ const lines = root_element.querySelectorAll('.cm-line');
54
+ let old_color = 'transparent';
55
+ lines.forEach((e, index) => {
56
+ const line_number = index + 1;
57
+ let new_color = highlights.find(([l, c]) => l === line_number)?.[1] ?? old_color;
58
+ e.style.backgroundColor = new_color;
59
+ old_color = new_color;
60
+ });
61
+ }
62
+
63
+
64
  function setDoc(newDoc: string): void {
65
  if (view && newDoc !== view.state.doc.toString()) {
66
  view.dispatch({
 
123
  let node = gutters[i];
124
  node.style.minHeight = `calc(${lineHeight} * ${_lines})`;
125
  }
126
+ highlight_lines(element);
127
  return null;
128
  }
129
 
src/pyproject.toml CHANGED
@@ -8,7 +8,7 @@ build-backend = "hatchling.build"
8
 
9
  [project]
10
  name = "gradio_highlightedcode"
11
- version = "0.0.1"
12
  description = "A variant of the Code component that supports highlighting lines of code."
13
  readme = "README.md"
14
  license = "MIT"
@@ -36,7 +36,7 @@ classifiers = [
36
  dev = ["build", "twine"]
37
 
38
  [tool.hatch.build]
39
- artifacts = ["/backend/gradio_highlightedcode/templates", "*.pyi", "backend/gradio_highlightedcode/templates"]
40
 
41
  [tool.hatch.build.targets.wheel]
42
  packages = ["/backend/gradio_highlightedcode"]
 
8
 
9
  [project]
10
  name = "gradio_highlightedcode"
11
+ version = "0.0.2"
12
  description = "A variant of the Code component that supports highlighting lines of code."
13
  readme = "README.md"
14
  license = "MIT"
 
36
  dev = ["build", "twine"]
37
 
38
  [tool.hatch.build]
39
+ artifacts = ["/backend/gradio_highlightedcode/templates", "*.pyi", "backend/gradio_highlightedcode/templates", "backend/gradio_highlightedcode/templates"]
40
 
41
  [tool.hatch.build.targets.wheel]
42
  packages = ["/backend/gradio_highlightedcode"]