@drzl/validation-core 2.1.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,177 +1,193 @@
1
1
  import {
2
+ __privateAdd,
3
+ __privateGet,
4
+ __privateMethod,
5
+ __privateSet,
2
6
  __publicField
3
- } from "./chunk-MKBO26DX.js";
7
+ } from "./chunk-ZZGILH5A.js";
4
8
 
5
- // ../../node_modules/.pnpm/prettier@3.6.2/node_modules/prettier/plugins/glimmer.mjs
6
- var zs = Object.defineProperty;
7
- var _r = (e5) => {
8
- throw TypeError(e5);
9
+ // ../../node_modules/.pnpm/prettier@3.9.6/node_modules/prettier/plugins/glimmer.mjs
10
+ var Mn = Object.defineProperty;
11
+ var Oe = (e5, t) => {
12
+ for (var r in t) Mn(e5, r, { get: t[r], enumerable: true });
9
13
  };
10
- var Ve = (e5, t) => {
11
- for (var r in t) zs(e5, r, { get: t[r], enumerable: true });
14
+ var Rn = {};
15
+ Oe(Rn, { languages: () => Ln, parsers: () => Sr, printers: () => Pi });
16
+ var Jt = (e5, t) => (r, s, ...n) => r | 1 && s == null ? void 0 : (t.call(s) ?? s[e5]).apply(s, n);
17
+ var zn = String.prototype.replaceAll ?? function(e5, t) {
18
+ return e5.global ? this.replace(e5, t) : this.split(e5).join(t);
12
19
  };
13
- var Or = (e5, t, r) => t.has(e5) || _r("Cannot " + r);
14
- var I = (e5, t, r) => (Or(e5, t, "read from private field"), r ? r.call(e5) : t.get(e5));
15
- var Lt = (e5, t, r) => t.has(e5) ? _r("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e5) : t.set(e5, r);
16
- var Y = (e5, t, r, s) => (Or(e5, t, "write to private field"), s ? s.call(e5, r) : t.set(e5, r), r);
17
- var xr = {};
18
- Ve(xr, { languages: () => hs, parsers: () => Cr, printers: () => vi });
19
- var Ys = (e5, t, r, s) => {
20
- if (!(e5 && t == null)) return t.replaceAll ? t.replaceAll(r, s) : r.global ? t.replace(r, s) : t.split(r).join(s);
20
+ var Yn = Jt("replaceAll", function() {
21
+ if (typeof this == "string") return zn;
22
+ });
23
+ var ct = Yn;
24
+ function Gn(e5) {
25
+ return this[e5 < 0 ? this.length + e5 : e5];
26
+ }
27
+ var Kn = Jt("at", function() {
28
+ if (Array.isArray(this) || typeof this == "string") return Gn;
29
+ });
30
+ var V = Kn;
31
+ var Wn = () => {
21
32
  };
22
- var He = Ys;
23
- var Dt = "string";
24
- var Gt = "array";
25
- var Kt = "cursor";
26
- var _t = "indent";
27
- var Ot = "align";
28
- var Wt = "trim";
29
- var Bt = "group";
30
- var It = "fill";
31
- var bt = "if-break";
32
- var jt = "indent-if-break";
33
- var Qt = "line-suffix";
34
- var Jt = "line-suffix-boundary";
35
- var j = "line";
36
- var $t = "label";
37
- var Rt = "break-parent";
38
- var fe = /* @__PURE__ */ new Set([Kt, _t, Ot, Wt, Bt, It, bt, jt, Qt, Jt, j, $t, Rt]);
39
- var Gs = (e5, t, r) => {
40
- if (!(e5 && t == null)) return Array.isArray(t) || typeof t == "string" ? t[r < 0 ? t.length + r : r] : t.at(r);
41
- };
42
- var G = Gs;
43
- function Ks(e5) {
44
- if (typeof e5 == "string") return Dt;
45
- if (Array.isArray(e5)) return Gt;
33
+ var Dt = Wn;
34
+ var Ot = "string";
35
+ var It = "array";
36
+ var $t = "cursor";
37
+ var kt = "indent";
38
+ var Et = "align";
39
+ var Xt = "trim";
40
+ var vt = "group";
41
+ var wt = "fill";
42
+ var Tt = "if-break";
43
+ var Zt = "indent-if-break";
44
+ var te = "line-suffix";
45
+ var ee = "line-suffix-boundary";
46
+ var Q = "line";
47
+ var re = "label";
48
+ var xt = "break-parent";
49
+ var ne = /* @__PURE__ */ new Set([$t, kt, Et, Xt, vt, wt, Tt, Zt, te, ee, Q, re, xt]);
50
+ function Lr(e5, t, r) {
51
+ if (!e5.has(t)) {
52
+ let s = r(t);
53
+ e5.set(t, s);
54
+ }
55
+ return e5.get(t);
56
+ }
57
+ function jn(e5) {
58
+ if (typeof e5 == "string") return Ot;
59
+ if (Array.isArray(e5)) return It;
46
60
  if (!e5) return;
47
61
  let { type: t } = e5;
48
- if (fe.has(t)) return t;
62
+ if (ne.has(t)) return t;
49
63
  }
50
- var qt = Ks;
51
- var Ws = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
52
- function js(e5) {
64
+ var se = jn;
65
+ var Qn = (e5) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e5);
66
+ function Jn(e5) {
53
67
  let t = e5 === null ? "null" : typeof e5;
54
68
  if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
55
69
  Expected it to be 'string' or 'object'.`;
56
- if (qt(e5)) throw new Error("doc is valid.");
70
+ if (se(e5)) throw new Error("doc is valid.");
57
71
  let r = Object.prototype.toString.call(e5);
58
72
  if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
59
- let s = Ws([...fe].map((n) => `'${n}'`));
73
+ let s = Qn([...ne].map((n) => `'${n}'`));
60
74
  return `Unexpected doc.type '${e5.type}'.
61
75
  Expected it to be ${s}.`;
62
76
  }
63
- var Fe = class extends Error {
77
+ var Ie = class extends Error {
64
78
  constructor(t) {
65
- super(js(t));
79
+ super(Jn(t));
66
80
  __publicField(this, "name", "InvalidDocError");
67
81
  this.doc = t;
68
82
  }
69
83
  };
70
- var Ue = Fe;
71
- function Js(e5, t) {
84
+ var Dr = Ie;
85
+ function $n(e5, t) {
72
86
  if (typeof e5 == "string") return t(e5);
73
87
  let r = /* @__PURE__ */ new Map();
74
88
  return s(e5);
75
89
  function s(i) {
76
- if (r.has(i)) return r.get(i);
77
- let a = n(i);
78
- return r.set(i, a), a;
90
+ return Lr(r, i, n);
79
91
  }
80
92
  function n(i) {
81
- switch (qt(i)) {
82
- case Gt:
83
- return t(i.map(s));
93
+ switch (se(i)) {
84
94
  case It:
95
+ return t(i.map(s));
96
+ case wt:
85
97
  return t({ ...i, parts: i.parts.map(s) });
86
- case bt:
98
+ case Tt:
87
99
  return t({ ...i, breakContents: s(i.breakContents), flatContents: s(i.flatContents) });
88
- case Bt: {
100
+ case vt: {
89
101
  let { expandedStates: a, contents: o } = i;
90
102
  return a ? (a = a.map(s), o = a[0]) : o = s(o), t({ ...i, contents: o, expandedStates: a });
91
103
  }
104
+ case Et:
105
+ case kt:
106
+ case Zt:
107
+ case re:
108
+ case te:
109
+ return t({ ...i, contents: s(i.contents) });
92
110
  case Ot:
93
- case _t:
94
- case jt:
95
111
  case $t:
96
- case Qt:
97
- return t({ ...i, contents: s(i.contents) });
98
- case Dt:
99
- case Kt:
100
- case Wt:
101
- case Jt:
102
- case j:
103
- case Rt:
112
+ case Xt:
113
+ case ee:
114
+ case Q:
115
+ case xt:
104
116
  return t(i);
105
117
  default:
106
- throw new Ue(i);
118
+ throw new Dr(i);
107
119
  }
108
120
  }
109
121
  }
110
- function Br(e5, t = Ir) {
111
- return Js(e5, (r) => typeof r == "string" ? yt(t, r.split(`
122
+ function ie(e5, t = Or) {
123
+ return $n(e5, (r) => typeof r == "string" ? ut(t, r.split(`
112
124
  `)) : r);
113
125
  }
114
- var Me = () => {
115
- };
116
- var kt = Me;
117
- var ze = Me;
118
- var Rr = Me;
119
- function B(e5) {
120
- return kt(e5), { type: _t, contents: e5 };
121
- }
122
- function $s(e5, t) {
123
- return kt(t), { type: Ot, contents: t, n: e5 };
124
- }
125
- function R(e5, t = {}) {
126
- return kt(e5), ze(t.expandedStates, true), { type: Bt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
127
- }
128
- function Xt(e5) {
129
- return $s(-1, e5);
130
- }
131
- function Ye(e5) {
132
- return Rr(e5), { type: It, parts: e5 };
133
- }
134
- function Ge(e5, t = "", r = {}) {
135
- return kt(e5), t !== "" && kt(t), { type: bt, breakContents: e5, flatContents: t, groupId: r.groupId };
136
- }
137
- var qr = { type: Rt };
138
- var Xs = { type: j, hard: true };
139
- var Zs = { type: j, hard: true, literal: true };
140
- var L = { type: j };
141
- var F = { type: j, soft: true };
142
- var tt = [Xs, qr];
143
- var Ir = [Zs, qr];
144
- function yt(e5, t) {
145
- kt(e5), ze(t);
126
+ var M = Dt;
127
+ var ae = Dt;
128
+ var Ir = Dt;
129
+ var Br = Dt;
130
+ function F(e5) {
131
+ return M(e5), { type: kt, contents: e5 };
132
+ }
133
+ function Xn(e5, t) {
134
+ return Br(e5), M(t), { type: Et, contents: t, n: e5 };
135
+ }
136
+ function Be(e5) {
137
+ return Xn(-1, e5);
138
+ }
139
+ var Re = { type: xt };
140
+ function qe(e5) {
141
+ return Ir(e5), { type: wt, parts: e5 };
142
+ }
143
+ function I(e5, t = {}) {
144
+ return M(e5), ae(t.expandedStates, true), { type: vt, id: t.id, contents: e5, break: !!t.shouldBreak, expandedStates: t.expandedStates };
145
+ }
146
+ function Ve(e5, t = "", r = {}) {
147
+ return M(e5), t !== "" && M(t), { type: Tt, breakContents: e5, flatContents: t, groupId: r.groupId };
148
+ }
149
+ function ut(e5, t) {
150
+ M(e5), ae(t);
146
151
  let r = [];
147
152
  for (let s = 0; s < t.length; s++) s !== 0 && r.push(e5), r.push(t[s]);
148
153
  return r;
149
154
  }
150
- var me = "'";
151
- var Vr = '"';
152
- function tn(e5, t) {
153
- let r = t === true || t === me ? me : Vr, s = r === me ? Vr : me, n = 0, i = 0;
154
- for (let a of e5) a === r ? n++ : a === s && i++;
155
- return n > i ? s : r;
156
- }
157
- var de = tn;
158
- function Ke(e5) {
155
+ var N = { type: Q };
156
+ var H = { type: Q, soft: true };
157
+ var Zn = { type: Q, hard: true };
158
+ var ht = [Zn, Re];
159
+ var ts = { type: Q, hard: true, literal: true };
160
+ var Or = [ts, Re];
161
+ var Rr = Object.freeze({ character: "'", codePoint: 39 });
162
+ var qr = Object.freeze({ character: '"', codePoint: 34 });
163
+ var es = Object.freeze({ preferred: Rr, alternate: qr });
164
+ var rs = Object.freeze({ preferred: qr, alternate: Rr });
165
+ function oe(e5, t) {
166
+ let { preferred: r, alternate: s } = t === true || t === "'" ? es : rs, { length: n } = e5, i = 0, a = 0;
167
+ for (let o = 0; o < n; o++) {
168
+ let c = e5.charCodeAt(o);
169
+ c === r.codePoint ? i++ : c === s.codePoint && a++;
170
+ }
171
+ return (i > a ? s : r).character;
172
+ }
173
+ function Fe(e5) {
159
174
  if (typeof e5 != "string") throw new TypeError("Expected a string");
160
175
  return e5.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
161
176
  }
162
- var z;
163
- var We = class {
177
+ var _t, _He_instances, e_fn, _a;
178
+ var He = (_a = class {
164
179
  constructor(t) {
165
- Lt(this, z);
166
- Y(this, z, new Set(t));
180
+ __privateAdd(this, _He_instances);
181
+ __privateAdd(this, _t);
182
+ __privateSet(this, _t, new Set(t));
167
183
  }
168
184
  getLeadingWhitespaceCount(t) {
169
- let r = I(this, z), s = 0;
185
+ let r = __privateGet(this, _t), s = 0;
170
186
  for (let n = 0; n < t.length && r.has(t.charAt(n)); n++) s++;
171
187
  return s;
172
188
  }
173
189
  getTrailingWhitespaceCount(t) {
174
- let r = I(this, z), s = 0;
190
+ let r = __privateGet(this, _t), s = 0;
175
191
  for (let n = t.length - 1; n >= 0 && r.has(t.charAt(n)); n--) s++;
176
192
  return s;
177
193
  }
@@ -184,10 +200,10 @@ var We = class {
184
200
  return t.slice(t.length - r);
185
201
  }
186
202
  hasLeadingWhitespace(t) {
187
- return I(this, z).has(t.charAt(0));
203
+ return __privateGet(this, _t).has(t.charAt(0));
188
204
  }
189
205
  hasTrailingWhitespace(t) {
190
- return I(this, z).has(G(false, t, -1));
206
+ return __privateGet(this, _t).has(V(0, t, -1));
191
207
  }
192
208
  trimStart(t) {
193
209
  let r = this.getLeadingWhitespaceCount(t);
@@ -201,77 +217,82 @@ var We = class {
201
217
  return this.trimEnd(this.trimStart(t));
202
218
  }
203
219
  split(t, r = false) {
204
- let s = `[${Ke([...I(this, z)].join(""))}]+`, n = new RegExp(r ? `(${s})` : s, "u");
220
+ let s = `[${Fe([...__privateGet(this, _t)].join(""))}]+`, n = new RegExp(r ? `(${s})` : s);
205
221
  return t.split(n);
206
222
  }
207
223
  hasWhitespaceCharacter(t) {
208
- let r = I(this, z);
224
+ let r = __privateGet(this, _t);
209
225
  return Array.prototype.some.call(t, (s) => r.has(s));
210
226
  }
211
227
  hasNonWhitespaceCharacter(t) {
212
- let r = I(this, z);
228
+ let r = __privateGet(this, _t);
213
229
  return Array.prototype.some.call(t, (s) => !r.has(s));
214
230
  }
215
231
  isWhitespaceOnly(t) {
216
- let r = I(this, z);
232
+ let r = __privateGet(this, _t);
217
233
  return Array.prototype.every.call(t, (s) => r.has(s));
218
234
  }
219
- };
220
- z = /* @__PURE__ */ new WeakMap();
221
- var Hr = We;
222
- var en = [" ", `
235
+ dedentString(t) {
236
+ let r = __privateMethod(this, _He_instances, e_fn).call(this, t);
237
+ return r === 0 ? t : t.split(`
238
+ `).map((s) => s.slice(r)).join(`
239
+ `);
240
+ }
241
+ }, _t = new WeakMap(), _He_instances = new WeakSet(), e_fn = function(t) {
242
+ let r = Number.POSITIVE_INFINITY;
243
+ for (let s of t.split(`
244
+ `)) {
245
+ if (s.length === 0) continue;
246
+ let n = this.getLeadingWhitespaceCount(s);
247
+ if (n === 0) return 0;
248
+ s.length !== n && n < r && (r = n);
249
+ }
250
+ return r === Number.POSITIVE_INFINITY ? 0 : r;
251
+ }, _a);
252
+ var Vr = He;
253
+ var ns = [" ", `
223
254
  `, "\f", "\r", " "];
224
- var rn = new Hr(en);
225
- var K = rn;
226
- function sn(e5) {
255
+ var ss = new Vr(ns);
256
+ var R = ss;
257
+ function is(e5) {
227
258
  return Array.isArray(e5) && e5.length > 0;
228
259
  }
229
- var Zt = sn;
230
- var je = class extends Error {
260
+ var Bt = is;
261
+ var Ue = class extends Error {
231
262
  constructor(t, r, s = "type") {
232
263
  super(`Unexpected ${r} node ${s}: ${JSON.stringify(t[s])}.`);
233
264
  __publicField(this, "name", "UnexpectedNodeError");
234
265
  this.node = t;
235
266
  }
236
267
  };
237
- var Fr = je;
238
- function Ur(e5, t, r) {
239
- if (e5.type === "TextNode") {
240
- let s = e5.chars.trim();
241
- if (!s) return null;
242
- r.tag === "style" && r.children.length === 1 && r.children[0] === e5 ? t.chars = "" : t.chars = K.split(s).join(" ");
243
- }
244
- e5.type === "ElementNode" && (delete t.startTag, delete t.openTag, delete t.parts, delete t.endTag, delete t.closeTag, delete t.nameNode, delete t.body, delete t.blockParamNodes, delete t.params, delete t.path), e5.type === "Block" && (delete t.blockParamNodes, delete t.params), e5.type === "AttrNode" && e5.name.toLowerCase() === "class" && delete t.value, e5.type === "PathExpression" && (t.head = e5.head.original);
245
- }
246
- Ur.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
247
- var Mr = Ur;
248
- function nn(e5) {
268
+ var Fr = Ue;
269
+ function as(e5) {
249
270
  let { node: t } = e5;
250
271
  if (t.type !== "TextNode") return;
251
272
  let { parent: r } = e5;
252
273
  if (!(r.type === "ElementNode" && r.tag === "style" && r.children.length === 1 && r.children[0] === t)) return;
253
274
  let s = r.attributes.find((n) => n.type === "AttrNode" && n.name === "lang");
254
275
  if (!(s && !(s.value.type === "TextNode" && (s.value.chars === "" || s.value.chars === "css")))) return async (n) => {
255
- let i = await n(t.chars, { parser: "css" });
256
- return i ? [tt, i, Xt(F)] : [];
276
+ let i = t.chars;
277
+ return i.trim() ? await n(i, { parser: "css" }) : "";
257
278
  };
258
279
  }
259
- var zr = nn;
260
- var te = null;
261
- function ee(e5) {
262
- if (te !== null && typeof te.property) {
263
- let t = te;
264
- return te = ee.prototype = null, t;
280
+ var Hr = as;
281
+ var Rt = null;
282
+ function qt(e5) {
283
+ if (Rt !== null && typeof Rt.property) {
284
+ let t = Rt;
285
+ return Rt = qt.prototype = null, t;
265
286
  }
266
- return te = ee.prototype = e5 ?? /* @__PURE__ */ Object.create(null), new ee();
287
+ return Rt = qt.prototype = e5 ?? /* @__PURE__ */ Object.create(null), new qt();
267
288
  }
268
- var an = 10;
269
- for (let e5 = 0; e5 <= an; e5++) ee();
270
- function Qe(e5) {
271
- return ee(e5);
289
+ var os = 10;
290
+ for (let e5 = 0; e5 <= os; e5++) qt();
291
+ function Me(e5) {
292
+ return qt(e5);
272
293
  }
273
- function on(e5, t = "type") {
274
- Qe(e5);
294
+ function ls(e5, t = "type") {
295
+ Me(e5);
275
296
  function r(s) {
276
297
  let n = s[t], i = e5[n];
277
298
  if (!Array.isArray(i)) throw Object.assign(new Error(`Missing visitor keys for '${n}'.`), { node: s });
@@ -279,321 +300,30 @@ function on(e5, t = "type") {
279
300
  }
280
301
  return r;
281
302
  }
282
- var Yr = on;
283
- var Gr = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] };
284
- var ln = Yr(Gr);
285
- var Kr = ln;
286
- function St(e5) {
287
- return e5.loc.start.offset;
288
- }
289
- function re(e5) {
290
- return e5.loc.end.offset;
291
- }
292
- var Wr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
293
- function Qr(e5) {
294
- return e5.toUpperCase() === e5;
295
- }
296
- function cn(e5) {
297
- return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (Qr(e5.tag[0]) || e5.tag.includes("."));
298
- }
299
- function un(e5) {
300
- return Wr.has(e5.toLowerCase()) && !Qr(e5[0]);
301
- }
302
- function Je(e5) {
303
- return e5.selfClosing === true || un(e5.tag) || cn(e5) && e5.children.every((t) => ge(t));
304
- }
305
- function ge(e5) {
306
- return e5.type === "TextNode" && !/\S/u.test(e5.chars);
307
- }
308
- function jr(e5) {
309
- return (e5 == null ? void 0 : e5.type) === "MustacheCommentStatement" && typeof e5.value == "string" && e5.value.trim() === "prettier-ignore";
310
- }
311
- function Jr(e5) {
312
- return jr(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && jr(e5.siblings[e5.index - 2]);
313
- }
314
- var ns = 2;
315
- function hn(e5, t, r) {
316
- var n, i, a, o, c, h, p, m, S;
317
- let { node: s } = e5;
318
- switch (s.type) {
319
- case "Block":
320
- case "Program":
321
- case "Template":
322
- return R(e5.map(r, "body"));
323
- case "ElementNode": {
324
- let y = R(fn(e5, r)), v = t.htmlWhitespaceSensitivity === "ignore" && ((n = e5.next) == null ? void 0 : n.type) === "ElementNode" ? F : "";
325
- if (Je(s)) return [y, v];
326
- let C = ["</", s.tag, ">"];
327
- return s.children.length === 0 ? [y, B(C), v] : t.htmlWhitespaceSensitivity === "ignore" ? [y, B($r(e5, t, r)), tt, B(C), v] : [y, B(R($r(e5, t, r))), B(C), v];
328
- }
329
- case "BlockStatement":
330
- return kn(e5) ? [Sn(e5, r), ts(e5, t, r), es(e5, t, r)] : [bn(e5, r), R([ts(e5, t, r), es(e5, t, r), En(e5, t, r)])];
331
- case "ElementModifierStatement":
332
- return R(["{{", ss(e5, r), "}}"]);
333
- case "MustacheStatement":
334
- return R([be(s), ss(e5, r), ye(s)]);
335
- case "SubExpression":
336
- return R(["(", Pn(e5, r), F, ")"]);
337
- case "AttrNode": {
338
- let { name: y, value: v } = s, C = v.type === "TextNode";
339
- if (C && v.chars === "" && St(v) === re(v)) return y;
340
- let w = C ? de(v.chars, t.singleQuote) : v.type === "ConcatStatement" ? de(v.parts.map((q) => q.type === "TextNode" ? q.chars : "").join(""), t.singleQuote) : "", U = r("value");
341
- return [y, "=", w, y === "class" && w ? R(B(U)) : U, w];
342
- }
343
- case "ConcatStatement":
344
- return e5.map(r, "parts");
345
- case "Hash":
346
- return yt(L, e5.map(r, "pairs"));
347
- case "HashPair":
348
- return [s.key, "=", r("value")];
349
- case "TextNode": {
350
- if (e5.parent.tag === "pre" || e5.parent.tag === "style") return s.chars;
351
- let y = He(false, s.chars, "{{", String.raw`\{{`), v = wn(e5);
352
- if (v) {
353
- if (v === "class") {
354
- let X = y.trim().split(/\s+/u).join(" "), rt = false, V = false;
355
- return e5.parent.type === "ConcatStatement" && (((i = e5.previous) == null ? void 0 : i.type) === "MustacheStatement" && /^\s/u.test(y) && (rt = true), ((a = e5.next) == null ? void 0 : a.type) === "MustacheStatement" && /\s$/u.test(y) && X !== "" && (V = true)), [rt ? L : "", X, V ? L : ""];
356
- }
357
- return Br(y);
358
- }
359
- let C = K.isWhitespaceOnly(y), { isFirst: x, isLast: w } = e5;
360
- if (t.htmlWhitespaceSensitivity !== "ignore") {
361
- let X = w && e5.parent.type === "Template", rt = x && e5.parent.type === "Template";
362
- if (C) {
363
- if (rt || X) return "";
364
- let A = [L], nt = Vt(y);
365
- return nt && (A = se(nt)), w && (A = A.map((ue) => Xt(ue))), A;
366
- }
367
- let V = K.getLeadingWhitespace(y), xt = [];
368
- if (V) {
369
- xt = [L];
370
- let A = Vt(V);
371
- A && (xt = se(A)), y = y.slice(V.length);
372
- }
373
- let H = K.getTrailingWhitespace(y), st = [];
374
- if (H) {
375
- if (!X) {
376
- st = [L];
377
- let A = Vt(H);
378
- A && (st = se(A)), w && (st = st.map((nt) => Xt(nt)));
379
- }
380
- y = y.slice(0, -H.length);
381
- }
382
- return [...xt, Ye(rs(y)), ...st];
383
- }
384
- let U = Vt(y), q = Tn(y), $ = Nn(y);
385
- if ((x || w) && C && (e5.parent.type === "Block" || e5.parent.type === "ElementNode" || e5.parent.type === "Template")) return "";
386
- C && U ? (q = Math.min(U, ns), $ = 0) : ((((o = e5.next) == null ? void 0 : o.type) === "BlockStatement" || ((c = e5.next) == null ? void 0 : c.type) === "ElementNode") && ($ = Math.max($, 1)), (((h = e5.previous) == null ? void 0 : h.type) === "BlockStatement" || ((p = e5.previous) == null ? void 0 : p.type) === "ElementNode") && (q = Math.max(q, 1)));
387
- let Nt = "", Ct = "";
388
- return $ === 0 && ((m = e5.next) == null ? void 0 : m.type) === "MustacheStatement" && (Ct = " "), q === 0 && ((S = e5.previous) == null ? void 0 : S.type) === "MustacheStatement" && (Nt = " "), x && (q = 0, Nt = ""), w && ($ = 0, Ct = ""), K.hasLeadingWhitespace(y) && (y = Nt + K.trimStart(y)), K.hasTrailingWhitespace(y) && (y = K.trimEnd(y) + Ct), [...se(q), Ye(rs(y)), ...se($)];
389
- }
390
- case "MustacheCommentStatement": {
391
- let y = St(s), v = re(s), C = t.originalText.charAt(y + 2) === "~", x = t.originalText.charAt(v - 3) === "~", w = s.value.includes("}}") ? "--" : "";
392
- return ["{{", C ? "~" : "", "!", w, s.value, w, x ? "~" : "", "}}"];
393
- }
394
- case "PathExpression":
395
- return _n(s);
396
- case "BooleanLiteral":
397
- return String(s.value);
398
- case "CommentStatement":
399
- return ["<!--", s.value, "-->"];
400
- case "StringLiteral":
401
- return Cn(e5, t);
402
- case "NumberLiteral":
403
- return String(s.value);
404
- case "UndefinedLiteral":
405
- return "undefined";
406
- case "NullLiteral":
407
- return "null";
408
- case "AtHead":
409
- case "VarHead":
410
- case "ThisHead":
411
- default:
412
- throw new Fr(s, "Handlebars");
413
- }
414
- }
415
- function pn(e5, t) {
416
- return St(e5) - St(t);
417
- }
418
- function fn(e5, t) {
419
- let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Zt(r[i])), n = s.flatMap((i) => r[i]).sort(pn);
420
- for (let i of s) e5.each(({ node: a }) => {
421
- let o = n.indexOf(a);
422
- n.splice(o, 1, [L, t()]);
423
- }, i);
424
- return Zt(r.blockParams) && n.push(L, Xe(r)), ["<", r.tag, B(n), mn(r)];
425
- }
426
- function $r(e5, t, r) {
427
- let { node: s } = e5, n = s.children.every((i) => ge(i));
428
- return t.htmlWhitespaceSensitivity === "ignore" && n ? "" : e5.map(({ isFirst: i }) => {
429
- let a = r();
430
- return i && t.htmlWhitespaceSensitivity === "ignore" ? [F, a] : a;
431
- }, "children");
432
- }
433
- function mn(e5) {
434
- return Je(e5) ? Ge([F, "/>"], [" />", F]) : Ge([F, ">"], ">");
435
- }
436
- function be(e5) {
437
- var s;
438
- let t = e5.trusting ? "{{{" : "{{", r = (s = e5.strip) != null && s.open ? "~" : "";
439
- return [t, r];
440
- }
441
- function ye(e5) {
442
- var s;
443
- let t = e5.trusting ? "}}}" : "}}";
444
- return [(s = e5.strip) != null && s.close ? "~" : "", t];
445
- }
446
- function dn(e5) {
447
- let t = be(e5), r = e5.openStrip.open ? "~" : "";
448
- return [t, r, "#"];
449
- }
450
- function gn(e5) {
451
- let t = ye(e5);
452
- return [e5.openStrip.close ? "~" : "", t];
453
- }
454
- function Xr(e5) {
455
- let t = be(e5), r = e5.closeStrip.open ? "~" : "";
456
- return [t, r, "/"];
457
- }
458
- function Zr(e5) {
459
- let t = ye(e5);
460
- return [e5.closeStrip.close ? "~" : "", t];
461
- }
462
- function is(e5) {
463
- let t = be(e5), r = e5.inverseStrip.open ? "~" : "";
464
- return [t, r];
465
- }
466
- function as(e5) {
467
- let t = ye(e5);
468
- return [e5.inverseStrip.close ? "~" : "", t];
469
- }
470
- function bn(e5, t) {
471
- let { node: r } = e5, s = [], n = ke(e5, t);
472
- return n && s.push(R(n)), Zt(r.program.blockParams) && s.push(Xe(r.program)), R([dn(r), $e(e5, t), s.length > 0 ? B([L, yt(L, s)]) : "", F, gn(r)]);
473
- }
474
- function yn(e5, t) {
475
- return [t.htmlWhitespaceSensitivity === "ignore" ? tt : "", is(e5), "else", as(e5)];
476
- }
477
- var os = (e5, t) => e5.head.type === "VarHead" && t.head.type === "VarHead" && e5.head.name === t.head.name;
478
- function kn(e5) {
479
- var s;
480
- let { grandparent: t, node: r } = e5;
481
- return ((s = t == null ? void 0 : t.inverse) == null ? void 0 : s.body.length) === 1 && t.inverse.body[0] === r && os(t.inverse.body[0].path, t.path);
482
- }
483
- function Sn(e5, t) {
484
- let { node: r, grandparent: s } = e5;
485
- return R([is(s), ["else", " ", s.inverse.body[0].path.head.name], B([L, R(ke(e5, t)), ...Zt(r.program.blockParams) ? [L, Xe(r.program)] : []]), F, as(s)]);
486
- }
487
- function En(e5, t, r) {
488
- let { node: s } = e5;
489
- return t.htmlWhitespaceSensitivity === "ignore" ? [ls(s) ? F : tt, Xr(s), r("path"), Zr(s)] : [Xr(s), r("path"), Zr(s)];
490
- }
491
- function ls(e5) {
492
- return e5.type === "BlockStatement" && e5.program.body.every((t) => ge(t));
493
- }
494
- function vn(e5) {
495
- return cs(e5) && e5.inverse.body.length === 1 && e5.inverse.body[0].type === "BlockStatement" && os(e5.inverse.body[0].path, e5.path);
496
- }
497
- function cs(e5) {
498
- return e5.type === "BlockStatement" && e5.inverse;
499
- }
500
- function ts(e5, t, r) {
501
- let { node: s } = e5;
502
- if (ls(s)) return "";
503
- let n = r("program");
504
- return t.htmlWhitespaceSensitivity === "ignore" ? B([tt, n]) : B(n);
505
- }
506
- function es(e5, t, r) {
507
- let { node: s } = e5, n = r("inverse"), i = t.htmlWhitespaceSensitivity === "ignore" ? [tt, n] : n;
508
- return vn(s) ? i : cs(s) ? [yn(s, t), B(i)] : "";
509
- }
510
- function rs(e5) {
511
- return yt(L, K.split(e5));
512
- }
513
- function wn(e5) {
514
- for (let t = 0; t < 2; t++) {
515
- let r = e5.getParentNode(t);
516
- if ((r == null ? void 0 : r.type) === "AttrNode") return r.name.toLowerCase();
517
- }
518
- }
519
- function Vt(e5) {
520
- return e5 = typeof e5 == "string" ? e5 : "", e5.split(`
521
- `).length - 1;
522
- }
523
- function Tn(e5) {
524
- e5 = typeof e5 == "string" ? e5 : "";
525
- let t = (e5.match(/^([^\S\n\r]*[\n\r])+/gu) || [])[0] || "";
526
- return Vt(t);
527
- }
528
- function Nn(e5) {
529
- e5 = typeof e5 == "string" ? e5 : "";
530
- let t = (e5.match(/([\n\r][^\S\n\r]*)+$/gu) || [])[0] || "";
531
- return Vt(t);
532
- }
533
- function se(e5 = 0) {
534
- return Array.from({ length: Math.min(e5, ns) }).fill(tt);
535
- }
536
- function Cn(e5, t) {
537
- let { node: { value: r } } = e5, s = de(r, xn(e5) ? !t.singleQuote : t.singleQuote);
538
- return [s, He(false, r, s, `\\${s}`), s];
539
- }
540
- function xn(e5) {
541
- let { ancestors: t } = e5, r = t.findIndex((s) => s.type !== "SubExpression");
542
- return r !== -1 && t[r + 1].type === "ConcatStatement" && t[r + 2].type === "AttrNode";
543
- }
544
- function Pn(e5, t) {
545
- let r = $e(e5, t), s = ke(e5, t);
546
- return s ? B([r, L, R(s)]) : r;
547
- }
548
- function ss(e5, t) {
549
- let r = $e(e5, t), s = ke(e5, t);
550
- return s ? [B([r, L, s]), F] : r;
551
- }
552
- function $e(e5, t) {
553
- return t("path");
554
- }
555
- function ke(e5, t) {
556
- var n;
557
- let { node: r } = e5, s = [];
558
- return r.params.length > 0 && s.push(...e5.map(t, "params")), ((n = r.hash) == null ? void 0 : n.pairs.length) > 0 && s.push(t("hash")), s.length === 0 ? "" : yt(L, s);
559
- }
560
- function Xe(e5) {
561
- return ["as |", e5.blockParams.join(" "), "|"];
562
- }
563
- var An = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~");
564
- var Ln = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]);
565
- var Dn = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && Ln.has(e5) || /\s/u.test(e5) || /^\d/u.test(e5) || Array.prototype.some.call(e5, (r) => An.has(r));
566
- function _n(e5) {
567
- return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => Dn(r, s) ? `[${r}]` : r).join(".");
568
- }
569
- var On = { print: hn, massageAstNode: Mr, hasPrettierIgnore: Jr, getVisitorKeys: Kr, embed: zr };
570
- var us = On;
571
- var hs = [{ name: "Handlebars", type: "markup", extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aceMode: "handlebars", aliases: ["hbs", "htmlbars"], parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"], linguistLanguageId: 155 }];
572
- var Cr = {};
573
- Ve(Cr, { glimmer: () => Ei });
574
- var Bn = Object.freeze([]);
575
- function fs() {
576
- return Bn;
577
- }
578
- var Ya = fs();
579
- var Ga = fs();
580
- var Ze = Object.assign;
581
- var ps = console;
582
- function ms(e5, t = "unexpected unreachable branch") {
583
- throw ps.log("unreachable", e5), ps.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
584
- }
585
- var In = (function() {
586
- var e5 = function(it, d, k, g) {
587
- for (k = k || {}, g = it.length; g--; k[it[g]] = d) ;
588
- return k;
589
- }, t = [2, 44], r = [1, 20], s = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], n = [1, 35], i = [1, 38], a = [1, 30], o = [1, 31], c = [1, 32], h = [1, 33], p = [1, 34], m = [1, 37], S = [14, 15, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], y = [14, 15, 19, 29, 34, 44, 47, 48, 52, 56, 60], v = [15, 18], C = [14, 15, 19, 29, 34, 47, 48, 52, 56, 60], x = [33, 64, 71, 79, 80, 81, 82, 83, 84], w = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84], U = [1, 51], q = [23, 33, 55, 64, 67, 71, 74, 79, 80, 81, 82, 83, 84, 86], $ = [2, 43], Nt = [55, 64, 71, 79, 80, 81, 82, 83, 84], Ct = [1, 58], X = [1, 59], rt = [1, 66], V = [33, 64, 71, 74, 79, 80, 81, 82, 83, 84], xt = [23, 64, 71, 79, 80, 81, 82, 83, 84], H = [1, 76], st = [64, 67, 71, 79, 80, 81, 82, 83, 84], A = [33, 74], nt = [23, 33, 55, 67, 71, 74], ue = [1, 106], Le = [1, 118], Pr = [71, 76], De = { trace: function() {
590
- }, yy: {}, symbols_: { error: 2, root: 3, program: 4, EOF: 5, program_repetition0: 6, statement: 7, mustache: 8, block: 9, rawBlock: 10, partial: 11, partialBlock: 12, content: 13, COMMENT: 14, CONTENT: 15, openRawBlock: 16, rawBlock_repetition0: 17, END_RAW_BLOCK: 18, OPEN_RAW_BLOCK: 19, helperName: 20, openRawBlock_repetition0: 21, openRawBlock_option0: 22, CLOSE_RAW_BLOCK: 23, openBlock: 24, block_option0: 25, closeBlock: 26, openInverse: 27, block_option1: 28, OPEN_BLOCK: 29, openBlock_repetition0: 30, openBlock_option0: 31, openBlock_option1: 32, CLOSE: 33, OPEN_INVERSE: 34, openInverse_repetition0: 35, openInverse_option0: 36, openInverse_option1: 37, openInverseChain: 38, OPEN_INVERSE_CHAIN: 39, openInverseChain_repetition0: 40, openInverseChain_option0: 41, openInverseChain_option1: 42, inverseAndProgram: 43, INVERSE: 44, inverseChain: 45, inverseChain_option0: 46, OPEN_ENDBLOCK: 47, OPEN: 48, expr: 49, mustache_repetition0: 50, mustache_option0: 51, OPEN_UNESCAPED: 52, mustache_repetition1: 53, mustache_option1: 54, CLOSE_UNESCAPED: 55, OPEN_PARTIAL: 56, partial_repetition0: 57, partial_option0: 58, openPartialBlock: 59, OPEN_PARTIAL_BLOCK: 60, openPartialBlock_repetition0: 61, openPartialBlock_option0: 62, sexpr: 63, OPEN_SEXPR: 64, sexpr_repetition0: 65, sexpr_option0: 66, CLOSE_SEXPR: 67, hash: 68, hash_repetition_plus0: 69, hashSegment: 70, ID: 71, EQUALS: 72, blockParams: 73, OPEN_BLOCK_PARAMS: 74, blockParams_repetition_plus0: 75, CLOSE_BLOCK_PARAMS: 76, path: 77, dataName: 78, STRING: 79, NUMBER: 80, BOOLEAN: 81, UNDEFINED: 82, NULL: 83, DATA: 84, pathSegments: 85, SEP: 86, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 18: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 52: "OPEN_UNESCAPED", 55: "CLOSE_UNESCAPED", 56: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 64: "OPEN_SEXPR", 67: "CLOSE_SEXPR", 71: "ID", 72: "EQUALS", 74: "OPEN_BLOCK_PARAMS", 76: "CLOSE_BLOCK_PARAMS", 79: "STRING", 80: "NUMBER", 81: "BOOLEAN", 82: "UNDEFINED", 83: "NULL", 84: "DATA", 86: "SEP" }, productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [49, 1], [49, 1], [63, 5], [68, 1], [70, 3], [73, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [78, 2], [77, 1], [85, 3], [85, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [50, 0], [50, 2], [51, 0], [51, 1], [53, 0], [53, 2], [54, 0], [54, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [65, 0], [65, 2], [66, 0], [66, 1], [69, 1], [69, 2], [75, 1], [75, 2]], performAction: function(d, k, g, b, N, l, Pt) {
303
+ var Ur = ls;
304
+ var cs = Object.freeze([]);
305
+ function zr() {
306
+ return cs;
307
+ }
308
+ var Xa = zr();
309
+ var Za = zr();
310
+ var ze = Object.assign;
311
+ var Mr = console;
312
+ function Yr(e5, t = "unexpected unreachable branch") {
313
+ throw Mr.log("unreachable", e5), Mr.log(`${t} :: ${JSON.stringify(e5)} (${e5})`), new Error("code reached unreachable");
314
+ }
315
+ var us = (function() {
316
+ var e5 = function(X, b, S, y) {
317
+ for (S = S || {}, y = X.length; y--; S[X[y]] = b) ;
318
+ return S;
319
+ }, t = [2, 52], r = [1, 20], s = [5, 14, 15, 19, 29, 34, 39, 44, 47, 48, 53, 57, 61], n = [1, 44], i = [1, 40], a = [1, 43], o = [1, 33], c = [1, 34], h = [1, 35], f = [1, 36], p = [1, 37], g = [1, 42], E = [1, 46], T = [14, 15, 19, 29, 34, 39, 44, 47, 48, 53, 57, 61], D = [14, 15, 19, 29, 34, 44, 47, 48, 53, 57, 61], B = [15, 18], O = [14, 15, 19, 29, 34, 47, 48, 53, 57, 61], z = [33, 67, 73, 75, 84, 85, 86, 87, 88, 89], P = [23, 33, 56, 67, 68, 73, 75, 77, 79, 84, 85, 86, 87, 88, 89], U = [1, 62], C = [1, 63], $ = [23, 33, 56, 68, 73, 79], W = [23, 33, 56, 67, 68, 73, 75, 77, 79, 84, 85, 86, 87, 88, 89, 92, 93], kr = [2, 51], Er = [1, 64], vr = [67, 73, 75, 77, 84, 85, 86, 87, 88, 89], wr = [56, 67, 73, 75, 84, 85, 86, 87, 88, 89], Tr = [1, 75], we = [1, 76], Te = [1, 83], gt = [33, 67, 73, 75, 79, 84, 85, 86, 87, 88, 89], xr = [23, 67, 73, 75, 84, 85, 86, 87, 88, 89], Nr = [67, 68, 73, 75, 84, 85, 86, 87, 88, 89], bt = [33, 79], xe = [1, 134], Ar = [73, 81], Ne = { trace: function() {
320
+ }, yy: {}, symbols_: { error: 2, root: 3, program: 4, EOF: 5, program_repetition0: 6, statement: 7, mustache: 8, block: 9, rawBlock: 10, partial: 11, partialBlock: 12, content: 13, COMMENT: 14, CONTENT: 15, openRawBlock: 16, rawBlock_repetition0: 17, END_RAW_BLOCK: 18, OPEN_RAW_BLOCK: 19, helperName: 20, openRawBlock_repetition0: 21, openRawBlock_option0: 22, CLOSE_RAW_BLOCK: 23, openBlock: 24, block_option0: 25, closeBlock: 26, openInverse: 27, block_option1: 28, OPEN_BLOCK: 29, openBlock_repetition0: 30, openBlock_option0: 31, openBlock_option1: 32, CLOSE: 33, OPEN_INVERSE: 34, openInverse_repetition0: 35, openInverse_option0: 36, openInverse_option1: 37, openInverseChain: 38, OPEN_INVERSE_CHAIN: 39, openInverseChain_repetition0: 40, openInverseChain_option0: 41, openInverseChain_option1: 42, inverseAndProgram: 43, INVERSE: 44, inverseChain: 45, inverseChain_option0: 46, OPEN_ENDBLOCK: 47, OPEN: 48, hash: 49, expr: 50, mustache_repetition0: 51, mustache_option0: 52, OPEN_UNESCAPED: 53, mustache_repetition1: 54, mustache_option1: 55, CLOSE_UNESCAPED: 56, OPEN_PARTIAL: 57, partial_repetition0: 58, partial_option0: 59, openPartialBlock: 60, OPEN_PARTIAL_BLOCK: 61, openPartialBlock_repetition0: 62, openPartialBlock_option0: 63, exprHead: 64, arrayLiteral: 65, sexpr: 66, OPEN_SEXPR: 67, CLOSE_SEXPR: 68, sexpr_repetition0: 69, sexpr_option0: 70, hash_repetition_plus0: 71, hashSegment: 72, ID: 73, EQUALS: 74, OPEN_ARRAY: 75, arrayLiteral_repetition0: 76, CLOSE_ARRAY: 77, blockParams: 78, OPEN_BLOCK_PARAMS: 79, blockParams_repetition_plus0: 80, CLOSE_BLOCK_PARAMS: 81, path: 82, dataName: 83, STRING: 84, NUMBER: 85, BOOLEAN: 86, UNDEFINED: 87, NULL: 88, DATA: 89, pathSegments: 90, sep: 91, SEP: 92, PRIVATE_SEP: 93, $accept: 0, $end: 1 }, terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 18: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 53: "OPEN_UNESCAPED", 56: "CLOSE_UNESCAPED", 57: "OPEN_PARTIAL", 61: "OPEN_PARTIAL_BLOCK", 67: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 73: "ID", 74: "EQUALS", 75: "OPEN_ARRAY", 77: "CLOSE_ARRAY", 79: "OPEN_BLOCK_PARAMS", 81: "CLOSE_BLOCK_PARAMS", 84: "STRING", 85: "NUMBER", 86: "BOOLEAN", 87: "UNDEFINED", 88: "NULL", 89: "DATA", 92: "SEP", 93: "PRIVATE_SEP" }, productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 3], [8, 5], [8, 5], [11, 5], [12, 3], [60, 5], [50, 1], [50, 1], [64, 1], [64, 1], [66, 3], [66, 5], [49, 1], [72, 3], [65, 3], [78, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [83, 2], [91, 1], [91, 1], [82, 3], [82, 1], [90, 3], [90, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [51, 0], [51, 2], [52, 0], [52, 1], [54, 0], [54, 2], [55, 0], [55, 1], [58, 0], [58, 2], [59, 0], [59, 1], [62, 0], [62, 2], [63, 0], [63, 1], [69, 0], [69, 2], [70, 0], [70, 1], [71, 1], [71, 2], [76, 0], [76, 2], [80, 1], [80, 2]], performAction: function(b, S, y, m, w, l, yt) {
591
321
  var u = l.length - 1;
592
- switch (N) {
322
+ switch (w) {
593
323
  case 1:
594
324
  return l[u - 1];
595
325
  case 2:
596
- this.$ = b.prepareProgram(l[u]);
326
+ this.$ = m.prepareProgram(l[u]);
597
327
  break;
598
328
  case 3:
599
329
  case 4:
@@ -602,193 +332,211 @@ var In = (function() {
602
332
  case 7:
603
333
  case 8:
604
334
  case 20:
605
- case 27:
606
335
  case 28:
607
- case 33:
608
- case 34:
336
+ case 29:
337
+ case 30:
338
+ case 31:
339
+ case 38:
340
+ case 39:
341
+ case 46:
342
+ case 47:
609
343
  this.$ = l[u];
610
344
  break;
611
345
  case 9:
612
- this.$ = { type: "CommentStatement", value: b.stripComment(l[u]), strip: b.stripFlags(l[u], l[u]), loc: b.locInfo(this._$) };
346
+ this.$ = { type: "CommentStatement", value: m.stripComment(l[u]), strip: m.stripFlags(l[u], l[u]), loc: m.locInfo(this._$) };
613
347
  break;
614
348
  case 10:
615
- this.$ = { type: "ContentStatement", original: l[u], value: l[u], loc: b.locInfo(this._$) };
349
+ this.$ = { type: "ContentStatement", original: l[u], value: l[u], loc: m.locInfo(this._$) };
616
350
  break;
617
351
  case 11:
618
- this.$ = b.prepareRawBlock(l[u - 2], l[u - 1], l[u], this._$);
352
+ this.$ = m.prepareRawBlock(l[u - 2], l[u - 1], l[u], this._$);
619
353
  break;
620
354
  case 12:
621
355
  this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1] };
622
356
  break;
623
357
  case 13:
624
- this.$ = b.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], false, this._$);
358
+ this.$ = m.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], false, this._$);
625
359
  break;
626
360
  case 14:
627
- this.$ = b.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], true, this._$);
361
+ this.$ = m.prepareBlock(l[u - 3], l[u - 2], l[u - 1], l[u], true, this._$);
628
362
  break;
629
363
  case 15:
630
- this.$ = { open: l[u - 5], path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: b.stripFlags(l[u - 5], l[u]) };
364
+ this.$ = { open: l[u - 5], path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: m.stripFlags(l[u - 5], l[u]) };
631
365
  break;
632
366
  case 16:
633
367
  case 17:
634
- this.$ = { path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: b.stripFlags(l[u - 5], l[u]) };
368
+ this.$ = { path: l[u - 4], params: l[u - 3], hash: l[u - 2], blockParams: l[u - 1], strip: m.stripFlags(l[u - 5], l[u]) };
635
369
  break;
636
370
  case 18:
637
- this.$ = { strip: b.stripFlags(l[u - 1], l[u - 1]), program: l[u] };
371
+ this.$ = { strip: m.stripFlags(l[u - 1], l[u - 1]), program: l[u] };
638
372
  break;
639
373
  case 19:
640
- var at = b.prepareBlock(l[u - 2], l[u - 1], l[u], l[u], false, this._$), Yt = b.prepareProgram([at], l[u - 1].loc);
641
- Yt.chained = true, this.$ = { strip: l[u - 2].strip, program: Yt, chain: true };
374
+ var Z = m.prepareBlock(l[u - 2], l[u - 1], l[u], l[u], false, this._$), Lt = m.prepareProgram([Z], l[u - 1].loc);
375
+ Lt.chained = true, this.$ = { strip: l[u - 2].strip, program: Lt, chain: true };
642
376
  break;
643
377
  case 21:
644
- this.$ = { path: l[u - 1], strip: b.stripFlags(l[u - 2], l[u]) };
378
+ this.$ = { path: l[u - 1], strip: m.stripFlags(l[u - 2], l[u]) };
645
379
  break;
646
380
  case 22:
647
- case 23:
648
- this.$ = b.prepareMustache(l[u - 3], l[u - 2], l[u - 1], l[u - 4], b.stripFlags(l[u - 4], l[u]), this._$);
381
+ this.$ = m.prepareMustache(m.syntax.hash(l[u - 1], m.locInfo(this._$), { yy: m, syntax: "expr" }), [], void 0, l[u - 2], m.stripFlags(l[u - 2], l[u]), this._$);
649
382
  break;
383
+ case 23:
650
384
  case 24:
651
- this.$ = { type: "PartialStatement", name: l[u - 3], params: l[u - 2], hash: l[u - 1], indent: "", strip: b.stripFlags(l[u - 4], l[u]), loc: b.locInfo(this._$) };
385
+ this.$ = m.prepareMustache(l[u - 3], l[u - 2], l[u - 1], l[u - 4], m.stripFlags(l[u - 4], l[u]), this._$);
652
386
  break;
653
387
  case 25:
654
- this.$ = b.preparePartialBlock(l[u - 2], l[u - 1], l[u], this._$);
388
+ this.$ = { type: "PartialStatement", name: l[u - 3], params: l[u - 2], hash: l[u - 1], indent: "", strip: m.stripFlags(l[u - 4], l[u]), loc: m.locInfo(this._$) };
655
389
  break;
656
390
  case 26:
657
- this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1], strip: b.stripFlags(l[u - 4], l[u]) };
391
+ this.$ = m.preparePartialBlock(l[u - 2], l[u - 1], l[u], this._$);
658
392
  break;
659
- case 29:
660
- this.$ = { type: "SubExpression", path: l[u - 3], params: l[u - 2], hash: l[u - 1], loc: b.locInfo(this._$) };
393
+ case 27:
394
+ this.$ = { path: l[u - 3], params: l[u - 2], hash: l[u - 1], strip: m.stripFlags(l[u - 4], l[u]) };
661
395
  break;
662
- case 30:
663
- this.$ = { type: "Hash", pairs: l[u], loc: b.locInfo(this._$) };
396
+ case 32:
397
+ this.$ = m.syntax.hash(l[u - 1], m.locInfo(this._$), { yy: m, syntax: "expr" });
664
398
  break;
665
- case 31:
666
- this.$ = { type: "HashPair", key: b.id(l[u - 2]), value: l[u], loc: b.locInfo(this._$) };
399
+ case 33:
400
+ this.$ = { type: "SubExpression", path: l[u - 3], params: l[u - 2], hash: l[u - 1], loc: m.locInfo(this._$) };
667
401
  break;
668
- case 32:
669
- this.$ = b.id(l[u - 1]);
402
+ case 34:
403
+ this.$ = { type: "Hash", pairs: l[u], loc: m.locInfo(this._$) };
670
404
  break;
671
405
  case 35:
672
- this.$ = { type: "StringLiteral", value: l[u], original: l[u], loc: b.locInfo(this._$) };
406
+ this.$ = { type: "HashPair", key: m.id(l[u - 2]), value: l[u], loc: m.locInfo(this._$) };
673
407
  break;
674
408
  case 36:
675
- this.$ = { type: "NumberLiteral", value: Number(l[u]), original: Number(l[u]), loc: b.locInfo(this._$) };
409
+ this.$ = m.syntax.square(l[u - 1], m.locInfo(this._$), { yy: m, syntax: "expr" });
676
410
  break;
677
411
  case 37:
678
- this.$ = { type: "BooleanLiteral", value: l[u] === "true", original: l[u] === "true", loc: b.locInfo(this._$) };
679
- break;
680
- case 38:
681
- this.$ = { type: "UndefinedLiteral", original: void 0, value: void 0, loc: b.locInfo(this._$) };
682
- break;
683
- case 39:
684
- this.$ = { type: "NullLiteral", original: null, value: null, loc: b.locInfo(this._$) };
412
+ this.$ = m.id(l[u - 1]);
685
413
  break;
686
414
  case 40:
687
- this.$ = b.preparePath(true, l[u], this._$);
415
+ this.$ = { type: "StringLiteral", value: l[u], original: l[u], loc: m.locInfo(this._$) };
688
416
  break;
689
417
  case 41:
690
- this.$ = b.preparePath(false, l[u], this._$);
418
+ this.$ = { type: "NumberLiteral", value: Number(l[u]), original: Number(l[u]), loc: m.locInfo(this._$) };
691
419
  break;
692
420
  case 42:
693
- l[u - 2].push({ part: b.id(l[u]), original: l[u], separator: l[u - 1] }), this.$ = l[u - 2];
421
+ this.$ = { type: "BooleanLiteral", value: l[u] === "true", original: l[u] === "true", loc: m.locInfo(this._$) };
694
422
  break;
695
423
  case 43:
696
- this.$ = [{ part: b.id(l[u]), original: l[u] }];
424
+ this.$ = { type: "UndefinedLiteral", original: void 0, value: void 0, loc: m.locInfo(this._$) };
697
425
  break;
698
426
  case 44:
699
- case 46:
427
+ this.$ = { type: "NullLiteral", original: null, value: null, loc: m.locInfo(this._$) };
428
+ break;
429
+ case 45:
430
+ this.$ = m.preparePath(true, false, l[u], this._$);
431
+ break;
700
432
  case 48:
433
+ this.$ = m.preparePath(false, l[u - 2], l[u], this._$);
434
+ break;
435
+ case 49:
436
+ this.$ = m.preparePath(false, false, l[u], this._$);
437
+ break;
438
+ case 50:
439
+ l[u - 2].push({ part: m.id(l[u]), original: l[u], separator: l[u - 1] }), this.$ = l[u - 2];
440
+ break;
441
+ case 51:
442
+ this.$ = [{ part: m.id(l[u]), original: l[u] }];
443
+ break;
444
+ case 52:
445
+ case 54:
701
446
  case 56:
702
- case 62:
703
- case 68:
447
+ case 64:
448
+ case 70:
704
449
  case 76:
705
- case 80:
706
450
  case 84:
707
451
  case 88:
708
452
  case 92:
453
+ case 96:
454
+ case 100:
455
+ case 106:
709
456
  this.$ = [];
710
457
  break;
711
- case 45:
712
- case 47:
713
- case 49:
458
+ case 53:
459
+ case 55:
714
460
  case 57:
715
- case 63:
716
- case 69:
461
+ case 65:
462
+ case 71:
717
463
  case 77:
718
- case 81:
719
464
  case 85:
720
465
  case 89:
721
466
  case 93:
722
467
  case 97:
723
- case 99:
468
+ case 101:
469
+ case 105:
470
+ case 107:
471
+ case 109:
724
472
  l[u - 1].push(l[u]);
725
473
  break;
726
- case 96:
727
- case 98:
474
+ case 104:
475
+ case 108:
728
476
  this.$ = [l[u]];
729
477
  break;
730
478
  }
731
- }, table: [e5([5, 14, 15, 19, 29, 34, 48, 52, 56, 60], t, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, e5([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 59: 19, 14: [1, 12], 15: r, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 52: [1, 14], 56: [1, 18], 60: [1, 24] }), { 1: [2, 1] }, e5(s, [2, 45]), e5(s, [2, 3]), e5(s, [2, 4]), e5(s, [2, 5]), e5(s, [2, 6]), e5(s, [2, 7]), e5(s, [2, 8]), e5(s, [2, 9]), { 20: 26, 49: 25, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 39, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(S, t, { 6: 3, 4: 40 }), e5(y, t, { 6: 3, 4: 41 }), e5(v, [2, 46], { 17: 42 }), { 20: 26, 49: 43, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 44 }), e5([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 52, 56, 60], [2, 10]), { 20: 45, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 46, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 47, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 49: 48, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(x, [2, 76], { 50: 49 }), e5(w, [2, 27]), e5(w, [2, 28]), e5(w, [2, 33]), e5(w, [2, 34]), e5(w, [2, 35]), e5(w, [2, 36]), e5(w, [2, 37]), e5(w, [2, 38]), e5(w, [2, 39]), { 20: 26, 49: 50, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(w, [2, 41], { 86: U }), { 71: i, 85: 52 }, e5(q, $), e5(Nt, [2, 80], { 53: 53 }), { 25: 54, 38: 56, 39: Ct, 43: 57, 44: X, 45: 55, 47: [2, 52] }, { 28: 60, 43: 61, 44: X, 47: [2, 54] }, { 13: 63, 15: r, 18: [1, 62] }, e5(x, [2, 84], { 57: 64 }), { 26: 65, 47: rt }, e5(V, [2, 56], { 30: 67 }), e5(V, [2, 62], { 35: 68 }), e5(xt, [2, 48], { 21: 69 }), e5(x, [2, 88], { 61: 70 }), { 20: 26, 33: [2, 78], 49: 72, 51: 71, 63: 27, 64: n, 68: 73, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(st, [2, 92], { 65: 77 }), { 71: [1, 78] }, e5(w, [2, 40], { 86: U }), { 20: 26, 49: 80, 54: 79, 55: [2, 82], 63: 27, 64: n, 68: 81, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 26: 82, 47: rt }, { 47: [2, 53] }, e5(S, t, { 6: 3, 4: 83 }), { 47: [2, 20] }, { 20: 84, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(C, t, { 6: 3, 4: 85 }), { 26: 86, 47: rt }, { 47: [2, 55] }, e5(s, [2, 11]), e5(v, [2, 47]), { 20: 26, 33: [2, 86], 49: 88, 58: 87, 63: 27, 64: n, 68: 89, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(s, [2, 25]), { 20: 90, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(A, [2, 58], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 31: 91, 49: 92, 68: 93, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(A, [2, 64], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 36: 94, 49: 95, 68: 96, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), { 20: 26, 22: 97, 23: [2, 50], 49: 98, 63: 27, 64: n, 68: 99, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 20: 26, 33: [2, 90], 49: 101, 62: 100, 63: 27, 64: n, 68: 102, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 33: [1, 103] }, e5(x, [2, 77]), { 33: [2, 79] }, e5([23, 33, 55, 67, 74], [2, 30], { 70: 104, 71: [1, 105] }), e5(nt, [2, 96]), e5(q, $, { 72: ue }), { 20: 26, 49: 108, 63: 27, 64: n, 66: 107, 67: [2, 94], 68: 109, 69: 74, 70: 75, 71: H, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, e5(q, [2, 42]), { 55: [1, 110] }, e5(Nt, [2, 81]), { 55: [2, 83] }, e5(s, [2, 13]), { 38: 56, 39: Ct, 43: 57, 44: X, 45: 112, 46: 111, 47: [2, 74] }, e5(V, [2, 68], { 40: 113 }), { 47: [2, 18] }, e5(s, [2, 14]), { 33: [1, 114] }, e5(x, [2, 85]), { 33: [2, 87] }, { 33: [1, 115] }, { 32: 116, 33: [2, 60], 73: 117, 74: Le }, e5(V, [2, 57]), e5(A, [2, 59]), { 33: [2, 66], 37: 119, 73: 120, 74: Le }, e5(V, [2, 63]), e5(A, [2, 65]), { 23: [1, 121] }, e5(xt, [2, 49]), { 23: [2, 51] }, { 33: [1, 122] }, e5(x, [2, 89]), { 33: [2, 91] }, e5(s, [2, 22]), e5(nt, [2, 97]), { 72: ue }, { 20: 26, 49: 123, 63: 27, 64: n, 71: i, 77: 28, 78: 29, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m, 85: 36 }, { 67: [1, 124] }, e5(st, [2, 93]), { 67: [2, 95] }, e5(s, [2, 23]), { 47: [2, 19] }, { 47: [2, 75] }, e5(A, [2, 70], { 20: 26, 63: 27, 77: 28, 78: 29, 85: 36, 69: 74, 70: 75, 41: 125, 49: 126, 68: 127, 64: n, 71: H, 79: a, 80: o, 81: c, 82: h, 83: p, 84: m }), e5(s, [2, 24]), e5(s, [2, 21]), { 33: [1, 128] }, { 33: [2, 61] }, { 71: [1, 130], 75: 129 }, { 33: [1, 131] }, { 33: [2, 67] }, e5(v, [2, 12]), e5(C, [2, 26]), e5(nt, [2, 31]), e5(w, [2, 29]), { 33: [2, 72], 42: 132, 73: 133, 74: Le }, e5(V, [2, 69]), e5(A, [2, 71]), e5(S, [2, 15]), { 71: [1, 135], 76: [1, 134] }, e5(Pr, [2, 98]), e5(y, [2, 16]), { 33: [1, 136] }, { 33: [2, 73] }, { 33: [2, 32] }, e5(Pr, [2, 99]), e5(S, [2, 17])], defaultActions: { 4: [2, 1], 55: [2, 53], 57: [2, 20], 61: [2, 55], 73: [2, 79], 81: [2, 83], 85: [2, 18], 89: [2, 87], 99: [2, 51], 102: [2, 91], 109: [2, 95], 111: [2, 19], 112: [2, 75], 117: [2, 61], 120: [2, 67], 133: [2, 73], 134: [2, 32] }, parseError: function(d, k) {
732
- if (k.recoverable) this.trace(d);
479
+ }, table: [e5([5, 14, 15, 19, 29, 34, 48, 53, 57, 61], t, { 3: 1, 4: 2, 6: 3 }), { 1: [3] }, { 5: [1, 4] }, e5([5, 39, 44, 47], [2, 2], { 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 24: 15, 27: 16, 16: 17, 60: 19, 14: [1, 12], 15: r, 19: [1, 23], 29: [1, 21], 34: [1, 22], 48: [1, 13], 53: [1, 14], 57: [1, 18], 61: [1, 24] }), { 1: [2, 1] }, e5(s, [2, 53]), e5(s, [2, 3]), e5(s, [2, 4]), e5(s, [2, 5]), e5(s, [2, 6]), e5(s, [2, 7]), e5(s, [2, 8]), e5(s, [2, 9]), { 20: 28, 49: 25, 50: 26, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 20: 28, 50: 45, 64: 29, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(T, t, { 6: 3, 4: 47 }), e5(D, t, { 6: 3, 4: 48 }), e5(B, [2, 54], { 17: 49 }), { 20: 28, 50: 50, 64: 29, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(O, t, { 6: 3, 4: 51 }), e5([5, 14, 15, 18, 19, 29, 34, 39, 44, 47, 48, 53, 57, 61], [2, 10]), { 20: 52, 64: 53, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 20: 54, 64: 53, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 20: 55, 64: 53, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 20: 28, 50: 56, 64: 29, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 33: [1, 57] }, e5(z, [2, 84], { 51: 58 }), e5([23, 33, 56, 68, 79], [2, 34], { 72: 59, 73: [1, 60] }), e5(P, [2, 28]), e5(P, [2, 29], { 91: 61, 92: U, 93: C }), e5($, [2, 104]), e5(P, [2, 38]), e5(P, [2, 39]), e5(P, [2, 40]), e5(P, [2, 41]), e5(P, [2, 42]), e5(P, [2, 43]), e5(P, [2, 44]), e5(W, [2, 30]), e5(W, [2, 31]), e5([23, 33, 56, 67, 68, 73, 75, 79, 84, 85, 86, 87, 88, 89, 92, 93], kr, { 74: Er }), e5(P, [2, 49], { 91: 65, 92: U, 93: C }), { 73: E, 90: 66 }, e5(vr, [2, 106], { 76: 67 }), { 20: 28, 49: 68, 50: 69, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(wr, [2, 88], { 54: 70 }), e5(W, kr), { 25: 71, 38: 73, 39: Tr, 43: 74, 44: we, 45: 72, 47: [2, 60] }, { 28: 77, 43: 78, 44: we, 47: [2, 62] }, { 13: 80, 15: r, 18: [1, 79] }, e5(z, [2, 92], { 58: 81 }), { 26: 82, 47: Te }, e5(gt, [2, 64], { 30: 84 }), { 91: 61, 92: U, 93: C }, e5(gt, [2, 70], { 35: 85 }), e5(xr, [2, 56], { 21: 86 }), e5(z, [2, 96], { 62: 87 }), e5(s, [2, 22]), { 20: 28, 33: [2, 86], 49: 90, 50: 89, 52: 88, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5($, [2, 105]), { 74: Er }, { 73: E, 90: 91 }, { 73: [2, 46] }, { 73: [2, 47] }, { 20: 28, 50: 92, 64: 29, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 73: [1, 93] }, e5(P, [2, 45], { 91: 65, 92: U, 93: C }), { 20: 28, 50: 95, 64: 29, 65: 38, 66: 39, 67: n, 73: E, 75: a, 77: [1, 94], 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 68: [1, 96] }, e5(Nr, [2, 100], { 69: 97 }), { 20: 28, 49: 100, 50: 99, 55: 98, 56: [2, 90], 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 26: 101, 47: Te }, { 47: [2, 61] }, e5(T, t, { 6: 3, 4: 102 }), { 47: [2, 20] }, { 20: 103, 64: 53, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(O, t, { 6: 3, 4: 104 }), { 26: 105, 47: Te }, { 47: [2, 63] }, e5(s, [2, 11]), e5(B, [2, 55]), { 20: 28, 33: [2, 94], 49: 108, 50: 107, 59: 106, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(s, [2, 26]), { 20: 109, 64: 53, 65: 38, 66: 39, 67: n, 73: E, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, e5(bt, [2, 66], { 71: 27, 20: 28, 64: 29, 72: 30, 82: 31, 83: 32, 65: 38, 66: 39, 90: 41, 31: 110, 50: 111, 49: 112, 67: n, 73: i, 75: a, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g }), e5(bt, [2, 72], { 71: 27, 20: 28, 64: 29, 72: 30, 82: 31, 83: 32, 65: 38, 66: 39, 90: 41, 36: 113, 50: 114, 49: 115, 67: n, 73: i, 75: a, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g }), { 20: 28, 22: 116, 23: [2, 58], 49: 118, 50: 117, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 20: 28, 33: [2, 98], 49: 121, 50: 120, 63: 119, 64: 29, 65: 38, 66: 39, 67: n, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 33: [1, 122] }, e5(z, [2, 85]), { 33: [2, 87] }, e5(P, [2, 48], { 91: 65, 92: U, 93: C }), e5($, [2, 35]), e5(W, [2, 50]), e5(W, [2, 36]), e5(vr, [2, 107]), e5(W, [2, 32]), { 20: 28, 49: 125, 50: 124, 64: 29, 65: 38, 66: 39, 67: n, 68: [2, 102], 70: 123, 71: 27, 72: 30, 73: i, 75: a, 82: 31, 83: 32, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g, 90: 41 }, { 56: [1, 126] }, e5(wr, [2, 89]), { 56: [2, 91] }, e5(s, [2, 13]), { 38: 73, 39: Tr, 43: 74, 44: we, 45: 128, 46: 127, 47: [2, 82] }, e5(gt, [2, 76], { 40: 129 }), { 47: [2, 18] }, e5(s, [2, 14]), { 33: [1, 130] }, e5(z, [2, 93]), { 33: [2, 95] }, { 33: [1, 131] }, { 32: 132, 33: [2, 68], 78: 133, 79: xe }, e5(gt, [2, 65]), e5(bt, [2, 67]), { 33: [2, 74], 37: 135, 78: 136, 79: xe }, e5(gt, [2, 71]), e5(bt, [2, 73]), { 23: [1, 137] }, e5(xr, [2, 57]), { 23: [2, 59] }, { 33: [1, 138] }, e5(z, [2, 97]), { 33: [2, 99] }, e5(s, [2, 23]), { 68: [1, 139] }, e5(Nr, [2, 101]), { 68: [2, 103] }, e5(s, [2, 24]), { 47: [2, 19] }, { 47: [2, 83] }, e5(bt, [2, 78], { 71: 27, 20: 28, 64: 29, 72: 30, 82: 31, 83: 32, 65: 38, 66: 39, 90: 41, 41: 140, 50: 141, 49: 142, 67: n, 73: i, 75: a, 84: o, 85: c, 86: h, 87: f, 88: p, 89: g }), e5(s, [2, 25]), e5(s, [2, 21]), { 33: [1, 143] }, { 33: [2, 69] }, { 73: [1, 145], 80: 144 }, { 33: [1, 146] }, { 33: [2, 75] }, e5(B, [2, 12]), e5(O, [2, 27]), e5(W, [2, 33]), { 33: [2, 80], 42: 147, 78: 148, 79: xe }, e5(gt, [2, 77]), e5(bt, [2, 79]), e5(T, [2, 15]), { 73: [1, 150], 81: [1, 149] }, e5(Ar, [2, 108]), e5(D, [2, 16]), { 33: [1, 151] }, { 33: [2, 81] }, { 33: [2, 37] }, e5(Ar, [2, 109]), e5(T, [2, 17])], defaultActions: { 4: [2, 1], 62: [2, 46], 63: [2, 47], 72: [2, 61], 74: [2, 20], 78: [2, 63], 90: [2, 87], 100: [2, 91], 104: [2, 18], 108: [2, 95], 118: [2, 59], 121: [2, 99], 125: [2, 103], 127: [2, 19], 128: [2, 83], 133: [2, 69], 136: [2, 75], 148: [2, 81], 149: [2, 37] }, parseError: function(b, S) {
480
+ if (S.recoverable) this.trace(b);
733
481
  else {
734
- var g = new Error(d);
735
- throw g.hash = k, g;
482
+ var y = new Error(b);
483
+ throw y.hash = S, y;
736
484
  }
737
- }, parse: function(d) {
738
- var k = this, g = [0], b = [], N = [null], l = [], Pt = this.table, u = "", at = 0, Yt = 0, Ar = 0, Hs = 2, Lr = 1, Fs = l.slice.call(arguments, 1), P = Object.create(this.lexer), dt = { yy: {} };
739
- for (var Oe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Oe) && (dt.yy[Oe] = this.yy[Oe]);
740
- P.setInput(d, dt.yy), dt.yy.lexer = P, dt.yy.parser = this, typeof P.yylloc > "u" && (P.yylloc = {});
741
- var Be = P.yylloc;
742
- l.push(Be);
743
- var Us = P.options && P.options.ranges;
744
- typeof dt.yy.parseError == "function" ? this.parseError = dt.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
745
- function wi(W) {
746
- g.length = g.length - 2 * W, N.length = N.length - W, l.length = l.length - W;
485
+ }, parse: function(b) {
486
+ var S = this, y = [0], m = [], w = [null], l = [], yt = this.table, u = "", Z = 0, Lt = 0, Pr = 0, Vn = 2, Cr = 1, Fn = l.slice.call(arguments, 1), x = Object.create(this.lexer), ot = { yy: {} };
487
+ for (var Pe in this.yy) Object.prototype.hasOwnProperty.call(this.yy, Pe) && (ot.yy[Pe] = this.yy[Pe]);
488
+ x.setInput(b, ot.yy), ot.yy.lexer = x, ot.yy.parser = this, typeof x.yylloc > "u" && (x.yylloc = {});
489
+ var Ce = x.yylloc;
490
+ l.push(Ce);
491
+ var Hn = x.options && x.options.ranges;
492
+ typeof ot.yy.parseError == "function" ? this.parseError = ot.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
493
+ function Ci(Y) {
494
+ y.length = y.length - 2 * Y, w.length = w.length - Y, l.length = l.length - Y;
747
495
  }
748
- for (var Ms = function() {
749
- var W;
750
- return W = P.lex() || Lr, typeof W != "number" && (W = k.symbols_[W] || W), W;
751
- }, O, Ie, gt, M, Ti, Re, At = {}, he, Z, Dr, pe; ; ) {
752
- if (gt = g[g.length - 1], this.defaultActions[gt] ? M = this.defaultActions[gt] : ((O === null || typeof O > "u") && (O = Ms()), M = Pt[gt] && Pt[gt][O]), typeof M > "u" || !M.length || !M[0]) {
753
- var qe = "";
754
- pe = [];
755
- for (he in Pt[gt]) this.terminals_[he] && he > Hs && pe.push("'" + this.terminals_[he] + "'");
756
- P.showPosition ? qe = "Parse error on line " + (at + 1) + `:
757
- ` + P.showPosition() + `
758
- Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe = "Parse error on line " + (at + 1) + ": Unexpected " + (O == Lr ? "end of input" : "'" + (this.terminals_[O] || O) + "'"), this.parseError(qe, { text: P.match, token: this.terminals_[O] || O, line: P.yylineno, loc: Be, expected: pe });
496
+ for (var Un = function() {
497
+ var Y;
498
+ return Y = x.lex() || Cr, typeof Y != "number" && (Y = S.symbols_[Y] || Y), Y;
499
+ }, L, _e2, lt, q, _i, Le, St = {}, jt, j, _r, Qt; ; ) {
500
+ if (lt = y[y.length - 1], this.defaultActions[lt] ? q = this.defaultActions[lt] : ((L === null || typeof L > "u") && (L = Un()), q = yt[lt] && yt[lt][L]), typeof q > "u" || !q.length || !q[0]) {
501
+ var De = "";
502
+ Qt = [];
503
+ for (jt in yt[lt]) this.terminals_[jt] && jt > Vn && Qt.push("'" + this.terminals_[jt] + "'");
504
+ x.showPosition ? De = "Parse error on line " + (Z + 1) + `:
505
+ ` + x.showPosition() + `
506
+ Expecting ` + Qt.join(", ") + ", got '" + (this.terminals_[L] || L) + "'" : De = "Parse error on line " + (Z + 1) + ": Unexpected " + (L == Cr ? "end of input" : "'" + (this.terminals_[L] || L) + "'"), this.parseError(De, { text: x.match, token: this.terminals_[L] || L, line: x.yylineno, loc: Ce, expected: Qt });
759
507
  }
760
- if (M[0] instanceof Array && M.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + gt + ", token: " + O);
761
- switch (M[0]) {
508
+ if (q[0] instanceof Array && q.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + lt + ", token: " + L);
509
+ switch (q[0]) {
762
510
  case 1:
763
- g.push(O), N.push(P.yytext), l.push(P.yylloc), g.push(M[1]), O = null, Ie ? (O = Ie, Ie = null) : (Yt = P.yyleng, u = P.yytext, at = P.yylineno, Be = P.yylloc, Ar > 0 && Ar--);
511
+ y.push(L), w.push(x.yytext), l.push(x.yylloc), y.push(q[1]), L = null, _e2 ? (L = _e2, _e2 = null) : (Lt = x.yyleng, u = x.yytext, Z = x.yylineno, Ce = x.yylloc, Pr > 0 && Pr--);
764
512
  break;
765
513
  case 2:
766
- if (Z = this.productions_[M[1]][1], At.$ = N[N.length - Z], At._$ = { first_line: l[l.length - (Z || 1)].first_line, last_line: l[l.length - 1].last_line, first_column: l[l.length - (Z || 1)].first_column, last_column: l[l.length - 1].last_column }, Us && (At._$.range = [l[l.length - (Z || 1)].range[0], l[l.length - 1].range[1]]), Re = this.performAction.apply(At, [u, Yt, at, dt.yy, M[1], N, l].concat(Fs)), typeof Re < "u") return Re;
767
- Z && (g = g.slice(0, -1 * Z * 2), N = N.slice(0, -1 * Z), l = l.slice(0, -1 * Z)), g.push(this.productions_[M[1]][0]), N.push(At.$), l.push(At._$), Dr = Pt[g[g.length - 2]][g[g.length - 1]], g.push(Dr);
514
+ if (j = this.productions_[q[1]][1], St.$ = w[w.length - j], St._$ = { first_line: l[l.length - (j || 1)].first_line, last_line: l[l.length - 1].last_line, first_column: l[l.length - (j || 1)].first_column, last_column: l[l.length - 1].last_column }, Hn && (St._$.range = [l[l.length - (j || 1)].range[0], l[l.length - 1].range[1]]), Le = this.performAction.apply(St, [u, Lt, Z, ot.yy, q[1], w, l].concat(Fn)), typeof Le < "u") return Le;
515
+ j && (y = y.slice(0, -1 * j * 2), w = w.slice(0, -1 * j), l = l.slice(0, -1 * j)), y.push(this.productions_[q[1]][0]), w.push(St.$), l.push(St._$), _r = yt[y[y.length - 2]][y[y.length - 1]], y.push(_r);
768
516
  break;
769
517
  case 3:
770
518
  return true;
771
519
  }
772
520
  }
773
521
  return true;
774
- } }, Vs = /* @__PURE__ */ (function() {
775
- var it = { EOF: 1, parseError: function(k, g) {
776
- if (this.yy.parser) this.yy.parser.parseError(k, g);
777
- else throw new Error(k);
778
- }, setInput: function(d, k) {
779
- return this.yy = k || this.yy || {}, this._input = d, this._more = this._backtrack = this.done = false, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
522
+ } }, qn = /* @__PURE__ */ (function() {
523
+ var X = { EOF: 1, parseError: function(S, y) {
524
+ if (this.yy.parser) this.yy.parser.parseError(S, y);
525
+ else throw new Error(S);
526
+ }, setInput: function(b, S) {
527
+ return this.yy = S || this.yy || {}, this._input = b, this._more = this._backtrack = this.done = false, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
780
528
  }, input: function() {
781
- var d = this._input[0];
782
- this.yytext += d, this.yyleng++, this.offset++, this.match += d, this.matched += d;
783
- var k = d.match(/(?:\r\n?|\n).*/g);
784
- return k ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), d;
785
- }, unput: function(d) {
786
- var k = d.length, g = d.split(/(?:\r\n?|\n)/g);
787
- this._input = d + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - k), this.offset -= k;
788
- var b = this.match.split(/(?:\r\n?|\n)/g);
789
- this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), g.length - 1 && (this.yylineno -= g.length - 1);
790
- var N = this.yylloc.range;
791
- return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: g ? (g.length === b.length ? this.yylloc.first_column : 0) + b[b.length - g.length].length - g[0].length : this.yylloc.first_column - k }, this.options.ranges && (this.yylloc.range = [N[0], N[0] + this.yyleng - k]), this.yyleng = this.yytext.length, this;
529
+ var b = this._input[0];
530
+ this.yytext += b, this.yyleng++, this.offset++, this.match += b, this.matched += b;
531
+ var S = b.match(/(?:\r\n?|\n).*/g);
532
+ return S ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), b;
533
+ }, unput: function(b) {
534
+ var S = b.length, y = b.split(/(?:\r\n?|\n)/g);
535
+ this._input = b + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - S), this.offset -= S;
536
+ var m = this.match.split(/(?:\r\n?|\n)/g);
537
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), y.length - 1 && (this.yylineno -= y.length - 1);
538
+ var w = this.yylloc.range;
539
+ return this.yylloc = { first_line: this.yylloc.first_line, last_line: this.yylineno + 1, first_column: this.yylloc.first_column, last_column: y ? (y.length === m.length ? this.yylloc.first_column : 0) + m[m.length - y.length].length - y[0].length : this.yylloc.first_column - S }, this.options.ranges && (this.yylloc.range = [w[0], w[0] + this.yyleng - S]), this.yyleng = this.yytext.length, this;
792
540
  }, more: function() {
793
541
  return this._more = true, this;
794
542
  }, reject: function() {
@@ -796,66 +544,66 @@ Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe =
796
544
  else return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
797
545
  ` + this.showPosition(), { text: "", token: null, line: this.yylineno });
798
546
  return this;
799
- }, less: function(d) {
800
- this.unput(this.match.slice(d));
547
+ }, less: function(b) {
548
+ this.unput(this.match.slice(b));
801
549
  }, pastInput: function() {
802
- var d = this.matched.substr(0, this.matched.length - this.match.length);
803
- return (d.length > 20 ? "..." : "") + d.substr(-20).replace(/\n/g, "");
550
+ var b = this.matched.substr(0, this.matched.length - this.match.length);
551
+ return (b.length > 20 ? "..." : "") + b.substr(-20).replace(/\n/g, "");
804
552
  }, upcomingInput: function() {
805
- var d = this.match;
806
- return d.length < 20 && (d += this._input.substr(0, 20 - d.length)), (d.substr(0, 20) + (d.length > 20 ? "..." : "")).replace(/\n/g, "");
553
+ var b = this.match;
554
+ return b.length < 20 && (b += this._input.substr(0, 20 - b.length)), (b.substr(0, 20) + (b.length > 20 ? "..." : "")).replace(/\n/g, "");
807
555
  }, showPosition: function() {
808
- var d = this.pastInput(), k = new Array(d.length + 1).join("-");
809
- return d + this.upcomingInput() + `
810
- ` + k + "^";
811
- }, test_match: function(d, k) {
812
- var g, b, N;
813
- if (this.options.backtrack_lexer && (N = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (N.yylloc.range = this.yylloc.range.slice(0))), b = d[0].match(/(?:\r\n?|\n).*/g), b && (this.yylineno += b.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: b ? b[b.length - 1].length - b[b.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + d[0].length }, this.yytext += d[0], this.match += d[0], this.matches = d, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = false, this._backtrack = false, this._input = this._input.slice(d[0].length), this.matched += d[0], g = this.performAction.call(this, this.yy, this, k, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = false), g) return g;
556
+ var b = this.pastInput(), S = new Array(b.length + 1).join("-");
557
+ return b + this.upcomingInput() + `
558
+ ` + S + "^";
559
+ }, test_match: function(b, S) {
560
+ var y, m, w;
561
+ if (this.options.backtrack_lexer && (w = { yylineno: this.yylineno, yylloc: { first_line: this.yylloc.first_line, last_line: this.last_line, first_column: this.yylloc.first_column, last_column: this.yylloc.last_column }, yytext: this.yytext, match: this.match, matches: this.matches, matched: this.matched, yyleng: this.yyleng, offset: this.offset, _more: this._more, _input: this._input, yy: this.yy, conditionStack: this.conditionStack.slice(0), done: this.done }, this.options.ranges && (w.yylloc.range = this.yylloc.range.slice(0))), m = b[0].match(/(?:\r\n?|\n).*/g), m && (this.yylineno += m.length), this.yylloc = { first_line: this.yylloc.last_line, last_line: this.yylineno + 1, first_column: this.yylloc.last_column, last_column: m ? m[m.length - 1].length - m[m.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + b[0].length }, this.yytext += b[0], this.match += b[0], this.matches = b, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = false, this._backtrack = false, this._input = this._input.slice(b[0].length), this.matched += b[0], y = this.performAction.call(this, this.yy, this, S, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = false), y) return y;
814
562
  if (this._backtrack) {
815
- for (var l in N) this[l] = N[l];
563
+ for (var l in w) this[l] = w[l];
816
564
  return false;
817
565
  }
818
566
  return false;
819
567
  }, next: function() {
820
568
  if (this.done) return this.EOF;
821
569
  this._input || (this.done = true);
822
- var d, k, g, b;
570
+ var b, S, y, m;
823
571
  this._more || (this.yytext = "", this.match = "");
824
- for (var N = this._currentRules(), l = 0; l < N.length; l++) if (g = this._input.match(this.rules[N[l]]), g && (!k || g[0].length > k[0].length)) {
825
- if (k = g, b = l, this.options.backtrack_lexer) {
826
- if (d = this.test_match(g, N[l]), d !== false) return d;
572
+ for (var w = this._currentRules(), l = 0; l < w.length; l++) if (y = this._input.match(this.rules[w[l]]), y && (!S || y[0].length > S[0].length)) {
573
+ if (S = y, m = l, this.options.backtrack_lexer) {
574
+ if (b = this.test_match(y, w[l]), b !== false) return b;
827
575
  if (this._backtrack) {
828
- k = false;
576
+ S = false;
829
577
  continue;
830
578
  } else return false;
831
579
  } else if (!this.options.flex) break;
832
580
  }
833
- return k ? (d = this.test_match(k, N[b]), d !== false ? d : false) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
581
+ return S ? (b = this.test_match(S, w[m]), b !== false ? b : false) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
834
582
  ` + this.showPosition(), { text: "", token: null, line: this.yylineno });
835
583
  }, lex: function() {
836
- var k = this.next();
837
- return k || this.lex();
838
- }, begin: function(k) {
839
- this.conditionStack.push(k);
584
+ var S = this.next();
585
+ return S || this.lex();
586
+ }, begin: function(S) {
587
+ this.conditionStack.push(S);
840
588
  }, popState: function() {
841
- var k = this.conditionStack.length - 1;
842
- return k > 0 ? this.conditionStack.pop() : this.conditionStack[0];
589
+ var S = this.conditionStack.length - 1;
590
+ return S > 0 ? this.conditionStack.pop() : this.conditionStack[0];
843
591
  }, _currentRules: function() {
844
592
  return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
845
- }, topState: function(k) {
846
- return k = this.conditionStack.length - 1 - Math.abs(k || 0), k >= 0 ? this.conditionStack[k] : "INITIAL";
847
- }, pushState: function(k) {
848
- this.begin(k);
593
+ }, topState: function(S) {
594
+ return S = this.conditionStack.length - 1 - Math.abs(S || 0), S >= 0 ? this.conditionStack[S] : "INITIAL";
595
+ }, pushState: function(S) {
596
+ this.begin(S);
849
597
  }, stateStackSize: function() {
850
598
  return this.conditionStack.length;
851
- }, options: {}, performAction: function(k, g, b, N) {
852
- function l(u, at) {
853
- return g.yytext = g.yytext.substring(u, g.yyleng - at + u);
599
+ }, options: {}, performAction: function(S, y, m, w) {
600
+ function l(u, Z) {
601
+ return y.yytext = y.yytext.substring(u, y.yyleng - Z + u);
854
602
  }
855
- var Pt = N;
856
- switch (b) {
603
+ var yt = w;
604
+ switch (m) {
857
605
  case 0:
858
- if (g.yytext.slice(-2) === "\\\\" ? (l(0, 1), this.begin("mu")) : g.yytext.slice(-1) === "\\" ? (l(0, 1), this.begin("emu")) : this.begin("mu"), g.yytext) return 15;
606
+ if (y.yytext.slice(-2) === "\\\\" ? (l(0, 1), this.begin("mu")) : y.yytext.slice(-1) === "\\" ? (l(0, 1), this.begin("emu")) : this.begin("mu"), y.yytext) return 15;
859
607
  break;
860
608
  case 1:
861
609
  return 15;
@@ -873,131 +621,139 @@ Expecting ` + pe.join(", ") + ", got '" + (this.terminals_[O] || O) + "'" : qe =
873
621
  return this.popState(), 14;
874
622
  break;
875
623
  case 7:
876
- return 64;
877
- case 8:
878
624
  return 67;
625
+ case 8:
626
+ return 68;
879
627
  case 9:
880
- return 19;
881
- case 10:
882
- return this.popState(), this.begin("raw"), 23;
628
+ if (S.syntax.square === "string") this.unput(y.yytext), this.begin("escl");
629
+ else return 75;
883
630
  break;
631
+ case 10:
632
+ return 77;
884
633
  case 11:
885
- return 56;
634
+ return 19;
886
635
  case 12:
887
- return 60;
636
+ return this.popState(), this.begin("raw"), 23;
637
+ break;
888
638
  case 13:
889
- return 29;
639
+ return 57;
890
640
  case 14:
891
- return 47;
641
+ return 61;
892
642
  case 15:
893
- return this.popState(), 44;
894
- break;
643
+ return 29;
895
644
  case 16:
645
+ return 47;
646
+ case 17:
896
647
  return this.popState(), 44;
897
648
  break;
898
- case 17:
899
- return 34;
900
649
  case 18:
901
- return 39;
650
+ return this.popState(), 44;
651
+ break;
902
652
  case 19:
903
- return 52;
653
+ return 34;
904
654
  case 20:
905
- return 48;
655
+ return 39;
906
656
  case 21:
907
- this.unput(g.yytext), this.popState(), this.begin("com");
908
- break;
657
+ return 53;
909
658
  case 22:
910
- return this.popState(), 14;
911
- break;
912
- case 23:
913
659
  return 48;
660
+ case 23:
661
+ this.unput(y.yytext), this.popState(), this.begin("com");
662
+ break;
914
663
  case 24:
915
- return 72;
664
+ return this.popState(), 14;
665
+ break;
916
666
  case 25:
917
- return 71;
667
+ return 48;
918
668
  case 26:
919
- return 71;
669
+ return 74;
920
670
  case 27:
921
- return 86;
671
+ return 73;
922
672
  case 28:
923
- break;
673
+ return 73;
924
674
  case 29:
925
- return this.popState(), 55;
926
- break;
675
+ return 93;
927
676
  case 30:
928
- return this.popState(), 33;
929
- break;
677
+ return 92;
930
678
  case 31:
931
- return g.yytext = l(1, 2).replace(/\\"/g, '"'), 79;
932
679
  break;
933
680
  case 32:
934
- return g.yytext = l(1, 2).replace(/\\'/g, "'"), 79;
681
+ return this.popState(), 56;
935
682
  break;
936
683
  case 33:
937
- return 84;
684
+ return this.popState(), 33;
685
+ break;
938
686
  case 34:
939
- return 81;
687
+ return y.yytext = l(1, 2).replace(/\\"/g, '"'), 84;
688
+ break;
940
689
  case 35:
941
- return 81;
690
+ return y.yytext = l(1, 2).replace(/\\'/g, "'"), 84;
691
+ break;
942
692
  case 36:
943
- return 82;
693
+ return 89;
944
694
  case 37:
945
- return 83;
695
+ return 86;
946
696
  case 38:
947
- return 80;
697
+ return 86;
948
698
  case 39:
949
- return 74;
699
+ return 87;
950
700
  case 40:
951
- return 76;
701
+ return 88;
952
702
  case 41:
953
- return 71;
703
+ return 85;
954
704
  case 42:
955
- return g.yytext = g.yytext.replace(/\\([\\\]])/g, "$1"), 71;
956
- break;
705
+ return 79;
957
706
  case 43:
958
- return "INVALID";
707
+ return 81;
959
708
  case 44:
709
+ return 73;
710
+ case 45:
711
+ return y.yytext = y.yytext.replace(/\\([\\\]])/g, "$1"), this.popState(), 73;
712
+ break;
713
+ case 46:
714
+ return "INVALID";
715
+ case 47:
960
716
  return 5;
961
717
  }
962
- }, rules: [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/], conditions: { mu: { rules: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], inclusive: false }, emu: { rules: [2], inclusive: false }, com: { rules: [6], inclusive: false }, raw: { rules: [3, 4, 5], inclusive: false }, INITIAL: { rules: [0, 1, 44], inclusive: true } } };
963
- return it;
718
+ }, rules: [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]+?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\[)/, /^(?:\])/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)\]|])))/, /^(?:\.#)/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)\]])))/, /^(?:false(?=([~}\s)\]])))/, /^(?:undefined(?=([~}\s)\]])))/, /^(?:null(?=([~}\s)\]])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)\]])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)\]|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/], conditions: { mu: { rules: [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47], inclusive: false }, emu: { rules: [2], inclusive: false }, com: { rules: [6], inclusive: false }, raw: { rules: [3, 4, 5], inclusive: false }, escl: { rules: [45], inclusive: false }, INITIAL: { rules: [0, 1, 47], inclusive: true } } };
719
+ return X;
964
720
  })();
965
- De.lexer = Vs;
966
- function _e() {
721
+ Ne.lexer = qn;
722
+ function Ae() {
967
723
  this.yy = {};
968
724
  }
969
- return _e.prototype = De, De.Parser = _e, new _e();
725
+ return Ae.prototype = Ne, Ne.Parser = Ae, new Ae();
970
726
  })();
971
- var Se = In;
972
- var tr = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
973
- function er(e5, t) {
727
+ var Vt = us;
728
+ var Ye = ["description", "fileName", "lineNumber", "endLineNumber", "message", "name", "number", "stack"];
729
+ function Ge(e5, t) {
974
730
  var r = t && t.loc, s, n, i, a;
975
731
  r && (s = r.start.line, n = r.end.line, i = r.start.column, a = r.end.column, e5 += " - " + s + ":" + i);
976
- for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < tr.length; c++) this[tr[c]] = o[tr[c]];
977
- Error.captureStackTrace && Error.captureStackTrace(this, er);
732
+ for (var o = Error.prototype.constructor.call(this, e5), c = 0; c < Ye.length; c++) this[Ye[c]] = o[Ye[c]];
733
+ Error.captureStackTrace && Error.captureStackTrace(this, Ge);
978
734
  try {
979
735
  r && (this.lineNumber = s, this.endLineNumber = n, Object.defineProperty ? (Object.defineProperty(this, "column", { value: i, enumerable: true }), Object.defineProperty(this, "endColumn", { value: a, enumerable: true })) : (this.column = i, this.endColumn = a));
980
736
  } catch {
981
737
  }
982
738
  }
983
- er.prototype = new Error();
984
- var ot = er;
985
- function Ee() {
739
+ Ge.prototype = new Error();
740
+ var tt = Ge;
741
+ function le() {
986
742
  this.parents = [];
987
743
  }
988
- Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
744
+ le.prototype = { constructor: le, mutating: false, acceptKey: function(e5, t) {
989
745
  var r = this.accept(e5[t]);
990
746
  if (this.mutating) {
991
- if (r && !Ee.prototype[r.type]) throw new ot('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
747
+ if (r && !le.prototype[r.type]) throw new tt('Unexpected node type "' + r.type + '" found when accepting ' + t + " on " + e5.type);
992
748
  e5[t] = r;
993
749
  }
994
750
  }, acceptRequired: function(e5, t) {
995
- if (this.acceptKey(e5, t), !e5[t]) throw new ot(e5.type + " requires " + t);
751
+ if (this.acceptKey(e5, t), !e5[t]) throw new tt(e5.type + " requires " + t);
996
752
  }, acceptArray: function(e5) {
997
753
  for (var t = 0, r = e5.length; t < r; t++) this.acceptKey(e5, t), e5[t] || (e5.splice(t, 1), t--, r--);
998
754
  }, accept: function(e5) {
999
755
  if (e5) {
1000
- if (!this[e5.type]) throw new ot("Unknown type: " + e5.type, e5);
756
+ if (!this[e5.type]) throw new tt("Unknown type: " + e5.type, e5);
1001
757
  this.current && this.parents.unshift(this.current), this.current = e5;
1002
758
  var t = this[e5.type](e5);
1003
759
  if (this.current = this.parents.shift(), !this.mutating || t) return t;
@@ -1005,11 +761,11 @@ Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
1005
761
  }
1006
762
  }, Program: function(e5) {
1007
763
  this.acceptArray(e5.body);
1008
- }, MustacheStatement: ve, Decorator: ve, BlockStatement: ds, DecoratorBlock: ds, PartialStatement: gs, PartialBlockStatement: function(e5) {
1009
- gs.call(this, e5), this.acceptKey(e5, "program");
764
+ }, MustacheStatement: ce, Decorator: ce, BlockStatement: Gr, DecoratorBlock: Gr, PartialStatement: Kr, PartialBlockStatement: function(e5) {
765
+ Kr.call(this, e5), this.acceptKey(e5, "program");
1010
766
  }, ContentStatement: function() {
1011
767
  }, CommentStatement: function() {
1012
- }, SubExpression: ve, PathExpression: function() {
768
+ }, SubExpression: ce, PathExpression: function() {
1013
769
  }, StringLiteral: function() {
1014
770
  }, NumberLiteral: function() {
1015
771
  }, BooleanLiteral: function() {
@@ -1020,185 +776,201 @@ Ee.prototype = { constructor: Ee, mutating: false, acceptKey: function(e5, t) {
1020
776
  }, HashPair: function(e5) {
1021
777
  this.acceptRequired(e5, "value");
1022
778
  } };
1023
- function ve(e5) {
779
+ function ce(e5) {
1024
780
  this.acceptRequired(e5, "path"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
1025
781
  }
1026
- function ds(e5) {
1027
- ve.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
782
+ function Gr(e5) {
783
+ ce.call(this, e5), this.acceptKey(e5, "program"), this.acceptKey(e5, "inverse");
1028
784
  }
1029
- function gs(e5) {
785
+ function Kr(e5) {
1030
786
  this.acceptRequired(e5, "name"), this.acceptArray(e5.params), this.acceptKey(e5, "hash");
1031
787
  }
1032
- var bs = Ee;
1033
- function Q(e5) {
788
+ var Wr = le;
789
+ function G(e5) {
1034
790
  e5 === void 0 && (e5 = {}), this.options = e5;
1035
791
  }
1036
- Q.prototype = new bs();
1037
- Q.prototype.Program = function(e5) {
792
+ G.prototype = new Wr();
793
+ G.prototype.Program = function(e5) {
1038
794
  var t = !this.options.ignoreStandalone, r = !this.isRootSeen;
1039
795
  this.isRootSeen = true;
1040
796
  for (var s = e5.body, n = 0, i = s.length; n < i; n++) {
1041
797
  var a = s[n], o = this.accept(a);
1042
798
  if (o) {
1043
- var c = rr(s, n, r), h = sr(s, n, r), p = o.openStandalone && c, m = o.closeStandalone && h, S = o.inlineStandalone && c && h;
1044
- o.close && Et(s, n, true), o.open && lt(s, n, true), t && S && (Et(s, n), lt(s, n) && a.type === "PartialStatement" && (a.indent = /([ \t]+$)/.exec(s[n - 1].original)[1])), t && p && (Et((a.program || a.inverse).body), lt(s, n)), t && m && (Et(s, n), lt((a.inverse || a.program).body));
799
+ var c = Ke(s, n, r), h = We(s, n, r), f = o.openStandalone && c, p = o.closeStandalone && h, g = o.inlineStandalone && c && h;
800
+ o.close && pt(s, n, true), o.open && et(s, n, true), t && g && (pt(s, n), et(s, n) && a.type === "PartialStatement" && (a.indent = /([ \t]+$)/.exec(s[n - 1].original)[1])), t && f && (pt((a.program || a.inverse).body), et(s, n)), t && p && (pt(s, n), et((a.inverse || a.program).body));
1045
801
  }
1046
802
  }
1047
803
  return e5;
1048
804
  };
1049
- Q.prototype.BlockStatement = Q.prototype.DecoratorBlock = Q.prototype.PartialBlockStatement = function(e5) {
805
+ G.prototype.BlockStatement = G.prototype.DecoratorBlock = G.prototype.PartialBlockStatement = function(e5) {
1050
806
  this.accept(e5.program), this.accept(e5.inverse);
1051
807
  var t = e5.program || e5.inverse, r = e5.program && e5.inverse, s = r, n = r;
1052
808
  if (r && r.chained) for (s = r.body[0].program; n.chained; ) n = n.body[n.body.length - 1].program;
1053
- var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: sr(t.body), closeStandalone: rr((s || t).body) };
1054
- if (e5.openStrip.close && Et(t.body, null, true), r) {
809
+ var i = { open: e5.openStrip.open, close: e5.closeStrip.close, openStandalone: We(t.body), closeStandalone: Ke((s || t).body) };
810
+ if (e5.openStrip.close && pt(t.body, null, true), r) {
1055
811
  var a = e5.inverseStrip;
1056
- a.open && lt(t.body, null, true), a.close && Et(s.body, null, true), e5.closeStrip.open && lt(n.body, null, true), !this.options.ignoreStandalone && rr(t.body) && sr(s.body) && (lt(t.body), Et(s.body));
1057
- } else e5.closeStrip.open && lt(t.body, null, true);
812
+ a.open && et(t.body, null, true), a.close && pt(s.body, null, true), e5.closeStrip.open && et(n.body, null, true), !this.options.ignoreStandalone && Ke(t.body) && We(s.body) && (et(t.body), pt(s.body));
813
+ } else e5.closeStrip.open && et(t.body, null, true);
1058
814
  return i;
1059
815
  };
1060
- Q.prototype.Decorator = Q.prototype.MustacheStatement = function(e5) {
816
+ G.prototype.Decorator = G.prototype.MustacheStatement = function(e5) {
1061
817
  return e5.strip;
1062
818
  };
1063
- Q.prototype.PartialStatement = Q.prototype.CommentStatement = function(e5) {
819
+ G.prototype.PartialStatement = G.prototype.CommentStatement = function(e5) {
1064
820
  var t = e5.strip || {};
1065
821
  return { inlineStandalone: true, open: t.open, close: t.close };
1066
822
  };
1067
- function rr(e5, t, r) {
823
+ function Ke(e5, t, r) {
1068
824
  t === void 0 && (t = e5.length);
1069
825
  var s = e5[t - 1], n = e5[t - 2];
1070
826
  if (!s) return r;
1071
827
  if (s.type === "ContentStatement") return (n || !r ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(s.original);
1072
828
  }
1073
- function sr(e5, t, r) {
829
+ function We(e5, t, r) {
1074
830
  t === void 0 && (t = -1);
1075
831
  var s = e5[t + 1], n = e5[t + 2];
1076
832
  if (!s) return r;
1077
833
  if (s.type === "ContentStatement") return (n || !r ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(s.original);
1078
834
  }
1079
- function Et(e5, t, r) {
835
+ function pt(e5, t, r) {
1080
836
  var s = e5[t == null ? 0 : t + 1];
1081
837
  if (!(!s || s.type !== "ContentStatement" || !r && s.rightStripped)) {
1082
838
  var n = s.value;
1083
839
  s.value = s.value.replace(r ? /^\s+/ : /^[ \t]*\r?\n?/, ""), s.rightStripped = s.value !== n;
1084
840
  }
1085
841
  }
1086
- function lt(e5, t, r) {
842
+ function et(e5, t, r) {
1087
843
  var s = e5[t == null ? e5.length - 1 : t - 1];
1088
844
  if (!(!s || s.type !== "ContentStatement" || !r && s.leftStripped)) {
1089
845
  var n = s.value;
1090
846
  return s.value = s.value.replace(r ? /\s+$/ : /[ \t]+$/, ""), s.leftStripped = s.value !== n, s.leftStripped;
1091
847
  }
1092
848
  }
1093
- var ys = Q;
1094
- var ne = {};
1095
- Ve(ne, { SourceLocation: () => ir, id: () => Rn, prepareBlock: () => Mn, prepareMustache: () => Fn, preparePartialBlock: () => Yn, preparePath: () => Hn, prepareProgram: () => zn, prepareRawBlock: () => Un, stripComment: () => Vn, stripFlags: () => qn });
1096
- function nr(e5, t) {
849
+ var jr = G;
850
+ var Ft = {};
851
+ Oe(Ft, { SourceLocation: () => Qe, id: () => ps, prepareBlock: () => ys, prepareMustache: () => gs, preparePartialBlock: () => ks, preparePath: () => ds, prepareProgram: () => Ss, prepareRawBlock: () => bs, stripComment: () => ms, stripFlags: () => fs });
852
+ var hs = function(e5, t, r) {
853
+ if (r || arguments.length === 2) for (var s = 0, n = t.length, i; s < n; s++) (i || !(s in t)) && (i || (i = Array.prototype.slice.call(t, 0, s)), i[s] = t[s]);
854
+ return e5.concat(i || Array.prototype.slice.call(t));
855
+ };
856
+ function je(e5, t) {
1097
857
  if (t = t.path ? t.path.original : t, e5.path.original !== t) {
1098
858
  var r = { loc: e5.path.loc };
1099
- throw new ot(e5.path.original + " doesn't match " + t, r);
859
+ throw new tt(e5.path.original + " doesn't match " + t, r);
1100
860
  }
1101
861
  }
1102
- function ir(e5, t) {
862
+ function Qe(e5, t) {
1103
863
  this.source = e5, this.start = { line: t.first_line, column: t.first_column }, this.end = { line: t.last_line, column: t.last_column };
1104
864
  }
1105
- function Rn(e5) {
865
+ function ps(e5) {
1106
866
  return /^\[.*\]$/.test(e5) ? e5.substring(1, e5.length - 1) : e5;
1107
867
  }
1108
- function qn(e5, t) {
868
+ function fs(e5, t) {
1109
869
  return { open: e5.charAt(2) === "~", close: t.charAt(t.length - 3) === "~" };
1110
870
  }
1111
- function Vn(e5) {
871
+ function ms(e5) {
1112
872
  return e5.replace(/^\{\{~?!-?-?/, "").replace(/-?-?~?\}\}$/, "");
1113
873
  }
1114
- function Hn(e5, t, r) {
1115
- r = this.locInfo(r);
1116
- for (var s = e5 ? "@" : "", n = [], i = 0, a = 0, o = t.length; a < o; a++) {
1117
- var c = t[a].part, h = t[a].original !== c;
1118
- if (s += (t[a].separator || "") + c, !h && (c === ".." || c === "." || c === "this")) {
1119
- if (n.length > 0) throw new ot("Invalid path: " + s, { loc: r });
1120
- c === ".." && i++;
1121
- } else n.push(c);
1122
- }
1123
- return { type: "PathExpression", data: e5, depth: i, parts: n, original: s, loc: r };
1124
- }
1125
- function Fn(e5, t, r, s, n, i) {
874
+ function ds(e5, t, r, s) {
875
+ s = this.locInfo(s);
876
+ var n;
877
+ e5 ? n = "@" : t ? n = t.original + "." : n = "";
878
+ for (var i = [], a = 0, o = 0, c = r.length; o < c; o++) {
879
+ var h = r[o].part, f = r[o].original !== h, p = r[o].separator, g = p === ".#" ? "#" : "";
880
+ if (n += (p || "") + h, !f && (h === ".." || h === "." || h === "this")) {
881
+ if (i.length > 0) throw new tt("Invalid path: " + n, { loc: s });
882
+ h === ".." && a++;
883
+ } else i.push("".concat(g).concat(h));
884
+ }
885
+ var E = t || i.shift();
886
+ return { type: "PathExpression", this: n.startsWith("this."), data: e5, depth: a, head: E, tail: i, parts: E ? hs([E], i, true) : i, original: n, loc: s };
887
+ }
888
+ function gs(e5, t, r, s, n, i) {
1126
889
  var a = s.charAt(3) || s.charAt(2), o = a !== "{" && a !== "&", c = /\*/.test(s);
1127
890
  return { type: c ? "Decorator" : "MustacheStatement", path: e5, params: t, hash: r, escaped: o, strip: n, loc: this.locInfo(i) };
1128
891
  }
1129
- function Un(e5, t, r, s) {
1130
- nr(e5, r), s = this.locInfo(s);
892
+ function bs(e5, t, r, s) {
893
+ je(e5, r), s = this.locInfo(s);
1131
894
  var n = { type: "Program", body: t, strip: {}, loc: s };
1132
895
  return { type: "BlockStatement", path: e5.path, params: e5.params, hash: e5.hash, program: n, openStrip: {}, inverseStrip: {}, closeStrip: {}, loc: s };
1133
896
  }
1134
- function Mn(e5, t, r, s, n, i) {
1135
- s && s.path && nr(e5, s);
897
+ function ys(e5, t, r, s, n, i) {
898
+ s && s.path && je(e5, s);
1136
899
  var a = /\*/.test(e5.open);
1137
900
  t.blockParams = e5.blockParams;
1138
901
  var o, c;
1139
902
  if (r) {
1140
- if (a) throw new ot("Unexpected inverse block on decorator", r);
903
+ if (a) throw new tt("Unexpected inverse block on decorator", r);
1141
904
  r.chain && (r.program.body[0].closeStrip = s.strip), c = r.strip, o = r.program;
1142
905
  }
1143
906
  return n && (n = o, o = t, t = n), { type: a ? "DecoratorBlock" : "BlockStatement", path: e5.path, params: e5.params, hash: e5.hash, program: t, inverse: o, openStrip: e5.strip, inverseStrip: c, closeStrip: s && s.strip, loc: this.locInfo(i) };
1144
907
  }
1145
- function zn(e5, t) {
908
+ function Ss(e5, t) {
1146
909
  if (!t && e5.length) {
1147
910
  var r = e5[0].loc, s = e5[e5.length - 1].loc;
1148
911
  r && s && (t = { source: r.source, start: { line: r.start.line, column: r.start.column }, end: { line: s.end.line, column: s.end.column } });
1149
912
  }
1150
913
  return { type: "Program", body: e5, strip: {}, loc: t };
1151
914
  }
1152
- function Yn(e5, t, r, s) {
1153
- return nr(e5, r), { type: "PartialBlockStatement", name: e5.path, params: e5.params, hash: e5.hash, program: t, openStrip: e5.strip, closeStrip: r && r.strip, loc: this.locInfo(s) };
915
+ function ks(e5, t, r, s) {
916
+ return je(e5, r), { type: "PartialBlockStatement", name: e5.path, params: e5.params, hash: e5.hash, program: t, openStrip: e5.strip, closeStrip: r && r.strip, loc: this.locInfo(s) };
1154
917
  }
1155
- var ks = {};
1156
- for (we in ne) Object.prototype.hasOwnProperty.call(ne, we) && (ks[we] = ne[we]);
1157
- var we;
1158
- function Te(e5, t) {
918
+ var Qr = {};
919
+ for (ue in Ft) Object.prototype.hasOwnProperty.call(Ft, ue) && (Qr[ue] = Ft[ue]);
920
+ var ue;
921
+ function he(e5, t) {
922
+ var r, s, n;
1159
923
  if (e5.type === "Program") return e5;
1160
- Se.yy = ks, Se.yy.locInfo = function(s) {
1161
- return new ir(t && t.srcName, s);
924
+ Vt.yy = Qr, Vt.yy.locInfo = function(o) {
925
+ return new Qe(t && t.srcName, o);
1162
926
  };
1163
- var r = Se.parse(e5);
1164
- return r;
927
+ var i;
928
+ typeof ((r = t?.syntax) === null || r === void 0 ? void 0 : r.square) == "function" ? i = t.syntax.square : ((s = t?.syntax) === null || s === void 0 ? void 0 : s.square) === "node" ? i = Es : i = "string";
929
+ var a;
930
+ return typeof ((n = t?.syntax) === null || n === void 0 ? void 0 : n.hash) == "function" ? a = t.syntax.hash : a = vs, Vt.yy.syntax = { square: i, hash: a }, Vt.parse(e5);
931
+ }
932
+ function Es(e5, t) {
933
+ return { type: "ArrayLiteral", items: e5, loc: t };
934
+ }
935
+ function vs(e5, t) {
936
+ return { type: "HashLiteral", pairs: e5.pairs, loc: t };
1165
937
  }
1166
- function ar(e5, t) {
1167
- var r = Te(e5, t), s = new ys(t);
938
+ function Je(e5, t) {
939
+ var r = he(e5, t), s = new jr(t);
1168
940
  return s.accept(r);
1169
941
  }
1170
- var Es = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: `
942
+ var $r = { Aacute: "\xC1", aacute: "\xE1", Abreve: "\u0102", abreve: "\u0103", ac: "\u223E", acd: "\u223F", acE: "\u223E\u0333", Acirc: "\xC2", acirc: "\xE2", acute: "\xB4", Acy: "\u0410", acy: "\u0430", AElig: "\xC6", aelig: "\xE6", af: "\u2061", Afr: "\u{1D504}", afr: "\u{1D51E}", Agrave: "\xC0", agrave: "\xE0", alefsym: "\u2135", aleph: "\u2135", Alpha: "\u0391", alpha: "\u03B1", Amacr: "\u0100", amacr: "\u0101", amalg: "\u2A3F", amp: "&", AMP: "&", andand: "\u2A55", And: "\u2A53", and: "\u2227", andd: "\u2A5C", andslope: "\u2A58", andv: "\u2A5A", ang: "\u2220", ange: "\u29A4", angle: "\u2220", angmsdaa: "\u29A8", angmsdab: "\u29A9", angmsdac: "\u29AA", angmsdad: "\u29AB", angmsdae: "\u29AC", angmsdaf: "\u29AD", angmsdag: "\u29AE", angmsdah: "\u29AF", angmsd: "\u2221", angrt: "\u221F", angrtvb: "\u22BE", angrtvbd: "\u299D", angsph: "\u2222", angst: "\xC5", angzarr: "\u237C", Aogon: "\u0104", aogon: "\u0105", Aopf: "\u{1D538}", aopf: "\u{1D552}", apacir: "\u2A6F", ap: "\u2248", apE: "\u2A70", ape: "\u224A", apid: "\u224B", apos: "'", ApplyFunction: "\u2061", approx: "\u2248", approxeq: "\u224A", Aring: "\xC5", aring: "\xE5", Ascr: "\u{1D49C}", ascr: "\u{1D4B6}", Assign: "\u2254", ast: "*", asymp: "\u2248", asympeq: "\u224D", Atilde: "\xC3", atilde: "\xE3", Auml: "\xC4", auml: "\xE4", awconint: "\u2233", awint: "\u2A11", backcong: "\u224C", backepsilon: "\u03F6", backprime: "\u2035", backsim: "\u223D", backsimeq: "\u22CD", Backslash: "\u2216", Barv: "\u2AE7", barvee: "\u22BD", barwed: "\u2305", Barwed: "\u2306", barwedge: "\u2305", bbrk: "\u23B5", bbrktbrk: "\u23B6", bcong: "\u224C", Bcy: "\u0411", bcy: "\u0431", bdquo: "\u201E", becaus: "\u2235", because: "\u2235", Because: "\u2235", bemptyv: "\u29B0", bepsi: "\u03F6", bernou: "\u212C", Bernoullis: "\u212C", Beta: "\u0392", beta: "\u03B2", beth: "\u2136", between: "\u226C", Bfr: "\u{1D505}", bfr: "\u{1D51F}", bigcap: "\u22C2", bigcirc: "\u25EF", bigcup: "\u22C3", bigodot: "\u2A00", bigoplus: "\u2A01", bigotimes: "\u2A02", bigsqcup: "\u2A06", bigstar: "\u2605", bigtriangledown: "\u25BD", bigtriangleup: "\u25B3", biguplus: "\u2A04", bigvee: "\u22C1", bigwedge: "\u22C0", bkarow: "\u290D", blacklozenge: "\u29EB", blacksquare: "\u25AA", blacktriangle: "\u25B4", blacktriangledown: "\u25BE", blacktriangleleft: "\u25C2", blacktriangleright: "\u25B8", blank: "\u2423", blk12: "\u2592", blk14: "\u2591", blk34: "\u2593", block: "\u2588", bne: "=\u20E5", bnequiv: "\u2261\u20E5", bNot: "\u2AED", bnot: "\u2310", Bopf: "\u{1D539}", bopf: "\u{1D553}", bot: "\u22A5", bottom: "\u22A5", bowtie: "\u22C8", boxbox: "\u29C9", boxdl: "\u2510", boxdL: "\u2555", boxDl: "\u2556", boxDL: "\u2557", boxdr: "\u250C", boxdR: "\u2552", boxDr: "\u2553", boxDR: "\u2554", boxh: "\u2500", boxH: "\u2550", boxhd: "\u252C", boxHd: "\u2564", boxhD: "\u2565", boxHD: "\u2566", boxhu: "\u2534", boxHu: "\u2567", boxhU: "\u2568", boxHU: "\u2569", boxminus: "\u229F", boxplus: "\u229E", boxtimes: "\u22A0", boxul: "\u2518", boxuL: "\u255B", boxUl: "\u255C", boxUL: "\u255D", boxur: "\u2514", boxuR: "\u2558", boxUr: "\u2559", boxUR: "\u255A", boxv: "\u2502", boxV: "\u2551", boxvh: "\u253C", boxvH: "\u256A", boxVh: "\u256B", boxVH: "\u256C", boxvl: "\u2524", boxvL: "\u2561", boxVl: "\u2562", boxVL: "\u2563", boxvr: "\u251C", boxvR: "\u255E", boxVr: "\u255F", boxVR: "\u2560", bprime: "\u2035", breve: "\u02D8", Breve: "\u02D8", brvbar: "\xA6", bscr: "\u{1D4B7}", Bscr: "\u212C", bsemi: "\u204F", bsim: "\u223D", bsime: "\u22CD", bsolb: "\u29C5", bsol: "\\", bsolhsub: "\u27C8", bull: "\u2022", bullet: "\u2022", bump: "\u224E", bumpE: "\u2AAE", bumpe: "\u224F", Bumpeq: "\u224E", bumpeq: "\u224F", Cacute: "\u0106", cacute: "\u0107", capand: "\u2A44", capbrcup: "\u2A49", capcap: "\u2A4B", cap: "\u2229", Cap: "\u22D2", capcup: "\u2A47", capdot: "\u2A40", CapitalDifferentialD: "\u2145", caps: "\u2229\uFE00", caret: "\u2041", caron: "\u02C7", Cayleys: "\u212D", ccaps: "\u2A4D", Ccaron: "\u010C", ccaron: "\u010D", Ccedil: "\xC7", ccedil: "\xE7", Ccirc: "\u0108", ccirc: "\u0109", Cconint: "\u2230", ccups: "\u2A4C", ccupssm: "\u2A50", Cdot: "\u010A", cdot: "\u010B", cedil: "\xB8", Cedilla: "\xB8", cemptyv: "\u29B2", cent: "\xA2", centerdot: "\xB7", CenterDot: "\xB7", cfr: "\u{1D520}", Cfr: "\u212D", CHcy: "\u0427", chcy: "\u0447", check: "\u2713", checkmark: "\u2713", Chi: "\u03A7", chi: "\u03C7", circ: "\u02C6", circeq: "\u2257", circlearrowleft: "\u21BA", circlearrowright: "\u21BB", circledast: "\u229B", circledcirc: "\u229A", circleddash: "\u229D", CircleDot: "\u2299", circledR: "\xAE", circledS: "\u24C8", CircleMinus: "\u2296", CirclePlus: "\u2295", CircleTimes: "\u2297", cir: "\u25CB", cirE: "\u29C3", cire: "\u2257", cirfnint: "\u2A10", cirmid: "\u2AEF", cirscir: "\u29C2", ClockwiseContourIntegral: "\u2232", CloseCurlyDoubleQuote: "\u201D", CloseCurlyQuote: "\u2019", clubs: "\u2663", clubsuit: "\u2663", colon: ":", Colon: "\u2237", Colone: "\u2A74", colone: "\u2254", coloneq: "\u2254", comma: ",", commat: "@", comp: "\u2201", compfn: "\u2218", complement: "\u2201", complexes: "\u2102", cong: "\u2245", congdot: "\u2A6D", Congruent: "\u2261", conint: "\u222E", Conint: "\u222F", ContourIntegral: "\u222E", copf: "\u{1D554}", Copf: "\u2102", coprod: "\u2210", Coproduct: "\u2210", copy: "\xA9", COPY: "\xA9", copysr: "\u2117", CounterClockwiseContourIntegral: "\u2233", crarr: "\u21B5", cross: "\u2717", Cross: "\u2A2F", Cscr: "\u{1D49E}", cscr: "\u{1D4B8}", csub: "\u2ACF", csube: "\u2AD1", csup: "\u2AD0", csupe: "\u2AD2", ctdot: "\u22EF", cudarrl: "\u2938", cudarrr: "\u2935", cuepr: "\u22DE", cuesc: "\u22DF", cularr: "\u21B6", cularrp: "\u293D", cupbrcap: "\u2A48", cupcap: "\u2A46", CupCap: "\u224D", cup: "\u222A", Cup: "\u22D3", cupcup: "\u2A4A", cupdot: "\u228D", cupor: "\u2A45", cups: "\u222A\uFE00", curarr: "\u21B7", curarrm: "\u293C", curlyeqprec: "\u22DE", curlyeqsucc: "\u22DF", curlyvee: "\u22CE", curlywedge: "\u22CF", curren: "\xA4", curvearrowleft: "\u21B6", curvearrowright: "\u21B7", cuvee: "\u22CE", cuwed: "\u22CF", cwconint: "\u2232", cwint: "\u2231", cylcty: "\u232D", dagger: "\u2020", Dagger: "\u2021", daleth: "\u2138", darr: "\u2193", Darr: "\u21A1", dArr: "\u21D3", dash: "\u2010", Dashv: "\u2AE4", dashv: "\u22A3", dbkarow: "\u290F", dblac: "\u02DD", Dcaron: "\u010E", dcaron: "\u010F", Dcy: "\u0414", dcy: "\u0434", ddagger: "\u2021", ddarr: "\u21CA", DD: "\u2145", dd: "\u2146", DDotrahd: "\u2911", ddotseq: "\u2A77", deg: "\xB0", Del: "\u2207", Delta: "\u0394", delta: "\u03B4", demptyv: "\u29B1", dfisht: "\u297F", Dfr: "\u{1D507}", dfr: "\u{1D521}", dHar: "\u2965", dharl: "\u21C3", dharr: "\u21C2", DiacriticalAcute: "\xB4", DiacriticalDot: "\u02D9", DiacriticalDoubleAcute: "\u02DD", DiacriticalGrave: "`", DiacriticalTilde: "\u02DC", diam: "\u22C4", diamond: "\u22C4", Diamond: "\u22C4", diamondsuit: "\u2666", diams: "\u2666", die: "\xA8", DifferentialD: "\u2146", digamma: "\u03DD", disin: "\u22F2", div: "\xF7", divide: "\xF7", divideontimes: "\u22C7", divonx: "\u22C7", DJcy: "\u0402", djcy: "\u0452", dlcorn: "\u231E", dlcrop: "\u230D", dollar: "$", Dopf: "\u{1D53B}", dopf: "\u{1D555}", Dot: "\xA8", dot: "\u02D9", DotDot: "\u20DC", doteq: "\u2250", doteqdot: "\u2251", DotEqual: "\u2250", dotminus: "\u2238", dotplus: "\u2214", dotsquare: "\u22A1", doublebarwedge: "\u2306", DoubleContourIntegral: "\u222F", DoubleDot: "\xA8", DoubleDownArrow: "\u21D3", DoubleLeftArrow: "\u21D0", DoubleLeftRightArrow: "\u21D4", DoubleLeftTee: "\u2AE4", DoubleLongLeftArrow: "\u27F8", DoubleLongLeftRightArrow: "\u27FA", DoubleLongRightArrow: "\u27F9", DoubleRightArrow: "\u21D2", DoubleRightTee: "\u22A8", DoubleUpArrow: "\u21D1", DoubleUpDownArrow: "\u21D5", DoubleVerticalBar: "\u2225", DownArrowBar: "\u2913", downarrow: "\u2193", DownArrow: "\u2193", Downarrow: "\u21D3", DownArrowUpArrow: "\u21F5", DownBreve: "\u0311", downdownarrows: "\u21CA", downharpoonleft: "\u21C3", downharpoonright: "\u21C2", DownLeftRightVector: "\u2950", DownLeftTeeVector: "\u295E", DownLeftVectorBar: "\u2956", DownLeftVector: "\u21BD", DownRightTeeVector: "\u295F", DownRightVectorBar: "\u2957", DownRightVector: "\u21C1", DownTeeArrow: "\u21A7", DownTee: "\u22A4", drbkarow: "\u2910", drcorn: "\u231F", drcrop: "\u230C", Dscr: "\u{1D49F}", dscr: "\u{1D4B9}", DScy: "\u0405", dscy: "\u0455", dsol: "\u29F6", Dstrok: "\u0110", dstrok: "\u0111", dtdot: "\u22F1", dtri: "\u25BF", dtrif: "\u25BE", duarr: "\u21F5", duhar: "\u296F", dwangle: "\u29A6", DZcy: "\u040F", dzcy: "\u045F", dzigrarr: "\u27FF", Eacute: "\xC9", eacute: "\xE9", easter: "\u2A6E", Ecaron: "\u011A", ecaron: "\u011B", Ecirc: "\xCA", ecirc: "\xEA", ecir: "\u2256", ecolon: "\u2255", Ecy: "\u042D", ecy: "\u044D", eDDot: "\u2A77", Edot: "\u0116", edot: "\u0117", eDot: "\u2251", ee: "\u2147", efDot: "\u2252", Efr: "\u{1D508}", efr: "\u{1D522}", eg: "\u2A9A", Egrave: "\xC8", egrave: "\xE8", egs: "\u2A96", egsdot: "\u2A98", el: "\u2A99", Element: "\u2208", elinters: "\u23E7", ell: "\u2113", els: "\u2A95", elsdot: "\u2A97", Emacr: "\u0112", emacr: "\u0113", empty: "\u2205", emptyset: "\u2205", EmptySmallSquare: "\u25FB", emptyv: "\u2205", EmptyVerySmallSquare: "\u25AB", emsp13: "\u2004", emsp14: "\u2005", emsp: "\u2003", ENG: "\u014A", eng: "\u014B", ensp: "\u2002", Eogon: "\u0118", eogon: "\u0119", Eopf: "\u{1D53C}", eopf: "\u{1D556}", epar: "\u22D5", eparsl: "\u29E3", eplus: "\u2A71", epsi: "\u03B5", Epsilon: "\u0395", epsilon: "\u03B5", epsiv: "\u03F5", eqcirc: "\u2256", eqcolon: "\u2255", eqsim: "\u2242", eqslantgtr: "\u2A96", eqslantless: "\u2A95", Equal: "\u2A75", equals: "=", EqualTilde: "\u2242", equest: "\u225F", Equilibrium: "\u21CC", equiv: "\u2261", equivDD: "\u2A78", eqvparsl: "\u29E5", erarr: "\u2971", erDot: "\u2253", escr: "\u212F", Escr: "\u2130", esdot: "\u2250", Esim: "\u2A73", esim: "\u2242", Eta: "\u0397", eta: "\u03B7", ETH: "\xD0", eth: "\xF0", Euml: "\xCB", euml: "\xEB", euro: "\u20AC", excl: "!", exist: "\u2203", Exists: "\u2203", expectation: "\u2130", exponentiale: "\u2147", ExponentialE: "\u2147", fallingdotseq: "\u2252", Fcy: "\u0424", fcy: "\u0444", female: "\u2640", ffilig: "\uFB03", fflig: "\uFB00", ffllig: "\uFB04", Ffr: "\u{1D509}", ffr: "\u{1D523}", filig: "\uFB01", FilledSmallSquare: "\u25FC", FilledVerySmallSquare: "\u25AA", fjlig: "fj", flat: "\u266D", fllig: "\uFB02", fltns: "\u25B1", fnof: "\u0192", Fopf: "\u{1D53D}", fopf: "\u{1D557}", forall: "\u2200", ForAll: "\u2200", fork: "\u22D4", forkv: "\u2AD9", Fouriertrf: "\u2131", fpartint: "\u2A0D", frac12: "\xBD", frac13: "\u2153", frac14: "\xBC", frac15: "\u2155", frac16: "\u2159", frac18: "\u215B", frac23: "\u2154", frac25: "\u2156", frac34: "\xBE", frac35: "\u2157", frac38: "\u215C", frac45: "\u2158", frac56: "\u215A", frac58: "\u215D", frac78: "\u215E", frasl: "\u2044", frown: "\u2322", fscr: "\u{1D4BB}", Fscr: "\u2131", gacute: "\u01F5", Gamma: "\u0393", gamma: "\u03B3", Gammad: "\u03DC", gammad: "\u03DD", gap: "\u2A86", Gbreve: "\u011E", gbreve: "\u011F", Gcedil: "\u0122", Gcirc: "\u011C", gcirc: "\u011D", Gcy: "\u0413", gcy: "\u0433", Gdot: "\u0120", gdot: "\u0121", ge: "\u2265", gE: "\u2267", gEl: "\u2A8C", gel: "\u22DB", geq: "\u2265", geqq: "\u2267", geqslant: "\u2A7E", gescc: "\u2AA9", ges: "\u2A7E", gesdot: "\u2A80", gesdoto: "\u2A82", gesdotol: "\u2A84", gesl: "\u22DB\uFE00", gesles: "\u2A94", Gfr: "\u{1D50A}", gfr: "\u{1D524}", gg: "\u226B", Gg: "\u22D9", ggg: "\u22D9", gimel: "\u2137", GJcy: "\u0403", gjcy: "\u0453", gla: "\u2AA5", gl: "\u2277", glE: "\u2A92", glj: "\u2AA4", gnap: "\u2A8A", gnapprox: "\u2A8A", gne: "\u2A88", gnE: "\u2269", gneq: "\u2A88", gneqq: "\u2269", gnsim: "\u22E7", Gopf: "\u{1D53E}", gopf: "\u{1D558}", grave: "`", GreaterEqual: "\u2265", GreaterEqualLess: "\u22DB", GreaterFullEqual: "\u2267", GreaterGreater: "\u2AA2", GreaterLess: "\u2277", GreaterSlantEqual: "\u2A7E", GreaterTilde: "\u2273", Gscr: "\u{1D4A2}", gscr: "\u210A", gsim: "\u2273", gsime: "\u2A8E", gsiml: "\u2A90", gtcc: "\u2AA7", gtcir: "\u2A7A", gt: ">", GT: ">", Gt: "\u226B", gtdot: "\u22D7", gtlPar: "\u2995", gtquest: "\u2A7C", gtrapprox: "\u2A86", gtrarr: "\u2978", gtrdot: "\u22D7", gtreqless: "\u22DB", gtreqqless: "\u2A8C", gtrless: "\u2277", gtrsim: "\u2273", gvertneqq: "\u2269\uFE00", gvnE: "\u2269\uFE00", Hacek: "\u02C7", hairsp: "\u200A", half: "\xBD", hamilt: "\u210B", HARDcy: "\u042A", hardcy: "\u044A", harrcir: "\u2948", harr: "\u2194", hArr: "\u21D4", harrw: "\u21AD", Hat: "^", hbar: "\u210F", Hcirc: "\u0124", hcirc: "\u0125", hearts: "\u2665", heartsuit: "\u2665", hellip: "\u2026", hercon: "\u22B9", hfr: "\u{1D525}", Hfr: "\u210C", HilbertSpace: "\u210B", hksearow: "\u2925", hkswarow: "\u2926", hoarr: "\u21FF", homtht: "\u223B", hookleftarrow: "\u21A9", hookrightarrow: "\u21AA", hopf: "\u{1D559}", Hopf: "\u210D", horbar: "\u2015", HorizontalLine: "\u2500", hscr: "\u{1D4BD}", Hscr: "\u210B", hslash: "\u210F", Hstrok: "\u0126", hstrok: "\u0127", HumpDownHump: "\u224E", HumpEqual: "\u224F", hybull: "\u2043", hyphen: "\u2010", Iacute: "\xCD", iacute: "\xED", ic: "\u2063", Icirc: "\xCE", icirc: "\xEE", Icy: "\u0418", icy: "\u0438", Idot: "\u0130", IEcy: "\u0415", iecy: "\u0435", iexcl: "\xA1", iff: "\u21D4", ifr: "\u{1D526}", Ifr: "\u2111", Igrave: "\xCC", igrave: "\xEC", ii: "\u2148", iiiint: "\u2A0C", iiint: "\u222D", iinfin: "\u29DC", iiota: "\u2129", IJlig: "\u0132", ijlig: "\u0133", Imacr: "\u012A", imacr: "\u012B", image: "\u2111", ImaginaryI: "\u2148", imagline: "\u2110", imagpart: "\u2111", imath: "\u0131", Im: "\u2111", imof: "\u22B7", imped: "\u01B5", Implies: "\u21D2", incare: "\u2105", in: "\u2208", infin: "\u221E", infintie: "\u29DD", inodot: "\u0131", intcal: "\u22BA", int: "\u222B", Int: "\u222C", integers: "\u2124", Integral: "\u222B", intercal: "\u22BA", Intersection: "\u22C2", intlarhk: "\u2A17", intprod: "\u2A3C", InvisibleComma: "\u2063", InvisibleTimes: "\u2062", IOcy: "\u0401", iocy: "\u0451", Iogon: "\u012E", iogon: "\u012F", Iopf: "\u{1D540}", iopf: "\u{1D55A}", Iota: "\u0399", iota: "\u03B9", iprod: "\u2A3C", iquest: "\xBF", iscr: "\u{1D4BE}", Iscr: "\u2110", isin: "\u2208", isindot: "\u22F5", isinE: "\u22F9", isins: "\u22F4", isinsv: "\u22F3", isinv: "\u2208", it: "\u2062", Itilde: "\u0128", itilde: "\u0129", Iukcy: "\u0406", iukcy: "\u0456", Iuml: "\xCF", iuml: "\xEF", Jcirc: "\u0134", jcirc: "\u0135", Jcy: "\u0419", jcy: "\u0439", Jfr: "\u{1D50D}", jfr: "\u{1D527}", jmath: "\u0237", Jopf: "\u{1D541}", jopf: "\u{1D55B}", Jscr: "\u{1D4A5}", jscr: "\u{1D4BF}", Jsercy: "\u0408", jsercy: "\u0458", Jukcy: "\u0404", jukcy: "\u0454", Kappa: "\u039A", kappa: "\u03BA", kappav: "\u03F0", Kcedil: "\u0136", kcedil: "\u0137", Kcy: "\u041A", kcy: "\u043A", Kfr: "\u{1D50E}", kfr: "\u{1D528}", kgreen: "\u0138", KHcy: "\u0425", khcy: "\u0445", KJcy: "\u040C", kjcy: "\u045C", Kopf: "\u{1D542}", kopf: "\u{1D55C}", Kscr: "\u{1D4A6}", kscr: "\u{1D4C0}", lAarr: "\u21DA", Lacute: "\u0139", lacute: "\u013A", laemptyv: "\u29B4", lagran: "\u2112", Lambda: "\u039B", lambda: "\u03BB", lang: "\u27E8", Lang: "\u27EA", langd: "\u2991", langle: "\u27E8", lap: "\u2A85", Laplacetrf: "\u2112", laquo: "\xAB", larrb: "\u21E4", larrbfs: "\u291F", larr: "\u2190", Larr: "\u219E", lArr: "\u21D0", larrfs: "\u291D", larrhk: "\u21A9", larrlp: "\u21AB", larrpl: "\u2939", larrsim: "\u2973", larrtl: "\u21A2", latail: "\u2919", lAtail: "\u291B", lat: "\u2AAB", late: "\u2AAD", lates: "\u2AAD\uFE00", lbarr: "\u290C", lBarr: "\u290E", lbbrk: "\u2772", lbrace: "{", lbrack: "[", lbrke: "\u298B", lbrksld: "\u298F", lbrkslu: "\u298D", Lcaron: "\u013D", lcaron: "\u013E", Lcedil: "\u013B", lcedil: "\u013C", lceil: "\u2308", lcub: "{", Lcy: "\u041B", lcy: "\u043B", ldca: "\u2936", ldquo: "\u201C", ldquor: "\u201E", ldrdhar: "\u2967", ldrushar: "\u294B", ldsh: "\u21B2", le: "\u2264", lE: "\u2266", LeftAngleBracket: "\u27E8", LeftArrowBar: "\u21E4", leftarrow: "\u2190", LeftArrow: "\u2190", Leftarrow: "\u21D0", LeftArrowRightArrow: "\u21C6", leftarrowtail: "\u21A2", LeftCeiling: "\u2308", LeftDoubleBracket: "\u27E6", LeftDownTeeVector: "\u2961", LeftDownVectorBar: "\u2959", LeftDownVector: "\u21C3", LeftFloor: "\u230A", leftharpoondown: "\u21BD", leftharpoonup: "\u21BC", leftleftarrows: "\u21C7", leftrightarrow: "\u2194", LeftRightArrow: "\u2194", Leftrightarrow: "\u21D4", leftrightarrows: "\u21C6", leftrightharpoons: "\u21CB", leftrightsquigarrow: "\u21AD", LeftRightVector: "\u294E", LeftTeeArrow: "\u21A4", LeftTee: "\u22A3", LeftTeeVector: "\u295A", leftthreetimes: "\u22CB", LeftTriangleBar: "\u29CF", LeftTriangle: "\u22B2", LeftTriangleEqual: "\u22B4", LeftUpDownVector: "\u2951", LeftUpTeeVector: "\u2960", LeftUpVectorBar: "\u2958", LeftUpVector: "\u21BF", LeftVectorBar: "\u2952", LeftVector: "\u21BC", lEg: "\u2A8B", leg: "\u22DA", leq: "\u2264", leqq: "\u2266", leqslant: "\u2A7D", lescc: "\u2AA8", les: "\u2A7D", lesdot: "\u2A7F", lesdoto: "\u2A81", lesdotor: "\u2A83", lesg: "\u22DA\uFE00", lesges: "\u2A93", lessapprox: "\u2A85", lessdot: "\u22D6", lesseqgtr: "\u22DA", lesseqqgtr: "\u2A8B", LessEqualGreater: "\u22DA", LessFullEqual: "\u2266", LessGreater: "\u2276", lessgtr: "\u2276", LessLess: "\u2AA1", lesssim: "\u2272", LessSlantEqual: "\u2A7D", LessTilde: "\u2272", lfisht: "\u297C", lfloor: "\u230A", Lfr: "\u{1D50F}", lfr: "\u{1D529}", lg: "\u2276", lgE: "\u2A91", lHar: "\u2962", lhard: "\u21BD", lharu: "\u21BC", lharul: "\u296A", lhblk: "\u2584", LJcy: "\u0409", ljcy: "\u0459", llarr: "\u21C7", ll: "\u226A", Ll: "\u22D8", llcorner: "\u231E", Lleftarrow: "\u21DA", llhard: "\u296B", lltri: "\u25FA", Lmidot: "\u013F", lmidot: "\u0140", lmoustache: "\u23B0", lmoust: "\u23B0", lnap: "\u2A89", lnapprox: "\u2A89", lne: "\u2A87", lnE: "\u2268", lneq: "\u2A87", lneqq: "\u2268", lnsim: "\u22E6", loang: "\u27EC", loarr: "\u21FD", lobrk: "\u27E6", longleftarrow: "\u27F5", LongLeftArrow: "\u27F5", Longleftarrow: "\u27F8", longleftrightarrow: "\u27F7", LongLeftRightArrow: "\u27F7", Longleftrightarrow: "\u27FA", longmapsto: "\u27FC", longrightarrow: "\u27F6", LongRightArrow: "\u27F6", Longrightarrow: "\u27F9", looparrowleft: "\u21AB", looparrowright: "\u21AC", lopar: "\u2985", Lopf: "\u{1D543}", lopf: "\u{1D55D}", loplus: "\u2A2D", lotimes: "\u2A34", lowast: "\u2217", lowbar: "_", LowerLeftArrow: "\u2199", LowerRightArrow: "\u2198", loz: "\u25CA", lozenge: "\u25CA", lozf: "\u29EB", lpar: "(", lparlt: "\u2993", lrarr: "\u21C6", lrcorner: "\u231F", lrhar: "\u21CB", lrhard: "\u296D", lrm: "\u200E", lrtri: "\u22BF", lsaquo: "\u2039", lscr: "\u{1D4C1}", Lscr: "\u2112", lsh: "\u21B0", Lsh: "\u21B0", lsim: "\u2272", lsime: "\u2A8D", lsimg: "\u2A8F", lsqb: "[", lsquo: "\u2018", lsquor: "\u201A", Lstrok: "\u0141", lstrok: "\u0142", ltcc: "\u2AA6", ltcir: "\u2A79", lt: "<", LT: "<", Lt: "\u226A", ltdot: "\u22D6", lthree: "\u22CB", ltimes: "\u22C9", ltlarr: "\u2976", ltquest: "\u2A7B", ltri: "\u25C3", ltrie: "\u22B4", ltrif: "\u25C2", ltrPar: "\u2996", lurdshar: "\u294A", luruhar: "\u2966", lvertneqq: "\u2268\uFE00", lvnE: "\u2268\uFE00", macr: "\xAF", male: "\u2642", malt: "\u2720", maltese: "\u2720", Map: "\u2905", map: "\u21A6", mapsto: "\u21A6", mapstodown: "\u21A7", mapstoleft: "\u21A4", mapstoup: "\u21A5", marker: "\u25AE", mcomma: "\u2A29", Mcy: "\u041C", mcy: "\u043C", mdash: "\u2014", mDDot: "\u223A", measuredangle: "\u2221", MediumSpace: "\u205F", Mellintrf: "\u2133", Mfr: "\u{1D510}", mfr: "\u{1D52A}", mho: "\u2127", micro: "\xB5", midast: "*", midcir: "\u2AF0", mid: "\u2223", middot: "\xB7", minusb: "\u229F", minus: "\u2212", minusd: "\u2238", minusdu: "\u2A2A", MinusPlus: "\u2213", mlcp: "\u2ADB", mldr: "\u2026", mnplus: "\u2213", models: "\u22A7", Mopf: "\u{1D544}", mopf: "\u{1D55E}", mp: "\u2213", mscr: "\u{1D4C2}", Mscr: "\u2133", mstpos: "\u223E", Mu: "\u039C", mu: "\u03BC", multimap: "\u22B8", mumap: "\u22B8", nabla: "\u2207", Nacute: "\u0143", nacute: "\u0144", nang: "\u2220\u20D2", nap: "\u2249", napE: "\u2A70\u0338", napid: "\u224B\u0338", napos: "\u0149", napprox: "\u2249", natural: "\u266E", naturals: "\u2115", natur: "\u266E", nbsp: "\xA0", nbump: "\u224E\u0338", nbumpe: "\u224F\u0338", ncap: "\u2A43", Ncaron: "\u0147", ncaron: "\u0148", Ncedil: "\u0145", ncedil: "\u0146", ncong: "\u2247", ncongdot: "\u2A6D\u0338", ncup: "\u2A42", Ncy: "\u041D", ncy: "\u043D", ndash: "\u2013", nearhk: "\u2924", nearr: "\u2197", neArr: "\u21D7", nearrow: "\u2197", ne: "\u2260", nedot: "\u2250\u0338", NegativeMediumSpace: "\u200B", NegativeThickSpace: "\u200B", NegativeThinSpace: "\u200B", NegativeVeryThinSpace: "\u200B", nequiv: "\u2262", nesear: "\u2928", nesim: "\u2242\u0338", NestedGreaterGreater: "\u226B", NestedLessLess: "\u226A", NewLine: `
1171
943
  `, nexist: "\u2204", nexists: "\u2204", Nfr: "\u{1D511}", nfr: "\u{1D52B}", ngE: "\u2267\u0338", nge: "\u2271", ngeq: "\u2271", ngeqq: "\u2267\u0338", ngeqslant: "\u2A7E\u0338", nges: "\u2A7E\u0338", nGg: "\u22D9\u0338", ngsim: "\u2275", nGt: "\u226B\u20D2", ngt: "\u226F", ngtr: "\u226F", nGtv: "\u226B\u0338", nharr: "\u21AE", nhArr: "\u21CE", nhpar: "\u2AF2", ni: "\u220B", nis: "\u22FC", nisd: "\u22FA", niv: "\u220B", NJcy: "\u040A", njcy: "\u045A", nlarr: "\u219A", nlArr: "\u21CD", nldr: "\u2025", nlE: "\u2266\u0338", nle: "\u2270", nleftarrow: "\u219A", nLeftarrow: "\u21CD", nleftrightarrow: "\u21AE", nLeftrightarrow: "\u21CE", nleq: "\u2270", nleqq: "\u2266\u0338", nleqslant: "\u2A7D\u0338", nles: "\u2A7D\u0338", nless: "\u226E", nLl: "\u22D8\u0338", nlsim: "\u2274", nLt: "\u226A\u20D2", nlt: "\u226E", nltri: "\u22EA", nltrie: "\u22EC", nLtv: "\u226A\u0338", nmid: "\u2224", NoBreak: "\u2060", NonBreakingSpace: "\xA0", nopf: "\u{1D55F}", Nopf: "\u2115", Not: "\u2AEC", not: "\xAC", NotCongruent: "\u2262", NotCupCap: "\u226D", NotDoubleVerticalBar: "\u2226", NotElement: "\u2209", NotEqual: "\u2260", NotEqualTilde: "\u2242\u0338", NotExists: "\u2204", NotGreater: "\u226F", NotGreaterEqual: "\u2271", NotGreaterFullEqual: "\u2267\u0338", NotGreaterGreater: "\u226B\u0338", NotGreaterLess: "\u2279", NotGreaterSlantEqual: "\u2A7E\u0338", NotGreaterTilde: "\u2275", NotHumpDownHump: "\u224E\u0338", NotHumpEqual: "\u224F\u0338", notin: "\u2209", notindot: "\u22F5\u0338", notinE: "\u22F9\u0338", notinva: "\u2209", notinvb: "\u22F7", notinvc: "\u22F6", NotLeftTriangleBar: "\u29CF\u0338", NotLeftTriangle: "\u22EA", NotLeftTriangleEqual: "\u22EC", NotLess: "\u226E", NotLessEqual: "\u2270", NotLessGreater: "\u2278", NotLessLess: "\u226A\u0338", NotLessSlantEqual: "\u2A7D\u0338", NotLessTilde: "\u2274", NotNestedGreaterGreater: "\u2AA2\u0338", NotNestedLessLess: "\u2AA1\u0338", notni: "\u220C", notniva: "\u220C", notnivb: "\u22FE", notnivc: "\u22FD", NotPrecedes: "\u2280", NotPrecedesEqual: "\u2AAF\u0338", NotPrecedesSlantEqual: "\u22E0", NotReverseElement: "\u220C", NotRightTriangleBar: "\u29D0\u0338", NotRightTriangle: "\u22EB", NotRightTriangleEqual: "\u22ED", NotSquareSubset: "\u228F\u0338", NotSquareSubsetEqual: "\u22E2", NotSquareSuperset: "\u2290\u0338", NotSquareSupersetEqual: "\u22E3", NotSubset: "\u2282\u20D2", NotSubsetEqual: "\u2288", NotSucceeds: "\u2281", NotSucceedsEqual: "\u2AB0\u0338", NotSucceedsSlantEqual: "\u22E1", NotSucceedsTilde: "\u227F\u0338", NotSuperset: "\u2283\u20D2", NotSupersetEqual: "\u2289", NotTilde: "\u2241", NotTildeEqual: "\u2244", NotTildeFullEqual: "\u2247", NotTildeTilde: "\u2249", NotVerticalBar: "\u2224", nparallel: "\u2226", npar: "\u2226", nparsl: "\u2AFD\u20E5", npart: "\u2202\u0338", npolint: "\u2A14", npr: "\u2280", nprcue: "\u22E0", nprec: "\u2280", npreceq: "\u2AAF\u0338", npre: "\u2AAF\u0338", nrarrc: "\u2933\u0338", nrarr: "\u219B", nrArr: "\u21CF", nrarrw: "\u219D\u0338", nrightarrow: "\u219B", nRightarrow: "\u21CF", nrtri: "\u22EB", nrtrie: "\u22ED", nsc: "\u2281", nsccue: "\u22E1", nsce: "\u2AB0\u0338", Nscr: "\u{1D4A9}", nscr: "\u{1D4C3}", nshortmid: "\u2224", nshortparallel: "\u2226", nsim: "\u2241", nsime: "\u2244", nsimeq: "\u2244", nsmid: "\u2224", nspar: "\u2226", nsqsube: "\u22E2", nsqsupe: "\u22E3", nsub: "\u2284", nsubE: "\u2AC5\u0338", nsube: "\u2288", nsubset: "\u2282\u20D2", nsubseteq: "\u2288", nsubseteqq: "\u2AC5\u0338", nsucc: "\u2281", nsucceq: "\u2AB0\u0338", nsup: "\u2285", nsupE: "\u2AC6\u0338", nsupe: "\u2289", nsupset: "\u2283\u20D2", nsupseteq: "\u2289", nsupseteqq: "\u2AC6\u0338", ntgl: "\u2279", Ntilde: "\xD1", ntilde: "\xF1", ntlg: "\u2278", ntriangleleft: "\u22EA", ntrianglelefteq: "\u22EC", ntriangleright: "\u22EB", ntrianglerighteq: "\u22ED", Nu: "\u039D", nu: "\u03BD", num: "#", numero: "\u2116", numsp: "\u2007", nvap: "\u224D\u20D2", nvdash: "\u22AC", nvDash: "\u22AD", nVdash: "\u22AE", nVDash: "\u22AF", nvge: "\u2265\u20D2", nvgt: ">\u20D2", nvHarr: "\u2904", nvinfin: "\u29DE", nvlArr: "\u2902", nvle: "\u2264\u20D2", nvlt: "<\u20D2", nvltrie: "\u22B4\u20D2", nvrArr: "\u2903", nvrtrie: "\u22B5\u20D2", nvsim: "\u223C\u20D2", nwarhk: "\u2923", nwarr: "\u2196", nwArr: "\u21D6", nwarrow: "\u2196", nwnear: "\u2927", Oacute: "\xD3", oacute: "\xF3", oast: "\u229B", Ocirc: "\xD4", ocirc: "\xF4", ocir: "\u229A", Ocy: "\u041E", ocy: "\u043E", odash: "\u229D", Odblac: "\u0150", odblac: "\u0151", odiv: "\u2A38", odot: "\u2299", odsold: "\u29BC", OElig: "\u0152", oelig: "\u0153", ofcir: "\u29BF", Ofr: "\u{1D512}", ofr: "\u{1D52C}", ogon: "\u02DB", Ograve: "\xD2", ograve: "\xF2", ogt: "\u29C1", ohbar: "\u29B5", ohm: "\u03A9", oint: "\u222E", olarr: "\u21BA", olcir: "\u29BE", olcross: "\u29BB", oline: "\u203E", olt: "\u29C0", Omacr: "\u014C", omacr: "\u014D", Omega: "\u03A9", omega: "\u03C9", Omicron: "\u039F", omicron: "\u03BF", omid: "\u29B6", ominus: "\u2296", Oopf: "\u{1D546}", oopf: "\u{1D560}", opar: "\u29B7", OpenCurlyDoubleQuote: "\u201C", OpenCurlyQuote: "\u2018", operp: "\u29B9", oplus: "\u2295", orarr: "\u21BB", Or: "\u2A54", or: "\u2228", ord: "\u2A5D", order: "\u2134", orderof: "\u2134", ordf: "\xAA", ordm: "\xBA", origof: "\u22B6", oror: "\u2A56", orslope: "\u2A57", orv: "\u2A5B", oS: "\u24C8", Oscr: "\u{1D4AA}", oscr: "\u2134", Oslash: "\xD8", oslash: "\xF8", osol: "\u2298", Otilde: "\xD5", otilde: "\xF5", otimesas: "\u2A36", Otimes: "\u2A37", otimes: "\u2297", Ouml: "\xD6", ouml: "\xF6", ovbar: "\u233D", OverBar: "\u203E", OverBrace: "\u23DE", OverBracket: "\u23B4", OverParenthesis: "\u23DC", para: "\xB6", parallel: "\u2225", par: "\u2225", parsim: "\u2AF3", parsl: "\u2AFD", part: "\u2202", PartialD: "\u2202", Pcy: "\u041F", pcy: "\u043F", percnt: "%", period: ".", permil: "\u2030", perp: "\u22A5", pertenk: "\u2031", Pfr: "\u{1D513}", pfr: "\u{1D52D}", Phi: "\u03A6", phi: "\u03C6", phiv: "\u03D5", phmmat: "\u2133", phone: "\u260E", Pi: "\u03A0", pi: "\u03C0", pitchfork: "\u22D4", piv: "\u03D6", planck: "\u210F", planckh: "\u210E", plankv: "\u210F", plusacir: "\u2A23", plusb: "\u229E", pluscir: "\u2A22", plus: "+", plusdo: "\u2214", plusdu: "\u2A25", pluse: "\u2A72", PlusMinus: "\xB1", plusmn: "\xB1", plussim: "\u2A26", plustwo: "\u2A27", pm: "\xB1", Poincareplane: "\u210C", pointint: "\u2A15", popf: "\u{1D561}", Popf: "\u2119", pound: "\xA3", prap: "\u2AB7", Pr: "\u2ABB", pr: "\u227A", prcue: "\u227C", precapprox: "\u2AB7", prec: "\u227A", preccurlyeq: "\u227C", Precedes: "\u227A", PrecedesEqual: "\u2AAF", PrecedesSlantEqual: "\u227C", PrecedesTilde: "\u227E", preceq: "\u2AAF", precnapprox: "\u2AB9", precneqq: "\u2AB5", precnsim: "\u22E8", pre: "\u2AAF", prE: "\u2AB3", precsim: "\u227E", prime: "\u2032", Prime: "\u2033", primes: "\u2119", prnap: "\u2AB9", prnE: "\u2AB5", prnsim: "\u22E8", prod: "\u220F", Product: "\u220F", profalar: "\u232E", profline: "\u2312", profsurf: "\u2313", prop: "\u221D", Proportional: "\u221D", Proportion: "\u2237", propto: "\u221D", prsim: "\u227E", prurel: "\u22B0", Pscr: "\u{1D4AB}", pscr: "\u{1D4C5}", Psi: "\u03A8", psi: "\u03C8", puncsp: "\u2008", Qfr: "\u{1D514}", qfr: "\u{1D52E}", qint: "\u2A0C", qopf: "\u{1D562}", Qopf: "\u211A", qprime: "\u2057", Qscr: "\u{1D4AC}", qscr: "\u{1D4C6}", quaternions: "\u210D", quatint: "\u2A16", quest: "?", questeq: "\u225F", quot: '"', QUOT: '"', rAarr: "\u21DB", race: "\u223D\u0331", Racute: "\u0154", racute: "\u0155", radic: "\u221A", raemptyv: "\u29B3", rang: "\u27E9", Rang: "\u27EB", rangd: "\u2992", range: "\u29A5", rangle: "\u27E9", raquo: "\xBB", rarrap: "\u2975", rarrb: "\u21E5", rarrbfs: "\u2920", rarrc: "\u2933", rarr: "\u2192", Rarr: "\u21A0", rArr: "\u21D2", rarrfs: "\u291E", rarrhk: "\u21AA", rarrlp: "\u21AC", rarrpl: "\u2945", rarrsim: "\u2974", Rarrtl: "\u2916", rarrtl: "\u21A3", rarrw: "\u219D", ratail: "\u291A", rAtail: "\u291C", ratio: "\u2236", rationals: "\u211A", rbarr: "\u290D", rBarr: "\u290F", RBarr: "\u2910", rbbrk: "\u2773", rbrace: "}", rbrack: "]", rbrke: "\u298C", rbrksld: "\u298E", rbrkslu: "\u2990", Rcaron: "\u0158", rcaron: "\u0159", Rcedil: "\u0156", rcedil: "\u0157", rceil: "\u2309", rcub: "}", Rcy: "\u0420", rcy: "\u0440", rdca: "\u2937", rdldhar: "\u2969", rdquo: "\u201D", rdquor: "\u201D", rdsh: "\u21B3", real: "\u211C", realine: "\u211B", realpart: "\u211C", reals: "\u211D", Re: "\u211C", rect: "\u25AD", reg: "\xAE", REG: "\xAE", ReverseElement: "\u220B", ReverseEquilibrium: "\u21CB", ReverseUpEquilibrium: "\u296F", rfisht: "\u297D", rfloor: "\u230B", rfr: "\u{1D52F}", Rfr: "\u211C", rHar: "\u2964", rhard: "\u21C1", rharu: "\u21C0", rharul: "\u296C", Rho: "\u03A1", rho: "\u03C1", rhov: "\u03F1", RightAngleBracket: "\u27E9", RightArrowBar: "\u21E5", rightarrow: "\u2192", RightArrow: "\u2192", Rightarrow: "\u21D2", RightArrowLeftArrow: "\u21C4", rightarrowtail: "\u21A3", RightCeiling: "\u2309", RightDoubleBracket: "\u27E7", RightDownTeeVector: "\u295D", RightDownVectorBar: "\u2955", RightDownVector: "\u21C2", RightFloor: "\u230B", rightharpoondown: "\u21C1", rightharpoonup: "\u21C0", rightleftarrows: "\u21C4", rightleftharpoons: "\u21CC", rightrightarrows: "\u21C9", rightsquigarrow: "\u219D", RightTeeArrow: "\u21A6", RightTee: "\u22A2", RightTeeVector: "\u295B", rightthreetimes: "\u22CC", RightTriangleBar: "\u29D0", RightTriangle: "\u22B3", RightTriangleEqual: "\u22B5", RightUpDownVector: "\u294F", RightUpTeeVector: "\u295C", RightUpVectorBar: "\u2954", RightUpVector: "\u21BE", RightVectorBar: "\u2953", RightVector: "\u21C0", ring: "\u02DA", risingdotseq: "\u2253", rlarr: "\u21C4", rlhar: "\u21CC", rlm: "\u200F", rmoustache: "\u23B1", rmoust: "\u23B1", rnmid: "\u2AEE", roang: "\u27ED", roarr: "\u21FE", robrk: "\u27E7", ropar: "\u2986", ropf: "\u{1D563}", Ropf: "\u211D", roplus: "\u2A2E", rotimes: "\u2A35", RoundImplies: "\u2970", rpar: ")", rpargt: "\u2994", rppolint: "\u2A12", rrarr: "\u21C9", Rrightarrow: "\u21DB", rsaquo: "\u203A", rscr: "\u{1D4C7}", Rscr: "\u211B", rsh: "\u21B1", Rsh: "\u21B1", rsqb: "]", rsquo: "\u2019", rsquor: "\u2019", rthree: "\u22CC", rtimes: "\u22CA", rtri: "\u25B9", rtrie: "\u22B5", rtrif: "\u25B8", rtriltri: "\u29CE", RuleDelayed: "\u29F4", ruluhar: "\u2968", rx: "\u211E", Sacute: "\u015A", sacute: "\u015B", sbquo: "\u201A", scap: "\u2AB8", Scaron: "\u0160", scaron: "\u0161", Sc: "\u2ABC", sc: "\u227B", sccue: "\u227D", sce: "\u2AB0", scE: "\u2AB4", Scedil: "\u015E", scedil: "\u015F", Scirc: "\u015C", scirc: "\u015D", scnap: "\u2ABA", scnE: "\u2AB6", scnsim: "\u22E9", scpolint: "\u2A13", scsim: "\u227F", Scy: "\u0421", scy: "\u0441", sdotb: "\u22A1", sdot: "\u22C5", sdote: "\u2A66", searhk: "\u2925", searr: "\u2198", seArr: "\u21D8", searrow: "\u2198", sect: "\xA7", semi: ";", seswar: "\u2929", setminus: "\u2216", setmn: "\u2216", sext: "\u2736", Sfr: "\u{1D516}", sfr: "\u{1D530}", sfrown: "\u2322", sharp: "\u266F", SHCHcy: "\u0429", shchcy: "\u0449", SHcy: "\u0428", shcy: "\u0448", ShortDownArrow: "\u2193", ShortLeftArrow: "\u2190", shortmid: "\u2223", shortparallel: "\u2225", ShortRightArrow: "\u2192", ShortUpArrow: "\u2191", shy: "\xAD", Sigma: "\u03A3", sigma: "\u03C3", sigmaf: "\u03C2", sigmav: "\u03C2", sim: "\u223C", simdot: "\u2A6A", sime: "\u2243", simeq: "\u2243", simg: "\u2A9E", simgE: "\u2AA0", siml: "\u2A9D", simlE: "\u2A9F", simne: "\u2246", simplus: "\u2A24", simrarr: "\u2972", slarr: "\u2190", SmallCircle: "\u2218", smallsetminus: "\u2216", smashp: "\u2A33", smeparsl: "\u29E4", smid: "\u2223", smile: "\u2323", smt: "\u2AAA", smte: "\u2AAC", smtes: "\u2AAC\uFE00", SOFTcy: "\u042C", softcy: "\u044C", solbar: "\u233F", solb: "\u29C4", sol: "/", Sopf: "\u{1D54A}", sopf: "\u{1D564}", spades: "\u2660", spadesuit: "\u2660", spar: "\u2225", sqcap: "\u2293", sqcaps: "\u2293\uFE00", sqcup: "\u2294", sqcups: "\u2294\uFE00", Sqrt: "\u221A", sqsub: "\u228F", sqsube: "\u2291", sqsubset: "\u228F", sqsubseteq: "\u2291", sqsup: "\u2290", sqsupe: "\u2292", sqsupset: "\u2290", sqsupseteq: "\u2292", square: "\u25A1", Square: "\u25A1", SquareIntersection: "\u2293", SquareSubset: "\u228F", SquareSubsetEqual: "\u2291", SquareSuperset: "\u2290", SquareSupersetEqual: "\u2292", SquareUnion: "\u2294", squarf: "\u25AA", squ: "\u25A1", squf: "\u25AA", srarr: "\u2192", Sscr: "\u{1D4AE}", sscr: "\u{1D4C8}", ssetmn: "\u2216", ssmile: "\u2323", sstarf: "\u22C6", Star: "\u22C6", star: "\u2606", starf: "\u2605", straightepsilon: "\u03F5", straightphi: "\u03D5", strns: "\xAF", sub: "\u2282", Sub: "\u22D0", subdot: "\u2ABD", subE: "\u2AC5", sube: "\u2286", subedot: "\u2AC3", submult: "\u2AC1", subnE: "\u2ACB", subne: "\u228A", subplus: "\u2ABF", subrarr: "\u2979", subset: "\u2282", Subset: "\u22D0", subseteq: "\u2286", subseteqq: "\u2AC5", SubsetEqual: "\u2286", subsetneq: "\u228A", subsetneqq: "\u2ACB", subsim: "\u2AC7", subsub: "\u2AD5", subsup: "\u2AD3", succapprox: "\u2AB8", succ: "\u227B", succcurlyeq: "\u227D", Succeeds: "\u227B", SucceedsEqual: "\u2AB0", SucceedsSlantEqual: "\u227D", SucceedsTilde: "\u227F", succeq: "\u2AB0", succnapprox: "\u2ABA", succneqq: "\u2AB6", succnsim: "\u22E9", succsim: "\u227F", SuchThat: "\u220B", sum: "\u2211", Sum: "\u2211", sung: "\u266A", sup1: "\xB9", sup2: "\xB2", sup3: "\xB3", sup: "\u2283", Sup: "\u22D1", supdot: "\u2ABE", supdsub: "\u2AD8", supE: "\u2AC6", supe: "\u2287", supedot: "\u2AC4", Superset: "\u2283", SupersetEqual: "\u2287", suphsol: "\u27C9", suphsub: "\u2AD7", suplarr: "\u297B", supmult: "\u2AC2", supnE: "\u2ACC", supne: "\u228B", supplus: "\u2AC0", supset: "\u2283", Supset: "\u22D1", supseteq: "\u2287", supseteqq: "\u2AC6", supsetneq: "\u228B", supsetneqq: "\u2ACC", supsim: "\u2AC8", supsub: "\u2AD4", supsup: "\u2AD6", swarhk: "\u2926", swarr: "\u2199", swArr: "\u21D9", swarrow: "\u2199", swnwar: "\u292A", szlig: "\xDF", Tab: " ", target: "\u2316", Tau: "\u03A4", tau: "\u03C4", tbrk: "\u23B4", Tcaron: "\u0164", tcaron: "\u0165", Tcedil: "\u0162", tcedil: "\u0163", Tcy: "\u0422", tcy: "\u0442", tdot: "\u20DB", telrec: "\u2315", Tfr: "\u{1D517}", tfr: "\u{1D531}", there4: "\u2234", therefore: "\u2234", Therefore: "\u2234", Theta: "\u0398", theta: "\u03B8", thetasym: "\u03D1", thetav: "\u03D1", thickapprox: "\u2248", thicksim: "\u223C", ThickSpace: "\u205F\u200A", ThinSpace: "\u2009", thinsp: "\u2009", thkap: "\u2248", thksim: "\u223C", THORN: "\xDE", thorn: "\xFE", tilde: "\u02DC", Tilde: "\u223C", TildeEqual: "\u2243", TildeFullEqual: "\u2245", TildeTilde: "\u2248", timesbar: "\u2A31", timesb: "\u22A0", times: "\xD7", timesd: "\u2A30", tint: "\u222D", toea: "\u2928", topbot: "\u2336", topcir: "\u2AF1", top: "\u22A4", Topf: "\u{1D54B}", topf: "\u{1D565}", topfork: "\u2ADA", tosa: "\u2929", tprime: "\u2034", trade: "\u2122", TRADE: "\u2122", triangle: "\u25B5", triangledown: "\u25BF", triangleleft: "\u25C3", trianglelefteq: "\u22B4", triangleq: "\u225C", triangleright: "\u25B9", trianglerighteq: "\u22B5", tridot: "\u25EC", trie: "\u225C", triminus: "\u2A3A", TripleDot: "\u20DB", triplus: "\u2A39", trisb: "\u29CD", tritime: "\u2A3B", trpezium: "\u23E2", Tscr: "\u{1D4AF}", tscr: "\u{1D4C9}", TScy: "\u0426", tscy: "\u0446", TSHcy: "\u040B", tshcy: "\u045B", Tstrok: "\u0166", tstrok: "\u0167", twixt: "\u226C", twoheadleftarrow: "\u219E", twoheadrightarrow: "\u21A0", Uacute: "\xDA", uacute: "\xFA", uarr: "\u2191", Uarr: "\u219F", uArr: "\u21D1", Uarrocir: "\u2949", Ubrcy: "\u040E", ubrcy: "\u045E", Ubreve: "\u016C", ubreve: "\u016D", Ucirc: "\xDB", ucirc: "\xFB", Ucy: "\u0423", ucy: "\u0443", udarr: "\u21C5", Udblac: "\u0170", udblac: "\u0171", udhar: "\u296E", ufisht: "\u297E", Ufr: "\u{1D518}", ufr: "\u{1D532}", Ugrave: "\xD9", ugrave: "\xF9", uHar: "\u2963", uharl: "\u21BF", uharr: "\u21BE", uhblk: "\u2580", ulcorn: "\u231C", ulcorner: "\u231C", ulcrop: "\u230F", ultri: "\u25F8", Umacr: "\u016A", umacr: "\u016B", uml: "\xA8", UnderBar: "_", UnderBrace: "\u23DF", UnderBracket: "\u23B5", UnderParenthesis: "\u23DD", Union: "\u22C3", UnionPlus: "\u228E", Uogon: "\u0172", uogon: "\u0173", Uopf: "\u{1D54C}", uopf: "\u{1D566}", UpArrowBar: "\u2912", uparrow: "\u2191", UpArrow: "\u2191", Uparrow: "\u21D1", UpArrowDownArrow: "\u21C5", updownarrow: "\u2195", UpDownArrow: "\u2195", Updownarrow: "\u21D5", UpEquilibrium: "\u296E", upharpoonleft: "\u21BF", upharpoonright: "\u21BE", uplus: "\u228E", UpperLeftArrow: "\u2196", UpperRightArrow: "\u2197", upsi: "\u03C5", Upsi: "\u03D2", upsih: "\u03D2", Upsilon: "\u03A5", upsilon: "\u03C5", UpTeeArrow: "\u21A5", UpTee: "\u22A5", upuparrows: "\u21C8", urcorn: "\u231D", urcorner: "\u231D", urcrop: "\u230E", Uring: "\u016E", uring: "\u016F", urtri: "\u25F9", Uscr: "\u{1D4B0}", uscr: "\u{1D4CA}", utdot: "\u22F0", Utilde: "\u0168", utilde: "\u0169", utri: "\u25B5", utrif: "\u25B4", uuarr: "\u21C8", Uuml: "\xDC", uuml: "\xFC", uwangle: "\u29A7", vangrt: "\u299C", varepsilon: "\u03F5", varkappa: "\u03F0", varnothing: "\u2205", varphi: "\u03D5", varpi: "\u03D6", varpropto: "\u221D", varr: "\u2195", vArr: "\u21D5", varrho: "\u03F1", varsigma: "\u03C2", varsubsetneq: "\u228A\uFE00", varsubsetneqq: "\u2ACB\uFE00", varsupsetneq: "\u228B\uFE00", varsupsetneqq: "\u2ACC\uFE00", vartheta: "\u03D1", vartriangleleft: "\u22B2", vartriangleright: "\u22B3", vBar: "\u2AE8", Vbar: "\u2AEB", vBarv: "\u2AE9", Vcy: "\u0412", vcy: "\u0432", vdash: "\u22A2", vDash: "\u22A8", Vdash: "\u22A9", VDash: "\u22AB", Vdashl: "\u2AE6", veebar: "\u22BB", vee: "\u2228", Vee: "\u22C1", veeeq: "\u225A", vellip: "\u22EE", verbar: "|", Verbar: "\u2016", vert: "|", Vert: "\u2016", VerticalBar: "\u2223", VerticalLine: "|", VerticalSeparator: "\u2758", VerticalTilde: "\u2240", VeryThinSpace: "\u200A", Vfr: "\u{1D519}", vfr: "\u{1D533}", vltri: "\u22B2", vnsub: "\u2282\u20D2", vnsup: "\u2283\u20D2", Vopf: "\u{1D54D}", vopf: "\u{1D567}", vprop: "\u221D", vrtri: "\u22B3", Vscr: "\u{1D4B1}", vscr: "\u{1D4CB}", vsubnE: "\u2ACB\uFE00", vsubne: "\u228A\uFE00", vsupnE: "\u2ACC\uFE00", vsupne: "\u228B\uFE00", Vvdash: "\u22AA", vzigzag: "\u299A", Wcirc: "\u0174", wcirc: "\u0175", wedbar: "\u2A5F", wedge: "\u2227", Wedge: "\u22C0", wedgeq: "\u2259", weierp: "\u2118", Wfr: "\u{1D51A}", wfr: "\u{1D534}", Wopf: "\u{1D54E}", wopf: "\u{1D568}", wp: "\u2118", wr: "\u2240", wreath: "\u2240", Wscr: "\u{1D4B2}", wscr: "\u{1D4CC}", xcap: "\u22C2", xcirc: "\u25EF", xcup: "\u22C3", xdtri: "\u25BD", Xfr: "\u{1D51B}", xfr: "\u{1D535}", xharr: "\u27F7", xhArr: "\u27FA", Xi: "\u039E", xi: "\u03BE", xlarr: "\u27F5", xlArr: "\u27F8", xmap: "\u27FC", xnis: "\u22FB", xodot: "\u2A00", Xopf: "\u{1D54F}", xopf: "\u{1D569}", xoplus: "\u2A01", xotime: "\u2A02", xrarr: "\u27F6", xrArr: "\u27F9", Xscr: "\u{1D4B3}", xscr: "\u{1D4CD}", xsqcup: "\u2A06", xuplus: "\u2A04", xutri: "\u25B3", xvee: "\u22C1", xwedge: "\u22C0", Yacute: "\xDD", yacute: "\xFD", YAcy: "\u042F", yacy: "\u044F", Ycirc: "\u0176", ycirc: "\u0177", Ycy: "\u042B", ycy: "\u044B", yen: "\xA5", Yfr: "\u{1D51C}", yfr: "\u{1D536}", YIcy: "\u0407", yicy: "\u0457", Yopf: "\u{1D550}", yopf: "\u{1D56A}", Yscr: "\u{1D4B4}", yscr: "\u{1D4CE}", YUcy: "\u042E", yucy: "\u044E", yuml: "\xFF", Yuml: "\u0178", Zacute: "\u0179", zacute: "\u017A", Zcaron: "\u017D", zcaron: "\u017E", Zcy: "\u0417", zcy: "\u0437", Zdot: "\u017B", zdot: "\u017C", zeetrf: "\u2128", ZeroWidthSpace: "\u200B", Zeta: "\u0396", zeta: "\u03B6", zfr: "\u{1D537}", Zfr: "\u2128", ZHcy: "\u0416", zhcy: "\u0436", zigrarr: "\u21DD", zopf: "\u{1D56B}", Zopf: "\u2124", Zscr: "\u{1D4B5}", zscr: "\u{1D4CF}", zwj: "\u200D", zwnj: "\u200C" };
1172
- var Gn = /^#[xX]([A-Fa-f0-9]+)$/;
1173
- var Kn = /^#([0-9]+)$/;
1174
- var Wn = /^([A-Za-z0-9]+)$/;
1175
- var or = (function() {
944
+ var ws = /^#[xX]([A-Fa-f0-9]+)$/;
945
+ var Ts = /^#([0-9]+)$/;
946
+ var xs = /^([A-Za-z0-9]+)$/;
947
+ var $e = (function() {
1176
948
  function e5(t) {
1177
949
  this.named = t;
1178
950
  }
1179
951
  return e5.prototype.parse = function(t) {
1180
952
  if (t) {
1181
- var r = t.match(Gn);
953
+ var r = t.match(ws);
1182
954
  if (r) return String.fromCharCode(parseInt(r[1], 16));
1183
- if (r = t.match(Kn), r) return String.fromCharCode(parseInt(r[1], 10));
1184
- if (r = t.match(Wn), r) return this.named[r[1]];
955
+ if (r = t.match(Ts), r) return String.fromCharCode(parseInt(r[1], 10));
956
+ if (r = t.match(xs), r) return this.named[r[1]];
1185
957
  }
1186
958
  }, e5;
1187
959
  })();
1188
- var jn = /[\t\n\f ]/;
1189
- var Qn = /[A-Za-z]/;
1190
- var Jn = /\r\n?/g;
960
+ var Ns = /[\t\n\f ]/;
961
+ var As = /[A-Za-z]/;
962
+ var Ps = /\r\n?/g;
1191
963
  function _(e5) {
1192
- return jn.test(e5);
964
+ return Ns.test(e5);
1193
965
  }
1194
- function Ss(e5) {
1195
- return Qn.test(e5);
966
+ function Jr(e5) {
967
+ return As.test(e5);
1196
968
  }
1197
- function $n(e5) {
1198
- return e5.replace(Jn, `
969
+ function Cs(e5) {
970
+ return e5.replace(Ps, `
1199
971
  `);
1200
972
  }
1201
- var lr = (function() {
973
+ var Xe = (function() {
1202
974
  function e5(t, r, s) {
1203
975
  s === void 0 && (s = "precompile"), this.delegate = t, this.entityParser = r, this.mode = s, this.state = "beforeData", this.line = -1, this.column = -1, this.input = "", this.index = -1, this.tagNameBuffer = "", this.states = { beforeData: function() {
1204
976
  var n = this.peek();
@@ -1216,7 +988,7 @@ var lr = (function() {
1216
988
  n === "<" && !this.isIgnoredEndTag() ? (this.delegate.finishData(), this.transitionTo("tagOpen"), this.markTagStart(), this.consume()) : n === "&" && i !== "script" && i !== "style" ? (this.consume(), this.delegate.appendToData(this.consumeCharRef() || "&")) : (this.consume(), this.delegate.appendToData(n));
1217
989
  }, tagOpen: function() {
1218
990
  var n = this.consume();
1219
- n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
991
+ n === "!" ? this.transitionTo("markupDeclarationOpen") : n === "/" ? this.transitionTo("endTagOpen") : (n === "@" || n === ":" || Jr(n)) && (this.transitionTo("tagName"), this.tagNameBuffer = "", this.delegate.beginStartTag(), this.appendToTagName(n));
1220
992
  }, markupDeclarationOpen: function() {
1221
993
  var n = this.consume();
1222
994
  if (n === "-" && this.peek() === "-") this.consume(), this.transitionTo("commentStart"), this.delegate.beginComment();
@@ -1320,7 +1092,7 @@ var lr = (function() {
1320
1092
  n === ">" ? (this.consume(), this.delegate.markTagAsSelfClosing(), this.delegate.finishTag(), this.transitionTo("beforeData")) : this.transitionTo("beforeAttributeName");
1321
1093
  }, endTagOpen: function() {
1322
1094
  var n = this.consume();
1323
- (n === "@" || n === ":" || Ss(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1095
+ (n === "@" || n === ":" || Jr(n)) && (this.transitionTo("endTagName"), this.tagNameBuffer = "", this.delegate.beginEndTag(), this.appendToTagName(n));
1324
1096
  } }, this.reset();
1325
1097
  }
1326
1098
  return e5.prototype.reset = function() {
@@ -1330,7 +1102,7 @@ var lr = (function() {
1330
1102
  }, e5.prototype.tokenize = function(t) {
1331
1103
  this.reset(), this.tokenizePart(t), this.tokenizeEOF();
1332
1104
  }, e5.prototype.tokenizePart = function(t) {
1333
- for (this.input += $n(t); this.index < this.input.length; ) {
1105
+ for (this.input += Cs(t); this.index < this.input.length; ) {
1334
1106
  var r = this.states[this.state];
1335
1107
  if (r !== void 0) r.call(this);
1336
1108
  else throw new Error("unhandled state " + this.state);
@@ -1363,9 +1135,9 @@ var lr = (function() {
1363
1135
  return t === "title" && this.input.substring(this.index, this.index + 8) !== "</title>" || t === "style" && this.input.substring(this.index, this.index + 8) !== "</style>" || t === "script" && this.input.substring(this.index, this.index + 9) !== "</script>";
1364
1136
  }, e5;
1365
1137
  })();
1366
- var so = (function() {
1138
+ var ho = (function() {
1367
1139
  function e5(t, r) {
1368
- r === void 0 && (r = {}), this.options = r, this.token = null, this.startLine = 1, this.startColumn = 0, this.tokens = [], this.tokenizer = new lr(this, t, r.mode), this._currentAttribute = void 0;
1140
+ r === void 0 && (r = {}), this.options = r, this.token = null, this.startLine = 1, this.startColumn = 0, this.tokens = [], this.tokenizer = new Xe(this, t, r.mode), this._currentAttribute = void 0;
1369
1141
  }
1370
1142
  return e5.prototype.tokenize = function(t) {
1371
1143
  return this.tokens = [], this.tokenizer.tokenize(t), this.tokens;
@@ -1436,50 +1208,52 @@ var so = (function() {
1436
1208
  this.current().syntaxError = t;
1437
1209
  }, e5;
1438
1210
  })();
1439
- var Ne = { Append: 1, TrustingAppend: 2, Comment: 3, Modifier: 4, StrictModifier: 5, Block: 6, StrictBlock: 7, Component: 8, OpenElement: 10, OpenElementWithSplat: 11, FlushElement: 12, CloseElement: 13, StaticAttr: 14, DynamicAttr: 15, ComponentAttr: 16, AttrSplat: 17, Yield: 18, DynamicArg: 20, StaticArg: 21, TrustingDynamicAttr: 22, TrustingComponentAttr: 23, StaticComponentAttr: 24, Debugger: 26, Undefined: 27, Call: 28, Concat: 29, GetSymbol: 30, GetLexicalSymbol: 32, GetStrictKeyword: 31, GetFreeAsComponentOrHelperHead: 35, GetFreeAsHelperHead: 37, GetFreeAsModifierHead: 38, GetFreeAsComponentHead: 39, InElement: 40, If: 41, Each: 42, Let: 44, WithDynamicVars: 45, InvokeComponent: 46, HasBlock: 48, HasBlockParams: 49, Curry: 50, Not: 51, IfInline: 52, GetDynamicVar: 53, Log: 54 };
1440
- function vs(e5) {
1211
+ var pe = { Append: 1, TrustingAppend: 2, Comment: 3, Modifier: 4, StrictModifier: 5, Block: 6, StrictBlock: 7, Component: 8, OpenElement: 10, OpenElementWithSplat: 11, FlushElement: 12, CloseElement: 13, StaticAttr: 14, DynamicAttr: 15, ComponentAttr: 16, AttrSplat: 17, Yield: 18, DynamicArg: 20, StaticArg: 21, TrustingDynamicAttr: 22, TrustingComponentAttr: 23, StaticComponentAttr: 24, Debugger: 26, Undefined: 27, Call: 28, Concat: 29, GetSymbol: 30, GetLexicalSymbol: 32, GetStrictKeyword: 31, GetFreeAsComponentOrHelperHead: 35, GetFreeAsHelperHead: 37, GetFreeAsModifierHead: 38, GetFreeAsComponentHead: 39, InElement: 40, If: 41, Each: 42, Let: 44, WithDynamicVars: 45, InvokeComponent: 46, HasBlock: 48, HasBlockParams: 49, Curry: 50, Not: 51, IfInline: 52, GetDynamicVar: 53, Log: 54 };
1212
+ function Xr(e5) {
1441
1213
  return function(t) {
1442
1214
  return Array.isArray(t) && t[0] === e5;
1443
1215
  };
1444
1216
  }
1445
- var io = vs(Ne.FlushElement);
1446
- var ao = vs(Ne.GetSymbol);
1447
- var Xn = false;
1448
- var Zn = /["\x26\xa0]/u;
1449
- var go = new RegExp(Zn.source, "gu");
1450
- var ti = /[&<>\xa0]/u;
1451
- var bo = new RegExp(ti.source, "gu");
1452
- var mr = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1453
- function ei(e5) {
1454
- var t;
1455
- return mr.has(e5.toLowerCase()) && ((t = e5[0]) == null ? void 0 : t.toLowerCase()) === e5[0];
1456
- }
1457
- function ce(e5) {
1217
+ var fo = Xr(pe.FlushElement);
1218
+ var mo = Xr(pe.GetSymbol);
1219
+ var _s = false;
1220
+ var Ls = /["\x26\xa0]/u;
1221
+ var wo = new RegExp(Ls.source, "gu");
1222
+ var Ds = /[&<>\xa0]/u;
1223
+ var To = new RegExp(Ds.source, "gu");
1224
+ var de = /* @__PURE__ */ new Set(["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]);
1225
+ function on() {
1226
+ return [...de];
1227
+ }
1228
+ function Os(e5) {
1229
+ return de.has(e5.toLowerCase()) && e5[0]?.toLowerCase() === e5[0];
1230
+ }
1231
+ function Yt(e5) {
1458
1232
  return !!e5 && e5.length > 0;
1459
1233
  }
1460
- function Tr(e5) {
1234
+ function fr(e5) {
1461
1235
  return e5.length === 0 ? void 0 : e5[e5.length - 1];
1462
1236
  }
1463
- function ri(e5) {
1237
+ function Is(e5) {
1464
1238
  return e5.length === 0 ? void 0 : e5[0];
1465
1239
  }
1466
- var pt = Object.freeze({ line: 1, column: 0 });
1467
- var si = Object.freeze({ source: "(synthetic)", start: pt, end: pt });
1468
- var dr = Object.freeze({ source: "(nonexistent)", start: pt, end: pt });
1469
- var ht = Object.freeze({ source: "(broken)", start: pt, end: pt });
1470
- var gr = class {
1240
+ var st = Object.freeze({ line: 1, column: 0 });
1241
+ var Bs = Object.freeze({ source: "(synthetic)", start: st, end: st });
1242
+ var sr = Object.freeze({ source: "(nonexistent)", start: st, end: st });
1243
+ var nt = Object.freeze({ source: "(broken)", start: st, end: st });
1244
+ var ir = class {
1471
1245
  constructor(t) {
1472
1246
  this._whens = t;
1473
1247
  }
1474
1248
  first(t) {
1475
1249
  for (let r of this._whens) {
1476
1250
  let s = r.match(t);
1477
- if (ce(s)) return s[0];
1251
+ if (Yt(s)) return s[0];
1478
1252
  }
1479
1253
  return null;
1480
1254
  }
1481
1255
  };
1482
- var Pe = class {
1256
+ var ge = class {
1483
1257
  get(t, r) {
1484
1258
  let s = this._map.get(t);
1485
1259
  return s || (s = r(), this._map.set(t, s), s);
@@ -1504,31 +1278,31 @@ var Pe = class {
1504
1278
  this._map = /* @__PURE__ */ new Map();
1505
1279
  }
1506
1280
  };
1507
- function Ls(e5) {
1508
- return e5(new br()).validate();
1281
+ function ln(e5) {
1282
+ return e5(new ar()).validate();
1509
1283
  }
1510
- var br = class {
1284
+ var ar = class {
1511
1285
  validate() {
1512
1286
  return (t, r) => this.matchFor(t.kind, r.kind)(t, r);
1513
1287
  }
1514
1288
  matchFor(t, r) {
1515
1289
  let s = this._whens.match(t);
1516
- return ce(s), new gr(s).first(r);
1290
+ return Yt(s), new ir(s).first(r);
1517
1291
  }
1518
1292
  when(t, r, s) {
1519
- return this._whens.get(t, () => new Pe()).add(r, s), this;
1293
+ return this._whens.get(t, (() => new ge())).add(r, s), this;
1520
1294
  }
1521
1295
  constructor() {
1522
- this._whens = new Pe();
1296
+ this._whens = new ge();
1523
1297
  }
1524
1298
  };
1525
- var yr = class e {
1299
+ var or = class e {
1526
1300
  static synthetic(t) {
1527
- let r = D.synthetic(t);
1301
+ let r = A.synthetic(t);
1528
1302
  return new e({ loc: r, chars: t });
1529
1303
  }
1530
1304
  static load(t, r) {
1531
- return new e({ loc: D.load(t, r[1]), chars: r[0] });
1305
+ return new e({ loc: A.load(t, r[1]), chars: r[0] });
1532
1306
  }
1533
1307
  constructor(t) {
1534
1308
  this.loc = t.loc, this.chars = t.chars;
@@ -1540,26 +1314,26 @@ var yr = class e {
1540
1314
  return [this.chars, this.loc.serialize()];
1541
1315
  }
1542
1316
  };
1543
- var D = class e2 {
1317
+ var A = class e2 {
1544
1318
  static get NON_EXISTENT() {
1545
- return new et("NonExistent", dr).wrap();
1319
+ return new J("NonExistent", sr).wrap();
1546
1320
  }
1547
1321
  static load(t, r) {
1548
- return typeof r == "number" ? e2.forCharPositions(t, r, r) : typeof r == "string" ? e2.synthetic(r) : Array.isArray(r) ? e2.forCharPositions(t, r[0], r[1]) : r === "NonExistent" ? e2.NON_EXISTENT : r === "Broken" ? e2.broken(ht) : void ms(r);
1322
+ return typeof r == "number" ? e2.forCharPositions(t, r, r) : typeof r == "string" ? e2.synthetic(r) : Array.isArray(r) ? e2.forCharPositions(t, r[0], r[1]) : r === "NonExistent" ? e2.NON_EXISTENT : r === "Broken" ? e2.broken(nt) : void Yr(r);
1549
1323
  }
1550
1324
  static forHbsLoc(t, r) {
1551
- let s = new mt(t, r.start), n = new mt(t, r.end);
1552
- return new oe(t, { start: s, end: n }, r).wrap();
1325
+ let s = new at(t, r.start), n = new at(t, r.end);
1326
+ return new Mt(t, { start: s, end: n }, r).wrap();
1553
1327
  }
1554
1328
  static forCharPositions(t, r, s) {
1555
- let n = new Tt(t, r), i = new Tt(t, s);
1556
- return new ae(t, { start: n, end: i }).wrap();
1329
+ let n = new mt(t, r), i = new mt(t, s);
1330
+ return new Ut(t, { start: n, end: i }).wrap();
1557
1331
  }
1558
1332
  static synthetic(t) {
1559
- return new et("InternalsSynthetic", dr, t).wrap();
1333
+ return new J("InternalsSynthetic", sr, t).wrap();
1560
1334
  }
1561
- static broken(t = ht) {
1562
- return new et("Broken", t).wrap();
1335
+ static broken(t = nt) {
1336
+ return new J("Broken", t).wrap();
1563
1337
  }
1564
1338
  constructor(t) {
1565
1339
  var r;
@@ -1573,7 +1347,7 @@ var D = class e2 {
1573
1347
  }
1574
1348
  get loc() {
1575
1349
  let t = this.data.toHbsSpan();
1576
- return t === null ? ht : t.toHbsLoc();
1350
+ return t === null ? nt : t.toHbsLoc();
1577
1351
  }
1578
1352
  get module() {
1579
1353
  return this.data.getModule();
@@ -1588,17 +1362,17 @@ var D = class e2 {
1588
1362
  return this.loc;
1589
1363
  }
1590
1364
  withStart(t) {
1591
- return J(t.data, this.data.getEnd());
1365
+ return K(t.data, this.data.getEnd());
1592
1366
  }
1593
1367
  withEnd(t) {
1594
- return J(this.data.getStart(), t.data);
1368
+ return K(this.data.getStart(), t.data);
1595
1369
  }
1596
1370
  asString() {
1597
1371
  return this.data.asString();
1598
1372
  }
1599
1373
  toSlice(t) {
1600
1374
  let r = this.data.asString();
1601
- return JSON.stringify(r), JSON.stringify(t), new yr({ loc: this, chars: t || r });
1375
+ return JSON.stringify(r), JSON.stringify(t), new or({ loc: this, chars: t || r });
1602
1376
  }
1603
1377
  get start() {
1604
1378
  return this.loc.start;
@@ -1624,29 +1398,29 @@ var D = class e2 {
1624
1398
  }
1625
1399
  }
1626
1400
  extend(t) {
1627
- return J(this.data.getStart(), t.data.getEnd());
1401
+ return K(this.data.getStart(), t.data.getEnd());
1628
1402
  }
1629
1403
  serialize() {
1630
1404
  return this.data.serialize();
1631
1405
  }
1632
1406
  slice({ skipStart: t = 0, skipEnd: r = 0 }) {
1633
- return J(this.getStart().move(t).data, this.getEnd().move(-r).data);
1407
+ return K(this.getStart().move(t).data, this.getEnd().move(-r).data);
1634
1408
  }
1635
1409
  sliceStartChars({ skipStart: t = 0, chars: r }) {
1636
- return J(this.getStart().move(t).data, this.getStart().move(t + r).data);
1410
+ return K(this.getStart().move(t).data, this.getStart().move(t + r).data);
1637
1411
  }
1638
1412
  sliceEndChars({ skipEnd: t = 0, chars: r }) {
1639
- return J(this.getEnd().move(t - r).data, this.getStart().move(-t).data);
1413
+ return K(this.getEnd().move(t - r).data, this.getStart().move(-t).data);
1640
1414
  }
1641
1415
  };
1642
- var Ut;
1643
- var ae = class {
1416
+ var _t2, _a2;
1417
+ var Ut = (_a2 = class {
1644
1418
  constructor(t, r) {
1645
- Lt(this, Ut);
1646
- this.source = t, this.charPositions = r, this.kind = "CharPosition", Y(this, Ut, null);
1419
+ __privateAdd(this, _t2);
1420
+ this.source = t, this.charPositions = r, this.kind = "CharPosition", __privateSet(this, _t2, null);
1647
1421
  }
1648
1422
  wrap() {
1649
- return new D(this);
1423
+ return new A(this);
1650
1424
  }
1651
1425
  asString() {
1652
1426
  return this.source.slice(this.charPositions.start.charPos, this.charPositions.end.charPos);
@@ -1663,12 +1437,12 @@ var ae = class {
1663
1437
  locDidUpdate() {
1664
1438
  }
1665
1439
  toHbsSpan() {
1666
- let t = I(this, Ut);
1440
+ let t = __privateGet(this, _t2);
1667
1441
  if (t === null) {
1668
1442
  let r = this.charPositions.start.toHbsPos(), s = this.charPositions.end.toHbsPos();
1669
- t = Y(this, Ut, r === null || s === null ? ft : new oe(this.source, { start: r, end: s }));
1443
+ t = __privateSet(this, _t2, r === null || s === null ? it : new Mt(this.source, { start: r, end: s }));
1670
1444
  }
1671
- return t === ft ? null : t;
1445
+ return t === it ? null : t;
1672
1446
  }
1673
1447
  serialize() {
1674
1448
  let { start: { charPos: t }, end: { charPos: r } } = this.charPositions;
@@ -1677,28 +1451,26 @@ var ae = class {
1677
1451
  toCharPosSpan() {
1678
1452
  return this;
1679
1453
  }
1680
- };
1681
- Ut = /* @__PURE__ */ new WeakMap();
1682
- var ut;
1683
- var vt;
1684
- var oe = class {
1454
+ }, _t2 = new WeakMap(), _a2);
1455
+ var _t3, _e, _a3;
1456
+ var Mt = (_a3 = class {
1685
1457
  constructor(t, r, s = null) {
1686
- Lt(this, ut);
1687
- Lt(this, vt);
1688
- this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", Y(this, ut, null), Y(this, vt, s);
1458
+ __privateAdd(this, _t3);
1459
+ __privateAdd(this, _e);
1460
+ this.source = t, this.hbsPositions = r, this.kind = "HbsPosition", __privateSet(this, _t3, null), __privateSet(this, _e, s);
1689
1461
  }
1690
1462
  serialize() {
1691
1463
  let t = this.toCharPosSpan();
1692
1464
  return t === null ? "Broken" : t.wrap().serialize();
1693
1465
  }
1694
1466
  wrap() {
1695
- return new D(this);
1467
+ return new A(this);
1696
1468
  }
1697
1469
  updateProvided(t, r) {
1698
- I(this, vt) && (I(this, vt)[r] = t), Y(this, ut, null), Y(this, vt, { start: t, end: t });
1470
+ __privateGet(this, _e) && (__privateGet(this, _e)[r] = t), __privateSet(this, _t3, null), __privateSet(this, _e, { start: t, end: t });
1699
1471
  }
1700
1472
  locDidUpdate({ start: t, end: r }) {
1701
- t !== void 0 && (this.updateProvided(t, "start"), this.hbsPositions.start = new mt(this.source, t, null)), r !== void 0 && (this.updateProvided(r, "end"), this.hbsPositions.end = new mt(this.source, r, null));
1473
+ t !== void 0 && (this.updateProvided(t, "start"), this.hbsPositions.start = new at(this.source, t, null)), r !== void 0 && (this.updateProvided(r, "end"), this.hbsPositions.end = new at(this.source, r, null));
1702
1474
  }
1703
1475
  asString() {
1704
1476
  let t = this.toCharPosSpan();
@@ -1720,17 +1492,16 @@ var oe = class {
1720
1492
  return this;
1721
1493
  }
1722
1494
  toCharPosSpan() {
1723
- let t = I(this, ut);
1495
+ let t = __privateGet(this, _t3);
1724
1496
  if (t === null) {
1725
1497
  let r = this.hbsPositions.start.toCharPos(), s = this.hbsPositions.end.toCharPos();
1726
- if (!r || !s) return t = Y(this, ut, ft), null;
1727
- t = Y(this, ut, new ae(this.source, { start: r, end: s }));
1498
+ if (!r || !s) return t = __privateSet(this, _t3, it), null;
1499
+ t = __privateSet(this, _t3, new Ut(this.source, { start: r, end: s }));
1728
1500
  }
1729
- return t === ft ? null : t;
1501
+ return t === it ? null : t;
1730
1502
  }
1731
- };
1732
- ut = /* @__PURE__ */ new WeakMap(), vt = /* @__PURE__ */ new WeakMap();
1733
- var et = class {
1503
+ }, _t3 = new WeakMap(), _e = new WeakMap(), _a3);
1504
+ var J = class {
1734
1505
  constructor(t, r, s = null) {
1735
1506
  this.kind = t, this.loc = r, this.string = s;
1736
1507
  }
@@ -1744,7 +1515,7 @@ var et = class {
1744
1515
  }
1745
1516
  }
1746
1517
  wrap() {
1747
- return new D(this);
1518
+ return new A(this);
1748
1519
  }
1749
1520
  asString() {
1750
1521
  return this.string || "";
@@ -1756,10 +1527,10 @@ var et = class {
1756
1527
  return "an unknown module";
1757
1528
  }
1758
1529
  getStart() {
1759
- return new le(this.kind, this.loc.start);
1530
+ return new zt(this.kind, this.loc.start);
1760
1531
  }
1761
1532
  getEnd() {
1762
- return new le(this.kind, this.loc.end);
1533
+ return new zt(this.kind, this.loc.end);
1763
1534
  }
1764
1535
  toCharPosSpan() {
1765
1536
  return this;
@@ -1768,23 +1539,23 @@ var et = class {
1768
1539
  return null;
1769
1540
  }
1770
1541
  toHbsLoc() {
1771
- return ht;
1542
+ return nt;
1772
1543
  }
1773
1544
  };
1774
- var J = Ls((e5) => e5.when("HbsPosition", "HbsPosition", (t, r) => new oe(t.source, { start: t, end: r }).wrap()).when("CharPosition", "CharPosition", (t, r) => new ae(t.source, { start: t, end: r }).wrap()).when("CharPosition", "HbsPosition", (t, r) => {
1545
+ var K = ln(((e5) => e5.when("HbsPosition", "HbsPosition", ((t, r) => new Mt(t.source, { start: t, end: r }).wrap())).when("CharPosition", "CharPosition", ((t, r) => new Ut(t.source, { start: t, end: r }).wrap())).when("CharPosition", "HbsPosition", ((t, r) => {
1775
1546
  let s = r.toCharPos();
1776
- return s === null ? new et("Broken", ht).wrap() : J(t, s);
1777
- }).when("HbsPosition", "CharPosition", (t, r) => {
1547
+ return s === null ? new J("Broken", nt).wrap() : K(t, s);
1548
+ })).when("HbsPosition", "CharPosition", ((t, r) => {
1778
1549
  let s = t.toCharPos();
1779
- return s === null ? new et("Broken", ht).wrap() : J(s, r);
1780
- }).when("IS_INVISIBLE", "MATCH_ANY", (t) => new et(t.kind, ht).wrap()).when("MATCH_ANY", "IS_INVISIBLE", (t, r) => new et(r.kind, ht).wrap()));
1781
- var ft = "BROKEN";
1782
- var Mt = class e3 {
1550
+ return s === null ? new J("Broken", nt).wrap() : K(s, r);
1551
+ })).when("IS_INVISIBLE", "MATCH_ANY", ((t) => new J(t.kind, nt).wrap())).when("MATCH_ANY", "IS_INVISIBLE", ((t, r) => new J(r.kind, nt).wrap()))));
1552
+ var it = "BROKEN";
1553
+ var Pt = class e3 {
1783
1554
  static forHbsPos(t, r) {
1784
- return new mt(t, r, null).wrap();
1555
+ return new at(t, r, null).wrap();
1785
1556
  }
1786
- static broken(t = pt) {
1787
- return new le("Broken", t).wrap();
1557
+ static broken(t = st) {
1558
+ return new zt("Broken", t).wrap();
1788
1559
  }
1789
1560
  constructor(t) {
1790
1561
  this.data = t;
@@ -1794,27 +1565,27 @@ var Mt = class e3 {
1794
1565
  return t === null ? null : t.offset;
1795
1566
  }
1796
1567
  eql(t) {
1797
- return ni(this.data, t.data);
1568
+ return Rs(this.data, t.data);
1798
1569
  }
1799
1570
  until(t) {
1800
- return J(this.data, t.data);
1571
+ return K(this.data, t.data);
1801
1572
  }
1802
1573
  move(t) {
1803
1574
  let r = this.data.toCharPos();
1804
1575
  if (r === null) return e3.broken();
1805
1576
  {
1806
1577
  let s = r.offset + t;
1807
- return r.source.validate(s) ? new Tt(r.source, s).wrap() : e3.broken();
1578
+ return r.source.validate(s) ? new mt(r.source, s).wrap() : e3.broken();
1808
1579
  }
1809
1580
  }
1810
1581
  collapsed() {
1811
- return J(this.data, this.data);
1582
+ return K(this.data, this.data);
1812
1583
  }
1813
1584
  toJSON() {
1814
1585
  return this.data.toJSON();
1815
1586
  }
1816
1587
  };
1817
- var Tt = class {
1588
+ var mt = class {
1818
1589
  constructor(t, r) {
1819
1590
  this.source = t, this.charPos = r, this.kind = "CharPosition", this._locPos = null;
1820
1591
  }
@@ -1823,10 +1594,10 @@ var Tt = class {
1823
1594
  }
1824
1595
  toJSON() {
1825
1596
  let t = this.toHbsPos();
1826
- return t === null ? pt : t.toJSON();
1597
+ return t === null ? st : t.toJSON();
1827
1598
  }
1828
1599
  wrap() {
1829
- return new Mt(this);
1600
+ return new Pt(this);
1830
1601
  }
1831
1602
  get offset() {
1832
1603
  return this.charPos;
@@ -1835,34 +1606,34 @@ var Tt = class {
1835
1606
  let t = this._locPos;
1836
1607
  if (t === null) {
1837
1608
  let r = this.source.hbsPosFor(this.charPos);
1838
- this._locPos = t = r === null ? ft : new mt(this.source, r, this.charPos);
1609
+ this._locPos = t = r === null ? it : new at(this.source, r, this.charPos);
1839
1610
  }
1840
- return t === ft ? null : t;
1611
+ return t === it ? null : t;
1841
1612
  }
1842
1613
  };
1843
- var mt = class {
1614
+ var at = class {
1844
1615
  constructor(t, r, s = null) {
1845
- this.source = t, this.hbsPos = r, this.kind = "HbsPosition", this._charPos = s === null ? null : new Tt(t, s);
1616
+ this.source = t, this.hbsPos = r, this.kind = "HbsPosition", this._charPos = s === null ? null : new mt(t, s);
1846
1617
  }
1847
1618
  toCharPos() {
1848
1619
  let t = this._charPos;
1849
1620
  if (t === null) {
1850
1621
  let r = this.source.charPosFor(this.hbsPos);
1851
- this._charPos = t = r === null ? ft : new Tt(this.source, r);
1622
+ this._charPos = t = r === null ? it : new mt(this.source, r);
1852
1623
  }
1853
- return t === ft ? null : t;
1624
+ return t === it ? null : t;
1854
1625
  }
1855
1626
  toJSON() {
1856
1627
  return this.hbsPos;
1857
1628
  }
1858
1629
  wrap() {
1859
- return new Mt(this);
1630
+ return new Pt(this);
1860
1631
  }
1861
1632
  toHbsPos() {
1862
1633
  return this;
1863
1634
  }
1864
1635
  };
1865
- var le = class {
1636
+ var zt = class {
1866
1637
  constructor(t, r) {
1867
1638
  this.kind = t, this.pos = r;
1868
1639
  }
@@ -1873,23 +1644,16 @@ var le = class {
1873
1644
  return this.pos;
1874
1645
  }
1875
1646
  wrap() {
1876
- return new Mt(this);
1647
+ return new Pt(this);
1877
1648
  }
1878
1649
  get offset() {
1879
1650
  return null;
1880
1651
  }
1881
1652
  };
1882
- var ni = Ls((e5) => e5.when("HbsPosition", "HbsPosition", ({ hbsPos: t }, { hbsPos: r }) => t.column === r.column && t.line === r.line).when("CharPosition", "CharPosition", ({ charPos: t }, { charPos: r }) => t === r).when("CharPosition", "HbsPosition", ({ offset: t }, r) => {
1883
- var s;
1884
- return t === ((s = r.toCharPos()) == null ? void 0 : s.offset);
1885
- }).when("HbsPosition", "CharPosition", (t, { offset: r }) => {
1886
- var s;
1887
- return ((s = t.toCharPos()) == null ? void 0 : s.offset) === r;
1888
- }).when("MATCH_ANY", "MATCH_ANY", () => false));
1889
- var wt = class e4 {
1653
+ var Rs = ln(((e5) => e5.when("HbsPosition", "HbsPosition", (({ hbsPos: t }, { hbsPos: r }) => t.column === r.column && t.line === r.line)).when("CharPosition", "CharPosition", (({ charPos: t }, { charPos: r }) => t === r)).when("CharPosition", "HbsPosition", (({ offset: t }, r) => t === r.toCharPos()?.offset)).when("HbsPosition", "CharPosition", ((t, { offset: r }) => t.toCharPos()?.offset === r)).when("MATCH_ANY", "MATCH_ANY", (() => false))));
1654
+ var ft = class e4 {
1890
1655
  static from(t, r = {}) {
1891
- var s;
1892
- return new e4(t, (s = r.meta) == null ? void 0 : s.moduleName);
1656
+ return new e4(t, r.meta?.moduleName);
1893
1657
  }
1894
1658
  constructor(t, r = "an unknown module") {
1895
1659
  this.source = t, this.module = r;
@@ -1901,10 +1665,10 @@ var wt = class e4 {
1901
1665
  return this.source.slice(t, r);
1902
1666
  }
1903
1667
  offsetFor(t, r) {
1904
- return Mt.forHbsPos(this, { line: t, column: r });
1668
+ return Pt.forHbsPos(this, { line: t, column: r });
1905
1669
  }
1906
1670
  spanFor({ start: t, end: r }) {
1907
- return D.forHbsLoc(this, { start: { line: t.line, column: t.column }, end: { line: r.line, column: r.column } });
1671
+ return A.forHbsLoc(this, { start: { line: t.line, column: t.column }, end: { line: r.line, column: r.column } });
1908
1672
  }
1909
1673
  hbsPosFor(t) {
1910
1674
  let r = 0, s = 0;
@@ -1923,7 +1687,7 @@ var wt = class e4 {
1923
1687
  `, a);
1924
1688
  if (o === -1 && (o = this.source.length), i === r - 1) {
1925
1689
  if (a + s > o) return o;
1926
- if (Xn) {
1690
+ if (_s) {
1927
1691
  let c = this.hbsPosFor(a + s);
1928
1692
  c.line, c.column;
1929
1693
  }
@@ -1935,7 +1699,7 @@ var wt = class e4 {
1935
1699
  return n;
1936
1700
  }
1937
1701
  };
1938
- function E(e5, t) {
1702
+ function k(e5, t) {
1939
1703
  let { module: r, loc: s } = t, { line: n, column: i } = s.start, a = t.asString(), o = a ? `
1940
1704
 
1941
1705
  |
@@ -1947,24 +1711,24 @@ function E(e5, t) {
1947
1711
  ` : "", c = new Error(`${e5}: ${o}(error occurred in '${r}' @ line ${n} : column ${i})`);
1948
1712
  return c.name = "SyntaxError", c.location = t, c.code = a, c;
1949
1713
  }
1950
- var ii = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] };
1951
- var Nr = (function() {
1714
+ var be = { Template: ["body"], Block: ["body"], MustacheStatement: ["path", "params", "hash"], BlockStatement: ["path", "params", "hash", "program", "inverse"], ElementModifierStatement: ["path", "params", "hash"], CommentStatement: [], MustacheCommentStatement: [], ElementNode: ["attributes", "modifiers", "children", "comments"], AttrNode: ["value"], TextNode: [], ConcatStatement: ["parts"], SubExpression: ["path", "params", "hash"], PathExpression: [], StringLiteral: [], BooleanLiteral: [], NumberLiteral: [], NullLiteral: [], UndefinedLiteral: [], Hash: ["pairs"], HashPair: ["value"] };
1715
+ var mr = (function() {
1952
1716
  function e5(t, r, s, n) {
1953
1717
  let i = Error.call(this, t);
1954
1718
  this.key = n, this.message = t, this.node = r, this.parent = s, i.stack && (this.stack = i.stack);
1955
1719
  }
1956
1720
  return e5.prototype = Object.create(Error.prototype), e5.prototype.constructor = e5, e5;
1957
1721
  })();
1958
- function ws(e5, t, r) {
1959
- return new Nr("Cannot remove a node unless it is part of an array", e5, t, r);
1722
+ function Zr(e5, t, r) {
1723
+ return new mr("Cannot remove a node unless it is part of an array", e5, t, r);
1960
1724
  }
1961
- function ai(e5, t, r) {
1962
- return new Nr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1725
+ function qs(e5, t, r) {
1726
+ return new mr("Cannot replace a node with multiple nodes unless it is part of an array", e5, t, r);
1963
1727
  }
1964
- function Ts(e5, t) {
1965
- return new Nr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1728
+ function tn(e5, t) {
1729
+ return new mr("Replacing and removing in key handlers is not yet supported.", e5, null, t);
1966
1730
  }
1967
- var zt = class {
1731
+ var Ct = class {
1968
1732
  constructor(t, r = null, s = null) {
1969
1733
  this.node = t, this.parent = r, this.parentKey = s;
1970
1734
  }
@@ -1972,10 +1736,10 @@ var zt = class {
1972
1736
  return this.parent ? this.parent.node : null;
1973
1737
  }
1974
1738
  parents() {
1975
- return { [Symbol.iterator]: () => new kr(this) };
1739
+ return { [Symbol.iterator]: () => new lr(this) };
1976
1740
  }
1977
1741
  };
1978
- var kr = class {
1742
+ var lr = class {
1979
1743
  constructor(t) {
1980
1744
  this.path = t;
1981
1745
  }
@@ -1983,74 +1747,74 @@ var kr = class {
1983
1747
  return this.path.parent ? (this.path = this.path.parent, { done: false, value: this.path }) : { done: true, value: null };
1984
1748
  }
1985
1749
  };
1986
- function Ds(e5) {
1750
+ function cn(e5) {
1987
1751
  return typeof e5 == "function" ? e5 : e5.enter;
1988
1752
  }
1989
- function _s(e5) {
1753
+ function un(e5) {
1990
1754
  return typeof e5 == "function" ? void 0 : e5.exit;
1991
1755
  }
1992
- function Ae(e5, t) {
1993
- let r, s, n, { node: i, parent: a, parentKey: o } = t, c = (function(h, p) {
1994
- if (h.Program && (p === "Template" && !h.Template || p === "Block" && !h.Block)) return h.Program;
1995
- let m = h[p];
1996
- return m !== void 0 ? m : h.All;
1756
+ function ye(e5, t) {
1757
+ let r, s, n, { node: i, parent: a, parentKey: o } = t, c = (function(h, f) {
1758
+ if (h.Program && (f === "Template" && !h.Template || f === "Block" && !h.Block)) return h.Program;
1759
+ let p = h[f];
1760
+ return p !== void 0 ? p : h.All;
1997
1761
  })(e5, i.type);
1998
- if (c !== void 0 && (r = Ds(c), s = _s(c)), r !== void 0 && (n = r(i, t)), n != null) {
1999
- if (JSON.stringify(i) !== JSON.stringify(n)) return Array.isArray(n) ? (Os(e5, n, a, o), n) : Ae(e5, new zt(n, a, o)) || n;
1762
+ if (c !== void 0 && (r = cn(c), s = un(c)), r !== void 0 && (n = r(i, t)), n != null) {
1763
+ if (JSON.stringify(i) !== JSON.stringify(n)) return Array.isArray(n) ? (hn(e5, n, a, o), n) : ye(e5, new Ct(n, a, o)) || n;
2000
1764
  n = void 0;
2001
1765
  }
2002
1766
  if (n === void 0) {
2003
- let h = ii[i.type];
2004
- for (let p = 0; p < h.length; p++) oi(e5, c, t, h[p]);
1767
+ let h = be[i.type];
1768
+ for (let f = 0; f < h.length; f++) Vs(e5, c, t, h[f]);
2005
1769
  s !== void 0 && (n = s(i, t));
2006
1770
  }
2007
1771
  return n;
2008
1772
  }
2009
- function Ns(e5, t, r) {
1773
+ function en(e5, t, r) {
2010
1774
  e5[t] = r;
2011
1775
  }
2012
- function oi(e5, t, r, s) {
1776
+ function Vs(e5, t, r, s) {
2013
1777
  let n, i, { node: a } = r, o = (function(c, h) {
2014
1778
  return c[h];
2015
1779
  })(a, s);
2016
1780
  if (o) {
2017
1781
  if (t !== void 0) {
2018
- let c = (function(h, p) {
2019
- let m = typeof h != "function" ? h.keys : void 0;
2020
- if (m === void 0) return;
2021
- let S = m[p];
2022
- return S !== void 0 ? S : m.All;
1782
+ let c = (function(h, f) {
1783
+ let p = typeof h != "function" ? h.keys : void 0;
1784
+ if (p === void 0) return;
1785
+ let g = p[f];
1786
+ return g !== void 0 ? g : p.All;
2023
1787
  })(t, s);
2024
- c !== void 0 && (n = Ds(c), i = _s(c));
1788
+ c !== void 0 && (n = cn(c), i = un(c));
2025
1789
  }
2026
- if (n !== void 0 && n(a, s) !== void 0) throw Ts(a, s);
2027
- if (Array.isArray(o)) Os(e5, o, r, s);
1790
+ if (n !== void 0 && n(a, s) !== void 0) throw tn(a, s);
1791
+ if (Array.isArray(o)) hn(e5, o, r, s);
2028
1792
  else {
2029
- let c = Ae(e5, new zt(o, r, s));
2030
- c !== void 0 && (function(h, p, m, S) {
2031
- if (S === null) throw ws(m, h, p);
2032
- if (Array.isArray(S)) {
2033
- if (S.length !== 1) throw S.length === 0 ? ws(m, h, p) : ai(m, h, p);
2034
- Ns(h, p, S[0]);
2035
- } else Ns(h, p, S);
1793
+ let c = ye(e5, new Ct(o, r, s));
1794
+ c !== void 0 && (function(h, f, p, g) {
1795
+ if (g === null) throw Zr(p, h, f);
1796
+ if (Array.isArray(g)) {
1797
+ if (g.length !== 1) throw g.length === 0 ? Zr(p, h, f) : qs(p, h, f);
1798
+ en(h, f, g[0]);
1799
+ } else en(h, f, g);
2036
1800
  })(a, s, o, c);
2037
1801
  }
2038
- if (i !== void 0 && i(a, s) !== void 0) throw Ts(a, s);
1802
+ if (i !== void 0 && i(a, s) !== void 0) throw tn(a, s);
2039
1803
  }
2040
1804
  }
2041
- function Os(e5, t, r, s) {
1805
+ function hn(e5, t, r, s) {
2042
1806
  for (let n = 0; n < t.length; n++) {
2043
- let i = t[n], a = Ae(e5, new zt(i, r, s));
2044
- a !== void 0 && (n += li(t, n, a) - 1);
1807
+ let i = t[n], a = ye(e5, new Ct(i, r, s));
1808
+ a !== void 0 && (n += Fs(t, n, a) - 1);
2045
1809
  }
2046
1810
  }
2047
- function li(e5, t, r) {
1811
+ function Fs(e5, t, r) {
2048
1812
  return r === null ? (e5.splice(t, 1), 0) : Array.isArray(r) ? (e5.splice(t, 1, ...r), r.length) : (e5.splice(t, 1, r), 1);
2049
1813
  }
2050
- function ci(e5, t) {
2051
- Ae(t, new zt(e5));
1814
+ function Hs(e5, t) {
1815
+ ye(t, new Ct(e5));
2052
1816
  }
2053
- function Ft(e5, t) {
1817
+ function At(e5, t) {
2054
1818
  (function(r) {
2055
1819
  switch (r.type) {
2056
1820
  case "Block":
@@ -2061,128 +1825,128 @@ function Ft(e5, t) {
2061
1825
  }
2062
1826
  })(e5).push(t);
2063
1827
  }
2064
- function Bs(e5) {
1828
+ function pn(e5) {
2065
1829
  return e5.type === "StringLiteral" || e5.type === "BooleanLiteral" || e5.type === "NumberLiteral" || e5.type === "NullLiteral" || e5.type === "UndefinedLiteral";
2066
1830
  }
2067
- var cr;
2068
- function ur() {
2069
- return cr || (cr = new wt("", "(synthetic)")), cr;
1831
+ var Ze;
1832
+ function tr() {
1833
+ return Ze || (Ze = new ft("", "(synthetic)")), Ze;
2070
1834
  }
2071
- function Cs(e5, t) {
2072
- return f.var({ name: e5, loc: T(t || null) });
1835
+ function rn(e5, t) {
1836
+ return d.var({ name: e5, loc: v(t || null) });
2073
1837
  }
2074
- function ct(e5, t) {
2075
- let r = T(t || null);
1838
+ function rt(e5, t) {
1839
+ let r = v(t || null);
2076
1840
  if (typeof e5 != "string") {
2077
1841
  if ("type" in e5) return e5;
2078
1842
  {
2079
1843
  e5.head.indexOf(".");
2080
1844
  let { head: i, tail: a } = e5;
2081
- return f.path({ head: f.head({ original: i, loc: r.sliceStartChars({ chars: i.length }) }), tail: a, loc: T(t || null) });
1845
+ return d.path({ head: d.head({ original: i, loc: r.sliceStartChars({ chars: i.length }) }), tail: a, loc: v(t || null) });
2082
1846
  }
2083
1847
  }
2084
1848
  let { head: s, tail: n } = (function(i, a) {
2085
- let [o, ...c] = i.split("."), h = f.head({ original: o, loc: T(a || null) });
2086
- return f.path({ head: h, tail: c, loc: T(a || null) });
1849
+ let [o, ...c] = i.split("."), h = d.head({ original: o, loc: v(a || null) });
1850
+ return d.path({ head: h, tail: c, loc: v(a || null) });
2087
1851
  })(e5, r);
2088
- return f.path({ head: s, tail: n, loc: r });
1852
+ return d.path({ head: s, tail: n, loc: r });
2089
1853
  }
2090
- function xe(e5, t, r) {
2091
- return f.literal({ type: e5, value: t, loc: T(r || null) });
1854
+ function me(e5, t, r) {
1855
+ return d.literal({ type: e5, value: t, loc: v(r || null) });
2092
1856
  }
2093
- function ie(e5 = [], t) {
2094
- return f.hash({ pairs: e5, loc: T(t || null) });
1857
+ function Ht(e5 = [], t) {
1858
+ return d.hash({ pairs: e5, loc: v(t || null) });
2095
1859
  }
2096
- function Is(e5) {
2097
- return e5.map((t) => typeof t == "string" ? f.var({ name: t, loc: D.synthetic(t) }) : t);
1860
+ function fn(e5) {
1861
+ return e5.map(((t) => typeof t == "string" ? d.var({ name: t, loc: A.synthetic(t) }) : t));
2098
1862
  }
2099
- function xs(e5 = [], t = [], r = false, s) {
2100
- return f.blockItself({ body: e5, params: Is(t), chained: r, loc: T(s || null) });
1863
+ function nn(e5 = [], t = [], r = false, s) {
1864
+ return d.blockItself({ body: e5, params: fn(t), chained: r, loc: v(s || null) });
2101
1865
  }
2102
- function Ps(e5 = [], t = [], r) {
2103
- return f.template({ body: e5, blockParams: t, loc: T(r || null) });
1866
+ function sn(e5 = [], t = [], r) {
1867
+ return d.template({ body: e5, blockParams: t, loc: v(r || null) });
2104
1868
  }
2105
- function T(...e5) {
1869
+ function v(...e5) {
2106
1870
  if (e5.length === 1) {
2107
1871
  let t = e5[0];
2108
- return t && typeof t == "object" ? D.forHbsLoc(ur(), t) : D.forHbsLoc(ur(), si);
1872
+ return t && typeof t == "object" ? A.forHbsLoc(tr(), t) : A.forHbsLoc(tr(), Bs);
2109
1873
  }
2110
1874
  {
2111
- let [t, r, s, n, i] = e5, a = i ? new wt("", i) : ur();
2112
- return D.forHbsLoc(a, { start: { line: t, column: r }, end: { line: s || t, column: n || r } });
1875
+ let [t, r, s, n, i] = e5, a = i ? new ft("", i) : tr();
1876
+ return A.forHbsLoc(a, { start: { line: t, column: r }, end: { line: s || t, column: n || r } });
2113
1877
  }
2114
1878
  }
2115
- var ui = { mustache: function(e5, t = [], r = ie([]), s = false, n, i) {
2116
- return f.mustache({ path: ct(e5), params: t, hash: r, trusting: s, strip: i, loc: T(n || null) });
1879
+ var Us = { mustache: function(e5, t = [], r = Ht([]), s = false, n, i) {
1880
+ return d.mustache({ path: rt(e5), params: t, hash: r, trusting: s, strip: i, loc: v(n || null) });
2117
1881
  }, block: function(e5, t, r, s, n = null, i, a, o, c) {
2118
- let h, p = null;
2119
- return h = s.type === "Template" ? f.blockItself({ params: Is(s.blockParams), body: s.body, loc: s.loc }) : s, (n == null ? void 0 : n.type) === "Template" ? (n.blockParams.length, p = f.blockItself({ params: [], body: n.body, loc: n.loc })) : p = n, f.block({ path: ct(e5), params: t || [], hash: r || ie([]), defaultBlock: h, elseBlock: p, loc: T(i || null), openStrip: a, inverseStrip: o, closeStrip: c });
1882
+ let h, f = null;
1883
+ return h = s.type === "Template" ? d.blockItself({ params: fn(s.blockParams), body: s.body, loc: s.loc }) : s, n?.type === "Template" ? (n.blockParams.length, f = d.blockItself({ params: [], body: n.body, loc: n.loc })) : f = n, d.block({ path: rt(e5), params: t || [], hash: r || Ht([]), defaultBlock: h, elseBlock: f, loc: v(i || null), openStrip: a, inverseStrip: o, closeStrip: c });
2120
1884
  }, comment: function(e5, t) {
2121
- return f.comment({ value: e5, loc: T(t || null) });
1885
+ return d.comment({ value: e5, loc: v(t || null) });
2122
1886
  }, mustacheComment: function(e5, t) {
2123
- return f.mustacheComment({ value: e5, loc: T(t || null) });
1887
+ return d.mustacheComment({ value: e5, loc: v(t || null) });
2124
1888
  }, element: function(e5, t = {}) {
2125
- let r, s, { attrs: n, blockParams: i, modifiers: a, comments: o, children: c, openTag: h, closeTag: p, loc: m } = t;
2126
- typeof e5 == "string" ? e5.endsWith("/") ? (r = ct(e5.slice(0, -1)), s = true) : r = ct(e5) : "type" in e5 ? (e5.type, e5.type, r = e5) : "path" in e5 ? (e5.path.type, e5.path.type, r = e5.path, s = e5.selfClosing) : (r = ct(e5.name), s = e5.selfClosing);
2127
- let S = i == null ? void 0 : i.map((v) => typeof v == "string" ? Cs(v) : v), y = null;
2128
- return p ? y = T(p) : p === void 0 && (y = s || ei(r.original) ? null : T(null)), f.element({ path: r, selfClosing: s || false, attributes: n || [], params: S || [], modifiers: a || [], comments: o || [], children: c || [], openTag: T(h || null), closeTag: y, loc: T(m || null) });
1889
+ let r, s, { attrs: n, blockParams: i, modifiers: a, comments: o, children: c, openTag: h, closeTag: f, loc: p } = t;
1890
+ typeof e5 == "string" ? e5.endsWith("/") ? (r = rt(e5.slice(0, -1)), s = true) : r = rt(e5) : "type" in e5 ? (e5.type, e5.type, r = e5) : "path" in e5 ? (e5.path.type, e5.path.type, r = e5.path, s = e5.selfClosing) : (r = rt(e5.name), s = e5.selfClosing);
1891
+ let g = i?.map(((T) => typeof T == "string" ? rn(T) : T)), E = null;
1892
+ return f ? E = v(f) : f === void 0 && (E = s || Os(r.original) ? null : v(null)), d.element({ path: r, selfClosing: s || false, attributes: n || [], params: g || [], modifiers: a || [], comments: o || [], children: c || [], openTag: v(h || null), closeTag: E, loc: v(p || null) });
2129
1893
  }, elementModifier: function(e5, t, r, s) {
2130
- return f.elementModifier({ path: ct(e5), params: t || [], hash: r || ie([]), loc: T(s || null) });
1894
+ return d.elementModifier({ path: rt(e5), params: t || [], hash: r || Ht([]), loc: v(s || null) });
2131
1895
  }, attr: function(e5, t, r) {
2132
- return f.attr({ name: e5, value: t, loc: T(r || null) });
1896
+ return d.attr({ name: e5, value: t, loc: v(r || null) });
2133
1897
  }, text: function(e5 = "", t) {
2134
- return f.text({ chars: e5, loc: T(t || null) });
2135
- }, sexpr: function(e5, t = [], r = ie([]), s) {
2136
- return f.sexpr({ path: ct(e5), params: t, hash: r, loc: T(s || null) });
1898
+ return d.text({ chars: e5, loc: v(t || null) });
1899
+ }, sexpr: function(e5, t = [], r = Ht([]), s) {
1900
+ return d.sexpr({ path: rt(e5), params: t, hash: r, loc: v(s || null) });
2137
1901
  }, concat: function(e5, t) {
2138
- if (!ce(e5)) throw new Error("b.concat requires at least one part");
2139
- return f.concat({ parts: e5, loc: T(t || null) });
2140
- }, hash: ie, pair: function(e5, t, r) {
2141
- return f.pair({ key: e5, value: t, loc: T(r || null) });
2142
- }, literal: xe, program: function(e5, t, r) {
2143
- return t && t.length ? xs(e5, t, false, r) : Ps(e5, [], r);
2144
- }, blockItself: xs, template: Ps, loc: T, pos: function(e5, t) {
2145
- return f.pos({ line: e5, column: t });
2146
- }, path: ct, fullPath: function(e5, t = [], r) {
2147
- return f.path({ head: e5, tail: t, loc: T(r || null) });
1902
+ if (!Yt(e5)) throw new Error("b.concat requires at least one part");
1903
+ return d.concat({ parts: e5, loc: v(t || null) });
1904
+ }, hash: Ht, pair: function(e5, t, r) {
1905
+ return d.pair({ key: e5, value: t, loc: v(r || null) });
1906
+ }, literal: me, program: function(e5, t, r) {
1907
+ return t && t.length ? nn(e5, t, false, r) : sn(e5, [], r);
1908
+ }, blockItself: nn, template: sn, loc: v, pos: function(e5, t) {
1909
+ return d.pos({ line: e5, column: t });
1910
+ }, path: rt, fullPath: function(e5, t = [], r) {
1911
+ return d.path({ head: e5, tail: t, loc: v(r || null) });
2148
1912
  }, head: function(e5, t) {
2149
- return f.head({ original: e5, loc: T(t || null) });
1913
+ return d.head({ original: e5, loc: v(t || null) });
2150
1914
  }, at: function(e5, t) {
2151
- return f.atName({ name: e5, loc: T(t || null) });
2152
- }, var: Cs, this: function(e5) {
2153
- return f.this({ loc: T(e5 || null) });
2154
- }, string: hr("StringLiteral"), boolean: hr("BooleanLiteral"), number: hr("NumberLiteral"), undefined: () => xe("UndefinedLiteral", void 0), null: () => xe("NullLiteral", null) };
2155
- function hr(e5) {
1915
+ return d.atName({ name: e5, loc: v(t || null) });
1916
+ }, var: rn, this: function(e5) {
1917
+ return d.this({ loc: v(e5 || null) });
1918
+ }, string: er("StringLiteral"), boolean: er("BooleanLiteral"), number: er("NumberLiteral"), undefined: () => me("UndefinedLiteral", void 0), null: () => me("NullLiteral", null) };
1919
+ function er(e5) {
2156
1920
  return function(t, r) {
2157
- return xe(e5, t, r);
1921
+ return me(e5, t, r);
2158
1922
  };
2159
1923
  }
2160
- var Ce = { close: false, open: false };
2161
- var f = new class {
1924
+ var fe = { close: false, open: false };
1925
+ var d = new class {
2162
1926
  pos({ line: e5, column: t }) {
2163
1927
  return { line: e5, column: t };
2164
1928
  }
2165
1929
  blockItself({ body: e5, params: t, chained: r = false, loc: s }) {
2166
1930
  return { type: "Block", body: e5, params: t, get blockParams() {
2167
- return this.params.map((n) => n.name);
1931
+ return this.params.map(((n) => n.name));
2168
1932
  }, set blockParams(n) {
2169
- this.params = n.map((i) => f.var({ name: i, loc: D.synthetic(i) }));
1933
+ this.params = n.map(((i) => d.var({ name: i, loc: A.synthetic(i) })));
2170
1934
  }, chained: r, loc: s };
2171
1935
  }
2172
1936
  template({ body: e5, blockParams: t, loc: r }) {
2173
1937
  return { type: "Template", body: e5, blockParams: t, loc: r };
2174
1938
  }
2175
- mustache({ path: e5, params: t, hash: r, trusting: s, loc: n, strip: i = Ce }) {
2176
- return (function({ path: a, params: o, hash: c, trusting: h, strip: p, loc: m }) {
2177
- let S = { type: "MustacheStatement", path: a, params: o, hash: c, trusting: h, strip: p, loc: m };
2178
- return Object.defineProperty(S, "escaped", { enumerable: false, get() {
1939
+ mustache({ path: e5, params: t, hash: r, trusting: s, loc: n, strip: i = fe }) {
1940
+ return (function({ path: a, params: o, hash: c, trusting: h, strip: f, loc: p }) {
1941
+ let g = { type: "MustacheStatement", path: a, params: o, hash: c, trusting: h, strip: f, loc: p };
1942
+ return Object.defineProperty(g, "escaped", { enumerable: false, get() {
2179
1943
  return !this.trusting;
2180
- }, set(y) {
2181
- this.trusting = !y;
2182
- } }), S;
1944
+ }, set(E) {
1945
+ this.trusting = !E;
1946
+ } }), g;
2183
1947
  })({ path: e5, params: t, hash: r, trusting: s, strip: i, loc: n });
2184
1948
  }
2185
- block({ path: e5, params: t, hash: r, defaultBlock: s, elseBlock: n = null, loc: i, openStrip: a = Ce, inverseStrip: o = Ce, closeStrip: c = Ce }) {
1949
+ block({ path: e5, params: t, hash: r, defaultBlock: s, elseBlock: n = null, loc: i, openStrip: a = fe, inverseStrip: o = fe, closeStrip: c = fe }) {
2186
1950
  return { type: "BlockStatement", path: e5, params: t, hash: r, program: s, inverse: n, loc: i, openStrip: a, inverseStrip: o, closeStrip: c };
2187
1951
  }
2188
1952
  comment({ value: e5, loc: t }) {
@@ -2195,19 +1959,19 @@ var f = new class {
2195
1959
  return { type: "ConcatStatement", parts: e5, loc: t };
2196
1960
  }
2197
1961
  element({ path: e5, selfClosing: t, attributes: r, modifiers: s, params: n, comments: i, children: a, openTag: o, closeTag: c, loc: h }) {
2198
- let p = t;
1962
+ let f = t;
2199
1963
  return { type: "ElementNode", path: e5, attributes: r, modifiers: s, params: n, comments: i, children: a, openTag: o, closeTag: c, loc: h, get tag() {
2200
1964
  return this.path.original;
2201
- }, set tag(m) {
2202
- this.path.original = m;
1965
+ }, set tag(p) {
1966
+ this.path.original = p;
2203
1967
  }, get blockParams() {
2204
- return this.params.map((m) => m.name);
2205
- }, set blockParams(m) {
2206
- this.params = m.map((S) => f.var({ name: S, loc: D.synthetic(S) }));
1968
+ return this.params.map(((p) => p.name));
1969
+ }, set blockParams(p) {
1970
+ this.params = p.map(((g) => d.var({ name: g, loc: A.synthetic(g) })));
2207
1971
  }, get selfClosing() {
2208
- return p;
2209
- }, set selfClosing(m) {
2210
- p = m, this.closeTag = m ? null : D.synthetic(`</${this.tag}>`);
1972
+ return f;
1973
+ }, set selfClosing(p) {
1974
+ f = p, this.closeTag = p ? null : A.synthetic(`</${this.tag}>`);
2211
1975
  } };
2212
1976
  }
2213
1977
  elementModifier({ path: e5, params: t, hash: r, loc: s }) {
@@ -2228,15 +1992,14 @@ var f = new class {
2228
1992
  return [this.head.original, ...this.tail].join(".");
2229
1993
  }, set original(o) {
2230
1994
  let [c, ...h] = o.split(".");
2231
- this.head = ui.head(c, this.head.loc), this.tail = h;
1995
+ this.head = Us.head(c, this.head.loc), this.tail = h;
2232
1996
  }, loc: i };
2233
1997
  return Object.defineProperty(a, "parts", { enumerable: false, get() {
2234
1998
  let o = this.original.split(".");
2235
1999
  return o[0] === "this" ? o.shift() : o[0].startsWith("@") && (o[0] = o[0].slice(1)), Object.freeze(o);
2236
2000
  }, set(o) {
2237
- var h;
2238
2001
  let c = [...o];
2239
- c[0] === "this" || (h = c[0]) != null && h.startsWith("@") || (this.head.type === "ThisHead" ? c.unshift("this") : this.head.type === "AtHead" && (c[0] = `@${c[0]}`)), this.original = c.join(".");
2002
+ c[0] === "this" || c[0]?.startsWith("@") || (this.head.type === "ThisHead" ? c.unshift("this") : this.head.type === "AtHead" && (c[0] = `@${c[0]}`)), this.original = c.join(".");
2240
2003
  } }), Object.defineProperty(a, "this", { enumerable: false, get() {
2241
2004
  return this.head.type === "ThisHead";
2242
2005
  } }), Object.defineProperty(a, "data", { enumerable: false, get() {
@@ -2293,9 +2056,9 @@ var f = new class {
2293
2056
  })({ type: e5, value: t, loc: r });
2294
2057
  }
2295
2058
  }();
2296
- var Sr = class {
2297
- constructor(t, r = new or(Es), s = "precompile") {
2298
- this.elementStack = [], this.currentAttribute = null, this.currentNode = null, this.source = t, this.lines = t.source.split(/\r\n?|\n/u), this.tokenizer = new lr(this, r, s);
2059
+ var cr = class {
2060
+ constructor(t, r = new $e($r), s = "precompile") {
2061
+ this.elementStack = [], this.currentAttribute = null, this.currentNode = null, this.source = t, this.lines = t.source.split(/\r\n?|\n/u), this.tokenizer = new Xe(this, r, s);
2299
2062
  }
2300
2063
  offset() {
2301
2064
  let { line: t, column: r } = this.tokenizer;
@@ -2305,7 +2068,7 @@ var Sr = class {
2305
2068
  return this.source.offsetFor(t, r);
2306
2069
  }
2307
2070
  finish(t) {
2308
- return Ze({}, t, { loc: t.start.until(this.offset()) });
2071
+ return ze({}, t, { loc: t.start.until(this.offset()) });
2309
2072
  }
2310
2073
  get currentAttr() {
2311
2074
  return this.currentAttribute;
@@ -2334,7 +2097,7 @@ var Sr = class {
2334
2097
  return this[t.type](t);
2335
2098
  }
2336
2099
  currentElement() {
2337
- return Tr(this.elementStack);
2100
+ return fr(this.elementStack);
2338
2101
  }
2339
2102
  sourceForNode(t, r) {
2340
2103
  let s, n, i, a = t.loc.start.line - 1, o = a - 1, c = t.loc.start.column, h = [];
@@ -2343,16 +2106,15 @@ var Sr = class {
2343
2106
  `);
2344
2107
  }
2345
2108
  };
2346
- var Er = class extends Sr {
2109
+ var ur = class extends cr {
2347
2110
  parse(t, r) {
2348
- var i;
2349
2111
  t.loc;
2350
- let s = f.template({ body: [], blockParams: r, loc: this.source.spanFor(t.loc) }), n = this.parseProgram(s, t);
2351
- return (i = this.pendingError) == null || i.eof(n.loc.getEnd()), n;
2112
+ let s = d.template({ body: [], blockParams: r, loc: this.source.spanFor(t.loc) }), n = this.parseProgram(s, t);
2113
+ return this.pendingError?.eof(n.loc.getEnd()), n;
2352
2114
  }
2353
2115
  Program(t, r) {
2354
2116
  t.loc;
2355
- let s = f.blockItself({ body: [], params: r, chained: t.chained, loc: this.source.spanFor(t.loc) });
2117
+ let s = d.blockItself({ body: [], params: r, chained: t.chained, loc: this.source.spanFor(t.loc) });
2356
2118
  return this.parseProgram(s, t);
2357
2119
  }
2358
2120
  parseProgram(t, r) {
@@ -2365,53 +2127,51 @@ var Er = class extends Sr {
2365
2127
  s = this.elementStack.pop();
2366
2128
  }
2367
2129
  if (t !== s) {
2368
- if ((s == null ? void 0 : s.type) === "ElementNode") throw E(`Unclosed element \`${s.tag}\``, s.loc);
2130
+ if (s?.type === "ElementNode") throw k(`Unclosed element \`${s.tag}\``, s.loc);
2369
2131
  t.type;
2370
2132
  }
2371
2133
  return t;
2372
2134
  }
2373
2135
  BlockStatement(t) {
2374
- var m;
2375
2136
  if (this.tokenizer.state === "comment") return t.loc, void this.appendToCommentData(this.sourceForNode(t));
2376
- if (this.tokenizer.state !== "data" && this.tokenizer.state !== "beforeData") throw E("A block may only be used inside an HTML element or another block.", this.source.spanFor(t.loc));
2377
- let { path: r, params: s, hash: n } = pr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2378
- if ((m = t.program.blockParams) != null && m.length) {
2379
- let S = n.loc.collapse("end");
2380
- S = t.program.loc ? S.withEnd(this.source.spanFor(t.program.loc).getStart()) : t.program.body[0] ? S.withEnd(this.source.spanFor(t.program.body[0].loc).getStart()) : S.withEnd(i.getEnd()), a = As(this.source, t, S);
2381
- let y = S.asString(), v = y.indexOf("|") + 1, C = y.indexOf("|", v);
2382
- for (let x of t.program.blockParams) {
2383
- let w, U;
2384
- w = v >= C ? -1 : y.indexOf(x, v), w === -1 || w + x.length > C ? (v = C, U = this.source.spanFor(dr)) : (v = w, U = S.sliceStartChars({ skipStart: v, chars: x.length }), v += x.length), o.push(f.var({ name: x, loc: U }));
2137
+ if (this.tokenizer.state !== "data" && this.tokenizer.state !== "beforeData") throw k("A block may only be used inside an HTML element or another block.", this.source.spanFor(t.loc));
2138
+ let { path: r, params: s, hash: n } = rr(this, t), i = this.source.spanFor(t.loc), a, o = [];
2139
+ if (t.program.blockParams?.length) {
2140
+ let p = n.loc.collapse("end");
2141
+ p = t.program.loc ? p.withEnd(this.source.spanFor(t.program.loc).getStart()) : t.program.body[0] ? p.withEnd(this.source.spanFor(t.program.body[0].loc).getStart()) : p.withEnd(i.getEnd()), a = an(this.source, t, p);
2142
+ let g = p.asString(), E = g.indexOf("|") + 1, T = g.indexOf("|", E);
2143
+ for (let D of t.program.blockParams) {
2144
+ let B, O;
2145
+ B = E >= T ? -1 : g.indexOf(D, E), B === -1 || B + D.length > T ? (E = T, O = this.source.spanFor(sr)) : (E = B, O = p.sliceStartChars({ skipStart: E, chars: D.length }), E += D.length), o.push(d.var({ name: D, loc: O }));
2385
2146
  }
2386
- } else a = As(this.source, t, i);
2387
- let c = this.Program(a.program, o), h = a.inverse ? this.Program(a.inverse, []) : null, p = f.block({ path: r, params: s, hash: n, defaultBlock: c, elseBlock: h, loc: this.source.spanFor(t.loc), openStrip: t.openStrip, inverseStrip: t.inverseStrip, closeStrip: t.closeStrip });
2388
- Ft(this.currentElement(), p);
2147
+ } else a = an(this.source, t, i);
2148
+ let c = this.Program(a.program, o), h = a.inverse ? this.Program(a.inverse, []) : null, f = d.block({ path: r, params: s, hash: n, defaultBlock: c, elseBlock: h, loc: this.source.spanFor(t.loc), openStrip: t.openStrip, inverseStrip: t.inverseStrip, closeStrip: t.closeStrip });
2149
+ At(this.currentElement(), f);
2389
2150
  }
2390
2151
  MustacheStatement(t) {
2391
- var o;
2392
- (o = this.pendingError) == null || o.mustache(this.source.spanFor(t.loc));
2152
+ this.pendingError?.mustache(this.source.spanFor(t.loc));
2393
2153
  let { tokenizer: r } = this;
2394
2154
  if (r.state === "comment") return void this.appendToCommentData(this.sourceForNode(t));
2395
2155
  let s, { escaped: n, loc: i, strip: a } = t;
2396
- if ("original" in t.path && t.path.original === "...attributes") throw E("Illegal use of ...attributes", this.source.spanFor(t.loc));
2397
- if (Bs(t.path)) s = f.mustache({ path: this.acceptNode(t.path), params: [], hash: f.hash({ pairs: [], loc: this.source.spanFor(t.path.loc).collapse("end") }), trusting: !n, loc: this.source.spanFor(i), strip: a });
2156
+ if ("original" in t.path && t.path.original === "...attributes") throw k("Illegal use of ...attributes", this.source.spanFor(t.loc));
2157
+ if (pn(t.path)) s = d.mustache({ path: this.acceptNode(t.path), params: [], hash: d.hash({ pairs: [], loc: this.source.spanFor(t.path.loc).collapse("end") }), trusting: !n, loc: this.source.spanFor(i), strip: a });
2398
2158
  else {
2399
- let { path: c, params: h, hash: p } = pr(this, t);
2400
- s = f.mustache({ path: c, params: h, hash: p, trusting: !n, loc: this.source.spanFor(i), strip: a });
2159
+ let { path: o, params: c, hash: h } = rr(this, t);
2160
+ s = d.mustache({ path: o, params: c, hash: h, trusting: !n, loc: this.source.spanFor(i), strip: a });
2401
2161
  }
2402
2162
  switch (r.state) {
2403
2163
  case "tagOpen":
2404
2164
  case "tagName":
2405
- throw E("Cannot use mustaches in an elements tagname", s.loc);
2165
+ throw k("Cannot use mustaches in an elements tagname", s.loc);
2406
2166
  case "beforeAttributeName":
2407
- fr(this.currentStartTag, s);
2167
+ nr(this.currentStartTag, s);
2408
2168
  break;
2409
2169
  case "attributeName":
2410
2170
  case "afterAttributeName":
2411
- this.beginAttributeValue(false), this.finishAttributeValue(), fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2171
+ this.beginAttributeValue(false), this.finishAttributeValue(), nr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2412
2172
  break;
2413
2173
  case "afterAttributeValueQuoted":
2414
- fr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2174
+ nr(this.currentStartTag, s), r.transitionTo("beforeAttributeName");
2415
2175
  break;
2416
2176
  case "beforeAttributeValue":
2417
2177
  this.beginAttributeValue(false), this.appendDynamicAttributeValuePart(s), r.transitionTo("attributeValueUnquoted");
@@ -2422,7 +2182,7 @@ var Er = class extends Sr {
2422
2182
  this.appendDynamicAttributeValuePart(s);
2423
2183
  break;
2424
2184
  default:
2425
- Ft(this.currentElement(), s);
2185
+ At(this.currentElement(), s);
2426
2186
  }
2427
2187
  return s;
2428
2188
  }
@@ -2443,8 +2203,8 @@ var Er = class extends Sr {
2443
2203
  let n = s.loc.start.line, i = s.loc.start.column, a = (function(o, c) {
2444
2204
  if (c === "") return { lines: o.split(`
2445
2205
  `).length - 1, columns: 0 };
2446
- let [h] = o.split(c), p = h.split(/\n/u), m = p.length - 1;
2447
- return { lines: m, columns: p[m].length };
2206
+ let [h] = o.split(c), f = h.split(/\n/u), p = f.length - 1;
2207
+ return { lines: p, columns: f[p].length };
2448
2208
  })(s.original, s.value);
2449
2209
  n += a.lines, a.lines ? i = a.columns : i += a.columns, r.line = n, r.column = i;
2450
2210
  })(this.tokenizer, t), this.tokenizer.tokenizePart(t.value), this.tokenizer.flushData();
@@ -2452,7 +2212,7 @@ var Er = class extends Sr {
2452
2212
  CommentStatement(t) {
2453
2213
  let { tokenizer: r } = this;
2454
2214
  if (r.state === "comment") return this.appendToCommentData(this.sourceForNode(t)), null;
2455
- let { value: s, loc: n } = t, i = f.mustacheComment({ value: s, loc: this.source.spanFor(n) });
2215
+ let { value: s, loc: n } = t, i = d.mustacheComment({ value: s, loc: this.source.spanFor(n) });
2456
2216
  switch (r.state) {
2457
2217
  case "beforeAttributeName":
2458
2218
  case "afterAttributeName":
@@ -2460,77 +2220,77 @@ var Er = class extends Sr {
2460
2220
  break;
2461
2221
  case "beforeData":
2462
2222
  case "data":
2463
- Ft(this.currentElement(), i);
2223
+ At(this.currentElement(), i);
2464
2224
  break;
2465
2225
  default:
2466
- throw E(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2226
+ throw k(`Using a Handlebars comment when in the \`${r.state}\` state is not supported`, this.source.spanFor(t.loc));
2467
2227
  }
2468
2228
  return i;
2469
2229
  }
2470
2230
  PartialStatement(t) {
2471
- throw E("Handlebars partials are not supported", this.source.spanFor(t.loc));
2231
+ throw k("Handlebars partials are not supported", this.source.spanFor(t.loc));
2472
2232
  }
2473
2233
  PartialBlockStatement(t) {
2474
- throw E("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2234
+ throw k("Handlebars partial blocks are not supported", this.source.spanFor(t.loc));
2475
2235
  }
2476
2236
  Decorator(t) {
2477
- throw E("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2237
+ throw k("Handlebars decorators are not supported", this.source.spanFor(t.loc));
2478
2238
  }
2479
2239
  DecoratorBlock(t) {
2480
- throw E("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2240
+ throw k("Handlebars decorator blocks are not supported", this.source.spanFor(t.loc));
2481
2241
  }
2482
2242
  SubExpression(t) {
2483
- let { path: r, params: s, hash: n } = pr(this, t);
2484
- return f.sexpr({ path: r, params: s, hash: n, loc: this.source.spanFor(t.loc) });
2243
+ let { path: r, params: s, hash: n } = rr(this, t);
2244
+ return d.sexpr({ path: r, params: s, hash: n, loc: this.source.spanFor(t.loc) });
2485
2245
  }
2486
2246
  PathExpression(t) {
2487
2247
  let { original: r } = t, s;
2488
2248
  if (r.indexOf("/") !== -1) {
2489
- if (r.slice(0, 2) === "./") throw E('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2490
- if (r.slice(0, 3) === "../") throw E('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2491
- if (r.indexOf(".") !== -1) throw E("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths", this.source.spanFor(t.loc));
2249
+ if (r.slice(0, 2) === "./") throw k('Using "./" is not supported in Glimmer and unnecessary', this.source.spanFor(t.loc));
2250
+ if (r.slice(0, 3) === "../") throw k('Changing context using "../" is not supported in Glimmer', this.source.spanFor(t.loc));
2251
+ if (r.indexOf(".") !== -1) throw k("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths", this.source.spanFor(t.loc));
2492
2252
  s = [t.parts.join("/")];
2493
2253
  } else {
2494
- if (r === ".") throw E("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2254
+ if (r === ".") throw k("'.' is not a supported path in Glimmer; check for a path with a trailing '.'", this.source.spanFor(t.loc));
2495
2255
  s = t.parts;
2496
2256
  }
2497
2257
  let n, i = false;
2498
- if (/^this(?:\..+)?$/u.test(r) && (i = true), i) n = f.this({ loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + 4 } }) });
2258
+ if (/^this(?:\..+)?$/u.test(r) && (i = true), i) n = d.this({ loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + 4 } }) });
2499
2259
  else if (t.data) {
2500
2260
  let a = s.shift();
2501
- if (a === void 0) throw E("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.", this.source.spanFor(t.loc));
2502
- n = f.atName({ name: `@${a}`, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length + 1 } }) });
2261
+ if (a === void 0) throw k("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.", this.source.spanFor(t.loc));
2262
+ n = d.atName({ name: `@${a}`, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length + 1 } }) });
2503
2263
  } else {
2504
2264
  let a = s.shift();
2505
- if (a === void 0) throw E("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.", this.source.spanFor(t.loc));
2506
- n = f.var({ name: a, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length } }) });
2265
+ if (a === void 0) throw k("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.", this.source.spanFor(t.loc));
2266
+ n = d.var({ name: a, loc: this.source.spanFor({ start: t.loc.start, end: { line: t.loc.start.line, column: t.loc.start.column + a.length } }) });
2507
2267
  }
2508
- return f.path({ head: n, tail: s, loc: this.source.spanFor(t.loc) });
2268
+ return d.path({ head: n, tail: s, loc: this.source.spanFor(t.loc) });
2509
2269
  }
2510
2270
  Hash(t) {
2511
- let r = t.pairs.map((s) => f.pair({ key: s.key, value: this.acceptNode(s.value), loc: this.source.spanFor(s.loc) }));
2512
- return f.hash({ pairs: r, loc: this.source.spanFor(t.loc) });
2271
+ let r = t.pairs.map(((s) => d.pair({ key: s.key, value: this.acceptNode(s.value), loc: this.source.spanFor(s.loc) })));
2272
+ return d.hash({ pairs: r, loc: this.source.spanFor(t.loc) });
2513
2273
  }
2514
2274
  StringLiteral(t) {
2515
- return f.literal({ type: "StringLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2275
+ return d.literal({ type: "StringLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2516
2276
  }
2517
2277
  BooleanLiteral(t) {
2518
- return f.literal({ type: "BooleanLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2278
+ return d.literal({ type: "BooleanLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2519
2279
  }
2520
2280
  NumberLiteral(t) {
2521
- return f.literal({ type: "NumberLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2281
+ return d.literal({ type: "NumberLiteral", value: t.value, loc: this.source.spanFor(t.loc) });
2522
2282
  }
2523
2283
  UndefinedLiteral(t) {
2524
- return f.literal({ type: "UndefinedLiteral", value: void 0, loc: this.source.spanFor(t.loc) });
2284
+ return d.literal({ type: "UndefinedLiteral", value: void 0, loc: this.source.spanFor(t.loc) });
2525
2285
  }
2526
2286
  NullLiteral(t) {
2527
- return f.literal({ type: "NullLiteral", value: null, loc: this.source.spanFor(t.loc) });
2287
+ return d.literal({ type: "NullLiteral", value: null, loc: this.source.spanFor(t.loc) });
2528
2288
  }
2529
2289
  constructor(...t) {
2530
2290
  super(...t), this.pendingError = null;
2531
2291
  }
2532
2292
  };
2533
- function pr(e5, t) {
2293
+ function rr(e5, t) {
2534
2294
  let r;
2535
2295
  switch (t.path.type) {
2536
2296
  case "PathExpression":
@@ -2545,26 +2305,26 @@ function pr(e5, t) {
2545
2305
  case "NumberLiteral":
2546
2306
  case "BooleanLiteral": {
2547
2307
  let i;
2548
- throw i = t.path.type === "BooleanLiteral" ? t.path.original.toString() : t.path.type === "StringLiteral" ? `"${t.path.original}"` : t.path.type === "NullLiteral" ? "null" : t.path.type === "NumberLiteral" ? t.path.value.toString() : "undefined", E(`${t.path.type} "${t.path.type === "StringLiteral" ? t.path.original : i}" cannot be called as a sub-expression, replace (${i}) with ${i}`, e5.source.spanFor(t.path.loc));
2308
+ throw i = t.path.type === "BooleanLiteral" ? t.path.original.toString() : t.path.type === "StringLiteral" ? `"${t.path.original}"` : t.path.type === "NullLiteral" ? "null" : t.path.type === "NumberLiteral" ? t.path.value.toString() : "undefined", k(`${t.path.type} "${t.path.type === "StringLiteral" ? t.path.original : i}" cannot be called as a sub-expression, replace (${i}) with ${i}`, e5.source.spanFor(t.path.loc));
2549
2309
  }
2550
2310
  }
2551
- let s = t.params.map((i) => e5.acceptNode(i)), n = ce(s) ? Tr(s).loc : r.loc;
2552
- return { path: r, params: s, hash: t.hash ? e5.Hash(t.hash) : f.hash({ pairs: [], loc: e5.source.spanFor(n).collapse("end") }) };
2311
+ let s = t.params.map(((i) => e5.acceptNode(i))), n = Yt(s) ? fr(s).loc : r.loc;
2312
+ return { path: r, params: s, hash: t.hash ? e5.Hash(t.hash) : d.hash({ pairs: [], loc: e5.source.spanFor(n).collapse("end") }) };
2553
2313
  }
2554
- function fr(e5, t) {
2314
+ function nr(e5, t) {
2555
2315
  let { path: r, params: s, hash: n, loc: i } = t;
2556
- if (Bs(r)) {
2316
+ if (pn(r)) {
2557
2317
  let o = `{{${(function(c) {
2558
2318
  return c.type === "UndefinedLiteral" ? "undefined" : JSON.stringify(c.value);
2559
2319
  })(r)}}}`;
2560
- throw E(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2320
+ throw k(`In <${e5.name} ... ${o} ..., ${o} is not a valid modifier`, t.loc);
2561
2321
  }
2562
- let a = f.elementModifier({ path: r, params: s, hash: n, loc: i });
2322
+ let a = d.elementModifier({ path: r, params: s, hash: n, loc: i });
2563
2323
  e5.modifiers.push(a);
2564
2324
  }
2565
- function As(e5, t, r) {
2325
+ function an(e5, t, r) {
2566
2326
  if (!t.program.loc) {
2567
- let n = G(false, t.program.body, 0), i = G(false, t.program.body, -1);
2327
+ let n = V(0, t.program.body, 0), i = V(0, t.program.body, -1);
2568
2328
  if (n && i) t.program.loc = { ...n.loc, end: i.loc.end };
2569
2329
  else {
2570
2330
  let a = e5.spanFor(t.loc);
@@ -2574,10 +2334,10 @@ function As(e5, t, r) {
2574
2334
  let s = e5.spanFor(t.program.loc).getEnd();
2575
2335
  return t.inverse && !t.inverse.loc && (t.inverse.loc = s.collapsed()), t;
2576
2336
  }
2577
- function Ht(e5) {
2337
+ function Nt(e5) {
2578
2338
  return /[\t\n\f ]/u.test(e5);
2579
2339
  }
2580
- var vr = class extends Er {
2340
+ var hr = class extends ur {
2581
2341
  reset() {
2582
2342
  this.currentNode = null;
2583
2343
  }
@@ -2588,7 +2348,7 @@ var vr = class extends Er {
2588
2348
  this.currentComment.value += t;
2589
2349
  }
2590
2350
  finishComment() {
2591
- Ft(this.currentElement(), f.comment(this.finish(this.currentComment)));
2351
+ At(this.currentElement(), d.comment(this.finish(this.currentComment)));
2592
2352
  }
2593
2353
  beginData() {
2594
2354
  this.currentNode = { type: "TextNode", chars: "", start: this.offset() };
@@ -2597,7 +2357,7 @@ var vr = class extends Er {
2597
2357
  this.currentData.chars += t;
2598
2358
  }
2599
2359
  finishData() {
2600
- Ft(this.currentElement(), f.text(this.finish(this.currentData)));
2360
+ At(this.currentElement(), d.text(this.finish(this.currentData)));
2601
2361
  }
2602
2362
  tagOpen() {
2603
2363
  this.tagOpenLine = this.tokenizer.line, this.tagOpenColumn = this.tokenizer.column;
@@ -2611,23 +2371,23 @@ var vr = class extends Er {
2611
2371
  finishTag() {
2612
2372
  let t = this.finish(this.currentTag);
2613
2373
  if (t.type === "StartTag") {
2614
- if (this.finishStartTag(), t.name === ":") throw E("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter", this.source.spanFor({ start: this.currentTag.start.toJSON(), end: this.offset().toJSON() }));
2615
- (mr.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2374
+ if (this.finishStartTag(), t.name === ":") throw k("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter", this.source.spanFor({ start: this.currentTag.start.toJSON(), end: this.offset().toJSON() }));
2375
+ (de.has(t.name) || t.selfClosing) && this.finishEndTag(true);
2616
2376
  } else t.type, t.type, this.finishEndTag(false);
2617
2377
  }
2618
2378
  finishStartTag() {
2619
- let { name: t, nameStart: r, nameEnd: s } = this.currentStartTag, n = r.until(s), [i, ...a] = t.split("."), o = f.path({ head: f.head({ original: i, loc: n.sliceStartChars({ chars: i.length }) }), tail: a, loc: n }), { attributes: c, modifiers: h, comments: p, params: m, selfClosing: S, loc: y } = this.finish(this.currentStartTag), v = f.element({ path: o, selfClosing: S, attributes: c, modifiers: h, comments: p, params: m, children: [], openTag: y, closeTag: S ? null : D.broken(), loc: y });
2620
- this.elementStack.push(v);
2379
+ let { name: t, nameStart: r, nameEnd: s } = this.currentStartTag, n = r.until(s), [i, ...a] = t.split("."), o = d.path({ head: d.head({ original: i, loc: n.sliceStartChars({ chars: i.length }) }), tail: a, loc: n }), { attributes: c, modifiers: h, comments: f, params: p, selfClosing: g, loc: E } = this.finish(this.currentStartTag), T = d.element({ path: o, selfClosing: g, attributes: c, modifiers: h, comments: f, params: p, children: [], openTag: E, closeTag: g ? null : A.broken(), loc: E });
2380
+ this.elementStack.push(T);
2621
2381
  }
2622
2382
  finishEndTag(t) {
2623
2383
  let { start: r } = this.currentTag, s = this.finish(this.currentTag), n = this.elementStack.pop();
2624
2384
  this.validateEndTag(s, n, t);
2625
2385
  let i = this.currentElement();
2626
- t ? n.closeTag = null : n.selfClosing ? n.closeTag : n.closeTag = r.until(this.offset()), n.loc = n.loc.withEnd(this.offset()), Ft(i, f.element(n));
2386
+ t ? n.closeTag = null : n.selfClosing ? n.closeTag : n.closeTag = r.until(this.offset()), n.loc = n.loc.withEnd(this.offset()), At(i, d.element(n));
2627
2387
  }
2628
2388
  markTagAsSelfClosing() {
2629
2389
  let t = this.currentTag;
2630
- if (t.type !== "StartTag") throw E("Invalid end tag: closing tag must not be self-closing", this.source.spanFor({ start: t.start.toJSON(), end: this.offset().toJSON() }));
2390
+ if (t.type !== "StartTag") throw k("Invalid end tag: closing tag must not be self-closing", this.source.spanFor({ start: t.start.toJSON(), end: this.offset().toJSON() }));
2631
2391
  t.selfClosing = true;
2632
2392
  }
2633
2393
  appendToTagName(t) {
@@ -2653,67 +2413,67 @@ var vr = class extends Er {
2653
2413
  else {
2654
2414
  let i = this.offset();
2655
2415
  i = t === `
2656
- ` ? s ? s.loc.getEnd() : this.currentAttr.valueSpan.getStart() : i.move(-1), this.currentAttr.currentPart = f.text({ chars: t, loc: i.collapsed() });
2416
+ ` ? s ? s.loc.getEnd() : this.currentAttr.valueSpan.getStart() : i.move(-1), this.currentAttr.currentPart = d.text({ chars: t, loc: i.collapsed() });
2657
2417
  }
2658
2418
  }
2659
2419
  finishAttributeValue() {
2660
2420
  this.finalizeTextPart();
2661
2421
  let t = this.currentTag, r = this.offset();
2662
- if (t.type === "EndTag") throw E("Invalid end tag: closing tag must not have attributes", this.source.spanFor({ start: t.start.toJSON(), end: r.toJSON() }));
2422
+ if (t.type === "EndTag") throw k("Invalid end tag: closing tag must not have attributes", this.source.spanFor({ start: t.start.toJSON(), end: r.toJSON() }));
2663
2423
  let { name: s, parts: n, start: i, isQuoted: a, isDynamic: o, valueSpan: c } = this.currentAttr;
2664
- if (s.startsWith("|") && n.length === 0 && !a && !o) throw E("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword", i.until(i.move(s.length)));
2424
+ if (s.startsWith("|") && n.length === 0 && !a && !o) throw k("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword", i.until(i.move(s.length)));
2665
2425
  let h = this.assembleAttributeValue(n, a, o, i.until(r));
2666
2426
  h.loc = c.withEnd(r);
2667
- let p = f.attr({ name: s, value: h, loc: i.until(r) });
2668
- this.currentStartTag.attributes.push(p);
2427
+ let f = d.attr({ name: s, value: h, loc: i.until(r) });
2428
+ this.currentStartTag.attributes.push(f);
2669
2429
  }
2670
2430
  parsePossibleBlockParams() {
2671
2431
  let t = /[!"#%&'()*+./;<=>@[\\\]^`{|}~]/u;
2672
2432
  this.tokenizer.state;
2673
2433
  let r = this.currentStartTag, s = this.currentAttr, n = { state: "PossibleAs" }, i = { PossibleAs: (o) => {
2674
- if (n.state, Ht(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2434
+ if (n.state, Nt(o)) n = { state: "BeforeStartPipe" }, this.tokenizer.transitionTo("afterAttributeName"), this.tokenizer.consume();
2675
2435
  else {
2676
- if (o === "|") throw E('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2436
+ if (o === "|") throw k('Invalid block parameters syntax: expecting at least one space character between "as" and "|"', s.start.until(this.offset().move(1)));
2677
2437
  n = { state: "Done" };
2678
2438
  }
2679
2439
  }, BeforeStartPipe: (o) => {
2680
- n.state, Ht(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2440
+ n.state, Nt(o) ? this.tokenizer.consume() : o === "|" ? (n = { state: "BeforeBlockParamName" }, this.tokenizer.transitionTo("beforeAttributeName"), this.tokenizer.consume()) : n = { state: "Done" };
2681
2441
  }, BeforeBlockParamName: (o) => {
2682
- if (n.state, Ht(o)) this.tokenizer.consume();
2442
+ if (n.state, Nt(o)) this.tokenizer.consume();
2683
2443
  else if (o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2684
- throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2444
+ throw k("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2685
2445
  }, eof(c) {
2686
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2446
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2687
2447
  } };
2688
2448
  else if (o === "|") {
2689
- if (r.params.length === 0) throw E("Invalid block parameters syntax: empty parameters list, expecting at least one identifier", s.start.until(this.offset().move(1)));
2449
+ if (r.params.length === 0) throw k("Invalid block parameters syntax: empty parameters list, expecting at least one identifier", s.start.until(this.offset().move(1)));
2690
2450
  n = { state: "AfterEndPipe" }, this.tokenizer.consume();
2691
2451
  } else {
2692
- if (o === ">" || o === "/") throw E('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2452
+ if (o === ">" || o === "/") throw k('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2693
2453
  n = { state: "BlockParamName", name: o, start: this.offset() }, this.tokenizer.consume();
2694
2454
  }
2695
2455
  }, BlockParamName: (o) => {
2696
2456
  if (n.state, o === "") n = { state: "Done" }, this.pendingError = { mustache(c) {
2697
- throw E("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2457
+ throw k("Invalid block parameters syntax: mustaches cannot be used inside parameters list", c);
2698
2458
  }, eof(c) {
2699
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2459
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2700
2460
  } };
2701
- else if (o === "|" || Ht(o)) {
2461
+ else if (o === "|" || Nt(o)) {
2702
2462
  let c = n.start.until(this.offset());
2703
- if (n.name === "this" || t.test(n.name)) throw E(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2704
- r.params.push(f.var({ name: n.name, loc: c })), n = o === "|" ? { state: "AfterEndPipe" } : { state: "BeforeBlockParamName" }, this.tokenizer.consume();
2463
+ if (n.name === "this" || t.test(n.name)) throw k(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``, c);
2464
+ r.params.push(d.var({ name: n.name, loc: c })), n = o === "|" ? { state: "AfterEndPipe" } : { state: "BeforeBlockParamName" }, this.tokenizer.consume();
2705
2465
  } else {
2706
- if (o === ">" || o === "/") throw E('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2466
+ if (o === ">" || o === "/") throw k('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely', s.start.until(this.offset().move(1)));
2707
2467
  n.name += o, this.tokenizer.consume();
2708
2468
  }
2709
2469
  }, AfterEndPipe: (o) => {
2710
- n.state, Ht(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2711
- throw E("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2470
+ n.state, Nt(o) ? this.tokenizer.consume() : o === "" ? (n = { state: "Done" }, this.pendingError = { mustache(c) {
2471
+ throw k("Invalid block parameters syntax: modifiers cannot follow parameters list", c);
2712
2472
  }, eof(c) {
2713
- throw E('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2473
+ throw k('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', s.start.until(c));
2714
2474
  } }) : o === ">" || o === "/" ? n = { state: "Done" } : (n = { state: "Error", message: 'Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list', start: this.offset() }, this.tokenizer.consume());
2715
2475
  }, Error: (o) => {
2716
- if (n.state, o === "" || o === "/" || o === ">" || Ht(o)) throw E(n.message, n.start.until(this.offset()));
2476
+ if (n.state, o === "" || o === "/" || o === ">" || Nt(o)) throw k(n.message, n.start.until(this.offset()));
2717
2477
  this.tokenizer.consume();
2718
2478
  }, Done: () => {
2719
2479
  } }, a;
@@ -2723,16 +2483,16 @@ var vr = class extends Er {
2723
2483
  n.state;
2724
2484
  }
2725
2485
  reportSyntaxError(t) {
2726
- throw E(t, this.offset().collapsed());
2486
+ throw k(t, this.offset().collapsed());
2727
2487
  }
2728
2488
  assembleConcatenatedValue(t) {
2729
- let r = ri(t), s = Tr(t);
2730
- return f.concat({ parts: t, loc: this.source.spanFor(r.loc).extend(this.source.spanFor(s.loc)) });
2489
+ let r = Is(t), s = fr(t);
2490
+ return d.concat({ parts: t, loc: this.source.spanFor(r.loc).extend(this.source.spanFor(s.loc)) });
2731
2491
  }
2732
2492
  validateEndTag(t, r, s) {
2733
- if (mr.has(t.name) && !s) throw E(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2734
- if (r.type !== "ElementNode") throw E(`Closing tag </${t.name}> without an open tag`, t.loc);
2735
- if (r.tag !== t.name) throw E(`Closing tag </${t.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`, t.loc);
2493
+ if (de.has(t.name) && !s) throw k(`<${t.name}> elements do not need end tags. You should remove it`, t.loc);
2494
+ if (r.type !== "ElementNode") throw k(`Closing tag </${t.name}> without an open tag`, t.loc);
2495
+ if (r.tag !== t.name) throw k(`Closing tag </${t.name}> did not match last open tag <${r.tag}> (on line ${r.loc.startPosition.line})`, t.loc);
2736
2496
  }
2737
2497
  assembleAttributeValue(t, r, s, n) {
2738
2498
  if (s) {
@@ -2740,88 +2500,409 @@ var vr = class extends Er {
2740
2500
  {
2741
2501
  let [i, a] = t;
2742
2502
  if (a === void 0 || a.type === "TextNode" && a.chars === "/") return i;
2743
- throw E("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'", n);
2503
+ throw k("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'", n);
2744
2504
  }
2745
2505
  }
2746
- return ce(t) ? t[0] : f.text({ chars: "", loc: n });
2506
+ return Yt(t) ? t[0] : d.text({ chars: "", loc: n });
2747
2507
  }
2748
2508
  constructor(...t) {
2749
2509
  super(...t), this.tagOpenLine = 0, this.tagOpenColumn = 0;
2750
2510
  }
2751
2511
  };
2752
- var hi = {};
2753
- var wr = class extends or {
2512
+ var Ms = {};
2513
+ var pr = class extends $e {
2754
2514
  constructor() {
2755
2515
  super({});
2756
2516
  }
2757
2517
  parse() {
2758
2518
  }
2759
2519
  };
2760
- function Rs(e5, t = {}) {
2761
- var c, h, p;
2520
+ function mn(e5, t = {}) {
2762
2521
  let r, s, n, i = t.mode || "precompile";
2763
- typeof e5 == "string" ? (r = new wt(e5, (c = t.meta) == null ? void 0 : c.moduleName), s = i === "codemod" ? Te(e5, t.parseOptions) : ar(e5, t.parseOptions)) : e5 instanceof wt ? (r = e5, s = i === "codemod" ? Te(e5.source, t.parseOptions) : ar(e5.source, t.parseOptions)) : (r = new wt("", (h = t.meta) == null ? void 0 : h.moduleName), s = e5), i === "codemod" && (n = new wr());
2764
- let a = D.forCharPositions(r, 0, r.source.length);
2522
+ typeof e5 == "string" ? (r = new ft(e5, t.meta?.moduleName), s = i === "codemod" ? he(e5, t.parseOptions) : Je(e5, t.parseOptions)) : e5 instanceof ft ? (r = e5, s = i === "codemod" ? he(e5.source, t.parseOptions) : Je(e5.source, t.parseOptions)) : (r = new ft("", t.meta?.moduleName), s = e5), i === "codemod" && (n = new pr());
2523
+ let a = A.forCharPositions(r, 0, r.source.length);
2765
2524
  s.loc = { source: "(program)", start: a.startPosition, end: a.endPosition };
2766
- let o = new vr(r, n, i).parse(s, t.locals ?? []);
2767
- if ((p = t.plugins) != null && p.ast) for (let m of t.plugins.ast) ci(o, m(Ze({}, t, { syntax: hi }, { plugins: void 0 })).visitor);
2525
+ let o = new hr(r, n, i).parse(s, t.locals ?? []);
2526
+ if (t.plugins?.ast) for (let c of t.plugins.ast) Hs(o, c(ze({}, t, { syntax: Ms }, { plugins: void 0 })).visitor);
2768
2527
  return o;
2769
2528
  }
2770
- var pi = { resolution: () => Ne.GetStrictKeyword, serialize: () => "Strict", isAngleBracket: false };
2771
- var yo = { ...pi, isAngleBracket: true };
2772
- function fi(e5, t) {
2529
+ var zs = { resolution: () => pe.GetStrictKeyword, serialize: () => "Strict", isAngleBracket: false };
2530
+ var xo = { ...zs, isAngleBracket: true };
2531
+ var Ys = Ur(be);
2532
+ var dn = Ys;
2533
+ var dt = (e5) => e5.loc.start.offset;
2534
+ var Gt = (e5) => e5.loc.end.offset;
2535
+ function dr(e5, t, r) {
2536
+ if (e5.type === "TextNode") {
2537
+ let s = e5.chars.trim();
2538
+ if (!s) return null;
2539
+ r.tag === "style" && r.children.length === 1 && r.children[0] === e5 ? t.chars = "" : t.chars = R.split(s).join(" ");
2540
+ }
2541
+ e5.type === "ElementNode" && (delete t.startTag, delete t.openTag, delete t.parts, delete t.endTag, delete t.closeTag, delete t.nameNode, delete t.body, delete t.blockParamNodes, delete t.params, delete t.path), e5.type === "Block" && (delete t.blockParamNodes, delete t.params), e5.type === "AttrNode" && e5.name.toLowerCase() === "class" && delete t.value, e5.type === "PathExpression" && (t.head = e5.head.original);
2542
+ }
2543
+ dr.ignoredProperties = /* @__PURE__ */ new Set(["loc", "selfClosing"]);
2544
+ var Gs = new Set(on());
2545
+ function bn(e5) {
2546
+ return e5.toUpperCase() === e5;
2547
+ }
2548
+ function Ks(e5) {
2549
+ return e5.type === "ElementNode" && typeof e5.tag == "string" && !e5.tag.startsWith(":") && (bn(e5.tag[0]) || e5.tag.includes("."));
2550
+ }
2551
+ function Ws(e5) {
2552
+ return Gs.has(e5.toLowerCase()) && !bn(e5[0]);
2553
+ }
2554
+ function gr(e5) {
2555
+ return e5.selfClosing === true || Ws(e5.tag) || Ks(e5) && e5.children.every((t) => Se(t));
2556
+ }
2557
+ function Se(e5) {
2558
+ return e5.type === "TextNode" && !/\S/.test(e5.chars);
2559
+ }
2560
+ function gn(e5) {
2561
+ return e5?.type === "MustacheCommentStatement" && typeof e5.value == "string" && e5.value.trim() === "prettier-ignore";
2562
+ }
2563
+ function yn(e5) {
2564
+ return gn(e5.node) || e5.isInArray && (e5.key === "children" || e5.key === "body" || e5.key === "parts") && gn(e5.siblings[e5.index - 2]);
2565
+ }
2566
+ var xn = 2;
2567
+ function js(e5, t, r) {
2568
+ let { node: s } = e5;
2569
+ switch (s.type) {
2570
+ case "Block":
2571
+ case "Program":
2572
+ case "Template":
2573
+ return I(e5.map(r, "body"));
2574
+ case "ElementNode": {
2575
+ let n = t.htmlWhitespaceSensitivity !== "ignore", i = [!n && e5.previous?.type === "ElementNode" ? H : "", I([Js(e5, r)])];
2576
+ if (gr(s)) return [i];
2577
+ let a = ["</", s.tag, ">"], o = s.tag === "style";
2578
+ if (s.children.length === 0 || (!n || o) && s.children.every((h) => Se(h))) return [i, a];
2579
+ let c = e5.map(r, "children");
2580
+ return o || !n ? [i, F([H, ...c]), H, a] : [i, F(I(c)), a];
2581
+ }
2582
+ case "BlockStatement":
2583
+ return Pn(e5) ? [ni(e5, r), En(e5, t, r), vn(e5, t, r)] : [ti(e5, r), I([En(e5, t, r), vn(e5, t, r), si(e5, t, r)])];
2584
+ case "ElementModifierStatement":
2585
+ return I(["{{", Tn(e5, r), "}}"]);
2586
+ case "MustacheStatement":
2587
+ return I([ke(s), Tn(e5, r), Ee(s)]);
2588
+ case "SubExpression":
2589
+ return I(["(", ui(e5, r), H, ")"]);
2590
+ case "AttrNode": {
2591
+ let { name: n, value: i } = s, a = i.type === "TextNode";
2592
+ if (a && i.chars === "" && dt(i) === Gt(i)) return n;
2593
+ let c = a ? oe(i.chars, t.singleQuote) : i.type === "ConcatStatement" ? oe(i.parts.map((f) => f.type === "TextNode" ? f.chars : "").join(""), t.singleQuote) : "", h = r("value");
2594
+ return [n, "=", c, n === "class" && c ? I(F(h)) : h, c];
2595
+ }
2596
+ case "ConcatStatement":
2597
+ return e5.map(r, "parts");
2598
+ case "Hash":
2599
+ return ut(N, e5.map(r, "pairs"));
2600
+ case "HashPair":
2601
+ return [s.key, "=", r("value")];
2602
+ case "TextNode": {
2603
+ let n = s.chars, { parent: i } = e5;
2604
+ if (i.type === "ElementNode") {
2605
+ if (i.tag === "pre") return ie(n);
2606
+ if (i.tag === "style") return n = ct(0, n, /^\n+/g, ""), n = R.trimEnd(n), n = R.dedentString(n), ie(n, ht);
2607
+ }
2608
+ n = ct(0, n, "{{", "\\{{");
2609
+ let a = ii(e5);
2610
+ if (a) {
2611
+ if (a === "class") {
2612
+ let D = ct(0, n.trim(), /\s+/g, " "), B = false, O = false;
2613
+ return e5.parent.type === "ConcatStatement" && (e5.previous?.type === "MustacheStatement" && /^\s/.test(n) && (B = true), e5.next?.type === "MustacheStatement" && /\s$/.test(n) && D !== "" && (O = true)), [B ? N : "", D, O ? N : ""];
2614
+ }
2615
+ return ie(n);
2616
+ }
2617
+ let o = R.isWhitespaceOnly(n), { isFirst: c, isLast: h } = e5;
2618
+ if (t.htmlWhitespaceSensitivity !== "ignore") {
2619
+ let D = h && e5.parent.type === "Template", B = c && e5.parent.type === "Template";
2620
+ if (o) {
2621
+ if (B || D) return "";
2622
+ let C = [N], $ = _t4(n);
2623
+ return $ && (C = Kt($)), h && (C = C.map((W) => Be(W))), C;
2624
+ }
2625
+ let O = R.getLeadingWhitespace(n), z = [];
2626
+ if (O) {
2627
+ z = [N];
2628
+ let C = _t4(O);
2629
+ C && (z = Kt(C)), n = n.slice(O.length);
2630
+ }
2631
+ let P = R.getTrailingWhitespace(n), U = [];
2632
+ if (P) {
2633
+ if (!D) {
2634
+ U = [N];
2635
+ let C = _t4(P);
2636
+ C && (U = Kt(C)), h && (U = U.map(($) => Be($)));
2637
+ }
2638
+ n = n.slice(0, -P.length);
2639
+ }
2640
+ return [...z, qe(wn(n)), ...U];
2641
+ }
2642
+ if ((c || h) && o && (e5.parent.type === "Block" || e5.parent.type === "ElementNode" || e5.parent.type === "Template")) return "";
2643
+ let f = _t4(n), p = ai(n), g = oi(n);
2644
+ o && f ? (p = Math.min(f, xn), g = 0) : ((e5.next?.type === "BlockStatement" || e5.next?.type === "ElementNode") && (g = Math.max(g, 1)), (e5.previous?.type === "BlockStatement" || e5.previous?.type === "ElementNode") && (p = Math.max(p, 1)));
2645
+ let E = "", T = "";
2646
+ return g === 0 && e5.next?.type === "MustacheStatement" && (T = " "), p === 0 && e5.previous?.type === "MustacheStatement" && (E = " "), c && (p = 0, E = ""), h && (g = 0, T = ""), R.hasLeadingWhitespace(n) && (n = E + R.trimStart(n)), R.hasTrailingWhitespace(n) && (n = R.trimEnd(n) + T), [...Kt(p), qe(wn(n)), ...Kt(g)];
2647
+ }
2648
+ case "MustacheCommentStatement": {
2649
+ let n = dt(s), i = Gt(s), a = t.originalText.charAt(n + 2) === "~", o = t.originalText.charAt(i - 3) === "~", c = s.value.includes("}}") ? "--" : "";
2650
+ return ["{{", a ? "~" : "", "!", c, s.value, c, o ? "~" : "", "}}"];
2651
+ }
2652
+ case "PathExpression":
2653
+ return mi(s);
2654
+ case "BooleanLiteral":
2655
+ return String(s.value);
2656
+ case "CommentStatement":
2657
+ return ["<!--", s.value, "-->"];
2658
+ case "StringLiteral":
2659
+ return li(e5, t);
2660
+ case "NumberLiteral":
2661
+ return String(s.value);
2662
+ case "UndefinedLiteral":
2663
+ return "undefined";
2664
+ case "NullLiteral":
2665
+ return "null";
2666
+ default:
2667
+ throw new Fr(s, "Handlebars");
2668
+ }
2669
+ }
2670
+ function Qs(e5, t) {
2671
+ return dt(e5) - dt(t);
2672
+ }
2673
+ function Js(e5, t) {
2674
+ let { node: r } = e5, s = ["attributes", "modifiers", "comments"].filter((i) => Bt(r[i])), n = s.flatMap((i) => r[i]).sort(Qs);
2675
+ for (let i of s) e5.each(({ node: a }) => {
2676
+ let o = n.indexOf(a);
2677
+ n[o] = [N, t()];
2678
+ }, i);
2679
+ return Bt(r.blockParams) && n.push(N, yr(r)), ["<", r.tag, F(n), $s(r)];
2680
+ }
2681
+ function $s(e5) {
2682
+ return gr(e5) ? Ve([H, "/>"], [" />", H]) : Ve([H, ">"], ">");
2683
+ }
2684
+ function ke(e5) {
2685
+ let t = e5.trusting ? "{{{" : "{{", r = e5.strip?.open ? "~" : "";
2686
+ return [t, r];
2687
+ }
2688
+ function Ee(e5) {
2689
+ let t = e5.trusting ? "}}}" : "}}";
2690
+ return [e5.strip?.close ? "~" : "", t];
2691
+ }
2692
+ function Xs(e5) {
2693
+ let t = ke(e5), r = e5.openStrip.open ? "~" : "";
2694
+ return [t, r, "#"];
2695
+ }
2696
+ function Zs(e5) {
2697
+ let t = Ee(e5);
2698
+ return [e5.openStrip.close ? "~" : "", t];
2699
+ }
2700
+ function Sn(e5) {
2701
+ let t = ke(e5), r = e5.closeStrip.open ? "~" : "";
2702
+ return [t, r, "/"];
2703
+ }
2704
+ function kn(e5) {
2705
+ let t = Ee(e5);
2706
+ return [e5.closeStrip.close ? "~" : "", t];
2707
+ }
2708
+ function Nn(e5) {
2709
+ let t = ke(e5), r = e5.inverseStrip.open ? "~" : "";
2710
+ return [t, r];
2711
+ }
2712
+ function An(e5) {
2713
+ let t = Ee(e5);
2714
+ return [e5.inverseStrip.close ? "~" : "", t];
2715
+ }
2716
+ function ti(e5, t) {
2717
+ let { node: r } = e5, s = [], n = ve(e5, t);
2718
+ return n && s.push(I(n)), Bt(r.program.blockParams) && s.push(yr(r.program)), I([Xs(r), br(e5, t), s.length > 0 ? F([N, ut(N, s)]) : "", H, Zs(r)]);
2719
+ }
2720
+ function ei(e5, t) {
2721
+ return [t.htmlWhitespaceSensitivity === "ignore" ? ht : "", Nn(e5), "else", An(e5)];
2722
+ }
2723
+ var ri = ({ path: e5 }, { path: t }) => [e5, t].every((r) => r.type === "PathExpression" && r.head.type === "VarHead") && e5.head.name === t.head.name;
2724
+ function Pn(e5) {
2725
+ if (!e5.match((r) => r.type === "BlockStatement", (r, s) => s === "body" && r.type === "Block" && r.body.length === 1, (r, s) => s === "inverse" && r.type === "BlockStatement")) return false;
2726
+ let { node: t } = e5;
2727
+ return t.path.type === "PathExpression" && t.path.head.type === "VarHead" && t.path.head.name === "if" || ri(t, e5.grandparent);
2728
+ }
2729
+ function ni(e5, t) {
2730
+ let { node: r, grandparent: s } = e5;
2731
+ return I([Nn(s), ["else", " ", s.inverse.body[0].path.head.name], F([N, I(ve(e5, t)), ...Bt(r.program.blockParams) ? [N, yr(r.program)] : []]), H, An(s)]);
2732
+ }
2733
+ function si(e5, t, r) {
2734
+ let { node: s } = e5;
2735
+ return t.htmlWhitespaceSensitivity === "ignore" ? [Cn(s) ? H : ht, Sn(s), r("path"), kn(s)] : [Sn(s), r("path"), kn(s)];
2736
+ }
2737
+ function Cn(e5) {
2738
+ return e5.type === "BlockStatement" && e5.program.body.every((t) => Se(t));
2739
+ }
2740
+ function En(e5, t, r) {
2741
+ let { node: s } = e5;
2742
+ if (Cn(s)) return "";
2743
+ let n = r("program");
2744
+ return t.htmlWhitespaceSensitivity === "ignore" ? F([ht, n]) : F(n);
2745
+ }
2746
+ function vn(e5, t, r) {
2747
+ let { node: s } = e5;
2748
+ if (!s.inverse) return "";
2749
+ let n = r("inverse"), i = t.htmlWhitespaceSensitivity === "ignore" ? [ht, n] : n;
2750
+ return e5.call(Pn, "inverse", "body", 0) ? i : [ei(s, t), F(i)];
2751
+ }
2752
+ function wn(e5) {
2753
+ return ut(N, R.split(e5));
2754
+ }
2755
+ function ii(e5) {
2756
+ for (let t = 0; t < 2; t++) {
2757
+ let r = e5.getParentNode(t);
2758
+ if (r?.type === "AttrNode") return r.name.toLowerCase();
2759
+ }
2760
+ }
2761
+ function _t4(e5) {
2762
+ return e5 = typeof e5 == "string" ? e5 : "", e5.split(`
2763
+ `).length - 1;
2764
+ }
2765
+ function ai(e5) {
2766
+ e5 = typeof e5 == "string" ? e5 : "";
2767
+ let t = (e5.match(/^([^\S\n\r]*[\n\r])+/g) || [])[0] || "";
2768
+ return _t4(t);
2769
+ }
2770
+ function oi(e5) {
2771
+ e5 = typeof e5 == "string" ? e5 : "";
2772
+ let t = (e5.match(/([\n\r][^\S\n\r]*)+$/g) || [])[0] || "";
2773
+ return _t4(t);
2774
+ }
2775
+ function Kt(e5 = 0) {
2776
+ return Array.from({ length: Math.min(e5, xn) }, () => ht);
2777
+ }
2778
+ function li(e5, t) {
2779
+ let { node: { value: r } } = e5, s = oe(r, ci(e5) ? !t.singleQuote : t.singleQuote);
2780
+ return [s, ct(0, r, s, `\\${s}`), s];
2781
+ }
2782
+ function ci(e5) {
2783
+ let { ancestors: t } = e5, r = t.findIndex((s) => s.type !== "SubExpression");
2784
+ return r !== -1 && t[r + 1].type === "ConcatStatement" && t[r + 2].type === "AttrNode";
2785
+ }
2786
+ function ui(e5, t) {
2787
+ let r = br(e5, t), s = ve(e5, t);
2788
+ return s ? F([r, N, I(s)]) : r;
2789
+ }
2790
+ function Tn(e5, t) {
2791
+ let r = br(e5, t), s = ve(e5, t);
2792
+ return s ? [F([r, N, s]), H] : r;
2793
+ }
2794
+ function br(e5, t) {
2795
+ return t("path");
2796
+ }
2797
+ function ve(e5, t) {
2798
+ let { node: r } = e5, s = [];
2799
+ return r.params.length > 0 && s.push(...e5.map(t, "params")), r.hash?.pairs.length > 0 && s.push(t("hash")), s.length === 0 ? "" : ut(N, s);
2800
+ }
2801
+ function yr(e5) {
2802
+ return ["as |", e5.blockParams.join(" "), "|"];
2803
+ }
2804
+ var hi = new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~");
2805
+ var pi = /* @__PURE__ */ new Set(["true", "false", "null", "undefined"]);
2806
+ var fi = (e5, t) => t === 0 && e5.startsWith("@") ? false : t !== 0 && pi.has(e5) || /\s/.test(e5) || /^\d/.test(e5) || Array.prototype.some.call(e5, (r) => hi.has(r));
2807
+ function mi(e5) {
2808
+ return e5.tail.length === 0 && e5.original.includes("/") ? e5.original : [e5.head.original, ...e5.tail].map((r, s) => fi(r, s) ? `[${r}]` : r).join(".");
2809
+ }
2810
+ var di = { features: { experimental_frontMatterSupport: { massageAstNode: true, embed: true, print: true } }, print: js, massageAstNode: dr, hasPrettierIgnore: yn, getVisitorKeys: dn, embed: Hr };
2811
+ var _n = di;
2812
+ var Ln = [{ name: "Handlebars", type: "markup", aceMode: "handlebars", extensions: [".handlebars", ".hbs"], tmScope: "text.html.handlebars", aliases: ["hbs", "htmlbars"], parsers: ["glimmer"], vscodeLanguageIds: ["handlebars"], linguistLanguageId: 155 }];
2813
+ var Sr = {};
2814
+ Oe(Sr, { glimmer: () => Ai });
2815
+ function gi(e5, t) {
2773
2816
  let r = new SyntaxError(e5 + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2774
2817
  return Object.assign(r, t);
2775
2818
  }
2776
- var qs = fi;
2777
- function mi(e5) {
2819
+ var Dn = gi;
2820
+ function bi(e5) {
2821
+ return ct(0, e5, /[^\n]/g, " ");
2822
+ }
2823
+ var On = bi;
2824
+ var In = /* @__PURE__ */ Symbol.for("PRETTIER_IS_FRONT_MATTER");
2825
+ var Wt = 3;
2826
+ function yi(e5) {
2827
+ let t = e5.slice(0, Wt);
2828
+ if (t !== "---" && t !== "+++") return;
2829
+ let r = e5.indexOf(`
2830
+ `, Wt);
2831
+ if (r === -1) return;
2832
+ let s = e5.slice(Wt, r).trim(), n = e5.indexOf(`
2833
+ ${t}`, r), i = s;
2834
+ if (i || (i = t === "+++" ? "toml" : "yaml"), n === -1 && t === "---" && i === "yaml" && (n = e5.indexOf(`
2835
+ ...`, r)), n === -1) return;
2836
+ let a = n + 1 + Wt, o = e5.charAt(a + 1);
2837
+ if (!/\s?/.test(o)) return;
2838
+ let c = e5.slice(0, a), h;
2839
+ return { language: i, explicitLanguage: s || null, value: e5.slice(r + 1, n), startDelimiter: t, endDelimiter: c.slice(-Wt), raw: c, start: { line: 1, column: 0, index: 0 }, end: { index: c.length, get line() {
2840
+ return h ?? (h = c.split(`
2841
+ `)), h.length;
2842
+ }, get column() {
2843
+ return h ?? (h = c.split(`
2844
+ `)), V(0, h, -1).length;
2845
+ } }, [In]: true };
2846
+ }
2847
+ function Si(e5) {
2848
+ let t = yi(e5);
2849
+ return t ? { frontMatter: t, get content() {
2850
+ let { raw: r } = t;
2851
+ return On(r) + e5.slice(r.length);
2852
+ } } : { content: e5 };
2853
+ }
2854
+ var Bn = Si;
2855
+ function ki(e5) {
2778
2856
  let t = e5.children ?? e5.body;
2779
- if (t) for (let r = 0; r < t.length - 1; r++) t[r].type === "TextNode" && t[r + 1].type === "MustacheStatement" && (t[r].chars = t[r].chars.replace(/\\$/u, "\\\\"));
2857
+ if (t) for (let r = 0; r < t.length - 1; r++) t[r].type === "TextNode" && t[r + 1].type === "MustacheStatement" && (t[r].chars = t[r].chars.replace(/\\$/, "\\\\"));
2780
2858
  }
2781
- var di = (e5) => {
2859
+ var Ei = (e5) => {
2782
2860
  let { start: t, end: r } = e5.loc;
2783
2861
  t.offset = e5.loc.getStart().offset, r.offset = e5.loc.getEnd().offset;
2784
2862
  };
2785
- var gi = () => ({ name: "glimmerPrettierParsePlugin", visitor: { All(e5) {
2786
- di(e5), mi(e5);
2863
+ var vi = () => ({ name: "glimmerPrettierParsePlugin", visitor: { All(e5) {
2864
+ Ei(e5), ki(e5);
2787
2865
  } } });
2788
- var bi = { mode: "codemod", plugins: { ast: [gi] } };
2789
- function yi(e5) {
2790
- let t;
2866
+ var wi = { mode: "codemod", plugins: { ast: [vi] } };
2867
+ function Ti(e5) {
2868
+ let { frontMatter: t, content: r } = Bn(e5), s;
2791
2869
  try {
2792
- t = Rs(e5, bi);
2793
- } catch (r) {
2794
- let s = Si(r);
2795
- if (s) {
2796
- let n = ki(r);
2797
- throw qs(n, { loc: s, cause: r });
2870
+ s = mn(r, wi);
2871
+ } catch (n) {
2872
+ let i = Ni(n);
2873
+ if (i) {
2874
+ let a = xi(n);
2875
+ throw Dn(a, { loc: i, cause: n });
2798
2876
  }
2799
- throw r;
2877
+ throw n;
2878
+ }
2879
+ if (t) {
2880
+ let n = { ...t, type: "FrontMatter", loc: { start: { ...t.start, offset: t.start.index }, end: { ...t.end, offset: t.end.index } } };
2881
+ s.body.unshift(n);
2800
2882
  }
2801
- return t;
2883
+ return s;
2802
2884
  }
2803
- function ki(e5) {
2885
+ function xi(e5) {
2804
2886
  let { message: t } = e5, r = t.split(`
2805
2887
  `);
2806
- return r.length >= 4 && /^Parse error on line \d+:$/u.test(r[0]) && /^-*\^$/u.test(G(false, r, -2)) ? G(false, r, -1) : r.length >= 4 && /:\s?$/u.test(r[0]) && /^\(error occurred in '.*?' @ line \d+ : column \d+\)$/u.test(G(false, r, -1)) && r[1] === "" && G(false, r, -2) === "" && r.slice(2, -2).every((s) => s.startsWith("|")) ? r[0].trim().slice(0, -1) : t;
2888
+ return r.length >= 4 && /^Parse error on line \d+:$/.test(r[0]) && /^-*\^$/.test(V(0, r, -2)) ? V(0, r, -1) : r.length >= 4 && /:\s?$/.test(r[0]) && /^\(error occurred in '.*?' @ line \d+ : column \d+\)$/.test(V(0, r, -1)) && r[1] === "" && V(0, r, -2) === "" && r.slice(2, -2).every((s) => s.startsWith("|")) ? r[0].trim().slice(0, -1) : t;
2807
2889
  }
2808
- function Si(e5) {
2890
+ function Ni(e5) {
2809
2891
  let { location: t, hash: r } = e5;
2810
2892
  if (t) {
2811
2893
  let { start: s, end: n } = t;
2812
- return typeof n.line != "number" ? { start: s } : t;
2894
+ return { start: { line: s.line, column: s.column + 1 }, end: typeof n.line == "number" ? { line: n.line, column: n.column + 1 } : void 0 };
2813
2895
  }
2814
2896
  if (r) {
2815
2897
  let { loc: { last_line: s, last_column: n } } = r;
2816
2898
  return { start: { line: s, column: n + 1 } };
2817
2899
  }
2818
2900
  }
2819
- var Ei = { parse: yi, astFormat: "glimmer", locStart: St, locEnd: re };
2820
- var vi = { glimmer: us };
2821
- var Do = xr;
2901
+ var Ai = { parse: Ti, astFormat: "glimmer", locStart: dt, locEnd: Gt };
2902
+ var Pi = { glimmer: _n };
2822
2903
  export {
2823
- Do as default,
2824
- hs as languages,
2825
- Cr as parsers,
2826
- vi as printers
2904
+ Rn as default,
2905
+ Ln as languages,
2906
+ Sr as parsers,
2907
+ Pi as printers
2827
2908
  };