@maildeno/editor 0.1.4 → 0.4.2

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.
Files changed (169) hide show
  1. package/CHANGELOG.md +258 -0
  2. package/README.md +397 -381
  3. package/dist/RowPreviewChildren-DT0y0lKC.js +4 -0
  4. package/dist/RowPreviewChildren-OsbF7_vu.js +4 -0
  5. package/dist/RowPreviewLegacyComponent-BV4b5bHQ.js +487 -0
  6. package/dist/RowPreviewLegacyComponent-C08MGJVT.js +487 -0
  7. package/dist/RowPreviewRow-ByxeBYV8.js +112 -0
  8. package/dist/RowPreviewRow-N-hh5l_H.js +112 -0
  9. package/dist/adapters/errors.d.ts +59 -0
  10. package/dist/adapters/index.d.ts +31 -0
  11. package/dist/adapters/types.d.ts +68 -0
  12. package/dist/brand.d.ts +15 -0
  13. package/dist/components/DesktopOnlyNotice.vue.d.ts +20 -0
  14. package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +182 -0
  15. package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +37 -0
  16. package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +3 -0
  17. package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +3 -0
  18. package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +3 -0
  19. package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +3 -0
  20. package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +3 -0
  21. package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +3 -0
  22. package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +3 -0
  23. package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +3 -0
  24. package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +3 -0
  25. package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +3 -0
  26. package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +3 -0
  27. package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +3 -0
  28. package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +49 -0
  29. package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +56 -0
  30. package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +21 -0
  31. package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +49 -0
  32. package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +40 -0
  33. package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +3 -0
  34. package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +54 -0
  35. package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +21 -0
  36. package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +3 -0
  37. package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +3 -0
  38. package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +3 -0
  39. package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +3 -0
  40. package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +3 -0
  41. package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +3 -0
  42. package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +3 -0
  43. package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +3 -0
  44. package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +3 -0
  45. package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +3 -0
  46. package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +13 -0
  47. package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +13 -0
  48. package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +13 -0
  49. package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +3 -0
  50. package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +3 -0
  51. package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +3 -0
  52. package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +19 -0
  53. package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +31 -0
  54. package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +9 -0
  55. package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +11 -0
  56. package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +25 -0
  57. package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +7 -0
  58. package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +30 -0
  59. package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +75 -0
  60. package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +27 -0
  61. package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +74 -0
  62. package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +17 -0
  63. package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +74 -0
  64. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +52 -0
  65. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +72 -0
  66. package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +45 -0
  67. package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +32 -0
  68. package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +19 -0
  69. package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +28 -0
  70. package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +31 -0
  71. package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +19 -0
  72. package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +20 -0
  73. package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +39 -0
  74. package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +28 -0
  75. package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +7 -0
  76. package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +10 -0
  77. package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +12 -0
  78. package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +20 -0
  79. package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +21 -0
  80. package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +16 -0
  81. package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +10 -0
  82. package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +41 -0
  83. package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +8 -0
  84. package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +8 -0
  85. package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +14 -0
  86. package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +14 -0
  87. package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +9 -0
  88. package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +3 -0
  89. package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +13 -0
  90. package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +14 -0
  91. package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +35 -0
  92. package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +3 -0
  93. package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +3 -0
  94. package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +3 -0
  95. package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +7 -0
  96. package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +3 -0
  97. package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +3 -0
  98. package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +3 -0
  99. package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +3 -0
  100. package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +3 -0
  101. package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +3 -0
  102. package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +17 -0
  103. package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +12 -0
  104. package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +10 -0
  105. package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +19 -0
  106. package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +7 -0
  107. package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +42 -0
  108. package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +8 -0
  109. package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +10 -0
  110. package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +10 -0
  111. package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +10 -0
  112. package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +10 -0
  113. package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +10 -0
  114. package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +10 -0
  115. package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +10 -0
  116. package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +10 -0
  117. package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +10 -0
  118. package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +10 -0
  119. package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +12 -0
  120. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +18 -0
  121. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +15 -0
  122. package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +10 -0
  123. package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +45 -0
  124. package/dist/components/ui/ConfirmDialog.vue.d.ts +3 -0
  125. package/dist/components/ui/Icon.vue.d.ts +33 -0
  126. package/dist/components/ui/InfoDialog.vue.d.ts +12 -0
  127. package/dist/components/ui/Loading.vue.d.ts +6 -0
  128. package/dist/components/ui/ShadowSafeToast.vue.d.ts +3 -0
  129. package/dist/components/ui/primitives/Button.vue.d.ts +23 -0
  130. package/dist/components/ui/primitives/DatePicker.vue.d.ts +16 -0
  131. package/dist/components/ui/primitives/Dialog.vue.d.ts +34 -0
  132. package/dist/components/ui/primitives/InputText.vue.d.ts +29 -0
  133. package/dist/components/ui/primitives/Message.vue.d.ts +20 -0
  134. package/dist/components/ui/primitives/Select.vue.d.ts +22 -0
  135. package/dist/composables/emailBuilder/components/useSystemRows.d.ts +22 -0
  136. package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +10 -10
  137. package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +18 -0
  138. package/dist/composables/emailBuilder/export/logic/espLogicWrapper.d.ts +4 -4
  139. package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +24 -0
  140. package/dist/composables/emailBuilder/persistence/useEmailBuilderPersistence.d.ts +1 -1
  141. package/dist/composables/system/useColorScheme.d.ts +16 -0
  142. package/dist/editor.css +1061 -676
  143. package/dist/element-C2ZH0Z_i.js +86561 -0
  144. package/dist/element-scoped-styles.css +1061 -676
  145. package/dist/element.d.ts +1 -1
  146. package/dist/element.js +5 -2
  147. package/dist/estree-DBJlF9un.js +4876 -0
  148. package/dist/html-3PMDtB0V.js +3123 -0
  149. package/dist/index-DhFg3uKs.js +75864 -0
  150. package/dist/index.d.ts +4 -2
  151. package/dist/index.js +16 -67053
  152. package/dist/init.d.ts +95 -2
  153. package/dist/init.js +166 -122
  154. package/dist/standalone-DKWMQftY.js +2391 -0
  155. package/dist/theme.d.ts +68 -17
  156. package/dist/types/assistant.d.ts +56 -0
  157. package/dist/typescript-l6-4tT8s.js +13240 -0
  158. package/package.json +6 -3
  159. package/dist/RowPreviewLegacyComponent-CXsY4P-R.js +0 -439
  160. package/dist/RowPreviewLegacyComponent-yjHSkZLz.js +0 -439
  161. package/dist/RowPreviewRow-CeowK6Q_.js +0 -107
  162. package/dist/RowPreviewRow-D-wmhbhZ.js +0 -107
  163. package/dist/composables/emailBuilder/transform/pipeline/optimizeAI.d.ts +0 -125
  164. package/dist/element-CWjNN0lY.js +0 -67099
  165. package/dist/estree-B67dfAo1.js +0 -7989
  166. package/dist/html-DGrfikay.js +0 -7353
  167. package/dist/standalone-Bd2oQFm3.js +0 -3639
  168. package/dist/typescript-C_Ru9PRN.js +0 -23184
  169. package/dist/vue.runtime.esm-bundler-CfYyFhW6.js +0 -9097
