ember-repl 6.0.0 → 7.0.1
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.
- package/LICENSE.md +1 -1
- package/README.md +2 -404
- package/config/.try.mjs +87 -0
- package/config/addon-main.cjs +7 -0
- package/config/attw.json +7 -0
- package/config/babel.publish.config.cjs +29 -0
- package/config/ember-cli-update.json +21 -0
- package/config/rollup.config.mjs +44 -0
- package/config/testem.cjs +35 -0
- package/config/tsconfig.publish.json +15 -0
- package/config/vite.config.mjs +36 -0
- package/declarations/compile/Compiled.d.ts +7 -0
- package/declarations/compile/Compiled.d.ts.map +1 -0
- package/declarations/compile/compile.d.ts +17 -0
- package/declarations/compile/compile.d.ts.map +1 -0
- package/declarations/compile/state.d.ts +43 -0
- package/declarations/compile/state.d.ts.map +1 -0
- package/declarations/compile/types.d.ts +5 -12
- package/declarations/compile/types.d.ts.map +1 -1
- package/declarations/index.d.ts +6 -2
- package/declarations/index.d.ts.map +1 -1
- package/declarations/services/compiler.d.ts +94 -0
- package/declarations/services/compiler.d.ts.map +1 -0
- package/declarations/services/known-modules.d.ts +7 -0
- package/declarations/services/known-modules.d.ts.map +1 -0
- package/declarations/setup.d.ts +7 -0
- package/declarations/setup.d.ts.map +1 -0
- package/declarations/test-support.d.ts +20 -0
- package/declarations/test-support.d.ts.map +1 -0
- package/dist/_commonjsHelpers-BAGoDD49.js +37 -0
- package/dist/_commonjsHelpers-BAGoDD49.js.map +1 -0
- package/dist/babel-8wMrbxkT.js +110427 -0
- package/dist/babel-8wMrbxkT.js.map +1 -0
- package/dist/blank-line-Bzg2Qt4K.js +482 -0
- package/dist/blank-line-Bzg2Qt4K.js.map +1 -0
- package/dist/compile/Compiled.js +26 -0
- package/dist/compile/Compiled.js.map +1 -0
- package/dist/compile/compile.js +62 -0
- package/dist/compile/compile.js.map +1 -0
- package/dist/compile/state.js +75 -0
- package/dist/compile/state.js.map +1 -0
- package/dist/compile/utils.js +213 -2
- package/dist/compile/utils.js.map +1 -1
- package/dist/default-CoqAuVeH.js +4 -0
- package/dist/default-CoqAuVeH.js.map +1 -0
- package/dist/index-BTx1k6gT.js +323 -0
- package/dist/index-BTx1k6gT.js.map +1 -0
- package/dist/index-Bxzjtr16.js +87 -0
- package/dist/index-Bxzjtr16.js.map +1 -0
- package/dist/index-C371bO_b.js +1553 -0
- package/dist/index-C371bO_b.js.map +1 -0
- package/dist/index-C4AyeeIa.js +5721 -0
- package/dist/index-C4AyeeIa.js.map +1 -0
- package/dist/index-C8S2G0FH.js +1953 -0
- package/dist/index-C8S2G0FH.js.map +1 -0
- package/dist/index-CCcIVEUK.js +409 -0
- package/dist/index-CCcIVEUK.js.map +1 -0
- package/dist/index-CDSIcg03.js +9070 -0
- package/dist/index-CDSIcg03.js.map +1 -0
- package/dist/index-D8szzCn3.js +2 -0
- package/dist/index-D8szzCn3.js.map +1 -0
- package/dist/index-DBBNT106.js +2644 -0
- package/dist/index-DBBNT106.js.map +1 -0
- package/dist/index-DP_Su7Zc.js +362 -0
- package/dist/index-DP_Su7Zc.js.map +1 -0
- package/dist/index-DejgrVqh.js +11299 -0
- package/dist/index-DejgrVqh.js.map +1 -0
- package/dist/index-Dr5iYoKt.js +1551 -0
- package/dist/index-Dr5iYoKt.js.map +1 -0
- package/dist/index-DxolpiGq.js +3336 -0
- package/dist/index-DxolpiGq.js.map +1 -0
- package/dist/index-ZyJlPFQY.js +249 -0
- package/dist/index-ZyJlPFQY.js.map +1 -0
- package/dist/index-k6CfLgeq.js +26 -0
- package/dist/index-k6CfLgeq.js.map +1 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/services/compiler.js +329 -0
- package/dist/services/compiler.js.map +1 -0
- package/dist/services/known-modules.js +123 -0
- package/dist/services/known-modules.js.map +1 -0
- package/dist/setup.js +15 -0
- package/dist/setup.js.map +1 -0
- package/dist/test-support.js +33 -0
- package/dist/test-support.js.map +1 -0
- package/package.json +117 -138
- package/src/compile/Compiled.ts +45 -0
- package/src/compile/compile.ts +89 -0
- package/src/compile/state.ts +88 -0
- package/src/compile/types.ts +14 -13
- package/src/index.ts +6 -2
- package/src/services/compiler.ts +401 -0
- package/src/services/known-modules.ts +130 -0
- package/src/setup.ts +26 -0
- package/src/test-support.ts +64 -0
- package/addon-main.cjs +0 -5
- package/declarations/__PRIVATE__.d.ts +0 -2
- package/declarations/__PRIVATE__.d.ts.map +0 -1
- package/declarations/compile/formats/gjs/babel.d.ts +0 -7
- package/declarations/compile/formats/gjs/babel.d.ts.map +0 -1
- package/declarations/compile/formats/gjs/eval.d.ts +0 -8
- package/declarations/compile/formats/gjs/eval.d.ts.map +0 -1
- package/declarations/compile/formats/gjs/index.d.ts +0 -24
- package/declarations/compile/formats/gjs/index.d.ts.map +0 -1
- package/declarations/compile/formats/gjs/known-modules.d.ts +0 -48
- package/declarations/compile/formats/gjs/known-modules.d.ts.map +0 -1
- package/declarations/compile/formats/hbs.d.ts +0 -17
- package/declarations/compile/formats/hbs.d.ts.map +0 -1
- package/declarations/compile/formats/markdown.d.ts +0 -22
- package/declarations/compile/formats/markdown.d.ts.map +0 -1
- package/declarations/compile/formats.d.ts +0 -17
- package/declarations/compile/formats.d.ts.map +0 -1
- package/declarations/compile/index.d.ts +0 -80
- package/declarations/compile/index.d.ts.map +0 -1
- package/declarations/test-support/index.d.ts +0 -2
- package/declarations/test-support/index.d.ts.map +0 -1
- package/dist/__PRIVATE__.js +0 -2
- package/dist/__PRIVATE__.js.map +0 -1
- package/dist/compile/formats/gjs/babel.js +0 -2
- package/dist/compile/formats/gjs/babel.js.map +0 -1
- package/dist/compile/formats/gjs/eval.js +0 -19
- package/dist/compile/formats/gjs/eval.js.map +0 -1
- package/dist/compile/formats/gjs/index.js +0 -122
- package/dist/compile/formats/gjs/index.js.map +0 -1
- package/dist/compile/formats/gjs/known-modules.js +0 -52
- package/dist/compile/formats/gjs/known-modules.js.map +0 -1
- package/dist/compile/formats/hbs.js +0 -93
- package/dist/compile/formats/hbs.js.map +0 -1
- package/dist/compile/formats/markdown.js +0 -266
- package/dist/compile/formats/markdown.js.map +0 -1
- package/dist/compile/formats.js +0 -173
- package/dist/compile/formats.js.map +0 -1
- package/dist/compile/index.js +0 -113
- package/dist/compile/index.js.map +0 -1
- package/dist/test-support/index.js +0 -8
- package/dist/test-support/index.js.map +0 -1
- package/src/__PRIVATE__.ts +0 -1
- package/src/compile/formats/gjs/babel.ts +0 -7
- package/src/compile/formats/gjs/eval.ts +0 -29
- package/src/compile/formats/gjs/index.ts +0 -153
- package/src/compile/formats/gjs/known-modules.ts +0 -49
- package/src/compile/formats/hbs.ts +0 -100
- package/src/compile/formats/markdown.ts +0 -345
- package/src/compile/formats.ts +0 -178
- package/src/compile/index.ts +0 -219
- package/src/test-support/index.ts +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C371bO_b.js","sources":["../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js","../../../node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js","../../../node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js","../../../node_modules/.pnpm/rehype-stringify@10.0.1/node_modules/rehype-stringify/lib/index.js"],"sourcesContent":["/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n * Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n * Whether to only escape possibly dangerous characters.\n * Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n * Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n value = value.replace(\n options.subset\n ? charactersToExpressionCached(options.subset)\n : defaultSubsetRegex,\n basic\n )\n\n if (options.subset || options.escapeOnly) {\n return value\n }\n\n return (\n value\n // Surrogate pairs.\n .replace(surrogatePairsRegex, surrogate)\n // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n // non-ASCII ones).\n .replace(controlCharactersRegex, basic)\n )\n\n /**\n * @param {string} pair\n * @param {number} index\n * @param {string} all\n */\n function surrogate(pair, index, all) {\n return options.format(\n (pair.charCodeAt(0) - 0xd800) * 0x400 +\n pair.charCodeAt(1) -\n 0xdc00 +\n 0x10000,\n all.charCodeAt(index + 2),\n options\n )\n }\n\n /**\n * @param {string} character\n * @param {number} index\n * @param {string} all\n */\n function basic(character, index, all) {\n return options.format(\n character.charCodeAt(0),\n all.charCodeAt(index + 1),\n options\n )\n }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n let cached = subsetToRegexCache.get(subset)\n\n if (!cached) {\n cached = charactersToExpression(subset)\n subsetToRegexCache.set(subset, cached)\n }\n\n return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n /** @type {Array<string>} */\n const groups = []\n let index = -1\n\n while (++index < subset.length) {\n groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n }\n\n return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n const value = '&#x' + code.toString(16).toUpperCase()\n return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n const value = '&#' + String(code)\n return omit && next && !decimalRegex.test(String.fromCharCode(next))\n ? value\n : value + ';'\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n 'AElig',\n 'AMP',\n 'Aacute',\n 'Acirc',\n 'Agrave',\n 'Aring',\n 'Atilde',\n 'Auml',\n 'COPY',\n 'Ccedil',\n 'ETH',\n 'Eacute',\n 'Ecirc',\n 'Egrave',\n 'Euml',\n 'GT',\n 'Iacute',\n 'Icirc',\n 'Igrave',\n 'Iuml',\n 'LT',\n 'Ntilde',\n 'Oacute',\n 'Ocirc',\n 'Ograve',\n 'Oslash',\n 'Otilde',\n 'Ouml',\n 'QUOT',\n 'REG',\n 'THORN',\n 'Uacute',\n 'Ucirc',\n 'Ugrave',\n 'Uuml',\n 'Yacute',\n 'aacute',\n 'acirc',\n 'acute',\n 'aelig',\n 'agrave',\n 'amp',\n 'aring',\n 'atilde',\n 'auml',\n 'brvbar',\n 'ccedil',\n 'cedil',\n 'cent',\n 'copy',\n 'curren',\n 'deg',\n 'divide',\n 'eacute',\n 'ecirc',\n 'egrave',\n 'eth',\n 'euml',\n 'frac12',\n 'frac14',\n 'frac34',\n 'gt',\n 'iacute',\n 'icirc',\n 'iexcl',\n 'igrave',\n 'iquest',\n 'iuml',\n 'laquo',\n 'lt',\n 'macr',\n 'micro',\n 'middot',\n 'nbsp',\n 'not',\n 'ntilde',\n 'oacute',\n 'ocirc',\n 'ograve',\n 'ordf',\n 'ordm',\n 'oslash',\n 'otilde',\n 'ouml',\n 'para',\n 'plusmn',\n 'pound',\n 'quot',\n 'raquo',\n 'reg',\n 'sect',\n 'shy',\n 'sup1',\n 'sup2',\n 'sup3',\n 'szlig',\n 'thorn',\n 'times',\n 'uacute',\n 'ucirc',\n 'ugrave',\n 'uml',\n 'uuml',\n 'yacute',\n 'yen',\n 'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n nbsp: ' ',\n iexcl: '¡',\n cent: '¢',\n pound: '£',\n curren: '¤',\n yen: '¥',\n brvbar: '¦',\n sect: '§',\n uml: '¨',\n copy: '©',\n ordf: 'ª',\n laquo: '«',\n not: '¬',\n shy: '',\n reg: '®',\n macr: '¯',\n deg: '°',\n plusmn: '±',\n sup2: '²',\n sup3: '³',\n acute: '´',\n micro: 'µ',\n para: '¶',\n middot: '·',\n cedil: '¸',\n sup1: '¹',\n ordm: 'º',\n raquo: '»',\n frac14: '¼',\n frac12: '½',\n frac34: '¾',\n iquest: '¿',\n Agrave: 'À',\n Aacute: 'Á',\n Acirc: 'Â',\n Atilde: 'Ã',\n Auml: 'Ä',\n Aring: 'Å',\n AElig: 'Æ',\n Ccedil: 'Ç',\n Egrave: 'È',\n Eacute: 'É',\n Ecirc: 'Ê',\n Euml: 'Ë',\n Igrave: 'Ì',\n Iacute: 'Í',\n Icirc: 'Î',\n Iuml: 'Ï',\n ETH: 'Ð',\n Ntilde: 'Ñ',\n Ograve: 'Ò',\n Oacute: 'Ó',\n Ocirc: 'Ô',\n Otilde: 'Õ',\n Ouml: 'Ö',\n times: '×',\n Oslash: 'Ø',\n Ugrave: 'Ù',\n Uacute: 'Ú',\n Ucirc: 'Û',\n Uuml: 'Ü',\n Yacute: 'Ý',\n THORN: 'Þ',\n szlig: 'ß',\n agrave: 'à',\n aacute: 'á',\n acirc: 'â',\n atilde: 'ã',\n auml: 'ä',\n aring: 'å',\n aelig: 'æ',\n ccedil: 'ç',\n egrave: 'è',\n eacute: 'é',\n ecirc: 'ê',\n euml: 'ë',\n igrave: 'ì',\n iacute: 'í',\n icirc: 'î',\n iuml: 'ï',\n eth: 'ð',\n ntilde: 'ñ',\n ograve: 'ò',\n oacute: 'ó',\n ocirc: 'ô',\n otilde: 'õ',\n ouml: 'ö',\n divide: '÷',\n oslash: 'ø',\n ugrave: 'ù',\n uacute: 'ú',\n ucirc: 'û',\n uuml: 'ü',\n yacute: 'ý',\n thorn: 'þ',\n yuml: 'ÿ',\n fnof: 'ƒ',\n Alpha: 'Α',\n Beta: 'Β',\n Gamma: 'Γ',\n Delta: 'Δ',\n Epsilon: 'Ε',\n Zeta: 'Ζ',\n Eta: 'Η',\n Theta: 'Θ',\n Iota: 'Ι',\n Kappa: 'Κ',\n Lambda: 'Λ',\n Mu: 'Μ',\n Nu: 'Ν',\n Xi: 'Ξ',\n Omicron: 'Ο',\n Pi: 'Π',\n Rho: 'Ρ',\n Sigma: 'Σ',\n Tau: 'Τ',\n Upsilon: 'Υ',\n Phi: 'Φ',\n Chi: 'Χ',\n Psi: 'Ψ',\n Omega: 'Ω',\n alpha: 'α',\n beta: 'β',\n gamma: 'γ',\n delta: 'δ',\n epsilon: 'ε',\n zeta: 'ζ',\n eta: 'η',\n theta: 'θ',\n iota: 'ι',\n kappa: 'κ',\n lambda: 'λ',\n mu: 'μ',\n nu: 'ν',\n xi: 'ξ',\n omicron: 'ο',\n pi: 'π',\n rho: 'ρ',\n sigmaf: 'ς',\n sigma: 'σ',\n tau: 'τ',\n upsilon: 'υ',\n phi: 'φ',\n chi: 'χ',\n psi: 'ψ',\n omega: 'ω',\n thetasym: 'ϑ',\n upsih: 'ϒ',\n piv: 'ϖ',\n bull: '•',\n hellip: '…',\n prime: '′',\n Prime: '″',\n oline: '‾',\n frasl: '⁄',\n weierp: '℘',\n image: 'ℑ',\n real: 'ℜ',\n trade: '™',\n alefsym: 'ℵ',\n larr: '←',\n uarr: '↑',\n rarr: '→',\n darr: '↓',\n harr: '↔',\n crarr: '↵',\n lArr: '⇐',\n uArr: '⇑',\n rArr: '⇒',\n dArr: '⇓',\n hArr: '⇔',\n forall: '∀',\n part: '∂',\n exist: '∃',\n empty: '∅',\n nabla: '∇',\n isin: '∈',\n notin: '∉',\n ni: '∋',\n prod: '∏',\n sum: '∑',\n minus: '−',\n lowast: '∗',\n radic: '√',\n prop: '∝',\n infin: '∞',\n ang: '∠',\n and: '∧',\n or: '∨',\n cap: '∩',\n cup: '∪',\n int: '∫',\n there4: '∴',\n sim: '∼',\n cong: '≅',\n asymp: '≈',\n ne: '≠',\n equiv: '≡',\n le: '≤',\n ge: '≥',\n sub: '⊂',\n sup: '⊃',\n nsub: '⊄',\n sube: '⊆',\n supe: '⊇',\n oplus: '⊕',\n otimes: '⊗',\n perp: '⊥',\n sdot: '⋅',\n lceil: '⌈',\n rceil: '⌉',\n lfloor: '⌊',\n rfloor: '⌋',\n lang: '〈',\n rang: '〉',\n loz: '◊',\n spades: '♠',\n clubs: '♣',\n hearts: '♥',\n diams: '♦',\n quot: '\"',\n amp: '&',\n lt: '<',\n gt: '>',\n OElig: 'Œ',\n oelig: 'œ',\n Scaron: 'Š',\n scaron: 'š',\n Yuml: 'Ÿ',\n circ: 'ˆ',\n tilde: '˜',\n ensp: ' ',\n emsp: ' ',\n thinsp: ' ',\n zwnj: '',\n zwj: '',\n lrm: '',\n rlm: '',\n ndash: '–',\n mdash: '—',\n lsquo: '‘',\n rsquo: '’',\n sbquo: '‚',\n ldquo: '“',\n rdquo: '”',\n bdquo: '„',\n dagger: '†',\n Dagger: '‡',\n permil: '‰',\n lsaquo: '‹',\n rsaquo: '›',\n euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n 'cent',\n 'copy',\n 'divide',\n 'gt',\n 'lt',\n 'not',\n 'para',\n 'times'\n]\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n if (own.call(characterEntitiesHtml4, key)) {\n characters[characterEntitiesHtml4[key]] = key\n }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n const character = String.fromCharCode(code)\n\n if (own.call(characters, character)) {\n const name = characters[character]\n const value = '&' + name\n\n if (\n omit &&\n characterEntitiesLegacy.includes(name) &&\n !dangerous.includes(name) &&\n (!attribute ||\n (next &&\n next !== 61 /* `=` */ &&\n notAlphanumericRegex.test(String.fromCharCode(next))))\n ) {\n return value\n }\n\n return value + ';'\n }\n\n return ''\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&`) where possible.\n * @property {boolean} [useShortestReferences=false]\n * Prefer the shortest possible reference, if that results in less bytes.\n * **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n * Whether to omit semicolons when possible.\n * **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n * Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n * Create character references which don’t fail in attributes.\n * **Note**: `attribute` only applies when operating dangerously with\n * `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n /** @type {string|undefined} */\n let named\n\n if (options.useNamedReferences || options.useShortestReferences) {\n named = toNamed(\n code,\n next,\n options.omitOptionalSemicolons,\n options.attribute\n )\n }\n\n // Use the shortest numeric reference when requested.\n // A simple algorithm would use decimal for all code points under 100, as\n // those are shorter than hexadecimal:\n //\n // * `c` vs `c` (decimal shorter)\n // * `d` vs `d` (equal)\n //\n // However, because we take `next` into consideration when `omit` is used,\n // And it would be possible that decimals are shorter on bigger values as\n // well if `next` is hexadecimal but not decimal, we instead compare both.\n if (\n (options.useShortestReferences || !named) &&\n options.useShortestReferences\n ) {\n const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n if (decimal.length < numeric.length) {\n numeric = decimal\n }\n }\n\n return named &&\n (!options.useShortestReferences || named.length < numeric.length)\n ? named\n : numeric\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n * Value to encode.\n * @param {Options} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntities(value, options) {\n return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n * Value to encode.\n * @param {LightOptions} [options]\n * Configuration.\n * @returns {string}\n * Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n return state.settings.bogusComments\n ? '<?' +\n stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: bogusCommentEntitySubset\n })\n ) +\n '>'\n : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n /**\n * @param {string} $0\n */\n function encode($0) {\n return stringifyEntities(\n $0,\n Object.assign({}, state.settings.characterReferences, {\n subset: commentEntitySubset\n })\n )\n }\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n * Node to handle.\n * @param {number | undefined} _2\n * Index of `node` in `parent.\n * @param {Parents | undefined} _3\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n return (\n '<!' +\n (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n (state.settings.tightDoctype ? '' : ' ') +\n 'html>'\n )\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n * Thing to check (`Node` or `string`).\n * @returns {boolean}\n * Whether the `value` is inter-element whitespace (`boolean`): consisting of\n * zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n * (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n * whose `value` field is checked.\n */\nexport function whitespace(thing) {\n return typeof thing === 'object'\n ? thing.type === 'text'\n ? empty(thing.value)\n : false\n : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n return sibling\n\n /**\n * Find applicable siblings in a direction.\n *\n * @template {Parents} Parent\n * Parent type.\n * @param {Parent | undefined} parent\n * Parent.\n * @param {number | undefined} index\n * Index of child in `parent`.\n * @param {boolean | undefined} [includeWhitespace=false]\n * Whether to include whitespace (default: `false`).\n * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n * Child of parent.\n */\n function sibling(parent, index, includeWhitespace) {\n const siblings = parent ? parent.children : emptyChildren\n let offset = (index || 0) + increment\n let next = siblings[offset]\n\n if (!includeWhitespace) {\n while (next && whitespace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n // @ts-expect-error: it’s a correct child.\n return next\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n * Check if a tag can be omitted.\n * @param {Element} element\n * Element to check.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n * Omission handlers, where each key is a tag name, and each value is the\n * corresponding handler.\n * @returns {OmitHandle}\n * Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n return omit\n\n /**\n * Check if a given node can have a tag omitted.\n *\n * @type {OmitHandle}\n */\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n body,\n caption: headOrColgroupOrCaption,\n colgroup: headOrColgroupOrCaption,\n dd,\n dt,\n head: headOrColgroupOrCaption,\n html,\n li,\n optgroup,\n option,\n p,\n rp: rubyElement,\n rt: rubyElement,\n tbody,\n td: cells,\n tfoot,\n th: cells,\n thead,\n tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n const next = siblingAfter(parent, index, true)\n return (\n !next ||\n (next.type !== 'comment' &&\n !(next.type === 'text' && whitespace(next.value.charAt(0))))\n )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n const next = siblingAfter(parent, index)\n return next\n ? next.type === 'element' &&\n (next.tagName === 'address' ||\n next.tagName === 'article' ||\n next.tagName === 'aside' ||\n next.tagName === 'blockquote' ||\n next.tagName === 'details' ||\n next.tagName === 'div' ||\n next.tagName === 'dl' ||\n next.tagName === 'fieldset' ||\n next.tagName === 'figcaption' ||\n next.tagName === 'figure' ||\n next.tagName === 'footer' ||\n next.tagName === 'form' ||\n next.tagName === 'h1' ||\n next.tagName === 'h2' ||\n next.tagName === 'h3' ||\n next.tagName === 'h4' ||\n next.tagName === 'h5' ||\n next.tagName === 'h6' ||\n next.tagName === 'header' ||\n next.tagName === 'hgroup' ||\n next.tagName === 'hr' ||\n next.tagName === 'main' ||\n next.tagName === 'menu' ||\n next.tagName === 'nav' ||\n next.tagName === 'ol' ||\n next.tagName === 'p' ||\n next.tagName === 'pre' ||\n next.tagName === 'section' ||\n next.tagName === 'table' ||\n next.tagName === 'ul')\n : !parent ||\n // Confusing parent.\n !(\n parent.type === 'element' &&\n (parent.tagName === 'a' ||\n parent.tagName === 'audio' ||\n parent.tagName === 'del' ||\n parent.tagName === 'ins' ||\n parent.tagName === 'map' ||\n parent.tagName === 'noscript' ||\n parent.tagName === 'video')\n )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd')\n )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'dt' || next.tagName === 'dd'))\n )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'rp' || next.tagName === 'rt'))\n )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'option' || next.tagName === 'optgroup'))\n )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n const next = siblingAfter(parent, index)\n return Boolean(\n next &&\n next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot')\n )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n const next = siblingAfter(parent, index)\n return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n const next = siblingAfter(parent, index)\n return (\n !next ||\n (next.type === 'element' &&\n (next.tagName === 'td' || next.tagName === 'th'))\n )\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n body,\n colgroup,\n head,\n html,\n tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction html(node) {\n const head = siblingAfter(node, -1)\n return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction head(node) {\n /** @type {Set<string>} */\n const seen = new Set()\n\n // Whether `srcdoc` or not,\n // make sure the content model at least doesn’t have too many `base`s/`title`s.\n for (const child of node.children) {\n if (\n child.type === 'element' &&\n (child.tagName === 'base' || child.tagName === 'title')\n ) {\n if (seen.has(child.tagName)) return false\n seen.add(child.tagName)\n }\n }\n\n // “May be omitted if the element is empty,\n // or if the first thing inside the head element is an element.”\n const child = node.children[0]\n return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n * Element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction body(node) {\n const head = siblingAfter(node, -1, true)\n\n return (\n !head ||\n (head.type !== 'comment' &&\n !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n !(\n head.type === 'element' &&\n (head.tagName === 'meta' ||\n head.tagName === 'link' ||\n head.tagName === 'script' ||\n head.tagName === 'style' ||\n head.tagName === 'template')\n ))\n )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n previous.tagName === 'colgroup' &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n * Element.\n * @param {number | undefined} index\n * Index of element in parent.\n * @param {Parents | undefined} parent\n * Parent of element.\n * @returns {boolean}\n * Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n const previous = siblingBefore(parent, index)\n const head = siblingAfter(node, -1)\n\n // Previous table section was already omitted.\n if (\n parent &&\n previous &&\n previous.type === 'element' &&\n (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function element(node, index, parent, state) {\n const schema = state.schema\n const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n let selfClosing =\n schema.space === 'svg'\n ? state.settings.closeEmptyElements\n : state.settings.voids.includes(node.tagName.toLowerCase())\n /** @type {Array<string>} */\n const parts = []\n /** @type {string} */\n let last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n state.schema = svg\n }\n\n const attributes = serializeAttributes(state, node.properties)\n\n const content = state.all(\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n state.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n // Note: `menuitem` has since been removed from the HTML spec, and so is no\n // longer void.\n if (content) selfClosing = false\n\n if (attributes || !omit || !opening(node, index, parent)) {\n parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n if (\n selfClosing &&\n (schema.space === 'svg' || state.settings.closeSelfClosing)\n ) {\n last = attributes.charAt(attributes.length - 1)\n if (\n !state.settings.tightSelfClosing ||\n last === '/' ||\n (last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !closing(node, index, parent))) {\n parts.push('</' + node.tagName + '>')\n }\n\n return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n /** @type {Array<string>} */\n const values = []\n let index = -1\n /** @type {string} */\n let key\n\n if (properties) {\n for (key in properties) {\n if (properties[key] !== null && properties[key] !== undefined) {\n const value = serializeAttribute(state, key, properties[key])\n if (value) values.push(value)\n }\n }\n }\n\n while (++index < values.length) {\n const last = state.settings.tightAttributes\n ? values[index].charAt(values[index].length - 1)\n : undefined\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n const info = find(state.schema, key)\n const x =\n state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n const y = state.settings.allowDangerousCharacters ? 0 : 1\n let quote = state.quote\n /** @type {string | undefined} */\n let result\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n (info.boolean || info.overloadedBoolean) &&\n (typeof value !== 'string' || value === info.attribute || value === '')\n ) {\n value = Boolean(value)\n }\n\n if (\n value === null ||\n value === undefined ||\n value === false ||\n (typeof value === 'number' && Number.isNaN(value))\n ) {\n return ''\n }\n\n const name = stringifyEntities(\n info.attribute,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: constants.name[x][y]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // `<a>`.\n // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n // so I can’t test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // <!doctype html>\n // <svg viewBox=\"0 0 100 100\">\n // <a href=https://example.com download>\n // <circle cx=50 cy=40 r=35 />\n // </a>\n // </svg>\n // ```\n //\n // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n if (value === true) return name\n\n // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n value = Array.isArray(value)\n ? (info.commaSeparated ? commas : spaces)(value, {\n padLeft: !state.settings.tightCommaSeparatedLists\n })\n : String(value)\n\n if (state.settings.collapseEmptyAttributes && !value) return name\n\n // Check unquoted value.\n if (state.settings.preferUnquoted) {\n result = stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n attribute: true,\n subset: constants.unquoted[x][y]\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (\n state.settings.quoteSmart &&\n ccount(value, quote) > ccount(value, state.alternative)\n ) {\n quote = state.alternative\n }\n\n result =\n quote +\n stringifyEntities(\n value,\n Object.assign({}, state.settings.characterReferences, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n * Node to handle.\n * @param {number | undefined} _\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function text(node, _, parent, state) {\n // Check if content of `node` should be escaped.\n return parent &&\n parent.type === 'element' &&\n (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : stringifyEntities(\n node.value,\n Object.assign({}, state.settings.characterReferences, {\n subset: textEntitySubset\n })\n )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function raw(node, index, parent, state) {\n return state.settings.allowDangerousHtml\n ? node.value\n : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n * Node to handle.\n * @param {number | undefined} _1\n * Index of `node` in `parent.\n * @param {Parents | undefined} _2\n * Parent of `node`.\n * @param {State} state\n * Info passed around about the current state.\n * @returns {string}\n * Serialized node.\n */\nexport function root(node, _1, _2, state) {\n return state.all(node)\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n invalid,\n unknown,\n handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n * Unknown value.\n * @returns {never}\n * Never.\n */\nfunction invalid(node) {\n throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n * Unknown node.\n * @returns {never}\n * Never.\n */\nfunction unknown(node_) {\n // `type` is guaranteed by runtime JS.\n const node = /** @type {Nodes} */ (node_)\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n * Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n * Do not encode some characters which cause XSS vulnerabilities in older\n * browsers (default: `false`).\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n * Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n * When `false`, `Raw` nodes are encoded.\n *\n * > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n * Do not encode characters which cause parse errors (even though they work),\n * to save bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n * Use “bogus comments” instead of comments to save byes: `<?charlie>`\n * instead of `<!--charlie-->` (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n * Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n * Close SVG elements without any content with slash (`/`) on the opening tag\n * instead of an end tag: `<circle />` instead of `<circle></circle>`\n * (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n * Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n * `<img>` (default: `false`).\n *\n * See `tightSelfClosing` to control whether a space is used before the\n * slash.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n * Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n * `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n * Omit optional opening and closing tags (default: `false`).\n *\n * For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n * tags can be omitted.\n * The first because it’s followed by another `li`, the last because it’s\n * followed by nothing.\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n * Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n * Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n * Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n * Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n * When an `<svg>` element is found in the HTML space, this package already\n * automatically switches to and from the SVG space when entering and exiting\n * it (default: `'html'`).\n *\n * > 👉 **Note**: hast is not XML.\n * > It supports SVG as embedded in HTML.\n * > It does not support the features available in XML.\n * > Passing SVG might break but fragments of modern SVG should be fine.\n * > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n * Join attributes together, without whitespace, if possible: get\n * `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n * bytes (default: `false`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n * Join known comma-separated attribute values with just a comma (`,`),\n * instead of padding them on the right as well (`,␠`, where `␠` represents a\n * space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n * Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n * `<!doctype html>` to save bytes (default: `false`).\n *\n * > 👉 **Note**: intentionally creates parse errors in markup (how parse\n * > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n * Do not use an extra space when closing self-closing elements: `<img/>`\n * instead of `<img />` (default: `false`).\n *\n * > 👉 **Note**: only used if `closeSelfClosing: true` or\n * > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n * Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n * Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n * Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n * Not used in the SVG space.\n *\n * > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n * > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n * HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n * Namespace.\n *\n * @typedef State\n * Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n * Serialize the children of a parent node.\n * @property {Quote} alternative\n * Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n * Serialize one node.\n * @property {Quote} quote\n * Preferred quote.\n * @property {Schema} schema\n * Current schema.\n * @property {Settings} settings\n * User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n * Tree to serialize.\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {string}\n * Serialized HTML.\n */\nexport function toHtml(tree, options) {\n const options_ = options || emptyOptions\n const quote = options_.quote || '\"'\n const alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n /** @type {State} */\n const state = {\n one,\n all,\n settings: {\n omitOptionalTags: options_.omitOptionalTags || false,\n allowParseErrors: options_.allowParseErrors || false,\n allowDangerousCharacters: options_.allowDangerousCharacters || false,\n quoteSmart: options_.quoteSmart || false,\n preferUnquoted: options_.preferUnquoted || false,\n tightAttributes: options_.tightAttributes || false,\n upperDoctype: options_.upperDoctype || false,\n tightDoctype: options_.tightDoctype || false,\n bogusComments: options_.bogusComments || false,\n tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n tightSelfClosing: options_.tightSelfClosing || false,\n collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n allowDangerousHtml: options_.allowDangerousHtml || false,\n voids: options_.voids || htmlVoidElements,\n characterReferences:\n options_.characterReferences || emptyCharacterReferences,\n closeSelfClosing: options_.closeSelfClosing || false,\n closeEmptyElements: options_.closeEmptyElements || false\n },\n schema: options_.space === 'svg' ? svg : html,\n quote,\n alternative\n }\n\n return state.one(\n Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n undefined,\n undefined\n )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Nodes} node\n * Node to handle.\n * @param {number | undefined} index\n * Index of `node` in `parent.\n * @param {Parents | undefined} parent\n * Parent of `node`.\n * @returns {string}\n * Serialized node.\n */\nfunction one(node, index, parent) {\n return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n * Info passed around about the current state.\n * @param {Parents | undefined} parent\n * Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n /** @type {Array<string>} */\n const results = []\n const children = (parent && parent.children) || emptyChildren\n let index = -1\n\n while (++index < children.length) {\n results[index] = this.one(children[index], index, parent)\n }\n\n return results.join('')\n}\n","/**\n * @import {Root} from 'hast'\n * @import {Options} from 'hast-util-to-html'\n * @import {Compiler, Processor} from 'unified'\n */\n\nimport {toHtml} from 'hast-util-to-html'\n\n/**\n * Plugin to add support for serializing as HTML.\n *\n * @param {Options | null | undefined} [options]\n * Configuration (optional).\n * @returns {undefined}\n * Nothing.\n */\nexport default function rehypeStringify(options) {\n /** @type {Processor<undefined, undefined, undefined, Root, string>} */\n // @ts-expect-error: TS in JSDoc generates wrong types if `this` is typed regularly.\n const self = this\n const settings = {...self.data('settings'), ...options}\n\n self.compiler = compiler\n\n /**\n * @type {Compiler<Root, string>}\n */\n function compiler(tree) {\n return toHtml(tree, settings)\n }\n}\n"],"names":["defaultSubsetRegex","surrogatePairsRegex","controlCharactersRegex","regexEscapeRegex","subsetToRegexCache","WeakMap","core","value","options","replace","subset","charactersToExpressionCached","basic","escapeOnly","surrogate","pair","index","all","format","charCodeAt","character","cached","get","charactersToExpression","set","groups","length","push","RegExp","join","hexadecimalRegex","toHexadecimal","code","next","omit","toString","toUpperCase","test","String","fromCharCode","decimalRegex","toDecimal","characterEntitiesLegacy","characterEntitiesHtml4","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","copy","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","times","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","alpha","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","xi","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","image","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","part","exist","empty","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","prop","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","lang","rang","loz","spades","clubs","hearts","diams","quot","amp","lt","gt","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","dangerous","own","hasOwnProperty","characters","key","call","notAlphanumericRegex","toNamed","attribute","name","includes","formatSmart","numeric","omitOptionalSemicolons","named","useNamedReferences","useShortestReferences","decimal","stringifyEntities","Object","assign","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","comment","node","_1","_2","state","settings","bogusComments","characterReferences","encode","$0","doctype","_3","upperDoctype","tightDoctype","re","whitespace","thing","type","siblingAfter","siblings","siblingBefore","emptyChildren","increment","sibling","parent","includeWhitespace","children","offset","omission","handlers","tagName","closing","body","caption","headOrColgroupOrCaption","colgroup","dd","dt","head","html","li","optgroup","option","p","rp","rubyElement","rt","tbody","td","cells","tfoot","th","thead","tr","_","charAt","Boolean","opening","seen","Set","child","has","add","previous","indexOf","constants","split","unquoted","single","double","element","schema","space","omitOptionalTags","selfClosing","closeEmptyElements","voids","toLowerCase","parts","last","svg","attributes","serializeAttributes","properties","content","closeSelfClosing","tightSelfClosing","values","undefined","serializeAttribute","tightAttributes","info","find","x","allowParseErrors","y","allowDangerousCharacters","quote","result","overloadedBoolean","boolean","Number","isNaN","Array","isArray","commaSeparated","commas","spaces","padLeft","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","quoteSmart","ccount","alternative","textEntitySubset","text","raw","allowDangerousHtml","root","handle","zwitch","invalid","unknown","Error","node_","emptyOptions","emptyCharacterReferences","toHtml","tree","options_","one","htmlVoidElements","results","rehypeStringify","self","data","compiler"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]}
|