{"version":3,"file":"index.mjs","sources":["../../../../../../node_modules/@lezer/html/dist/index.js"],"sourcesContent":["import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\nimport { parseMixed } from '@lezer/common';\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst scriptText = 54,\n  StartCloseScriptTag = 1,\n  styleText = 55,\n  StartCloseStyleTag = 2,\n  textareaText = 56,\n  StartCloseTextareaTag = 3,\n  EndTag = 4,\n  SelfClosingEndTag = 5,\n  StartTag = 6,\n  StartScriptTag = 7,\n  StartStyleTag = 8,\n  StartTextareaTag = 9,\n  StartSelfClosingTag = 10,\n  StartCloseTag = 11,\n  NoMatchStartCloseTag = 12,\n  MismatchedStartCloseTag = 13,\n  missingCloseTag = 57,\n  IncompleteCloseTag = 14,\n  commentContent$1 = 58,\n  Element = 20,\n  TagName = 22,\n  Attribute = 23,\n  AttributeName = 24,\n  AttributeValue = 26,\n  UnquotedAttributeValue = 27,\n  ScriptText = 28,\n  StyleText = 31,\n  TextareaText = 34,\n  OpenTag = 36,\n  CloseTag = 37,\n  Dialect_noMatch = 0,\n  Dialect_selfClosing = 1;\n\n/* Hand-written tokenizers for HTML. */\n\nconst selfClosers = {\n  area: true, base: true, br: true, col: true, command: true,\n  embed: true, frame: true, hr: true, img: true, input: true,\n  keygen: true, link: true, meta: true, param: true, source: true,\n  track: true, wbr: true, menuitem: true\n};\n\nconst implicitlyClosed = {\n  dd: true, li: true, optgroup: true, option: true, p: true,\n  rp: true, rt: true, tbody: true, td: true, tfoot: true,\n  th: true, tr: true\n};\n\nconst closeOnOpen = {\n  dd: {dd: true, dt: true},\n  dt: {dd: true, dt: true},\n  li: {li: true},\n  option: {option: true, optgroup: true},\n  optgroup: {optgroup: true},\n  p: {\n    address: true, article: true, aside: true, blockquote: true, dir: true,\n    div: true, dl: true, fieldset: true, footer: true, form: true,\n    h1: true, h2: true, h3: true, h4: true, h5: true, h6: true,\n    header: true, hgroup: true, hr: true, menu: true, nav: true, ol: true,\n    p: true, pre: true, section: true, table: true, ul: true\n  },\n  rp: {rp: true, rt: true},\n  rt: {rp: true, rt: true},\n  tbody: {tbody: true, tfoot: true},\n  td: {td: true, th: true},\n  tfoot: {tbody: true},\n  th: {td: true, th: true},\n  thead: {tbody: true, tfoot: true},\n  tr: {tr: true}\n};\n\nfunction nameChar(ch) {\n  return ch == 45 || ch == 46 || ch == 58 || ch >= 65 && ch <= 90 || ch == 95 || ch >= 97 && ch <= 122 || ch >= 161\n}\n\nfunction isSpace(ch) {\n  return ch == 9 || ch == 10 || ch == 13 || ch == 32\n}\n\nlet cachedName = null, cachedInput = null, cachedPos = 0;\nfunction tagNameAfter(input, offset) {\n  let pos = input.pos + offset;\n  if (cachedPos == pos && cachedInput == input) return cachedName\n  let next = input.peek(offset);\n  while (isSpace(next)) next = input.peek(++offset);\n  let name = \"\";\n  for (;;) {\n    if (!nameChar(next)) break\n    name += String.fromCharCode(next);\n    next = input.peek(++offset);\n  }\n  // Undefined to signal there's a <? or <!, null for just missing\n  cachedInput = input; cachedPos = pos;\n  return cachedName = name ? name.toLowerCase() : next == question || next == bang ? undefined : null\n}\n\nconst lessThan = 60, greaterThan = 62, slash = 47, question = 63, bang = 33, dash = 45;\n\nfunction ElementContext(name, parent) {\n  this.name = name;\n  this.parent = parent;\n}\n\nconst startTagTerms = [StartTag, StartSelfClosingTag, StartScriptTag, StartStyleTag, StartTextareaTag];\n\nconst elementContext = new ContextTracker({\n  start: null,\n  shift(context, term, stack, input) {\n    return startTagTerms.indexOf(term) > -1 ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n  },\n  reduce(context, term) {\n    return term == Element && context ? context.parent : context\n  },\n  reuse(context, node, stack, input) {\n    let type = node.type.id;\n    return type == StartTag || type == OpenTag\n      ? new ElementContext(tagNameAfter(input, 1) || \"\", context) : context\n  },\n  strict: false\n});\n\nconst tagStart = new ExternalTokenizer((input, stack) => {\n  if (input.next != lessThan) {\n    // End of file, close any open tags\n    if (input.next < 0 && stack.context) input.acceptToken(missingCloseTag);\n    return\n  }\n  input.advance();\n  let close = input.next == slash;\n  if (close) input.advance();\n  let name = tagNameAfter(input, 0);\n  if (name === undefined) return\n  if (!name) return input.acceptToken(close ? IncompleteCloseTag : StartTag)\n\n  let parent = stack.context ? stack.context.name : null;\n  if (close) {\n    if (name == parent) return input.acceptToken(StartCloseTag)\n    if (parent && implicitlyClosed[parent]) return input.acceptToken(missingCloseTag, -2)\n    if (stack.dialectEnabled(Dialect_noMatch)) return input.acceptToken(NoMatchStartCloseTag)\n    for (let cx = stack.context; cx; cx = cx.parent) if (cx.name == name) return\n    input.acceptToken(MismatchedStartCloseTag);\n  } else {\n    if (name == \"script\") return input.acceptToken(StartScriptTag)\n    if (name == \"style\") return input.acceptToken(StartStyleTag)\n    if (name == \"textarea\") return input.acceptToken(StartTextareaTag)\n    if (selfClosers.hasOwnProperty(name)) return input.acceptToken(StartSelfClosingTag)\n    if (parent && closeOnOpen[parent] && closeOnOpen[parent][name]) input.acceptToken(missingCloseTag, -1);\n    else input.acceptToken(StartTag);\n  }\n}, {contextual: true});\n\nconst commentContent = new ExternalTokenizer(input => {\n  for (let dashes = 0, i = 0;; i++) {\n    if (input.next < 0) {\n      if (i) input.acceptToken(commentContent$1);\n      break\n    }\n    if (input.next == dash) {\n      dashes++;\n    } else if (input.next == greaterThan && dashes >= 2) {\n      if (i >= 3) input.acceptToken(commentContent$1, -2);\n      break\n    } else {\n      dashes = 0;\n    }\n    input.advance();\n  }\n});\n\nfunction inForeignElement(context) {\n  for (; context; context = context.parent)\n    if (context.name == \"svg\" || context.name == \"math\") return true\n  return false\n}\n\nconst endTag = new ExternalTokenizer((input, stack) => {\n  if (input.next == slash && input.peek(1) == greaterThan) {\n    let selfClosing = stack.dialectEnabled(Dialect_selfClosing) || inForeignElement(stack.context);\n    input.acceptToken(selfClosing ? SelfClosingEndTag : EndTag, 2);\n  } else if (input.next == greaterThan) {\n    input.acceptToken(EndTag, 1);\n  }\n});\n\nfunction contentTokenizer(tag, textToken, endToken) {\n  let lastState = 2 + tag.length;\n  return new ExternalTokenizer(input => {\n    // state means:\n    // - 0 nothing matched\n    // - 1 '<' matched\n    // - 2 '</' + possibly whitespace matched\n    // - 3-(1+tag.length) part of the tag matched\n    // - lastState whole tag + possibly whitespace matched\n    for (let state = 0, matchedLen = 0, i = 0;; i++) {\n      if (input.next < 0) {\n        if (i) input.acceptToken(textToken);\n        break\n      }\n      if (state == 0 && input.next == lessThan ||\n          state == 1 && input.next == slash ||\n          state >= 2 && state < lastState && input.next == tag.charCodeAt(state - 2)) {\n        state++;\n        matchedLen++;\n      } else if ((state == 2 || state == lastState) && isSpace(input.next)) {\n        matchedLen++;\n      } else if (state == lastState && input.next == greaterThan) {\n        if (i > matchedLen)\n          input.acceptToken(textToken, -matchedLen);\n        else\n          input.acceptToken(endToken, -(matchedLen - 2));\n        break\n      } else if ((input.next == 10 /* '\\n' */ || input.next == 13 /* '\\r' */) && i) {\n        input.acceptToken(textToken, 1);\n        break\n      } else {\n        state = matchedLen = 0;\n      }\n      input.advance();\n    }\n  })\n}\n\nconst scriptTokens = contentTokenizer(\"script\", scriptText, StartCloseScriptTag);\n\nconst styleTokens = contentTokenizer(\"style\", styleText, StartCloseStyleTag);\n\nconst textareaTokens = contentTokenizer(\"textarea\", textareaText, StartCloseTextareaTag);\n\nconst htmlHighlighting = styleTags({\n  \"Text RawText\": tags.content,\n  \"StartTag StartCloseTag SelfClosingEndTag EndTag\": tags.angleBracket,\n  TagName: tags.tagName,\n  \"MismatchedCloseTag/TagName\": [tags.tagName,  tags.invalid],\n  AttributeName: tags.attributeName,\n  \"AttributeValue UnquotedAttributeValue\": tags.attributeValue,\n  Is: tags.definitionOperator,\n  \"EntityReference CharacterReference\": tags.character,\n  Comment: tags.blockComment,\n  ProcessingInst: tags.processingInstruction,\n  DoctypeDecl: tags.documentMeta\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n  version: 14,\n  states: \",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%ZQ&rO,59fO%fQ&rO,59iO%qQ&rO,59lO%|Q&rO,59nOOOa'#D^'#D^O&XOaO'#CxO&dOaO,59[OOOb'#D_'#D_O&lObO'#C{O&wObO,59[OOOd'#D`'#D`O'POdO'#DOO'[OdO,59[OOO`'#Da'#DaO'dO!rO,59[O'kQ#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'pO$fO,59oOOO`,59o,59oO'xQ#|O,59qO'}Q#|O,59rOOO`-E7W-E7WO(SQ&rO'#CsOOQW'#DZ'#DZO(bQ&rO1G.wOOOa1G.w1G.wOOO`1G/Y1G/YO(mQ&rO1G/QOOOb1G/Q1G/QO(xQ&rO1G/TOOOd1G/T1G/TO)TQ&rO1G/WOOO`1G/W1G/WO)`Q&rO1G/YOOOa-E7[-E7[O)kQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)pQ#tO'#C|OOOd-E7^-E7^O)uQ#tO'#DPOOO`-E7_-E7_O)zQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O*PQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOO`7+$t7+$tOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rO*[Q#|O,59eO*aQ#|O,59hO*fQ#|O,59kOOO`1G/X1G/XO*kO7[O'#CvO*|OMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O+_O7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+pOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z\",\n  stateData: \",]~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OT}OhyO~OS!POT}OhyO~OS!ROT}OhyO~OS!TOT}OhyO~OS}OT}OhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXTgXhgX~OS!fOT!gOhyO~OS!hOT!gOhyO~OS!iOT!gOhyO~OS!jOT!gOhyO~OS!gOT!gOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~\",\n  goto: \"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp\",\n  nodeNames: \"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl\",\n  maxTerm: 67,\n  context: elementContext,\n  nodeProps: [\n    [\"closedBy\", -10,1,2,3,7,8,9,10,11,12,13,\"EndTag\",6,\"EndTag SelfClosingEndTag\",-4,21,30,33,36,\"CloseTag\"],\n    [\"openedBy\", 4,\"StartTag StartCloseTag\",5,\"StartTag\",-4,29,32,35,37,\"OpenTag\"],\n    [\"group\", -9,14,17,18,19,20,39,40,41,42,\"Entity\",16,\"Entity TextContent\",-3,28,31,34,\"TextContent Entity\"],\n    [\"isolate\", -11,21,29,30,32,33,35,36,37,38,41,42,\"ltr\",-3,26,27,39,\"\"]\n  ],\n  propSources: [htmlHighlighting],\n  skippedNodes: [0],\n  repeatNodeCount: 9,\n  tokenData: \"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X\",\n  tokenizers: [scriptTokens, styleTokens, textareaTokens, endTag, tagStart, commentContent, 0, 1, 2, 3, 4, 5],\n  topRules: {\"Document\":[0,15]},\n  dialects: {noMatch: 0, selfClosing: 509},\n  tokenPrec: 511\n});\n\nfunction getAttrs(openTag, input) {\n  let attrs = Object.create(null);\n  for (let att of openTag.getChildren(Attribute)) {\n    let name = att.getChild(AttributeName), value = att.getChild(AttributeValue) || att.getChild(UnquotedAttributeValue);\n    if (name) attrs[input.read(name.from, name.to)] =\n      !value ? \"\" : value.type.id == AttributeValue ? input.read(value.from + 1, value.to - 1) : input.read(value.from, value.to);\n  }\n  return attrs\n}\n\nfunction findTagName(openTag, input) {\n  let tagNameNode = openTag.getChild(TagName);\n  return tagNameNode ? input.read(tagNameNode.from, tagNameNode.to) : \" \"\n}\n\nfunction maybeNest(node, input, tags) {\n  let attrs;\n  for (let tag of tags) {\n    if (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(node.node.parent.firstChild, input))))\n      return {parser: tag.parser}\n  }\n  return null\n}\n\n// tags?: {\n//   tag: string,\n//   attrs?: ({[attr: string]: string}) => boolean,\n//   parser: Parser\n// }[]\n// attributes?: {\n//   name: string,\n//   tagName?: string,\n//   parser: Parser\n// }[]\n \nfunction configureNesting(tags = [], attributes = []) {\n  let script = [], style = [], textarea = [], other = [];\n  for (let tag of tags) {\n    let array = tag.tag == \"script\" ? script : tag.tag == \"style\" ? style : tag.tag == \"textarea\" ? textarea : other;\n    array.push(tag);\n  }\n  let attrs = attributes.length ? Object.create(null) : null;\n  for (let attr of attributes) (attrs[attr.name] || (attrs[attr.name] = [])).push(attr);\n\n  return parseMixed((node, input) => {\n    let id = node.type.id;\n    if (id == ScriptText) return maybeNest(node, input, script)\n    if (id == StyleText) return maybeNest(node, input, style)\n    if (id == TextareaText) return maybeNest(node, input, textarea)\n\n    if (id == Element && other.length) {\n      let n = node.node, open = n.firstChild, tagName = open && findTagName(open, input), attrs;\n      if (tagName) for (let tag of other) {\n        if (tag.tag == tagName && (!tag.attrs || tag.attrs(attrs || (attrs = getAttrs(open, input))))) {\n          let close = n.lastChild;\n          let to = close.type.id == CloseTag ? close.from : n.to;\n          if (to > open.to)\n            return {parser: tag.parser, overlay: [{from: open.to, to}]}\n        }\n      }\n    }\n\n    if (attrs && id == Attribute) {\n      let n = node.node, nameNode;\n      if (nameNode = n.firstChild) {\n        let matches = attrs[input.read(nameNode.from, nameNode.to)];\n        if (matches) for (let attr of matches) {\n          if (attr.tagName && attr.tagName != findTagName(n.parent, input)) continue\n          let value = n.lastChild;\n          if (value.type.id == AttributeValue) {\n            let from = value.from + 1;\n            let last = value.lastChild, to = value.to - (last && last.isError ? 0 : 1);\n            if (to > from) return {parser: attr.parser, overlay: [{from, to}]}\n          } else if (value.type.id == UnquotedAttributeValue) {\n            return {parser: attr.parser, overlay: [{from: value.from, to: value.to}]}\n          }\n        }\n      }\n    }\n    return null\n  })\n}\n\nexport { configureNesting, parser };\n"],"names":["scriptText","StartCloseScriptTag","styleText","StartCloseStyleTag","textareaText","StartCloseTextareaTag","EndTag","SelfClosingEndTag","StartTag","StartScriptTag","StartStyleTag","StartTextareaTag","StartSelfClosingTag","StartCloseTag","NoMatchStartCloseTag","MismatchedStartCloseTag","missingCloseTag","IncompleteCloseTag","commentContent$1","Element","TagName","Attribute","AttributeName","AttributeValue","UnquotedAttributeValue","ScriptText","StyleText","TextareaText","OpenTag","CloseTag","Dialect_noMatch","Dialect_selfClosing","selfClosers","implicitlyClosed","closeOnOpen","nameChar","ch","isSpace","cachedName","cachedInput","cachedPos","tagNameAfter","input","offset","pos","next","name","question","bang","lessThan","greaterThan","slash","dash","ElementContext","parent","startTagTerms","elementContext","ContextTracker","context","term","stack","node","type","tagStart","ExternalTokenizer","close","cx","commentContent","dashes","i","inForeignElement","endTag","selfClosing","contentTokenizer","tag","textToken","endToken","lastState","state","matchedLen","scriptTokens","styleTokens","textareaTokens","htmlHighlighting","styleTags","tags","parser","LRParser","getAttrs","openTag","attrs","att","value","findTagName","tagNameNode","maybeNest","configureNesting","attributes","script","style","textarea","other","attr","parseMixed","id","n","open","tagName","to","nameNode","matches","from","last"],"mappings":"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","x_google_ignoreList":[0]}