@glodon-aiot/agent-cli-ui 3.9.0-beta.10 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/es/Dialog/AgentChat/HistoryItem/FileItem/index.mjs +12 -12
  2. package/dist/es/Dialog/AgentChat/HistoryItem/SessionRefer/index.mjs +11 -11
  3. package/dist/es/Dialog/AgentChat/HistoryItem/SessionRelated/index.mjs +2 -2
  4. package/dist/es/Dialog/AgentChat/HistoryItem/index.mjs +118 -133
  5. package/dist/es/Dialog/AgentChat/Tools/UploadKnowledgeFiles/index.mjs +1 -1
  6. package/dist/es/Dialog/AgentChat/index.mjs +573 -604
  7. package/dist/es/Dialog/SessionList/index.mjs +218 -271
  8. package/dist/es/ReactTextGenerationUI/components/TextSiders/index.mjs +53 -53
  9. package/dist/es/components/FilePreview/index.mjs +6 -6
  10. package/dist/es/components/Iconfont/index.mjs +3 -3
  11. package/dist/es/constant.mjs +4 -4
  12. package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Markdown/Code/index.mjs +1 -1
  13. package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Markdown/Image/index.mjs +3 -3
  14. package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Markdown/index.mjs +25 -24
  15. package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/index.mjs +1 -1
  16. package/dist/es/node_modules/hast-util-from-parse5/lib/index.mjs +162 -0
  17. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/index.mjs +12 -0
  18. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/aria.mjs +61 -0
  19. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/find.mjs +33 -0
  20. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/html.mjs +368 -0
  21. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/normalize.mjs +6 -0
  22. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/svg.mjs +566 -0
  23. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/case-insensitive-transform.mjs +7 -0
  24. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/case-sensitive-transform.mjs +6 -0
  25. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/create.mjs +14 -0
  26. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/defined-info.mjs +36 -0
  27. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/info.mjs +28 -0
  28. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/merge.mjs +10 -0
  29. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/schema.mjs +21 -0
  30. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/util/types.mjs +15 -0
  31. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/xlink.mjs +19 -0
  32. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/xml.mjs +15 -0
  33. package/dist/es/node_modules/hast-util-from-parse5/node_modules/property-information/lib/xmlns.mjs +16 -0
  34. package/dist/es/node_modules/hast-util-from-parse5/node_modules/vfile-location/lib/index.mjs +47 -0
  35. package/dist/es/node_modules/hast-util-from-parse5/node_modules/web-namespaces/index.mjs +11 -0
  36. package/dist/es/node_modules/rehype-raw/lib/index.mjs +26 -0
  37. package/dist/es/node_modules/rehype-raw/node_modules/entities/dist/esm/decode-codepoint.mjs +38 -0
  38. package/dist/es/node_modules/rehype-raw/node_modules/entities/dist/esm/decode.mjs +251 -0
  39. package/dist/es/node_modules/rehype-raw/node_modules/entities/dist/esm/generated/decode-data-html.mjs +7 -0
  40. package/dist/es/node_modules/rehype-raw/node_modules/hast-util-raw/lib/index.mjs +249 -0
  41. package/dist/es/node_modules/rehype-raw/node_modules/hast-util-to-parse5/lib/index.mjs +125 -0
  42. package/dist/es/node_modules/rehype-raw/node_modules/html-void-elements/index.mjs +4 -0
  43. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/doctype.mjs +34 -0
  44. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/error-codes.mjs +7 -0
  45. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/foreign-content.mjs +103 -0
  46. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/html.mjs +44 -0
  47. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/token.mjs +14 -0
  48. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/common/unicode.mjs +38 -0
  49. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/parser/formatting-element-list.mjs +91 -0
  50. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/parser/index.mjs +2308 -0
  51. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/parser/open-element-stack.mjs +220 -0
  52. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/serializer/index.mjs +2 -0
  53. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/tokenizer/index.mjs +1948 -0
  54. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/tokenizer/preprocessor.mjs +92 -0
  55. package/dist/es/node_modules/rehype-raw/node_modules/parse5/dist/tree-adapters/default.mjs +173 -0
  56. package/dist/es/node_modules/rehype-raw/node_modules/property-information/index.mjs +12 -0
  57. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/aria.mjs +61 -0
  58. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/find.mjs +33 -0
  59. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/html.mjs +368 -0
  60. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/normalize.mjs +6 -0
  61. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/svg.mjs +566 -0
  62. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/case-insensitive-transform.mjs +7 -0
  63. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/case-sensitive-transform.mjs +6 -0
  64. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/create.mjs +17 -0
  65. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/defined-info.mjs +27 -0
  66. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/info.mjs +23 -0
  67. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/merge.mjs +11 -0
  68. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/schema.mjs +17 -0
  69. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/util/types.mjs +15 -0
  70. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/xlink.mjs +19 -0
  71. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/xml.mjs +15 -0
  72. package/dist/es/node_modules/rehype-raw/node_modules/property-information/lib/xmlns.mjs +16 -0
  73. package/dist/es/node_modules/rehype-raw/node_modules/unist-util-visit/lib/index.mjs +16 -0
  74. package/dist/es/node_modules/rehype-raw/node_modules/web-namespaces/index.mjs +11 -0
  75. package/dist/es/node_modules/zwitch/index.mjs +18 -0
  76. package/dist/es/packages/agent-cli-ui/package.json.mjs +3 -3
  77. package/dist/es/src/style11.css +1 -1
  78. package/dist/es/src/style12.css +1 -1
  79. package/dist/es/src/style13.css +1 -1
  80. package/dist/es/src/style14.css +1 -1
  81. package/dist/es/src/style15.css +1 -1
  82. package/dist/es/src/style16.css +1 -1
  83. package/dist/es/src/style17.css +1 -1
  84. package/dist/es/src/style18.css +1 -1
  85. package/dist/es/src/style19.css +1 -1
  86. package/dist/es/src/style20.css +1 -1
  87. package/dist/es/src/style21.css +1 -1
  88. package/dist/es/src/style22.css +1 -1
  89. package/dist/es/src/style23.css +1 -1
  90. package/dist/es/src/style26.css +1 -1
  91. package/dist/es/src/style27.css +1 -1
  92. package/dist/es/src/style28.css +1 -1
  93. package/dist/es/src/style30.css +1 -1
  94. package/dist/es/src/style31.css +1 -1
  95. package/dist/es/src/style32.css +1 -1
  96. package/dist/es/src/style5.css +1 -1
  97. package/dist/es/src/style6.css +1 -1
  98. package/dist/es/src/style8.css +1 -1
  99. package/dist/es/src/style9.css +1 -1
  100. package/dist/lib/index.css +1 -1
  101. package/dist/lib/index.js +68 -69
  102. package/dist/src/constant.d.ts +2 -2
  103. package/package.json +3 -3
  104. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/Iconfont/index.mjs +0 -0
  105. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Copy/index.mjs +0 -0
  106. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Markdown/ATag/index.mjs +0 -0
  107. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/components/Markdown/Video/index.mjs +0 -0
  108. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/utils/clipboard.mjs +0 -0
  109. /package/dist/es/{packages → node_modules/@glodon-aiot}/react-components/dist/es/utils/markdown/index.mjs +0 -0