@@ -0,0 +1,3123 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __typeError = (msg) => {
3
+ throw TypeError(msg);
4
+ };
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
8
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
9
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
10
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
12
+ var _e2, _jt_instances, t_fn, _a2;
13
+ var Nr = Object.defineProperty;
14
+ var Dr = (e) => {
15
+ throw TypeError(e);
16
+ };
17
+ var es = (e, t, r) => t in e ? Nr(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r;
18
+ var Ir = (e, t) => {
19
+ for (var r in t) Nr(e, r, { get: t[r], enumerable: true });
20
+ };
21
+ var Wt = (e, t, r) => es(e, typeof t != "symbol" ? t + "" : t, r), ts = (e, t, r) => t.has(e) || Dr("Cannot " + r);
22
+ var qe = (e, t, r) => (ts(e, t, "read from private field"), r ? r.call(e) : t.get(e)), Rr = (e, t, r) => t.has(e) ? Dr("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r);
23
+ var Zi = {};
24
+ Ir(Zi, { languages: () => Ui, options: () => zi, parsers: () => Pr, printers: () => $o });
25
+ var ke = (e, t) => (r, n, ...i) => r | 1 && n == null ? void 0 : (t.call(n) ?? n[e]).apply(n, i);
26
+ var rs = String.prototype.replaceAll ?? function(e, t) {
27
+ return e.global ? this.replace(e, t) : this.split(e).join(t);
28
+ }, ns = ke("replaceAll", function() {
29
+ if (typeof this == "string") return rs;
30
+ }), T = ns;
31
+ function is(e) {
32
+ return this[e < 0 ? this.length + e : e];
33
+ }
34
+ var ss = ke("at", function() {
35
+ if (Array.isArray(this) || typeof this == "string") return is;
36
+ }), I = ss;
37
+ var as = () => {
38
+ }, He = as;
39
+ var Fe = "string", Ve = "array", ot = "cursor", be = "indent", we = "align", lt = "trim", Te = "group", ye = "fill", Ee = "if-break", xe = "indent-if-break", ct = "line-suffix", ut = "line-suffix-boundary", z = "line", pt = "label", Le = "break-parent", ht = /* @__PURE__ */ new Set([ot, be, we, lt, Te, ye, Ee, xe, ct, ut, z, pt, Le]);
40
+ function mt(e, t, r) {
41
+ if (!e.has(t)) {
42
+ let n = r(t);
43
+ e.set(t, n);
44
+ }
45
+ return e.get(t);
46
+ }
47
+ function os(e) {
48
+ if (typeof e == "string") return Fe;
49
+ if (Array.isArray(e)) return Ve;
50
+ if (!e) return;
51
+ let { type: t } = e;
52
+ if (ht.has(t)) return t;
53
+ }
54
+ var ft = os;
55
+ var ls = (e) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(e);
56
+ function cs(e) {
57
+ let t = e === null ? "null" : typeof e;
58
+ if (t !== "string" && t !== "object") return `Unexpected doc '${t}',
59
+ Expected it to be 'string' or 'object'.`;
60
+ if (ft(e)) throw new Error("doc is valid.");
61
+ let r = Object.prototype.toString.call(e);
62
+ if (r !== "[object Object]") return `Unexpected doc '${r}'.`;
63
+ let n = ls([...ht].map((i) => `'${i}'`));
64
+ return `Unexpected doc.type '${e.type}'.
65
+ Expected it to be ${n}.`;
66
+ }
67
+ var zt = class extends Error {
68
+ constructor(t) {
69
+ super(cs(t));
70
+ __publicField(this, "name", "InvalidDocError");
71
+ this.doc = t;
72
+ }
73
+ }, Or = zt;
74
+ function Gt(e, t) {
75
+ if (typeof e == "string") return t(e);
76
+ let r = /* @__PURE__ */ new Map();
77
+ return n(e);
78
+ function n(s) {
79
+ return mt(r, s, i);
80
+ }
81
+ function i(s) {
82
+ switch (ft(s)) {
83
+ case Ve:
84
+ return t(s.map(n));
85
+ case ye:
86
+ return t({ ...s, parts: s.parts.map(n) });
87
+ case Ee:
88
+ return t({ ...s, breakContents: n(s.breakContents), flatContents: n(s.flatContents) });
89
+ case Te: {
90
+ let { expandedStates: a, contents: o } = s;
91
+ return a ? (a = a.map(n), o = a[0]) : o = n(o), t({ ...s, contents: o, expandedStates: a });
92
+ }
93
+ case we:
94
+ case be:
95
+ case xe:
96
+ case pt:
97
+ case ct:
98
+ return t({ ...s, contents: n(s.contents) });
99
+ case Fe:
100
+ case ot:
101
+ case lt:
102
+ case ut:
103
+ case z:
104
+ case Le:
105
+ return t(s);
106
+ default:
107
+ throw new Or(s);
108
+ }
109
+ }
110
+ }
111
+ function L(e, t = Mr) {
112
+ return Gt(e, (r) => typeof r == "string" ? R(t, r.split(`
113
+ `)) : r);
114
+ }
115
+ var dt = He;
116
+ function A(e) {
117
+ return { type: be, contents: e };
118
+ }
119
+ function us(e, t) {
120
+ return { type: we, contents: t, n: e };
121
+ }
122
+ function Hr(e) {
123
+ return us(Number.NEGATIVE_INFINITY, e);
124
+ }
125
+ var G = { type: Le };
126
+ function gt(e) {
127
+ return { type: ye, parts: e };
128
+ }
129
+ function C(e, t = {}) {
130
+ return dt(t.expandedStates), { type: Te, id: t.id, contents: e, break: !!t.shouldBreak, expandedStates: t.expandedStates };
131
+ }
132
+ function $(e, t = "", r = {}) {
133
+ return { type: Ee, breakContents: e, flatContents: t, groupId: r.groupId };
134
+ }
135
+ function Fr(e, t) {
136
+ return { type: xe, contents: e, groupId: t.groupId, negate: t.negate };
137
+ }
138
+ function R(e, t) {
139
+ let r = [];
140
+ for (let n = 0; n < t.length; n++) n !== 0 && r.push(e), r.push(t[n]);
141
+ return r;
142
+ }
143
+ var S = { type: z }, y = { type: z, soft: true }, ps = { type: z, hard: true }, k = [ps, G], hs = { type: z, hard: true, literal: true }, Mr = [hs, G];
144
+ var Vr = Object.freeze({ character: "'", codePoint: 39 }), Ur = Object.freeze({ character: '"', codePoint: 34 }), ms = Object.freeze({ preferred: Vr, alternate: Ur }), fs = Object.freeze({ preferred: Ur, alternate: Vr });
145
+ function Wr(e, t) {
146
+ let { preferred: r, alternate: n } = t === true || t === "'" ? ms : fs, { length: i } = e, s = 0, a = 0;
147
+ for (let o = 0; o < i; o++) {
148
+ let l = e.charCodeAt(o);
149
+ l === r.codePoint ? s++ : l === n.codePoint && a++;
150
+ }
151
+ return (s > a ? n : r).character;
152
+ }
153
+ function $t(e) {
154
+ if (typeof e != "string") throw new TypeError("Expected a string");
155
+ return e.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
156
+ }
157
+ var jt = (_a2 = class {
158
+ constructor(t) {
159
+ __privateAdd(this, _jt_instances);
160
+ __privateAdd(this, _e2);
161
+ __privateSet(this, _e2, new Set(t));
162
+ }
163
+ getLeadingWhitespaceCount(t) {
164
+ let r = __privateGet(this, _e2), n = 0;
165
+ for (let i = 0; i < t.length && r.has(t.charAt(i)); i++) n++;
166
+ return n;
167
+ }
168
+ getTrailingWhitespaceCount(t) {
169
+ let r = __privateGet(this, _e2), n = 0;
170
+ for (let i = t.length - 1; i >= 0 && r.has(t.charAt(i)); i--) n++;
171
+ return n;
172
+ }
173
+ getLeadingWhitespace(t) {
174
+ let r = this.getLeadingWhitespaceCount(t);
175
+ return t.slice(0, r);
176
+ }
177
+ getTrailingWhitespace(t) {
178
+ let r = this.getTrailingWhitespaceCount(t);
179
+ return t.slice(t.length - r);
180
+ }
181
+ hasLeadingWhitespace(t) {
182
+ return __privateGet(this, _e2).has(t.charAt(0));
183
+ }
184
+ hasTrailingWhitespace(t) {
185
+ return __privateGet(this, _e2).has(I(0, t, -1));
186
+ }
187
+ trimStart(t) {
188
+ let r = this.getLeadingWhitespaceCount(t);
189
+ return t.slice(r);
190
+ }
191
+ trimEnd(t) {
192
+ let r = this.getTrailingWhitespaceCount(t);
193
+ return t.slice(0, t.length - r);
194
+ }
195
+ trim(t) {
196
+ return this.trimEnd(this.trimStart(t));
197
+ }
198
+ split(t, r = false) {
199
+ let n = `[${$t([...__privateGet(this, _e2)].join(""))}]+`, i = new RegExp(r ? `(${n})` : n);
200
+ return t.split(i);
201
+ }
202
+ hasWhitespaceCharacter(t) {
203
+ let r = __privateGet(this, _e2);
204
+ return Array.prototype.some.call(t, (n) => r.has(n));
205
+ }
206
+ hasNonWhitespaceCharacter(t) {
207
+ let r = __privateGet(this, _e2);
208
+ return Array.prototype.some.call(t, (n) => !r.has(n));
209
+ }
210
+ isWhitespaceOnly(t) {
211
+ let r = __privateGet(this, _e2);
212
+ return Array.prototype.every.call(t, (n) => r.has(n));
213
+ }
214
+ dedentString(t) {
215
+ let r = __privateMethod(this, _jt_instances, t_fn).call(this, t);
216
+ return r === 0 ? t : t.split(`
217
+ `).map((n) => n.slice(r)).join(`
218
+ `);
219
+ }
220
+ }, _e2 = new WeakMap(), _jt_instances = new WeakSet(), t_fn = function(t) {
221
+ let r = Number.POSITIVE_INFINITY;
222
+ for (let n of t.split(`
223
+ `)) {
224
+ if (n.length === 0) continue;
225
+ let i = this.getLeadingWhitespaceCount(n);
226
+ if (i === 0) return 0;
227
+ n.length !== i && i < r && (r = i);
228
+ }
229
+ return r === Number.POSITIVE_INFINITY ? 0 : r;
230
+ }, _a2), zr = jt;
231
+ var ds = [" ", `
232
+ `, "\f", "\r", " "], gs = new zr(ds), P = gs;
233
+ var Yt = class extends Error {
234
+ constructor(t, r, n = "type") {
235
+ super(`Unexpected ${r} node ${n}: ${JSON.stringify(t[n])}.`);
236
+ __publicField(this, "name", "UnexpectedNodeError");
237
+ this.node = t;
238
+ }
239
+ }, Gr = Yt;
240
+ function j(e, t = true) {
241
+ return [A([y, e]), t ? y : ""];
242
+ }
243
+ function q(e, t) {
244
+ let r = e.type === "NGRoot" ? e.node.type === "NGMicrosyntax" && e.node.body.length === 1 && e.node.body[0].type === "NGMicrosyntaxExpression" ? e.node.body[0].expression : e.node : e.type === "JsExpressionRoot" ? e.node : e;
245
+ return r && (r.type === "ObjectExpression" || r.type === "ArrayExpression" || (t.parser === "__vue_expression" || t.parser === "__vue_ts_expression" || t.parser === "__ng_binding" || t.parser === "__ng_directive") && (r.type === "TemplateLiteral" || r.type === "StringLiteral"));
246
+ }
247
+ async function E(e, t, r, n) {
248
+ r = { __isInHtmlAttribute: true, __embeddedInHtml: true, ...r };
249
+ let i = true;
250
+ n && (r.__onHtmlBindingRoot = (a, o) => {
251
+ i = n(a, o);
252
+ });
253
+ let s = await t(e, r, t);
254
+ return i ? C(s) : j(s);
255
+ }
256
+ function _s(e, t, r, n) {
257
+ let { node: i } = r, s = n.originalText.slice(i.sourceSpan.start.offset, i.sourceSpan.end.offset);
258
+ return /^\s*$/.test(s) ? "" : E(s, e, { parser: "__ng_directive", __isInHtmlAttribute: false }, q);
259
+ }
260
+ var $r = _s;
261
+ var Ss = Object.hasOwn ?? Function.prototype.call.bind(Object.prototype.hasOwnProperty), se = Ss;
262
+ var vs = Array.prototype.toReversed ?? function() {
263
+ return [...this].reverse();
264
+ }, Cs = ke("toReversed", function() {
265
+ if (Array.isArray(this)) return vs;
266
+ }), jr = Cs;
267
+ function ks() {
268
+ var _a3, _b, _c, _d, _e3;
269
+ let e = globalThis, t = (_a3 = e.process) == null ? void 0 : _a3.platform;
270
+ if (typeof t == "string") return t.startsWith("win");
271
+ let r = (_c = (_b = e.Deno) == null ? void 0 : _b.build) == null ? void 0 : _c.os;
272
+ return typeof r == "string" ? r === "windows" : ((_e3 = (_d = e.navigator) == null ? void 0 : _d.platform) == null ? void 0 : _e3.startsWith("Win")) ?? false;
273
+ }
274
+ var bs = ks();
275
+ function Yr(e) {
276
+ if (e = e instanceof URL ? e : new URL(e), e.protocol !== "file:") throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);
277
+ return e;
278
+ }
279
+ function ws(e) {
280
+ return e = Yr(e), decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g, "%25"));
281
+ }
282
+ function Ts(e) {
283
+ e = Yr(e);
284
+ let t = decodeURIComponent(e.pathname.replace(/\//g, "\\").replace(/%(?![0-9A-Fa-f]{2})/g, "%25")).replace(/^\\*([A-Za-z]:)(\\|$)/, "$1\\");
285
+ return e.hostname !== "" && (t = `\\\\${e.hostname}${t}`), t;
286
+ }
287
+ function Kt(e) {
288
+ return bs ? Ts(e) : ws(e);
289
+ }
290
+ var Kr = (e) => String(e).split(/[/\\]/).pop(), Qr = (e) => String(e).startsWith("file:");
291
+ function ys(e) {
292
+ return Array.isArray(e) && e.length > 0;
293
+ }
294
+ var X = ys;
295
+ function Xr(e, t) {
296
+ if (!t) return;
297
+ let r = Kr(t).toLowerCase();
298
+ return e.find(({ filenames: n }) => n == null ? void 0 : n.some((i) => i.toLowerCase() === r)) ?? e.find(({ extensions: n }) => n == null ? void 0 : n.some((i) => r.endsWith(i)));
299
+ }
300
+ function Es(e, t) {
301
+ if (t) return e.find(({ name: r }) => r.toLowerCase() === t) ?? e.find(({ aliases: r }) => r == null ? void 0 : r.includes(t)) ?? e.find(({ extensions: r }) => r == null ? void 0 : r.includes(`.${t}`));
302
+ }
303
+ var xs = void 0;
304
+ function Jr(e, t) {
305
+ if (t) {
306
+ if (Qr(t)) try {
307
+ t = Kt(t);
308
+ } catch {
309
+ return;
310
+ }
311
+ if (typeof t == "string") return e.find(({ isSupported: r }) => r == null ? void 0 : r({ filepath: t }));
312
+ }
313
+ }
314
+ function Ls(e, t) {
315
+ var _a3;
316
+ let r = jr(0, e.plugins).flatMap((i) => i.languages ?? []);
317
+ return (_a3 = Es(r, t.language) ?? Xr(r, t.physicalFile) ?? Xr(r, t.file) ?? Jr(r, t.physicalFile) ?? Jr(r, t.file) ?? (xs == null ? void 0 : xs(r, t.physicalFile))) == null ? void 0 : _a3.parsers[0];
318
+ }
319
+ var _t = Ls;
320
+ var St = Symbol.for("PRETTIER_IS_FRONT_MATTER");
321
+ function As(e) {
322
+ return !!(e == null ? void 0 : e[St]);
323
+ }
324
+ var ae = As;
325
+ function Ps(e) {
326
+ return T(0, e, /[^\n]/g, " ");
327
+ }
328
+ var vt = Ps;
329
+ var Ue = 3;
330
+ function Ns(e) {
331
+ let t = e.slice(0, Ue);
332
+ if (t !== "---" && t !== "+++") return;
333
+ let r = e.indexOf(`
334
+ `, Ue);
335
+ if (r === -1) return;
336
+ let n = e.slice(Ue, r).trim(), i = e.indexOf(`
337
+ ${t}`, r), s = n;
338
+ if (s || (s = t === "+++" ? "toml" : "yaml"), i === -1 && t === "---" && s === "yaml" && (i = e.indexOf(`
339
+ ...`, r)), i === -1) return;
340
+ let a = i + 1 + Ue, o = e.charAt(a + 1);
341
+ if (!/\s?/.test(o)) return;
342
+ let l = e.slice(0, a), c;
343
+ return { language: s, explicitLanguage: n || null, value: e.slice(r + 1, i), startDelimiter: t, endDelimiter: l.slice(-Ue), raw: l, start: { line: 1, column: 0, index: 0 }, end: { index: l.length, get line() {
344
+ return c ?? (c = l.split(`
345
+ `)), c.length;
346
+ }, get column() {
347
+ return c ?? (c = l.split(`
348
+ `)), I(0, c, -1).length;
349
+ } }, [St]: true };
350
+ }
351
+ function Ds(e) {
352
+ let t = Ns(e);
353
+ return t ? { frontMatter: t, get content() {
354
+ let { raw: r } = t;
355
+ return vt(r) + e.slice(r.length);
356
+ } } : { content: e };
357
+ }
358
+ var Qt = Ds;
359
+ var Zr = "inline", Xt = { area: "none", base: "none", basefont: "none", datalist: "none", head: "none", link: "none", meta: "none", noembed: "none", noframes: "none", param: "block", rp: "none", script: "block", style: "none", template: "inline", title: "none", html: "block", body: "block", address: "block", blockquote: "block", center: "block", dialog: "block", div: "block", figure: "block", figcaption: "block", footer: "block", form: "block", header: "block", hr: "block", legend: "block", listing: "block", main: "block", p: "block", plaintext: "block", pre: "block", search: "block", xmp: "block", slot: "contents", ruby: "ruby", rt: "ruby-text", article: "block", aside: "block", h1: "block", h2: "block", h3: "block", h4: "block", h5: "block", h6: "block", hgroup: "block", nav: "block", section: "block", dir: "block", dd: "block", dl: "block", dt: "block", menu: "block", ol: "block", ul: "block", li: "list-item", table: "table", caption: "table-caption", colgroup: "table-column-group", col: "table-column", thead: "table-header-group", tbody: "table-row-group", tfoot: "table-footer-group", tr: "table-row", td: "table-cell", th: "table-cell", input: "inline-block", button: "inline-block", fieldset: "block", details: "block", summary: "block", marquee: "inline-block", option: "block", optgroup: "block", select: "inline-block", source: "block", track: "block", meter: "inline-block", progress: "inline-block", object: "inline-block", video: "inline-block", audio: "inline-block" }, en = "normal", Jt = { listing: "pre", plaintext: "pre", pre: "pre", xmp: "pre", nobr: "nowrap", table: "initial", textarea: "pre-wrap" };
360
+ function Is(e) {
361
+ return e.kind === "element" && !e.hasExplicitNamespace && !["html", "svg"].includes(e.namespace);
362
+ }
363
+ var oe = Is;
364
+ var Rs = (e) => T(0, e, /^[\t\f\r ]*\n/g, ""), Zt = (e) => Rs(P.trimEnd(e)), tn = (e) => {
365
+ let t = e, r = P.getLeadingWhitespace(t);
366
+ r && (t = t.slice(r.length));
367
+ let n = P.getTrailingWhitespace(t);
368
+ return n && (t = t.slice(0, -n.length)), { leadingWhitespace: r, trailingWhitespace: n, text: t };
369
+ };
370
+ function Ct(e, t) {
371
+ return !!(e.kind === "ieConditionalComment" && e.lastChild && !e.lastChild.isSelfClosing && !e.lastChild.endSourceSpan || e.kind === "ieConditionalComment" && !e.complete || Y(e) && e.children.some((r) => r.kind !== "text" && r.kind !== "interpolation") || wt(e, t) && !O(e, t) && e.kind !== "interpolation");
372
+ }
373
+ function le(e) {
374
+ return e.kind === "attribute" || !e.parent || !e.prev ? false : Os(e.prev);
375
+ }
376
+ function Os(e) {
377
+ return e.kind === "comment" && e.value.trim() === "prettier-ignore";
378
+ }
379
+ function N(e) {
380
+ return e.kind === "text" || e.kind === "comment";
381
+ }
382
+ function O(e, t) {
383
+ return e.kind === "element" && (e.fullName === "script" || e.fullName === "style" || e.fullName === "svg:style" || e.fullName === "svg:script" || e.fullName === "mj-style" && t.parser === "mjml" || oe(e) && (e.name === "script" || e.name === "style"));
384
+ }
385
+ function rn(e, t) {
386
+ return e.children && !O(e, t);
387
+ }
388
+ function nn(e, t) {
389
+ return O(e, t) || e.kind === "interpolation" || er(e);
390
+ }
391
+ function er(e) {
392
+ return dn(e).startsWith("pre");
393
+ }
394
+ function sn(e, t) {
395
+ var _a3, _b;
396
+ let r = n();
397
+ if (r && !e.prev && ((_b = (_a3 = e.parent) == null ? void 0 : _a3.tagDefinition) == null ? void 0 : _b.ignoreFirstLf)) return e.kind === "interpolation";
398
+ return r;
399
+ function n() {
400
+ return ae(e) || e.kind === "angularControlFlowBlock" ? false : (e.kind === "text" || e.kind === "interpolation") && e.prev && (e.prev.kind === "text" || e.prev.kind === "interpolation") ? true : !e.parent || e.parent.cssDisplay === "none" ? false : Y(e.parent) ? true : !(!e.prev && (e.parent.kind === "root" || Y(e) && e.parent || O(e.parent, t) || Ge(e.parent, t) || !Vs(e.parent.cssDisplay)) || e.prev && !zs(e.prev.cssDisplay));
401
+ }
402
+ }
403
+ function an(e, t) {
404
+ return ae(e) || e.kind === "angularControlFlowBlock" ? false : (e.kind === "text" || e.kind === "interpolation") && e.next && (e.next.kind === "text" || e.next.kind === "interpolation") ? true : !e.parent || e.parent.cssDisplay === "none" ? false : Y(e.parent) ? true : !(!e.next && (e.parent.kind === "root" || Y(e) && e.parent || O(e.parent, t) || Ge(e.parent, t) || !Us(e.parent.cssDisplay)) || e.next && !Ws(e.next.cssDisplay));
405
+ }
406
+ function on(e, t) {
407
+ return Gs(e.cssDisplay) && !O(e, t);
408
+ }
409
+ function We(e) {
410
+ return ae(e) || e.next && e.sourceSpan.end && e.sourceSpan.end.line + 1 < e.next.sourceSpan.start.line;
411
+ }
412
+ function ln(e) {
413
+ return tr(e) || e.kind === "element" && e.children.length > 0 && (["body", "script", "style"].includes(e.name) || e.children.some((t) => Bs(t))) || e.firstChild && e.firstChild === e.lastChild && e.firstChild.kind !== "text" && un(e.firstChild) && (!e.lastChild.isTrailingSpaceSensitive || pn(e.lastChild));
414
+ }
415
+ function tr(e) {
416
+ return e.kind === "element" && e.children.length > 0 && (["html", "head", "ul", "ol", "select"].includes(e.name) || e.cssDisplay.startsWith("table") && e.cssDisplay !== "table-cell");
417
+ }
418
+ function kt(e) {
419
+ return hn(e) || e.prev && Ms(e.prev) || cn(e);
420
+ }
421
+ function Ms(e) {
422
+ return hn(e) || e.kind === "element" && e.fullName === "br" || cn(e);
423
+ }
424
+ function cn(e) {
425
+ return un(e) && pn(e);
426
+ }
427
+ function un(e) {
428
+ return e.hasLeadingSpaces && (e.prev ? e.prev.sourceSpan.end.line < e.sourceSpan.start.line : e.parent.kind === "root" || e.parent.startSourceSpan.end.line < e.sourceSpan.start.line);
429
+ }
430
+ function pn(e) {
431
+ return e.hasTrailingSpaces && (e.next ? e.next.sourceSpan.start.line > e.sourceSpan.end.line : e.parent.kind === "root" || e.parent.endSourceSpan && e.parent.endSourceSpan.start.line > e.sourceSpan.end.line);
432
+ }
433
+ function hn(e) {
434
+ switch (e.kind) {
435
+ case "ieConditionalComment":
436
+ case "comment":
437
+ case "directive":
438
+ return true;
439
+ case "element":
440
+ return ["script", "select"].includes(e.name);
441
+ }
442
+ return false;
443
+ }
444
+ function bt(e) {
445
+ return e.lastChild ? bt(e.lastChild) : e;
446
+ }
447
+ function Bs(e) {
448
+ var _a3;
449
+ return (_a3 = e.children) == null ? void 0 : _a3.some((t) => t.kind !== "text");
450
+ }
451
+ function mn(e) {
452
+ if (e) switch (e) {
453
+ case "module":
454
+ case "text/javascript":
455
+ case "text/babel":
456
+ case "text/jsx":
457
+ case "application/javascript":
458
+ return "babel";
459
+ case "application/x-typescript":
460
+ return "typescript";
461
+ case "text/markdown":
462
+ return "markdown";
463
+ case "text/html":
464
+ return "html";
465
+ case "text/x-handlebars-template":
466
+ return "glimmer";
467
+ default:
468
+ if (e.endsWith("json") || e.endsWith("importmap") || e === "speculationrules") return "json";
469
+ }
470
+ }
471
+ function qs(e, t) {
472
+ let { name: r, attrMap: n } = e;
473
+ if (r !== "script" || se(n, "src")) return;
474
+ let { type: i, lang: s } = e.attrMap;
475
+ return !s && !i ? "babel" : _t(t, { language: s }) ?? mn(i);
476
+ }
477
+ function Hs(e, t) {
478
+ if (!wt(e, t)) return;
479
+ let { attrMap: r } = e;
480
+ if (se(r, "src")) return;
481
+ let { type: n, lang: i } = r;
482
+ return _t(t, { language: i }) ?? mn(n);
483
+ }
484
+ function Fs(e, t) {
485
+ if (e.name === "style") {
486
+ let { lang: r } = e.attrMap;
487
+ return r ? _t(t, { language: r }) : "css";
488
+ }
489
+ if (e.name === "mj-style" && t.parser === "mjml") return "css";
490
+ }
491
+ function rr(e, t) {
492
+ return qs(e, t) ?? Fs(e, t) ?? Hs(e, t);
493
+ }
494
+ function ze(e) {
495
+ return e === "block" || e === "list-item" || e.startsWith("table");
496
+ }
497
+ function Vs(e) {
498
+ return !ze(e) && e !== "inline-block";
499
+ }
500
+ function Us(e) {
501
+ return !ze(e) && e !== "inline-block";
502
+ }
503
+ function Ws(e) {
504
+ return !ze(e);
505
+ }
506
+ function zs(e) {
507
+ return !ze(e);
508
+ }
509
+ function Gs(e) {
510
+ return !ze(e) && e !== "inline-block";
511
+ }
512
+ function Y(e) {
513
+ return dn(e).startsWith("pre");
514
+ }
515
+ function $s(e, t) {
516
+ let r = e;
517
+ for (; r; ) {
518
+ if (t(r)) return true;
519
+ r = r.parent;
520
+ }
521
+ return false;
522
+ }
523
+ function fn(e, t) {
524
+ var _a3;
525
+ if (ce(e, t)) return "block";
526
+ if (((_a3 = e.prev) == null ? void 0 : _a3.kind) === "comment") {
527
+ let n = e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/);
528
+ if (n) return n[1];
529
+ }
530
+ let r = false;
531
+ if (e.kind === "element" && e.namespace === "svg") if ($s(e, (n) => n.fullName === "svg:foreignObject")) r = true;
532
+ else return e.name === "svg" ? "inline-block" : "block";
533
+ switch (t.htmlWhitespaceSensitivity) {
534
+ case "strict":
535
+ return "inline";
536
+ case "ignore":
537
+ return "block";
538
+ default:
539
+ if (e.kind === "element" && (!e.namespace || r || oe(e)) && se(Xt, e.name)) return Xt[e.name];
540
+ }
541
+ return Zr;
542
+ }
543
+ function dn(e) {
544
+ return e.kind === "element" && (!e.namespace || oe(e)) && se(Jt, e.name) ? Jt[e.name] : en;
545
+ }
546
+ function nr(e) {
547
+ return T(0, T(0, e, "&apos;", "'"), "&quot;", '"');
548
+ }
549
+ function w(e) {
550
+ return nr(e.value);
551
+ }
552
+ var js = /* @__PURE__ */ new Set(["template", "style", "script"]);
553
+ function Ge(e, t) {
554
+ return ce(e, t) && !js.has(e.fullName);
555
+ }
556
+ function ce(e, t) {
557
+ return t.parser === "vue" && e.kind === "element" && e.parent.kind === "root" && e.fullName.toLowerCase() !== "html";
558
+ }
559
+ function wt(e, t) {
560
+ return ce(e, t) && (Ge(e, t) || e.attrMap.lang && e.attrMap.lang !== "html");
561
+ }
562
+ function gn(e) {
563
+ let t = e.fullName;
564
+ return t.charAt(0) === "#" || t === "slot-scope" || t === "v-slot" || t.startsWith("v-slot:");
565
+ }
566
+ function _n(e, t) {
567
+ let r = e.parent;
568
+ if (!ce(r, t)) return false;
569
+ let n = r.fullName, i = e.fullName;
570
+ return n === "script" && i === "setup" || n === "style" && i === "vars";
571
+ }
572
+ function Tt(e, t = e.value) {
573
+ return e.parent.isWhitespaceSensitive ? e.parent.isIndentationSensitive ? L(t) : L(P.dedentString(Zt(t)), k) : R(S, P.split(t));
574
+ }
575
+ function yt(e, t) {
576
+ return ce(e, t) && e.name === "script";
577
+ }
578
+ function Ys(e) {
579
+ let { valueSpan: t, value: r } = e;
580
+ return t.end.offset - t.start.offset === r.length + 2;
581
+ }
582
+ function Et(e, t) {
583
+ if (Ys(e)) return false;
584
+ let { value: r } = e;
585
+ return /^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/.test(r) || t.parser === "lwc" && r.startsWith("{") && r.endsWith("}");
586
+ }
587
+ var Sn = /\{\{(.+?)\}\}/s, vn = ({ node: { value: e } }) => Sn.test(e);
588
+ async function Cn(e, t, r) {
589
+ let n = w(r.node), i = [];
590
+ for (let [s, a] of n.split(Sn).entries()) if (s % 2 === 0) i.push(L(a));
591
+ else try {
592
+ i.push(C(["{{", A([S, await E(a, e, { parser: "__ng_interpolation", __isInHtmlInterpolation: true })]), S, "}}"]));
593
+ } catch {
594
+ i.push("{{", L(a), "}}");
595
+ }
596
+ return i;
597
+ }
598
+ var ir = (e) => (t, r, n) => E(w(n.node), t, { parser: e }, q), Ks = [{ test(e) {
599
+ let t = e.node.fullName;
600
+ return t.startsWith("(") && t.endsWith(")") || t.startsWith("on-");
601
+ }, print: ir("__ng_action") }, { test(e) {
602
+ let t = e.node.fullName;
603
+ return t.startsWith("[") && t.endsWith("]") || /^bind(?:on)?-/.test(t) || /^ng-(?:if|show|hide|class|style)$/.test(t);
604
+ }, print: ir("__ng_binding") }, { test: (e) => e.node.fullName.startsWith("*"), print: ir("__ng_directive") }, { test: (e) => /^i18n(?:-.+)?$/.test(e.node.fullName), print: Qs }, { test: vn, print: Cn }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "angular" && e(r), print: t }));
605
+ function Qs(e, t, { node: r }) {
606
+ let n = w(r);
607
+ return j(gt(Tt(r, n.trim())), !n.includes("@@"));
608
+ }
609
+ var kn = Ks;
610
+ var bn = ({ node: e }, t) => !t.parentParser && e.fullName === "class" && !e.value.includes("{{"), wn = (e, t, r) => T(0, w(r.node).trim(), /\s+/g, " ");
611
+ var sr = ["onabort", "onafterprint", "onauxclick", "onbeforeinput", "onbeforematch", "onbeforeprint", "onbeforetoggle", "onbeforeunload", "onblur", "oncancel", "oncanplay", "oncanplaythrough", "onchange", "onclick", "onclose", "oncommand", "oncontextlost", "oncontextmenu", "oncontextrestored", "oncopy", "oncuechange", "oncut", "ondblclick", "ondrag", "ondragend", "ondragenter", "ondragleave", "ondragover", "ondragstart", "ondrop", "ondurationchange", "onemptied", "onended", "onerror", "onfocus", "onformdata", "onhashchange", "oninput", "oninvalid", "onkeydown", "onkeypress", "onkeyup", "onlanguagechange", "onload", "onloadeddata", "onloadedmetadata", "onloadstart", "onmessage", "onmessageerror", "onmousedown", "onmouseenter", "onmouseleave", "onmousemove", "onmouseout", "onmouseover", "onmouseup", "onoffline", "ononline", "onpagehide", "onpagereveal", "onpageshow", "onpageswap", "onpaste", "onpause", "onplay", "onplaying", "onpopstate", "onprogress", "onratechange", "onrejectionhandled", "onreset", "onresize", "onscroll", "onscrollend", "onsecuritypolicyviolation", "onseeked", "onseeking", "onselect", "onslotchange", "onstalled", "onstorage", "onsubmit", "onsuspend", "ontimeupdate", "ontoggle", "onunhandledrejection", "onunload", "onvolumechange", "onwaiting", "onwheel"];
612
+ var Js = new Set(sr), Tn = ({ node: e }, t) => Js.has(e.fullName) && !t.parentParser && !e.value.includes("{{"), yn = (e, t, r) => E(w(r.node), e, { parser: "babel", __isHtmlInlineEventHandler: true }, () => false);
613
+ function Zs(e) {
614
+ let t = [];
615
+ for (let r of e.split(";")) {
616
+ if (r = P.trim(r), !r) continue;
617
+ let [n, ...i] = P.split(r);
618
+ t.push({ name: n, value: i });
619
+ }
620
+ return t;
621
+ }
622
+ var En = Zs;
623
+ var xn = ({ node: e }, t) => e.fullName === "allow" && !t.parentParser && e.parent.fullName === "iframe" && !e.value.includes("{{");
624
+ function Ln(e, t, r) {
625
+ let { node: n } = r, i = En(w(n));
626
+ return i.length === 0 ? [""] : j(i.map(({ name: s, value: a }, o) => [[s, ...a].join(" "), o === i.length - 1 ? $(";") : [";", S]]));
627
+ }
628
+ function An(e) {
629
+ return e === " " || e === `
630
+ ` || e === "\f" || e === "\r" || e === " ";
631
+ }
632
+ var ea = /^[ \t\n\r\u000c]+/, ta = /^[, \t\n\r\u000c]+/, ra = /^[^ \t\n\r\u000c]+/, na = /[,]+$/, Pn = /^\d+$/, ia = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;
633
+ function sa(e) {
634
+ let t = e.length, r, n, i, s, a, o = 0, l;
635
+ function c(h) {
636
+ let f, g = h.exec(e.substring(o));
637
+ if (g) return [f] = g, o += f.length, f;
638
+ }
639
+ let u = [];
640
+ for (; ; ) {
641
+ if (c(ta), o >= t) {
642
+ if (u.length === 0) throw new Error("Must contain one or more image candidate strings.");
643
+ return u;
644
+ }
645
+ l = o, r = c(ra), n = [], r.slice(-1) === "," ? (r = r.replace(na, ""), _()) : d();
646
+ }
647
+ function d() {
648
+ for (c(ea), i = "", s = "in descriptor"; ; ) {
649
+ if (a = e.charAt(o), s === "in descriptor") if (An(a)) i && (n.push(i), i = "", s = "after descriptor");
650
+ else if (a === ",") {
651
+ o += 1, i && n.push(i), _();
652
+ return;
653
+ } else if (a === "(") i += a, s = "in parens";
654
+ else if (a === "") {
655
+ i && n.push(i), _();
656
+ return;
657
+ } else i += a;
658
+ else if (s === "in parens") if (a === ")") i += a, s = "in descriptor";
659
+ else if (a === "") {
660
+ n.push(i), _();
661
+ return;
662
+ } else i += a;
663
+ else if (s === "after descriptor" && !An(a)) if (a === "") {
664
+ _();
665
+ return;
666
+ } else s = "in descriptor", o -= 1;
667
+ o += 1;
668
+ }
669
+ }
670
+ function _() {
671
+ let h = false, f, g, v, W, ie = {}, Q, at, Ce, Be, Ut;
672
+ for (W = 0; W < n.length; W++) Q = n[W], at = Q[Q.length - 1], Ce = Q.substring(0, Q.length - 1), Be = parseInt(Ce, 10), Ut = parseFloat(Ce), Pn.test(Ce) && at === "w" ? ((f || g) && (h = true), Be === 0 ? h = true : f = Be) : ia.test(Ce) && at === "x" ? ((f || g || v) && (h = true), Ut < 0 ? h = true : g = Ut) : Pn.test(Ce) && at === "h" ? ((v || g) && (h = true), Be === 0 ? h = true : v = Be) : h = true;
673
+ if (!h) ie.source = { value: r, startOffset: l }, f && (ie.width = { value: f }), g && (ie.density = { value: g }), v && (ie.height = { value: v }), u.push(ie);
674
+ else throw new Error(`Invalid srcset descriptor found in "${e}" at "${Q}".`);
675
+ }
676
+ }
677
+ var Nn = sa;
678
+ var Dn = (e) => e.node.fullName === "srcset" && (e.parent.fullName === "img" || e.parent.fullName === "source"), In = { width: "w", height: "h", density: "x" }, aa = Object.keys(In);
679
+ function Rn(e, t, r) {
680
+ let n = w(r.node), i = Nn(n), s = aa.filter((h) => i.some((f) => se(f, h)));
681
+ if (s.length > 1) throw new Error("Mixed descriptor in srcset is not supported");
682
+ let [a] = s, o = In[a], l = i.map((h) => h.source.value), c = Math.max(...l.map((h) => h.length)), u = i.map((h) => h[a] ? String(h[a].value) : ""), d = u.map((h) => {
683
+ let f = h.indexOf(".");
684
+ return f === -1 ? h.length : f;
685
+ }), _ = Math.max(...d);
686
+ return j(R([",", S], l.map((h, f) => {
687
+ let g = [h], v = u[f];
688
+ if (v) {
689
+ let W = c - h.length + 1, ie = _ - d[f], Q = " ".repeat(W + ie);
690
+ g.push($(Q, " "), v + o);
691
+ }
692
+ return g;
693
+ })));
694
+ }
695
+ var On = ({ node: e }, t) => e.fullName === "style" && !t.parentParser && !e.value.includes("{{"), Mn = async (e, t, r) => j(await e(w(r.node), { parser: "css", __isHTMLStyleAttribute: true }));
696
+ var oa = /* @__PURE__ */ new WeakMap();
697
+ function la(e, t) {
698
+ return mt(oa, e.root, (r) => r.children.some((n) => yt(n, t) && ["ts", "typescript"].includes(n.attrMap.lang)));
699
+ }
700
+ var H = la;
701
+ function Bn(e, t, r) {
702
+ let n = w(r.node);
703
+ return E(`type T<${n}> = any`, e, { parser: "babel-ts", __isEmbeddedTypescriptGenericParameters: true }, q);
704
+ }
705
+ function qn(e, t, r, n) {
706
+ let i = w(r.node), s = H(r, n) ? "babel-ts" : "babel";
707
+ return E(`function _(${i}) {}`, e, { parser: s, __isVueBindings: true });
708
+ }
709
+ async function Hn(e, t, r, n) {
710
+ let i = w(r.node), { left: s, operator: a, right: o } = ca(i), l = H(r, n);
711
+ return [C(await E(`function _(${s}) {}`, e, { parser: l ? "babel-ts" : "babel", __isVueForBindingLeft: true })), " ", a, " ", await E(o, e, { parser: l ? "__ts_expression" : "__js_expression" })];
712
+ }
713
+ function ca(e) {
714
+ let t = /(.*?)\s+(in|of)\s+(.*)/s, r = e.match(t);
715
+ if (!r) return;
716
+ let n = { for: r[3].trim() };
717
+ if (!n.for) return;
718
+ let i = /,([^,\]}]*)(?:,([^,\]}]*))?$/, s = /^\(|\)$/g, a = T(0, r[1].trim(), s, ""), o = a.match(i);
719
+ o ? (n.alias = a.replace(i, ""), n.iterator1 = o[1].trim(), o[2] && (n.iterator2 = o[2].trim())) : n.alias = a;
720
+ let l = [n.alias, n.iterator1, n.iterator2];
721
+ if (!l.some((c, u) => !c && (u === 0 || l.slice(u + 1).some(Boolean)))) return { left: l.filter(Boolean).join(","), operator: r[2], right: n.for };
722
+ }
723
+ var ua = [{ test: (e) => e.node.fullName === "v-for", print: Hn }, { test: (e, t) => e.node.fullName === "generic" && yt(e.parent, t), print: Bn }, { test: ({ node: e }, t) => gn(e) || _n(e, t), print: qn }, { test(e) {
724
+ let t = e.node.fullName;
725
+ return t.startsWith("@") || t.startsWith("v-on:");
726
+ }, print: pa }, { test(e) {
727
+ let t = e.node.fullName;
728
+ return t.startsWith(":") || t.startsWith(".") || t.startsWith("v-bind:");
729
+ }, print: ha }, { test: (e) => e.node.fullName.startsWith("v-"), print: Fn }].map(({ test: e, print: t }) => ({ test: (r, n) => n.parser === "vue" && e(r, n), print: t }));
730
+ async function pa(e, t, r, n) {
731
+ var _a3;
732
+ try {
733
+ return await Fn(e, t, r, n);
734
+ } catch (a) {
735
+ if (((_a3 = a.cause) == null ? void 0 : _a3.code) !== "BABEL_PARSER_SYNTAX_ERROR") throw a;
736
+ }
737
+ let i = w(r.node), s = H(r, n) ? "__vue_ts_event_binding" : "__vue_event_binding";
738
+ return E(i, e, { parser: s }, q);
739
+ }
740
+ function ha(e, t, r, n) {
741
+ let i = w(r.node), s = H(r, n) ? "__vue_ts_expression" : "__vue_expression";
742
+ return E(i, e, { parser: s }, q);
743
+ }
744
+ function Fn(e, t, r, n) {
745
+ let i = w(r.node), s = H(r, n) ? "__ts_expression" : "__js_expression";
746
+ return E(i, e, { parser: s }, q);
747
+ }
748
+ var Vn = ua;
749
+ var ma = [{ test: Dn, print: Rn }, { test: On, print: Mn }, { test: Tn, print: yn }, { test: bn, print: wn }, { test: xn, print: Ln }, ...Vn, ...kn].map(({ test: e, print: t }) => ({ test: e, print: da(t) }));
750
+ function fa(e, t) {
751
+ var _a3;
752
+ let { node: r } = e, { value: n } = r;
753
+ if (n) return Et(r, t) ? [r.rawName, "=", n] : (_a3 = ma.find(({ test: i }) => i(e, t))) == null ? void 0 : _a3.print;
754
+ }
755
+ function da(e) {
756
+ return async (t, r, n, i) => {
757
+ let s = await e(t, r, n, i);
758
+ if (s) return s = Gt(s, (a) => typeof a == "string" ? T(0, a, '"', "&quot;") : a), [n.node.rawName, '="', C(s), '"'];
759
+ };
760
+ }
761
+ var Un = fa;
762
+ var F = (e) => e.sourceSpan.start.offset, J = (e) => e.sourceSpan.end.offset;
763
+ function $e(e, t) {
764
+ return [e.isSelfClosing ? "" : ga(e, t), ue(e, t)];
765
+ }
766
+ function ga(e, t) {
767
+ return e.lastChild && K(e.lastChild) ? "" : [_a(e, t), xt(e, t)];
768
+ }
769
+ function ue(e, t) {
770
+ return (e.next ? V(e.next) : he(e.parent)) ? "" : [pe(e, t), M(e, t)];
771
+ }
772
+ function _a(e, t) {
773
+ return he(e) ? pe(e.lastChild, t) : "";
774
+ }
775
+ function M(e, t) {
776
+ return K(e) ? xt(e.parent, t) : je(e) ? Lt(e.next, t) : "";
777
+ }
778
+ function xt(e, t) {
779
+ if (zn(e, t)) return "";
780
+ switch (e.kind) {
781
+ case "ieConditionalComment":
782
+ return "<!";
783
+ case "element":
784
+ if (e.hasHtmComponentClosingTag) return "<//";
785
+ default:
786
+ return `</${e.rawName}`;
787
+ }
788
+ }
789
+ function pe(e, t) {
790
+ if (zn(e, t)) return "";
791
+ switch (e.kind) {
792
+ case "ieConditionalComment":
793
+ case "ieConditionalEndComment":
794
+ return "[endif]-->";
795
+ case "ieConditionalStartComment":
796
+ return "]><!-->";
797
+ case "interpolation":
798
+ return "}}";
799
+ case "angularIcuExpression":
800
+ return "}";
801
+ case "element":
802
+ if (e.isSelfClosing) return "/>";
803
+ default:
804
+ return ">";
805
+ }
806
+ }
807
+ function zn(e, t) {
808
+ return !e.isSelfClosing && !e.endSourceSpan && (le(e) || Ct(e.parent, t));
809
+ }
810
+ function V(e) {
811
+ return e.prev && e.prev.kind !== "docType" && e.kind !== "angularControlFlowBlock" && !N(e.prev) && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
812
+ }
813
+ function he(e) {
814
+ var _a3;
815
+ return ((_a3 = e.lastChild) == null ? void 0 : _a3.isTrailingSpaceSensitive) && !e.lastChild.hasTrailingSpaces && !N(bt(e.lastChild)) && !Y(e);
816
+ }
817
+ function K(e) {
818
+ return !e.next && !e.hasTrailingSpaces && e.isTrailingSpaceSensitive && N(bt(e));
819
+ }
820
+ function je(e) {
821
+ return e.next && !N(e.next) && N(e) && e.isTrailingSpaceSensitive && !e.hasTrailingSpaces;
822
+ }
823
+ function Sa(e) {
824
+ let t = e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/s);
825
+ return t ? t[1] ? t[1].split(/\s+/) : true : false;
826
+ }
827
+ function Ye(e) {
828
+ return !e.prev && e.isLeadingSpaceSensitive && !e.hasLeadingSpaces;
829
+ }
830
+ function va(e, t, r) {
831
+ var _a3;
832
+ let { node: n } = e, { attrs: i = [], startTagComments: s = [] } = n;
833
+ if (i.length === 0 && s.length === 0) return n.isSelfClosing ? " " : "";
834
+ let a = ((_a3 = n.prev) == null ? void 0 : _a3.kind) === "comment" && Sa(n.prev.value), o = typeof a == "boolean" ? () => a : Array.isArray(a) ? (g) => a.includes(g.rawName) : () => false, l = ["attrs", "startTagComments"].filter((g) => X(n[g])), c = l.flatMap((g) => e.map(({ node: v }) => ({ loc: F(v), printed: v.kind === "attribute" && o(v) ? L(t.originalText.slice(F(v), J(v))) : r() }), g));
835
+ l.length > 1 && c.sort((g, v) => g.loc - v.loc);
836
+ let u = n.kind === "element" && n.fullName === "script" && i.length === 1 && i[0].fullName === "src" && n.children.length === 0 && s.length === 0, d = s.some((g) => g.type === "single"), h = d || t.singleAttributePerLine && i.length > 1 && !ce(n, t) ? k : S, f = [A([u ? " " : d ? k : S, R(h, c.map(({ printed: g }) => g))])];
837
+ return n.firstChild && Ye(n.firstChild) || n.isSelfClosing && he(n.parent) || u ? f.push(n.isSelfClosing ? " " : "") : f.push(t.bracketSameLine ? n.isSelfClosing ? " " : "" : n.isSelfClosing ? S : y), f;
838
+ }
839
+ function Ca(e) {
840
+ return e.firstChild && Ye(e.firstChild) ? "" : At(e);
841
+ }
842
+ function Ke(e, t, r) {
843
+ let { node: n } = e;
844
+ return [me(n, t), va(e, t, r), n.isSelfClosing ? "" : Ca(n)];
845
+ }
846
+ function me(e, t) {
847
+ return e.prev && je(e.prev) ? "" : [B(e, t), Lt(e, t)];
848
+ }
849
+ function B(e, t) {
850
+ return Ye(e) ? At(e.parent) : V(e) ? pe(e.prev, t) : "";
851
+ }
852
+ var Wn = "<!doctype";
853
+ function Lt(e, t) {
854
+ switch (e.kind) {
855
+ case "ieConditionalComment":
856
+ case "ieConditionalStartComment":
857
+ return `<!--[if ${e.condition}`;
858
+ case "ieConditionalEndComment":
859
+ return "<!--<!";
860
+ case "interpolation":
861
+ return "{{";
862
+ case "docType": {
863
+ if (e.value === "html") {
864
+ let { filepath: n } = t;
865
+ if (n && /\.html?$/.test(n)) return Wn;
866
+ }
867
+ let r = F(e);
868
+ return t.originalText.slice(r, r + Wn.length);
869
+ }
870
+ case "angularIcuExpression":
871
+ return "{";
872
+ case "element":
873
+ if (e.condition) return `<!--[if ${e.condition}]><!--><${e.rawName}`;
874
+ default:
875
+ return `<${e.rawName}`;
876
+ }
877
+ }
878
+ function At(e) {
879
+ switch (e.kind) {
880
+ case "ieConditionalComment":
881
+ return "]>";
882
+ case "element":
883
+ if (e.condition) return "><!--<![endif]-->";
884
+ default:
885
+ return ">";
886
+ }
887
+ }
888
+ function ka(e, t) {
889
+ if (!e.endSourceSpan) return "";
890
+ let r = e.startSourceSpan.end.offset;
891
+ e.firstChild && Ye(e.firstChild) && (r -= At(e).length);
892
+ let n = e.endSourceSpan.start.offset;
893
+ return e.lastChild && K(e.lastChild) ? n += xt(e, t).length : he(e) && (n -= pe(e.lastChild, t).length), t.originalText.slice(r, n);
894
+ }
895
+ var Pt = ka;
896
+ var ba = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
897
+ function wa(e, t) {
898
+ let { node: r } = e;
899
+ switch (r.kind) {
900
+ case "element":
901
+ if (O(r, t) || r.kind === "interpolation") return;
902
+ if (!r.isSelfClosing && wt(r, t)) {
903
+ let n = rr(r, t);
904
+ return n ? async (i, s) => {
905
+ let a = Pt(r, t), o = /^\s*$/.test(a), l = "";
906
+ return o || (l = await i(Zt(a), { parser: n, __embeddedInHtml: true }), o = l === ""), [B(r, t), C(Ke(e, t, s)), o ? "" : k, l, o ? "" : k, $e(r, t), M(r, t)];
907
+ } : void 0;
908
+ }
909
+ break;
910
+ case "text":
911
+ if (O(r.parent, t)) {
912
+ let n = rr(r.parent, t);
913
+ if (n) return async (i) => {
914
+ let s = n === "markdown" ? P.dedentString(r.value.replace(/^[^\S\n]*\n/, "")) : r.value, a = { parser: n, __embeddedInHtml: true };
915
+ if (t.parser === "html" && n === "babel") {
916
+ let o = "script", { attrMap: l } = r.parent;
917
+ l && (l.type === "module" || (l.type === "text/babel" || l.type === "text/jsx") && l["data-type"] === "module") && (o = "module"), a.__babelSourceType = o;
918
+ }
919
+ return [G, B(r, t), await i(s, a), M(r, t)];
920
+ };
921
+ } else if (r.parent.kind === "interpolation") return async (n) => {
922
+ let i = { __isInHtmlInterpolation: true, __embeddedInHtml: true };
923
+ return t.parser === "angular" ? i.parser = "__ng_interpolation" : t.parser === "vue" ? i.parser = H(e, t) ? "__vue_ts_expression" : "__vue_expression" : i.parser = "__js_expression", [A([S, await n(r.value, i)]), r.parent.next && V(r.parent.next) ? " " : S];
924
+ };
925
+ break;
926
+ case "attribute":
927
+ return Un(e, t);
928
+ case "angularControlFlowBlockParameters":
929
+ return ba.has(e.parent.name) ? $r : void 0;
930
+ case "angularLetDeclarationInitializer":
931
+ return (n) => E(r.value, n, { parser: "__ng_binding", __isInHtmlAttribute: false });
932
+ }
933
+ }
934
+ var Gn = wa;
935
+ var Qe = null;
936
+ function Xe(e) {
937
+ if (Qe !== null && typeof Qe.property) {
938
+ let t = Qe;
939
+ return Qe = Xe.prototype = null, t;
940
+ }
941
+ return Qe = Xe.prototype = e ?? /* @__PURE__ */ Object.create(null), new Xe();
942
+ }
943
+ var Ta = 10;
944
+ for (let e = 0; e <= Ta; e++) Xe();
945
+ function ar(e) {
946
+ return Xe(e);
947
+ }
948
+ function ya(e, t = "type") {
949
+ ar(e);
950
+ function r(n) {
951
+ let i = n[t], s = e[i];
952
+ if (!Array.isArray(s)) throw Object.assign(new Error(`Missing visitor keys for '${i}'.`), { node: n });
953
+ return s;
954
+ }
955
+ return r;
956
+ }
957
+ var $n = ya;
958
+ var Je = [["children"]], jn = { root: Je[0], element: ["attrs", "startTagComments", "children"], ieConditionalComment: Je[0], ieConditionalStartComment: [], ieConditionalEndComment: [], interpolation: Je[0], text: Je[0], docType: [], comment: [], attribute: [], startTagComment: [], cdata: [], angularControlFlowBlock: ["children", "parameters"], angularControlFlowBlockParameters: Je[0], angularControlFlowBlockParameter: [], angularLetDeclaration: ["init"], angularLetDeclarationInitializer: [], angularIcuExpression: ["cases"], angularIcuCase: ["expression"] };
959
+ var Ea = $n(jn, "kind"), Yn = Ea;
960
+ var xa = /* @__PURE__ */ new Set(["sourceSpan", "startSourceSpan", "endSourceSpan", "nameSpan", "valueSpan", "keySpan", "tagDefinition", "tokens", "valueTokens", "switchValueSourceSpan", "expSourceSpan", "valueSourceSpan"]), La = /* @__PURE__ */ new Set(["if", "else if", "for", "switch", "case"]);
961
+ function or(e, t, r) {
962
+ var _a3;
963
+ if (e.kind === "text" || e.kind === "comment") return null;
964
+ if (e.kind === "yaml" && delete t.value, e.kind === "attribute") {
965
+ let { fullName: n, value: i } = e;
966
+ n === "style" || n === "class" || n === "srcset" && (r.fullName === "img" || r.fullName === "source") || n === "allow" && r.fullName === "iframe" || n.startsWith("on") || n.startsWith("@") || n.startsWith(":") || n.startsWith(".") || n.startsWith("#") || n.startsWith("v-") || n === "vars" && r.fullName === "style" || (n === "setup" || n === "generic") && r.fullName === "script" || n === "slot-scope" || n.startsWith("(") || n.startsWith("[") || n.startsWith("*") || n.startsWith("bind") || n.startsWith("i18n") || n.startsWith("on-") || n.startsWith("ng-") || (i == null ? void 0 : i.includes("{{")) ? delete t.value : i && (t.value = T(0, i, /'|&quot;|&apos;/g, '"'));
967
+ }
968
+ if (e.kind === "docType" && (t.value = T(0, e.value.toLowerCase(), /\s+/g, " ")), e.kind === "angularControlFlowBlock" && ((_a3 = e.parameters) == null ? void 0 : _a3.children)) for (let n of t.parameters.children) La.has(e.name) ? delete n.expression : n.expression = n.expression.trim();
969
+ e.kind === "angularIcuExpression" && (t.switchValue = e.switchValue.trim()), e.kind === "angularLetDeclarationInitializer" && delete t.value, e.kind === "element" && e.isVoid && !e.isSelfClosing && (t.isSelfClosing = true);
970
+ }
971
+ or.ignoredProperties = xa;
972
+ var Kn = "format";
973
+ var Qn = /^\s*<!--\s*@(?:noformat|noprettier)\s*-->/, Xn = /^\s*<!--\s*@(?:format|prettier)\s*-->/;
974
+ var Jn = (e) => Xn.test(e), Zn = (e) => Qn.test(e), ei = (e) => `<!-- @${Kn} -->
975
+
976
+ ${e}`;
977
+ var ti = /* @__PURE__ */ new Map([["if", /* @__PURE__ */ new Set(["else if", "else"])], ["else if", /* @__PURE__ */ new Set(["else if", "else"])], ["for", /* @__PURE__ */ new Set(["empty"])], ["defer", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["placeholder", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["error", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])], ["loading", /* @__PURE__ */ new Set(["placeholder", "error", "loading"])]]);
978
+ function ri(e) {
979
+ let t = J(e);
980
+ return e.kind === "element" && !e.endSourceSpan && X(e.children) ? Math.max(t, ri(I(0, e.children, -1))) : t;
981
+ }
982
+ function Ze(e, t, r) {
983
+ let n = e.node;
984
+ if (le(n)) {
985
+ let i = ri(n);
986
+ return [B(n, t), L(P.trimEnd(t.originalText.slice(F(n) + (n.prev && je(n.prev) ? Lt(n).length : 0), i - (n.next && V(n.next) ? pe(n, t).length : 0)))), M(n, t)];
987
+ }
988
+ return r();
989
+ }
990
+ function Nt(e, t) {
991
+ return N(e) && N(t) ? e.isTrailingSpaceSensitive ? e.hasTrailingSpaces ? kt(t) ? k : S : "" : kt(t) ? k : y : je(e) && (le(t) || t.firstChild || t.isSelfClosing || t.kind === "element" && t.attrs.length > 0) || e.kind === "element" && e.isSelfClosing && V(t) ? "" : t.kind === "comment" && t.isLeadingSpaceSensitive && !t.hasLeadingSpaces ? y : !t.isLeadingSpaceSensitive || kt(t) || V(t) && e.lastChild && K(e.lastChild) && e.lastChild.lastChild && K(e.lastChild.lastChild) ? k : t.hasLeadingSpaces ? S : y;
992
+ }
993
+ function Ae(e, t, r) {
994
+ let { node: n } = e;
995
+ if (tr(n)) return [G, ...e.map(() => {
996
+ let s = e.node, a = s.prev ? Nt(s.prev, s) : "";
997
+ return [a ? [a, We(s.prev) ? k : ""] : "", Ze(e, t, r)];
998
+ }, "children")];
999
+ let i = n.children.map(() => Symbol(""));
1000
+ return e.map(({ node: s, index: a }) => {
1001
+ if (N(s)) {
1002
+ if (s.prev && N(s.prev)) {
1003
+ let h = Nt(s.prev, s);
1004
+ if (h) return We(s.prev) ? [k, k, Ze(e, t, r)] : [h, Ze(e, t, r)];
1005
+ }
1006
+ return Ze(e, t, r);
1007
+ }
1008
+ let o = [], l = [], c = [], u = [], d = s.prev ? Nt(s.prev, s) : "", _ = s.next ? Nt(s, s.next) : "";
1009
+ return d && (We(s.prev) ? o.push(k, k) : d === k ? o.push(k) : N(s.prev) ? l.push(d) : l.push($("", y, { groupId: i[a - 1] }))), _ && (We(s) ? N(s.next) && u.push(k, k) : _ === k ? N(s.next) && u.push(k) : c.push(_)), [...o, C([...l, C([Ze(e, t, r), ...c], { id: i[a] })]), ...u];
1010
+ }, "children");
1011
+ }
1012
+ function ni(e, t, r) {
1013
+ let { node: n } = e, i = [];
1014
+ Da(e) && i.push("} "), i.push("@", n.name);
1015
+ let s = Pa(n);
1016
+ if (n.parameters && (s || i.push(" "), i.push("(", C(r("parameters")), ")")), s) return i.push(";"), i;
1017
+ if (!Na(n)) {
1018
+ i.push(" {");
1019
+ let a = ii(n);
1020
+ n.children.length > 0 ? (n.firstChild.hasLeadingSpaces = true, n.lastChild.hasTrailingSpaces = true, i.push(A([k, Ae(e, t, r)])), a && i.push(k, "}")) : a && i.push("}");
1021
+ }
1022
+ return C(i, { shouldBreak: true });
1023
+ }
1024
+ function ii(e) {
1025
+ var _a3, _b;
1026
+ return !(((_a3 = e.next) == null ? void 0 : _a3.kind) === "angularControlFlowBlock" && ((_b = ti.get(e.name)) == null ? void 0 : _b.has(e.next.name)));
1027
+ }
1028
+ var Aa = (e) => (e == null ? void 0 : e.kind) === "angularControlFlowBlock" && (e.name === "case" || e.name === "default"), Pa = (e) => (e == null ? void 0 : e.kind) === "angularControlFlowBlock" && e.name === "default never";
1029
+ function Na(e) {
1030
+ return Aa(e) && e.endSourceSpan && e.endSourceSpan.start.offset === e.endSourceSpan.end.offset;
1031
+ }
1032
+ function Da(e) {
1033
+ let { previous: t } = e;
1034
+ return (t == null ? void 0 : t.kind) === "angularControlFlowBlock" && !le(t) && !ii(t);
1035
+ }
1036
+ function si(e, t, r) {
1037
+ return [A([y, R([";", S], e.map(r, "children"))]), y];
1038
+ }
1039
+ function ai(e, t, r) {
1040
+ let { node: n } = e;
1041
+ return [me(n, t), C([n.switchValue.trim(), ", ", n.type, n.cases.length > 0 ? [",", A([S, R(S, e.map(r, "cases"))])] : "", y]), ue(n, t)];
1042
+ }
1043
+ function oi(e, t, r) {
1044
+ let { node: n } = e;
1045
+ return [n.value, " {", C([A([y, e.map(({ node: i, isLast: s }) => {
1046
+ let a = [r()];
1047
+ return i.kind === "text" && (i.hasLeadingSpaces && a.unshift(S), i.hasTrailingSpaces && !s && a.push(S)), a;
1048
+ }, "expression")]), y]), "}"];
1049
+ }
1050
+ function li(e, t, r) {
1051
+ let { node: n } = e;
1052
+ if (Ct(n, t)) return [B(n, t), C(Ke(e, t, r)), L(Pt(n, t)), ...$e(n, t), M(n, t)];
1053
+ let i = n.children.length === 1 && (n.firstChild.kind === "interpolation" || n.firstChild.kind === "angularIcuExpression") && n.firstChild.isLeadingSpaceSensitive && !n.firstChild.hasLeadingSpaces && n.lastChild.isTrailingSpaceSensitive && !n.lastChild.hasTrailingSpaces, s = Symbol("element-attr-group-id"), a = (u) => C([C(Ke(e, t, r), { id: s }), u, $e(n, t)]);
1054
+ if (n.children.length === 0) return a(n.hasDanglingSpaces && n.isDanglingSpaceSensitive ? S : "");
1055
+ let o = (u) => i ? Fr(u, { groupId: s }) : (O(n, t) || Ge(n, t)) && n.parent.kind === "root" && t.parser === "vue" && !t.vueIndentScriptAndStyle ? u : A(u), l = () => i ? $(y, "", { groupId: s }) : n.firstChild.hasLeadingSpaces && n.firstChild.isLeadingSpaceSensitive ? S : n.firstChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive ? Hr(y) : y, c = () => (n.next ? V(n.next) : he(n.parent)) ? n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? " " : "" : Y(n) && K(n.lastChild) ? "" : i ? $(y, "", { groupId: s }) : n.lastChild.hasTrailingSpaces && n.lastChild.isTrailingSpaceSensitive ? S : (n.lastChild.kind === "comment" || n.lastChild.kind === "text" && n.isWhitespaceSensitive && n.isIndentationSensitive) && new RegExp(`\\n[\\t ]{${t.tabWidth * (e.ancestors.length - 1)}}$`).test(n.lastChild.value) ? "" : y;
1056
+ return a([ln(n) ? G : "", o([l(), Ae(e, t, r)]), c()]);
1057
+ }
1058
+ function ci(e) {
1059
+ let { node: { value: t, type: r } } = e;
1060
+ return r === "single" ? `//${t.trimEnd()}` : ["/*", L(t), "*/"];
1061
+ }
1062
+ var lr = (function(e) {
1063
+ return e[e.RAW_TEXT = 0] = "RAW_TEXT", e[e.ESCAPABLE_RAW_TEXT = 1] = "ESCAPABLE_RAW_TEXT", e[e.PARSABLE_DATA = 2] = "PARSABLE_DATA", e;
1064
+ })({});
1065
+ function Z(e, t = true) {
1066
+ if (e[0] != ":") return [null, e];
1067
+ let r = e.indexOf(":", 1);
1068
+ if (r === -1) {
1069
+ if (t) throw new Error(`Unsupported format "${e}" expecting ":namespace:name"`);
1070
+ return [null, e];
1071
+ }
1072
+ return [e.slice(1, r), e.slice(r + 1)];
1073
+ }
1074
+ function cr(e) {
1075
+ return Z(e)[1] === "ng-container";
1076
+ }
1077
+ function ur(e) {
1078
+ return Z(e)[1] === "ng-content";
1079
+ }
1080
+ function Pe(e) {
1081
+ return e === null ? null : Z(e)[0];
1082
+ }
1083
+ function fe(e, t) {
1084
+ return e ? `:${e}:${t}` : t;
1085
+ }
1086
+ var et;
1087
+ var Ia = "math";
1088
+ var pr = () => /* @__PURE__ */ Object.create(null);
1089
+ function Ra() {
1090
+ return et || (et = pr(), ee(1, void 0, [["iframe", ["srcdoc"]], ["*", ["innerHTML", "outerHTML"]]]), ee(2, void 0, [["*", ["style"]]]), ee(4, void 0, [["*", ["formAction"]], ["area", ["href"]], ["a", ["href", "xlink:href"]], ["form", ["action"]], ["img", ["src"]], ["video", ["src"]]]), ee(4, Ia, [["*", ["href", "xlink:href"]]]), ee(5, void 0, [["base", ["href"]], ["embed", ["src"]], ["frame", ["src"]], ["iframe", ["src"]], ["link", ["href"]], ["object", ["codebase", "data"]]]), ee(4, "svg", [["a", ["href", "xlink:href"]]]), ee(6, "svg", [["animate", ["attributeName", "values", "to", "from"]], ["set", ["to", "attributeName"]], ["animateMotion", ["attributeName"]], ["animateTransform", ["attributeName"]]]), ee(6, void 0, [["unknown", ["attributeName", "values", "to", "from", "sandbox", "allow", "allowFullscreen", "referrerPolicy", "csp", "fetchPriority", "credentialless"]], ["iframe", ["sandbox", "allow", "allowFullscreen", "referrerPolicy", "csp", "fetchPriority", "credentialless"]]]), et);
1091
+ }
1092
+ function ee(e, t, r) {
1093
+ let n = t ?? "";
1094
+ for (let [s, a] of r) {
1095
+ let o = s.toLowerCase();
1096
+ for (let l of a) {
1097
+ var i;
1098
+ let c = l.toLowerCase(), u = (i = et)[c] ?? (i[c] = pr()), d = u[n] ?? (u[n] = pr());
1099
+ d[o] = e;
1100
+ }
1101
+ }
1102
+ }
1103
+ function ui(e, t, r) {
1104
+ let n = Ra()[t.toLowerCase()];
1105
+ if (!n) return 0;
1106
+ let i = e.toLowerCase(), s;
1107
+ if (r) {
1108
+ let a = n[r];
1109
+ a && (s = a[i] ?? a["*"]);
1110
+ }
1111
+ if (s === void 0) {
1112
+ let a = n[""];
1113
+ a && (s = a[i] ?? a["*"]);
1114
+ }
1115
+ return s ?? 0;
1116
+ }
1117
+ var hr = { name: "custom-elements" }, mr = { name: "no-errors-schema" };
1118
+ var Oa = /-+([a-z0-9])/g;
1119
+ function pi(e) {
1120
+ return e.replace(Oa, (...t) => t[1].toUpperCase());
1121
+ }
1122
+ var hi = class {
1123
+ };
1124
+ var Ma = "boolean", Ba = "number", qa = "string", Ha = "object";
1125
+ function Dt(e) {
1126
+ let [t, r] = Z(e.toLowerCase(), false);
1127
+ return t === "svg" || t === "math" ? `:${t}:${r}` : r;
1128
+ }
1129
+ var Fa = ["[Element]|textContent,%ariaActiveDescendantElement,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColIndexText,%ariaColSpan,%ariaControlsElements,%ariaCurrent,%ariaDescribedByElements,%ariaDescription,%ariaDetailsElements,%ariaDisabled,%ariaErrorMessageElements,%ariaExpanded,%ariaFlowToElements,%ariaHasPopup,%ariaHidden,%ariaInvalid,%ariaKeyShortcuts,%ariaLabel,%ariaLabelledByElements,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaOwnsElements,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowIndexText,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored", "[HTMLElement]^[Element]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,!inert,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "abbr,address,article,aside,b,bdi,bdo,cite,content,code,dd,dfn,dt,em,figcaption,figure,footer,header,hgroup,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,search,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy", "media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,!preservesPitch,src,%srcObject,#volume", ":svg:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":svg:graphics^:svg:|", ":svg:animation^:svg:|*begin,*end,*repeat", ":svg:geometry^:svg:|", ":svg:componentTransferFunction^:svg:|", ":svg:gradient^:svg:|", ":svg:textContent^:svg:graphics|", ":svg:textPositioning^:svg:textContent|", "a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,rev,search,shape,target,text,type,username", "area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,search,shape,target,username", "audio^media|", "br^[HTMLElement]|clear", "base^[HTMLElement]|href,target", "body^[HTMLElement]|aLink,background,bgColor,link,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink", "button^[HTMLElement]|!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value", "canvas^[HTMLElement]|#height,#width", "content^[HTMLElement]|select", "dl^[HTMLElement]|!compact", "data^[HTMLElement]|value", "datalist^[HTMLElement]|", "details^[HTMLElement]|!open", "dialog^[HTMLElement]|!open,returnValue", "dir^[HTMLElement]|!compact", "div^[HTMLElement]|align", "embed^[HTMLElement]|align,height,name,src,type,width", "fieldset^[HTMLElement]|!disabled,name", "font^[HTMLElement]|color,face,size", "form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target", "frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src", "frameset^[HTMLElement]|cols,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows", "geolocation^[HTMLElement]|accuracymode,!autolocate,*location,*promptaction,*promptdismiss,*validationstatuschange,!watch", "hr^[HTMLElement]|align,color,!noShade,size,width", "head^[HTMLElement]|", "h1,h2,h3,h4,h5,h6^[HTMLElement]|align", "html^[HTMLElement]|version", "iframe^[HTMLElement]|align,allow,!allowFullscreen,!allowPaymentRequest,csp,!credentialless,frameBorder,height,loading,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width", "img^[HTMLElement]|align,alt,border,%crossOrigin,decoding,#height,#hspace,!isMap,loading,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width", "input^[HTMLElement]|accept,align,alt,autocomplete,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width", "li^[HTMLElement]|type,#value", "label^[HTMLElement]|htmlFor", "legend^[HTMLElement]|align", "link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,imageSizes,imageSrcset,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type", "map^[HTMLElement]|name", "marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width", "menu^[HTMLElement]|!compact", "meta^[HTMLElement]|content,httpEquiv,media,name,scheme", "meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value", "ins,del^[HTMLElement]|cite,dateTime", "ol^[HTMLElement]|!compact,!reversed,#start,type", "object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width", "optgroup^[HTMLElement]|!disabled,label", "option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value", "output^[HTMLElement]|defaultValue,%htmlFor,name,value", "p^[HTMLElement]|align", "param^[HTMLElement]|name,type,value,valueType", "picture^[HTMLElement]|", "pre^[HTMLElement]|#width", "progress^[HTMLElement]|#max,#value", "q,blockquote,cite^[HTMLElement]|", "script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,!noModule,%referrerPolicy,src,text,type", "select^[HTMLElement]|autocomplete,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value", "selectedcontent^[HTMLElement]|", "slot^[HTMLElement]|name", "source^[HTMLElement]|#height,media,sizes,src,srcset,type,#width", "span^[HTMLElement]|", "style^[HTMLElement]|!disabled,media,type", "search^[HTMLELement]|", "caption^[HTMLElement]|align", "th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width", "col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width", "table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width", "tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign", "tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign", "template^[HTMLElement]|", "textarea^[HTMLElement]|autocomplete,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap", "time^[HTMLElement]|dateTime", "title^[HTMLElement]|text", "track^[HTMLElement]|!default,kind,label,src,srclang", "ul^[HTMLElement]|!compact,type", "unknown^[HTMLElement]|", "video^media|!disablePictureInPicture,#height,*enterpictureinpicture,*leavepictureinpicture,!playsInline,poster,#width", ":svg:a^:svg:graphics|", ":svg:animate^:svg:animation|", ":svg:animateMotion^:svg:animation|", ":svg:animateTransform^:svg:animation|", ":svg:circle^:svg:geometry|", ":svg:clipPath^:svg:graphics|", ":svg:defs^:svg:graphics|", ":svg:desc^:svg:|", ":svg:discard^:svg:|", ":svg:ellipse^:svg:geometry|", ":svg:feBlend^:svg:|", ":svg:feColorMatrix^:svg:|", ":svg:feComponentTransfer^:svg:|", ":svg:feComposite^:svg:|", ":svg:feConvolveMatrix^:svg:|", ":svg:feDiffuseLighting^:svg:|", ":svg:feDisplacementMap^:svg:|", ":svg:feDistantLight^:svg:|", ":svg:feDropShadow^:svg:|", ":svg:feFlood^:svg:|", ":svg:feFuncA^:svg:componentTransferFunction|", ":svg:feFuncB^:svg:componentTransferFunction|", ":svg:feFuncG^:svg:componentTransferFunction|", ":svg:feFuncR^:svg:componentTransferFunction|", ":svg:feGaussianBlur^:svg:|", ":svg:feImage^:svg:|", ":svg:feMerge^:svg:|", ":svg:feMergeNode^:svg:|", ":svg:feMorphology^:svg:|", ":svg:feOffset^:svg:|", ":svg:fePointLight^:svg:|", ":svg:feSpecularLighting^:svg:|", ":svg:feSpotLight^:svg:|", ":svg:feTile^:svg:|", ":svg:feTurbulence^:svg:|", ":svg:filter^:svg:|", ":svg:foreignObject^:svg:graphics|", ":svg:g^:svg:graphics|", ":svg:image^:svg:graphics|decoding", ":svg:line^:svg:geometry|", ":svg:linearGradient^:svg:gradient|", ":svg:mpath^:svg:|", ":svg:marker^:svg:|", ":svg:mask^:svg:|", ":svg:metadata^:svg:|", ":svg:path^:svg:geometry|", ":svg:pattern^:svg:|", ":svg:polygon^:svg:geometry|", ":svg:polyline^:svg:geometry|", ":svg:radialGradient^:svg:gradient|", ":svg:rect^:svg:geometry|", ":svg:svg^:svg:graphics|#currentScale,#zoomAndPan", ":svg:script^:svg:|type", ":svg:set^:svg:animation|", ":svg:stop^:svg:|", ":svg:style^:svg:|!disabled,media,title,type", ":svg:switch^:svg:graphics|", ":svg:symbol^:svg:|", ":svg:tspan^:svg:textPositioning|", ":svg:text^:svg:textPositioning|", ":svg:textPath^:svg:textContent|", ":svg:title^:svg:|", ":svg:use^:svg:graphics|", ":svg:view^:svg:|#zoomAndPan", "data^[HTMLElement]|value", "keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name", "menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default", "summary^[HTMLElement]|", "time^[HTMLElement]|dateTime", ":svg:cursor^:svg:|", ":math:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforeinput,*beforematch,*beforetoggle,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contentvisibilityautostatechange,*contextlost,*contextmenu,*contextrestored,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*scrollend,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex", ":math:math^:math:|", ":math:maction^:math:|", ":math:menclose^:math:|", ":math:merror^:math:|", ":math:mfenced^:math:|", ":math:mfrac^:math:|", ":math:mi^:math:|", ":math:mmultiscripts^:math:|", ":math:mn^:math:|", ":math:mo^:math:|", ":math:mover^:math:|", ":math:mpadded^:math:|", ":math:mphantom^:math:|", ":math:mroot^:math:|", ":math:mrow^:math:|", ":math:ms^:math:|", ":math:mspace^:math:|", ":math:msqrt^:math:|", ":math:mstyle^:math:|", ":math:msub^:math:|", ":math:msubsup^:math:|", ":math:msup^:math:|", ":math:mtable^:math:|", ":math:mtd^:math:|", ":math:mtext^:math:|", ":math:mtr^:math:|", ":math:munder^:math:|", ":math:munderover^:math:|", ":math:semantics^:math:|"], mi = new Map(Object.entries({ class: "className", for: "htmlFor", formaction: "formAction", innerHtml: "innerHTML", readonly: "readOnly", tabindex: "tabIndex", "aria-activedescendant": "ariaActiveDescendantElement", "aria-atomic": "ariaAtomic", "aria-autocomplete": "ariaAutoComplete", "aria-busy": "ariaBusy", "aria-checked": "ariaChecked", "aria-colcount": "ariaColCount", "aria-colindex": "ariaColIndex", "aria-colindextext": "ariaColIndexText", "aria-colspan": "ariaColSpan", "aria-controls": "ariaControlsElements", "aria-current": "ariaCurrent", "aria-describedby": "ariaDescribedByElements", "aria-description": "ariaDescription", "aria-details": "ariaDetailsElements", "aria-disabled": "ariaDisabled", "aria-errormessage": "ariaErrorMessageElements", "aria-expanded": "ariaExpanded", "aria-flowto": "ariaFlowToElements", "aria-haspopup": "ariaHasPopup", "aria-hidden": "ariaHidden", "aria-invalid": "ariaInvalid", "aria-keyshortcuts": "ariaKeyShortcuts", "aria-label": "ariaLabel", "aria-labelledby": "ariaLabelledByElements", "aria-level": "ariaLevel", "aria-live": "ariaLive", "aria-modal": "ariaModal", "aria-multiline": "ariaMultiLine", "aria-multiselectable": "ariaMultiSelectable", "aria-orientation": "ariaOrientation", "aria-owns": "ariaOwnsElements", "aria-placeholder": "ariaPlaceholder", "aria-posinset": "ariaPosInSet", "aria-pressed": "ariaPressed", "aria-readonly": "ariaReadOnly", "aria-required": "ariaRequired", "aria-roledescription": "ariaRoleDescription", "aria-rowcount": "ariaRowCount", "aria-rowindex": "ariaRowIndex", "aria-rowindextext": "ariaRowIndexText", "aria-rowspan": "ariaRowSpan", "aria-selected": "ariaSelected", "aria-setsize": "ariaSetSize", "aria-sort": "ariaSort", "aria-valuemax": "ariaValueMax", "aria-valuemin": "ariaValueMin", "aria-valuenow": "ariaValueNow", "aria-valuetext": "ariaValueText" })), Va = Array.from(mi).reduce((e, [t, r]) => (e.set(t, r), e), /* @__PURE__ */ new Map()), fi = class extends hi {
1130
+ constructor() {
1131
+ super();
1132
+ __publicField(this, "_schema", /* @__PURE__ */ new Map());
1133
+ __publicField(this, "_eventSchema", /* @__PURE__ */ new Map());
1134
+ Fa.forEach((e) => {
1135
+ let t = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Set(), [n, i] = e.split("|"), s = i.split(","), [a, o] = n.split("^");
1136
+ a.split(",").forEach((c) => {
1137
+ this._schema.set(c.toLowerCase(), t), this._eventSchema.set(c.toLowerCase(), r);
1138
+ });
1139
+ let l = o && this._schema.get(o.toLowerCase());
1140
+ if (l) {
1141
+ for (let [c, u] of l) t.set(c, u);
1142
+ for (let c of this._eventSchema.get(o.toLowerCase())) r.add(c);
1143
+ }
1144
+ s.forEach((c) => {
1145
+ if (c.length > 0) switch (c[0]) {
1146
+ case "*":
1147
+ r.add(c.substring(1));
1148
+ break;
1149
+ case "!":
1150
+ t.set(c.substring(1), Ma);
1151
+ break;
1152
+ case "#":
1153
+ t.set(c.substring(1), Ba);
1154
+ break;
1155
+ case "%":
1156
+ t.set(c.substring(1), Ha);
1157
+ break;
1158
+ default:
1159
+ t.set(c, qa);
1160
+ }
1161
+ });
1162
+ });
1163
+ }
1164
+ hasProperty(e, t, r) {
1165
+ if (r.some((i) => i.name === mr.name)) return true;
1166
+ let n = Dt(e);
1167
+ if (n.includes("-")) {
1168
+ if (cr(n) || ur(n)) return false;
1169
+ if (r.some((i) => i.name === hr.name)) return true;
1170
+ }
1171
+ return (this._schema.get(n) || this._schema.get("unknown")).has(t);
1172
+ }
1173
+ hasElement(e, t) {
1174
+ if (t.some((n) => n.name === mr.name)) return true;
1175
+ let r = Dt(e);
1176
+ return r.includes("-") && (cr(r) || ur(r) || t.some((n) => n.name === hr.name)) ? true : this._schema.has(r);
1177
+ }
1178
+ securityContext(e, t, r) {
1179
+ r && (t = this.getMappedPropName(t));
1180
+ let [n, i] = Z(e, false);
1181
+ return ui(i, t, n);
1182
+ }
1183
+ getMappedPropName(e) {
1184
+ return mi.get(e) ?? e;
1185
+ }
1186
+ getDefaultComponentElementName() {
1187
+ return "ng-component";
1188
+ }
1189
+ validateProperty(e) {
1190
+ return e.toLowerCase().startsWith("on") ? { error: true, msg: `Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...
1191
+ If '${e}' is a directive input, make sure the directive is imported by the current module.` } : { error: false };
1192
+ }
1193
+ validateAttribute(e) {
1194
+ return e.toLowerCase().startsWith("on") ? { error: true, msg: `Binding to event attribute '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...` } : { error: false };
1195
+ }
1196
+ allKnownElementNames() {
1197
+ return Array.from(this._schema.keys());
1198
+ }
1199
+ allKnownAttributesOfElement(e) {
1200
+ let t = Dt(e), r = this._schema.get(t) || this._schema.get("unknown");
1201
+ return Array.from(r.keys()).map((n) => Va.get(n) ?? n);
1202
+ }
1203
+ allKnownEventsOfElement(e) {
1204
+ let t = Dt(e);
1205
+ return Array.from(this._eventSchema.get(t) ?? []);
1206
+ }
1207
+ normalizeAnimationStyleProperty(e) {
1208
+ return pi(e);
1209
+ }
1210
+ normalizeAnimationStyleValue(e, t, r) {
1211
+ let n = "", i = r.toString().trim(), s = null;
1212
+ if (Ua(e) && r !== 0 && r !== "0") if (typeof r == "number") n = "px";
1213
+ else {
1214
+ let a = r.match(/^[+-]?[\d\.]+([a-z]*)$/);
1215
+ a && a[1].length == 0 && (s = `Please provide a CSS unit value for ${t}:${r}`);
1216
+ }
1217
+ return { error: s, value: i + n };
1218
+ }
1219
+ };
1220
+ function Ua(e) {
1221
+ switch (e) {
1222
+ case "width":
1223
+ case "height":
1224
+ case "minWidth":
1225
+ case "minHeight":
1226
+ case "maxWidth":
1227
+ case "maxHeight":
1228
+ case "left":
1229
+ case "top":
1230
+ case "bottom":
1231
+ case "right":
1232
+ case "fontSize":
1233
+ case "outlineWidth":
1234
+ case "outlineOffset":
1235
+ case "paddingTop":
1236
+ case "paddingLeft":
1237
+ case "paddingBottom":
1238
+ case "paddingRight":
1239
+ case "marginTop":
1240
+ case "marginLeft":
1241
+ case "marginBottom":
1242
+ case "marginRight":
1243
+ case "borderRadius":
1244
+ case "borderWidth":
1245
+ case "borderTopWidth":
1246
+ case "borderLeftWidth":
1247
+ case "borderRightWidth":
1248
+ case "borderBottomWidth":
1249
+ case "textIndent":
1250
+ return true;
1251
+ default:
1252
+ return false;
1253
+ }
1254
+ }
1255
+ var m = class {
1256
+ constructor({ closedByChildren: e, implicitNamespacePrefix: t, contentType: r = 2, closedByParent: n = false, isVoid: i = false, ignoreFirstLf: s = false, preventNamespaceInheritance: a = false, canSelfClose: o = false } = {}) {
1257
+ __publicField(this, "closedByChildren", {});
1258
+ __publicField(this, "contentType");
1259
+ __publicField(this, "closedByParent", false);
1260
+ __publicField(this, "implicitNamespacePrefix");
1261
+ __publicField(this, "isVoid");
1262
+ __publicField(this, "ignoreFirstLf");
1263
+ __publicField(this, "canSelfClose");
1264
+ __publicField(this, "preventNamespaceInheritance");
1265
+ e && e.length > 0 && e.forEach((l) => this.closedByChildren[l] = true), this.isVoid = i, this.closedByParent = n || i, this.implicitNamespacePrefix = t || null, this.contentType = r, this.ignoreFirstLf = s, this.preventNamespaceInheritance = a, this.canSelfClose = o ?? i;
1266
+ }
1267
+ isClosedByChild(e) {
1268
+ return this.isVoid || e.toLowerCase() in this.closedByChildren;
1269
+ }
1270
+ getContentType(e) {
1271
+ return typeof this.contentType == "object" ? (e === void 0 ? void 0 : this.contentType[e]) ?? this.contentType.default : this.contentType;
1272
+ }
1273
+ }, di, tt;
1274
+ function Ne(e) {
1275
+ return tt || (di = new m({ canSelfClose: true }), tt = Object.assign(/* @__PURE__ */ Object.create(null), { base: new m({ isVoid: true }), meta: new m({ isVoid: true }), area: new m({ isVoid: true }), embed: new m({ isVoid: true }), link: new m({ isVoid: true }), img: new m({ isVoid: true }), input: new m({ isVoid: true }), param: new m({ isVoid: true }), hr: new m({ isVoid: true }), br: new m({ isVoid: true }), source: new m({ isVoid: true }), track: new m({ isVoid: true }), wbr: new m({ isVoid: true }), p: new m({ closedByChildren: ["address", "article", "aside", "blockquote", "div", "dl", "fieldset", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hgroup", "hr", "main", "nav", "ol", "p", "pre", "section", "table", "ul"], closedByParent: true }), thead: new m({ closedByChildren: ["tbody", "tfoot"] }), tbody: new m({ closedByChildren: ["tbody", "tfoot"], closedByParent: true }), tfoot: new m({ closedByChildren: ["tbody"], closedByParent: true }), tr: new m({ closedByChildren: ["tr"], closedByParent: true }), td: new m({ closedByChildren: ["td", "th"], closedByParent: true }), th: new m({ closedByChildren: ["td", "th"], closedByParent: true }), col: new m({ isVoid: true }), svg: new m({ implicitNamespacePrefix: "svg" }), foreignObject: new m({ implicitNamespacePrefix: "svg", preventNamespaceInheritance: true }), math: new m({ implicitNamespacePrefix: "math" }), li: new m({ closedByChildren: ["li"], closedByParent: true }), dt: new m({ closedByChildren: ["dt", "dd"] }), dd: new m({ closedByChildren: ["dt", "dd"], closedByParent: true }), rb: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rt: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), rtc: new m({ closedByChildren: ["rb", "rtc", "rp"], closedByParent: true }), rp: new m({ closedByChildren: ["rb", "rt", "rtc", "rp"], closedByParent: true }), optgroup: new m({ closedByChildren: ["optgroup"], closedByParent: true }), option: new m({ closedByChildren: ["option", "optgroup"], closedByParent: true }), pre: new m({ ignoreFirstLf: true }), listing: new m({ ignoreFirstLf: true }), style: new m({ contentType: 0 }), script: new m({ contentType: 0 }), title: new m({ contentType: { default: 1, svg: 2 } }), textarea: new m({ contentType: 1, ignoreFirstLf: true }) }), new fi().allKnownElementNames().forEach((t) => {
1276
+ !tt[t] && Pe(t) === null && (tt[t] = new m({ canSelfClose: false }));
1277
+ })), tt[e] ?? di;
1278
+ }
1279
+ var De = class gi {
1280
+ constructor(t, r, n, i) {
1281
+ __publicField(this, "file");
1282
+ __publicField(this, "offset");
1283
+ __publicField(this, "line");
1284
+ __publicField(this, "col");
1285
+ this.file = t, this.offset = r, this.line = n, this.col = i;
1286
+ }
1287
+ toString() {
1288
+ return this.offset != null ? `${this.file.url}@${this.line}:${this.col}` : this.file.url;
1289
+ }
1290
+ moveBy(t) {
1291
+ let r = this.file.content, n = r.length, i = this.offset, s = this.line, a = this.col;
1292
+ for (; i > 0 && t < 0; ) if (i--, t++, r.charCodeAt(i) == 10) {
1293
+ s--;
1294
+ let o = r.substring(0, i - 1).lastIndexOf(`
1295
+ `);
1296
+ a = o > 0 ? i - o : i;
1297
+ } else a--;
1298
+ for (; i < n && t > 0; ) {
1299
+ let o = r.charCodeAt(i);
1300
+ i++, t--, o == 10 ? (s++, a = 0) : a++;
1301
+ }
1302
+ return new gi(this.file, i, s, a);
1303
+ }
1304
+ getContext(t, r) {
1305
+ let n = this.file.content, i = this.offset;
1306
+ if (i != null) {
1307
+ i > n.length - 1 && (i = n.length - 1);
1308
+ let s = i, a = 0, o = 0;
1309
+ for (; a < t && i > 0 && (i--, a++, !(n[i] == `
1310
+ ` && ++o == r)); ) ;
1311
+ for (a = 0, o = 0; a < t && s < n.length - 1 && (s++, a++, !(n[s] == `
1312
+ ` && ++o == r)); ) ;
1313
+ return { before: n.substring(i, this.offset), after: n.substring(this.offset, s + 1) };
1314
+ }
1315
+ return null;
1316
+ }
1317
+ }, rt = class {
1318
+ constructor(e, t) {
1319
+ __publicField(this, "content");
1320
+ __publicField(this, "url");
1321
+ this.content = e, this.url = t;
1322
+ }
1323
+ }, p = class {
1324
+ constructor(e, t, r = e, n = null) {
1325
+ __publicField(this, "start");
1326
+ __publicField(this, "end");
1327
+ __publicField(this, "fullStart");
1328
+ __publicField(this, "details");
1329
+ this.start = e, this.end = t, this.fullStart = r, this.details = n;
1330
+ }
1331
+ toString() {
1332
+ return this.start.file.content.substring(this.start.offset, this.end.offset);
1333
+ }
1334
+ }, Wa = (function(e) {
1335
+ return e[e.WARNING = 0] = "WARNING", e[e.ERROR = 1] = "ERROR", e;
1336
+ })({}), te = class extends Error {
1337
+ constructor(e, t, r = 1, n) {
1338
+ super(t);
1339
+ __publicField(this, "span");
1340
+ __publicField(this, "msg");
1341
+ __publicField(this, "level");
1342
+ __publicField(this, "relatedError");
1343
+ this.span = e, this.msg = t, this.level = r, this.relatedError = n, Object.setPrototypeOf(this, new.target.prototype);
1344
+ }
1345
+ contextualMessage() {
1346
+ let e = this.span.start.getContext(100, 3);
1347
+ return e ? `${this.msg} ("${e.before}[${Wa[this.level]} ->]${e.after}")` : this.msg;
1348
+ }
1349
+ toString() {
1350
+ let e = this.span.details ? `, ${this.span.details}` : "";
1351
+ return `${this.contextualMessage()}: ${this.span.start}${e}`;
1352
+ }
1353
+ };
1354
+ var de = class {
1355
+ constructor(e, t) {
1356
+ __publicField(this, "sourceSpan");
1357
+ __publicField(this, "i18n");
1358
+ this.sourceSpan = e, this.i18n = t;
1359
+ }
1360
+ }, _i = class extends de {
1361
+ constructor(e, t, r, n) {
1362
+ super(t, n);
1363
+ __publicField(this, "value");
1364
+ __publicField(this, "tokens");
1365
+ __publicField(this, "kind", "text");
1366
+ this.value = e, this.tokens = r;
1367
+ }
1368
+ visit(e, t) {
1369
+ return e.visitText(this, t);
1370
+ }
1371
+ }, Si = class extends de {
1372
+ constructor(e, t, r, n) {
1373
+ super(t, n);
1374
+ __publicField(this, "value");
1375
+ __publicField(this, "tokens");
1376
+ __publicField(this, "kind", "cdata");
1377
+ this.value = e, this.tokens = r;
1378
+ }
1379
+ visit(e, t) {
1380
+ return e.visitCdata(this, t);
1381
+ }
1382
+ }, vi = class extends de {
1383
+ constructor(e, t, r, n, i, s) {
1384
+ super(n, s);
1385
+ __publicField(this, "switchValue");
1386
+ __publicField(this, "type");
1387
+ __publicField(this, "cases");
1388
+ __publicField(this, "switchValueSourceSpan");
1389
+ __publicField(this, "kind", "expansion");
1390
+ this.switchValue = e, this.type = t, this.cases = r, this.switchValueSourceSpan = i;
1391
+ }
1392
+ visit(e, t) {
1393
+ return e.visitExpansion(this, t);
1394
+ }
1395
+ }, Ci = class {
1396
+ constructor(e, t, r, n, i) {
1397
+ __publicField(this, "value");
1398
+ __publicField(this, "expression");
1399
+ __publicField(this, "sourceSpan");
1400
+ __publicField(this, "valueSourceSpan");
1401
+ __publicField(this, "expSourceSpan");
1402
+ __publicField(this, "kind", "expansionCase");
1403
+ this.value = e, this.expression = t, this.sourceSpan = r, this.valueSourceSpan = n, this.expSourceSpan = i;
1404
+ }
1405
+ visit(e, t) {
1406
+ return e.visitExpansionCase(this, t);
1407
+ }
1408
+ }, ki = class extends de {
1409
+ constructor(e, t, r, n, i, s, a) {
1410
+ super(r, a);
1411
+ __publicField(this, "name");
1412
+ __publicField(this, "value");
1413
+ __publicField(this, "keySpan");
1414
+ __publicField(this, "valueSpan");
1415
+ __publicField(this, "valueTokens");
1416
+ __publicField(this, "kind", "attribute");
1417
+ this.name = e, this.value = t, this.keySpan = n, this.valueSpan = i, this.valueTokens = s;
1418
+ }
1419
+ visit(e, t) {
1420
+ return e.visitAttribute(this, t);
1421
+ }
1422
+ get nameSpan() {
1423
+ return this.keySpan;
1424
+ }
1425
+ }, bi = class {
1426
+ constructor(e, t, r) {
1427
+ __publicField(this, "value");
1428
+ __publicField(this, "type");
1429
+ __publicField(this, "sourceSpan");
1430
+ __publicField(this, "kind", "startTagComment");
1431
+ this.value = e, this.type = t, this.sourceSpan = r;
1432
+ }
1433
+ visit(e, t) {
1434
+ return e.visitStartTagComment ? e.visitStartTagComment(this, t) : void 0;
1435
+ }
1436
+ }, re = class extends de {
1437
+ constructor(e, t, r, n, i, s, a, o = null, l = null, c, u, d = []) {
1438
+ super(s, u);
1439
+ __publicField(this, "name");
1440
+ __publicField(this, "attrs");
1441
+ __publicField(this, "directives");
1442
+ __publicField(this, "children");
1443
+ __publicField(this, "isSelfClosing");
1444
+ __publicField(this, "startSourceSpan");
1445
+ __publicField(this, "endSourceSpan");
1446
+ __publicField(this, "nameSpan");
1447
+ __publicField(this, "isVoid");
1448
+ __publicField(this, "comments");
1449
+ __publicField(this, "kind", "element");
1450
+ this.name = e, this.attrs = t, this.directives = r, this.children = n, this.isSelfClosing = i, this.startSourceSpan = a, this.endSourceSpan = o, this.nameSpan = l, this.isVoid = c, this.comments = d;
1451
+ }
1452
+ visit(e, t) {
1453
+ return e.visitElement(this, t);
1454
+ }
1455
+ }, wi = class {
1456
+ constructor(e, t) {
1457
+ __publicField(this, "value");
1458
+ __publicField(this, "sourceSpan");
1459
+ __publicField(this, "kind", "comment");
1460
+ this.value = e, this.sourceSpan = t;
1461
+ }
1462
+ visit(e, t) {
1463
+ return e.visitComment(this, t);
1464
+ }
1465
+ }, Ti = class {
1466
+ constructor(e, t) {
1467
+ __publicField(this, "value");
1468
+ __publicField(this, "sourceSpan");
1469
+ __publicField(this, "kind", "docType");
1470
+ this.value = e, this.sourceSpan = t;
1471
+ }
1472
+ visit(e, t) {
1473
+ return e.visitDocType(this, t);
1474
+ }
1475
+ }, ge = class extends de {
1476
+ constructor(e, t, r, n, i, s, a = null, o) {
1477
+ super(n, o);
1478
+ __publicField(this, "name");
1479
+ __publicField(this, "parameters");
1480
+ __publicField(this, "children");
1481
+ __publicField(this, "nameSpan");
1482
+ __publicField(this, "startSourceSpan");
1483
+ __publicField(this, "endSourceSpan");
1484
+ __publicField(this, "kind", "block");
1485
+ this.name = e, this.parameters = t, this.children = r, this.nameSpan = i, this.startSourceSpan = s, this.endSourceSpan = a;
1486
+ }
1487
+ visit(e, t) {
1488
+ return e.visitBlock(this, t);
1489
+ }
1490
+ }, U = class extends de {
1491
+ constructor(e, t, r, n, i, s, a, o, l, c = null, u, d = []) {
1492
+ super(o, u);
1493
+ __publicField(this, "componentName");
1494
+ __publicField(this, "tagName");
1495
+ __publicField(this, "fullName");
1496
+ __publicField(this, "attrs");
1497
+ __publicField(this, "directives");
1498
+ __publicField(this, "children");
1499
+ __publicField(this, "isSelfClosing");
1500
+ __publicField(this, "startSourceSpan");
1501
+ __publicField(this, "endSourceSpan");
1502
+ __publicField(this, "comments");
1503
+ __publicField(this, "kind", "component");
1504
+ this.componentName = e, this.tagName = t, this.fullName = r, this.attrs = n, this.directives = i, this.children = s, this.isSelfClosing = a, this.startSourceSpan = l, this.endSourceSpan = c, this.comments = d;
1505
+ }
1506
+ visit(e, t) {
1507
+ return e.visitComponent(this, t);
1508
+ }
1509
+ }, yi = class {
1510
+ constructor(e, t, r, n, i = null) {
1511
+ __publicField(this, "name");
1512
+ __publicField(this, "attrs");
1513
+ __publicField(this, "sourceSpan");
1514
+ __publicField(this, "startSourceSpan");
1515
+ __publicField(this, "endSourceSpan");
1516
+ __publicField(this, "kind", "directive");
1517
+ this.name = e, this.attrs = t, this.sourceSpan = r, this.startSourceSpan = n, this.endSourceSpan = i;
1518
+ }
1519
+ visit(e, t) {
1520
+ return e.visitDirective(this, t);
1521
+ }
1522
+ }, fr = class {
1523
+ constructor(e, t) {
1524
+ __publicField(this, "expression");
1525
+ __publicField(this, "sourceSpan");
1526
+ __publicField(this, "kind", "blockParameter");
1527
+ __publicField(this, "startSourceSpan", null);
1528
+ __publicField(this, "endSourceSpan", null);
1529
+ this.expression = e, this.sourceSpan = t;
1530
+ }
1531
+ visit(e, t) {
1532
+ return e.visitBlockParameter(this, t);
1533
+ }
1534
+ }, dr = class {
1535
+ constructor(e, t, r, n, i) {
1536
+ __publicField(this, "name");
1537
+ __publicField(this, "value");
1538
+ __publicField(this, "sourceSpan");
1539
+ __publicField(this, "nameSpan");
1540
+ __publicField(this, "valueSpan");
1541
+ __publicField(this, "kind", "letDeclaration");
1542
+ __publicField(this, "startSourceSpan", null);
1543
+ __publicField(this, "endSourceSpan", null);
1544
+ this.name = e, this.value = t, this.sourceSpan = r, this.nameSpan = n, this.valueSpan = i;
1545
+ }
1546
+ visit(e, t) {
1547
+ return e.visitLetDeclaration(this, t);
1548
+ }
1549
+ };
1550
+ function It(e, t, r = null) {
1551
+ let n = [], i = e.visit ? (s) => e.visit(s, r) || s.visit(e, r) : (s) => s.visit(e, r);
1552
+ return t.forEach((s) => {
1553
+ let a = i(s);
1554
+ a && n.push(a);
1555
+ }), n;
1556
+ }
1557
+ var gr = class {
1558
+ constructor() {
1559
+ }
1560
+ visitElement(e, t) {
1561
+ this.visitChildren(t, (r) => {
1562
+ r(e.attrs), r(e.directives), r(e.comments), r(e.children);
1563
+ });
1564
+ }
1565
+ visitAttribute(e, t) {
1566
+ }
1567
+ visitStartTagComment(e, t) {
1568
+ }
1569
+ visitText(e, t) {
1570
+ }
1571
+ visitCdata(e, t) {
1572
+ }
1573
+ visitComment(e, t) {
1574
+ }
1575
+ visitDocType(e, t) {
1576
+ }
1577
+ visitExpansion(e, t) {
1578
+ return this.visitChildren(t, (r) => {
1579
+ r(e.cases);
1580
+ });
1581
+ }
1582
+ visitExpansionCase(e, t) {
1583
+ }
1584
+ visitBlock(e, t) {
1585
+ this.visitChildren(t, (r) => {
1586
+ r(e.parameters), r(e.children);
1587
+ });
1588
+ }
1589
+ visitBlockParameter(e, t) {
1590
+ }
1591
+ visitLetDeclaration(e, t) {
1592
+ }
1593
+ visitComponent(e, t) {
1594
+ this.visitChildren(t, (r) => {
1595
+ r(e.attrs), r(e.comments), r(e.children);
1596
+ });
1597
+ }
1598
+ visitDirective(e, t) {
1599
+ this.visitChildren(t, (r) => {
1600
+ r(e.attrs);
1601
+ });
1602
+ }
1603
+ visitChildren(e, t) {
1604
+ let r = [], n = this;
1605
+ function i(s) {
1606
+ s && r.push(It(n, s, e));
1607
+ }
1608
+ return t(i), Array.prototype.concat.apply([], r);
1609
+ }
1610
+ };
1611
+ function nt(e) {
1612
+ return e >= 9 && e <= 32 || e == 160;
1613
+ }
1614
+ function Ie(e) {
1615
+ return 48 <= e && e <= 57;
1616
+ }
1617
+ function Re(e) {
1618
+ return e >= 97 && e <= 122 || e >= 65 && e <= 90;
1619
+ }
1620
+ function Ei(e) {
1621
+ return e >= 97 && e <= 102 || e >= 65 && e <= 70 || Ie(e);
1622
+ }
1623
+ function Oe(e) {
1624
+ return e === 10 || e === 13;
1625
+ }
1626
+ function _r(e) {
1627
+ return 48 <= e && e <= 55;
1628
+ }
1629
+ function Rt(e) {
1630
+ return e === 39 || e === 34 || e === 96;
1631
+ }
1632
+ var _e = { AElig: "Æ", AMP: "&", amp: "&", Aacute: "Á", Abreve: "Ă", Acirc: "Â", Acy: "А", Afr: "𝔄", Agrave: "À", Alpha: "Α", Amacr: "Ā", And: "⩓", Aogon: "Ą", Aopf: "𝔸", ApplyFunction: "⁡", af: "⁡", Aring: "Å", angst: "Å", Ascr: "𝒜", Assign: "≔", colone: "≔", coloneq: "≔", Atilde: "Ã", Auml: "Ä", Backslash: "∖", setminus: "∖", setmn: "∖", smallsetminus: "∖", ssetmn: "∖", Barv: "⫧", Barwed: "⌆", doublebarwedge: "⌆", Bcy: "Б", Because: "∵", becaus: "∵", because: "∵", Bernoullis: "ℬ", Bscr: "ℬ", bernou: "ℬ", Beta: "Β", Bfr: "𝔅", Bopf: "𝔹", Breve: "˘", breve: "˘", Bumpeq: "≎", HumpDownHump: "≎", bump: "≎", CHcy: "Ч", COPY: "©", copy: "©", Cacute: "Ć", Cap: "⋒", CapitalDifferentialD: "ⅅ", DD: "ⅅ", Cayleys: "ℭ", Cfr: "ℭ", Ccaron: "Č", Ccedil: "Ç", Ccirc: "Ĉ", Cconint: "∰", Cdot: "Ċ", Cedilla: "¸", cedil: "¸", CenterDot: "·", centerdot: "·", middot: "·", Chi: "Χ", CircleDot: "⊙", odot: "⊙", CircleMinus: "⊖", ominus: "⊖", CirclePlus: "⊕", oplus: "⊕", CircleTimes: "⊗", otimes: "⊗", ClockwiseContourIntegral: "∲", cwconint: "∲", CloseCurlyDoubleQuote: "”", rdquo: "”", rdquor: "”", CloseCurlyQuote: "’", rsquo: "’", rsquor: "’", Colon: "∷", Proportion: "∷", Colone: "⩴", Congruent: "≡", equiv: "≡", Conint: "∯", DoubleContourIntegral: "∯", ContourIntegral: "∮", conint: "∮", oint: "∮", Copf: "ℂ", complexes: "ℂ", Coproduct: "∐", coprod: "∐", CounterClockwiseContourIntegral: "∳", awconint: "∳", Cross: "⨯", Cscr: "𝒞", Cup: "⋓", CupCap: "≍", asympeq: "≍", DDotrahd: "⤑", DJcy: "Ђ", DScy: "Ѕ", DZcy: "Џ", Dagger: "‡", ddagger: "‡", Darr: "↡", Dashv: "⫤", DoubleLeftTee: "⫤", Dcaron: "Ď", Dcy: "Д", Del: "∇", nabla: "∇", Delta: "Δ", Dfr: "𝔇", DiacriticalAcute: "´", acute: "´", DiacriticalDot: "˙", dot: "˙", DiacriticalDoubleAcute: "˝", dblac: "˝", DiacriticalGrave: "`", grave: "`", DiacriticalTilde: "˜", tilde: "˜", Diamond: "⋄", diam: "⋄", diamond: "⋄", DifferentialD: "ⅆ", dd: "ⅆ", Dopf: "𝔻", Dot: "¨", DoubleDot: "¨", die: "¨", uml: "¨", DotDot: "⃜", DotEqual: "≐", doteq: "≐", esdot: "≐", DoubleDownArrow: "⇓", Downarrow: "⇓", dArr: "⇓", DoubleLeftArrow: "⇐", Leftarrow: "⇐", lArr: "⇐", DoubleLeftRightArrow: "⇔", Leftrightarrow: "⇔", hArr: "⇔", iff: "⇔", DoubleLongLeftArrow: "⟸", Longleftarrow: "⟸", xlArr: "⟸", DoubleLongLeftRightArrow: "⟺", Longleftrightarrow: "⟺", xhArr: "⟺", DoubleLongRightArrow: "⟹", Longrightarrow: "⟹", xrArr: "⟹", DoubleRightArrow: "⇒", Implies: "⇒", Rightarrow: "⇒", rArr: "⇒", DoubleRightTee: "⊨", vDash: "⊨", DoubleUpArrow: "⇑", Uparrow: "⇑", uArr: "⇑", DoubleUpDownArrow: "⇕", Updownarrow: "⇕", vArr: "⇕", DoubleVerticalBar: "∥", par: "∥", parallel: "∥", shortparallel: "∥", spar: "∥", DownArrow: "↓", ShortDownArrow: "↓", darr: "↓", downarrow: "↓", DownArrowBar: "⤓", DownArrowUpArrow: "⇵", duarr: "⇵", DownBreve: "̑", DownLeftRightVector: "⥐", DownLeftTeeVector: "⥞", DownLeftVector: "↽", leftharpoondown: "↽", lhard: "↽", DownLeftVectorBar: "⥖", DownRightTeeVector: "⥟", DownRightVector: "⇁", rhard: "⇁", rightharpoondown: "⇁", DownRightVectorBar: "⥗", DownTee: "⊤", top: "⊤", DownTeeArrow: "↧", mapstodown: "↧", Dscr: "𝒟", Dstrok: "Đ", ENG: "Ŋ", ETH: "Ð", Eacute: "É", Ecaron: "Ě", Ecirc: "Ê", Ecy: "Э", Edot: "Ė", Efr: "𝔈", Egrave: "È", Element: "∈", in: "∈", isin: "∈", isinv: "∈", Emacr: "Ē", EmptySmallSquare: "◻", EmptyVerySmallSquare: "▫", Eogon: "Ę", Eopf: "𝔼", Epsilon: "Ε", Equal: "⩵", EqualTilde: "≂", eqsim: "≂", esim: "≂", Equilibrium: "⇌", rightleftharpoons: "⇌", rlhar: "⇌", Escr: "ℰ", expectation: "ℰ", Esim: "⩳", Eta: "Η", Euml: "Ë", Exists: "∃", exist: "∃", ExponentialE: "ⅇ", ee: "ⅇ", exponentiale: "ⅇ", Fcy: "Ф", Ffr: "𝔉", FilledSmallSquare: "◼", FilledVerySmallSquare: "▪", blacksquare: "▪", squarf: "▪", squf: "▪", Fopf: "𝔽", ForAll: "∀", forall: "∀", Fouriertrf: "ℱ", Fscr: "ℱ", GJcy: "Ѓ", GT: ">", gt: ">", Gamma: "Γ", Gammad: "Ϝ", Gbreve: "Ğ", Gcedil: "Ģ", Gcirc: "Ĝ", Gcy: "Г", Gdot: "Ġ", Gfr: "𝔊", Gg: "⋙", ggg: "⋙", Gopf: "𝔾", GreaterEqual: "≥", ge: "≥", geq: "≥", GreaterEqualLess: "⋛", gel: "⋛", gtreqless: "⋛", GreaterFullEqual: "≧", gE: "≧", geqq: "≧", GreaterGreater: "⪢", GreaterLess: "≷", gl: "≷", gtrless: "≷", GreaterSlantEqual: "⩾", geqslant: "⩾", ges: "⩾", GreaterTilde: "≳", gsim: "≳", gtrsim: "≳", Gscr: "𝒢", Gt: "≫", NestedGreaterGreater: "≫", gg: "≫", HARDcy: "Ъ", Hacek: "ˇ", caron: "ˇ", Hat: "^", Hcirc: "Ĥ", Hfr: "ℌ", Poincareplane: "ℌ", HilbertSpace: "ℋ", Hscr: "ℋ", hamilt: "ℋ", Hopf: "ℍ", quaternions: "ℍ", HorizontalLine: "─", boxh: "─", Hstrok: "Ħ", HumpEqual: "≏", bumpe: "≏", bumpeq: "≏", IEcy: "Е", IJlig: "IJ", IOcy: "Ё", Iacute: "Í", Icirc: "Î", Icy: "И", Idot: "İ", Ifr: "ℑ", Im: "ℑ", image: "ℑ", imagpart: "ℑ", Igrave: "Ì", Imacr: "Ī", ImaginaryI: "ⅈ", ii: "ⅈ", Int: "∬", Integral: "∫", int: "∫", Intersection: "⋂", bigcap: "⋂", xcap: "⋂", InvisibleComma: "⁣", ic: "⁣", InvisibleTimes: "⁢", it: "⁢", Iogon: "Į", Iopf: "𝕀", Iota: "Ι", Iscr: "ℐ", imagline: "ℐ", Itilde: "Ĩ", Iukcy: "І", Iuml: "Ï", Jcirc: "Ĵ", Jcy: "Й", Jfr: "𝔍", Jopf: "𝕁", Jscr: "𝒥", Jsercy: "Ј", Jukcy: "Є", KHcy: "Х", KJcy: "Ќ", Kappa: "Κ", Kcedil: "Ķ", Kcy: "К", Kfr: "𝔎", Kopf: "𝕂", Kscr: "𝒦", LJcy: "Љ", LT: "<", lt: "<", Lacute: "Ĺ", Lambda: "Λ", Lang: "⟪", Laplacetrf: "ℒ", Lscr: "ℒ", lagran: "ℒ", Larr: "↞", twoheadleftarrow: "↞", Lcaron: "Ľ", Lcedil: "Ļ", Lcy: "Л", LeftAngleBracket: "⟨", lang: "⟨", langle: "⟨", LeftArrow: "←", ShortLeftArrow: "←", larr: "←", leftarrow: "←", slarr: "←", LeftArrowBar: "⇤", larrb: "⇤", LeftArrowRightArrow: "⇆", leftrightarrows: "⇆", lrarr: "⇆", LeftCeiling: "⌈", lceil: "⌈", LeftDoubleBracket: "⟦", lobrk: "⟦", LeftDownTeeVector: "⥡", LeftDownVector: "⇃", dharl: "⇃", downharpoonleft: "⇃", LeftDownVectorBar: "⥙", LeftFloor: "⌊", lfloor: "⌊", LeftRightArrow: "↔", harr: "↔", leftrightarrow: "↔", LeftRightVector: "⥎", LeftTee: "⊣", dashv: "⊣", LeftTeeArrow: "↤", mapstoleft: "↤", LeftTeeVector: "⥚", LeftTriangle: "⊲", vartriangleleft: "⊲", vltri: "⊲", LeftTriangleBar: "⧏", LeftTriangleEqual: "⊴", ltrie: "⊴", trianglelefteq: "⊴", LeftUpDownVector: "⥑", LeftUpTeeVector: "⥠", LeftUpVector: "↿", uharl: "↿", upharpoonleft: "↿", LeftUpVectorBar: "⥘", LeftVector: "↼", leftharpoonup: "↼", lharu: "↼", LeftVectorBar: "⥒", LessEqualGreater: "⋚", leg: "⋚", lesseqgtr: "⋚", LessFullEqual: "≦", lE: "≦", leqq: "≦", LessGreater: "≶", lessgtr: "≶", lg: "≶", LessLess: "⪡", LessSlantEqual: "⩽", leqslant: "⩽", les: "⩽", LessTilde: "≲", lesssim: "≲", lsim: "≲", Lfr: "𝔏", Ll: "⋘", Lleftarrow: "⇚", lAarr: "⇚", Lmidot: "Ŀ", LongLeftArrow: "⟵", longleftarrow: "⟵", xlarr: "⟵", LongLeftRightArrow: "⟷", longleftrightarrow: "⟷", xharr: "⟷", LongRightArrow: "⟶", longrightarrow: "⟶", xrarr: "⟶", Lopf: "𝕃", LowerLeftArrow: "↙", swarr: "↙", swarrow: "↙", LowerRightArrow: "↘", searr: "↘", searrow: "↘", Lsh: "↰", lsh: "↰", Lstrok: "Ł", Lt: "≪", NestedLessLess: "≪", ll: "≪", Map: "⤅", Mcy: "М", MediumSpace: " ", Mellintrf: "ℳ", Mscr: "ℳ", phmmat: "ℳ", Mfr: "𝔐", MinusPlus: "∓", mnplus: "∓", mp: "∓", Mopf: "𝕄", Mu: "Μ", NJcy: "Њ", Nacute: "Ń", Ncaron: "Ň", Ncedil: "Ņ", Ncy: "Н", NegativeMediumSpace: "​", NegativeThickSpace: "​", NegativeThinSpace: "​", NegativeVeryThinSpace: "​", ZeroWidthSpace: "​", NewLine: `
1633
+ `, Nfr: "𝔑", NoBreak: "⁠", NonBreakingSpace: " ", nbsp: " ", Nopf: "ℕ", naturals: "ℕ", Not: "⫬", NotCongruent: "≢", nequiv: "≢", NotCupCap: "≭", NotDoubleVerticalBar: "∦", npar: "∦", nparallel: "∦", nshortparallel: "∦", nspar: "∦", NotElement: "∉", notin: "∉", notinva: "∉", NotEqual: "≠", ne: "≠", NotEqualTilde: "≂̸", nesim: "≂̸", NotExists: "∄", nexist: "∄", nexists: "∄", NotGreater: "≯", ngt: "≯", ngtr: "≯", NotGreaterEqual: "≱", nge: "≱", ngeq: "≱", NotGreaterFullEqual: "≧̸", ngE: "≧̸", ngeqq: "≧̸", NotGreaterGreater: "≫̸", nGtv: "≫̸", NotGreaterLess: "≹", ntgl: "≹", NotGreaterSlantEqual: "⩾̸", ngeqslant: "⩾̸", nges: "⩾̸", NotGreaterTilde: "≵", ngsim: "≵", NotHumpDownHump: "≎̸", nbump: "≎̸", NotHumpEqual: "≏̸", nbumpe: "≏̸", NotLeftTriangle: "⋪", nltri: "⋪", ntriangleleft: "⋪", NotLeftTriangleBar: "⧏̸", NotLeftTriangleEqual: "⋬", nltrie: "⋬", ntrianglelefteq: "⋬", NotLess: "≮", nless: "≮", nlt: "≮", NotLessEqual: "≰", nle: "≰", nleq: "≰", NotLessGreater: "≸", ntlg: "≸", NotLessLess: "≪̸", nLtv: "≪̸", NotLessSlantEqual: "⩽̸", nleqslant: "⩽̸", nles: "⩽̸", NotLessTilde: "≴", nlsim: "≴", NotNestedGreaterGreater: "⪢̸", NotNestedLessLess: "⪡̸", NotPrecedes: "⊀", npr: "⊀", nprec: "⊀", NotPrecedesEqual: "⪯̸", npre: "⪯̸", npreceq: "⪯̸", NotPrecedesSlantEqual: "⋠", nprcue: "⋠", NotReverseElement: "∌", notni: "∌", notniva: "∌", NotRightTriangle: "⋫", nrtri: "⋫", ntriangleright: "⋫", NotRightTriangleBar: "⧐̸", NotRightTriangleEqual: "⋭", nrtrie: "⋭", ntrianglerighteq: "⋭", NotSquareSubset: "⊏̸", NotSquareSubsetEqual: "⋢", nsqsube: "⋢", NotSquareSuperset: "⊐̸", NotSquareSupersetEqual: "⋣", nsqsupe: "⋣", NotSubset: "⊂⃒", nsubset: "⊂⃒", vnsub: "⊂⃒", NotSubsetEqual: "⊈", nsube: "⊈", nsubseteq: "⊈", NotSucceeds: "⊁", nsc: "⊁", nsucc: "⊁", NotSucceedsEqual: "⪰̸", nsce: "⪰̸", nsucceq: "⪰̸", NotSucceedsSlantEqual: "⋡", nsccue: "⋡", NotSucceedsTilde: "≿̸", NotSuperset: "⊃⃒", nsupset: "⊃⃒", vnsup: "⊃⃒", NotSupersetEqual: "⊉", nsupe: "⊉", nsupseteq: "⊉", NotTilde: "≁", nsim: "≁", NotTildeEqual: "≄", nsime: "≄", nsimeq: "≄", NotTildeFullEqual: "≇", ncong: "≇", NotTildeTilde: "≉", nap: "≉", napprox: "≉", NotVerticalBar: "∤", nmid: "∤", nshortmid: "∤", nsmid: "∤", Nscr: "𝒩", Ntilde: "Ñ", Nu: "Ν", OElig: "Œ", Oacute: "Ó", Ocirc: "Ô", Ocy: "О", Odblac: "Ő", Ofr: "𝔒", Ograve: "Ò", Omacr: "Ō", Omega: "Ω", ohm: "Ω", Omicron: "Ο", Oopf: "𝕆", OpenCurlyDoubleQuote: "“", ldquo: "“", OpenCurlyQuote: "‘", lsquo: "‘", Or: "⩔", Oscr: "𝒪", Oslash: "Ø", Otilde: "Õ", Otimes: "⨷", Ouml: "Ö", OverBar: "‾", oline: "‾", OverBrace: "⏞", OverBracket: "⎴", tbrk: "⎴", OverParenthesis: "⏜", PartialD: "∂", part: "∂", Pcy: "П", Pfr: "𝔓", Phi: "Φ", Pi: "Π", PlusMinus: "±", plusmn: "±", pm: "±", Popf: "ℙ", primes: "ℙ", Pr: "⪻", Precedes: "≺", pr: "≺", prec: "≺", PrecedesEqual: "⪯", pre: "⪯", preceq: "⪯", PrecedesSlantEqual: "≼", prcue: "≼", preccurlyeq: "≼", PrecedesTilde: "≾", precsim: "≾", prsim: "≾", Prime: "″", Product: "∏", prod: "∏", Proportional: "∝", prop: "∝", propto: "∝", varpropto: "∝", vprop: "∝", Pscr: "𝒫", Psi: "Ψ", QUOT: '"', quot: '"', Qfr: "𝔔", Qopf: "ℚ", rationals: "ℚ", Qscr: "𝒬", RBarr: "⤐", drbkarow: "⤐", REG: "®", circledR: "®", reg: "®", Racute: "Ŕ", Rang: "⟫", Rarr: "↠", twoheadrightarrow: "↠", Rarrtl: "⤖", Rcaron: "Ř", Rcedil: "Ŗ", Rcy: "Р", Re: "ℜ", Rfr: "ℜ", real: "ℜ", realpart: "ℜ", ReverseElement: "∋", SuchThat: "∋", ni: "∋", niv: "∋", ReverseEquilibrium: "⇋", leftrightharpoons: "⇋", lrhar: "⇋", ReverseUpEquilibrium: "⥯", duhar: "⥯", Rho: "Ρ", RightAngleBracket: "⟩", rang: "⟩", rangle: "⟩", RightArrow: "→", ShortRightArrow: "→", rarr: "→", rightarrow: "→", srarr: "→", RightArrowBar: "⇥", rarrb: "⇥", RightArrowLeftArrow: "⇄", rightleftarrows: "⇄", rlarr: "⇄", RightCeiling: "⌉", rceil: "⌉", RightDoubleBracket: "⟧", robrk: "⟧", RightDownTeeVector: "⥝", RightDownVector: "⇂", dharr: "⇂", downharpoonright: "⇂", RightDownVectorBar: "⥕", RightFloor: "⌋", rfloor: "⌋", RightTee: "⊢", vdash: "⊢", RightTeeArrow: "↦", map: "↦", mapsto: "↦", RightTeeVector: "⥛", RightTriangle: "⊳", vartriangleright: "⊳", vrtri: "⊳", RightTriangleBar: "⧐", RightTriangleEqual: "⊵", rtrie: "⊵", trianglerighteq: "⊵", RightUpDownVector: "⥏", RightUpTeeVector: "⥜", RightUpVector: "↾", uharr: "↾", upharpoonright: "↾", RightUpVectorBar: "⥔", RightVector: "⇀", rharu: "⇀", rightharpoonup: "⇀", RightVectorBar: "⥓", Ropf: "ℝ", reals: "ℝ", RoundImplies: "⥰", Rrightarrow: "⇛", rAarr: "⇛", Rscr: "ℛ", realine: "ℛ", Rsh: "↱", rsh: "↱", RuleDelayed: "⧴", SHCHcy: "Щ", SHcy: "Ш", SOFTcy: "Ь", Sacute: "Ś", Sc: "⪼", Scaron: "Š", Scedil: "Ş", Scirc: "Ŝ", Scy: "С", Sfr: "𝔖", ShortUpArrow: "↑", UpArrow: "↑", uarr: "↑", uparrow: "↑", Sigma: "Σ", SmallCircle: "∘", compfn: "∘", Sopf: "𝕊", Sqrt: "√", radic: "√", Square: "□", squ: "□", square: "□", SquareIntersection: "⊓", sqcap: "⊓", SquareSubset: "⊏", sqsub: "⊏", sqsubset: "⊏", SquareSubsetEqual: "⊑", sqsube: "⊑", sqsubseteq: "⊑", SquareSuperset: "⊐", sqsup: "⊐", sqsupset: "⊐", SquareSupersetEqual: "⊒", sqsupe: "⊒", sqsupseteq: "⊒", SquareUnion: "⊔", sqcup: "⊔", Sscr: "𝒮", Star: "⋆", sstarf: "⋆", Sub: "⋐", Subset: "⋐", SubsetEqual: "⊆", sube: "⊆", subseteq: "⊆", Succeeds: "≻", sc: "≻", succ: "≻", SucceedsEqual: "⪰", sce: "⪰", succeq: "⪰", SucceedsSlantEqual: "≽", sccue: "≽", succcurlyeq: "≽", SucceedsTilde: "≿", scsim: "≿", succsim: "≿", Sum: "∑", sum: "∑", Sup: "⋑", Supset: "⋑", Superset: "⊃", sup: "⊃", supset: "⊃", SupersetEqual: "⊇", supe: "⊇", supseteq: "⊇", THORN: "Þ", TRADE: "™", trade: "™", TSHcy: "Ћ", TScy: "Ц", Tab: " ", Tau: "Τ", Tcaron: "Ť", Tcedil: "Ţ", Tcy: "Т", Tfr: "𝔗", Therefore: "∴", there4: "∴", therefore: "∴", Theta: "Θ", ThickSpace: "  ", ThinSpace: " ", thinsp: " ", Tilde: "∼", sim: "∼", thicksim: "∼", thksim: "∼", TildeEqual: "≃", sime: "≃", simeq: "≃", TildeFullEqual: "≅", cong: "≅", TildeTilde: "≈", ap: "≈", approx: "≈", asymp: "≈", thickapprox: "≈", thkap: "≈", Topf: "𝕋", TripleDot: "⃛", tdot: "⃛", Tscr: "𝒯", Tstrok: "Ŧ", Uacute: "Ú", Uarr: "↟", Uarrocir: "⥉", Ubrcy: "Ў", Ubreve: "Ŭ", Ucirc: "Û", Ucy: "У", Udblac: "Ű", Ufr: "𝔘", Ugrave: "Ù", Umacr: "Ū", UnderBar: "_", lowbar: "_", UnderBrace: "⏟", UnderBracket: "⎵", bbrk: "⎵", UnderParenthesis: "⏝", Union: "⋃", bigcup: "⋃", xcup: "⋃", UnionPlus: "⊎", uplus: "⊎", Uogon: "Ų", Uopf: "𝕌", UpArrowBar: "⤒", UpArrowDownArrow: "⇅", udarr: "⇅", UpDownArrow: "↕", updownarrow: "↕", varr: "↕", UpEquilibrium: "⥮", udhar: "⥮", UpTee: "⊥", bot: "⊥", bottom: "⊥", perp: "⊥", UpTeeArrow: "↥", mapstoup: "↥", UpperLeftArrow: "↖", nwarr: "↖", nwarrow: "↖", UpperRightArrow: "↗", nearr: "↗", nearrow: "↗", Upsi: "ϒ", upsih: "ϒ", Upsilon: "Υ", Uring: "Ů", Uscr: "𝒰", Utilde: "Ũ", Uuml: "Ü", VDash: "⊫", Vbar: "⫫", Vcy: "В", Vdash: "⊩", Vdashl: "⫦", Vee: "⋁", bigvee: "⋁", xvee: "⋁", Verbar: "‖", Vert: "‖", VerticalBar: "∣", mid: "∣", shortmid: "∣", smid: "∣", VerticalLine: "|", verbar: "|", vert: "|", VerticalSeparator: "❘", VerticalTilde: "≀", wr: "≀", wreath: "≀", VeryThinSpace: " ", hairsp: " ", Vfr: "𝔙", Vopf: "𝕍", Vscr: "𝒱", Vvdash: "⊪", Wcirc: "Ŵ", Wedge: "⋀", bigwedge: "⋀", xwedge: "⋀", Wfr: "𝔚", Wopf: "𝕎", Wscr: "𝒲", Xfr: "𝔛", Xi: "Ξ", Xopf: "𝕏", Xscr: "𝒳", YAcy: "Я", YIcy: "Ї", YUcy: "Ю", Yacute: "Ý", Ycirc: "Ŷ", Ycy: "Ы", Yfr: "𝔜", Yopf: "𝕐", Yscr: "𝒴", Yuml: "Ÿ", ZHcy: "Ж", Zacute: "Ź", Zcaron: "Ž", Zcy: "З", Zdot: "Ż", Zeta: "Ζ", Zfr: "ℨ", zeetrf: "ℨ", Zopf: "ℤ", integers: "ℤ", Zscr: "𝒵", aacute: "á", abreve: "ă", ac: "∾", mstpos: "∾", acE: "∾̳", acd: "∿", acirc: "â", acy: "а", aelig: "æ", afr: "𝔞", agrave: "à", alefsym: "ℵ", aleph: "ℵ", alpha: "α", amacr: "ā", amalg: "⨿", and: "∧", wedge: "∧", andand: "⩕", andd: "⩜", andslope: "⩘", andv: "⩚", ang: "∠", angle: "∠", ange: "⦤", angmsd: "∡", measuredangle: "∡", angmsdaa: "⦨", angmsdab: "⦩", angmsdac: "⦪", angmsdad: "⦫", angmsdae: "⦬", angmsdaf: "⦭", angmsdag: "⦮", angmsdah: "⦯", angrt: "∟", angrtvb: "⊾", angrtvbd: "⦝", angsph: "∢", angzarr: "⍼", aogon: "ą", aopf: "𝕒", apE: "⩰", apacir: "⩯", ape: "≊", approxeq: "≊", apid: "≋", apos: "'", aring: "å", ascr: "𝒶", ast: "*", midast: "*", atilde: "ã", auml: "ä", awint: "⨑", bNot: "⫭", backcong: "≌", bcong: "≌", backepsilon: "϶", bepsi: "϶", backprime: "‵", bprime: "‵", backsim: "∽", bsim: "∽", backsimeq: "⋍", bsime: "⋍", barvee: "⊽", barwed: "⌅", barwedge: "⌅", bbrktbrk: "⎶", bcy: "б", bdquo: "„", ldquor: "„", bemptyv: "⦰", beta: "β", beth: "ℶ", between: "≬", twixt: "≬", bfr: "𝔟", bigcirc: "◯", xcirc: "◯", bigodot: "⨀", xodot: "⨀", bigoplus: "⨁", xoplus: "⨁", bigotimes: "⨂", xotime: "⨂", bigsqcup: "⨆", xsqcup: "⨆", bigstar: "★", starf: "★", bigtriangledown: "▽", xdtri: "▽", bigtriangleup: "△", xutri: "△", biguplus: "⨄", xuplus: "⨄", bkarow: "⤍", rbarr: "⤍", blacklozenge: "⧫", lozf: "⧫", blacktriangle: "▴", utrif: "▴", blacktriangledown: "▾", dtrif: "▾", blacktriangleleft: "◂", ltrif: "◂", blacktriangleright: "▸", rtrif: "▸", blank: "␣", blk12: "▒", blk14: "░", blk34: "▓", block: "█", bne: "=⃥", bnequiv: "≡⃥", bnot: "⌐", bopf: "𝕓", bowtie: "⋈", boxDL: "╗", boxDR: "╔", boxDl: "╖", boxDr: "╓", boxH: "═", boxHD: "╦", boxHU: "╩", boxHd: "╤", boxHu: "╧", boxUL: "╝", boxUR: "╚", boxUl: "╜", boxUr: "╙", boxV: "║", boxVH: "╬", boxVL: "╣", boxVR: "╠", boxVh: "╫", boxVl: "╢", boxVr: "╟", boxbox: "⧉", boxdL: "╕", boxdR: "╒", boxdl: "┐", boxdr: "┌", boxhD: "╥", boxhU: "╨", boxhd: "┬", boxhu: "┴", boxminus: "⊟", minusb: "⊟", boxplus: "⊞", plusb: "⊞", boxtimes: "⊠", timesb: "⊠", boxuL: "╛", boxuR: "╘", boxul: "┘", boxur: "└", boxv: "│", boxvH: "╪", boxvL: "╡", boxvR: "╞", boxvh: "┼", boxvl: "┤", boxvr: "├", brvbar: "¦", bscr: "𝒷", bsemi: "⁏", bsol: "\\", bsolb: "⧅", bsolhsub: "⟈", bull: "•", bullet: "•", bumpE: "⪮", cacute: "ć", cap: "∩", capand: "⩄", capbrcup: "⩉", capcap: "⩋", capcup: "⩇", capdot: "⩀", caps: "∩︀", caret: "⁁", ccaps: "⩍", ccaron: "č", ccedil: "ç", ccirc: "ĉ", ccups: "⩌", ccupssm: "⩐", cdot: "ċ", cemptyv: "⦲", cent: "¢", cfr: "𝔠", chcy: "ч", check: "✓", checkmark: "✓", chi: "χ", cir: "○", cirE: "⧃", circ: "ˆ", circeq: "≗", cire: "≗", circlearrowleft: "↺", olarr: "↺", circlearrowright: "↻", orarr: "↻", circledS: "Ⓢ", oS: "Ⓢ", circledast: "⊛", oast: "⊛", circledcirc: "⊚", ocir: "⊚", circleddash: "⊝", odash: "⊝", cirfnint: "⨐", cirmid: "⫯", cirscir: "⧂", clubs: "♣", clubsuit: "♣", colon: ":", comma: ",", commat: "@", comp: "∁", complement: "∁", congdot: "⩭", copf: "𝕔", copysr: "℗", crarr: "↵", cross: "✗", cscr: "𝒸", csub: "⫏", csube: "⫑", csup: "⫐", csupe: "⫒", ctdot: "⋯", cudarrl: "⤸", cudarrr: "⤵", cuepr: "⋞", curlyeqprec: "⋞", cuesc: "⋟", curlyeqsucc: "⋟", cularr: "↶", curvearrowleft: "↶", cularrp: "⤽", cup: "∪", cupbrcap: "⩈", cupcap: "⩆", cupcup: "⩊", cupdot: "⊍", cupor: "⩅", cups: "∪︀", curarr: "↷", curvearrowright: "↷", curarrm: "⤼", curlyvee: "⋎", cuvee: "⋎", curlywedge: "⋏", cuwed: "⋏", curren: "¤", cwint: "∱", cylcty: "⌭", dHar: "⥥", dagger: "†", daleth: "ℸ", dash: "‐", hyphen: "‐", dbkarow: "⤏", rBarr: "⤏", dcaron: "ď", dcy: "д", ddarr: "⇊", downdownarrows: "⇊", ddotseq: "⩷", eDDot: "⩷", deg: "°", delta: "δ", demptyv: "⦱", dfisht: "⥿", dfr: "𝔡", diamondsuit: "♦", diams: "♦", digamma: "ϝ", gammad: "ϝ", disin: "⋲", div: "÷", divide: "÷", divideontimes: "⋇", divonx: "⋇", djcy: "ђ", dlcorn: "⌞", llcorner: "⌞", dlcrop: "⌍", dollar: "$", dopf: "𝕕", doteqdot: "≑", eDot: "≑", dotminus: "∸", minusd: "∸", dotplus: "∔", plusdo: "∔", dotsquare: "⊡", sdotb: "⊡", drcorn: "⌟", lrcorner: "⌟", drcrop: "⌌", dscr: "𝒹", dscy: "ѕ", dsol: "⧶", dstrok: "đ", dtdot: "⋱", dtri: "▿", triangledown: "▿", dwangle: "⦦", dzcy: "џ", dzigrarr: "⟿", eacute: "é", easter: "⩮", ecaron: "ě", ecir: "≖", eqcirc: "≖", ecirc: "ê", ecolon: "≕", eqcolon: "≕", ecy: "э", edot: "ė", efDot: "≒", fallingdotseq: "≒", efr: "𝔢", eg: "⪚", egrave: "è", egs: "⪖", eqslantgtr: "⪖", egsdot: "⪘", el: "⪙", elinters: "⏧", ell: "ℓ", els: "⪕", eqslantless: "⪕", elsdot: "⪗", emacr: "ē", empty: "∅", emptyset: "∅", emptyv: "∅", varnothing: "∅", emsp13: " ", emsp14: " ", emsp: " ", eng: "ŋ", ensp: " ", eogon: "ę", eopf: "𝕖", epar: "⋕", eparsl: "⧣", eplus: "⩱", epsi: "ε", epsilon: "ε", epsiv: "ϵ", straightepsilon: "ϵ", varepsilon: "ϵ", equals: "=", equest: "≟", questeq: "≟", equivDD: "⩸", eqvparsl: "⧥", erDot: "≓", risingdotseq: "≓", erarr: "⥱", escr: "ℯ", eta: "η", eth: "ð", euml: "ë", euro: "€", excl: "!", fcy: "ф", female: "♀", ffilig: "ffi", fflig: "ff", ffllig: "ffl", ffr: "𝔣", filig: "fi", fjlig: "fj", flat: "♭", fllig: "fl", fltns: "▱", fnof: "ƒ", fopf: "𝕗", fork: "⋔", pitchfork: "⋔", forkv: "⫙", fpartint: "⨍", frac12: "½", half: "½", frac13: "⅓", frac14: "¼", frac15: "⅕", frac16: "⅙", frac18: "⅛", frac23: "⅔", frac25: "⅖", frac34: "¾", frac35: "⅗", frac38: "⅜", frac45: "⅘", frac56: "⅚", frac58: "⅝", frac78: "⅞", frasl: "⁄", frown: "⌢", sfrown: "⌢", fscr: "𝒻", gEl: "⪌", gtreqqless: "⪌", gacute: "ǵ", gamma: "γ", gap: "⪆", gtrapprox: "⪆", gbreve: "ğ", gcirc: "ĝ", gcy: "г", gdot: "ġ", gescc: "⪩", gesdot: "⪀", gesdoto: "⪂", gesdotol: "⪄", gesl: "⋛︀", gesles: "⪔", gfr: "𝔤", gimel: "ℷ", gjcy: "ѓ", glE: "⪒", gla: "⪥", glj: "⪤", gnE: "≩", gneqq: "≩", gnap: "⪊", gnapprox: "⪊", gne: "⪈", gneq: "⪈", gnsim: "⋧", gopf: "𝕘", gscr: "ℊ", gsime: "⪎", gsiml: "⪐", gtcc: "⪧", gtcir: "⩺", gtdot: "⋗", gtrdot: "⋗", gtlPar: "⦕", gtquest: "⩼", gtrarr: "⥸", gvertneqq: "≩︀", gvnE: "≩︀", hardcy: "ъ", harrcir: "⥈", harrw: "↭", leftrightsquigarrow: "↭", hbar: "ℏ", hslash: "ℏ", planck: "ℏ", plankv: "ℏ", hcirc: "ĥ", hearts: "♥", heartsuit: "♥", hellip: "…", mldr: "…", hercon: "⊹", hfr: "𝔥", hksearow: "⤥", searhk: "⤥", hkswarow: "⤦", swarhk: "⤦", hoarr: "⇿", homtht: "∻", hookleftarrow: "↩", larrhk: "↩", hookrightarrow: "↪", rarrhk: "↪", hopf: "𝕙", horbar: "―", hscr: "𝒽", hstrok: "ħ", hybull: "⁃", iacute: "í", icirc: "î", icy: "и", iecy: "е", iexcl: "¡", ifr: "𝔦", igrave: "ì", iiiint: "⨌", qint: "⨌", iiint: "∭", tint: "∭", iinfin: "⧜", iiota: "℩", ijlig: "ij", imacr: "ī", imath: "ı", inodot: "ı", imof: "⊷", imped: "Ƶ", incare: "℅", infin: "∞", infintie: "⧝", intcal: "⊺", intercal: "⊺", intlarhk: "⨗", intprod: "⨼", iprod: "⨼", iocy: "ё", iogon: "į", iopf: "𝕚", iota: "ι", iquest: "¿", iscr: "𝒾", isinE: "⋹", isindot: "⋵", isins: "⋴", isinsv: "⋳", itilde: "ĩ", iukcy: "і", iuml: "ï", jcirc: "ĵ", jcy: "й", jfr: "𝔧", jmath: "ȷ", jopf: "𝕛", jscr: "𝒿", jsercy: "ј", jukcy: "є", kappa: "κ", kappav: "ϰ", varkappa: "ϰ", kcedil: "ķ", kcy: "к", kfr: "𝔨", kgreen: "ĸ", khcy: "х", kjcy: "ќ", kopf: "𝕜", kscr: "𝓀", lAtail: "⤛", lBarr: "⤎", lEg: "⪋", lesseqqgtr: "⪋", lHar: "⥢", lacute: "ĺ", laemptyv: "⦴", lambda: "λ", langd: "⦑", lap: "⪅", lessapprox: "⪅", laquo: "«", larrbfs: "⤟", larrfs: "⤝", larrlp: "↫", looparrowleft: "↫", larrpl: "⤹", larrsim: "⥳", larrtl: "↢", leftarrowtail: "↢", lat: "⪫", latail: "⤙", late: "⪭", lates: "⪭︀", lbarr: "⤌", lbbrk: "❲", lbrace: "{", lcub: "{", lbrack: "[", lsqb: "[", lbrke: "⦋", lbrksld: "⦏", lbrkslu: "⦍", lcaron: "ľ", lcedil: "ļ", lcy: "л", ldca: "⤶", ldrdhar: "⥧", ldrushar: "⥋", ldsh: "↲", le: "≤", leq: "≤", leftleftarrows: "⇇", llarr: "⇇", leftthreetimes: "⋋", lthree: "⋋", lescc: "⪨", lesdot: "⩿", lesdoto: "⪁", lesdotor: "⪃", lesg: "⋚︀", lesges: "⪓", lessdot: "⋖", ltdot: "⋖", lfisht: "⥼", lfr: "𝔩", lgE: "⪑", lharul: "⥪", lhblk: "▄", ljcy: "љ", llhard: "⥫", lltri: "◺", lmidot: "ŀ", lmoust: "⎰", lmoustache: "⎰", lnE: "≨", lneqq: "≨", lnap: "⪉", lnapprox: "⪉", lne: "⪇", lneq: "⪇", lnsim: "⋦", loang: "⟬", loarr: "⇽", longmapsto: "⟼", xmap: "⟼", looparrowright: "↬", rarrlp: "↬", lopar: "⦅", lopf: "𝕝", loplus: "⨭", lotimes: "⨴", lowast: "∗", loz: "◊", lozenge: "◊", lpar: "(", lparlt: "⦓", lrhard: "⥭", lrm: "‎", lrtri: "⊿", lsaquo: "‹", lscr: "𝓁", lsime: "⪍", lsimg: "⪏", lsquor: "‚", sbquo: "‚", lstrok: "ł", ltcc: "⪦", ltcir: "⩹", ltimes: "⋉", ltlarr: "⥶", ltquest: "⩻", ltrPar: "⦖", ltri: "◃", triangleleft: "◃", lurdshar: "⥊", luruhar: "⥦", lvertneqq: "≨︀", lvnE: "≨︀", mDDot: "∺", macr: "¯", strns: "¯", male: "♂", malt: "✠", maltese: "✠", marker: "▮", mcomma: "⨩", mcy: "м", mdash: "—", mfr: "𝔪", mho: "℧", micro: "µ", midcir: "⫰", minus: "−", minusdu: "⨪", mlcp: "⫛", models: "⊧", mopf: "𝕞", mscr: "𝓂", mu: "μ", multimap: "⊸", mumap: "⊸", nGg: "⋙̸", nGt: "≫⃒", nLeftarrow: "⇍", nlArr: "⇍", nLeftrightarrow: "⇎", nhArr: "⇎", nLl: "⋘̸", nLt: "≪⃒", nRightarrow: "⇏", nrArr: "⇏", nVDash: "⊯", nVdash: "⊮", nacute: "ń", nang: "∠⃒", napE: "⩰̸", napid: "≋̸", napos: "ʼn", natur: "♮", natural: "♮", ncap: "⩃", ncaron: "ň", ncedil: "ņ", ncongdot: "⩭̸", ncup: "⩂", ncy: "н", ndash: "–", neArr: "⇗", nearhk: "⤤", nedot: "≐̸", nesear: "⤨", toea: "⤨", nfr: "𝔫", nharr: "↮", nleftrightarrow: "↮", nhpar: "⫲", nis: "⋼", nisd: "⋺", njcy: "њ", nlE: "≦̸", nleqq: "≦̸", nlarr: "↚", nleftarrow: "↚", nldr: "‥", nopf: "𝕟", not: "¬", notinE: "⋹̸", notindot: "⋵̸", notinvb: "⋷", notinvc: "⋶", notnivb: "⋾", notnivc: "⋽", nparsl: "⫽⃥", npart: "∂̸", npolint: "⨔", nrarr: "↛", nrightarrow: "↛", nrarrc: "⤳̸", nrarrw: "↝̸", nscr: "𝓃", nsub: "⊄", nsubE: "⫅̸", nsubseteqq: "⫅̸", nsup: "⊅", nsupE: "⫆̸", nsupseteqq: "⫆̸", ntilde: "ñ", nu: "ν", num: "#", numero: "№", numsp: " ", nvDash: "⊭", nvHarr: "⤄", nvap: "≍⃒", nvdash: "⊬", nvge: "≥⃒", nvgt: ">⃒", nvinfin: "⧞", nvlArr: "⤂", nvle: "≤⃒", nvlt: "<⃒", nvltrie: "⊴⃒", nvrArr: "⤃", nvrtrie: "⊵⃒", nvsim: "∼⃒", nwArr: "⇖", nwarhk: "⤣", nwnear: "⤧", oacute: "ó", ocirc: "ô", ocy: "о", odblac: "ő", odiv: "⨸", odsold: "⦼", oelig: "œ", ofcir: "⦿", ofr: "𝔬", ogon: "˛", ograve: "ò", ogt: "⧁", ohbar: "⦵", olcir: "⦾", olcross: "⦻", olt: "⧀", omacr: "ō", omega: "ω", omicron: "ο", omid: "⦶", oopf: "𝕠", opar: "⦷", operp: "⦹", or: "∨", vee: "∨", ord: "⩝", order: "ℴ", orderof: "ℴ", oscr: "ℴ", ordf: "ª", ordm: "º", origof: "⊶", oror: "⩖", orslope: "⩗", orv: "⩛", oslash: "ø", osol: "⊘", otilde: "õ", otimesas: "⨶", ouml: "ö", ovbar: "⌽", para: "¶", parsim: "⫳", parsl: "⫽", pcy: "п", percnt: "%", period: ".", permil: "‰", pertenk: "‱", pfr: "𝔭", phi: "φ", phiv: "ϕ", straightphi: "ϕ", varphi: "ϕ", phone: "☎", pi: "π", piv: "ϖ", varpi: "ϖ", planckh: "ℎ", plus: "+", plusacir: "⨣", pluscir: "⨢", plusdu: "⨥", pluse: "⩲", plussim: "⨦", plustwo: "⨧", pointint: "⨕", popf: "𝕡", pound: "£", prE: "⪳", prap: "⪷", precapprox: "⪷", precnapprox: "⪹", prnap: "⪹", precneqq: "⪵", prnE: "⪵", precnsim: "⋨", prnsim: "⋨", prime: "′", profalar: "⌮", profline: "⌒", profsurf: "⌓", prurel: "⊰", pscr: "𝓅", psi: "ψ", puncsp: " ", qfr: "𝔮", qopf: "𝕢", qprime: "⁗", qscr: "𝓆", quatint: "⨖", quest: "?", rAtail: "⤜", rHar: "⥤", race: "∽̱", racute: "ŕ", raemptyv: "⦳", rangd: "⦒", range: "⦥", raquo: "»", rarrap: "⥵", rarrbfs: "⤠", rarrc: "⤳", rarrfs: "⤞", rarrpl: "⥅", rarrsim: "⥴", rarrtl: "↣", rightarrowtail: "↣", rarrw: "↝", rightsquigarrow: "↝", ratail: "⤚", ratio: "∶", rbbrk: "❳", rbrace: "}", rcub: "}", rbrack: "]", rsqb: "]", rbrke: "⦌", rbrksld: "⦎", rbrkslu: "⦐", rcaron: "ř", rcedil: "ŗ", rcy: "р", rdca: "⤷", rdldhar: "⥩", rdsh: "↳", rect: "▭", rfisht: "⥽", rfr: "𝔯", rharul: "⥬", rho: "ρ", rhov: "ϱ", varrho: "ϱ", rightrightarrows: "⇉", rrarr: "⇉", rightthreetimes: "⋌", rthree: "⋌", ring: "˚", rlm: "‏", rmoust: "⎱", rmoustache: "⎱", rnmid: "⫮", roang: "⟭", roarr: "⇾", ropar: "⦆", ropf: "𝕣", roplus: "⨮", rotimes: "⨵", rpar: ")", rpargt: "⦔", rppolint: "⨒", rsaquo: "›", rscr: "𝓇", rtimes: "⋊", rtri: "▹", triangleright: "▹", rtriltri: "⧎", ruluhar: "⥨", rx: "℞", sacute: "ś", scE: "⪴", scap: "⪸", succapprox: "⪸", scaron: "š", scedil: "ş", scirc: "ŝ", scnE: "⪶", succneqq: "⪶", scnap: "⪺", succnapprox: "⪺", scnsim: "⋩", succnsim: "⋩", scpolint: "⨓", scy: "с", sdot: "⋅", sdote: "⩦", seArr: "⇘", sect: "§", semi: ";", seswar: "⤩", tosa: "⤩", sext: "✶", sfr: "𝔰", sharp: "♯", shchcy: "щ", shcy: "ш", shy: "­", sigma: "σ", sigmaf: "ς", sigmav: "ς", varsigma: "ς", simdot: "⩪", simg: "⪞", simgE: "⪠", siml: "⪝", simlE: "⪟", simne: "≆", simplus: "⨤", simrarr: "⥲", smashp: "⨳", smeparsl: "⧤", smile: "⌣", ssmile: "⌣", smt: "⪪", smte: "⪬", smtes: "⪬︀", softcy: "ь", sol: "/", solb: "⧄", solbar: "⌿", sopf: "𝕤", spades: "♠", spadesuit: "♠", sqcaps: "⊓︀", sqcups: "⊔︀", sscr: "𝓈", star: "☆", sub: "⊂", subset: "⊂", subE: "⫅", subseteqq: "⫅", subdot: "⪽", subedot: "⫃", submult: "⫁", subnE: "⫋", subsetneqq: "⫋", subne: "⊊", subsetneq: "⊊", subplus: "⪿", subrarr: "⥹", subsim: "⫇", subsub: "⫕", subsup: "⫓", sung: "♪", sup1: "¹", sup2: "²", sup3: "³", supE: "⫆", supseteqq: "⫆", supdot: "⪾", supdsub: "⫘", supedot: "⫄", suphsol: "⟉", suphsub: "⫗", suplarr: "⥻", supmult: "⫂", supnE: "⫌", supsetneqq: "⫌", supne: "⊋", supsetneq: "⊋", supplus: "⫀", supsim: "⫈", supsub: "⫔", supsup: "⫖", swArr: "⇙", swnwar: "⤪", szlig: "ß", target: "⌖", tau: "τ", tcaron: "ť", tcedil: "ţ", tcy: "т", telrec: "⌕", tfr: "𝔱", theta: "θ", thetasym: "ϑ", thetav: "ϑ", vartheta: "ϑ", thorn: "þ", times: "×", timesbar: "⨱", timesd: "⨰", topbot: "⌶", topcir: "⫱", topf: "𝕥", topfork: "⫚", tprime: "‴", triangle: "▵", utri: "▵", triangleq: "≜", trie: "≜", tridot: "◬", triminus: "⨺", triplus: "⨹", trisb: "⧍", tritime: "⨻", trpezium: "⏢", tscr: "𝓉", tscy: "ц", tshcy: "ћ", tstrok: "ŧ", uHar: "⥣", uacute: "ú", ubrcy: "ў", ubreve: "ŭ", ucirc: "û", ucy: "у", udblac: "ű", ufisht: "⥾", ufr: "𝔲", ugrave: "ù", uhblk: "▀", ulcorn: "⌜", ulcorner: "⌜", ulcrop: "⌏", ultri: "◸", umacr: "ū", uogon: "ų", uopf: "𝕦", upsi: "υ", upsilon: "υ", upuparrows: "⇈", uuarr: "⇈", urcorn: "⌝", urcorner: "⌝", urcrop: "⌎", uring: "ů", urtri: "◹", uscr: "𝓊", utdot: "⋰", utilde: "ũ", uuml: "ü", uwangle: "⦧", vBar: "⫨", vBarv: "⫩", vangrt: "⦜", varsubsetneq: "⊊︀", vsubne: "⊊︀", varsubsetneqq: "⫋︀", vsubnE: "⫋︀", varsupsetneq: "⊋︀", vsupne: "⊋︀", varsupsetneqq: "⫌︀", vsupnE: "⫌︀", vcy: "в", veebar: "⊻", veeeq: "≚", vellip: "⋮", vfr: "𝔳", vopf: "𝕧", vscr: "𝓋", vzigzag: "⦚", wcirc: "ŵ", wedbar: "⩟", wedgeq: "≙", weierp: "℘", wp: "℘", wfr: "𝔴", wopf: "𝕨", wscr: "𝓌", xfr: "𝔵", xi: "ξ", xnis: "⋻", xopf: "𝕩", xscr: "𝓍", yacute: "ý", yacy: "я", ycirc: "ŷ", ycy: "ы", yen: "¥", yfr: "𝔶", yicy: "ї", yopf: "𝕪", yscr: "𝓎", yucy: "ю", yuml: "ÿ", zacute: "ź", zcaron: "ž", zcy: "з", zdot: "ż", zeta: "ζ", zfr: "𝔷", zhcy: "ж", zigrarr: "⇝", zopf: "𝕫", zscr: "𝓏", zwj: "‍", zwnj: "‌" };
1634
+ _e.ngsp = "";
1635
+ var za = class {
1636
+ constructor(e, t, r) {
1637
+ __publicField(this, "tokens");
1638
+ __publicField(this, "errors");
1639
+ __publicField(this, "nonNormalizedIcuExpressions");
1640
+ this.tokens = e, this.errors = t, this.nonNormalizedIcuExpressions = r;
1641
+ }
1642
+ };
1643
+ function Di(e, t, r, n = {}) {
1644
+ let i = new Qa(new rt(e, t), r, n);
1645
+ return i.tokenize(), new za(no(i.tokens), i.errors, i.nonNormalizedIcuExpressions);
1646
+ }
1647
+ var Ga = /\r\n?/g;
1648
+ function Se(e) {
1649
+ return `Unexpected character "${e === 0 ? "EOF" : String.fromCharCode(e)}"`;
1650
+ }
1651
+ function xi(e) {
1652
+ return `Unknown entity "${e}" - use the "&#<decimal>;" or "&#x<hex>;" syntax`;
1653
+ }
1654
+ function $a(e, t) {
1655
+ return `Unable to parse entity "${t}" - ${e} character reference entities must end with ";"`;
1656
+ }
1657
+ var ja = ["@if", "@else", "@for", "@switch", "@case", "@default", "@empty", "@defer", "@placeholder", "@loading", "@error", "@content"], it = { start: "{{", end: "}}" }, Ya = /^default[^\S\r\n]+never/, Ka = /^else[^\S\r\n]+if/, Qa = class {
1658
+ constructor(e, t, r) {
1659
+ __publicField(this, "_getTagContentType");
1660
+ __publicField(this, "_cursor");
1661
+ __publicField(this, "_tokenizeIcu");
1662
+ __publicField(this, "_leadingTriviaCodePoints");
1663
+ __publicField(this, "_canSelfClose");
1664
+ __publicField(this, "_allowHtmComponentClosingTags");
1665
+ __publicField(this, "_allowStartTagComments");
1666
+ __publicField(this, "_currentTokenStart", null);
1667
+ __publicField(this, "_currentTokenType", null);
1668
+ __publicField(this, "_expansionCaseStack", []);
1669
+ __publicField(this, "_openDirectiveCount", 0);
1670
+ __publicField(this, "_inInterpolation", false);
1671
+ __publicField(this, "_preserveLineEndings");
1672
+ __publicField(this, "_i18nNormalizeLineEndingsInICUs");
1673
+ __publicField(this, "_fullNameStack", []);
1674
+ __publicField(this, "_tokenizeBlocks");
1675
+ __publicField(this, "_tokenizeLet");
1676
+ __publicField(this, "_selectorlessEnabled");
1677
+ __publicField(this, "tokens", []);
1678
+ __publicField(this, "errors", []);
1679
+ __publicField(this, "nonNormalizedIcuExpressions", []);
1680
+ this._getTagContentType = t, this._tokenizeIcu = r.tokenizeExpansionForms || false, this._leadingTriviaCodePoints = r.leadingTriviaChars && r.leadingTriviaChars.map((i) => i.codePointAt(0) || 0), this._canSelfClose = r.canSelfClose || false, this._allowHtmComponentClosingTags = r.allowHtmComponentClosingTags || false, this._allowStartTagComments = r.allowStartTagComments ?? true;
1681
+ let n = r.range || { endPos: e.content.length, startPos: 0, startLine: 0, startCol: 0 };
1682
+ this._cursor = r.escapedString ? new io(e, n) : new Ii(e, n), this._preserveLineEndings = r.preserveLineEndings || false, this._i18nNormalizeLineEndingsInICUs = r.i18nNormalizeLineEndingsInICUs || false, this._tokenizeBlocks = r.tokenizeBlocks ?? true, this._tokenizeLet = r.tokenizeLet ?? true, this._selectorlessEnabled = r.selectorlessEnabled ?? false;
1683
+ try {
1684
+ this._cursor.init();
1685
+ } catch (i) {
1686
+ this.handleError(i);
1687
+ }
1688
+ }
1689
+ _processCarriageReturns(e) {
1690
+ return this._preserveLineEndings ? e : e.replace(Ga, `
1691
+ `);
1692
+ }
1693
+ tokenize() {
1694
+ for (; this._cursor.peek() !== 0; ) {
1695
+ let e = this._cursor.clone();
1696
+ try {
1697
+ if (this._attemptCharCode(60)) if (this._attemptCharCode(33)) this._attemptStr("[CDATA[") ? this._consumeCdata(e) : this._attemptStr("--") ? this._consumeComment(e) : this._attemptStrCaseInsensitive("doctype") ? this._consumeDocType(e) : this._consumeBogusComment(e);
1698
+ else if (this._attemptCharCode(47)) this._consumeTagClose(e);
1699
+ else {
1700
+ let t = this._cursor.clone();
1701
+ this._attemptCharCode(63) ? (this._cursor = t, this._consumeBogusComment(e)) : this._consumeTagOpen(e);
1702
+ }
1703
+ else this._tokenizeLet && this._cursor.peek() === 64 && !this._inInterpolation && this._isLetStart() ? this._consumeLetDeclaration(e) : this._tokenizeBlocks && this._isBlockStart() ? this._consumeBlockStart(e) : this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansionCase() && !this._isInExpansionForm() && this._attemptCharCode(125) ? this._consumeBlockEnd(e) : this._tokenizeIcu && this._tokenizeExpansionForm() || this._consumeWithInterpolation(5, 8, () => this._isTextEnd(), () => this._isTagStart());
1704
+ } catch (t) {
1705
+ this.handleError(t);
1706
+ }
1707
+ }
1708
+ this._beginToken(43), this._endToken([]);
1709
+ }
1710
+ _getBlockName() {
1711
+ let e = false, t = this._cursor.clone();
1712
+ this._attemptCharCodeUntilFn((n) => nt(n) ? !e : ro(n) ? (e = true, false) : true);
1713
+ let r = this._cursor.getChars(t).trim();
1714
+ return Ka.test(r) ? r = "else if" : Ya.test(r) && (r = "default never"), r;
1715
+ }
1716
+ _consumeBlockStart(e) {
1717
+ this._requireCharCode(64), this._beginToken(26, e);
1718
+ let t = this._endToken([this._getBlockName()]);
1719
+ if (this._cursor.peek() === 40) if (this._cursor.advance(), this._consumeBlockParameters(), this._attemptCharCodeUntilFn(b), this._attemptCharCode(41)) this._attemptCharCodeUntilFn(b);
1720
+ else {
1721
+ t.type = 30;
1722
+ return;
1723
+ }
1724
+ if (t.parts[0] === "default never" && this._attemptCharCode(59)) {
1725
+ this._beginToken(27), this._endToken([]), this._beginToken(28), this._endToken([]);
1726
+ return;
1727
+ }
1728
+ this._attemptCharCode(123) ? (this._beginToken(27), this._endToken([])) : this._isBlockStart() && (t.parts[0] === "case" || t.parts[0] === "default") ? (this._beginToken(27), this._endToken([]), this._beginToken(28), this._endToken([])) : t.type = 30;
1729
+ }
1730
+ _consumeBlockEnd(e) {
1731
+ this._beginToken(28, e), this._endToken([]);
1732
+ }
1733
+ _consumeBlockParameters() {
1734
+ for (this._attemptCharCodeUntilFn(Ai); this._cursor.peek() !== 41 && this._cursor.peek() !== 0; ) {
1735
+ this._beginToken(29);
1736
+ let e = this._cursor.clone(), t = null, r = 0;
1737
+ for (; this._cursor.peek() !== 59 && this._cursor.peek() !== 0 || t !== null; ) {
1738
+ let n = this._cursor.peek();
1739
+ if (n === 92) this._cursor.advance();
1740
+ else if (n === t) t = null;
1741
+ else if (t === null && Rt(n)) t = n;
1742
+ else if (n === 40 && t === null) r++;
1743
+ else if (n === 41 && t === null) {
1744
+ if (r === 0) break;
1745
+ r > 0 && r--;
1746
+ }
1747
+ this._cursor.advance();
1748
+ }
1749
+ this._endToken([this._cursor.getChars(e)]), this._attemptCharCodeUntilFn(Ai);
1750
+ }
1751
+ }
1752
+ _consumeLetDeclaration(e) {
1753
+ if (this._requireStr("@let"), this._beginToken(31, e), nt(this._cursor.peek())) this._attemptCharCodeUntilFn(b);
1754
+ else {
1755
+ let r = this._endToken([this._cursor.getChars(e)]);
1756
+ r.type = 34;
1757
+ return;
1758
+ }
1759
+ let t = this._endToken([this._getLetDeclarationName()]);
1760
+ if (this._attemptCharCodeUntilFn(b), !this._attemptCharCode(61)) {
1761
+ t.type = 34;
1762
+ return;
1763
+ }
1764
+ this._attemptCharCodeUntilFn((r) => b(r) && !Oe(r)), this._consumeLetDeclarationValue(), this._cursor.peek() === 59 ? (this._beginToken(33), this._cursor.advance(), this._endToken([])) : (t.type = 34, t.sourceSpan = this._cursor.getSpan(e));
1765
+ }
1766
+ _getLetDeclarationName() {
1767
+ let e = this._cursor.clone(), t = false;
1768
+ return this._attemptCharCodeUntilFn((r) => Re(r) || r === 36 || r === 95 || t && Ie(r) ? (t = true, false) : true), this._cursor.getChars(e).trim();
1769
+ }
1770
+ _consumeLetDeclarationValue() {
1771
+ let e = this._cursor.clone();
1772
+ for (this._beginToken(32, e); this._cursor.peek() !== 0; ) {
1773
+ let t = this._cursor.peek();
1774
+ if (t === 59) break;
1775
+ Rt(t) && (this._cursor.advance(), this._attemptCharCodeUntilFn((r) => r === 92 ? (this._cursor.advance(), false) : r === t)), this._cursor.advance();
1776
+ }
1777
+ this._endToken([this._cursor.getChars(e)]);
1778
+ }
1779
+ _tokenizeExpansionForm() {
1780
+ if (this.isExpansionFormStart()) return this._consumeExpansionFormStart(), true;
1781
+ if (eo(this._cursor.peek()) && this._isInExpansionForm()) return this._consumeExpansionCaseStart(), true;
1782
+ if (this._cursor.peek() === 125) {
1783
+ if (this._isInExpansionCase()) return this._consumeExpansionCaseEnd(), true;
1784
+ if (this._isInExpansionForm()) return this._consumeExpansionFormEnd(), true;
1785
+ }
1786
+ return false;
1787
+ }
1788
+ _beginToken(e, t = this._cursor.clone()) {
1789
+ this._currentTokenStart = t, this._currentTokenType = e;
1790
+ }
1791
+ _endToken(e, t) {
1792
+ if (this._currentTokenStart === null) throw new te(this._cursor.getSpan(t), "Programming error - attempted to end a token when there was no start to the token");
1793
+ if (this._currentTokenType === null) throw new te(this._cursor.getSpan(this._currentTokenStart), "Programming error - attempted to end a token which has no token type");
1794
+ let r = { type: this._currentTokenType, parts: e, sourceSpan: (t ?? this._cursor).getSpan(this._currentTokenStart, this._leadingTriviaCodePoints) };
1795
+ return this.tokens.push(r), this._currentTokenStart = null, this._currentTokenType = null, r;
1796
+ }
1797
+ _createError(e, t) {
1798
+ this._isInExpansionForm() && (e += ` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);
1799
+ let r = new te(t, e);
1800
+ return this._currentTokenStart = null, this._currentTokenType = null, r;
1801
+ }
1802
+ handleError(e) {
1803
+ if (e instanceof Cr && (e = this._createError(e.msg, this._cursor.getSpan(e.cursor))), e instanceof te) this.errors.push(e);
1804
+ else throw e;
1805
+ }
1806
+ _attemptCharCode(e) {
1807
+ return this._cursor.peek() === e ? (this._cursor.advance(), true) : false;
1808
+ }
1809
+ _attemptCharCodeCaseInsensitive(e) {
1810
+ return to(this._cursor.peek(), e) ? (this._cursor.advance(), true) : false;
1811
+ }
1812
+ _requireCharCode(e) {
1813
+ let t = this._cursor.clone();
1814
+ if (!this._attemptCharCode(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1815
+ }
1816
+ _attemptStr(e) {
1817
+ let t = e.length;
1818
+ if (this._cursor.charsLeft() < t) return false;
1819
+ let r = this._cursor.clone();
1820
+ for (let n = 0; n < t; n++) if (!this._attemptCharCode(e.charCodeAt(n))) return this._cursor = r, false;
1821
+ return true;
1822
+ }
1823
+ _attemptStrCaseInsensitive(e) {
1824
+ for (let t = 0; t < e.length; t++) if (!this._attemptCharCodeCaseInsensitive(e.charCodeAt(t))) return false;
1825
+ return true;
1826
+ }
1827
+ _requireStr(e) {
1828
+ let t = this._cursor.clone();
1829
+ if (!this._attemptStr(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1830
+ }
1831
+ _requireStrCaseInsensitive(e) {
1832
+ let t = this._cursor.clone();
1833
+ if (!this._attemptStrCaseInsensitive(e)) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(t));
1834
+ }
1835
+ _attemptCharCodeUntilFn(e) {
1836
+ for (; !e(this._cursor.peek()); ) this._cursor.advance();
1837
+ }
1838
+ _requireCharCodeUntilFn(e, t) {
1839
+ let r = this._cursor.clone();
1840
+ if (this._attemptCharCodeUntilFn(e), this._cursor.diff(r) < t) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(r));
1841
+ }
1842
+ _attemptUntilChar(e) {
1843
+ for (; this._cursor.peek() !== e; ) this._cursor.advance();
1844
+ }
1845
+ _readChar() {
1846
+ let e = String.fromCodePoint(this._cursor.peek());
1847
+ return this._cursor.advance(), e;
1848
+ }
1849
+ _peekStr(e) {
1850
+ let t = e.length;
1851
+ if (this._cursor.charsLeft() < t) return false;
1852
+ let r = this._cursor.clone();
1853
+ for (let n = 0; n < t; n++) {
1854
+ if (r.peek() !== e.charCodeAt(n)) return false;
1855
+ r.advance();
1856
+ }
1857
+ return true;
1858
+ }
1859
+ _isBlockStart() {
1860
+ return this._cursor.peek() === 64 && ja.some((e) => this._peekStr(e));
1861
+ }
1862
+ _isLetStart() {
1863
+ return this._cursor.peek() === 64 && this._peekStr("@let");
1864
+ }
1865
+ _consumeEntity(e) {
1866
+ this._beginToken(9);
1867
+ let t = this._cursor.clone();
1868
+ if (this._cursor.advance(), this._attemptCharCode(35)) {
1869
+ let r = this._attemptCharCode(120) || this._attemptCharCode(88), n = this._cursor.clone();
1870
+ if (this._attemptCharCodeUntilFn(Ja), this._cursor.peek() != 59) {
1871
+ this._cursor.advance();
1872
+ let s = r ? "hexadecimal" : "decimal";
1873
+ throw this._createError($a(s, this._cursor.getChars(t)), this._cursor.getSpan());
1874
+ }
1875
+ let i = this._cursor.getChars(n);
1876
+ this._cursor.advance();
1877
+ try {
1878
+ let s = parseInt(i, r ? 16 : 10);
1879
+ this._endToken([String.fromCodePoint(s), this._cursor.getChars(t)]);
1880
+ } catch {
1881
+ throw this._createError(xi(this._cursor.getChars(t)), this._cursor.getSpan());
1882
+ }
1883
+ } else {
1884
+ let r = this._cursor.clone();
1885
+ if (this._attemptCharCodeUntilFn(Za), this._cursor.peek() != 59) this._beginToken(e, t), this._cursor = r, this._endToken(["&"]);
1886
+ else {
1887
+ let n = this._cursor.getChars(r);
1888
+ this._cursor.advance();
1889
+ let i = _e.hasOwnProperty(n) && _e[n];
1890
+ if (!i) throw this._createError(xi(n), this._cursor.getSpan(t));
1891
+ this._endToken([i, `&${n};`]);
1892
+ }
1893
+ }
1894
+ }
1895
+ _consumeRawText(e, t) {
1896
+ this._beginToken(e ? 6 : 7);
1897
+ let r = [];
1898
+ for (; ; ) {
1899
+ let n = this._cursor.clone(), i = t();
1900
+ if (this._cursor = n, i) break;
1901
+ e && this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(r.join(""))]), r.length = 0, this._consumeEntity(6), this._beginToken(6)) : r.push(this._readChar());
1902
+ }
1903
+ this._endToken([this._processCarriageReturns(r.join(""))]);
1904
+ }
1905
+ _consumeComment(e) {
1906
+ this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("-->")), this._beginToken(11), this._requireStr("-->"), this._endToken([]);
1907
+ }
1908
+ _consumeBogusComment(e) {
1909
+ this._beginToken(10, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(11), this._cursor.advance(), this._endToken([]);
1910
+ }
1911
+ _consumeCdata(e) {
1912
+ this._beginToken(13, e), this._endToken([]), this._consumeRawText(false, () => this._attemptStr("]]>")), this._beginToken(14), this._requireStr("]]>"), this._endToken([]);
1913
+ }
1914
+ _consumeDocType(e) {
1915
+ this._beginToken(19, e), this._endToken([]), this._consumeRawText(false, () => this._cursor.peek() === 62), this._beginToken(20), this._cursor.advance(), this._endToken([]);
1916
+ }
1917
+ _consumePrefixAndName(e) {
1918
+ let t = this._cursor.clone(), r = "";
1919
+ for (; this._cursor.peek() !== 58 && !Xa(this._cursor.peek()); ) this._cursor.advance();
1920
+ let n;
1921
+ this._cursor.peek() === 58 ? (r = this._cursor.getChars(t), this._cursor.advance(), n = this._cursor.clone()) : n = t, this._requireCharCodeUntilFn(e, r === "" ? 0 : 1);
1922
+ let i = this._cursor.getChars(n);
1923
+ return [r, i];
1924
+ }
1925
+ _consumeSingleLineComment(e) {
1926
+ let t = this._cursor.clone();
1927
+ this._attemptCharCodeUntilFn((i) => Oe(i) || i === 0);
1928
+ let r = this._cursor.clone(), n = r.getChars(t);
1929
+ this._beginToken(12, e), this._endToken([n, "single"], r), this._attemptCharCodeUntilFn(b);
1930
+ }
1931
+ _consumeMultiLineComment(e) {
1932
+ let t = this._cursor.clone();
1933
+ this._attemptCharCodeUntilFn((s) => {
1934
+ if (s === 0) return true;
1935
+ if (s === 42) {
1936
+ let a = this._cursor.clone();
1937
+ return a.advance(), a.peek() === 47;
1938
+ }
1939
+ return false;
1940
+ });
1941
+ let r = this._cursor.clone(), n = r.getChars(t), i = r;
1942
+ this._attemptStr("*/") && (i = this._cursor.clone(), this._attemptCharCodeUntilFn(b)), this._beginToken(12, e), this._endToken([n, "multi"], i);
1943
+ }
1944
+ _consumeTagOpen(e) {
1945
+ let t, r, n, i, s = [];
1946
+ try {
1947
+ if (this._selectorlessEnabled && Ot(this._cursor.peek())) i = this._consumeComponentOpenStart(e), [n, r, t] = i.parts, r && (n += `:${r}`), t && (n += `:${t}`), this._attemptCharCodeUntilFn(b);
1948
+ else {
1949
+ if (!Re(this._cursor.peek())) throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(e));
1950
+ i = this._consumeTagOpenStart(e), r = i.parts[0], t = n = i.parts[1], this._attemptCharCodeUntilFn(b);
1951
+ }
1952
+ for (; ; ) {
1953
+ if (this._allowStartTagComments) {
1954
+ let o = this._cursor.clone();
1955
+ if (this._attemptStr("//")) {
1956
+ this._consumeSingleLineComment(o);
1957
+ continue;
1958
+ }
1959
+ if (this._attemptStr("/*")) {
1960
+ this._consumeMultiLineComment(o);
1961
+ continue;
1962
+ }
1963
+ }
1964
+ if (Ni(this._cursor.peek())) break;
1965
+ if (this._selectorlessEnabled && this._cursor.peek() === 64) {
1966
+ let o = this._cursor.clone(), l = o.clone();
1967
+ l.advance(), Ot(l.peek()) && this._consumeDirective(o, l);
1968
+ } else {
1969
+ let o = this._consumeAttribute();
1970
+ s.push(o);
1971
+ }
1972
+ }
1973
+ i.type === 35 ? this._consumeComponentOpenEnd() : this._consumeTagOpenEnd();
1974
+ } catch (o) {
1975
+ if (o instanceof te) {
1976
+ i ? i.type = i.type === 35 ? 39 : 4 : (this._beginToken(5, e), this._endToken(["<"]));
1977
+ return;
1978
+ }
1979
+ throw o;
1980
+ }
1981
+ if (this._canSelfClose && this.tokens[this.tokens.length - 1].type === 2) return;
1982
+ let a = this._getTagContentType(t, r, this._fullNameStack.length > 0, s);
1983
+ this._handleFullNameStackForTagOpen(r, t), a === 0 ? this._consumeRawTextWithTagClose(r, i, n, false) : a === 1 && this._consumeRawTextWithTagClose(r, i, n, true);
1984
+ }
1985
+ _consumeRawTextWithTagClose(e, t, r, n) {
1986
+ this._consumeRawText(n, () => !this._attemptCharCode(60) || !this._attemptCharCode(47) || (this._attemptCharCodeUntilFn(b), !this._attemptStrCaseInsensitive(e && t.type !== 35 ? `${e}:${r}` : r)) ? false : (this._attemptCharCodeUntilFn(b), this._attemptCharCode(62))), this._beginToken(t.type === 35 ? 38 : 3), this._requireCharCodeUntilFn((i) => i === 62, 3), this._cursor.advance(), this._endToken(t.parts), this._handleFullNameStackForTagClose(e, r);
1987
+ }
1988
+ _consumeTagOpenStart(e) {
1989
+ this._beginToken(0, e);
1990
+ let t = this._consumePrefixAndName(ve);
1991
+ return this._endToken(t);
1992
+ }
1993
+ _consumeComponentOpenStart(e) {
1994
+ this._beginToken(35, e);
1995
+ let t = this._consumeComponentName();
1996
+ return this._endToken(t);
1997
+ }
1998
+ _consumeComponentName() {
1999
+ let e = this._cursor.clone();
2000
+ for (; Pi(this._cursor.peek()); ) this._cursor.advance();
2001
+ let t = this._cursor.getChars(e), r = "", n = "";
2002
+ return this._cursor.peek() === 58 && (this._cursor.advance(), [r, n] = this._consumePrefixAndName(ve)), [t, r, n];
2003
+ }
2004
+ _consumeAttribute() {
2005
+ let [e, t] = this._consumeAttributeName(), r;
2006
+ return this._attemptCharCodeUntilFn(b), this._attemptCharCode(61) && (this._attemptCharCodeUntilFn(b), r = this._consumeAttributeValue()), this._attemptCharCodeUntilFn(b), { prefix: e, name: t, value: r };
2007
+ }
2008
+ _consumeAttributeName() {
2009
+ let e = this._cursor.peek();
2010
+ if (e === 39 || e === 34) throw this._createError(Se(e), this._cursor.getSpan());
2011
+ this._beginToken(15);
2012
+ let t;
2013
+ if (this._openDirectiveCount > 0) {
2014
+ let n = 0;
2015
+ t = (i) => {
2016
+ if (this._openDirectiveCount > 0) {
2017
+ if (i === 40) n++;
2018
+ else if (i === 41) {
2019
+ if (n === 0) return true;
2020
+ n--;
2021
+ }
2022
+ }
2023
+ return ve(i);
2024
+ };
2025
+ } else if (e === 91) {
2026
+ let n = 0;
2027
+ t = (i) => (i === 91 ? n++ : i === 93 && n--, n <= 0 ? ve(i) : Oe(i));
2028
+ } else t = ve;
2029
+ let r = this._consumePrefixAndName(t);
2030
+ return this._endToken(r), r;
2031
+ }
2032
+ _consumeAttributeValue() {
2033
+ let e;
2034
+ if (this._cursor.peek() === 39 || this._cursor.peek() === 34) {
2035
+ let t = this._cursor.peek();
2036
+ this._consumeQuote(t);
2037
+ let r = () => this._cursor.peek() === t;
2038
+ e = this._consumeWithInterpolation(17, 18, r, r), this._consumeQuote(t);
2039
+ } else {
2040
+ let t = () => ve(this._cursor.peek());
2041
+ e = this._consumeWithInterpolation(17, 18, t, t);
2042
+ }
2043
+ return e;
2044
+ }
2045
+ _consumeQuote(e) {
2046
+ this._beginToken(16), this._requireCharCode(e), this._endToken([String.fromCodePoint(e)]);
2047
+ }
2048
+ _consumeTagOpenEnd() {
2049
+ let e = this._attemptCharCode(47) ? 2 : 1;
2050
+ this._beginToken(e), this._requireCharCode(62), this._endToken([]);
2051
+ }
2052
+ _consumeComponentOpenEnd() {
2053
+ let e = this._attemptCharCode(47) ? 37 : 36;
2054
+ this._beginToken(e), this._requireCharCode(62), this._endToken([]);
2055
+ }
2056
+ _consumeTagClose(e) {
2057
+ if (this._selectorlessEnabled) {
2058
+ let t = e.clone();
2059
+ for (; t.peek() !== 62 && !Ot(t.peek()); ) t.advance();
2060
+ if (Ot(t.peek())) {
2061
+ this._beginToken(38, e);
2062
+ let r = this._consumeComponentName();
2063
+ this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken(r);
2064
+ return;
2065
+ }
2066
+ }
2067
+ if (this._beginToken(3, e), this._attemptCharCodeUntilFn(b), this._allowHtmComponentClosingTags && this._attemptCharCode(47)) this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([]);
2068
+ else {
2069
+ let [t, r] = this._consumePrefixAndName(ve);
2070
+ this._attemptCharCodeUntilFn(b), this._requireCharCode(62), this._endToken([t, r]), this._handleFullNameStackForTagClose(t, r);
2071
+ }
2072
+ }
2073
+ _consumeExpansionFormStart() {
2074
+ this._beginToken(21), this._requireCharCode(123), this._endToken([]), this._expansionCaseStack.push(21), this._beginToken(7);
2075
+ let e = this._readUntil(44), t = this._processCarriageReturns(e);
2076
+ if (this._i18nNormalizeLineEndingsInICUs) this._endToken([t]);
2077
+ else {
2078
+ let n = this._endToken([e]);
2079
+ t !== e && this.nonNormalizedIcuExpressions.push(n);
2080
+ }
2081
+ this._requireCharCode(44), this._attemptCharCodeUntilFn(b), this._beginToken(7);
2082
+ let r = this._readUntil(44);
2083
+ this._endToken([r]), this._requireCharCode(44), this._attemptCharCodeUntilFn(b);
2084
+ }
2085
+ _consumeExpansionCaseStart() {
2086
+ this._beginToken(22);
2087
+ let e = this._readUntil(123).trim();
2088
+ this._endToken([e]), this._attemptCharCodeUntilFn(b), this._beginToken(23), this._requireCharCode(123), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.push(23);
2089
+ }
2090
+ _consumeExpansionCaseEnd() {
2091
+ this._beginToken(24), this._requireCharCode(125), this._endToken([]), this._attemptCharCodeUntilFn(b), this._expansionCaseStack.pop();
2092
+ }
2093
+ _consumeExpansionFormEnd() {
2094
+ this._beginToken(25), this._requireCharCode(125), this._endToken([]), this._expansionCaseStack.pop();
2095
+ }
2096
+ _consumeWithInterpolation(e, t, r, n) {
2097
+ this._beginToken(e);
2098
+ let i = [];
2099
+ for (; !r(); ) {
2100
+ let a = this._cursor.clone();
2101
+ this._attemptStr(it.start) ? (this._endToken([this._processCarriageReturns(i.join(""))], a), i.length = 0, this._consumeInterpolation(t, a, n), this._beginToken(e)) : this._cursor.peek() === 38 ? (this._endToken([this._processCarriageReturns(i.join(""))]), i.length = 0, this._consumeEntity(e), this._beginToken(e)) : i.push(this._readChar());
2102
+ }
2103
+ this._inInterpolation = false;
2104
+ let s = this._processCarriageReturns(i.join(""));
2105
+ return this._endToken([s]), s;
2106
+ }
2107
+ _consumeInterpolation(e, t, r) {
2108
+ let n = [];
2109
+ this._beginToken(e, t), n.push(it.start);
2110
+ let i = this._cursor.clone(), s = null, a = false;
2111
+ for (; this._cursor.peek() !== 0 && (r === null || !r()); ) {
2112
+ let o = this._cursor.clone();
2113
+ if (this._isTagStart()) {
2114
+ this._cursor = o, n.push(this._getProcessedChars(i, o)), this._endToken(n);
2115
+ return;
2116
+ }
2117
+ if (s === null) if (this._attemptStr(it.end)) {
2118
+ n.push(this._getProcessedChars(i, o)), n.push(it.end), this._endToken(n);
2119
+ return;
2120
+ } else this._attemptStr("//") && (a = true);
2121
+ let l = this._cursor.peek();
2122
+ this._cursor.advance(), l === 92 ? this._cursor.advance() : l === s ? s = null : !a && s === null && Rt(l) && (s = l);
2123
+ }
2124
+ n.push(this._getProcessedChars(i, this._cursor)), this._endToken(n);
2125
+ }
2126
+ _consumeDirective(e, t) {
2127
+ for (this._requireCharCode(64), this._cursor.advance(); Pi(this._cursor.peek()); ) this._cursor.advance();
2128
+ this._beginToken(40, e);
2129
+ let r = this._cursor.getChars(t);
2130
+ if (this._endToken([r]), this._attemptCharCodeUntilFn(b), this._cursor.peek() === 40) {
2131
+ for (this._openDirectiveCount++, this._beginToken(41), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(b); !Ni(this._cursor.peek()) && this._cursor.peek() !== 41; ) this._consumeAttribute();
2132
+ if (this._attemptCharCodeUntilFn(b), this._openDirectiveCount--, this._cursor.peek() !== 41) {
2133
+ if (this._cursor.peek() === 62 || this._cursor.peek() === 47) return;
2134
+ throw this._createError(Se(this._cursor.peek()), this._cursor.getSpan(e));
2135
+ }
2136
+ this._beginToken(42), this._cursor.advance(), this._endToken([]), this._attemptCharCodeUntilFn(b);
2137
+ }
2138
+ }
2139
+ _getProcessedChars(e, t) {
2140
+ return this._processCarriageReturns(t.getChars(e));
2141
+ }
2142
+ _isTextEnd() {
2143
+ return !!(this._isTagStart() || this._cursor.peek() === 0 || this._tokenizeIcu && !this._inInterpolation && (this.isExpansionFormStart() || this._cursor.peek() === 125 && this._isInExpansionCase()) || this._tokenizeBlocks && !this._inInterpolation && !this._isInExpansion() && (this._isBlockStart() || this._isLetStart() || this._cursor.peek() === 125));
2144
+ }
2145
+ _isTagStart() {
2146
+ if (this._cursor.peek() === 60) {
2147
+ let e = this._cursor.clone();
2148
+ e.advance();
2149
+ let t = e.peek();
2150
+ if (97 <= t && t <= 122 || 65 <= t && t <= 90 || t === 47 || t === 33) return true;
2151
+ }
2152
+ return false;
2153
+ }
2154
+ _readUntil(e) {
2155
+ let t = this._cursor.clone();
2156
+ return this._attemptUntilChar(e), this._cursor.getChars(t);
2157
+ }
2158
+ _isInExpansion() {
2159
+ return this._isInExpansionCase() || this._isInExpansionForm();
2160
+ }
2161
+ _isInExpansionCase() {
2162
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 23;
2163
+ }
2164
+ _isInExpansionForm() {
2165
+ return this._expansionCaseStack.length > 0 && this._expansionCaseStack[this._expansionCaseStack.length - 1] === 21;
2166
+ }
2167
+ isExpansionFormStart() {
2168
+ if (this._cursor.peek() !== 123) return false;
2169
+ let e = this._cursor.clone(), t = this._attemptStr(it.start);
2170
+ return this._cursor = e, !t;
2171
+ }
2172
+ _handleFullNameStackForTagOpen(e, t) {
2173
+ let r = fe(e, t);
2174
+ (this._fullNameStack.length === 0 || this._fullNameStack[this._fullNameStack.length - 1] === r) && this._fullNameStack.push(r);
2175
+ }
2176
+ _handleFullNameStackForTagClose(e, t) {
2177
+ let r = fe(e, t);
2178
+ this._fullNameStack.length !== 0 && this._fullNameStack[this._fullNameStack.length - 1] === r && this._fullNameStack.pop();
2179
+ }
2180
+ };
2181
+ function b(e) {
2182
+ return !nt(e) || e === 0;
2183
+ }
2184
+ function ve(e) {
2185
+ return nt(e) || e === 62 || e === 60 || e === 47 || e === 39 || e === 34 || e === 61 || e === 0;
2186
+ }
2187
+ function Xa(e) {
2188
+ return (e < 97 || 122 < e) && (e < 65 || 90 < e) && (e < 48 || e > 57);
2189
+ }
2190
+ function Ja(e) {
2191
+ return e === 59 || e === 0 || !Ei(e);
2192
+ }
2193
+ function Za(e) {
2194
+ return e === 59 || e === 0 || !(Re(e) || Ie(e));
2195
+ }
2196
+ function eo(e) {
2197
+ return e !== 125;
2198
+ }
2199
+ function to(e, t) {
2200
+ return Li(e) === Li(t);
2201
+ }
2202
+ function Li(e) {
2203
+ return e >= 97 && e <= 122 ? e - 97 + 65 : e;
2204
+ }
2205
+ function ro(e) {
2206
+ return Re(e) || Ie(e) || e === 95;
2207
+ }
2208
+ function Ai(e) {
2209
+ return e !== 59 && b(e);
2210
+ }
2211
+ function Ot(e) {
2212
+ return e === 95 || e >= 65 && e <= 90;
2213
+ }
2214
+ function Pi(e) {
2215
+ return Re(e) || Ie(e) || e === 95;
2216
+ }
2217
+ function Ni(e) {
2218
+ return e === 47 || e === 62 || e === 60 || e === 0;
2219
+ }
2220
+ function no(e) {
2221
+ let t = [], r;
2222
+ for (let n = 0; n < e.length; n++) {
2223
+ let i = e[n];
2224
+ r && r.type === 5 && i.type === 5 || r && r.type === 17 && i.type === 17 ? (r.parts[0] += i.parts[0], r.sourceSpan.end = i.sourceSpan.end) : (r = i, t.push(r));
2225
+ }
2226
+ return t;
2227
+ }
2228
+ var Ii = class Sr {
2229
+ constructor(t, r) {
2230
+ __publicField(this, "state");
2231
+ __publicField(this, "file");
2232
+ __publicField(this, "input");
2233
+ __publicField(this, "end");
2234
+ if (t instanceof Sr) {
2235
+ this.file = t.file, this.input = t.input, this.end = t.end;
2236
+ let n = t.state;
2237
+ this.state = { peek: n.peek, offset: n.offset, line: n.line, column: n.column };
2238
+ } else {
2239
+ if (!r) throw new Error("Programming error: the range argument must be provided with a file argument.");
2240
+ this.file = t, this.input = t.content, this.end = r.endPos, this.state = { peek: -1, offset: r.startPos, line: r.startLine, column: r.startCol };
2241
+ }
2242
+ }
2243
+ clone() {
2244
+ return new Sr(this);
2245
+ }
2246
+ peek() {
2247
+ return this.state.peek;
2248
+ }
2249
+ charsLeft() {
2250
+ return this.end - this.state.offset;
2251
+ }
2252
+ diff(t) {
2253
+ return this.state.offset - t.state.offset;
2254
+ }
2255
+ advance() {
2256
+ this.advanceState(this.state);
2257
+ }
2258
+ init() {
2259
+ this.updatePeek(this.state);
2260
+ }
2261
+ getSpan(t, r) {
2262
+ t = t || this;
2263
+ let n = t;
2264
+ if (r) for (; this.diff(t) > 0 && r.indexOf(t.peek()) !== -1; ) n === t && (t = t.clone()), t.advance();
2265
+ let i = this.locationFromCursor(t);
2266
+ return new p(i, this.locationFromCursor(this), n !== t ? this.locationFromCursor(n) : i);
2267
+ }
2268
+ getChars(t) {
2269
+ return this.input.substring(t.state.offset, this.state.offset);
2270
+ }
2271
+ charAt(t) {
2272
+ return this.input.charCodeAt(t);
2273
+ }
2274
+ advanceState(t) {
2275
+ if (t.offset >= this.end) throw this.state = t, new Cr('Unexpected character "EOF"', this);
2276
+ let r = this.charAt(t.offset);
2277
+ r === 10 ? (t.line++, t.column = 0) : Oe(r) || t.column++, t.offset++, this.updatePeek(t);
2278
+ }
2279
+ updatePeek(t) {
2280
+ t.peek = t.offset >= this.end ? 0 : this.charAt(t.offset);
2281
+ }
2282
+ locationFromCursor(t) {
2283
+ return new De(t.file, t.state.offset, t.state.line, t.state.column);
2284
+ }
2285
+ }, io = class vr extends Ii {
2286
+ constructor(t, r) {
2287
+ var __super = (...args) => {
2288
+ super(...args);
2289
+ __publicField(this, "internalState");
2290
+ return this;
2291
+ };
2292
+ t instanceof vr ? (__super(t), this.internalState = { ...t.internalState }) : (__super(t, r), this.internalState = this.state);
2293
+ }
2294
+ advance() {
2295
+ this.state = this.internalState, super.advance(), this.processEscapeSequence();
2296
+ }
2297
+ init() {
2298
+ super.init(), this.processEscapeSequence();
2299
+ }
2300
+ clone() {
2301
+ return new vr(this);
2302
+ }
2303
+ getChars(t) {
2304
+ let r = t.clone(), n = "";
2305
+ for (; r.internalState.offset < this.internalState.offset; ) n += String.fromCodePoint(r.peek()), r.advance();
2306
+ return n;
2307
+ }
2308
+ processEscapeSequence() {
2309
+ let t = () => this.internalState.peek;
2310
+ if (t() === 92) if (this.internalState = { ...this.state }, this.advanceState(this.internalState), t() === 110) this.state.peek = 10;
2311
+ else if (t() === 114) this.state.peek = 13;
2312
+ else if (t() === 118) this.state.peek = 11;
2313
+ else if (t() === 116) this.state.peek = 9;
2314
+ else if (t() === 98) this.state.peek = 8;
2315
+ else if (t() === 102) this.state.peek = 12;
2316
+ else if (t() === 117) if (this.advanceState(this.internalState), t() === 123) {
2317
+ this.advanceState(this.internalState);
2318
+ let r = this.clone(), n = 0;
2319
+ for (; t() !== 125; ) this.advanceState(this.internalState), n++;
2320
+ this.state.peek = this.decodeHexDigits(r, n);
2321
+ } else {
2322
+ let r = this.clone();
2323
+ this.advanceState(this.internalState), this.advanceState(this.internalState), this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 4);
2324
+ }
2325
+ else if (t() === 120) {
2326
+ this.advanceState(this.internalState);
2327
+ let r = this.clone();
2328
+ this.advanceState(this.internalState), this.state.peek = this.decodeHexDigits(r, 2);
2329
+ } else if (_r(t())) {
2330
+ let r = "", n = 0, i = this.clone();
2331
+ for (; _r(t()) && n < 3; ) i = this.clone(), r += String.fromCodePoint(t()), this.advanceState(this.internalState), n++;
2332
+ this.state.peek = parseInt(r, 8), this.internalState = i.internalState;
2333
+ } else Oe(this.internalState.peek) ? (this.advanceState(this.internalState), this.state = this.internalState) : this.state.peek = this.internalState.peek;
2334
+ }
2335
+ decodeHexDigits(t, r) {
2336
+ let n = this.input.slice(t.internalState.offset, t.internalState.offset + r), i = parseInt(n, 16);
2337
+ if (isNaN(i)) throw t.state = t.internalState, new Cr("Invalid hexadecimal escape sequence", t);
2338
+ return i;
2339
+ }
2340
+ }, Cr = class extends Error {
2341
+ constructor(e, t) {
2342
+ super(e);
2343
+ __publicField(this, "msg");
2344
+ __publicField(this, "cursor");
2345
+ this.msg = e, this.cursor = t, Object.setPrototypeOf(this, new.target.prototype);
2346
+ }
2347
+ };
2348
+ var x = class Mi extends te {
2349
+ constructor(t, r, n) {
2350
+ super(r, n);
2351
+ __publicField(this, "elementName");
2352
+ this.elementName = t;
2353
+ }
2354
+ static create(t, r, n) {
2355
+ return new Mi(t, r, n);
2356
+ }
2357
+ }, so = class {
2358
+ constructor(e, t) {
2359
+ __publicField(this, "rootNodes");
2360
+ __publicField(this, "errors");
2361
+ this.rootNodes = e, this.errors = t;
2362
+ }
2363
+ }, Bi = class {
2364
+ constructor(e) {
2365
+ __publicField(this, "getTagDefinition");
2366
+ this.getTagDefinition = e;
2367
+ }
2368
+ parse(e, t, r, n = false, i) {
2369
+ let s = (h) => (f, ...g) => h(f.toLowerCase(), ...g), a = n ? this.getTagDefinition : s(this.getTagDefinition), o = (h) => a(h).getContentType(), l = n ? i : s(i), c = Di(e, t, i ? (h, f, g, v) => {
2370
+ let W = l(h, f, g, v);
2371
+ return W !== void 0 ? W : o(h);
2372
+ } : o, r), u = r && r.canSelfClose || false, d = r && r.allowHtmComponentClosingTags || false, _ = new ao(c.tokens, a, u, d, n);
2373
+ return _.build(), new so(_.rootNodes, [...c.errors, ..._.errors]);
2374
+ }
2375
+ }, ao = class qi {
2376
+ constructor(t, r, n, i, s) {
2377
+ __publicField(this, "tokens");
2378
+ __publicField(this, "tagDefinitionResolver");
2379
+ __publicField(this, "canSelfClose");
2380
+ __publicField(this, "allowHtmComponentClosingTags");
2381
+ __publicField(this, "isTagNameCaseSensitive");
2382
+ __publicField(this, "_index", -1);
2383
+ __publicField(this, "_peek");
2384
+ __publicField(this, "_containerStack", []);
2385
+ __publicField(this, "rootNodes", []);
2386
+ __publicField(this, "errors", []);
2387
+ this.tokens = t, this.tagDefinitionResolver = r, this.canSelfClose = n, this.allowHtmComponentClosingTags = i, this.isTagNameCaseSensitive = s, this._advance();
2388
+ }
2389
+ build() {
2390
+ for (; this._peek.type !== 43; ) this._peek.type === 0 || this._peek.type === 4 ? this._consumeElementStartTag(this._advance()) : this._peek.type === 3 ? (this._closeVoidElement(), this._consumeElementEndTag(this._advance())) : this._peek.type === 13 ? (this._closeVoidElement(), this._consumeCdata(this._advance())) : this._peek.type === 10 ? (this._closeVoidElement(), this._consumeComment(this._advance())) : this._peek.type === 5 || this._peek.type === 7 || this._peek.type === 6 ? (this._closeVoidElement(), this._consumeText(this._advance())) : this._peek.type === 21 ? this._consumeExpansion(this._advance()) : this._peek.type === 26 ? (this._closeVoidElement(), this._consumeBlockOpen(this._advance())) : this._peek.type === 28 ? (this._closeVoidElement(), this._consumeBlockClose(this._advance())) : this._peek.type === 30 ? (this._closeVoidElement(), this._consumeIncompleteBlock(this._advance())) : this._peek.type === 31 ? (this._closeVoidElement(), this._consumeLet(this._advance())) : this._peek.type === 19 ? this._consumeDocType(this._advance()) : this._peek.type === 34 ? (this._closeVoidElement(), this._consumeIncompleteLet(this._advance())) : this._peek.type === 35 || this._peek.type === 39 ? this._consumeComponentStartTag(this._advance()) : this._peek.type === 38 ? this._consumeComponentEndTag(this._advance()) : this._advance();
2391
+ for (let t of this._containerStack) t instanceof ge && this.errors.push(x.create(t.name, t.sourceSpan, `Unclosed block "${t.name}"`));
2392
+ }
2393
+ _advance() {
2394
+ let t = this._peek;
2395
+ return this._index < this.tokens.length - 1 && this._index++, this._peek = this.tokens[this._index], t;
2396
+ }
2397
+ _advanceIf(t) {
2398
+ return this._peek.type === t ? this._advance() : null;
2399
+ }
2400
+ _consumeCdata(t) {
2401
+ let r = this._advance(), n = this._getText(r), i = this._advanceIf(14);
2402
+ this._addToParent(new Si(n, new p(t.sourceSpan.start, (i || r).sourceSpan.end), [r]));
2403
+ }
2404
+ _consumeComment(t) {
2405
+ let r = this._advanceIf(7), n = this._advanceIf(11), i = r != null ? r.parts[0].trim() : null, s = n == null ? t.sourceSpan : new p(t.sourceSpan.start, n.sourceSpan.end, t.sourceSpan.fullStart);
2406
+ this._addToParent(new wi(i, s));
2407
+ }
2408
+ _consumeDocType(t) {
2409
+ let r = this._advanceIf(7), n = this._advanceIf(20), i = r != null ? r.parts[0].trim() : null, s = new p(t.sourceSpan.start, (n || r || t).sourceSpan.end);
2410
+ this._addToParent(new Ti(i, s));
2411
+ }
2412
+ _consumeExpansion(t) {
2413
+ let r = this._advance(), n = this._advance(), i = [];
2414
+ for (; this._peek.type === 22; ) {
2415
+ let a = this._parseExpansionCase();
2416
+ if (!a) return;
2417
+ i.push(a);
2418
+ }
2419
+ if (this._peek.type !== 25) {
2420
+ this.errors.push(x.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '}'."));
2421
+ return;
2422
+ }
2423
+ let s = new p(t.sourceSpan.start, this._peek.sourceSpan.end, t.sourceSpan.fullStart);
2424
+ this._addToParent(new vi(r.parts[0], n.parts[0], i, s, r.sourceSpan)), this._advance();
2425
+ }
2426
+ _parseExpansionCase() {
2427
+ let t = this._advance();
2428
+ if (this._peek.type !== 23) return this.errors.push(x.create(null, this._peek.sourceSpan, "Invalid ICU message. Missing '{'.")), null;
2429
+ let r = this._advance(), n = this._collectExpansionExpTokens(r);
2430
+ if (!n) return null;
2431
+ let i = this._advance();
2432
+ n.push({ type: 43, parts: [], sourceSpan: i.sourceSpan });
2433
+ let s = new qi(n, this.tagDefinitionResolver, this.canSelfClose, this.allowHtmComponentClosingTags, this.isTagNameCaseSensitive);
2434
+ if (s.build(), s.errors.length > 0) return this.errors = this.errors.concat(s.errors), null;
2435
+ let a = new p(t.sourceSpan.start, i.sourceSpan.end, t.sourceSpan.fullStart), o = new p(r.sourceSpan.start, i.sourceSpan.end, r.sourceSpan.fullStart);
2436
+ return new Ci(t.parts[0], s.rootNodes, a, t.sourceSpan, o);
2437
+ }
2438
+ _collectExpansionExpTokens(t) {
2439
+ let r = [], n = [23];
2440
+ for (; ; ) {
2441
+ if ((this._peek.type === 21 || this._peek.type === 23) && n.push(this._peek.type), this._peek.type === 24) if (Ri(n, 23)) {
2442
+ if (n.pop(), n.length === 0) return r;
2443
+ } else return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2444
+ if (this._peek.type === 25) if (Ri(n, 21)) n.pop();
2445
+ else return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2446
+ if (this._peek.type === 43) return this.errors.push(x.create(null, t.sourceSpan, "Invalid ICU message. Missing '}'.")), null;
2447
+ r.push(this._advance());
2448
+ }
2449
+ }
2450
+ _getText(t) {
2451
+ let r = t.parts[0];
2452
+ if (r.length > 0 && r[0] == `
2453
+ `) {
2454
+ var n;
2455
+ let i = this._getClosestElementLikeParent();
2456
+ i != null && i.children.length == 0 && (!((n = this._getTagDefinition(i)) === null || n === void 0) && n.ignoreFirstLf) && (r = r.substring(1));
2457
+ }
2458
+ return r;
2459
+ }
2460
+ _consumeText(t) {
2461
+ let r = [t], n = t.sourceSpan, i = t.parts[0];
2462
+ if (i.length > 0 && i[0] === `
2463
+ `) {
2464
+ var s;
2465
+ let a = this._getContainer();
2466
+ a != null && a.children.length === 0 && (!((s = this._getTagDefinition(a)) === null || s === void 0) && s.ignoreFirstLf) && (i = i.substring(1), r[0] = { type: t.type, sourceSpan: t.sourceSpan, parts: [i] });
2467
+ }
2468
+ for (; this._peek.type === 8 || this._peek.type === 5 || this._peek.type === 9; ) t = this._advance(), r.push(t), t.type === 8 ? i += t.parts.join("").replace(/&([^;]+);/g, Oi) : t.type === 9 ? i += t.parts[0] : i += t.parts.join("");
2469
+ if (i.length > 0) {
2470
+ let a = t.sourceSpan;
2471
+ this._addToParent(new _i(i, new p(n.start, a.end, n.fullStart, n.details), r));
2472
+ }
2473
+ }
2474
+ _closeVoidElement() {
2475
+ var t;
2476
+ let r = this._getContainer();
2477
+ r !== null && (!((t = this._getTagDefinition(r)) === null || t === void 0) && t.isVoid) && this._containerStack.pop();
2478
+ }
2479
+ _consumeElementStartTag(t) {
2480
+ var r;
2481
+ let n = [], i = [], s = [];
2482
+ this._consumeAttributesAndDirectives(n, i, s);
2483
+ let a = this._getElementFullName(t, this._getClosestElementLikeParent()), o = this._getTagDefinition(a), l = false;
2484
+ if (this._peek.type === 2) {
2485
+ this._advance(), l = true;
2486
+ let v = this._getTagDefinition(a);
2487
+ this.canSelfClose || (v == null ? void 0 : v.canSelfClose) || Pe(a) !== null || (v == null ? void 0 : v.isVoid) || this.errors.push(x.create(a, t.sourceSpan, `Only void, custom and foreign elements can be self closed "${t.parts[1]}"`));
2488
+ } else this._peek.type === 1 && (this._advance(), l = false);
2489
+ let c = this._peek.sourceSpan.fullStart, u = new p(t.sourceSpan.start, c, t.sourceSpan.fullStart), d = new p(t.sourceSpan.start, c, t.sourceSpan.fullStart), _ = new p(t.sourceSpan.start.moveBy(1), t.sourceSpan.end), h = new re(a, n, i, [], l, u, d, void 0, _, (o == null ? void 0 : o.isVoid) ?? false, void 0, s), f = this._getContainer(), g = f !== null && !!(!((r = this._getTagDefinition(f)) === null || r === void 0) && r.isClosedByChild(h.name));
2490
+ this._pushContainer(h, g), l ? this._popContainer(a, re, u) : t.type === 4 && (this._popContainer(a, re, null), this.errors.push(x.create(a, u, `Opening tag "${a}" not terminated.`)));
2491
+ }
2492
+ _consumeComponentStartTag(t) {
2493
+ var r;
2494
+ let n = t.parts[0], i = [], s = [], a = [];
2495
+ this._consumeAttributesAndDirectives(i, s, a);
2496
+ let o = this._getClosestElementLikeParent(), l = this._getComponentTagName(t, o), c = this._getComponentFullName(t, o), u = this._peek.type === 37;
2497
+ this._advance();
2498
+ let d = this._peek.sourceSpan.fullStart, _ = new p(t.sourceSpan.start, d, t.sourceSpan.fullStart), h = new U(n, l, c, i, s, [], u, _, new p(t.sourceSpan.start, d, t.sourceSpan.fullStart), void 0, void 0, a), f = this._getContainer(), g = f !== null && h.tagName !== null && !!(!((r = this._getTagDefinition(f)) === null || r === void 0) && r.isClosedByChild(h.tagName));
2499
+ this._pushContainer(h, g), u ? this._popContainer(c, U, _) : t.type === 39 && (this._popContainer(c, U, null), this.errors.push(x.create(c, _, `Opening tag "${c}" not terminated.`)));
2500
+ }
2501
+ _consumeAttributesAndDirectives(t, r, n) {
2502
+ for (; this._peek.type === 15 || this._peek.type === 40 || this._peek.type === 12; ) if (this._peek.type === 40) r.push(this._consumeDirective(this._peek));
2503
+ else if (this._peek.type === 15) t.push(this._consumeAttr(this._advance()));
2504
+ else {
2505
+ let i = this._advance();
2506
+ n.push(new bi(i.parts[0], i.parts[1], i.sourceSpan));
2507
+ }
2508
+ }
2509
+ _consumeComponentEndTag(t) {
2510
+ let r = this._getComponentFullName(t, this._getClosestElementLikeParent());
2511
+ if (!this._popContainer(r, U, t.sourceSpan)) {
2512
+ let n = this._containerStack[this._containerStack.length - 1], i;
2513
+ n instanceof U && n.componentName === t.parts[0] ? i = `, did you mean "${n.fullName}"?` : i = ". It may happen when the tag has already been closed by another tag.";
2514
+ let s = `Unexpected closing tag "${r}"${i}`;
2515
+ this.errors.push(x.create(r, t.sourceSpan, s));
2516
+ }
2517
+ }
2518
+ _getTagDefinition(t) {
2519
+ return typeof t == "string" ? this.tagDefinitionResolver(t) : t instanceof re ? this.tagDefinitionResolver(t.name) : t instanceof U && t.tagName !== null ? this.tagDefinitionResolver(t.tagName) : null;
2520
+ }
2521
+ _pushContainer(t, r) {
2522
+ r && this._containerStack.pop(), this._addToParent(t), this._containerStack.push(t);
2523
+ }
2524
+ _consumeElementEndTag(t) {
2525
+ var r;
2526
+ let n = this.allowHtmComponentClosingTags && t.parts.length === 0 ? null : this._getElementFullName(t, this._getClosestElementLikeParent());
2527
+ if (n && (!((r = this._getTagDefinition(n)) === null || r === void 0) && r.isVoid)) this.errors.push(x.create(n, t.sourceSpan, `Void elements do not have end tags "${t.parts[1]}"`));
2528
+ else if (!this._popContainer(n, re, t.sourceSpan)) {
2529
+ let i = `Unexpected closing tag "${n}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;
2530
+ this.errors.push(x.create(n, t.sourceSpan, i));
2531
+ }
2532
+ }
2533
+ _popContainer(t, r, n) {
2534
+ let i = false;
2535
+ for (let a = this._containerStack.length - 1; a >= 0; a--) {
2536
+ var s;
2537
+ let o = this._containerStack[a], l = o instanceof U ? o.fullName : o.name;
2538
+ if (Pe(l) ? l === t : (l === t || t === null) && o instanceof r) return o.endSourceSpan = n, o.sourceSpan.end = n !== null ? n.end : o.sourceSpan.end, this._containerStack.splice(a, this._containerStack.length - a), !i;
2539
+ (o instanceof ge || !(!((s = this._getTagDefinition(o)) === null || s === void 0) && s.closedByParent)) && (i = true);
2540
+ }
2541
+ return false;
2542
+ }
2543
+ _consumeAttr(t) {
2544
+ let r = fe(t.parts[0], t.parts[1]), n = t.sourceSpan.end, i;
2545
+ this._peek.type === 16 && (i = this._advance());
2546
+ let s = "", a = [], o, l;
2547
+ if (this._peek.type === 17) for (o = this._peek.sourceSpan, l = this._peek.sourceSpan.end; this._peek.type === 17 || this._peek.type === 18 || this._peek.type === 9; ) {
2548
+ let u = this._advance();
2549
+ a.push(u), u.type === 18 ? s += u.parts.join("").replace(/&([^;]+);/g, Oi) : u.type === 9 ? s += u.parts[0] : s += u.parts.join(""), l = n = u.sourceSpan.end;
2550
+ }
2551
+ this._peek.type === 16 && (l = n = this._advance().sourceSpan.end);
2552
+ let c = o && l && new p((i == null ? void 0 : i.sourceSpan.start) ?? o.start, l, (i == null ? void 0 : i.sourceSpan.fullStart) ?? o.fullStart);
2553
+ return new ki(r, s, new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), t.sourceSpan, c, a.length > 0 ? a : void 0, void 0);
2554
+ }
2555
+ _consumeDirective(t) {
2556
+ let r = [], n = t.sourceSpan.end, i = null;
2557
+ if (this._advance(), this._peek.type === 41) {
2558
+ for (n = this._peek.sourceSpan.end, this._advance(); this._peek.type === 15; ) r.push(this._consumeAttr(this._advance()));
2559
+ this._peek.type === 42 ? (i = this._peek.sourceSpan, this._advance()) : this.errors.push(x.create(null, t.sourceSpan, "Unterminated directive definition"));
2560
+ }
2561
+ let s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new p(s.start, i === null ? t.sourceSpan.end : i.end, s.fullStart);
2562
+ return new yi(t.parts[0], r, a, s, i);
2563
+ }
2564
+ _consumeBlockOpen(t) {
2565
+ let r = [];
2566
+ for (; this._peek.type === 29; ) {
2567
+ let o = this._advance();
2568
+ r.push(new fr(o.parts[0], o.sourceSpan));
2569
+ }
2570
+ this._peek.type === 27 && this._advance();
2571
+ let n = this._peek.sourceSpan.fullStart, i = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new ge(t.parts[0], r, [], i, t.sourceSpan, s);
2572
+ this._pushContainer(a, false);
2573
+ }
2574
+ _consumeBlockClose(t) {
2575
+ let r = this._containerStack.length, n = this._containerStack[r - 1];
2576
+ if (!this._popContainer(null, ge, t.sourceSpan)) {
2577
+ if (this._containerStack.length < r) {
2578
+ let i = n instanceof U ? n.fullName : n.name;
2579
+ this.errors.push(x.create(null, t.sourceSpan, `Unexpected closing block. The block may have been closed earlier. Did you forget to close the <${i}> element? If you meant to write the \`}\` character, you should use the "&#125;" HTML entity instead.`));
2580
+ return;
2581
+ }
2582
+ this.errors.push(x.create(null, t.sourceSpan, 'Unexpected closing block. The block may have been closed earlier. If you meant to write the `}` character, you should use the "&#125;" HTML entity instead.'));
2583
+ }
2584
+ }
2585
+ _consumeIncompleteBlock(t) {
2586
+ let r = [];
2587
+ for (; this._peek.type === 29; ) {
2588
+ let o = this._advance();
2589
+ r.push(new fr(o.parts[0], o.sourceSpan));
2590
+ }
2591
+ let n = this._peek.sourceSpan.fullStart, i = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), s = new p(t.sourceSpan.start, n, t.sourceSpan.fullStart), a = new ge(t.parts[0], r, [], i, t.sourceSpan, s);
2592
+ this._pushContainer(a, false), this._popContainer(null, ge, null), this.errors.push(x.create(t.parts[0], i, `Incomplete block "${t.parts[0]}". If you meant to write the @ character, you should use the "&#64;" HTML entity instead.`));
2593
+ }
2594
+ _consumeLet(t) {
2595
+ let r = t.parts[0], n, i;
2596
+ if (this._peek.type !== 32) {
2597
+ this.errors.push(x.create(t.parts[0], t.sourceSpan, `Invalid @let declaration "${r}". Declaration must have a value.`));
2598
+ return;
2599
+ } else n = this._advance();
2600
+ if (this._peek.type !== 33) {
2601
+ this.errors.push(x.create(t.parts[0], t.sourceSpan, `Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));
2602
+ return;
2603
+ } else i = this._advance();
2604
+ let s = i.sourceSpan.end, a = new p(t.sourceSpan.start, s, t.sourceSpan.fullStart), o = t.sourceSpan.toString().lastIndexOf(r), l = new p(t.sourceSpan.start.moveBy(o), t.sourceSpan.end), c = new dr(r, n.parts[0], a, l, n.sourceSpan);
2605
+ this._addToParent(c);
2606
+ }
2607
+ _consumeIncompleteLet(t) {
2608
+ let r = t.parts[0] ?? "", n = r ? ` "${r}"` : "";
2609
+ if (r.length > 0) {
2610
+ let i = t.sourceSpan.toString().lastIndexOf(r), s = new p(t.sourceSpan.start.moveBy(i), t.sourceSpan.end), a = new p(t.sourceSpan.start, t.sourceSpan.start.moveBy(0)), o = new dr(r, "", t.sourceSpan, s, a);
2611
+ this._addToParent(o);
2612
+ }
2613
+ this.errors.push(x.create(t.parts[0], t.sourceSpan, `Incomplete @let declaration${n}. @let declarations must be written as \`@let <name> = <value>;\``));
2614
+ }
2615
+ _getContainer() {
2616
+ return this._containerStack.length > 0 ? this._containerStack[this._containerStack.length - 1] : null;
2617
+ }
2618
+ _getClosestElementLikeParent() {
2619
+ for (let t = this._containerStack.length - 1; t > -1; t--) {
2620
+ let r = this._containerStack[t];
2621
+ if (r instanceof re || r instanceof U) return r;
2622
+ }
2623
+ return null;
2624
+ }
2625
+ _addToParent(t) {
2626
+ let r = this._getContainer();
2627
+ r === null ? this.rootNodes.push(t) : r.children.push(t);
2628
+ }
2629
+ _getElementFullName(t, r) {
2630
+ return fe(this._getPrefix(t, r), t.parts[1]);
2631
+ }
2632
+ _getComponentFullName(t, r) {
2633
+ let n = t.parts[0], i = this._getComponentTagName(t, r);
2634
+ return i === null ? n : i.startsWith(":") ? n + i : `${n}:${i}`;
2635
+ }
2636
+ _getComponentTagName(t, r) {
2637
+ let n = this._getPrefix(t, r), i = t.parts[2];
2638
+ return !n && !i ? null : !n && i ? i : fe(n, i || "ng-component");
2639
+ }
2640
+ _getPrefix(t, r) {
2641
+ var n;
2642
+ let i, s;
2643
+ if (t.type === 35 || t.type === 39 || t.type === 38 ? (i = t.parts[1], s = t.parts[2]) : (i = t.parts[0], s = t.parts[1]), i = i || ((n = this._getTagDefinition(s)) === null || n === void 0 ? void 0 : n.implicitNamespacePrefix) || "", !i && r) {
2644
+ let a = r instanceof re ? r.name : r.tagName;
2645
+ if (a !== null) {
2646
+ let o = Z(a)[1], l = this._getTagDefinition(o);
2647
+ l !== null && !l.preventNamespaceInheritance && (i = Pe(a));
2648
+ }
2649
+ }
2650
+ return i;
2651
+ }
2652
+ };
2653
+ function Ri(e, t) {
2654
+ return e.length > 0 && e[e.length - 1] === t;
2655
+ }
2656
+ function Oi(e, t) {
2657
+ return _e[t] !== void 0 ? _e[t] || e : /^#x[a-f0-9]+$/i.test(t) ? String.fromCodePoint(parseInt(t.slice(2), 16)) : /^#\d+$/.test(t) ? String.fromCodePoint(parseInt(t.slice(1), 10)) : e;
2658
+ }
2659
+ var Hi = class extends Bi {
2660
+ constructor() {
2661
+ super(Ne);
2662
+ }
2663
+ parse(e, t, r, n = false, i) {
2664
+ return super.parse(e, t, r, n, i);
2665
+ }
2666
+ };
2667
+ var kr;
2668
+ function Mt(e, t = {}) {
2669
+ let { canSelfClose: r = false, allowHtmComponentClosingTags: n = false, allowStartTagComments: i = false, isTagNameCaseSensitive: s = false, getTagContentType: a, tokenizeAngularBlocks: o = false, tokenizeAngularLetDeclaration: l = false, enableAngularSelectorlessSyntax: c = false } = t;
2670
+ return kr ?? (kr = new Hi()), kr.parse(e, "angular-html-parser", { tokenizeExpansionForms: o, canSelfClose: r, allowHtmComponentClosingTags: n, allowStartTagComments: i, tokenizeBlocks: o, tokenizeLet: l, selectorlessEnabled: c }, s, a);
2671
+ }
2672
+ var oo = [co, uo, ho, fo, go, vo, _o, So, Co, mo];
2673
+ function lo(e, t) {
2674
+ for (let r of oo) r(e, t);
2675
+ return e;
2676
+ }
2677
+ function co(e) {
2678
+ e.walk((t) => {
2679
+ if (t.kind === "element" && t.tagDefinition.ignoreFirstLf && t.children.length > 0 && t.children[0].kind === "text" && t.children[0].value[0] === `
2680
+ `) {
2681
+ let r = t.children[0];
2682
+ r.value.length === 1 ? t.removeChild(r) : r.value = r.value.slice(1);
2683
+ }
2684
+ });
2685
+ }
2686
+ function uo(e) {
2687
+ let t = (r) => {
2688
+ var _a3, _b;
2689
+ return r.kind === "element" && ((_a3 = r.prev) == null ? void 0 : _a3.kind) === "ieConditionalStartComment" && r.prev.sourceSpan.end.offset === r.startSourceSpan.start.offset && ((_b = r.firstChild) == null ? void 0 : _b.kind) === "ieConditionalEndComment" && r.firstChild.sourceSpan.start.offset === r.startSourceSpan.end.offset;
2690
+ };
2691
+ e.walk((r) => {
2692
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
2693
+ let i = r.children[n];
2694
+ if (!t(i)) continue;
2695
+ let s = i.prev, a = i.firstChild;
2696
+ r.removeChild(s), n--;
2697
+ let o = new p(s.sourceSpan.start, a.sourceSpan.end), l = new p(o.start, i.sourceSpan.end);
2698
+ i.condition = s.condition, i.sourceSpan = l, i.startSourceSpan = o, i.removeChild(a);
2699
+ }
2700
+ });
2701
+ }
2702
+ function po(e, t, r) {
2703
+ e.walk((n) => {
2704
+ if (n.children) for (let i = 0; i < n.children.length; i++) {
2705
+ let s = n.children[i];
2706
+ if (s.kind !== "text" && !t(s)) continue;
2707
+ s.kind !== "text" && (s.kind = "text", s.value = r(s));
2708
+ let a = s.prev;
2709
+ !a || a.kind !== "text" || (a.value += s.value, a.sourceSpan = new p(a.sourceSpan.start, s.sourceSpan.end), n.removeChild(s), i--);
2710
+ }
2711
+ });
2712
+ }
2713
+ function ho(e) {
2714
+ return po(e, (t) => t.kind === "cdata", (t) => `<![CDATA[${t.value}]]>`);
2715
+ }
2716
+ function mo(e) {
2717
+ let t = (r) => {
2718
+ var _a3, _b;
2719
+ return r.kind === "element" && r.attrs.length === 0 && !X(r.startTagComments) && r.children.length === 1 && r.firstChild.kind === "text" && !P.hasWhitespaceCharacter(r.children[0].value) && !r.firstChild.hasLeadingSpaces && !r.firstChild.hasTrailingSpaces && r.isLeadingSpaceSensitive && !r.hasLeadingSpaces && r.isTrailingSpaceSensitive && !r.hasTrailingSpaces && ((_a3 = r.prev) == null ? void 0 : _a3.kind) === "text" && ((_b = r.next) == null ? void 0 : _b.kind) === "text";
2720
+ };
2721
+ e.walk((r) => {
2722
+ if (r.children) for (let n = 0; n < r.children.length; n++) {
2723
+ let i = r.children[n];
2724
+ if (!t(i)) continue;
2725
+ let s = i.prev, a = i.next;
2726
+ s.value += `<${i.rawName}>` + i.firstChild.value + `</${i.rawName}>` + a.value, s.sourceSpan = new p(s.sourceSpan.start, a.sourceSpan.end), s.isTrailingSpaceSensitive = a.isTrailingSpaceSensitive, s.hasTrailingSpaces = a.hasTrailingSpaces, r.removeChild(i), n--, r.removeChild(a);
2727
+ }
2728
+ });
2729
+ }
2730
+ function fo(e, t) {
2731
+ if (t.parser === "html") return;
2732
+ let r = /\{\{(.+?)\}\}/s;
2733
+ e.walk((n) => {
2734
+ if (rn(n, t)) for (let i of n.children) {
2735
+ if (i.kind !== "text") continue;
2736
+ let s = i.sourceSpan.start, a, o = i.value.split(r);
2737
+ for (let l = 0; l < o.length; l++, s = a) {
2738
+ let c = o[l];
2739
+ if (l % 2 === 0) {
2740
+ a = s.moveBy(c.length), c.length > 0 && n.insertChildBefore(i, { kind: "text", value: c, sourceSpan: new p(s, a) });
2741
+ continue;
2742
+ }
2743
+ a = s.moveBy(c.length + 4), n.insertChildBefore(i, { kind: "interpolation", sourceSpan: new p(s, a), children: c.length === 0 ? [] : [{ kind: "text", value: c, sourceSpan: new p(s.moveBy(2), a.moveBy(-2)) }] });
2744
+ }
2745
+ n.removeChild(i);
2746
+ }
2747
+ });
2748
+ }
2749
+ function go(e, t) {
2750
+ e.walk((r) => {
2751
+ let n = r.$children;
2752
+ if (!n) return;
2753
+ if (n.length === 0 || n.length === 1 && n[0].kind === "text" && P.trim(n[0].value).length === 0) {
2754
+ r.hasDanglingSpaces = n.length > 0, r.$children = [];
2755
+ return;
2756
+ }
2757
+ let i = nn(r, t), s = er(r);
2758
+ if (!i) for (let a = 0; a < n.length; a++) {
2759
+ let o = n[a];
2760
+ if (o.kind !== "text") continue;
2761
+ let { leadingWhitespace: l, text: c, trailingWhitespace: u } = tn(o.value), d = o.prev, _ = o.next;
2762
+ c ? (o.value = c, o.sourceSpan = new p(o.sourceSpan.start.moveBy(l.length), o.sourceSpan.end.moveBy(-u.length)), l && (d && (d.hasTrailingSpaces = true), o.hasLeadingSpaces = true), u && (o.hasTrailingSpaces = true, _ && (_.hasLeadingSpaces = true))) : (r.removeChild(o), a--, (l || u) && (d && (d.hasTrailingSpaces = true), _ && (_.hasLeadingSpaces = true)));
2763
+ }
2764
+ r.isWhitespaceSensitive = i, r.isIndentationSensitive = s;
2765
+ });
2766
+ }
2767
+ function _o(e) {
2768
+ e.walk((t) => {
2769
+ t.isSelfClosing = !t.children || t.kind === "element" && (t.tagDefinition.isVoid || t.endSourceSpan && t.startSourceSpan.start === t.endSourceSpan.start && t.startSourceSpan.end === t.endSourceSpan.end);
2770
+ });
2771
+ }
2772
+ function So(e, t) {
2773
+ e.walk((r) => {
2774
+ r.kind === "element" && (r.hasHtmComponentClosingTag = r.endSourceSpan && /^<\s*\/\s*\/\s*>$/.test(t.originalText.slice(r.endSourceSpan.start.offset, r.endSourceSpan.end.offset)));
2775
+ });
2776
+ }
2777
+ function vo(e, t) {
2778
+ e.walk((r) => {
2779
+ r.cssDisplay = fn(r, t);
2780
+ });
2781
+ }
2782
+ function Co(e, t) {
2783
+ e.walk((r) => {
2784
+ let { children: n } = r;
2785
+ if (n) {
2786
+ if (n.length === 0) {
2787
+ r.isDanglingSpaceSensitive = on(r, t);
2788
+ return;
2789
+ }
2790
+ for (let i of n) i.isLeadingSpaceSensitive = sn(i, t), i.isTrailingSpaceSensitive = an(i, t);
2791
+ for (let i = 0; i < n.length; i++) {
2792
+ let s = n[i];
2793
+ s.isLeadingSpaceSensitive = (i === 0 || s.prev.isTrailingSpaceSensitive) && s.isLeadingSpaceSensitive, s.isTrailingSpaceSensitive = (i === n.length - 1 || s.next.isLeadingSpaceSensitive) && s.isTrailingSpaceSensitive;
2794
+ }
2795
+ }
2796
+ });
2797
+ }
2798
+ var Fi = lo;
2799
+ function ko(e, t, r) {
2800
+ let { node: n } = e;
2801
+ switch (n.kind) {
2802
+ case "root":
2803
+ return t.__onHtmlRoot && t.__onHtmlRoot(n), [C(Ae(e, t, r)), k];
2804
+ case "element":
2805
+ case "ieConditionalComment":
2806
+ return li(e, t, r);
2807
+ case "angularControlFlowBlock":
2808
+ return ni(e, t, r);
2809
+ case "angularControlFlowBlockParameters":
2810
+ return si(e, t, r);
2811
+ case "angularControlFlowBlockParameter":
2812
+ return P.trim(n.expression);
2813
+ case "angularLetDeclaration":
2814
+ return C(["@let ", C([n.id, " =", C(A([S, r("init")]))]), ";"]);
2815
+ case "angularLetDeclarationInitializer":
2816
+ return n.value;
2817
+ case "angularIcuExpression":
2818
+ return ai(e, t, r);
2819
+ case "angularIcuCase":
2820
+ return oi(e, t, r);
2821
+ case "ieConditionalStartComment":
2822
+ case "ieConditionalEndComment":
2823
+ return [me(n), ue(n)];
2824
+ case "interpolation":
2825
+ return [me(n, t), ...e.map(r, "children"), ue(n, t)];
2826
+ case "text": {
2827
+ if (n.parent.kind === "interpolation") {
2828
+ let o = /\n[^\S\n]*$/, l = o.test(n.value), c = l ? n.value.replace(o, "") : n.value;
2829
+ return [L(c), l ? k : ""];
2830
+ }
2831
+ let i = B(n, t), s = Tt(n), a = M(n, t);
2832
+ return s[0] = [i, s[0]], s.push([s.pop(), a]), gt(s);
2833
+ }
2834
+ case "docType":
2835
+ return [C([me(n, t), " ", T(0, n.value.replace(/^html\b/i, "html"), /\s+/g, " ")]), ue(n, t)];
2836
+ case "comment":
2837
+ return [B(n, t), L(t.originalText.slice(F(n), J(n))), M(n, t)];
2838
+ case "attribute": {
2839
+ if (n.value === null) return n.rawName;
2840
+ let i = nr(n.value), s = Et(n, t) ? "" : Wr(i, '"');
2841
+ return [n.rawName, "=", s, L(s === '"' ? T(0, i, '"', "&quot;") : T(0, i, "'", "&apos;")), s];
2842
+ }
2843
+ case "startTagComment":
2844
+ return ci(e);
2845
+ default:
2846
+ throw new Gr(n, "HTML");
2847
+ }
2848
+ }
2849
+ var bo = { features: { experimental_frontMatterSupport: { massageAstNode: true, embed: true, print: true } }, preprocess: Fi, print: ko, insertPragma: ei, massageAstNode: or, embed: Gn, getVisitorKeys: Yn }, Vi = bo;
2850
+ var Ui = [{ name: "Angular", type: "markup", aceMode: "html", extensions: [".component.html"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["angular"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "HTML", type: "markup", aceMode: "html", extensions: [".html", ".hta", ".htm", ".html.hl", ".inc", ".xht", ".xhtml"], tmScope: "text.html.basic", aliases: ["xhtml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["html"], vscodeLanguageIds: ["html"], linguistLanguageId: 146 }, { name: "Lightning Web Components", type: "markup", aceMode: "html", extensions: [], tmScope: "text.html.basic", aliases: ["LWC", "lwc"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["lwc"], vscodeLanguageIds: ["html"], filenames: [], linguistLanguageId: 146 }, { name: "MJML", type: "markup", aceMode: "html", extensions: [".mjml"], tmScope: "text.mjml.basic", aliases: ["MJML", "mjml"], codemirrorMode: "htmlmixed", codemirrorMimeType: "text/html", parsers: ["mjml"], filenames: [], vscodeLanguageIds: ["mjml"], linguistLanguageId: 146 }, { name: "Vue", type: "markup", aceMode: "vue", extensions: [".vue"], tmScope: "text.html.vue", codemirrorMode: "vue", codemirrorMimeType: "text/x-vue", parsers: ["vue"], vscodeLanguageIds: ["vue"], linguistLanguageId: 391 }];
2851
+ var br = { bracketSameLine: { category: "Common", type: "boolean", default: false, description: "Put > of opening tags on the last line instead of on a new line." }, singleAttributePerLine: { category: "Common", type: "boolean", default: false, description: "Enforce single attribute per line in HTML, Vue and JSX." } };
2852
+ var Wi = "HTML", wo = { bracketSameLine: br.bracketSameLine, htmlWhitespaceSensitivity: { category: Wi, type: "choice", default: "css", description: "How to handle whitespaces in HTML.", choices: [{ value: "css", description: "Respect the default value of CSS display property." }, { value: "strict", description: "Whitespaces are considered sensitive." }, { value: "ignore", description: "Whitespaces are considered insensitive." }] }, singleAttributePerLine: br.singleAttributePerLine, vueIndentScriptAndStyle: { category: Wi, type: "boolean", default: false, description: "Indent script and style tags in Vue files." } }, zi = wo;
2853
+ var Pr = {};
2854
+ Ir(Pr, { angular: () => Wo, html: () => Fo, lwc: () => Go, mjml: () => Uo, vue: () => zo });
2855
+ function To(e, t) {
2856
+ let r = new SyntaxError(e + " (" + t.loc.start.line + ":" + t.loc.start.column + ")");
2857
+ return Object.assign(r, t);
2858
+ }
2859
+ var Gi = To;
2860
+ var yo = { canSelfClose: true, normalizeTagName: false, normalizeAttributeName: false, allowHtmComponentClosingTags: false, allowStartTagComments: false, isTagNameCaseSensitive: false, shouldParseFrontMatter: true };
2861
+ function Bt(e) {
2862
+ return { ...yo, ...e };
2863
+ }
2864
+ function wr(e) {
2865
+ let { canSelfClose: t, allowHtmComponentClosingTags: r, allowStartTagComments: n, isTagNameCaseSensitive: i, shouldParseAsRawText: s, tokenizeAngularBlocks: a, tokenizeAngularLetDeclaration: o } = e;
2866
+ return { canSelfClose: t, allowHtmComponentClosingTags: r, allowStartTagComments: n, isTagNameCaseSensitive: i, getTagContentType: s ? (...l) => s(...l) ? lr.RAW_TEXT : void 0 : void 0, tokenizeAngularBlocks: a, tokenizeAngularLetDeclaration: o };
2867
+ }
2868
+ var qt = /* @__PURE__ */ new Map([["*", /* @__PURE__ */ new Set(["accesskey", "autocapitalize", "autocorrect", "autofocus", "class", "contenteditable", "dir", "draggable", "enterkeyhint", "exportparts", "hidden", "id", "inert", "inputmode", "is", "itemid", "itemprop", "itemref", "itemscope", "itemtype", "lang", "nonce", "part", "popover", "slot", "spellcheck", "style", "tabindex", "title", "translate", "writingsuggestions"])], ["a", /* @__PURE__ */ new Set(["charset", "coords", "download", "href", "hreflang", "name", "ping", "referrerpolicy", "rel", "rev", "shape", "target", "type"])], ["applet", /* @__PURE__ */ new Set(["align", "alt", "archive", "code", "codebase", "height", "hspace", "name", "object", "vspace", "width"])], ["area", /* @__PURE__ */ new Set(["alt", "coords", "download", "href", "hreflang", "nohref", "ping", "referrerpolicy", "rel", "shape", "target", "type"])], ["audio", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "loop", "muted", "preload", "src"])], ["base", /* @__PURE__ */ new Set(["href", "target"])], ["basefont", /* @__PURE__ */ new Set(["color", "face", "size"])], ["blockquote", /* @__PURE__ */ new Set(["cite"])], ["body", /* @__PURE__ */ new Set(["alink", "background", "bgcolor", "link", "text", "vlink"])], ["br", /* @__PURE__ */ new Set(["clear"])], ["button", /* @__PURE__ */ new Set(["command", "commandfor", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "name", "popovertarget", "popovertargetaction", "type", "value"])], ["canvas", /* @__PURE__ */ new Set(["height", "width"])], ["caption", /* @__PURE__ */ new Set(["align"])], ["col", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["colgroup", /* @__PURE__ */ new Set(["align", "char", "charoff", "span", "valign", "width"])], ["data", /* @__PURE__ */ new Set(["value"])], ["del", /* @__PURE__ */ new Set(["cite", "datetime"])], ["details", /* @__PURE__ */ new Set(["name", "open"])], ["dialog", /* @__PURE__ */ new Set(["closedby", "open"])], ["dir", /* @__PURE__ */ new Set(["compact"])], ["div", /* @__PURE__ */ new Set(["align"])], ["dl", /* @__PURE__ */ new Set(["compact"])], ["embed", /* @__PURE__ */ new Set(["height", "src", "type", "width"])], ["fieldset", /* @__PURE__ */ new Set(["disabled", "form", "name"])], ["font", /* @__PURE__ */ new Set(["color", "face", "size"])], ["form", /* @__PURE__ */ new Set(["accept", "accept-charset", "action", "autocomplete", "enctype", "method", "name", "novalidate", "target"])], ["frame", /* @__PURE__ */ new Set(["frameborder", "longdesc", "marginheight", "marginwidth", "name", "noresize", "scrolling", "src"])], ["frameset", /* @__PURE__ */ new Set(["cols", "rows"])], ["h1", /* @__PURE__ */ new Set(["align"])], ["h2", /* @__PURE__ */ new Set(["align"])], ["h3", /* @__PURE__ */ new Set(["align"])], ["h4", /* @__PURE__ */ new Set(["align"])], ["h5", /* @__PURE__ */ new Set(["align"])], ["h6", /* @__PURE__ */ new Set(["align"])], ["head", /* @__PURE__ */ new Set(["profile"])], ["hr", /* @__PURE__ */ new Set(["align", "noshade", "size", "width"])], ["html", /* @__PURE__ */ new Set(["manifest", "version"])], ["iframe", /* @__PURE__ */ new Set(["align", "allow", "allowfullscreen", "allowpaymentrequest", "allowusermedia", "frameborder", "height", "loading", "longdesc", "marginheight", "marginwidth", "name", "referrerpolicy", "sandbox", "scrolling", "src", "srcdoc", "width"])], ["img", /* @__PURE__ */ new Set(["align", "alt", "border", "crossorigin", "decoding", "fetchpriority", "height", "hspace", "ismap", "loading", "longdesc", "name", "referrerpolicy", "sizes", "src", "srcset", "usemap", "vspace", "width"])], ["input", /* @__PURE__ */ new Set(["accept", "align", "alpha", "alt", "autocomplete", "checked", "colorspace", "dirname", "disabled", "form", "formaction", "formenctype", "formmethod", "formnovalidate", "formtarget", "height", "ismap", "list", "max", "maxlength", "min", "minlength", "multiple", "name", "pattern", "placeholder", "popovertarget", "popovertargetaction", "readonly", "required", "size", "src", "step", "type", "usemap", "value", "width"])], ["ins", /* @__PURE__ */ new Set(["cite", "datetime"])], ["isindex", /* @__PURE__ */ new Set(["prompt"])], ["label", /* @__PURE__ */ new Set(["for", "form"])], ["legend", /* @__PURE__ */ new Set(["align"])], ["li", /* @__PURE__ */ new Set(["type", "value"])], ["link", /* @__PURE__ */ new Set(["as", "blocking", "charset", "color", "crossorigin", "disabled", "fetchpriority", "href", "hreflang", "imagesizes", "imagesrcset", "integrity", "media", "referrerpolicy", "rel", "rev", "sizes", "target", "type"])], ["map", /* @__PURE__ */ new Set(["name"])], ["menu", /* @__PURE__ */ new Set(["compact"])], ["meta", /* @__PURE__ */ new Set(["charset", "content", "http-equiv", "media", "name", "scheme"])], ["meter", /* @__PURE__ */ new Set(["high", "low", "max", "min", "optimum", "value"])], ["object", /* @__PURE__ */ new Set(["align", "archive", "border", "classid", "codebase", "codetype", "data", "declare", "form", "height", "hspace", "name", "standby", "type", "typemustmatch", "usemap", "vspace", "width"])], ["ol", /* @__PURE__ */ new Set(["compact", "reversed", "start", "type"])], ["optgroup", /* @__PURE__ */ new Set(["disabled", "label"])], ["option", /* @__PURE__ */ new Set(["disabled", "label", "selected", "value"])], ["output", /* @__PURE__ */ new Set(["for", "form", "name"])], ["p", /* @__PURE__ */ new Set(["align"])], ["param", /* @__PURE__ */ new Set(["name", "type", "value", "valuetype"])], ["pre", /* @__PURE__ */ new Set(["width"])], ["progress", /* @__PURE__ */ new Set(["max", "value"])], ["q", /* @__PURE__ */ new Set(["cite"])], ["script", /* @__PURE__ */ new Set(["async", "blocking", "charset", "crossorigin", "defer", "fetchpriority", "integrity", "language", "nomodule", "referrerpolicy", "src", "type"])], ["select", /* @__PURE__ */ new Set(["autocomplete", "disabled", "form", "multiple", "name", "required", "size"])], ["slot", /* @__PURE__ */ new Set(["name"])], ["source", /* @__PURE__ */ new Set(["height", "media", "sizes", "src", "srcset", "type", "width"])], ["style", /* @__PURE__ */ new Set(["blocking", "media", "type"])], ["table", /* @__PURE__ */ new Set(["align", "bgcolor", "border", "cellpadding", "cellspacing", "frame", "rules", "summary", "width"])], ["tbody", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["td", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["template", /* @__PURE__ */ new Set(["shadowrootclonable", "shadowrootcustomelementregistry", "shadowrootdelegatesfocus", "shadowrootmode", "shadowrootserializable"])], ["textarea", /* @__PURE__ */ new Set(["autocomplete", "cols", "dirname", "disabled", "form", "maxlength", "minlength", "name", "placeholder", "readonly", "required", "rows", "wrap"])], ["tfoot", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["th", /* @__PURE__ */ new Set(["abbr", "align", "axis", "bgcolor", "char", "charoff", "colspan", "headers", "height", "nowrap", "rowspan", "scope", "valign", "width"])], ["thead", /* @__PURE__ */ new Set(["align", "char", "charoff", "valign"])], ["time", /* @__PURE__ */ new Set(["datetime"])], ["tr", /* @__PURE__ */ new Set(["align", "bgcolor", "char", "charoff", "valign"])], ["track", /* @__PURE__ */ new Set(["default", "kind", "label", "src", "srclang"])], ["ul", /* @__PURE__ */ new Set(["compact", "type"])], ["video", /* @__PURE__ */ new Set(["autoplay", "controls", "crossorigin", "height", "loop", "muted", "playsinline", "poster", "preload", "src", "width"])]]);
2869
+ var $i = /* @__PURE__ */ new Set(["a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "command", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "em", "embed", "fencedframe", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "geolocation", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "legend", "li", "link", "listing", "main", "map", "mark", "marquee", "math", "menu", "menuitem", "meta", "meter", "multicol", "nav", "nextid", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "pre", "progress", "q", "rb", "rbc", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "search", "section", "select", "selectedcontent", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "svg", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp"]);
2870
+ var Ht = { attrs: true, children: true, cases: true, expression: true }, ji = /* @__PURE__ */ new Set(["parent"]), ne, Tr, yr, Me = class Me2 {
2871
+ constructor(t = {}) {
2872
+ Rr(this, ne);
2873
+ Wt(this, "kind");
2874
+ Wt(this, "parent");
2875
+ for (let r of /* @__PURE__ */ new Set([...ji, ...Object.keys(t)])) this.setProperty(r, t[r]);
2876
+ if (ae(t)) for (let r of Object.getOwnPropertySymbols(t)) this.setProperty(r, t[r]);
2877
+ }
2878
+ setProperty(t, r) {
2879
+ if (this[t] !== r) {
2880
+ if (t in Ht && (r = r.map((n) => this.createChild(n))), !ji.has(t)) {
2881
+ this[t] = r;
2882
+ return;
2883
+ }
2884
+ Object.defineProperty(this, t, { value: r, enumerable: false, configurable: true });
2885
+ }
2886
+ }
2887
+ map(t) {
2888
+ let r;
2889
+ for (let n in Ht) {
2890
+ let i = this[n];
2891
+ if (i) {
2892
+ let s = Eo(i, (a) => a.map(t));
2893
+ r !== i && (r ?? (r = new Me2({ parent: this.parent })), r.setProperty(n, s));
2894
+ }
2895
+ }
2896
+ if (r) for (let n in this) n in Ht || (r[n] = this[n]);
2897
+ return t(r || this);
2898
+ }
2899
+ walk(t) {
2900
+ for (let r in Ht) {
2901
+ let n = this[r];
2902
+ if (n) for (let i = 0; i < n.length; i++) n[i].walk(t);
2903
+ }
2904
+ t(this);
2905
+ }
2906
+ createChild(t) {
2907
+ let r = t instanceof Me2 ? t.clone() : new Me2(t);
2908
+ return r.setProperty("parent", this), r;
2909
+ }
2910
+ insertChildBefore(t, r) {
2911
+ let n = this.$children;
2912
+ n.splice(n.indexOf(t), 0, this.createChild(r));
2913
+ }
2914
+ removeChild(t) {
2915
+ let r = this.$children;
2916
+ r.splice(r.indexOf(t), 1);
2917
+ }
2918
+ replaceChild(t, r) {
2919
+ let n = this.$children;
2920
+ n[n.indexOf(t)] = this.createChild(r);
2921
+ }
2922
+ clone() {
2923
+ return new Me2(this);
2924
+ }
2925
+ get $children() {
2926
+ return this[qe(this, ne, Tr)];
2927
+ }
2928
+ set $children(t) {
2929
+ this[qe(this, ne, Tr)] = t;
2930
+ }
2931
+ get firstChild() {
2932
+ var _a3;
2933
+ return (_a3 = this.$children) == null ? void 0 : _a3[0];
2934
+ }
2935
+ get lastChild() {
2936
+ return I(1, this.$children, -1);
2937
+ }
2938
+ get prev() {
2939
+ let t = qe(this, ne, yr);
2940
+ return t[t.indexOf(this) - 1];
2941
+ }
2942
+ get next() {
2943
+ let t = qe(this, ne, yr);
2944
+ return t[t.indexOf(this) + 1];
2945
+ }
2946
+ get rawName() {
2947
+ return this.hasExplicitNamespace ? this.fullName : this.name;
2948
+ }
2949
+ get fullName() {
2950
+ return this.namespace ? this.namespace + ":" + this.name : this.name;
2951
+ }
2952
+ get attrMap() {
2953
+ return Object.fromEntries(this.attrs.map((t) => [t.fullName, t.value]));
2954
+ }
2955
+ };
2956
+ ne = /* @__PURE__ */ new WeakSet(), Tr = function() {
2957
+ return this.kind === "angularIcuCase" ? "expression" : this.kind === "angularIcuExpression" ? "cases" : "children";
2958
+ }, yr = function() {
2959
+ var _a3;
2960
+ return ((_a3 = this.parent) == null ? void 0 : _a3.$children) ?? [];
2961
+ };
2962
+ var Ft = Me;
2963
+ function Eo(e, t) {
2964
+ let r = e.map(t);
2965
+ return r.some((n, i) => n !== e[i]) ? r : e;
2966
+ }
2967
+ var xo = [{ regex: /^(?<openingTagSuffix>\[if(?<condition>[^\]]*)\]>)(?<data>.*?)<!\s*\[endif\]$/s, parse: Lo }, { regex: /^\[if(?<condition>[^\]]*)\]><!$/, parse: Ao }, { regex: /^<!\s*\[endif\]$/, parse: Po }];
2968
+ function Yi(e, t) {
2969
+ if (e.value) for (let { regex: r, parse: n } of xo) {
2970
+ let i = e.value.match(r);
2971
+ if (i) return n(e, i, t);
2972
+ }
2973
+ return null;
2974
+ }
2975
+ function Lo(e, t, r) {
2976
+ let { openingTagSuffix: n, condition: i, data: s } = t.groups, a = 4 + n.length, o = e.sourceSpan.start.moveBy(a), l = o.moveBy(s.length), [c, u] = (() => {
2977
+ try {
2978
+ return [true, r(s, o).children];
2979
+ } catch {
2980
+ return [false, [{ kind: "text", value: s, sourceSpan: new p(o, l) }]];
2981
+ }
2982
+ })();
2983
+ return { kind: "ieConditionalComment", complete: c, children: u, condition: T(0, i.trim(), /\s+/g, " "), sourceSpan: e.sourceSpan, startSourceSpan: new p(e.sourceSpan.start, o), endSourceSpan: new p(l, e.sourceSpan.end) };
2984
+ }
2985
+ function Ao(e, t) {
2986
+ let { condition: r } = t.groups;
2987
+ return { kind: "ieConditionalStartComment", condition: T(0, r.trim(), /\s+/g, " "), sourceSpan: e.sourceSpan };
2988
+ }
2989
+ function Po(e) {
2990
+ return { kind: "ieConditionalEndComment", sourceSpan: e.sourceSpan };
2991
+ }
2992
+ var Er = class extends gr {
2993
+ visitExpansionCase(t, r) {
2994
+ r.parseOptions.name === "angular" && this.visitChildren(r, (n) => {
2995
+ n(t.expression);
2996
+ });
2997
+ }
2998
+ visit(t, { parseOptions: r }) {
2999
+ Ro(t), Oo(t, r), Bo(t, r), Mo(t);
3000
+ }
3001
+ };
3002
+ function Xi(e, t, r, n) {
3003
+ let i = r.name === "angular";
3004
+ It(new Er(), e.children, { parseOptions: r }), t && e.children.unshift(t);
3005
+ let s = new Ft(e);
3006
+ return s.walk((a) => {
3007
+ if (a.kind === "comment") {
3008
+ let o = Yi(a, n);
3009
+ o && a.parent.replaceChild(a, o);
3010
+ } else i && a.kind === "element" && a.comments && (a.startTagComments = a.comments, delete a.comments);
3011
+ i && (No(a), Do(a), Io(a));
3012
+ }), s;
3013
+ }
3014
+ function No(e) {
3015
+ if (e.kind === "block") {
3016
+ if (e.name = T(0, e.name.toLowerCase(), /\s+/g, " ").trim(), e.kind = "angularControlFlowBlock", !X(e.parameters)) {
3017
+ delete e.parameters;
3018
+ return;
3019
+ }
3020
+ for (let t of e.parameters) t.kind = "angularControlFlowBlockParameter";
3021
+ e.parameters = { kind: "angularControlFlowBlockParameters", children: e.parameters, sourceSpan: new p(e.parameters[0].sourceSpan.start, I(0, e.parameters, -1).sourceSpan.end) };
3022
+ }
3023
+ }
3024
+ function Do(e) {
3025
+ e.kind === "letDeclaration" && (e.kind = "angularLetDeclaration", e.id = e.name, e.init = { kind: "angularLetDeclarationInitializer", sourceSpan: new p(e.valueSpan.start, e.valueSpan.end), value: e.value }, delete e.name, delete e.value);
3026
+ }
3027
+ function Io(e) {
3028
+ e.kind === "expansion" && (e.kind = "angularIcuExpression"), e.kind === "expansionCase" && (e.kind = "angularIcuCase");
3029
+ }
3030
+ function Ki(e, t) {
3031
+ let r = e.toLowerCase();
3032
+ return t(r) ? r : e;
3033
+ }
3034
+ function Qi(e) {
3035
+ let t = e.name.startsWith(":") ? e.name.slice(1).split(":", 1)[0] : null, r = e.nameSpan.toString(), n = t !== null && r.startsWith(`${t}:`), i = n ? r.slice(t.length + 1) : r;
3036
+ e.name = i, e.namespace = t, e.hasExplicitNamespace = n;
3037
+ }
3038
+ function Ro(e) {
3039
+ switch (e.kind) {
3040
+ case "element":
3041
+ Qi(e);
3042
+ for (let t of e.attrs) Qi(t), t.valueSpan ? (t.value = t.valueSpan.toString(), /["']/.test(t.value[0]) && (t.value = t.value.slice(1, -1))) : t.value = null;
3043
+ break;
3044
+ case "comment":
3045
+ e.value = e.sourceSpan.toString().slice(4, -3);
3046
+ break;
3047
+ case "text":
3048
+ e.value = e.sourceSpan.toString();
3049
+ break;
3050
+ }
3051
+ }
3052
+ function Oo(e, t) {
3053
+ if (e.kind === "element") {
3054
+ let r = Ne(t.isTagNameCaseSensitive ? e.name : e.name.toLowerCase());
3055
+ !e.namespace || e.namespace === r.implicitNamespacePrefix || oe(e) ? e.tagDefinition = r : e.tagDefinition = Ne("");
3056
+ }
3057
+ }
3058
+ function Mo(e) {
3059
+ e.sourceSpan && e.endSourceSpan && (e.sourceSpan = new p(e.sourceSpan.start, e.endSourceSpan.end));
3060
+ }
3061
+ function Bo(e, t) {
3062
+ if (e.kind === "element" && (t.normalizeTagName && (!e.namespace || e.namespace === e.tagDefinition.implicitNamespacePrefix || oe(e)) && (e.name = Ki(e.name, (r) => $i.has(r))), t.normalizeAttributeName)) for (let r of e.attrs) r.namespace || (r.name = Ki(r.name, (n) => qt.has(e.name) && (qt.get("*").has(n) || qt.get(e.name).has(n))));
3063
+ }
3064
+ function Lr(e, t) {
3065
+ let { rootNodes: r, errors: n } = Mt(e, wr(t));
3066
+ return n.length > 0 && xr(n[0]), { parseOptions: t, rootNodes: r };
3067
+ }
3068
+ function Ji(e, t) {
3069
+ let r = wr(t), { rootNodes: n, errors: i } = Mt(e, r);
3070
+ if (n.some((c) => c.kind === "docType" && c.value === "html" || c.kind === "element" && c.name.toLowerCase() === "html")) return Lr(e, Vt);
3071
+ let a, o = () => a ?? (a = Mt(e, { ...r, getTagContentType: void 0 })), l = (c) => {
3072
+ let { offset: u } = c.startSourceSpan.start;
3073
+ return o().rootNodes.find((d) => d.kind === "element" && d.startSourceSpan.start.offset === u) ?? c;
3074
+ };
3075
+ for (let [c, u] of n.entries()) if (u.kind === "element") {
3076
+ if (u.isVoid) i = o().errors, n[c] = l(u);
3077
+ else if (qo(u)) {
3078
+ let { endSourceSpan: d, startSourceSpan: _ } = u, h = o().errors.find((f) => f.span.start.offset > _.start.offset && f.span.start.offset < d.end.offset);
3079
+ h && xr(h), n[c] = l(u);
3080
+ }
3081
+ }
3082
+ return i.length > 0 && xr(i[0]), { parseOptions: t, rootNodes: n };
3083
+ }
3084
+ function qo(e) {
3085
+ var _a3;
3086
+ if (e.kind !== "element" || e.name !== "template") return false;
3087
+ let t = (_a3 = e.attrs.find((r) => r.name === "lang")) == null ? void 0 : _a3.value;
3088
+ return !t || t === "html";
3089
+ }
3090
+ function xr(e) {
3091
+ let { msg: t, span: { start: r, end: n } } = e;
3092
+ throw Gi(t, { loc: { start: { line: r.line + 1, column: r.col + 1 }, end: { line: n.line + 1, column: n.col + 1 } }, cause: e });
3093
+ }
3094
+ function Ho(e, t, r, n, i, s) {
3095
+ let { offset: a } = n, o = vt(t.slice(0, a)) + r, l = Ar(o, e, { ...i, shouldParseFrontMatter: false }, s);
3096
+ l.sourceSpan = new p(n, I(0, l.children, -1).sourceSpan.end);
3097
+ let c = l.children[0];
3098
+ return c.length === a ? l.children.shift() : (c.sourceSpan = new p(c.sourceSpan.start.moveBy(a), c.sourceSpan.end), c.value = c.value.slice(a)), l;
3099
+ }
3100
+ function Ar(e, t, r, n = {}) {
3101
+ let { frontMatter: i, content: s } = r.shouldParseFrontMatter ? Qt(e) : { content: e }, a = new rt(e, n.filepath), o = new De(a, 0, 0, 0), l = o.moveBy(e.length), { parseOptions: c, rootNodes: u } = t(s, r), d = { kind: "root", sourceSpan: new p(o, l), children: u }, _;
3102
+ if (i) {
3103
+ let [f, g] = [i.start, i.end].map((v) => new De(a, v.index, v.line - 1, v.column));
3104
+ _ = { ...i, kind: "frontMatter", sourceSpan: new p(f, g) };
3105
+ }
3106
+ return Xi(d, _, c, (f, g) => Ho(t, e, f, g, c, n));
3107
+ }
3108
+ var Vt = Bt({ name: "html", normalizeTagName: true, normalizeAttributeName: true, allowHtmComponentClosingTags: true });
3109
+ function st(e) {
3110
+ let t = Bt(e), r = t.name === "vue" ? Ji : Lr;
3111
+ return { parse: (n, i) => Ar(n, r, t, i), hasPragma: Jn, hasIgnorePragma: Zn, astFormat: "html", locStart: F, locEnd: J };
3112
+ }
3113
+ var Fo = st(Vt), Vo = /* @__PURE__ */ new Set(["mj-style", "mj-raw"]), Uo = st({ ...Vt, name: "mjml", shouldParseAsRawText: (e) => Vo.has(e) }), Wo = st({ name: "angular", tokenizeAngularBlocks: true, tokenizeAngularLetDeclaration: true, allowStartTagComments: true }), zo = st({ name: "vue", isTagNameCaseSensitive: true, shouldParseAsRawText(e, t, r, n) {
3114
+ return e.toLowerCase() !== "html" && !r && (e !== "template" || n.some(({ name: i, value: s }) => i === "lang" && s !== "html" && s !== "" && s !== void 0));
3115
+ } }), Go = st({ name: "lwc", canSelfClose: false });
3116
+ var $o = { html: Vi };
3117
+ export {
3118
+ Zi as default,
3119
+ Ui as languages,
3120
+ zi as options,
3121
+ Pr as parsers,
3122
+ $o as printers
3123
+ };