@@ -0,0 +1,2308 @@
1
+ var fe = Object.defineProperty, ge = Object.defineProperties;
2
+ var Ne = Object.getOwnPropertyDescriptors;
3
+ var K = Object.getOwnPropertySymbols;
4
+ var Le = Object.prototype.hasOwnProperty, ue = Object.prototype.propertyIsEnumerable;
5
+ var V = (e, t, n) => t in e ? fe(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, h = (e, t) => {
6
+ for (var n in t || (t = {}))
7
+ Le.call(t, n) && V(e, n, t[n]);
8
+ if (K)
9
+ for (var n of K(t))
10
+ ue.call(t, n) && V(e, n, t[n]);
11
+ return e;
12
+ }, Q = (e, t) => ge(e, Ne(t));
13
+ import { Tokenizer as Oe, TokenizerMode as d } from "../tokenizer/index.mjs";
14
+ import { OpenElementStack as Ce } from "./open-element-stack.mjs";
15
+ import { FormattingElementList as Re, EntryType as Me } from "./formatting-element-list.mjs";
16
+ import { defaultTreeAdapter as be } from "../tree-adapters/default.mjs";
17
+ import { getDocumentMode as Be, isConforming as De } from "../common/doctype.mjs";
18
+ import { isIntegrationPoint as Se, causesExit as Pe, adjustTokenMathMLAttrs as Z, adjustTokenSVGTagName as Fe, adjustTokenSVGAttrs as $, adjustTokenXMLAttrs as w } from "../common/foreign-content.mjs";
19
+ import { ERR as l } from "../common/error-codes.mjs";
20
+ import { CODE_POINTS as He, REPLACEMENT_CHARACTER as pe } from "../common/unicode.mjs";
21
+ import { TAG_ID as a, getTagID as ee, TAG_NAMES as I, NS as o, SPECIAL_ELEMENTS as Ue, DOCUMENT_MODE as G, NUMBERED_HEADERS as ye, ATTRS as Ye } from "../common/html.mjs";
22
+ import { TokenType as T, getTokenAttr as xe } from "../common/token.mjs";
23
+ const ke = "hidden", we = 8, Ge = 3;
24
+ var s;
25
+ (function(e) {
26
+ e[e.INITIAL = 0] = "INITIAL", e[e.BEFORE_HTML = 1] = "BEFORE_HTML", e[e.BEFORE_HEAD = 2] = "BEFORE_HEAD", e[e.IN_HEAD = 3] = "IN_HEAD", e[e.IN_HEAD_NO_SCRIPT = 4] = "IN_HEAD_NO_SCRIPT", e[e.AFTER_HEAD = 5] = "AFTER_HEAD", e[e.IN_BODY = 6] = "IN_BODY", e[e.TEXT = 7] = "TEXT", e[e.IN_TABLE = 8] = "IN_TABLE", e[e.IN_TABLE_TEXT = 9] = "IN_TABLE_TEXT", e[e.IN_CAPTION = 10] = "IN_CAPTION", e[e.IN_COLUMN_GROUP = 11] = "IN_COLUMN_GROUP", e[e.IN_TABLE_BODY = 12] = "IN_TABLE_BODY", e[e.IN_ROW = 13] = "IN_ROW", e[e.IN_CELL = 14] = "IN_CELL", e[e.IN_SELECT = 15] = "IN_SELECT", e[e.IN_SELECT_IN_TABLE = 16] = "IN_SELECT_IN_TABLE", e[e.IN_TEMPLATE = 17] = "IN_TEMPLATE", e[e.AFTER_BODY = 18] = "AFTER_BODY", e[e.IN_FRAMESET = 19] = "IN_FRAMESET", e[e.AFTER_FRAMESET = 20] = "AFTER_FRAMESET", e[e.AFTER_AFTER_BODY = 21] = "AFTER_AFTER_BODY", e[e.AFTER_AFTER_FRAMESET = 22] = "AFTER_AFTER_FRAMESET";
27
+ })(s || (s = {}));
28
+ const ve = {
29
+ startLine: -1,
30
+ startCol: -1,
31
+ startOffset: -1,
32
+ endLine: -1,
33
+ endCol: -1,
34
+ endOffset: -1
35
+ }, te = /* @__PURE__ */ new Set([a.TABLE, a.TBODY, a.TFOOT, a.THEAD, a.TR]), j = {
36
+ scriptingEnabled: !0,
37
+ sourceCodeLocationInfo: !1,
38
+ treeAdapter: be,
39
+ onParseError: null
40
+ };
41
+ class Fa {
42
+ constructor(t, n, r = null, i = null) {
43
+ this.fragmentContext = r, this.scriptHandler = i, this.currentToken = null, this.stopped = !1, this.insertionMode = s.INITIAL, this.originalInsertionMode = s.INITIAL, this.headElement = null, this.formElement = null, this.currentNotInHTML = !1, this.tmplInsertionModeStack = [], this.pendingCharacterTokens = [], this.hasNonWhitespacePendingCharacterToken = !1, this.framesetOk = !0, this.skipNextNewLine = !1, this.fosterParentingEnabled = !1, this.options = h(h({}, j), t), this.treeAdapter = this.options.treeAdapter, this.onParseError = this.options.onParseError, this.onParseError && (this.options.sourceCodeLocationInfo = !0), this.document = n != null ? n : this.treeAdapter.createDocument(), this.tokenizer = new Oe(this.options, this), this.activeFormattingElements = new Re(this.treeAdapter), this.fragmentContextID = r ? ee(this.treeAdapter.getTagName(r)) : a.UNKNOWN, this._setContextModes(r != null ? r : this.document, this.fragmentContextID), this.openElements = new Ce(this.document, this.treeAdapter, this);
44
+ }
45
+ // API
46
+ static parse(t, n) {
47
+ const r = new this(n);
48
+ return r.tokenizer.write(t, !0), r.document;
49
+ }
50
+ static getFragmentParser(t, n) {
51
+ const r = h(h({}, j), n);
52
+ t != null || (t = r.treeAdapter.createElement(I.TEMPLATE, o.HTML, []));
53
+ const i = r.treeAdapter.createElement("documentmock", o.HTML, []), c = new this(r, i, t);
54
+ return c.fragmentContextID === a.TEMPLATE && c.tmplInsertionModeStack.unshift(s.IN_TEMPLATE), c._initTokenizerForFragmentParsing(), c._insertFakeRootElement(), c._resetInsertionMode(), c._findFormInFragmentContext(), c;
55
+ }
56
+ getFragment() {
57
+ const t = this.treeAdapter.getFirstChild(this.document), n = this.treeAdapter.createDocumentFragment();
58
+ return this._adoptNodes(t, n), n;
59
+ }
60
+ //Errors
61
+ /** @internal */
62
+ _err(t, n, r) {
63
+ var i;
64
+ if (!this.onParseError)
65
+ return;
66
+ const c = (i = t.location) !== null && i !== void 0 ? i : ve, E = {
67
+ code: n,
68
+ startLine: c.startLine,
69
+ startCol: c.startCol,
70
+ startOffset: c.startOffset,
71
+ endLine: r ? c.startLine : c.endLine,
72
+ endCol: r ? c.startCol : c.endCol,
73
+ endOffset: r ? c.startOffset : c.endOffset
74
+ };
75
+ this.onParseError(E);
76
+ }
77
+ //Stack events
78
+ /** @internal */
79
+ onItemPush(t, n, r) {
80
+ var i, c;
81
+ (c = (i = this.treeAdapter).onItemPush) === null || c === void 0 || c.call(i, t), r && this.openElements.stackTop > 0 && this._setContextModes(t, n);
82
+ }
83
+ /** @internal */
84
+ onItemPop(t, n) {
85
+ var r, i;
86
+ if (this.options.sourceCodeLocationInfo && this._setEndLocation(t, this.currentToken), (i = (r = this.treeAdapter).onItemPop) === null || i === void 0 || i.call(r, t, this.openElements.current), n) {
87
+ let c, E;
88
+ this.openElements.stackTop === 0 && this.fragmentContext ? (c = this.fragmentContext, E = this.fragmentContextID) : {
89
+ current: c,
90
+ currentTagId: E
91
+ } = this.openElements, this._setContextModes(c, E);
92
+ }
93
+ }
94
+ _setContextModes(t, n) {
95
+ const r = t === this.document || t && this.treeAdapter.getNamespaceURI(t) === o.HTML;
96
+ this.currentNotInHTML = !r, this.tokenizer.inForeignNode = !r && t !== void 0 && n !== void 0 && !this._isIntegrationPoint(n, t);
97
+ }
98
+ /** @protected */
99
+ _switchToTextParsing(t, n) {
100
+ this._insertElement(t, o.HTML), this.tokenizer.state = n, this.originalInsertionMode = this.insertionMode, this.insertionMode = s.TEXT;
101
+ }
102
+ switchToPlaintextParsing() {
103
+ this.insertionMode = s.TEXT, this.originalInsertionMode = s.IN_BODY, this.tokenizer.state = d.PLAINTEXT;
104
+ }
105
+ //Fragment parsing
106
+ /** @protected */
107
+ _getAdjustedCurrentElement() {
108
+ return this.openElements.stackTop === 0 && this.fragmentContext ? this.fragmentContext : this.openElements.current;
109
+ }
110
+ /** @protected */
111
+ _findFormInFragmentContext() {
112
+ let t = this.fragmentContext;
113
+ for (; t; ) {
114
+ if (this.treeAdapter.getTagName(t) === I.FORM) {
115
+ this.formElement = t;
116
+ break;
117
+ }
118
+ t = this.treeAdapter.getParentNode(t);
119
+ }
120
+ }
121
+ _initTokenizerForFragmentParsing() {
122
+ if (!(!this.fragmentContext || this.treeAdapter.getNamespaceURI(this.fragmentContext) !== o.HTML))
123
+ switch (this.fragmentContextID) {
124
+ case a.TITLE:
125
+ case a.TEXTAREA: {
126
+ this.tokenizer.state = d.RCDATA;
127
+ break;
128
+ }
129
+ case a.STYLE:
130
+ case a.XMP:
131
+ case a.IFRAME:
132
+ case a.NOEMBED:
133
+ case a.NOFRAMES:
134
+ case a.NOSCRIPT: {
135
+ this.tokenizer.state = d.RAWTEXT;
136
+ break;
137
+ }
138
+ case a.SCRIPT: {
139
+ this.tokenizer.state = d.SCRIPT_DATA;
140
+ break;
141
+ }
142
+ case a.PLAINTEXT: {
143
+ this.tokenizer.state = d.PLAINTEXT;
144
+ break;
145
+ }
146
+ }
147
+ }
148
+ //Tree mutation
149
+ /** @protected */
150
+ _setDocumentType(t) {
151
+ const n = t.name || "", r = t.publicId || "", i = t.systemId || "";
152
+ if (this.treeAdapter.setDocumentType(this.document, n, r, i), t.location) {
153
+ const E = this.treeAdapter.getChildNodes(this.document).find((A) => this.treeAdapter.isDocumentTypeNode(A));
154
+ E && this.treeAdapter.setNodeSourceCodeLocation(E, t.location);
155
+ }
156
+ }
157
+ /** @protected */
158
+ _attachElementToTree(t, n) {
159
+ if (this.options.sourceCodeLocationInfo) {
160
+ const r = n && Q(h({}, n), {
161
+ startTag: n
162
+ });
163
+ this.treeAdapter.setNodeSourceCodeLocation(t, r);
164
+ }
165
+ if (this._shouldFosterParentOnInsertion())
166
+ this._fosterParentElement(t);
167
+ else {
168
+ const r = this.openElements.currentTmplContentOrNode;
169
+ this.treeAdapter.appendChild(r != null ? r : this.document, t);
170
+ }
171
+ }
172
+ /**
173
+ * For self-closing tags. Add an element to the tree, but skip adding it
174
+ * to the stack.
175
+ */
176
+ /** @protected */
177
+ _appendElement(t, n) {
178
+ const r = this.treeAdapter.createElement(t.tagName, n, t.attrs);
179
+ this._attachElementToTree(r, t.location);
180
+ }
181
+ /** @protected */
182
+ _insertElement(t, n) {
183
+ const r = this.treeAdapter.createElement(t.tagName, n, t.attrs);
184
+ this._attachElementToTree(r, t.location), this.openElements.push(r, t.tagID);
185
+ }
186
+ /** @protected */
187
+ _insertFakeElement(t, n) {
188
+ const r = this.treeAdapter.createElement(t, o.HTML, []);
189
+ this._attachElementToTree(r, null), this.openElements.push(r, n);
190
+ }
191
+ /** @protected */
192
+ _insertTemplate(t) {
193
+ const n = this.treeAdapter.createElement(t.tagName, o.HTML, t.attrs), r = this.treeAdapter.createDocumentFragment();
194
+ this.treeAdapter.setTemplateContent(n, r), this._attachElementToTree(n, t.location), this.openElements.push(n, t.tagID), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(r, null);
195
+ }
196
+ /** @protected */
197
+ _insertFakeRootElement() {
198
+ const t = this.treeAdapter.createElement(I.HTML, o.HTML, []);
199
+ this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(t, null), this.treeAdapter.appendChild(this.openElements.current, t), this.openElements.push(t, a.HTML);
200
+ }
201
+ /** @protected */
202
+ _appendCommentNode(t, n) {
203
+ const r = this.treeAdapter.createCommentNode(t.data);
204
+ this.treeAdapter.appendChild(n, r), this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(r, t.location);
205
+ }
206
+ /** @protected */
207
+ _insertCharacters(t) {
208
+ let n, r;
209
+ if (this._shouldFosterParentOnInsertion() ? ({
210
+ parent: n,
211
+ beforeElement: r
212
+ } = this._findFosterParentingLocation(), r ? this.treeAdapter.insertTextBefore(n, t.chars, r) : this.treeAdapter.insertText(n, t.chars)) : (n = this.openElements.currentTmplContentOrNode, this.treeAdapter.insertText(n, t.chars)), !t.location)
213
+ return;
214
+ const i = this.treeAdapter.getChildNodes(n), c = r ? i.lastIndexOf(r) : i.length, E = i[c - 1];
215
+ if (this.treeAdapter.getNodeSourceCodeLocation(E)) {
216
+ const {
217
+ endLine: D,
218
+ endCol: z,
219
+ endOffset: he
220
+ } = t.location;
221
+ this.treeAdapter.updateNodeSourceCodeLocation(E, {
222
+ endLine: D,
223
+ endCol: z,
224
+ endOffset: he
225
+ });
226
+ } else
227
+ this.options.sourceCodeLocationInfo && this.treeAdapter.setNodeSourceCodeLocation(E, t.location);
228
+ }
229
+ /** @protected */
230
+ _adoptNodes(t, n) {
231
+ for (let r = this.treeAdapter.getFirstChild(t); r; r = this.treeAdapter.getFirstChild(t))
232
+ this.treeAdapter.detachNode(r), this.treeAdapter.appendChild(n, r);
233
+ }
234
+ /** @protected */
235
+ _setEndLocation(t, n) {
236
+ if (this.treeAdapter.getNodeSourceCodeLocation(t) && n.location) {
237
+ const r = n.location, i = this.treeAdapter.getTagName(t), c = (
238
+ // NOTE: For cases like <p> <p> </p> - First 'p' closes without a closing
239
+ // tag and for cases like <td> <p> </td> - 'p' closes without a closing tag.
240
+ n.type === T.END_TAG && i === n.tagName ? {
241
+ endTag: h({}, r),
242
+ endLine: r.endLine,
243
+ endCol: r.endCol,
244
+ endOffset: r.endOffset
245
+ } : {
246
+ endLine: r.startLine,
247
+ endCol: r.startCol,
248
+ endOffset: r.startOffset
249
+ }
250
+ );
251
+ this.treeAdapter.updateNodeSourceCodeLocation(t, c);
252
+ }
253
+ }
254
+ //Token processing
255
+ shouldProcessStartTagTokenInForeignContent(t) {
256
+ if (!this.currentNotInHTML)
257
+ return !1;
258
+ let n, r;
259
+ return this.openElements.stackTop === 0 && this.fragmentContext ? (n = this.fragmentContext, r = this.fragmentContextID) : {
260
+ current: n,
261
+ currentTagId: r
262
+ } = this.openElements, t.tagID === a.SVG && this.treeAdapter.getTagName(n) === I.ANNOTATION_XML && this.treeAdapter.getNamespaceURI(n) === o.MATHML ? !1 : (
263
+ // Check that `current` is not an integration point for HTML or MathML elements.
264
+ this.tokenizer.inForeignNode || // If it _is_ an integration point, then we might have to check that it is not an HTML
265
+ // integration point.
266
+ (t.tagID === a.MGLYPH || t.tagID === a.MALIGNMARK) && r !== void 0 && !this._isIntegrationPoint(r, n, o.HTML)
267
+ );
268
+ }
269
+ /** @protected */
270
+ _processToken(t) {
271
+ switch (t.type) {
272
+ case T.CHARACTER: {
273
+ this.onCharacter(t);
274
+ break;
275
+ }
276
+ case T.NULL_CHARACTER: {
277
+ this.onNullCharacter(t);
278
+ break;
279
+ }
280
+ case T.COMMENT: {
281
+ this.onComment(t);
282
+ break;
283
+ }
284
+ case T.DOCTYPE: {
285
+ this.onDoctype(t);
286
+ break;
287
+ }
288
+ case T.START_TAG: {
289
+ this._processStartTag(t);
290
+ break;
291
+ }
292
+ case T.END_TAG: {
293
+ this.onEndTag(t);
294
+ break;
295
+ }
296
+ case T.EOF: {
297
+ this.onEof(t);
298
+ break;
299
+ }
300
+ case T.WHITESPACE_CHARACTER: {
301
+ this.onWhitespaceCharacter(t);
302
+ break;
303
+ }
304
+ }
305
+ }
306
+ //Integration points
307
+ /** @protected */
308
+ _isIntegrationPoint(t, n, r) {
309
+ const i = this.treeAdapter.getNamespaceURI(n), c = this.treeAdapter.getAttrList(n);
310
+ return Se(t, i, c, r);
311
+ }
312
+ //Active formatting elements reconstruction
313
+ /** @protected */
314
+ _reconstructActiveFormattingElements() {
315
+ const t = this.activeFormattingElements.entries.length;
316
+ if (t) {
317
+ const n = this.activeFormattingElements.entries.findIndex((i) => i.type === Me.Marker || this.openElements.contains(i.element)), r = n === -1 ? t - 1 : n - 1;
318
+ for (let i = r; i >= 0; i--) {
319
+ const c = this.activeFormattingElements.entries[i];
320
+ this._insertElement(c.token, this.treeAdapter.getNamespaceURI(c.element)), c.element = this.openElements.current;
321
+ }
322
+ }
323
+ }
324
+ //Close elements
325
+ /** @protected */
326
+ _closeTableCell() {
327
+ this.openElements.generateImpliedEndTags(), this.openElements.popUntilTableCellPopped(), this.activeFormattingElements.clearToLastMarker(), this.insertionMode = s.IN_ROW;
328
+ }
329
+ /** @protected */
330
+ _closePElement() {
331
+ this.openElements.generateImpliedEndTagsWithExclusion(a.P), this.openElements.popUntilTagNamePopped(a.P);
332
+ }
333
+ //Insertion modes
334
+ /** @protected */
335
+ _resetInsertionMode() {
336
+ for (let t = this.openElements.stackTop; t >= 0; t--)
337
+ switch (t === 0 && this.fragmentContext ? this.fragmentContextID : this.openElements.tagIDs[t]) {
338
+ case a.TR: {
339
+ this.insertionMode = s.IN_ROW;
340
+ return;
341
+ }
342
+ case a.TBODY:
343
+ case a.THEAD:
344
+ case a.TFOOT: {
345
+ this.insertionMode = s.IN_TABLE_BODY;
346
+ return;
347
+ }
348
+ case a.CAPTION: {
349
+ this.insertionMode = s.IN_CAPTION;
350
+ return;
351
+ }
352
+ case a.COLGROUP: {
353
+ this.insertionMode = s.IN_COLUMN_GROUP;
354
+ return;
355
+ }
356
+ case a.TABLE: {
357
+ this.insertionMode = s.IN_TABLE;
358
+ return;
359
+ }
360
+ case a.BODY: {
361
+ this.insertionMode = s.IN_BODY;
362
+ return;
363
+ }
364
+ case a.FRAMESET: {
365
+ this.insertionMode = s.IN_FRAMESET;
366
+ return;
367
+ }
368
+ case a.SELECT: {
369
+ this._resetInsertionModeForSelect(t);
370
+ return;
371
+ }
372
+ case a.TEMPLATE: {
373
+ this.insertionMode = this.tmplInsertionModeStack[0];
374
+ return;
375
+ }
376
+ case a.HTML: {
377
+ this.insertionMode = this.headElement ? s.AFTER_HEAD : s.BEFORE_HEAD;
378
+ return;
379
+ }
380
+ case a.TD:
381
+ case a.TH: {
382
+ if (t > 0) {
383
+ this.insertionMode = s.IN_CELL;
384
+ return;
385
+ }
386
+ break;
387
+ }
388
+ case a.HEAD: {
389
+ if (t > 0) {
390
+ this.insertionMode = s.IN_HEAD;
391
+ return;
392
+ }
393
+ break;
394
+ }
395
+ }
396
+ this.insertionMode = s.IN_BODY;
397
+ }
398
+ /** @protected */
399
+ _resetInsertionModeForSelect(t) {
400
+ if (t > 0)
401
+ for (let n = t - 1; n > 0; n--) {
402
+ const r = this.openElements.tagIDs[n];
403
+ if (r === a.TEMPLATE)
404
+ break;
405
+ if (r === a.TABLE) {
406
+ this.insertionMode = s.IN_SELECT_IN_TABLE;
407
+ return;
408
+ }
409
+ }
410
+ this.insertionMode = s.IN_SELECT;
411
+ }
412
+ //Foster parenting
413
+ /** @protected */
414
+ _isElementCausesFosterParenting(t) {
415
+ return te.has(t);
416
+ }
417
+ /** @protected */
418
+ _shouldFosterParentOnInsertion() {
419
+ return this.fosterParentingEnabled && this.openElements.currentTagId !== void 0 && this._isElementCausesFosterParenting(this.openElements.currentTagId);
420
+ }
421
+ /** @protected */
422
+ _findFosterParentingLocation() {
423
+ for (let t = this.openElements.stackTop; t >= 0; t--) {
424
+ const n = this.openElements.items[t];
425
+ switch (this.openElements.tagIDs[t]) {
426
+ case a.TEMPLATE: {
427
+ if (this.treeAdapter.getNamespaceURI(n) === o.HTML)
428
+ return {
429
+ parent: this.treeAdapter.getTemplateContent(n),
430
+ beforeElement: null
431
+ };
432
+ break;
433
+ }
434
+ case a.TABLE: {
435
+ const r = this.treeAdapter.getParentNode(n);
436
+ return r ? {
437
+ parent: r,
438
+ beforeElement: n
439
+ } : {
440
+ parent: this.openElements.items[t - 1],
441
+ beforeElement: null
442
+ };
443
+ }
444
+ }
445
+ }
446
+ return {
447
+ parent: this.openElements.items[0],
448
+ beforeElement: null
449
+ };
450
+ }
451
+ /** @protected */
452
+ _fosterParentElement(t) {
453
+ const n = this._findFosterParentingLocation();
454
+ n.beforeElement ? this.treeAdapter.insertBefore(n.parent, t, n.beforeElement) : this.treeAdapter.appendChild(n.parent, t);
455
+ }
456
+ //Special elements
457
+ /** @protected */
458
+ _isSpecialElement(t, n) {
459
+ const r = this.treeAdapter.getNamespaceURI(t);
460
+ return Ue[r].has(n);
461
+ }
462
+ /** @internal */
463
+ onCharacter(t) {
464
+ if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) {
465
+ fa(this, t);
466
+ return;
467
+ }
468
+ switch (this.insertionMode) {
469
+ case s.INITIAL: {
470
+ N(this, t);
471
+ break;
472
+ }
473
+ case s.BEFORE_HTML: {
474
+ u(this, t);
475
+ break;
476
+ }
477
+ case s.BEFORE_HEAD: {
478
+ O(this, t);
479
+ break;
480
+ }
481
+ case s.IN_HEAD: {
482
+ C(this, t);
483
+ break;
484
+ }
485
+ case s.IN_HEAD_NO_SCRIPT: {
486
+ R(this, t);
487
+ break;
488
+ }
489
+ case s.AFTER_HEAD: {
490
+ M(this, t);
491
+ break;
492
+ }
493
+ case s.IN_BODY:
494
+ case s.IN_CAPTION:
495
+ case s.IN_CELL:
496
+ case s.IN_TEMPLATE: {
497
+ se(this, t);
498
+ break;
499
+ }
500
+ case s.TEXT:
501
+ case s.IN_SELECT:
502
+ case s.IN_SELECT_IN_TABLE: {
503
+ this._insertCharacters(t);
504
+ break;
505
+ }
506
+ case s.IN_TABLE:
507
+ case s.IN_TABLE_BODY:
508
+ case s.IN_ROW: {
509
+ Y(this, t);
510
+ break;
511
+ }
512
+ case s.IN_TABLE_TEXT: {
513
+ Ee(this, t);
514
+ break;
515
+ }
516
+ case s.IN_COLUMN_GROUP: {
517
+ P(this, t);
518
+ break;
519
+ }
520
+ case s.AFTER_BODY: {
521
+ F(this, t);
522
+ break;
523
+ }
524
+ case s.AFTER_AFTER_BODY: {
525
+ S(this, t);
526
+ break;
527
+ }
528
+ }
529
+ }
530
+ /** @internal */
531
+ onNullCharacter(t) {
532
+ if (this.skipNextNewLine = !1, this.tokenizer.inForeignNode) {
533
+ ha(this, t);
534
+ return;
535
+ }
536
+ switch (this.insertionMode) {
537
+ case s.INITIAL: {
538
+ N(this, t);
539
+ break;
540
+ }
541
+ case s.BEFORE_HTML: {
542
+ u(this, t);
543
+ break;
544
+ }
545
+ case s.BEFORE_HEAD: {
546
+ O(this, t);
547
+ break;
548
+ }
549
+ case s.IN_HEAD: {
550
+ C(this, t);
551
+ break;
552
+ }
553
+ case s.IN_HEAD_NO_SCRIPT: {
554
+ R(this, t);
555
+ break;
556
+ }
557
+ case s.AFTER_HEAD: {
558
+ M(this, t);
559
+ break;
560
+ }
561
+ case s.TEXT: {
562
+ this._insertCharacters(t);
563
+ break;
564
+ }
565
+ case s.IN_TABLE:
566
+ case s.IN_TABLE_BODY:
567
+ case s.IN_ROW: {
568
+ Y(this, t);
569
+ break;
570
+ }
571
+ case s.IN_COLUMN_GROUP: {
572
+ P(this, t);
573
+ break;
574
+ }
575
+ case s.AFTER_BODY: {
576
+ F(this, t);
577
+ break;
578
+ }
579
+ case s.AFTER_AFTER_BODY: {
580
+ S(this, t);
581
+ break;
582
+ }
583
+ }
584
+ }
585
+ /** @internal */
586
+ onComment(t) {
587
+ if (this.skipNextNewLine = !1, this.currentNotInHTML) {
588
+ x(this, t);
589
+ return;
590
+ }
591
+ switch (this.insertionMode) {
592
+ case s.INITIAL:
593
+ case s.BEFORE_HTML:
594
+ case s.BEFORE_HEAD:
595
+ case s.IN_HEAD:
596
+ case s.IN_HEAD_NO_SCRIPT:
597
+ case s.AFTER_HEAD:
598
+ case s.IN_BODY:
599
+ case s.IN_TABLE:
600
+ case s.IN_CAPTION:
601
+ case s.IN_COLUMN_GROUP:
602
+ case s.IN_TABLE_BODY:
603
+ case s.IN_ROW:
604
+ case s.IN_CELL:
605
+ case s.IN_SELECT:
606
+ case s.IN_SELECT_IN_TABLE:
607
+ case s.IN_TEMPLATE:
608
+ case s.IN_FRAMESET:
609
+ case s.AFTER_FRAMESET: {
610
+ x(this, t);
611
+ break;
612
+ }
613
+ case s.IN_TABLE_TEXT: {
614
+ L(this, t);
615
+ break;
616
+ }
617
+ case s.AFTER_BODY: {
618
+ je(this, t);
619
+ break;
620
+ }
621
+ case s.AFTER_AFTER_BODY:
622
+ case s.AFTER_AFTER_FRAMESET: {
623
+ Je(this, t);
624
+ break;
625
+ }
626
+ }
627
+ }
628
+ /** @internal */
629
+ onDoctype(t) {
630
+ switch (this.skipNextNewLine = !1, this.insertionMode) {
631
+ case s.INITIAL: {
632
+ qe(this, t);
633
+ break;
634
+ }
635
+ case s.BEFORE_HEAD:
636
+ case s.IN_HEAD:
637
+ case s.IN_HEAD_NO_SCRIPT:
638
+ case s.AFTER_HEAD: {
639
+ this._err(t, l.misplacedDoctype);
640
+ break;
641
+ }
642
+ case s.IN_TABLE_TEXT: {
643
+ L(this, t);
644
+ break;
645
+ }
646
+ }
647
+ }
648
+ /** @internal */
649
+ onStartTag(t) {
650
+ this.skipNextNewLine = !1, this.currentToken = t, this._processStartTag(t), t.selfClosing && !t.ackSelfClosing && this._err(t, l.nonVoidHtmlElementStartTagWithTrailingSolidus);
651
+ }
652
+ /**
653
+ * Processes a given start tag.
654
+ *
655
+ * `onStartTag` checks if a self-closing tag was recognized. When a token
656
+ * is moved inbetween multiple insertion modes, this check for self-closing
657
+ * could lead to false positives. To avoid this, `_processStartTag` is used
658
+ * for nested calls.
659
+ *
660
+ * @param token The token to process.
661
+ * @protected
662
+ */
663
+ _processStartTag(t) {
664
+ this.shouldProcessStartTagTokenInForeignContent(t) ? ga(this, t) : this._startTagOutsideForeignContent(t);
665
+ }
666
+ /** @protected */
667
+ _startTagOutsideForeignContent(t) {
668
+ switch (this.insertionMode) {
669
+ case s.INITIAL: {
670
+ N(this, t);
671
+ break;
672
+ }
673
+ case s.BEFORE_HTML: {
674
+ Ze(this, t);
675
+ break;
676
+ }
677
+ case s.BEFORE_HEAD: {
678
+ et(this, t);
679
+ break;
680
+ }
681
+ case s.IN_HEAD: {
682
+ _(this, t);
683
+ break;
684
+ }
685
+ case s.IN_HEAD_NO_SCRIPT: {
686
+ st(this, t);
687
+ break;
688
+ }
689
+ case s.AFTER_HEAD: {
690
+ rt(this, t);
691
+ break;
692
+ }
693
+ case s.IN_BODY: {
694
+ m(this, t);
695
+ break;
696
+ }
697
+ case s.IN_TABLE: {
698
+ g(this, t);
699
+ break;
700
+ }
701
+ case s.IN_TABLE_TEXT: {
702
+ L(this, t);
703
+ break;
704
+ }
705
+ case s.IN_CAPTION: {
706
+ ta(this, t);
707
+ break;
708
+ }
709
+ case s.IN_COLUMN_GROUP: {
710
+ X(this, t);
711
+ break;
712
+ }
713
+ case s.IN_TABLE_BODY: {
714
+ U(this, t);
715
+ break;
716
+ }
717
+ case s.IN_ROW: {
718
+ y(this, t);
719
+ break;
720
+ }
721
+ case s.IN_CELL: {
722
+ na(this, t);
723
+ break;
724
+ }
725
+ case s.IN_SELECT: {
726
+ me(this, t);
727
+ break;
728
+ }
729
+ case s.IN_SELECT_IN_TABLE: {
730
+ ia(this, t);
731
+ break;
732
+ }
733
+ case s.IN_TEMPLATE: {
734
+ ca(this, t);
735
+ break;
736
+ }
737
+ case s.AFTER_BODY: {
738
+ Ta(this, t);
739
+ break;
740
+ }
741
+ case s.IN_FRAMESET: {
742
+ la(this, t);
743
+ break;
744
+ }
745
+ case s.AFTER_FRAMESET: {
746
+ da(this, t);
747
+ break;
748
+ }
749
+ case s.AFTER_AFTER_BODY: {
750
+ _a(this, t);
751
+ break;
752
+ }
753
+ case s.AFTER_AFTER_FRAMESET: {
754
+ Aa(this, t);
755
+ break;
756
+ }
757
+ }
758
+ }
759
+ /** @internal */
760
+ onEndTag(t) {
761
+ this.skipNextNewLine = !1, this.currentToken = t, this.currentNotInHTML ? Na(this, t) : this._endTagOutsideForeignContent(t);
762
+ }
763
+ /** @protected */
764
+ _endTagOutsideForeignContent(t) {
765
+ switch (this.insertionMode) {
766
+ case s.INITIAL: {
767
+ N(this, t);
768
+ break;
769
+ }
770
+ case s.BEFORE_HTML: {
771
+ $e(this, t);
772
+ break;
773
+ }
774
+ case s.BEFORE_HEAD: {
775
+ tt(this, t);
776
+ break;
777
+ }
778
+ case s.IN_HEAD: {
779
+ at(this, t);
780
+ break;
781
+ }
782
+ case s.IN_HEAD_NO_SCRIPT: {
783
+ nt(this, t);
784
+ break;
785
+ }
786
+ case s.AFTER_HEAD: {
787
+ it(this, t);
788
+ break;
789
+ }
790
+ case s.IN_BODY: {
791
+ p(this, t);
792
+ break;
793
+ }
794
+ case s.TEXT: {
795
+ zt(this, t);
796
+ break;
797
+ }
798
+ case s.IN_TABLE: {
799
+ b(this, t);
800
+ break;
801
+ }
802
+ case s.IN_TABLE_TEXT: {
803
+ L(this, t);
804
+ break;
805
+ }
806
+ case s.IN_CAPTION: {
807
+ aa(this, t);
808
+ break;
809
+ }
810
+ case s.IN_COLUMN_GROUP: {
811
+ sa(this, t);
812
+ break;
813
+ }
814
+ case s.IN_TABLE_BODY: {
815
+ k(this, t);
816
+ break;
817
+ }
818
+ case s.IN_ROW: {
819
+ le(this, t);
820
+ break;
821
+ }
822
+ case s.IN_CELL: {
823
+ ra(this, t);
824
+ break;
825
+ }
826
+ case s.IN_SELECT: {
827
+ de(this, t);
828
+ break;
829
+ }
830
+ case s.IN_SELECT_IN_TABLE: {
831
+ oa(this, t);
832
+ break;
833
+ }
834
+ case s.IN_TEMPLATE: {
835
+ Ea(this, t);
836
+ break;
837
+ }
838
+ case s.AFTER_BODY: {
839
+ _e(this, t);
840
+ break;
841
+ }
842
+ case s.IN_FRAMESET: {
843
+ ma(this, t);
844
+ break;
845
+ }
846
+ case s.AFTER_FRAMESET: {
847
+ Ia(this, t);
848
+ break;
849
+ }
850
+ case s.AFTER_AFTER_BODY: {
851
+ S(this, t);
852
+ break;
853
+ }
854
+ }
855
+ }
856
+ /** @internal */
857
+ onEof(t) {
858
+ switch (this.insertionMode) {
859
+ case s.INITIAL: {
860
+ N(this, t);
861
+ break;
862
+ }
863
+ case s.BEFORE_HTML: {
864
+ u(this, t);
865
+ break;
866
+ }
867
+ case s.BEFORE_HEAD: {
868
+ O(this, t);
869
+ break;
870
+ }
871
+ case s.IN_HEAD: {
872
+ C(this, t);
873
+ break;
874
+ }
875
+ case s.IN_HEAD_NO_SCRIPT: {
876
+ R(this, t);
877
+ break;
878
+ }
879
+ case s.AFTER_HEAD: {
880
+ M(this, t);
881
+ break;
882
+ }
883
+ case s.IN_BODY:
884
+ case s.IN_TABLE:
885
+ case s.IN_CAPTION:
886
+ case s.IN_COLUMN_GROUP:
887
+ case s.IN_TABLE_BODY:
888
+ case s.IN_ROW:
889
+ case s.IN_CELL:
890
+ case s.IN_SELECT:
891
+ case s.IN_SELECT_IN_TABLE: {
892
+ oe(this, t);
893
+ break;
894
+ }
895
+ case s.TEXT: {
896
+ Kt(this, t);
897
+ break;
898
+ }
899
+ case s.IN_TABLE_TEXT: {
900
+ L(this, t);
901
+ break;
902
+ }
903
+ case s.IN_TEMPLATE: {
904
+ Ie(this, t);
905
+ break;
906
+ }
907
+ case s.AFTER_BODY:
908
+ case s.IN_FRAMESET:
909
+ case s.AFTER_FRAMESET:
910
+ case s.AFTER_AFTER_BODY:
911
+ case s.AFTER_AFTER_FRAMESET: {
912
+ W(this, t);
913
+ break;
914
+ }
915
+ }
916
+ }
917
+ /** @internal */
918
+ onWhitespaceCharacter(t) {
919
+ if (this.skipNextNewLine && (this.skipNextNewLine = !1, t.chars.charCodeAt(0) === He.LINE_FEED)) {
920
+ if (t.chars.length === 1)
921
+ return;
922
+ t.chars = t.chars.substr(1);
923
+ }
924
+ if (this.tokenizer.inForeignNode) {
925
+ this._insertCharacters(t);
926
+ return;
927
+ }
928
+ switch (this.insertionMode) {
929
+ case s.IN_HEAD:
930
+ case s.IN_HEAD_NO_SCRIPT:
931
+ case s.AFTER_HEAD:
932
+ case s.TEXT:
933
+ case s.IN_COLUMN_GROUP:
934
+ case s.IN_SELECT:
935
+ case s.IN_SELECT_IN_TABLE:
936
+ case s.IN_FRAMESET:
937
+ case s.AFTER_FRAMESET: {
938
+ this._insertCharacters(t);
939
+ break;
940
+ }
941
+ case s.IN_BODY:
942
+ case s.IN_CAPTION:
943
+ case s.IN_CELL:
944
+ case s.IN_TEMPLATE:
945
+ case s.AFTER_BODY:
946
+ case s.AFTER_AFTER_BODY:
947
+ case s.AFTER_AFTER_FRAMESET: {
948
+ ae(this, t);
949
+ break;
950
+ }
951
+ case s.IN_TABLE:
952
+ case s.IN_TABLE_BODY:
953
+ case s.IN_ROW: {
954
+ Y(this, t);
955
+ break;
956
+ }
957
+ case s.IN_TABLE_TEXT: {
958
+ ce(this, t);
959
+ break;
960
+ }
961
+ }
962
+ }
963
+ }
964
+ function We(e, t) {
965
+ let n = e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);
966
+ return n ? e.openElements.contains(n.element) ? e.openElements.hasInScope(t.tagID) || (n = null) : (e.activeFormattingElements.removeEntry(n), n = null) : ie(e, t), n;
967
+ }
968
+ function Xe(e, t) {
969
+ let n = null, r = e.openElements.stackTop;
970
+ for (; r >= 0; r--) {
971
+ const i = e.openElements.items[r];
972
+ if (i === t.element)
973
+ break;
974
+ e._isSpecialElement(i, e.openElements.tagIDs[r]) && (n = i);
975
+ }
976
+ return n || (e.openElements.shortenToLength(Math.max(r, 0)), e.activeFormattingElements.removeEntry(t)), n;
977
+ }
978
+ function ze(e, t, n) {
979
+ let r = t, i = e.openElements.getCommonAncestor(t);
980
+ for (let c = 0, E = i; E !== n; c++, E = i) {
981
+ i = e.openElements.getCommonAncestor(E);
982
+ const A = e.activeFormattingElements.getElementEntry(E), D = A && c >= Ge;
983
+ !A || D ? (D && e.activeFormattingElements.removeEntry(A), e.openElements.remove(E)) : (E = Ke(e, A), r === t && (e.activeFormattingElements.bookmark = A), e.treeAdapter.detachNode(r), e.treeAdapter.appendChild(E, r), r = E);
984
+ }
985
+ return r;
986
+ }
987
+ function Ke(e, t) {
988
+ const n = e.treeAdapter.getNamespaceURI(t.element), r = e.treeAdapter.createElement(t.token.tagName, n, t.token.attrs);
989
+ return e.openElements.replace(t.element, r), t.element = r, r;
990
+ }
991
+ function Ve(e, t, n) {
992
+ const r = e.treeAdapter.getTagName(t), i = ee(r);
993
+ if (e._isElementCausesFosterParenting(i))
994
+ e._fosterParentElement(n);
995
+ else {
996
+ const c = e.treeAdapter.getNamespaceURI(t);
997
+ i === a.TEMPLATE && c === o.HTML && (t = e.treeAdapter.getTemplateContent(t)), e.treeAdapter.appendChild(t, n);
998
+ }
999
+ }
1000
+ function Qe(e, t, n) {
1001
+ const r = e.treeAdapter.getNamespaceURI(n.element), {
1002
+ token: i
1003
+ } = n, c = e.treeAdapter.createElement(i.tagName, r, i.attrs);
1004
+ e._adoptNodes(t, c), e.treeAdapter.appendChild(t, c), e.activeFormattingElements.insertElementAfterBookmark(c, i), e.activeFormattingElements.removeEntry(n), e.openElements.remove(n.element), e.openElements.insertAfter(t, c, i.tagID);
1005
+ }
1006
+ function v(e, t) {
1007
+ for (let n = 0; n < we; n++) {
1008
+ const r = We(e, t);
1009
+ if (!r)
1010
+ break;
1011
+ const i = Xe(e, r);
1012
+ if (!i)
1013
+ break;
1014
+ e.activeFormattingElements.bookmark = r;
1015
+ const c = ze(e, i, r.element), E = e.openElements.getCommonAncestor(r.element);
1016
+ e.treeAdapter.detachNode(c), E && Ve(e, E, c), Qe(e, i, r);
1017
+ }
1018
+ }
1019
+ function x(e, t) {
1020
+ e._appendCommentNode(t, e.openElements.currentTmplContentOrNode);
1021
+ }
1022
+ function je(e, t) {
1023
+ e._appendCommentNode(t, e.openElements.items[0]);
1024
+ }
1025
+ function Je(e, t) {
1026
+ e._appendCommentNode(t, e.document);
1027
+ }
1028
+ function W(e, t) {
1029
+ if (e.stopped = !0, t.location) {
1030
+ const n = e.fragmentContext ? 0 : 2;
1031
+ for (let r = e.openElements.stackTop; r >= n; r--)
1032
+ e._setEndLocation(e.openElements.items[r], t);
1033
+ if (!e.fragmentContext && e.openElements.stackTop >= 0) {
1034
+ const r = e.openElements.items[0], i = e.treeAdapter.getNodeSourceCodeLocation(r);
1035
+ if (i && !i.endTag && (e._setEndLocation(r, t), e.openElements.stackTop >= 1)) {
1036
+ const c = e.openElements.items[1], E = e.treeAdapter.getNodeSourceCodeLocation(c);
1037
+ E && !E.endTag && e._setEndLocation(c, t);
1038
+ }
1039
+ }
1040
+ }
1041
+ }
1042
+ function qe(e, t) {
1043
+ e._setDocumentType(t);
1044
+ const n = t.forceQuirks ? G.QUIRKS : Be(t);
1045
+ De(t) || e._err(t, l.nonConformingDoctype), e.treeAdapter.setDocumentMode(e.document, n), e.insertionMode = s.BEFORE_HTML;
1046
+ }
1047
+ function N(e, t) {
1048
+ e._err(t, l.missingDoctype, !0), e.treeAdapter.setDocumentMode(e.document, G.QUIRKS), e.insertionMode = s.BEFORE_HTML, e._processToken(t);
1049
+ }
1050
+ function Ze(e, t) {
1051
+ t.tagID === a.HTML ? (e._insertElement(t, o.HTML), e.insertionMode = s.BEFORE_HEAD) : u(e, t);
1052
+ }
1053
+ function $e(e, t) {
1054
+ const n = t.tagID;
1055
+ (n === a.HTML || n === a.HEAD || n === a.BODY || n === a.BR) && u(e, t);
1056
+ }
1057
+ function u(e, t) {
1058
+ e._insertFakeRootElement(), e.insertionMode = s.BEFORE_HEAD, e._processToken(t);
1059
+ }
1060
+ function et(e, t) {
1061
+ switch (t.tagID) {
1062
+ case a.HTML: {
1063
+ m(e, t);
1064
+ break;
1065
+ }
1066
+ case a.HEAD: {
1067
+ e._insertElement(t, o.HTML), e.headElement = e.openElements.current, e.insertionMode = s.IN_HEAD;
1068
+ break;
1069
+ }
1070
+ default:
1071
+ O(e, t);
1072
+ }
1073
+ }
1074
+ function tt(e, t) {
1075
+ const n = t.tagID;
1076
+ n === a.HEAD || n === a.BODY || n === a.HTML || n === a.BR ? O(e, t) : e._err(t, l.endTagWithoutMatchingOpenElement);
1077
+ }
1078
+ function O(e, t) {
1079
+ e._insertFakeElement(I.HEAD, a.HEAD), e.headElement = e.openElements.current, e.insertionMode = s.IN_HEAD, e._processToken(t);
1080
+ }
1081
+ function _(e, t) {
1082
+ switch (t.tagID) {
1083
+ case a.HTML: {
1084
+ m(e, t);
1085
+ break;
1086
+ }
1087
+ case a.BASE:
1088
+ case a.BASEFONT:
1089
+ case a.BGSOUND:
1090
+ case a.LINK:
1091
+ case a.META: {
1092
+ e._appendElement(t, o.HTML), t.ackSelfClosing = !0;
1093
+ break;
1094
+ }
1095
+ case a.TITLE: {
1096
+ e._switchToTextParsing(t, d.RCDATA);
1097
+ break;
1098
+ }
1099
+ case a.NOSCRIPT: {
1100
+ e.options.scriptingEnabled ? e._switchToTextParsing(t, d.RAWTEXT) : (e._insertElement(t, o.HTML), e.insertionMode = s.IN_HEAD_NO_SCRIPT);
1101
+ break;
1102
+ }
1103
+ case a.NOFRAMES:
1104
+ case a.STYLE: {
1105
+ e._switchToTextParsing(t, d.RAWTEXT);
1106
+ break;
1107
+ }
1108
+ case a.SCRIPT: {
1109
+ e._switchToTextParsing(t, d.SCRIPT_DATA);
1110
+ break;
1111
+ }
1112
+ case a.TEMPLATE: {
1113
+ e._insertTemplate(t), e.activeFormattingElements.insertMarker(), e.framesetOk = !1, e.insertionMode = s.IN_TEMPLATE, e.tmplInsertionModeStack.unshift(s.IN_TEMPLATE);
1114
+ break;
1115
+ }
1116
+ case a.HEAD: {
1117
+ e._err(t, l.misplacedStartTagForHeadElement);
1118
+ break;
1119
+ }
1120
+ default:
1121
+ C(e, t);
1122
+ }
1123
+ }
1124
+ function at(e, t) {
1125
+ switch (t.tagID) {
1126
+ case a.HEAD: {
1127
+ e.openElements.pop(), e.insertionMode = s.AFTER_HEAD;
1128
+ break;
1129
+ }
1130
+ case a.BODY:
1131
+ case a.BR:
1132
+ case a.HTML: {
1133
+ C(e, t);
1134
+ break;
1135
+ }
1136
+ case a.TEMPLATE: {
1137
+ f(e, t);
1138
+ break;
1139
+ }
1140
+ default:
1141
+ e._err(t, l.endTagWithoutMatchingOpenElement);
1142
+ }
1143
+ }
1144
+ function f(e, t) {
1145
+ e.openElements.tmplCount > 0 ? (e.openElements.generateImpliedEndTagsThoroughly(), e.openElements.currentTagId !== a.TEMPLATE && e._err(t, l.closingOfElementWithOpenChildElements), e.openElements.popUntilTagNamePopped(a.TEMPLATE), e.activeFormattingElements.clearToLastMarker(), e.tmplInsertionModeStack.shift(), e._resetInsertionMode()) : e._err(t, l.endTagWithoutMatchingOpenElement);
1146
+ }
1147
+ function C(e, t) {
1148
+ e.openElements.pop(), e.insertionMode = s.AFTER_HEAD, e._processToken(t);
1149
+ }
1150
+ function st(e, t) {
1151
+ switch (t.tagID) {
1152
+ case a.HTML: {
1153
+ m(e, t);
1154
+ break;
1155
+ }
1156
+ case a.BASEFONT:
1157
+ case a.BGSOUND:
1158
+ case a.HEAD:
1159
+ case a.LINK:
1160
+ case a.META:
1161
+ case a.NOFRAMES:
1162
+ case a.STYLE: {
1163
+ _(e, t);
1164
+ break;
1165
+ }
1166
+ case a.NOSCRIPT: {
1167
+ e._err(t, l.nestedNoscriptInHead);
1168
+ break;
1169
+ }
1170
+ default:
1171
+ R(e, t);
1172
+ }
1173
+ }
1174
+ function nt(e, t) {
1175
+ switch (t.tagID) {
1176
+ case a.NOSCRIPT: {
1177
+ e.openElements.pop(), e.insertionMode = s.IN_HEAD;
1178
+ break;
1179
+ }
1180
+ case a.BR: {
1181
+ R(e, t);
1182
+ break;
1183
+ }
1184
+ default:
1185
+ e._err(t, l.endTagWithoutMatchingOpenElement);
1186
+ }
1187
+ }
1188
+ function R(e, t) {
1189
+ const n = t.type === T.EOF ? l.openElementsLeftAfterEof : l.disallowedContentInNoscriptInHead;
1190
+ e._err(t, n), e.openElements.pop(), e.insertionMode = s.IN_HEAD, e._processToken(t);
1191
+ }
1192
+ function rt(e, t) {
1193
+ switch (t.tagID) {
1194
+ case a.HTML: {
1195
+ m(e, t);
1196
+ break;
1197
+ }
1198
+ case a.BODY: {
1199
+ e._insertElement(t, o.HTML), e.framesetOk = !1, e.insertionMode = s.IN_BODY;
1200
+ break;
1201
+ }
1202
+ case a.FRAMESET: {
1203
+ e._insertElement(t, o.HTML), e.insertionMode = s.IN_FRAMESET;
1204
+ break;
1205
+ }
1206
+ case a.BASE:
1207
+ case a.BASEFONT:
1208
+ case a.BGSOUND:
1209
+ case a.LINK:
1210
+ case a.META:
1211
+ case a.NOFRAMES:
1212
+ case a.SCRIPT:
1213
+ case a.STYLE:
1214
+ case a.TEMPLATE:
1215
+ case a.TITLE: {
1216
+ e._err(t, l.abandonedHeadElementChild), e.openElements.push(e.headElement, a.HEAD), _(e, t), e.openElements.remove(e.headElement);
1217
+ break;
1218
+ }
1219
+ case a.HEAD: {
1220
+ e._err(t, l.misplacedStartTagForHeadElement);
1221
+ break;
1222
+ }
1223
+ default:
1224
+ M(e, t);
1225
+ }
1226
+ }
1227
+ function it(e, t) {
1228
+ switch (t.tagID) {
1229
+ case a.BODY:
1230
+ case a.HTML:
1231
+ case a.BR: {
1232
+ M(e, t);
1233
+ break;
1234
+ }
1235
+ case a.TEMPLATE: {
1236
+ f(e, t);
1237
+ break;
1238
+ }
1239
+ default:
1240
+ e._err(t, l.endTagWithoutMatchingOpenElement);
1241
+ }
1242
+ }
1243
+ function M(e, t) {
1244
+ e._insertFakeElement(I.BODY, a.BODY), e.insertionMode = s.IN_BODY, H(e, t);
1245
+ }
1246
+ function H(e, t) {
1247
+ switch (t.type) {
1248
+ case T.CHARACTER: {
1249
+ se(e, t);
1250
+ break;
1251
+ }
1252
+ case T.WHITESPACE_CHARACTER: {
1253
+ ae(e, t);
1254
+ break;
1255
+ }
1256
+ case T.COMMENT: {
1257
+ x(e, t);
1258
+ break;
1259
+ }
1260
+ case T.START_TAG: {
1261
+ m(e, t);
1262
+ break;
1263
+ }
1264
+ case T.END_TAG: {
1265
+ p(e, t);
1266
+ break;
1267
+ }
1268
+ case T.EOF: {
1269
+ oe(e, t);
1270
+ break;
1271
+ }
1272
+ }
1273
+ }
1274
+ function ae(e, t) {
1275
+ e._reconstructActiveFormattingElements(), e._insertCharacters(t);
1276
+ }
1277
+ function se(e, t) {
1278
+ e._reconstructActiveFormattingElements(), e._insertCharacters(t), e.framesetOk = !1;
1279
+ }
1280
+ function ot(e, t) {
1281
+ e.openElements.tmplCount === 0 && e.treeAdapter.adoptAttributes(e.openElements.items[0], t.attrs);
1282
+ }
1283
+ function ct(e, t) {
1284
+ const n = e.openElements.tryPeekProperlyNestedBodyElement();
1285
+ n && e.openElements.tmplCount === 0 && (e.framesetOk = !1, e.treeAdapter.adoptAttributes(n, t.attrs));
1286
+ }
1287
+ function Et(e, t) {
1288
+ const n = e.openElements.tryPeekProperlyNestedBodyElement();
1289
+ e.framesetOk && n && (e.treeAdapter.detachNode(n), e.openElements.popAllUpToHtmlElement(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_FRAMESET);
1290
+ }
1291
+ function Tt(e, t) {
1292
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML);
1293
+ }
1294
+ function lt(e, t) {
1295
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e.openElements.currentTagId !== void 0 && ye.has(e.openElements.currentTagId) && e.openElements.pop(), e._insertElement(t, o.HTML);
1296
+ }
1297
+ function mt(e, t) {
1298
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML), e.skipNextNewLine = !0, e.framesetOk = !1;
1299
+ }
1300
+ function dt(e, t) {
1301
+ const n = e.openElements.tmplCount > 0;
1302
+ (!e.formElement || n) && (e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML), n || (e.formElement = e.openElements.current));
1303
+ }
1304
+ function It(e, t) {
1305
+ e.framesetOk = !1;
1306
+ const n = t.tagID;
1307
+ for (let r = e.openElements.stackTop; r >= 0; r--) {
1308
+ const i = e.openElements.tagIDs[r];
1309
+ if (n === a.LI && i === a.LI || (n === a.DD || n === a.DT) && (i === a.DD || i === a.DT)) {
1310
+ e.openElements.generateImpliedEndTagsWithExclusion(i), e.openElements.popUntilTagNamePopped(i);
1311
+ break;
1312
+ }
1313
+ if (i !== a.ADDRESS && i !== a.DIV && i !== a.P && e._isSpecialElement(e.openElements.items[r], i))
1314
+ break;
1315
+ }
1316
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML);
1317
+ }
1318
+ function _t(e, t) {
1319
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML), e.tokenizer.state = d.PLAINTEXT;
1320
+ }
1321
+ function At(e, t) {
1322
+ e.openElements.hasInScope(a.BUTTON) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(a.BUTTON)), e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML), e.framesetOk = !1;
1323
+ }
1324
+ function ht(e, t) {
1325
+ const n = e.activeFormattingElements.getElementEntryInScopeWithTagName(I.A);
1326
+ n && (v(e, t), e.openElements.remove(n.element), e.activeFormattingElements.removeEntry(n)), e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t);
1327
+ }
1328
+ function ft(e, t) {
1329
+ e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t);
1330
+ }
1331
+ function gt(e, t) {
1332
+ e._reconstructActiveFormattingElements(), e.openElements.hasInScope(a.NOBR) && (v(e, t), e._reconstructActiveFormattingElements()), e._insertElement(t, o.HTML), e.activeFormattingElements.pushElement(e.openElements.current, t);
1333
+ }
1334
+ function Nt(e, t) {
1335
+ e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML), e.activeFormattingElements.insertMarker(), e.framesetOk = !1;
1336
+ }
1337
+ function Lt(e, t) {
1338
+ e.treeAdapter.getDocumentMode(e.document) !== G.QUIRKS && e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._insertElement(t, o.HTML), e.framesetOk = !1, e.insertionMode = s.IN_TABLE;
1339
+ }
1340
+ function ne(e, t) {
1341
+ e._reconstructActiveFormattingElements(), e._appendElement(t, o.HTML), e.framesetOk = !1, t.ackSelfClosing = !0;
1342
+ }
1343
+ function re(e) {
1344
+ const t = xe(e, Ye.TYPE);
1345
+ return t != null && t.toLowerCase() === ke;
1346
+ }
1347
+ function ut(e, t) {
1348
+ e._reconstructActiveFormattingElements(), e._appendElement(t, o.HTML), re(t) || (e.framesetOk = !1), t.ackSelfClosing = !0;
1349
+ }
1350
+ function Ot(e, t) {
1351
+ e._appendElement(t, o.HTML), t.ackSelfClosing = !0;
1352
+ }
1353
+ function Ct(e, t) {
1354
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._appendElement(t, o.HTML), e.framesetOk = !1, t.ackSelfClosing = !0;
1355
+ }
1356
+ function Rt(e, t) {
1357
+ t.tagName = I.IMG, t.tagID = a.IMG, ne(e, t);
1358
+ }
1359
+ function Mt(e, t) {
1360
+ e._insertElement(t, o.HTML), e.skipNextNewLine = !0, e.tokenizer.state = d.RCDATA, e.originalInsertionMode = e.insertionMode, e.framesetOk = !1, e.insertionMode = s.TEXT;
1361
+ }
1362
+ function bt(e, t) {
1363
+ e.openElements.hasInButtonScope(a.P) && e._closePElement(), e._reconstructActiveFormattingElements(), e.framesetOk = !1, e._switchToTextParsing(t, d.RAWTEXT);
1364
+ }
1365
+ function Bt(e, t) {
1366
+ e.framesetOk = !1, e._switchToTextParsing(t, d.RAWTEXT);
1367
+ }
1368
+ function J(e, t) {
1369
+ e._switchToTextParsing(t, d.RAWTEXT);
1370
+ }
1371
+ function Dt(e, t) {
1372
+ e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML), e.framesetOk = !1, e.insertionMode = e.insertionMode === s.IN_TABLE || e.insertionMode === s.IN_CAPTION || e.insertionMode === s.IN_TABLE_BODY || e.insertionMode === s.IN_ROW || e.insertionMode === s.IN_CELL ? s.IN_SELECT_IN_TABLE : s.IN_SELECT;
1373
+ }
1374
+ function St(e, t) {
1375
+ e.openElements.currentTagId === a.OPTION && e.openElements.pop(), e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML);
1376
+ }
1377
+ function Pt(e, t) {
1378
+ e.openElements.hasInScope(a.RUBY) && e.openElements.generateImpliedEndTags(), e._insertElement(t, o.HTML);
1379
+ }
1380
+ function Ft(e, t) {
1381
+ e.openElements.hasInScope(a.RUBY) && e.openElements.generateImpliedEndTagsWithExclusion(a.RTC), e._insertElement(t, o.HTML);
1382
+ }
1383
+ function Ht(e, t) {
1384
+ e._reconstructActiveFormattingElements(), Z(t), w(t), t.selfClosing ? e._appendElement(t, o.MATHML) : e._insertElement(t, o.MATHML), t.ackSelfClosing = !0;
1385
+ }
1386
+ function pt(e, t) {
1387
+ e._reconstructActiveFormattingElements(), $(t), w(t), t.selfClosing ? e._appendElement(t, o.SVG) : e._insertElement(t, o.SVG), t.ackSelfClosing = !0;
1388
+ }
1389
+ function q(e, t) {
1390
+ e._reconstructActiveFormattingElements(), e._insertElement(t, o.HTML);
1391
+ }
1392
+ function m(e, t) {
1393
+ switch (t.tagID) {
1394
+ case a.I:
1395
+ case a.S:
1396
+ case a.B:
1397
+ case a.U:
1398
+ case a.EM:
1399
+ case a.TT:
1400
+ case a.BIG:
1401
+ case a.CODE:
1402
+ case a.FONT:
1403
+ case a.SMALL:
1404
+ case a.STRIKE:
1405
+ case a.STRONG: {
1406
+ ft(e, t);
1407
+ break;
1408
+ }
1409
+ case a.A: {
1410
+ ht(e, t);
1411
+ break;
1412
+ }
1413
+ case a.H1:
1414
+ case a.H2:
1415
+ case a.H3:
1416
+ case a.H4:
1417
+ case a.H5:
1418
+ case a.H6: {
1419
+ lt(e, t);
1420
+ break;
1421
+ }
1422
+ case a.P:
1423
+ case a.DL:
1424
+ case a.OL:
1425
+ case a.UL:
1426
+ case a.DIV:
1427
+ case a.DIR:
1428
+ case a.NAV:
1429
+ case a.MAIN:
1430
+ case a.MENU:
1431
+ case a.ASIDE:
1432
+ case a.CENTER:
1433
+ case a.FIGURE:
1434
+ case a.FOOTER:
1435
+ case a.HEADER:
1436
+ case a.HGROUP:
1437
+ case a.DIALOG:
1438
+ case a.DETAILS:
1439
+ case a.ADDRESS:
1440
+ case a.ARTICLE:
1441
+ case a.SEARCH:
1442
+ case a.SECTION:
1443
+ case a.SUMMARY:
1444
+ case a.FIELDSET:
1445
+ case a.BLOCKQUOTE:
1446
+ case a.FIGCAPTION: {
1447
+ Tt(e, t);
1448
+ break;
1449
+ }
1450
+ case a.LI:
1451
+ case a.DD:
1452
+ case a.DT: {
1453
+ It(e, t);
1454
+ break;
1455
+ }
1456
+ case a.BR:
1457
+ case a.IMG:
1458
+ case a.WBR:
1459
+ case a.AREA:
1460
+ case a.EMBED:
1461
+ case a.KEYGEN: {
1462
+ ne(e, t);
1463
+ break;
1464
+ }
1465
+ case a.HR: {
1466
+ Ct(e, t);
1467
+ break;
1468
+ }
1469
+ case a.RB:
1470
+ case a.RTC: {
1471
+ Pt(e, t);
1472
+ break;
1473
+ }
1474
+ case a.RT:
1475
+ case a.RP: {
1476
+ Ft(e, t);
1477
+ break;
1478
+ }
1479
+ case a.PRE:
1480
+ case a.LISTING: {
1481
+ mt(e, t);
1482
+ break;
1483
+ }
1484
+ case a.XMP: {
1485
+ bt(e, t);
1486
+ break;
1487
+ }
1488
+ case a.SVG: {
1489
+ pt(e, t);
1490
+ break;
1491
+ }
1492
+ case a.HTML: {
1493
+ ot(e, t);
1494
+ break;
1495
+ }
1496
+ case a.BASE:
1497
+ case a.LINK:
1498
+ case a.META:
1499
+ case a.STYLE:
1500
+ case a.TITLE:
1501
+ case a.SCRIPT:
1502
+ case a.BGSOUND:
1503
+ case a.BASEFONT:
1504
+ case a.TEMPLATE: {
1505
+ _(e, t);
1506
+ break;
1507
+ }
1508
+ case a.BODY: {
1509
+ ct(e, t);
1510
+ break;
1511
+ }
1512
+ case a.FORM: {
1513
+ dt(e, t);
1514
+ break;
1515
+ }
1516
+ case a.NOBR: {
1517
+ gt(e, t);
1518
+ break;
1519
+ }
1520
+ case a.MATH: {
1521
+ Ht(e, t);
1522
+ break;
1523
+ }
1524
+ case a.TABLE: {
1525
+ Lt(e, t);
1526
+ break;
1527
+ }
1528
+ case a.INPUT: {
1529
+ ut(e, t);
1530
+ break;
1531
+ }
1532
+ case a.PARAM:
1533
+ case a.TRACK:
1534
+ case a.SOURCE: {
1535
+ Ot(e, t);
1536
+ break;
1537
+ }
1538
+ case a.IMAGE: {
1539
+ Rt(e, t);
1540
+ break;
1541
+ }
1542
+ case a.BUTTON: {
1543
+ At(e, t);
1544
+ break;
1545
+ }
1546
+ case a.APPLET:
1547
+ case a.OBJECT:
1548
+ case a.MARQUEE: {
1549
+ Nt(e, t);
1550
+ break;
1551
+ }
1552
+ case a.IFRAME: {
1553
+ Bt(e, t);
1554
+ break;
1555
+ }
1556
+ case a.SELECT: {
1557
+ Dt(e, t);
1558
+ break;
1559
+ }
1560
+ case a.OPTION:
1561
+ case a.OPTGROUP: {
1562
+ St(e, t);
1563
+ break;
1564
+ }
1565
+ case a.NOEMBED:
1566
+ case a.NOFRAMES: {
1567
+ J(e, t);
1568
+ break;
1569
+ }
1570
+ case a.FRAMESET: {
1571
+ Et(e, t);
1572
+ break;
1573
+ }
1574
+ case a.TEXTAREA: {
1575
+ Mt(e, t);
1576
+ break;
1577
+ }
1578
+ case a.NOSCRIPT: {
1579
+ e.options.scriptingEnabled ? J(e, t) : q(e, t);
1580
+ break;
1581
+ }
1582
+ case a.PLAINTEXT: {
1583
+ _t(e, t);
1584
+ break;
1585
+ }
1586
+ case a.COL:
1587
+ case a.TH:
1588
+ case a.TD:
1589
+ case a.TR:
1590
+ case a.HEAD:
1591
+ case a.FRAME:
1592
+ case a.TBODY:
1593
+ case a.TFOOT:
1594
+ case a.THEAD:
1595
+ case a.CAPTION:
1596
+ case a.COLGROUP:
1597
+ break;
1598
+ default:
1599
+ q(e, t);
1600
+ }
1601
+ }
1602
+ function Ut(e, t) {
1603
+ if (e.openElements.hasInScope(a.BODY) && (e.insertionMode = s.AFTER_BODY, e.options.sourceCodeLocationInfo)) {
1604
+ const n = e.openElements.tryPeekProperlyNestedBodyElement();
1605
+ n && e._setEndLocation(n, t);
1606
+ }
1607
+ }
1608
+ function yt(e, t) {
1609
+ e.openElements.hasInScope(a.BODY) && (e.insertionMode = s.AFTER_BODY, _e(e, t));
1610
+ }
1611
+ function Yt(e, t) {
1612
+ const n = t.tagID;
1613
+ e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n));
1614
+ }
1615
+ function xt(e) {
1616
+ const t = e.openElements.tmplCount > 0, {
1617
+ formElement: n
1618
+ } = e;
1619
+ t || (e.formElement = null), (n || t) && e.openElements.hasInScope(a.FORM) && (e.openElements.generateImpliedEndTags(), t ? e.openElements.popUntilTagNamePopped(a.FORM) : n && e.openElements.remove(n));
1620
+ }
1621
+ function kt(e) {
1622
+ e.openElements.hasInButtonScope(a.P) || e._insertFakeElement(I.P, a.P), e._closePElement();
1623
+ }
1624
+ function wt(e) {
1625
+ e.openElements.hasInListItemScope(a.LI) && (e.openElements.generateImpliedEndTagsWithExclusion(a.LI), e.openElements.popUntilTagNamePopped(a.LI));
1626
+ }
1627
+ function Gt(e, t) {
1628
+ const n = t.tagID;
1629
+ e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTagsWithExclusion(n), e.openElements.popUntilTagNamePopped(n));
1630
+ }
1631
+ function vt(e) {
1632
+ e.openElements.hasNumberedHeaderInScope() && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilNumberedHeaderPopped());
1633
+ }
1634
+ function Wt(e, t) {
1635
+ const n = t.tagID;
1636
+ e.openElements.hasInScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n), e.activeFormattingElements.clearToLastMarker());
1637
+ }
1638
+ function Xt(e) {
1639
+ e._reconstructActiveFormattingElements(), e._insertFakeElement(I.BR, a.BR), e.openElements.pop(), e.framesetOk = !1;
1640
+ }
1641
+ function ie(e, t) {
1642
+ const n = t.tagName, r = t.tagID;
1643
+ for (let i = e.openElements.stackTop; i > 0; i--) {
1644
+ const c = e.openElements.items[i], E = e.openElements.tagIDs[i];
1645
+ if (r === E && (r !== a.UNKNOWN || e.treeAdapter.getTagName(c) === n)) {
1646
+ e.openElements.generateImpliedEndTagsWithExclusion(r), e.openElements.stackTop >= i && e.openElements.shortenToLength(i);
1647
+ break;
1648
+ }
1649
+ if (e._isSpecialElement(c, E))
1650
+ break;
1651
+ }
1652
+ }
1653
+ function p(e, t) {
1654
+ switch (t.tagID) {
1655
+ case a.A:
1656
+ case a.B:
1657
+ case a.I:
1658
+ case a.S:
1659
+ case a.U:
1660
+ case a.EM:
1661
+ case a.TT:
1662
+ case a.BIG:
1663
+ case a.CODE:
1664
+ case a.FONT:
1665
+ case a.NOBR:
1666
+ case a.SMALL:
1667
+ case a.STRIKE:
1668
+ case a.STRONG: {
1669
+ v(e, t);
1670
+ break;
1671
+ }
1672
+ case a.P: {
1673
+ kt(e);
1674
+ break;
1675
+ }
1676
+ case a.DL:
1677
+ case a.UL:
1678
+ case a.OL:
1679
+ case a.DIR:
1680
+ case a.DIV:
1681
+ case a.NAV:
1682
+ case a.PRE:
1683
+ case a.MAIN:
1684
+ case a.MENU:
1685
+ case a.ASIDE:
1686
+ case a.BUTTON:
1687
+ case a.CENTER:
1688
+ case a.FIGURE:
1689
+ case a.FOOTER:
1690
+ case a.HEADER:
1691
+ case a.HGROUP:
1692
+ case a.DIALOG:
1693
+ case a.ADDRESS:
1694
+ case a.ARTICLE:
1695
+ case a.DETAILS:
1696
+ case a.SEARCH:
1697
+ case a.SECTION:
1698
+ case a.SUMMARY:
1699
+ case a.LISTING:
1700
+ case a.FIELDSET:
1701
+ case a.BLOCKQUOTE:
1702
+ case a.FIGCAPTION: {
1703
+ Yt(e, t);
1704
+ break;
1705
+ }
1706
+ case a.LI: {
1707
+ wt(e);
1708
+ break;
1709
+ }
1710
+ case a.DD:
1711
+ case a.DT: {
1712
+ Gt(e, t);
1713
+ break;
1714
+ }
1715
+ case a.H1:
1716
+ case a.H2:
1717
+ case a.H3:
1718
+ case a.H4:
1719
+ case a.H5:
1720
+ case a.H6: {
1721
+ vt(e);
1722
+ break;
1723
+ }
1724
+ case a.BR: {
1725
+ Xt(e);
1726
+ break;
1727
+ }
1728
+ case a.BODY: {
1729
+ Ut(e, t);
1730
+ break;
1731
+ }
1732
+ case a.HTML: {
1733
+ yt(e, t);
1734
+ break;
1735
+ }
1736
+ case a.FORM: {
1737
+ xt(e);
1738
+ break;
1739
+ }
1740
+ case a.APPLET:
1741
+ case a.OBJECT:
1742
+ case a.MARQUEE: {
1743
+ Wt(e, t);
1744
+ break;
1745
+ }
1746
+ case a.TEMPLATE: {
1747
+ f(e, t);
1748
+ break;
1749
+ }
1750
+ default:
1751
+ ie(e, t);
1752
+ }
1753
+ }
1754
+ function oe(e, t) {
1755
+ e.tmplInsertionModeStack.length > 0 ? Ie(e, t) : W(e, t);
1756
+ }
1757
+ function zt(e, t) {
1758
+ var n;
1759
+ t.tagID === a.SCRIPT && ((n = e.scriptHandler) === null || n === void 0 || n.call(e, e.openElements.current)), e.openElements.pop(), e.insertionMode = e.originalInsertionMode;
1760
+ }
1761
+ function Kt(e, t) {
1762
+ e._err(t, l.eofInElementThatCanContainOnlyText), e.openElements.pop(), e.insertionMode = e.originalInsertionMode, e.onEof(t);
1763
+ }
1764
+ function Y(e, t) {
1765
+ if (e.openElements.currentTagId !== void 0 && te.has(e.openElements.currentTagId))
1766
+ switch (e.pendingCharacterTokens.length = 0, e.hasNonWhitespacePendingCharacterToken = !1, e.originalInsertionMode = e.insertionMode, e.insertionMode = s.IN_TABLE_TEXT, t.type) {
1767
+ case T.CHARACTER: {
1768
+ Ee(e, t);
1769
+ break;
1770
+ }
1771
+ case T.WHITESPACE_CHARACTER: {
1772
+ ce(e, t);
1773
+ break;
1774
+ }
1775
+ }
1776
+ else
1777
+ B(e, t);
1778
+ }
1779
+ function Vt(e, t) {
1780
+ e.openElements.clearBackToTableContext(), e.activeFormattingElements.insertMarker(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_CAPTION;
1781
+ }
1782
+ function Qt(e, t) {
1783
+ e.openElements.clearBackToTableContext(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_COLUMN_GROUP;
1784
+ }
1785
+ function jt(e, t) {
1786
+ e.openElements.clearBackToTableContext(), e._insertFakeElement(I.COLGROUP, a.COLGROUP), e.insertionMode = s.IN_COLUMN_GROUP, X(e, t);
1787
+ }
1788
+ function Jt(e, t) {
1789
+ e.openElements.clearBackToTableContext(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_TABLE_BODY;
1790
+ }
1791
+ function qt(e, t) {
1792
+ e.openElements.clearBackToTableContext(), e._insertFakeElement(I.TBODY, a.TBODY), e.insertionMode = s.IN_TABLE_BODY, U(e, t);
1793
+ }
1794
+ function Zt(e, t) {
1795
+ e.openElements.hasInTableScope(a.TABLE) && (e.openElements.popUntilTagNamePopped(a.TABLE), e._resetInsertionMode(), e._processStartTag(t));
1796
+ }
1797
+ function $t(e, t) {
1798
+ re(t) ? e._appendElement(t, o.HTML) : B(e, t), t.ackSelfClosing = !0;
1799
+ }
1800
+ function ea(e, t) {
1801
+ !e.formElement && e.openElements.tmplCount === 0 && (e._insertElement(t, o.HTML), e.formElement = e.openElements.current, e.openElements.pop());
1802
+ }
1803
+ function g(e, t) {
1804
+ switch (t.tagID) {
1805
+ case a.TD:
1806
+ case a.TH:
1807
+ case a.TR: {
1808
+ qt(e, t);
1809
+ break;
1810
+ }
1811
+ case a.STYLE:
1812
+ case a.SCRIPT:
1813
+ case a.TEMPLATE: {
1814
+ _(e, t);
1815
+ break;
1816
+ }
1817
+ case a.COL: {
1818
+ jt(e, t);
1819
+ break;
1820
+ }
1821
+ case a.FORM: {
1822
+ ea(e, t);
1823
+ break;
1824
+ }
1825
+ case a.TABLE: {
1826
+ Zt(e, t);
1827
+ break;
1828
+ }
1829
+ case a.TBODY:
1830
+ case a.TFOOT:
1831
+ case a.THEAD: {
1832
+ Jt(e, t);
1833
+ break;
1834
+ }
1835
+ case a.INPUT: {
1836
+ $t(e, t);
1837
+ break;
1838
+ }
1839
+ case a.CAPTION: {
1840
+ Vt(e, t);
1841
+ break;
1842
+ }
1843
+ case a.COLGROUP: {
1844
+ Qt(e, t);
1845
+ break;
1846
+ }
1847
+ default:
1848
+ B(e, t);
1849
+ }
1850
+ }
1851
+ function b(e, t) {
1852
+ switch (t.tagID) {
1853
+ case a.TABLE: {
1854
+ e.openElements.hasInTableScope(a.TABLE) && (e.openElements.popUntilTagNamePopped(a.TABLE), e._resetInsertionMode());
1855
+ break;
1856
+ }
1857
+ case a.TEMPLATE: {
1858
+ f(e, t);
1859
+ break;
1860
+ }
1861
+ case a.BODY:
1862
+ case a.CAPTION:
1863
+ case a.COL:
1864
+ case a.COLGROUP:
1865
+ case a.HTML:
1866
+ case a.TBODY:
1867
+ case a.TD:
1868
+ case a.TFOOT:
1869
+ case a.TH:
1870
+ case a.THEAD:
1871
+ case a.TR:
1872
+ break;
1873
+ default:
1874
+ B(e, t);
1875
+ }
1876
+ }
1877
+ function B(e, t) {
1878
+ const n = e.fosterParentingEnabled;
1879
+ e.fosterParentingEnabled = !0, H(e, t), e.fosterParentingEnabled = n;
1880
+ }
1881
+ function ce(e, t) {
1882
+ e.pendingCharacterTokens.push(t);
1883
+ }
1884
+ function Ee(e, t) {
1885
+ e.pendingCharacterTokens.push(t), e.hasNonWhitespacePendingCharacterToken = !0;
1886
+ }
1887
+ function L(e, t) {
1888
+ let n = 0;
1889
+ if (e.hasNonWhitespacePendingCharacterToken)
1890
+ for (; n < e.pendingCharacterTokens.length; n++)
1891
+ B(e, e.pendingCharacterTokens[n]);
1892
+ else
1893
+ for (; n < e.pendingCharacterTokens.length; n++)
1894
+ e._insertCharacters(e.pendingCharacterTokens[n]);
1895
+ e.insertionMode = e.originalInsertionMode, e._processToken(t);
1896
+ }
1897
+ const Te = /* @__PURE__ */ new Set([a.CAPTION, a.COL, a.COLGROUP, a.TBODY, a.TD, a.TFOOT, a.TH, a.THEAD, a.TR]);
1898
+ function ta(e, t) {
1899
+ const n = t.tagID;
1900
+ Te.has(n) ? e.openElements.hasInTableScope(a.CAPTION) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(a.CAPTION), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = s.IN_TABLE, g(e, t)) : m(e, t);
1901
+ }
1902
+ function aa(e, t) {
1903
+ const n = t.tagID;
1904
+ switch (n) {
1905
+ case a.CAPTION:
1906
+ case a.TABLE: {
1907
+ e.openElements.hasInTableScope(a.CAPTION) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(a.CAPTION), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = s.IN_TABLE, n === a.TABLE && b(e, t));
1908
+ break;
1909
+ }
1910
+ case a.BODY:
1911
+ case a.COL:
1912
+ case a.COLGROUP:
1913
+ case a.HTML:
1914
+ case a.TBODY:
1915
+ case a.TD:
1916
+ case a.TFOOT:
1917
+ case a.TH:
1918
+ case a.THEAD:
1919
+ case a.TR:
1920
+ break;
1921
+ default:
1922
+ p(e, t);
1923
+ }
1924
+ }
1925
+ function X(e, t) {
1926
+ switch (t.tagID) {
1927
+ case a.HTML: {
1928
+ m(e, t);
1929
+ break;
1930
+ }
1931
+ case a.COL: {
1932
+ e._appendElement(t, o.HTML), t.ackSelfClosing = !0;
1933
+ break;
1934
+ }
1935
+ case a.TEMPLATE: {
1936
+ _(e, t);
1937
+ break;
1938
+ }
1939
+ default:
1940
+ P(e, t);
1941
+ }
1942
+ }
1943
+ function sa(e, t) {
1944
+ switch (t.tagID) {
1945
+ case a.COLGROUP: {
1946
+ e.openElements.currentTagId === a.COLGROUP && (e.openElements.pop(), e.insertionMode = s.IN_TABLE);
1947
+ break;
1948
+ }
1949
+ case a.TEMPLATE: {
1950
+ f(e, t);
1951
+ break;
1952
+ }
1953
+ case a.COL:
1954
+ break;
1955
+ default:
1956
+ P(e, t);
1957
+ }
1958
+ }
1959
+ function P(e, t) {
1960
+ e.openElements.currentTagId === a.COLGROUP && (e.openElements.pop(), e.insertionMode = s.IN_TABLE, e._processToken(t));
1961
+ }
1962
+ function U(e, t) {
1963
+ switch (t.tagID) {
1964
+ case a.TR: {
1965
+ e.openElements.clearBackToTableBodyContext(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_ROW;
1966
+ break;
1967
+ }
1968
+ case a.TH:
1969
+ case a.TD: {
1970
+ e.openElements.clearBackToTableBodyContext(), e._insertFakeElement(I.TR, a.TR), e.insertionMode = s.IN_ROW, y(e, t);
1971
+ break;
1972
+ }
1973
+ case a.CAPTION:
1974
+ case a.COL:
1975
+ case a.COLGROUP:
1976
+ case a.TBODY:
1977
+ case a.TFOOT:
1978
+ case a.THEAD: {
1979
+ e.openElements.hasTableBodyContextInTableScope() && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE, g(e, t));
1980
+ break;
1981
+ }
1982
+ default:
1983
+ g(e, t);
1984
+ }
1985
+ }
1986
+ function k(e, t) {
1987
+ const n = t.tagID;
1988
+ switch (t.tagID) {
1989
+ case a.TBODY:
1990
+ case a.TFOOT:
1991
+ case a.THEAD: {
1992
+ e.openElements.hasInTableScope(n) && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE);
1993
+ break;
1994
+ }
1995
+ case a.TABLE: {
1996
+ e.openElements.hasTableBodyContextInTableScope() && (e.openElements.clearBackToTableBodyContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE, b(e, t));
1997
+ break;
1998
+ }
1999
+ case a.BODY:
2000
+ case a.CAPTION:
2001
+ case a.COL:
2002
+ case a.COLGROUP:
2003
+ case a.HTML:
2004
+ case a.TD:
2005
+ case a.TH:
2006
+ case a.TR:
2007
+ break;
2008
+ default:
2009
+ b(e, t);
2010
+ }
2011
+ }
2012
+ function y(e, t) {
2013
+ switch (t.tagID) {
2014
+ case a.TH:
2015
+ case a.TD: {
2016
+ e.openElements.clearBackToTableRowContext(), e._insertElement(t, o.HTML), e.insertionMode = s.IN_CELL, e.activeFormattingElements.insertMarker();
2017
+ break;
2018
+ }
2019
+ case a.CAPTION:
2020
+ case a.COL:
2021
+ case a.COLGROUP:
2022
+ case a.TBODY:
2023
+ case a.TFOOT:
2024
+ case a.THEAD:
2025
+ case a.TR: {
2026
+ e.openElements.hasInTableScope(a.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE_BODY, U(e, t));
2027
+ break;
2028
+ }
2029
+ default:
2030
+ g(e, t);
2031
+ }
2032
+ }
2033
+ function le(e, t) {
2034
+ switch (t.tagID) {
2035
+ case a.TR: {
2036
+ e.openElements.hasInTableScope(a.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE_BODY);
2037
+ break;
2038
+ }
2039
+ case a.TABLE: {
2040
+ e.openElements.hasInTableScope(a.TR) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE_BODY, k(e, t));
2041
+ break;
2042
+ }
2043
+ case a.TBODY:
2044
+ case a.TFOOT:
2045
+ case a.THEAD: {
2046
+ (e.openElements.hasInTableScope(t.tagID) || e.openElements.hasInTableScope(a.TR)) && (e.openElements.clearBackToTableRowContext(), e.openElements.pop(), e.insertionMode = s.IN_TABLE_BODY, k(e, t));
2047
+ break;
2048
+ }
2049
+ case a.BODY:
2050
+ case a.CAPTION:
2051
+ case a.COL:
2052
+ case a.COLGROUP:
2053
+ case a.HTML:
2054
+ case a.TD:
2055
+ case a.TH:
2056
+ break;
2057
+ default:
2058
+ b(e, t);
2059
+ }
2060
+ }
2061
+ function na(e, t) {
2062
+ const n = t.tagID;
2063
+ Te.has(n) ? (e.openElements.hasInTableScope(a.TD) || e.openElements.hasInTableScope(a.TH)) && (e._closeTableCell(), y(e, t)) : m(e, t);
2064
+ }
2065
+ function ra(e, t) {
2066
+ const n = t.tagID;
2067
+ switch (n) {
2068
+ case a.TD:
2069
+ case a.TH: {
2070
+ e.openElements.hasInTableScope(n) && (e.openElements.generateImpliedEndTags(), e.openElements.popUntilTagNamePopped(n), e.activeFormattingElements.clearToLastMarker(), e.insertionMode = s.IN_ROW);
2071
+ break;
2072
+ }
2073
+ case a.TABLE:
2074
+ case a.TBODY:
2075
+ case a.TFOOT:
2076
+ case a.THEAD:
2077
+ case a.TR: {
2078
+ e.openElements.hasInTableScope(n) && (e._closeTableCell(), le(e, t));
2079
+ break;
2080
+ }
2081
+ case a.BODY:
2082
+ case a.CAPTION:
2083
+ case a.COL:
2084
+ case a.COLGROUP:
2085
+ case a.HTML:
2086
+ break;
2087
+ default:
2088
+ p(e, t);
2089
+ }
2090
+ }
2091
+ function me(e, t) {
2092
+ switch (t.tagID) {
2093
+ case a.HTML: {
2094
+ m(e, t);
2095
+ break;
2096
+ }
2097
+ case a.OPTION: {
2098
+ e.openElements.currentTagId === a.OPTION && e.openElements.pop(), e._insertElement(t, o.HTML);
2099
+ break;
2100
+ }
2101
+ case a.OPTGROUP: {
2102
+ e.openElements.currentTagId === a.OPTION && e.openElements.pop(), e.openElements.currentTagId === a.OPTGROUP && e.openElements.pop(), e._insertElement(t, o.HTML);
2103
+ break;
2104
+ }
2105
+ case a.HR: {
2106
+ e.openElements.currentTagId === a.OPTION && e.openElements.pop(), e.openElements.currentTagId === a.OPTGROUP && e.openElements.pop(), e._appendElement(t, o.HTML), t.ackSelfClosing = !0;
2107
+ break;
2108
+ }
2109
+ case a.INPUT:
2110
+ case a.KEYGEN:
2111
+ case a.TEXTAREA:
2112
+ case a.SELECT: {
2113
+ e.openElements.hasInSelectScope(a.SELECT) && (e.openElements.popUntilTagNamePopped(a.SELECT), e._resetInsertionMode(), t.tagID !== a.SELECT && e._processStartTag(t));
2114
+ break;
2115
+ }
2116
+ case a.SCRIPT:
2117
+ case a.TEMPLATE: {
2118
+ _(e, t);
2119
+ break;
2120
+ }
2121
+ }
2122
+ }
2123
+ function de(e, t) {
2124
+ switch (t.tagID) {
2125
+ case a.OPTGROUP: {
2126
+ e.openElements.stackTop > 0 && e.openElements.currentTagId === a.OPTION && e.openElements.tagIDs[e.openElements.stackTop - 1] === a.OPTGROUP && e.openElements.pop(), e.openElements.currentTagId === a.OPTGROUP && e.openElements.pop();
2127
+ break;
2128
+ }
2129
+ case a.OPTION: {
2130
+ e.openElements.currentTagId === a.OPTION && e.openElements.pop();
2131
+ break;
2132
+ }
2133
+ case a.SELECT: {
2134
+ e.openElements.hasInSelectScope(a.SELECT) && (e.openElements.popUntilTagNamePopped(a.SELECT), e._resetInsertionMode());
2135
+ break;
2136
+ }
2137
+ case a.TEMPLATE: {
2138
+ f(e, t);
2139
+ break;
2140
+ }
2141
+ }
2142
+ }
2143
+ function ia(e, t) {
2144
+ const n = t.tagID;
2145
+ n === a.CAPTION || n === a.TABLE || n === a.TBODY || n === a.TFOOT || n === a.THEAD || n === a.TR || n === a.TD || n === a.TH ? (e.openElements.popUntilTagNamePopped(a.SELECT), e._resetInsertionMode(), e._processStartTag(t)) : me(e, t);
2146
+ }
2147
+ function oa(e, t) {
2148
+ const n = t.tagID;
2149
+ n === a.CAPTION || n === a.TABLE || n === a.TBODY || n === a.TFOOT || n === a.THEAD || n === a.TR || n === a.TD || n === a.TH ? e.openElements.hasInTableScope(n) && (e.openElements.popUntilTagNamePopped(a.SELECT), e._resetInsertionMode(), e.onEndTag(t)) : de(e, t);
2150
+ }
2151
+ function ca(e, t) {
2152
+ switch (t.tagID) {
2153
+ case a.BASE:
2154
+ case a.BASEFONT:
2155
+ case a.BGSOUND:
2156
+ case a.LINK:
2157
+ case a.META:
2158
+ case a.NOFRAMES:
2159
+ case a.SCRIPT:
2160
+ case a.STYLE:
2161
+ case a.TEMPLATE:
2162
+ case a.TITLE: {
2163
+ _(e, t);
2164
+ break;
2165
+ }
2166
+ case a.CAPTION:
2167
+ case a.COLGROUP:
2168
+ case a.TBODY:
2169
+ case a.TFOOT:
2170
+ case a.THEAD: {
2171
+ e.tmplInsertionModeStack[0] = s.IN_TABLE, e.insertionMode = s.IN_TABLE, g(e, t);
2172
+ break;
2173
+ }
2174
+ case a.COL: {
2175
+ e.tmplInsertionModeStack[0] = s.IN_COLUMN_GROUP, e.insertionMode = s.IN_COLUMN_GROUP, X(e, t);
2176
+ break;
2177
+ }
2178
+ case a.TR: {
2179
+ e.tmplInsertionModeStack[0] = s.IN_TABLE_BODY, e.insertionMode = s.IN_TABLE_BODY, U(e, t);
2180
+ break;
2181
+ }
2182
+ case a.TD:
2183
+ case a.TH: {
2184
+ e.tmplInsertionModeStack[0] = s.IN_ROW, e.insertionMode = s.IN_ROW, y(e, t);
2185
+ break;
2186
+ }
2187
+ default:
2188
+ e.tmplInsertionModeStack[0] = s.IN_BODY, e.insertionMode = s.IN_BODY, m(e, t);
2189
+ }
2190
+ }
2191
+ function Ea(e, t) {
2192
+ t.tagID === a.TEMPLATE && f(e, t);
2193
+ }
2194
+ function Ie(e, t) {
2195
+ e.openElements.tmplCount > 0 ? (e.openElements.popUntilTagNamePopped(a.TEMPLATE), e.activeFormattingElements.clearToLastMarker(), e.tmplInsertionModeStack.shift(), e._resetInsertionMode(), e.onEof(t)) : W(e, t);
2196
+ }
2197
+ function Ta(e, t) {
2198
+ t.tagID === a.HTML ? m(e, t) : F(e, t);
2199
+ }
2200
+ function _e(e, t) {
2201
+ var n;
2202
+ if (t.tagID === a.HTML) {
2203
+ if (e.fragmentContext || (e.insertionMode = s.AFTER_AFTER_BODY), e.options.sourceCodeLocationInfo && e.openElements.tagIDs[0] === a.HTML) {
2204
+ e._setEndLocation(e.openElements.items[0], t);
2205
+ const r = e.openElements.items[1];
2206
+ r && !(!((n = e.treeAdapter.getNodeSourceCodeLocation(r)) === null || n === void 0) && n.endTag) && e._setEndLocation(r, t);
2207
+ }
2208
+ } else
2209
+ F(e, t);
2210
+ }
2211
+ function F(e, t) {
2212
+ e.insertionMode = s.IN_BODY, H(e, t);
2213
+ }
2214
+ function la(e, t) {
2215
+ switch (t.tagID) {
2216
+ case a.HTML: {
2217
+ m(e, t);
2218
+ break;
2219
+ }
2220
+ case a.FRAMESET: {
2221
+ e._insertElement(t, o.HTML);
2222
+ break;
2223
+ }
2224
+ case a.FRAME: {
2225
+ e._appendElement(t, o.HTML), t.ackSelfClosing = !0;
2226
+ break;
2227
+ }
2228
+ case a.NOFRAMES: {
2229
+ _(e, t);
2230
+ break;
2231
+ }
2232
+ }
2233
+ }
2234
+ function ma(e, t) {
2235
+ t.tagID === a.FRAMESET && !e.openElements.isRootHtmlElementCurrent() && (e.openElements.pop(), !e.fragmentContext && e.openElements.currentTagId !== a.FRAMESET && (e.insertionMode = s.AFTER_FRAMESET));
2236
+ }
2237
+ function da(e, t) {
2238
+ switch (t.tagID) {
2239
+ case a.HTML: {
2240
+ m(e, t);
2241
+ break;
2242
+ }
2243
+ case a.NOFRAMES: {
2244
+ _(e, t);
2245
+ break;
2246
+ }
2247
+ }
2248
+ }
2249
+ function Ia(e, t) {
2250
+ t.tagID === a.HTML && (e.insertionMode = s.AFTER_AFTER_FRAMESET);
2251
+ }
2252
+ function _a(e, t) {
2253
+ t.tagID === a.HTML ? m(e, t) : S(e, t);
2254
+ }
2255
+ function S(e, t) {
2256
+ e.insertionMode = s.IN_BODY, H(e, t);
2257
+ }
2258
+ function Aa(e, t) {
2259
+ switch (t.tagID) {
2260
+ case a.HTML: {
2261
+ m(e, t);
2262
+ break;
2263
+ }
2264
+ case a.NOFRAMES: {
2265
+ _(e, t);
2266
+ break;
2267
+ }
2268
+ }
2269
+ }
2270
+ function ha(e, t) {
2271
+ t.chars = pe, e._insertCharacters(t);
2272
+ }
2273
+ function fa(e, t) {
2274
+ e._insertCharacters(t), e.framesetOk = !1;
2275
+ }
2276
+ function Ae(e) {
2277
+ for (; e.treeAdapter.getNamespaceURI(e.openElements.current) !== o.HTML && e.openElements.currentTagId !== void 0 && !e._isIntegrationPoint(e.openElements.currentTagId, e.openElements.current); )
2278
+ e.openElements.pop();
2279
+ }
2280
+ function ga(e, t) {
2281
+ if (Pe(t))
2282
+ Ae(e), e._startTagOutsideForeignContent(t);
2283
+ else {
2284
+ const n = e._getAdjustedCurrentElement(), r = e.treeAdapter.getNamespaceURI(n);
2285
+ r === o.MATHML ? Z(t) : r === o.SVG && (Fe(t), $(t)), w(t), t.selfClosing ? e._appendElement(t, r) : e._insertElement(t, r), t.ackSelfClosing = !0;
2286
+ }
2287
+ }
2288
+ function Na(e, t) {
2289
+ if (t.tagID === a.P || t.tagID === a.BR) {
2290
+ Ae(e), e._endTagOutsideForeignContent(t);
2291
+ return;
2292
+ }
2293
+ for (let n = e.openElements.stackTop; n > 0; n--) {
2294
+ const r = e.openElements.items[n];
2295
+ if (e.treeAdapter.getNamespaceURI(r) === o.HTML) {
2296
+ e._endTagOutsideForeignContent(t);
2297
+ break;
2298
+ }
2299
+ const i = e.treeAdapter.getTagName(r);
2300
+ if (i.toLowerCase() === t.tagName) {
2301
+ t.tagName = i, e.openElements.shortenToLength(n);
2302
+ break;
2303
+ }
2304
+ }
2305
+ }
2306
+ export {
2307
+ Fa as Parser
2308
+ };