@aquera/nile-elements 0.0.105 → 0.0.106

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 (212) hide show
  1. package/README.md +5 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +5 -0
  4. package/dist/{gdresource-e1a79719.esm.js → gdresource-4f0a76be.esm.js} +1 -1
  5. package/dist/{gdresource-437b5a62.cjs.js → gdresource-e95149c6.cjs.js} +2 -2
  6. package/dist/{gdresource-437b5a62.cjs.js.map → gdresource-e95149c6.cjs.js.map} +1 -1
  7. package/dist/gdscript-339427c2.esm.js +1 -0
  8. package/dist/gdscript-459c83a6.cjs.js +2 -0
  9. package/dist/gdscript-459c83a6.cjs.js.map +1 -0
  10. package/dist/index.cjs.js +1 -1
  11. package/dist/index.esm.js +1 -1
  12. package/dist/nile-accordion/index.cjs.js +2 -0
  13. package/dist/nile-accordion/index.esm.js +1 -0
  14. package/dist/nile-accordion/nile-accordion.cjs.js +2 -0
  15. package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -0
  16. package/dist/{nile-detail/nile-detail.css.cjs.js → nile-accordion/nile-accordion.css.cjs.js} +1 -1
  17. package/dist/nile-accordion/nile-accordion.css.cjs.js.map +1 -0
  18. package/dist/{nile-detail/nile-detail.esm.js → nile-accordion/nile-accordion.esm.js} +1 -1
  19. package/dist/nile-badge/index.cjs.js +1 -1
  20. package/dist/nile-badge/index.esm.js +1 -1
  21. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  22. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  23. package/dist/nile-badge/nile-badge.esm.js +1 -1
  24. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  25. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  26. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  27. package/dist/nile-button/index.cjs.js +1 -1
  28. package/dist/nile-button/index.esm.js +1 -1
  29. package/dist/nile-button/nile-button.cjs.js +1 -1
  30. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  31. package/dist/nile-button/nile-button.esm.js +1 -1
  32. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  33. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  34. package/dist/nile-button/nile-button.test.esm.js +1 -1
  35. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  36. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  38. package/dist/nile-dialog/index.cjs.js +1 -1
  39. package/dist/nile-dialog/index.esm.js +1 -1
  40. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  41. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  42. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  43. package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
  44. package/dist/nile-dialog/nile-dialog.css.esm.js +2 -0
  45. package/dist/nile-dialog/nile-dialog.esm.js +3 -3
  46. package/dist/nile-drawer/index.cjs.js +1 -1
  47. package/dist/nile-drawer/index.esm.js +1 -1
  48. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  49. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  50. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  51. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  52. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  53. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  54. package/dist/nile-highlighter/nile-highlighter.cjs.js +1 -1
  55. package/dist/nile-highlighter/nile-highlighter.cjs.js.map +1 -1
  56. package/dist/nile-highlighter/nile-highlighter.esm.js +1 -1
  57. package/dist/nile-icon/icons/svg/activity-logs.cjs.js +2 -0
  58. package/dist/nile-icon/icons/svg/activity-logs.cjs.js.map +1 -0
  59. package/dist/nile-icon/icons/svg/activity-logs.esm.js +1 -0
  60. package/dist/nile-icon/icons/svg/automation-details.cjs.js +2 -0
  61. package/dist/nile-icon/icons/svg/automation-details.cjs.js.map +1 -0
  62. package/dist/nile-icon/icons/svg/automation-details.esm.js +1 -0
  63. package/dist/nile-icon/icons/svg/bar-char.cjs.js +2 -0
  64. package/dist/nile-icon/icons/svg/bar-char.cjs.js.map +1 -0
  65. package/dist/nile-icon/icons/svg/bar-char.esm.js +1 -0
  66. package/dist/nile-icon/icons/svg/bar-chart.cjs.js +2 -0
  67. package/dist/nile-icon/icons/svg/bar-chart.cjs.js.map +1 -0
  68. package/dist/nile-icon/icons/svg/bar-chart.esm.js +1 -0
  69. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  70. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  71. package/dist/nile-icon/icons/svg/manage-users.cjs.js +2 -0
  72. package/dist/nile-icon/icons/svg/manage-users.cjs.js.map +1 -0
  73. package/dist/nile-icon/icons/svg/manage-users.esm.js +1 -0
  74. package/dist/nile-icon/icons/svg/my-integration.cjs.js +2 -0
  75. package/dist/nile-icon/icons/svg/my-integration.cjs.js.map +1 -0
  76. package/dist/nile-icon/icons/svg/my-integration.esm.js +1 -0
  77. package/dist/nile-icon/index.cjs.js +1 -1
  78. package/dist/nile-icon/index.cjs.js.map +1 -1
  79. package/dist/nile-icon/index.esm.js +1 -1
  80. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  81. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  82. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  83. package/dist/nile-icon-button/index.cjs.js +1 -1
  84. package/dist/nile-icon-button/index.esm.js +1 -1
  85. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  86. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  87. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  88. package/dist/nile-input/index.cjs.js +1 -1
  89. package/dist/nile-input/index.esm.js +1 -1
  90. package/dist/nile-input/nile-input.cjs.js +1 -1
  91. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  92. package/dist/nile-input/nile-input.esm.js +1 -1
  93. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  94. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  95. package/dist/nile-input/nile-input.test.esm.js +1 -1
  96. package/dist/nile-menu-item/index.cjs.js +1 -1
  97. package/dist/nile-menu-item/index.esm.js +1 -1
  98. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  99. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  100. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  101. package/dist/nile-option/index.cjs.js +1 -1
  102. package/dist/nile-option/index.esm.js +1 -1
  103. package/dist/nile-option/nile-option.cjs.js +1 -1
  104. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  105. package/dist/nile-option/nile-option.esm.js +1 -1
  106. package/dist/nile-select/index.cjs.js +1 -1
  107. package/dist/nile-select/index.esm.js +1 -1
  108. package/dist/nile-select/nile-select.cjs.js +1 -1
  109. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  110. package/dist/nile-select/nile-select.esm.js +1 -1
  111. package/dist/nile-tab/index.cjs.js +1 -1
  112. package/dist/nile-tab/index.esm.js +1 -1
  113. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  114. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  115. package/dist/nile-tab/nile-tab.esm.js +1 -1
  116. package/dist/nile-tab-group/index.cjs.js +1 -1
  117. package/dist/nile-tab-group/index.esm.js +1 -1
  118. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  119. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  120. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  121. package/dist/nile-tag/index.cjs.js +1 -1
  122. package/dist/nile-tag/index.esm.js +1 -1
  123. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  124. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  125. package/dist/nile-tag/nile-tag.esm.js +1 -1
  126. package/dist/nile-toast/index.cjs.js +1 -1
  127. package/dist/nile-toast/index.esm.js +1 -1
  128. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  129. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  130. package/dist/nile-toast/nile-toast.esm.js +1 -1
  131. package/dist/nile-tree/index.cjs.js +1 -1
  132. package/dist/nile-tree/index.esm.js +1 -1
  133. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  134. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  135. package/dist/nile-tree/nile-tree.esm.js +1 -1
  136. package/dist/nile-tree-item/index.cjs.js +1 -1
  137. package/dist/nile-tree-item/index.esm.js +1 -1
  138. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  139. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  140. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  141. package/dist/{one-dark-pro-5acc6d52.cjs.js → one-dark-pro-24cb9741.cjs.js} +2 -2
  142. package/dist/{one-dark-pro-5acc6d52.cjs.js.map → one-dark-pro-24cb9741.cjs.js.map} +1 -1
  143. package/dist/{one-dark-pro-6ca8f674.esm.js → one-dark-pro-2d133f61.esm.js} +1 -1
  144. package/dist/src/index.d.ts +1 -1
  145. package/dist/src/index.js +1 -1
  146. package/dist/src/index.js.map +1 -1
  147. package/dist/src/nile-accordion/index.d.ts +1 -0
  148. package/dist/src/nile-accordion/index.js +2 -0
  149. package/dist/src/nile-accordion/index.js.map +1 -0
  150. package/dist/src/{nile-detail/nile-detail.css.js → nile-accordion/nile-accordion.css.js} +1 -1
  151. package/dist/src/nile-accordion/nile-accordion.css.js.map +1 -0
  152. package/dist/src/{nile-detail/nile-detail.d.ts → nile-accordion/nile-accordion.d.ts} +3 -3
  153. package/dist/src/{nile-detail/nile-detail.js → nile-accordion/nile-accordion.js} +16 -16
  154. package/dist/src/nile-accordion/nile-accordion.js.map +1 -0
  155. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.d.ts +1 -1
  156. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js +6 -3
  157. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.js.map +1 -1
  158. package/dist/src/nile-dialog/nile-dialog.css.js +2 -0
  159. package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
  160. package/dist/src/nile-icon/icons/svg/activity-logs.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/activity-logs.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/activity-logs.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/automation-details.d.ts +5 -0
  164. package/dist/src/nile-icon/icons/svg/automation-details.js +5 -0
  165. package/dist/src/nile-icon/icons/svg/automation-details.js.map +1 -0
  166. package/dist/src/nile-icon/icons/svg/bar-char.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/bar-char.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/bar-char.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/bar-chart.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/bar-chart.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/bar-chart.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/index.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/index.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  175. package/dist/src/nile-icon/icons/svg/manage-users.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/manage-users.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/manage-users.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/my-integration.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/my-integration.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/my-integration.js.map +1 -0
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/package.json +1 -1
  183. package/src/index.ts +1 -1
  184. package/src/nile-accordion/index.ts +1 -0
  185. package/src/{nile-detail/nile-detail.ts → nile-accordion/nile-accordion.ts} +4 -4
  186. package/src/nile-button-toggle-group/nile-button-toggle-group.ts +3 -4
  187. package/src/nile-dialog/nile-dialog.css.ts +2 -0
  188. package/src/nile-icon/icons/svg/activity-logs.ts +5 -0
  189. package/src/nile-icon/icons/svg/automation-details.ts +5 -0
  190. package/src/nile-icon/icons/svg/bar-char.ts +5 -0
  191. package/src/nile-icon/icons/svg/bar-chart.ts +5 -0
  192. package/src/nile-icon/icons/svg/index.ts +5 -0
  193. package/src/nile-icon/icons/svg/manage-users.ts +5 -0
  194. package/src/nile-icon/icons/svg/my-integration.ts +5 -0
  195. package/dist/gdscript-3009ea81.esm.js +0 -1
  196. package/dist/gdscript-49ede485.cjs.js +0 -2
  197. package/dist/gdscript-49ede485.cjs.js.map +0 -1
  198. package/dist/nile-detail/index.cjs.js +0 -2
  199. package/dist/nile-detail/index.esm.js +0 -1
  200. package/dist/nile-detail/nile-detail.cjs.js +0 -2
  201. package/dist/nile-detail/nile-detail.cjs.js.map +0 -1
  202. package/dist/nile-detail/nile-detail.css.cjs.js.map +0 -1
  203. package/dist/src/nile-detail/index.d.ts +0 -1
  204. package/dist/src/nile-detail/index.js +0 -2
  205. package/dist/src/nile-detail/index.js.map +0 -1
  206. package/dist/src/nile-detail/nile-detail.css.js.map +0 -1
  207. package/dist/src/nile-detail/nile-detail.js.map +0 -1
  208. package/src/nile-detail/index.ts +0 -1
  209. /package/dist/{nile-detail → nile-accordion}/index.cjs.js.map +0 -0
  210. /package/dist/{nile-detail/nile-detail.css.esm.js → nile-accordion/nile-accordion.css.esm.js} +0 -0
  211. /package/dist/src/{nile-detail/nile-detail.css.d.ts → nile-accordion/nile-accordion.css.d.ts} +0 -0
  212. /package/src/{nile-detail/nile-detail.css.ts → nile-accordion/nile-accordion.css.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/chunks/wasm-dynamic.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n this.cache = /* @__PURE__ */ new Map();\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n constructor(regExpSource, ruleId) {\n if (regExpSource) {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache) {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar _BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar _StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\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","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&amp;`) 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 // * `&#99;` vs `&#x63;` (decimal shorter)\n // * `&#100;` vs `&#x64;` (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","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","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","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 * @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 * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\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, 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 ||\n (info.overloadedBoolean && typeof value !== 'string')\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 {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","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nasync function createWasmOnigEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n\nexport { createWasmOnigEngine, loadWasm };\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createWasmOnigEngine } from '@shikijs/engine-oniguruma';\nexport { createWasmOnigEngine, loadWasm } from '@shikijs/engine-oniguruma';\nexport { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from '@shikijs/engine-javascript';\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\nclass GrammarState {\n constructor(_stack, lang, theme) {\n this._stack = _stack;\n this.lang = lang;\n this.theme = theme;\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, theme) {\n return new GrammarState(INITIAL, lang, theme);\n }\n get scopes() {\n return getScopes(this._stack);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state._stack;\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (options.grammarState.theme !== themeName) {\n throw new ShikiError$1(`Grammar state theme \"${options.grammarState.theme}\" does not match highlight theme \"${themeName}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n return _tokenizeWithTheme(code, grammar, theme, colorMap, options).tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState) : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const tokens = syncThemesTokenization(\n ...themes.map((t) => codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n }))\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n } else {\n throw new ShikiError(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = styles.reduce((acc, cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n acc[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n if (acc[key])\n acc[key] += `;${varKey}:${value}`;\n else\n acc[key] = `${varKey}:${value}`;\n }\n }\n return acc;\n }, {});\n token.htmlStyle = defaultColor ? stringifyTokenStyle(mergedStyles) : Object.values(mergedStyles).join(\";\");\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource\n );\n}\nfunction tokensToHast(tokens, options, transformerContext) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n tabindex: \"0\",\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children: [{ type: \"text\", value: token.content }]\n };\n const style = token.htmlStyle || stringifyTokenStyle(getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n async function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createWasmOnigEngine(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createWasmOnigEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, setDefaultWasmLoader, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { g as getWasmInlined } from './chunks/wasm-dynamic.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nimport { createdBundledHighlighter, createWasmOnigEngine, createSingletonShorthands } from '@shikijs/core';\nexport * from '@shikijs/core';\nexport { createCssVariablesTheme } from './theme-css-variables.mjs';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createWasmOnigEngine(getWasmInlined)\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter, getWasmInlined };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const getWasmInlined = async (info) => {\n return import('shiki/wasm').then((wasm) => wasm.default(info));\n};\n\nexport { getWasmInlined as g };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\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","/**\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 {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 const children = node.children\n /** @type {Array<string>} */\n const seen = []\n let index = -1\n\n while (++index < children.length) {\n const child = children[index]\n if (\n child.type === 'element' &&\n (child.tagName === 'title' || child.tagName === 'base')\n ) {\n if (seen.includes(child.tagName)) return false\n seen.push(child.tagName)\n }\n }\n\n return children.length > 0\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 {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 {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 * @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 * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { codeToHtml } from 'shiki'\nimport { ShikiTheme, ShikiLanguage } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tthis.highlightedCode = await codeToHtml(this.code, {\n\t\t\t\tlang: this.language,\n\t\t\t\ttheme: this.theme\n\t\t\t})\n\t\t\tthis.requestUpdate();\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["doClone","something","Array","isArray","arr","r","i","len","length","cloneArray","obj","key","cloneObj","mergeObjects","target","_len","arguments","sources","_key","forEach","source","basename","path","idx","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","next","newTokenizer","token","priority","charAt","console","log","matcher","parseConjunction","push","parseOperand","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","s","every","disposeOnigString","str","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","_step4","n","done","injection","add","err","e","f","context","collectExternalReferencesInRules","patterns","_objectSpread","Object","values","rules","_step5","_iterator5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_yt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","Date","now","TokenizeStringResult","scanNext","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","Math","min","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","assign","Schema","normalize","toLowerCase","increment","Vt","pow","powers","mark","create","definition","prop","properties","own","call","info","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","options","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","String","fromCharCode","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","concat","_toConsumableArray","padRight","padLeft","trim","whitespace","thing","_typeof","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","boolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","_emscripten_get_now","performance","main","async","init","updateGlobalBufferAndViews","buf","emscripten_realloc_buffer","UTF8ToString","ptr","maxBytesToRead","heapOrArray","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","u0","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","size","wasmMemory","grow","byteLength","_unused","Uint8Array","HEAPU32","Uint32Array","TextDecoder","undefined","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","alignUp","max","fd_write","env","wasi_snapshot_preview1","exports","memory","_context15","stop","_callee14","createWasm","_context16","_callee15","_hn","apply","loadWasm","initPromise","_regeneratorRuntime","wrap","_callee3$","_context4","prev","instance","instantiator","dataOrOptions","default","isInstantiatorModule","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","instantiateStreaming","importObject","t3","sent","_ref6","_asyncToGenerator","arrayBuffer","instantiate","_context3","_callee2","_x4","_makeResponseNonStreamingLoader","_callee3","_x3","_ref5","onigBinding","_load","createWasmOnigEngine","_callee16$","_context17","t0","createScanner","OnigScanner","createString","OnigString","_callee16","_kn","splitLines","preserveEnding","parts","split","lines","_n33","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator18","_step18","c","normalizeGetter","p","_callee17$","_context18","abrupt","Promise","resolve","then","_callee17","_On","resolveColorReplacements","replacements","colorReplacements","themeName","_i23","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref7","_ref8","transformerDecorations","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref9","_ref10","_iterator19","_step19","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","splitted","breakpoints","sorted","from","Set","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator20","_step20","splitToken","splitTokens","codeEl","_this$options$decorat2","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","_e$properties","lineApplies","_iterator21","_loop2","_i25","unshift","_step21","_loop","getTransformers","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_zn","_zn3","createColorPalette","namedColorsMap","defaultNamedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","_t$colors","colors","parser","foreground","background","decorations2","parse","findResult","_iterator22","_step22","styleToken","clear","_iterator23","_step23","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","codeToTokensBase","internal","_n$lang","getLoadedThemes","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","_tokenizeWithTheme","tokenizeWithTheme","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","GrammarState","_stack","getGrammarStack","grammarContextCode","INITIAL","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator24","_step24","setting","selectors","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator25","_step25","_step25$value","_step26","_iterator26","selectorPieces","codeToTokensWithThemes","themes","outThemes","_loop3","_i32","t","outLines","i2","indexes","current","l","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$o","__","___","codeToTokens","rootStyle","_n$defaultColor","defaultColor","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","keys","mergedStyles","reduce","acc","cur","_iterator27","_step27","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","_options","transformerContext","_code","_iterator28","_step28","transformer","preprocess","_ei","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e44","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator29","_step29","root","_e$structure","structure","preNode","style","tabindex","_ref11","_ref12","codeNode","lineNodes","An","pre","lineNode","col","_iterator30","_step30","tokenNode","_iterator32","_step32","span","_iterator31","_step31","_iterator33","_step33","_iterator34","_step34","_iterator35","_step35","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator36","_step36","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t96$settings","_t96$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","_e$colorReplacements","_t$settings","_t$settings2","replaceFg","replaceBg","clone","replacement","_i34","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","flat","_context20","_callee19","resolveThemes","_context21","t1","_ci","createShikiInternal","_args14","engine","_defaultWasmLoader","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","themes2","_len7","_args13","_iterator40","_step40","loadTheme","_context25","_callee24","_c8","u","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_len9","_key9","_args12","_context24","_callee23","_loadTheme","m","Symbol","createShikiInternalSync","_context26","_callee25","createHighlighterCore","_args15","_context27","getLastGrammarState","options2","_n$lang2","_t$setTheme2","getInternalContext","_yi","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","o","_ref23","_t$themes","_t$langs","resolveLang","resolveTheme","bundle","_themes","_len4","_len5","_context6","_callee5","_x9","createSingletonShorthands","createHighlighter","getSingletonHighlighter","_shiki","_args6","_context7","_callee6","makeSingletonHighlighter","_codeToHtml","_callee7","_codeToHast","_callee8","_callee9","_callee10","_callee11","_getLastGrammarState","_callee12","_context13","_x20","_x21","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","getWasmInlined","wasm","bundledThemesInfo","displayName","message","super","_this","CAPTURING_REGEX_SOURCE","RegexSource","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","k","fn","cache","_createClass","Theme","S","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","v","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","ScopeStack","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","L","foregroundId","backgroundId","T","FontStyle2","NotSet","Strikethrough","O","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_classCallCheck","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","B","toKey","I","ExternalReferenceCollector","G","constructor","_references","_seenReferenceKeys","references","ScopeDependencyProcessor","H","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","Q","processQueue","q","deps","_iterator2","_step2","dep","_iterator3","_step3","U","W","V","J","X","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","et","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","location","filename","CaptureRule","nt","_this3","_inherits","_et","collectPatterns","out","compile","MatchRule","it","_match","RegExpSource","_cachedCompiledPatterns","_this4","_et2","debugMatchRegExp","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","rt","hasMissingPatterns","_this5","_et3","_iterator6","_step6","pattern","ot","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this6","_et4","resolveBackReferences","_iterator7","_step7","setSource","st","_while","_cachedCompiledWhilePatterns","_this7","_et5","debugWhileRegExp","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","while","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","ct","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","ut","scanner","createOnigScanner","string","BasicScopeAttributes","mt","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","dt","scopesRegExp","escapedScopes","_ref2","_ref3","process","VSCODE_TEXTMATE_DEBUG","ft","stoppedEarly","wt","Grammar","xt","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i15","_Object$keys","_iterator10","_step10","_iterator11","_step11","getMetadataForScope","_collectInjections","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","themeProvider","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","fromExtension","namesScopeList","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","_StateStackImpl","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","contentNameScopeStack","toStateStackFrame","_this$parent$nameScop","_this$nameScopesList$","_structuralEquals","pushFrame","_e$nameScopesList","_n$enterPos","_n$anchorPos","BalancedBracketSelectors","Ot","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesAlways","_iterator14","_step14","excluder","_iterator15","_step15","includer","Mt","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$tokenAttributes","_this$balancedBracket","matchesNever","_t$getScopeNames","scopes2","_iterator16","_step16","SyncRegistry","Pt","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Nt","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Rt","prototype","It","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","checks","types","Yt","mask","check","_assertThisInitialized","_this12","_It","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","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","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","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","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","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","li","optgroup","option","rp","tbody","td","tfoot","th","thead","tr","opening","previous","seen","double","_r12","invalid","unknown","_len2","parameters","_key2","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","nn","un","_this13","_Error2","_wrapNativeSuper","pn","UtfString","jn","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","yn","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","static","bn","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","En","_this14","_Error3","Gn","visited","pushScope","stack2","_t$nameScopesList","getScopes","toJSON","initial","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","configurable","_resolver","_langs","_alias","_this15","_Nt","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator37","_step37","delete","_langGraph","_iterator38","_step38","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref13","_ref14","dependents","_ref15","_e$embeddedLangs","_ref16","embeddedLangs","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_i35","_e46","_e46$_i","_i36","_e47","_e47$_i","_iterator39","_step39","embeddedLang","Registry$1","__defProp","__publicField","di","__defNormalProp","fi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","NileHighlighter","_o22","Oi","highlightedCode","_this19","_updated","_callee13","changedProperties","requestUpdate","updated","_x22","render","_templateObject","_taggedTemplateLiteral","__decorate","NileElement","reflect","_export","customElement"],"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,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]}
1
+ {"version":3,"file":"nile-highlighter.cjs.js","sources":["../../../../node_modules/@shikijs/vscode-textmate/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/merge.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/normalize.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/types.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/defined-info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/create.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/find.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/core.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/format-smart.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-named.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/util/to-decimal.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/ccount/index.js","../../../../node_modules/@shikijs/core/node_modules/comma-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/space-separated-tokens/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-whitespace/lib/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/omission.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/closing.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/element.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/text.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/index.js","../../../../node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../../node_modules/@shikijs/core/dist/index.mjs","../../../../node_modules/shiki/dist/bundle-full.mjs","../../../../node_modules/shiki/dist/langs.mjs","../../../../node_modules/shiki/dist/chunks/wasm-dynamic.mjs","../../../../node_modules/shiki/dist/themes.mjs","../../../../node_modules/@shikijs/types/dist/index.mjs","../../../../node_modules/@shikijs/core/node_modules/html-void-elements/index.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/schema.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/util/info.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xlink.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xml.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/xmlns.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/aria.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/html.js","../../../../node_modules/@shikijs/core/node_modules/property-information/lib/svg.js","../../../../node_modules/@shikijs/core/node_modules/property-information/index.js","../../../../node_modules/@shikijs/core/node_modules/zwitch/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-legacy/index.js","../../../../node_modules/@shikijs/core/node_modules/character-entities-html4/index.js","../../../../node_modules/@shikijs/core/node_modules/stringify-entities/lib/constant/dangerous.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/comment.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/omission/opening.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/index.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/raw.js","../../../../node_modules/@shikijs/core/node_modules/hast-util-to-html/lib/handle/root.js","../../../src/nile-highlighter/nile-highlighter.ts"],"sourcesContent":["// src/utils.ts\nfunction clone(something) {\n return doClone(something);\n}\nfunction doClone(something) {\n if (Array.isArray(something)) {\n return cloneArray(something);\n }\n if (typeof something === \"object\") {\n return cloneObj(something);\n }\n return something;\n}\nfunction cloneArray(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = doClone(arr[i]);\n }\n return r;\n}\nfunction cloneObj(obj) {\n let r = {};\n for (let key in obj) {\n r[key] = doClone(obj[key]);\n }\n return r;\n}\nfunction mergeObjects(target, ...sources) {\n sources.forEach((source) => {\n for (let key in source) {\n target[key] = source[key];\n }\n });\n return target;\n}\nfunction basename(path) {\n const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n if (idx === 0) {\n return path;\n } else if (~idx === path.length - 1) {\n return basename(path.substring(0, path.length - 1));\n } else {\n return path.substr(~idx + 1);\n }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n static hasCaptures(regexSource) {\n if (regexSource === null) {\n return false;\n }\n CAPTURING_REGEX_SOURCE.lastIndex = 0;\n return CAPTURING_REGEX_SOURCE.test(regexSource);\n }\n static replaceCaptures(regexSource, captureSource, captureIndices) {\n return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n let capture = captureIndices[parseInt(index || commandIndex, 10)];\n if (capture) {\n let result = captureSource.substring(capture.start, capture.end);\n while (result[0] === \".\") {\n result = result.substring(1);\n }\n switch (command) {\n case \"downcase\":\n return result.toLowerCase();\n case \"upcase\":\n return result.toUpperCase();\n default:\n return result;\n }\n } else {\n return match;\n }\n });\n }\n};\nfunction strcmp(a, b) {\n if (a < b) {\n return -1;\n }\n if (a > b) {\n return 1;\n }\n return 0;\n}\nfunction strArrCmp(a, b) {\n if (a === null && b === null) {\n return 0;\n }\n if (!a) {\n return -1;\n }\n if (!b) {\n return 1;\n }\n let len1 = a.length;\n let len2 = b.length;\n if (len1 === len2) {\n for (let i = 0; i < len1; i++) {\n let res = strcmp(a[i], b[i]);\n if (res !== 0) {\n return res;\n }\n }\n return 0;\n }\n return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n if (/^#[0-9a-f]{6}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{8}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{3}$/i.test(hex)) {\n return true;\n }\n if (/^#[0-9a-f]{4}$/i.test(hex)) {\n return true;\n }\n return false;\n}\nfunction escapeRegExpCharacters(value) {\n return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n constructor(fn) {\n this.fn = fn;\n this.cache = /* @__PURE__ */ new Map();\n }\n get(key) {\n if (this.cache.has(key)) {\n return this.cache.get(key);\n }\n const value = this.fn(key);\n this.cache.set(key, value);\n return value;\n }\n};\n\n// src/theme.ts\nvar Theme = class {\n constructor(_colorMap, _defaults, _root) {\n this._colorMap = _colorMap;\n this._defaults = _defaults;\n this._root = _root;\n this._cachedMatchRoot = new CachedFn(\n (scopeName) => this._root.match(scopeName)\n );\n }\n static createFromRawTheme(source, colorMap) {\n return this.createFromParsedTheme(parseTheme(source), colorMap);\n }\n static createFromParsedTheme(source, colorMap) {\n return resolveParsedThemeRules(source, colorMap);\n }\n getColorMap() {\n return this._colorMap.getColorMap();\n }\n getDefaults() {\n return this._defaults;\n }\n match(scopePath) {\n if (scopePath === null) {\n return this._defaults;\n }\n const scopeName = scopePath.scopeName;\n const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n const effectiveRule = matchingTrieElements.find(\n (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n );\n if (!effectiveRule) {\n return null;\n }\n return new StyleAttributes(\n effectiveRule.fontStyle,\n effectiveRule.foreground,\n effectiveRule.background\n );\n }\n};\nvar ScopeStack = class _ScopeStack {\n constructor(parent, scopeName) {\n this.parent = parent;\n this.scopeName = scopeName;\n }\n static push(path, scopeNames) {\n for (const name of scopeNames) {\n path = new _ScopeStack(path, name);\n }\n return path;\n }\n static from(...segments) {\n let result = null;\n for (let i = 0; i < segments.length; i++) {\n result = new _ScopeStack(result, segments[i]);\n }\n return result;\n }\n push(scopeName) {\n return new _ScopeStack(this, scopeName);\n }\n getSegments() {\n let item = this;\n const result = [];\n while (item) {\n result.push(item.scopeName);\n item = item.parent;\n }\n result.reverse();\n return result;\n }\n toString() {\n return this.getSegments().join(\" \");\n }\n extends(other) {\n if (this === other) {\n return true;\n }\n if (this.parent === null) {\n return false;\n }\n return this.parent.extends(other);\n }\n getExtensionIfDefined(base) {\n const result = [];\n let item = this;\n while (item && item !== base) {\n result.push(item.scopeName);\n item = item.parent;\n }\n return item === base ? result.reverse() : void 0;\n }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n if (parentScopes.length === 0) {\n return true;\n }\n for (let index = 0; index < parentScopes.length; index++) {\n let scopePattern = parentScopes[index];\n let scopeMustMatch = false;\n if (scopePattern === \">\") {\n if (index === parentScopes.length - 1) {\n return false;\n }\n scopePattern = parentScopes[++index];\n scopeMustMatch = true;\n }\n while (scopePath) {\n if (_matchesScope(scopePath.scopeName, scopePattern)) {\n break;\n }\n if (scopeMustMatch) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n if (!scopePath) {\n return false;\n }\n scopePath = scopePath.parent;\n }\n return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n constructor(fontStyle, foregroundId, backgroundId) {\n this.fontStyle = fontStyle;\n this.foregroundId = foregroundId;\n this.backgroundId = backgroundId;\n }\n};\nfunction parseTheme(source) {\n if (!source) {\n return [];\n }\n if (!source.settings || !Array.isArray(source.settings)) {\n return [];\n }\n let settings = source.settings;\n let result = [], resultLen = 0;\n for (let i = 0, len = settings.length; i < len; i++) {\n let entry = settings[i];\n if (!entry.settings) {\n continue;\n }\n let scopes;\n if (typeof entry.scope === \"string\") {\n let _scope = entry.scope;\n _scope = _scope.replace(/^[,]+/, \"\");\n _scope = _scope.replace(/[,]+$/, \"\");\n scopes = _scope.split(\",\");\n } else if (Array.isArray(entry.scope)) {\n scopes = entry.scope;\n } else {\n scopes = [\"\"];\n }\n let fontStyle = -1 /* NotSet */;\n if (typeof entry.settings.fontStyle === \"string\") {\n fontStyle = 0 /* None */;\n let segments = entry.settings.fontStyle.split(\" \");\n for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n let segment = segments[j];\n switch (segment) {\n case \"italic\":\n fontStyle = fontStyle | 1 /* Italic */;\n break;\n case \"bold\":\n fontStyle = fontStyle | 2 /* Bold */;\n break;\n case \"underline\":\n fontStyle = fontStyle | 4 /* Underline */;\n break;\n case \"strikethrough\":\n fontStyle = fontStyle | 8 /* Strikethrough */;\n break;\n }\n }\n }\n let foreground = null;\n if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n foreground = entry.settings.foreground;\n }\n let background = null;\n if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n background = entry.settings.background;\n }\n for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n let _scope = scopes[j].trim();\n let segments = _scope.split(\" \");\n let scope = segments[segments.length - 1];\n let parentScopes = null;\n if (segments.length > 1) {\n parentScopes = segments.slice(0, segments.length - 1);\n parentScopes.reverse();\n }\n result[resultLen++] = new ParsedThemeRule(\n scope,\n parentScopes,\n i,\n fontStyle,\n foreground,\n background\n );\n }\n }\n return result;\n}\nvar ParsedThemeRule = class {\n constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n this.scope = scope;\n this.parentScopes = parentScopes;\n this.index = index;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n parsedThemeRules.sort((a, b) => {\n let r = strcmp(a.scope, b.scope);\n if (r !== 0) {\n return r;\n }\n r = strArrCmp(a.parentScopes, b.parentScopes);\n if (r !== 0) {\n return r;\n }\n return a.index - b.index;\n });\n let defaultFontStyle = 0 /* None */;\n let defaultForeground = \"#000000\";\n let defaultBackground = \"#ffffff\";\n while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n let incomingDefaults = parsedThemeRules.shift();\n if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n defaultFontStyle = incomingDefaults.fontStyle;\n }\n if (incomingDefaults.foreground !== null) {\n defaultForeground = incomingDefaults.foreground;\n }\n if (incomingDefaults.background !== null) {\n defaultBackground = incomingDefaults.background;\n }\n }\n let colorMap = new ColorMap(_colorMap);\n let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n let rule = parsedThemeRules[i];\n root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n }\n return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n constructor(_colorMap) {\n this._lastColorId = 0;\n this._id2color = [];\n this._color2id = /* @__PURE__ */ Object.create(null);\n if (Array.isArray(_colorMap)) {\n this._isFrozen = true;\n for (let i = 0, len = _colorMap.length; i < len; i++) {\n this._color2id[_colorMap[i]] = i;\n this._id2color[i] = _colorMap[i];\n }\n } else {\n this._isFrozen = false;\n }\n }\n getId(color) {\n if (color === null) {\n return 0;\n }\n color = color.toUpperCase();\n let value = this._color2id[color];\n if (value) {\n return value;\n }\n if (this._isFrozen) {\n throw new Error(`Missing color in color map - ${color}`);\n }\n value = ++this._lastColorId;\n this._color2id[color] = value;\n this._id2color[value] = color;\n return value;\n }\n getColorMap() {\n return this._id2color.slice(0);\n }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n this.scopeDepth = scopeDepth;\n this.parentScopes = parentScopes || emptyParentScopes;\n this.fontStyle = fontStyle;\n this.foreground = foreground;\n this.background = background;\n }\n clone() {\n return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n }\n static cloneArr(arr) {\n let r = [];\n for (let i = 0, len = arr.length; i < len; i++) {\n r[i] = arr[i].clone();\n }\n return r;\n }\n acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n if (this.scopeDepth > scopeDepth) {\n console.log(\"how did this happen?\");\n } else {\n this.scopeDepth = scopeDepth;\n }\n if (fontStyle !== -1 /* NotSet */) {\n this.fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n this.foreground = foreground;\n }\n if (background !== 0) {\n this.background = background;\n }\n }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n this._mainRule = _mainRule;\n this._children = _children;\n this._rulesWithParentScopes = rulesWithParentScopes;\n }\n static _cmpBySpecificity(a, b) {\n if (a.scopeDepth !== b.scopeDepth) {\n return b.scopeDepth - a.scopeDepth;\n }\n let aParentIndex = 0;\n let bParentIndex = 0;\n while (true) {\n if (a.parentScopes[aParentIndex] === \">\") {\n aParentIndex++;\n }\n if (b.parentScopes[bParentIndex] === \">\") {\n bParentIndex++;\n }\n if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n break;\n }\n const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n if (parentScopeLengthDiff !== 0) {\n return parentScopeLengthDiff;\n }\n aParentIndex++;\n bParentIndex++;\n }\n return b.parentScopes.length - a.parentScopes.length;\n }\n match(scope) {\n if (scope !== \"\") {\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n if (this._children.hasOwnProperty(head)) {\n return this._children[head].match(tail);\n }\n }\n const rules = this._rulesWithParentScopes.concat(this._mainRule);\n rules.sort(_ThemeTrieElement._cmpBySpecificity);\n return rules;\n }\n insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n if (scope === \"\") {\n this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n return;\n }\n let dotIndex = scope.indexOf(\".\");\n let head;\n let tail;\n if (dotIndex === -1) {\n head = scope;\n tail = \"\";\n } else {\n head = scope.substring(0, dotIndex);\n tail = scope.substring(dotIndex + 1);\n }\n let child;\n if (this._children.hasOwnProperty(head)) {\n child = this._children[head];\n } else {\n child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n this._children[head] = child;\n }\n child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n }\n _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n if (parentScopes === null) {\n this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n let rule = this._rulesWithParentScopes[i];\n if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n return;\n }\n }\n if (fontStyle === -1 /* NotSet */) {\n fontStyle = this._mainRule.fontStyle;\n }\n if (foreground === 0) {\n foreground = this._mainRule.foreground;\n }\n if (background === 0) {\n background = this._mainRule.background;\n }\n this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n static toBinaryStr(encodedTokenAttributes) {\n return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n }\n static print(encodedTokenAttributes) {\n const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n console.log({\n languageId,\n tokenType,\n fontStyle,\n foreground,\n background\n });\n }\n static getLanguageId(encodedTokenAttributes) {\n return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n }\n static getTokenType(encodedTokenAttributes) {\n return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n }\n static containsBalancedBrackets(encodedTokenAttributes) {\n return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n }\n static getFontStyle(encodedTokenAttributes) {\n return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n }\n static getForeground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n }\n static getBackground(encodedTokenAttributes) {\n return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n }\n /**\n * Updates the fields in `metadata`.\n * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n */\n static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n if (languageId !== 0) {\n _languageId = languageId;\n }\n if (tokenType !== 8 /* NotSet */) {\n _tokenType = fromOptionalTokenType(tokenType);\n }\n if (containsBalancedBrackets !== null) {\n _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n }\n if (fontStyle !== -1 /* NotSet */) {\n _fontStyle = fontStyle;\n }\n if (foreground !== 0) {\n _foreground = foreground;\n }\n if (background !== 0) {\n _background = background;\n }\n return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n }\n};\nfunction toOptionalTokenType(standardType) {\n return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n const results = [];\n const tokenizer = newTokenizer(selector);\n let token = tokenizer.next();\n while (token !== null) {\n let priority = 0;\n if (token.length === 2 && token.charAt(1) === \":\") {\n switch (token.charAt(0)) {\n case \"R\":\n priority = 1;\n break;\n case \"L\":\n priority = -1;\n break;\n default:\n console.log(`Unknown priority ${token} in scope selector`);\n }\n token = tokenizer.next();\n }\n let matcher = parseConjunction();\n results.push({ matcher, priority });\n if (token !== \",\") {\n break;\n }\n token = tokenizer.next();\n }\n return results;\n function parseOperand() {\n if (token === \"-\") {\n token = tokenizer.next();\n const expressionToNegate = parseOperand();\n return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n }\n if (token === \"(\") {\n token = tokenizer.next();\n const expressionInParents = parseInnerExpression();\n if (token === \")\") {\n token = tokenizer.next();\n }\n return expressionInParents;\n }\n if (isIdentifier(token)) {\n const identifiers = [];\n do {\n identifiers.push(token);\n token = tokenizer.next();\n } while (isIdentifier(token));\n return (matcherInput) => matchesName(identifiers, matcherInput);\n }\n return null;\n }\n function parseConjunction() {\n const matchers = [];\n let matcher = parseOperand();\n while (matcher) {\n matchers.push(matcher);\n matcher = parseOperand();\n }\n return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n }\n function parseInnerExpression() {\n const matchers = [];\n let matcher = parseConjunction();\n while (matcher) {\n matchers.push(matcher);\n if (token === \"|\" || token === \",\") {\n do {\n token = tokenizer.next();\n } while (token === \"|\" || token === \",\");\n } else {\n break;\n }\n matcher = parseConjunction();\n }\n return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n }\n}\nfunction isIdentifier(token) {\n return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n let match = regex.exec(input);\n return {\n next: () => {\n if (!match) {\n return null;\n }\n const res = match[0];\n match = regex.exec(input);\n return res;\n }\n };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n if (typeof str.dispose === \"function\") {\n str.dispose();\n }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n }\n toKey() {\n return this.scopeName;\n }\n};\nvar TopLevelRepositoryRuleReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n }\n toKey() {\n return `${this.scopeName}#${this.ruleName}`;\n }\n};\nvar ExternalReferenceCollector = class {\n constructor() {\n this._references = [];\n this._seenReferenceKeys = /* @__PURE__ */ new Set();\n this.visitedRule = /* @__PURE__ */ new Set();\n }\n get references() {\n return this._references;\n }\n add(reference) {\n const key = reference.toKey();\n if (this._seenReferenceKeys.has(key)) {\n return;\n }\n this._seenReferenceKeys.add(key);\n this._references.push(reference);\n }\n};\nvar ScopeDependencyProcessor = class {\n constructor(repo, initialScopeName) {\n this.repo = repo;\n this.initialScopeName = initialScopeName;\n this.seenFullScopeRequests = /* @__PURE__ */ new Set();\n this.seenPartialScopeRequests = /* @__PURE__ */ new Set();\n this.seenFullScopeRequests.add(this.initialScopeName);\n this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n }\n processQueue() {\n const q = this.Q;\n this.Q = [];\n const deps = new ExternalReferenceCollector();\n for (const dep of q) {\n collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n }\n for (const dep of deps.references) {\n if (dep instanceof TopLevelRuleReference) {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n this.seenFullScopeRequests.add(dep.scopeName);\n this.Q.push(dep);\n } else {\n if (this.seenFullScopeRequests.has(dep.scopeName)) {\n continue;\n }\n if (this.seenPartialScopeRequests.has(dep.toKey())) {\n continue;\n }\n this.seenPartialScopeRequests.add(dep.toKey());\n this.Q.push(dep);\n }\n }\n }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n const selfGrammar = repo.lookup(reference.scopeName);\n if (!selfGrammar) {\n if (reference.scopeName === baseGrammarScopeName) {\n throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n }\n return;\n }\n const baseGrammar = repo.lookup(baseGrammarScopeName);\n if (reference instanceof TopLevelRuleReference) {\n collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n } else {\n collectExternalReferencesInTopLevelRepositoryRule(\n reference.ruleName,\n { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n result\n );\n }\n const injections = repo.injections(reference.scopeName);\n if (injections) {\n for (const injection of injections) {\n result.add(new TopLevelRuleReference(injection));\n }\n }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n if (context.repository && context.repository[ruleName]) {\n const rule = context.repository[ruleName];\n collectExternalReferencesInRules([rule], context, result);\n }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n collectExternalReferencesInRules(\n context.selfGrammar.patterns,\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n if (context.selfGrammar.injections) {\n collectExternalReferencesInRules(\n Object.values(context.selfGrammar.injections),\n { ...context, repository: context.selfGrammar.repository },\n result\n );\n }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n for (const rule of rules) {\n if (result.visitedRule.has(rule)) {\n continue;\n }\n result.visitedRule.add(rule);\n const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n if (Array.isArray(rule.patterns)) {\n collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n }\n const include = rule.include;\n if (!include) {\n continue;\n }\n const reference = parseInclude(include);\n switch (reference.kind) {\n case 0 /* Base */:\n collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n break;\n case 1 /* Self */:\n collectExternalReferencesInTopLevelRule(context, result);\n break;\n case 2 /* RelativeReference */:\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n if (selfGrammar) {\n const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n } else {\n collectExternalReferencesInTopLevelRule(newContext, result);\n }\n } else {\n if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n } else {\n result.add(new TopLevelRuleReference(reference.scopeName));\n }\n }\n break;\n }\n }\n}\nvar BaseReference = class {\n constructor() {\n this.kind = 0 /* Base */;\n }\n};\nvar SelfReference = class {\n constructor() {\n this.kind = 1 /* Self */;\n }\n};\nvar RelativeReference = class {\n constructor(ruleName) {\n this.ruleName = ruleName;\n this.kind = 2 /* RelativeReference */;\n }\n};\nvar TopLevelReference = class {\n constructor(scopeName) {\n this.scopeName = scopeName;\n this.kind = 3 /* TopLevelReference */;\n }\n};\nvar TopLevelRepositoryReference = class {\n constructor(scopeName, ruleName) {\n this.scopeName = scopeName;\n this.ruleName = ruleName;\n this.kind = 4 /* TopLevelRepositoryReference */;\n }\n};\nfunction parseInclude(include) {\n if (include === \"$base\") {\n return new BaseReference();\n } else if (include === \"$self\") {\n return new SelfReference();\n }\n const indexOfSharp = include.indexOf(\"#\");\n if (indexOfSharp === -1) {\n return new TopLevelReference(include);\n } else if (indexOfSharp === 0) {\n return new RelativeReference(include.substring(1));\n } else {\n const scopeName = include.substring(0, indexOfSharp);\n const ruleName = include.substring(indexOfSharp + 1);\n return new TopLevelRepositoryReference(scopeName, ruleName);\n }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n return id;\n}\nfunction ruleIdToNumber(id) {\n return id;\n}\nvar Rule = class {\n constructor($location, id, name, contentName) {\n this.$location = $location;\n this.id = id;\n this._name = name || null;\n this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n this._contentName = contentName || null;\n this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n }\n get debugName() {\n const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n return `${this.constructor.name}#${this.id} @ ${location}`;\n }\n getName(lineText, captureIndices) {\n if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n return this._name;\n }\n return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n }\n getContentName(lineText, captureIndices) {\n if (!this._contentNameIsCapturing || this._contentName === null) {\n return this._contentName;\n }\n return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n }\n};\nvar CaptureRule = class extends Rule {\n constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n super($location, id, name, contentName);\n this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n }\n dispose() {\n }\n collectPatterns(grammar, out) {\n throw new Error(\"Not supported!\");\n }\n compile(grammar, endRegexSource) {\n throw new Error(\"Not supported!\");\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n throw new Error(\"Not supported!\");\n }\n};\nvar MatchRule = class extends Rule {\n constructor($location, id, name, match, captures) {\n super($location, id, name, null);\n this._match = new RegExpSource(match, this.id);\n this.captures = captures;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugMatchRegExp() {\n return `${this._match.source}`;\n }\n collectPatterns(grammar, out) {\n out.push(this._match);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar IncludeOnlyRule = class extends Rule {\n constructor($location, id, name, contentName, patterns) {\n super($location, id, name, contentName);\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n collectPatterns(grammar, out) {\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, out);\n }\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n this.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginEndRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n this.endHasBackReferences = this._end.hasBackReferences;\n this.endCaptures = endCaptures;\n this.applyEndPatternLast = applyEndPatternLast || false;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugEndRegExp() {\n return `${this._end.source}`;\n }\n getEndWithResolvedBackReferences(lineText, captureIndices) {\n return this._end.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n } else {\n this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n }\n }\n if (this._end.hasBackReferences) {\n if (this.applyEndPatternLast) {\n this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n } else {\n this._cachedCompiledPatterns.setSource(0, endRegexSource);\n }\n }\n return this._cachedCompiledPatterns;\n }\n};\nvar BeginWhileRule = class extends Rule {\n constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n super($location, id, name, contentName);\n this._begin = new RegExpSource(begin, this.id);\n this.beginCaptures = beginCaptures;\n this.whileCaptures = whileCaptures;\n this._while = new RegExpSource(_while, whileRuleId);\n this.whileHasBackReferences = this._while.hasBackReferences;\n this.patterns = patterns.patterns;\n this.hasMissingPatterns = patterns.hasMissingPatterns;\n this._cachedCompiledPatterns = null;\n this._cachedCompiledWhilePatterns = null;\n }\n dispose() {\n if (this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns.dispose();\n this._cachedCompiledPatterns = null;\n }\n if (this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns.dispose();\n this._cachedCompiledWhilePatterns = null;\n }\n }\n get debugBeginRegExp() {\n return `${this._begin.source}`;\n }\n get debugWhileRegExp() {\n return `${this._while.source}`;\n }\n getWhileWithResolvedBackReferences(lineText, captureIndices) {\n return this._while.resolveBackReferences(lineText, captureIndices);\n }\n collectPatterns(grammar, out) {\n out.push(this._begin);\n }\n compile(grammar, endRegexSource) {\n return this._getCachedCompiledPatterns(grammar).compile(grammar);\n }\n compileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledPatterns(grammar) {\n if (!this._cachedCompiledPatterns) {\n this._cachedCompiledPatterns = new RegExpSourceList();\n for (const pattern of this.patterns) {\n const rule = grammar.getRule(pattern);\n rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n }\n }\n return this._cachedCompiledPatterns;\n }\n compileWhile(grammar, endRegexSource) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n }\n compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n }\n _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n if (!this._cachedCompiledWhilePatterns) {\n this._cachedCompiledWhilePatterns = new RegExpSourceList();\n this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n }\n if (this._while.hasBackReferences) {\n this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n }\n return this._cachedCompiledWhilePatterns;\n }\n};\nvar RuleFactory = class _RuleFactory {\n static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n return helper.registerRule((id) => {\n return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n });\n }\n static getCompiledRuleId(desc, helper, repository) {\n if (!desc.id) {\n helper.registerRule((id) => {\n desc.id = id;\n if (desc.match) {\n return new MatchRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.match,\n _RuleFactory._compileCaptures(desc.captures, helper, repository)\n );\n }\n if (typeof desc.begin === \"undefined\") {\n if (desc.repository) {\n repository = mergeObjects({}, repository, desc.repository);\n }\n let patterns = desc.patterns;\n if (typeof patterns === \"undefined\" && desc.include) {\n patterns = [{ include: desc.include }];\n }\n return new IncludeOnlyRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n _RuleFactory._compilePatterns(patterns, helper, repository)\n );\n }\n if (desc.while) {\n return new BeginWhileRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.while,\n _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n }\n return new BeginEndRule(\n desc.$vscodeTextmateLocation,\n desc.id,\n desc.name,\n desc.contentName,\n desc.begin,\n _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n desc.end,\n _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n desc.applyEndPatternLast,\n _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n );\n });\n }\n return desc.id;\n }\n static _compileCaptures(captures, helper, repository) {\n let r = [];\n if (captures) {\n let maximumCaptureId = 0;\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n if (numericCaptureId > maximumCaptureId) {\n maximumCaptureId = numericCaptureId;\n }\n }\n for (let i = 0; i <= maximumCaptureId; i++) {\n r[i] = null;\n }\n for (const captureId in captures) {\n if (captureId === \"$vscodeTextmateLocation\") {\n continue;\n }\n const numericCaptureId = parseInt(captureId, 10);\n let retokenizeCapturedWithRuleId = 0;\n if (captures[captureId].patterns) {\n retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n }\n r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n }\n }\n return r;\n }\n static _compilePatterns(patterns, helper, repository) {\n let r = [];\n if (patterns) {\n for (let i = 0, len = patterns.length; i < len; i++) {\n const pattern = patterns[i];\n let ruleId = -1;\n if (pattern.include) {\n const reference = parseInclude(pattern.include);\n switch (reference.kind) {\n case 0 /* Base */:\n case 1 /* Self */:\n ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n break;\n case 2 /* RelativeReference */:\n let localIncludedRule = repository[reference.ruleName];\n if (localIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n } else {\n }\n break;\n case 3 /* TopLevelReference */:\n case 4 /* TopLevelRepositoryReference */:\n const externalGrammarName = reference.scopeName;\n const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n if (externalGrammar) {\n if (externalGrammarInclude) {\n let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n if (externalIncludedRule) {\n ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n } else {\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n }\n } else {\n }\n break;\n }\n } else {\n ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n }\n if (ruleId !== -1) {\n const rule = helper.getRule(ruleId);\n let skipRule = false;\n if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n skipRule = true;\n }\n }\n if (skipRule) {\n continue;\n }\n r.push(ruleId);\n }\n }\n }\n return {\n patterns: r,\n hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n };\n }\n};\nvar RegExpSource = class _RegExpSource {\n constructor(regExpSource, ruleId) {\n if (regExpSource) {\n const len = regExpSource.length;\n let lastPushedPos = 0;\n let output = [];\n let hasAnchor = false;\n for (let pos = 0; pos < len; pos++) {\n const ch = regExpSource.charAt(pos);\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n const nextCh = regExpSource.charAt(pos + 1);\n if (nextCh === \"z\") {\n output.push(regExpSource.substring(lastPushedPos, pos));\n output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n lastPushedPos = pos + 2;\n } else if (nextCh === \"A\" || nextCh === \"G\") {\n hasAnchor = true;\n }\n pos++;\n }\n }\n }\n this.hasAnchor = hasAnchor;\n if (lastPushedPos === 0) {\n this.source = regExpSource;\n } else {\n output.push(regExpSource.substring(lastPushedPos, len));\n this.source = output.join(\"\");\n }\n } else {\n this.hasAnchor = false;\n this.source = regExpSource;\n }\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n } else {\n this._anchorCache = null;\n }\n this.ruleId = ruleId;\n this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n }\n clone() {\n return new _RegExpSource(this.source, this.ruleId);\n }\n setSource(newSource) {\n if (this.source === newSource) {\n return;\n }\n this.source = newSource;\n if (this.hasAnchor) {\n this._anchorCache = this._buildAnchorCache();\n }\n }\n resolveBackReferences(lineText, captureIndices) {\n let capturedValues = captureIndices.map((capture) => {\n return lineText.substring(capture.start, capture.end);\n });\n BACK_REFERENCING_END.lastIndex = 0;\n return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n });\n }\n _buildAnchorCache() {\n let A0_G0_result = [];\n let A0_G1_result = [];\n let A1_G0_result = [];\n let A1_G1_result = [];\n let pos, len, ch, nextCh;\n for (pos = 0, len = this.source.length; pos < len; pos++) {\n ch = this.source.charAt(pos);\n A0_G0_result[pos] = ch;\n A0_G1_result[pos] = ch;\n A1_G0_result[pos] = ch;\n A1_G1_result[pos] = ch;\n if (ch === \"\\\\\") {\n if (pos + 1 < len) {\n nextCh = this.source.charAt(pos + 1);\n if (nextCh === \"A\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"\\uFFFF\";\n A1_G0_result[pos + 1] = \"A\";\n A1_G1_result[pos + 1] = \"A\";\n } else if (nextCh === \"G\") {\n A0_G0_result[pos + 1] = \"\\uFFFF\";\n A0_G1_result[pos + 1] = \"G\";\n A1_G0_result[pos + 1] = \"\\uFFFF\";\n A1_G1_result[pos + 1] = \"G\";\n } else {\n A0_G0_result[pos + 1] = nextCh;\n A0_G1_result[pos + 1] = nextCh;\n A1_G0_result[pos + 1] = nextCh;\n A1_G1_result[pos + 1] = nextCh;\n }\n pos++;\n }\n }\n }\n return {\n A0_G0: A0_G0_result.join(\"\"),\n A0_G1: A0_G1_result.join(\"\"),\n A1_G0: A1_G0_result.join(\"\"),\n A1_G1: A1_G1_result.join(\"\")\n };\n }\n resolveAnchors(allowA, allowG) {\n if (!this.hasAnchor || !this._anchorCache) {\n return this.source;\n }\n if (allowA) {\n if (allowG) {\n return this._anchorCache.A1_G1;\n } else {\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n return this._anchorCache.A0_G1;\n } else {\n return this._anchorCache.A0_G0;\n }\n }\n }\n};\nvar RegExpSourceList = class {\n constructor() {\n this._items = [];\n this._hasAnchors = false;\n this._cached = null;\n this._anchorCache = {\n A0_G0: null,\n A0_G1: null,\n A1_G0: null,\n A1_G1: null\n };\n }\n dispose() {\n this._disposeCaches();\n }\n _disposeCaches() {\n if (this._cached) {\n this._cached.dispose();\n this._cached = null;\n }\n if (this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0.dispose();\n this._anchorCache.A0_G0 = null;\n }\n if (this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1.dispose();\n this._anchorCache.A0_G1 = null;\n }\n if (this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0.dispose();\n this._anchorCache.A1_G0 = null;\n }\n if (this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1.dispose();\n this._anchorCache.A1_G1 = null;\n }\n }\n push(item) {\n this._items.push(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n unshift(item) {\n this._items.unshift(item);\n this._hasAnchors = this._hasAnchors || item.hasAnchor;\n }\n length() {\n return this._items.length;\n }\n setSource(index, newSource) {\n if (this._items[index].source !== newSource) {\n this._disposeCaches();\n this._items[index].setSource(newSource);\n }\n }\n compile(onigLib) {\n if (!this._cached) {\n let regExps = this._items.map((e) => e.source);\n this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n return this._cached;\n }\n compileAG(onigLib, allowA, allowG) {\n if (!this._hasAnchors) {\n return this.compile(onigLib);\n } else {\n if (allowA) {\n if (allowG) {\n if (!this._anchorCache.A1_G1) {\n this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G1;\n } else {\n if (!this._anchorCache.A1_G0) {\n this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A1_G0;\n }\n } else {\n if (allowG) {\n if (!this._anchorCache.A0_G1) {\n this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G1;\n } else {\n if (!this._anchorCache.A0_G0) {\n this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n }\n return this._anchorCache.A0_G0;\n }\n }\n }\n }\n _resolveAnchors(onigLib, allowA, allowG) {\n let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n }\n};\nvar CompiledRule = class {\n constructor(onigLib, regExps, rules) {\n this.regExps = regExps;\n this.rules = rules;\n this.scanner = onigLib.createOnigScanner(regExps);\n }\n dispose() {\n if (typeof this.scanner.dispose === \"function\") {\n this.scanner.dispose();\n }\n }\n toString() {\n const r = [];\n for (let i = 0, len = this.rules.length; i < len; i++) {\n r.push(\" - \" + this.rules[i] + \": \" + this.regExps[i]);\n }\n return r.join(\"\\n\");\n }\n findNextMatchSync(string, startPosition, options) {\n const result = this.scanner.findNextMatchSync(string, startPosition, options);\n if (!result) {\n return null;\n }\n return {\n ruleId: this.rules[result.index],\n captureIndices: result.captureIndices\n };\n }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n constructor(languageId, tokenType) {\n this.languageId = languageId;\n this.tokenType = tokenType;\n }\n};\nvar _BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n constructor(initialLanguageId, embeddedLanguages) {\n this._getBasicScopeAttributes = new CachedFn((scopeName) => {\n const languageId = this._scopeToLanguage(scopeName);\n const standardTokenType = this._toStandardTokenType(scopeName);\n return new BasicScopeAttributes(languageId, standardTokenType);\n });\n this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n }\n getDefaultAttributes() {\n return this._defaultAttributes;\n }\n getBasicScopeAttributes(scopeName) {\n if (scopeName === null) {\n return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n }\n return this._getBasicScopeAttributes.get(scopeName);\n }\n /**\n * Given a produced TM scope, return the language that token describes or null if unknown.\n * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n */\n _scopeToLanguage(scope) {\n return this._embeddedLanguagesMatcher.match(scope) || 0;\n }\n _toStandardTokenType(scopeName) {\n const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n if (!m) {\n return 8 /* NotSet */;\n }\n switch (m[1]) {\n case \"comment\":\n return 1 /* Comment */;\n case \"string\":\n return 2 /* String */;\n case \"regex\":\n return 3 /* RegEx */;\n case \"meta.embedded\":\n return 0 /* Other */;\n }\n throw new Error(\"Unexpected match for standard token type!\");\n }\n};\n_BasicScopeAttributesProvider._NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\nvar BasicScopeAttributesProvider = _BasicScopeAttributesProvider;\nvar ScopeMatcher = class {\n constructor(values) {\n if (values.length === 0) {\n this.values = null;\n this.scopesRegExp = null;\n } else {\n this.values = new Map(values);\n const escapedScopes = values.map(\n ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n );\n escapedScopes.sort();\n escapedScopes.reverse();\n this.scopesRegExp = new RegExp(\n `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n \"\"\n );\n }\n }\n match(scope) {\n if (!this.scopesRegExp) {\n return void 0;\n }\n const m = scope.match(this.scopesRegExp);\n if (!m) {\n return void 0;\n }\n return this.values.get(m[1]);\n }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n constructor(stack, stoppedEarly) {\n this.stack = stack;\n this.stoppedEarly = stoppedEarly;\n }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n const lineLength = lineText.content.length;\n let STOP = false;\n let anchorPosition = -1;\n if (checkWhileConditions) {\n const whileCheckResult = _checkWhileConditions(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n lineTokens\n );\n stack = whileCheckResult.stack;\n linePos = whileCheckResult.linePos;\n isFirstLine = whileCheckResult.isFirstLine;\n anchorPosition = whileCheckResult.anchorPosition;\n }\n const startTime = Date.now();\n while (!STOP) {\n if (timeLimit !== 0) {\n const elapsedTime = Date.now() - startTime;\n if (elapsedTime > timeLimit) {\n return new TokenizeStringResult(stack, true);\n }\n }\n scanNext();\n }\n return new TokenizeStringResult(stack, false);\n function scanNext() {\n if (false) {\n console.log(\"\");\n console.log(\n `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n );\n }\n const r = matchRuleOrInjections(\n grammar,\n lineText,\n isFirstLine,\n linePos,\n stack,\n anchorPosition\n );\n if (!r) {\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n const captureIndices = r.captureIndices;\n const matchedRuleId = r.matchedRuleId;\n const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n if (matchedRuleId === endRuleId) {\n const poppedRule = stack.getRule(grammar);\n if (false) {\n console.log(\n \" popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n );\n }\n lineTokens.produce(stack, captureIndices[0].start);\n stack = stack.withContentNameScopesList(stack.nameScopesList);\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n poppedRule.endCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n const popped = stack;\n stack = stack.parent;\n anchorPosition = popped.getAnchorPos();\n if (!hasAdvanced && popped.getEnterPos() === linePos) {\n if (false) {\n console.error(\n \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n );\n }\n stack = popped;\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const _rule = grammar.getRule(matchedRuleId);\n lineTokens.produce(stack, captureIndices[0].start);\n const beforePush = stack;\n const scopeName = _rule.getName(lineText.content, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(\n scopeName,\n grammar\n );\n stack = stack.push(\n matchedRuleId,\n linePos,\n anchorPosition,\n captureIndices[0].end === lineLength,\n null,\n nameScopesList,\n nameScopesList\n );\n if (_rule instanceof BeginEndRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\n \" pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.endHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getEndWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else if (_rule instanceof BeginWhileRule) {\n const pushedRule = _rule;\n if (false) {\n console.log(\" pushing \" + pushedRule.debugName);\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n pushedRule.beginCaptures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n anchorPosition = captureIndices[0].end;\n const contentName = pushedRule.getContentName(\n lineText.content,\n captureIndices\n );\n const contentNameScopesList = nameScopesList.pushAttributed(\n contentName,\n grammar\n );\n stack = stack.withContentNameScopesList(contentNameScopesList);\n if (pushedRule.whileHasBackReferences) {\n stack = stack.withEndRule(\n pushedRule.getWhileWithResolvedBackReferences(\n lineText.content,\n captureIndices\n )\n );\n }\n if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n if (false) {\n console.error(\n \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n );\n }\n stack = stack.pop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n } else {\n const matchingRule = _rule;\n if (false) {\n console.log(\n \" matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n );\n }\n handleCaptures(\n grammar,\n lineText,\n isFirstLine,\n stack,\n lineTokens,\n matchingRule.captures,\n captureIndices\n );\n lineTokens.produce(stack, captureIndices[0].end);\n stack = stack.pop();\n if (!hasAdvanced) {\n if (false) {\n console.error(\n \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n );\n }\n stack = stack.safePop();\n lineTokens.produce(stack, lineLength);\n STOP = true;\n return;\n }\n }\n }\n if (captureIndices[0].end > linePos) {\n linePos = captureIndices[0].end;\n isFirstLine = false;\n }\n }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n const whileRules = [];\n for (let node = stack; node; node = node.pop()) {\n const nodeRule = node.getRule(grammar);\n if (nodeRule instanceof BeginWhileRule) {\n whileRules.push({\n rule: nodeRule,\n stack: node\n });\n }\n }\n for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (false) {\n console.log(\" scanning for while rule\");\n console.log(ruleScanner.toString());\n }\n if (r) {\n const matchedRuleId = r.ruleId;\n if (matchedRuleId !== whileRuleId) {\n stack = whileRule.stack.pop();\n break;\n }\n if (r.captureIndices && r.captureIndices.length) {\n lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n anchorPosition = r.captureIndices[0].end;\n if (r.captureIndices[0].end > linePos) {\n linePos = r.captureIndices[0].end;\n isFirstLine = false;\n }\n }\n } else {\n if (false) {\n console.log(\" popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n }\n stack = whileRule.stack.pop();\n break;\n }\n }\n return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n const injections = grammar.getInjections();\n if (injections.length === 0) {\n return matchResult;\n }\n const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n if (!injectionResult) {\n return matchResult;\n }\n if (!matchResult) {\n return injectionResult;\n }\n const matchResultScore = matchResult.captureIndices[0].start;\n const injectionResultScore = injectionResult.captureIndices[0].start;\n if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n return injectionResult;\n }\n return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n const rule = stack.getRule(grammar);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (r) {\n return {\n captureIndices: r.captureIndices,\n matchedRuleId: r.ruleId\n };\n }\n return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n let bestMatchRating = Number.MAX_VALUE;\n let bestMatchCaptureIndices = null;\n let bestMatchRuleId;\n let bestMatchResultPriority = 0;\n const scopes = stack.contentNameScopesList.getScopeNames();\n for (let i = 0, len = injections.length; i < len; i++) {\n const injection = injections[i];\n if (!injection.matcher(scopes)) {\n continue;\n }\n const rule = grammar.getRule(injection.ruleId);\n const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n if (!matchResult) {\n continue;\n }\n if (false) {\n console.log(` matched injection: ${injection.debugSelector}`);\n console.log(ruleScanner.toString());\n }\n const matchRating = matchResult.captureIndices[0].start;\n if (matchRating >= bestMatchRating) {\n continue;\n }\n bestMatchRating = matchRating;\n bestMatchCaptureIndices = matchResult.captureIndices;\n bestMatchRuleId = matchResult.ruleId;\n bestMatchResultPriority = injection.priority;\n if (bestMatchRating === linePos) {\n break;\n }\n }\n if (bestMatchCaptureIndices) {\n return {\n priorityMatch: bestMatchResultPriority === -1,\n captureIndices: bestMatchCaptureIndices,\n matchedRuleId: bestMatchRuleId\n };\n }\n return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n if (UseOnigurumaFindOptions) {\n const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n const findOptions = getFindOptions(allowA, allowG);\n return { ruleScanner: ruleScanner2, findOptions };\n }\n const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n let options = 0 /* None */;\n if (!allowA) {\n options |= 1 /* NotBeginString */;\n }\n if (!allowG) {\n options |= 4 /* NotBeginPosition */;\n }\n return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n if (captures.length === 0) {\n return;\n }\n const lineTextContent = lineText.content;\n const len = Math.min(captures.length, captureIndices.length);\n const localStack = [];\n const maxEnd = captureIndices[0].end;\n for (let i = 0; i < len; i++) {\n const captureRule = captures[i];\n if (captureRule === null) {\n continue;\n }\n const captureIndex = captureIndices[i];\n if (captureIndex.length === 0) {\n continue;\n }\n if (captureIndex.start > maxEnd) {\n break;\n }\n while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n if (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n } else {\n lineTokens.produce(stack, captureIndex.start);\n }\n if (captureRule.retokenizeCapturedWithRuleId) {\n const scopeName = captureRule.getName(lineTextContent, captureIndices);\n const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n _tokenizeString(\n grammar,\n onigSubStr,\n isFirstLine && captureIndex.start === 0,\n captureIndex.start,\n stackClone,\n lineTokens,\n false,\n /* no time limit */\n 0\n );\n disposeOnigString(onigSubStr);\n continue;\n }\n const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n if (captureRuleScopeName !== null) {\n const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n }\n }\n while (localStack.length > 0) {\n lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n localStack.pop();\n }\n}\nvar LocalStackElement = class {\n constructor(scopes, endPos) {\n this.scopes = scopes;\n this.endPos = endPos;\n }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n return new Grammar(\n scopeName,\n grammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n grammarRepository,\n onigLib\n );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n const matchers = createMatchers(selector, nameMatcher);\n const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n for (const matcher of matchers) {\n result.push({\n debugSelector: selector,\n matcher: matcher.matcher,\n ruleId,\n grammar,\n priority: matcher.priority\n });\n }\n}\nfunction nameMatcher(identifers, scopes) {\n if (scopes.length < identifers.length) {\n return false;\n }\n let lastIndex = 0;\n return identifers.every((identifier) => {\n for (let i = lastIndex; i < scopes.length; i++) {\n if (scopesAreMatching(scopes[i], identifier)) {\n lastIndex = i + 1;\n return true;\n }\n }\n return false;\n });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n if (!thisScopeName) {\n return false;\n }\n if (thisScopeName === scopeName) {\n return true;\n }\n const len = scopeName.length;\n return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n this._rootScopeName = _rootScopeName;\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._onigLib = _onigLib;\n this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n initialLanguage,\n embeddedLanguages\n );\n this._rootId = -1;\n this._lastRuleId = 0;\n this._ruleId2desc = [null];\n this._includedGrammars = {};\n this._grammarRepository = grammarRepository;\n this._grammar = initGrammar(grammar, null);\n this._injections = null;\n this._tokenTypeMatchers = [];\n if (tokenTypes) {\n for (const selector of Object.keys(tokenTypes)) {\n const matchers = createMatchers(selector, nameMatcher);\n for (const matcher of matchers) {\n this._tokenTypeMatchers.push({\n matcher: matcher.matcher,\n type: tokenTypes[selector]\n });\n }\n }\n }\n }\n get themeProvider() {\n return this._grammarRepository;\n }\n dispose() {\n for (const rule of this._ruleId2desc) {\n if (rule) {\n rule.dispose();\n }\n }\n }\n createOnigScanner(sources) {\n return this._onigLib.createOnigScanner(sources);\n }\n createOnigString(sources) {\n return this._onigLib.createOnigString(sources);\n }\n getMetadataForScope(scope) {\n return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n }\n _collectInjections() {\n const grammarRepository = {\n lookup: (scopeName2) => {\n if (scopeName2 === this._rootScopeName) {\n return this._grammar;\n }\n return this.getExternalGrammar(scopeName2);\n },\n injections: (scopeName2) => {\n return this._grammarRepository.injections(scopeName2);\n }\n };\n const result = [];\n const scopeName = this._rootScopeName;\n const grammar = grammarRepository.lookup(scopeName);\n if (grammar) {\n const rawInjections = grammar.injections;\n if (rawInjections) {\n for (let expression in rawInjections) {\n collectInjections(\n result,\n expression,\n rawInjections[expression],\n this,\n grammar\n );\n }\n }\n const injectionScopeNames = this._grammarRepository.injections(scopeName);\n if (injectionScopeNames) {\n injectionScopeNames.forEach((injectionScopeName) => {\n const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n if (injectionGrammar) {\n const selector = injectionGrammar.injectionSelector;\n if (selector) {\n collectInjections(\n result,\n selector,\n injectionGrammar,\n this,\n injectionGrammar\n );\n }\n }\n });\n }\n }\n result.sort((i1, i2) => i1.priority - i2.priority);\n return result;\n }\n getInjections() {\n if (this._injections === null) {\n this._injections = this._collectInjections();\n }\n return this._injections;\n }\n registerRule(factory) {\n const id = ++this._lastRuleId;\n const result = factory(ruleIdFromNumber(id));\n this._ruleId2desc[id] = result;\n return result;\n }\n getRule(ruleId) {\n return this._ruleId2desc[ruleIdToNumber(ruleId)];\n }\n getExternalGrammar(scopeName, repository) {\n if (this._includedGrammars[scopeName]) {\n return this._includedGrammars[scopeName];\n } else if (this._grammarRepository) {\n const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n if (rawIncludedGrammar) {\n this._includedGrammars[scopeName] = initGrammar(\n rawIncludedGrammar,\n repository && repository.$base\n );\n return this._includedGrammars[scopeName];\n }\n }\n return void 0;\n }\n tokenizeLine(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, false, timeLimit);\n return {\n tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n tokenizeLine2(lineText, prevState, timeLimit = 0) {\n const r = this._tokenize(lineText, prevState, true, timeLimit);\n return {\n tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n ruleStack: r.ruleStack,\n stoppedEarly: r.stoppedEarly\n };\n }\n _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n if (this._rootId === -1) {\n this._rootId = RuleFactory.getCompiledRuleId(\n this._grammar.repository.$self,\n this,\n this._grammar.repository\n );\n this.getInjections();\n }\n let isFirstLine;\n if (!prevState || prevState === StateStackImpl.NULL) {\n isFirstLine = true;\n const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n const defaultStyle = this.themeProvider.getDefaults();\n const defaultMetadata = EncodedTokenMetadata.set(\n 0,\n rawDefaultMetadata.languageId,\n rawDefaultMetadata.tokenType,\n null,\n defaultStyle.fontStyle,\n defaultStyle.foregroundId,\n defaultStyle.backgroundId\n );\n const rootScopeName = this.getRule(this._rootId).getName(\n null,\n null\n );\n let scopeList;\n if (rootScopeName) {\n scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n rootScopeName,\n defaultMetadata,\n this\n );\n } else {\n scopeList = AttributedScopeStack.createRoot(\n \"unknown\",\n defaultMetadata\n );\n }\n prevState = new StateStackImpl(\n null,\n this._rootId,\n -1,\n -1,\n false,\n null,\n scopeList,\n scopeList\n );\n } else {\n isFirstLine = false;\n prevState.reset();\n }\n lineText = lineText + \"\\n\";\n const onigLineText = this.createOnigString(lineText);\n const lineLength = onigLineText.content.length;\n const lineTokens = new LineTokens(\n emitBinaryTokens,\n lineText,\n this._tokenTypeMatchers,\n this.balancedBracketSelectors\n );\n const r = _tokenizeString(\n this,\n onigLineText,\n isFirstLine,\n 0,\n prevState,\n lineTokens,\n true,\n timeLimit\n );\n disposeOnigString(onigLineText);\n return {\n lineLength,\n lineTokens,\n ruleStack: r.stack,\n stoppedEarly: r.stoppedEarly\n };\n }\n};\nfunction initGrammar(grammar, base) {\n grammar = clone(grammar);\n grammar.repository = grammar.repository || {};\n grammar.repository.$self = {\n $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n patterns: grammar.patterns,\n name: grammar.scopeName\n };\n grammar.repository.$base = base || grammar.repository.$self;\n return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n /**\n * Invariant:\n * ```\n * if (parent && !scopePath.extends(parent.scopePath)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, scopePath, tokenAttributes) {\n this.parent = parent;\n this.scopePath = scopePath;\n this.tokenAttributes = tokenAttributes;\n }\n static fromExtension(namesScopeList, contentNameScopesList) {\n let current = namesScopeList;\n let scopeNames = namesScopeList?.scopePath ?? null;\n for (const frame of contentNameScopesList) {\n scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n }\n return current;\n }\n static createRoot(scopeName, tokenAttributes) {\n return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n }\n static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n const scopePath = new ScopeStack(null, scopeName);\n const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n tokenAttributes,\n rawRootMetadata,\n rootStyle\n );\n return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n }\n get scopeName() {\n return this.scopePath.scopeName;\n }\n toString() {\n return this.getScopeNames().join(\" \");\n }\n equals(other) {\n return _AttributedScopeStack.equals(this, other);\n }\n static equals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n let fontStyle = -1 /* NotSet */;\n let foreground = 0;\n let background = 0;\n if (styleAttributes !== null) {\n fontStyle = styleAttributes.fontStyle;\n foreground = styleAttributes.foregroundId;\n background = styleAttributes.backgroundId;\n }\n return EncodedTokenMetadata.set(\n existingTokenAttributes,\n basicScopeAttributes.languageId,\n basicScopeAttributes.tokenType,\n null,\n fontStyle,\n foreground,\n background\n );\n }\n pushAttributed(scopePath, grammar) {\n if (scopePath === null) {\n return this;\n }\n if (scopePath.indexOf(\" \") === -1) {\n return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n }\n const scopes = scopePath.split(/ /g);\n let result = this;\n for (const scope of scopes) {\n result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n }\n return result;\n }\n static _pushAttributed(target, scopeName, grammar) {\n const rawMetadata = grammar.getMetadataForScope(scopeName);\n const newPath = target.scopePath.push(scopeName);\n const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n const metadata = _AttributedScopeStack.mergeAttributes(\n target.tokenAttributes,\n rawMetadata,\n scopeThemeMatchResult\n );\n return new _AttributedScopeStack(target, newPath, metadata);\n }\n getScopeNames() {\n return this.scopePath.getSegments();\n }\n getExtensionIfDefined(base) {\n const result = [];\n let self = this;\n while (self && self !== base) {\n result.push({\n encodedTokenAttributes: self.tokenAttributes,\n scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n });\n self = self.parent;\n }\n return self === base ? result.reverse() : void 0;\n }\n};\nvar _StateStackImpl = class _StateStackImpl {\n /**\n * Invariant:\n * ```\n * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n * \tthrow new Error();\n * }\n * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n * \tthrow new Error();\n * }\n * ```\n */\n constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n this.parent = parent;\n this.ruleId = ruleId;\n this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n this.endRule = endRule;\n this.nameScopesList = nameScopesList;\n this.contentNameScopesList = contentNameScopesList;\n this._stackElementBrand = void 0;\n this.depth = this.parent ? this.parent.depth + 1 : 1;\n this._enterPos = enterPos;\n this._anchorPos = anchorPos;\n }\n equals(other) {\n if (other === null) {\n return false;\n }\n return _StateStackImpl._equals(this, other);\n }\n static _equals(a, b) {\n if (a === b) {\n return true;\n }\n if (!this._structuralEquals(a, b)) {\n return false;\n }\n return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n }\n /**\n * A structural equals check. Does not take into account `scopes`.\n */\n static _structuralEquals(a, b) {\n do {\n if (a === b) {\n return true;\n }\n if (!a && !b) {\n return true;\n }\n if (!a || !b) {\n return false;\n }\n if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n return false;\n }\n a = a.parent;\n b = b.parent;\n } while (true);\n }\n clone() {\n return this;\n }\n static _reset(el) {\n while (el) {\n el._enterPos = -1;\n el._anchorPos = -1;\n el = el.parent;\n }\n }\n reset() {\n _StateStackImpl._reset(this);\n }\n pop() {\n return this.parent;\n }\n safePop() {\n if (this.parent) {\n return this.parent;\n }\n return this;\n }\n push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n return new _StateStackImpl(\n this,\n ruleId,\n enterPos,\n anchorPos,\n beginRuleCapturedEOL,\n endRule,\n nameScopesList,\n contentNameScopesList\n );\n }\n getEnterPos() {\n return this._enterPos;\n }\n getAnchorPos() {\n return this._anchorPos;\n }\n getRule(grammar) {\n return grammar.getRule(this.ruleId);\n }\n toString() {\n const r = [];\n this._writeString(r, 0);\n return \"[\" + r.join(\",\") + \"]\";\n }\n _writeString(res, outIndex) {\n if (this.parent) {\n outIndex = this.parent._writeString(res, outIndex);\n }\n res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n return outIndex;\n }\n withContentNameScopesList(contentNameScopeStack) {\n if (this.contentNameScopesList === contentNameScopeStack) {\n return this;\n }\n return this.parent.push(\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n this.endRule,\n this.nameScopesList,\n contentNameScopeStack\n );\n }\n withEndRule(endRule) {\n if (this.endRule === endRule) {\n return this;\n }\n return new _StateStackImpl(\n this.parent,\n this.ruleId,\n this._enterPos,\n this._anchorPos,\n this.beginRuleCapturedEOL,\n endRule,\n this.nameScopesList,\n this.contentNameScopesList\n );\n }\n // Used to warn of endless loops\n hasSameRuleAs(other) {\n let el = this;\n while (el && el._enterPos === other._enterPos) {\n if (el.ruleId === other.ruleId) {\n return true;\n }\n el = el.parent;\n }\n return false;\n }\n toStateStackFrame() {\n return {\n ruleId: ruleIdToNumber(this.ruleId),\n beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n endRule: this.endRule,\n nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n };\n }\n static pushFrame(self, frame) {\n const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n return new _StateStackImpl(\n self,\n ruleIdFromNumber(frame.ruleId),\n frame.enterPos ?? -1,\n frame.anchorPos ?? -1,\n frame.beginRuleCapturedEOL,\n frame.endRule,\n namesScopeList,\n AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n );\n }\n};\n// TODO remove me\n_StateStackImpl.NULL = new _StateStackImpl(\n null,\n 0,\n 0,\n 0,\n false,\n null,\n null,\n null\n);\nvar StateStackImpl = _StateStackImpl;\nvar BalancedBracketSelectors = class {\n constructor(balancedBracketScopes, unbalancedBracketScopes) {\n this.allowAny = false;\n this.balancedBracketScopes = balancedBracketScopes.flatMap(\n (selector) => {\n if (selector === \"*\") {\n this.allowAny = true;\n return [];\n }\n return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n }\n );\n this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n );\n }\n get matchesAlways() {\n return this.allowAny && this.unbalancedBracketScopes.length === 0;\n }\n get matchesNever() {\n return this.balancedBracketScopes.length === 0 && !this.allowAny;\n }\n match(scopes) {\n for (const excluder of this.unbalancedBracketScopes) {\n if (excluder(scopes)) {\n return false;\n }\n }\n for (const includer of this.balancedBracketScopes) {\n if (includer(scopes)) {\n return true;\n }\n }\n return this.allowAny;\n }\n};\nvar LineTokens = class {\n constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n this.balancedBracketSelectors = balancedBracketSelectors;\n this._emitBinaryTokens = emitBinaryTokens;\n this._tokenTypeOverrides = tokenTypeOverrides;\n if (false) {\n this._lineText = lineText;\n } else {\n this._lineText = null;\n }\n this._tokens = [];\n this._binaryTokens = [];\n this._lastTokenEndIndex = 0;\n }\n produce(stack, endIndex) {\n this.produceFromScopes(stack.contentNameScopesList, endIndex);\n }\n produceFromScopes(scopesList, endIndex) {\n if (this._lastTokenEndIndex >= endIndex) {\n return;\n }\n if (this._emitBinaryTokens) {\n let metadata = scopesList?.tokenAttributes ?? 0;\n let containsBalancedBrackets = false;\n if (this.balancedBracketSelectors?.matchesAlways) {\n containsBalancedBrackets = true;\n }\n if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n const scopes2 = scopesList?.getScopeNames() ?? [];\n for (const tokenType of this._tokenTypeOverrides) {\n if (tokenType.matcher(scopes2)) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n toOptionalTokenType(tokenType.type),\n null,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n }\n if (this.balancedBracketSelectors) {\n containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n }\n }\n if (containsBalancedBrackets) {\n metadata = EncodedTokenMetadata.set(\n metadata,\n 0,\n 8 /* NotSet */,\n containsBalancedBrackets,\n -1 /* NotSet */,\n 0,\n 0\n );\n }\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n this._lastTokenEndIndex = endIndex;\n return;\n }\n this._binaryTokens.push(this._lastTokenEndIndex);\n this._binaryTokens.push(metadata);\n this._lastTokenEndIndex = endIndex;\n return;\n }\n const scopes = scopesList?.getScopeNames() ?? [];\n this._tokens.push({\n startIndex: this._lastTokenEndIndex,\n endIndex,\n // value: lineText.substring(lastTokenEndIndex, endIndex),\n scopes\n });\n this._lastTokenEndIndex = endIndex;\n }\n getResult(stack, lineLength) {\n if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n this._tokens.pop();\n }\n if (this._tokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._tokens[this._tokens.length - 1].startIndex = 0;\n }\n return this._tokens;\n }\n getBinaryResult(stack, lineLength) {\n if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n this._binaryTokens.pop();\n this._binaryTokens.pop();\n }\n if (this._binaryTokens.length === 0) {\n this._lastTokenEndIndex = -1;\n this.produce(stack, lineLength);\n this._binaryTokens[this._binaryTokens.length - 2] = 0;\n }\n const result = new Uint32Array(this._binaryTokens.length);\n for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n result[i] = this._binaryTokens[i];\n }\n return result;\n }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n constructor(theme, _onigLib) {\n this._onigLib = _onigLib;\n this._grammars = /* @__PURE__ */ new Map();\n this._rawGrammars = /* @__PURE__ */ new Map();\n this._injectionGrammars = /* @__PURE__ */ new Map();\n this._theme = theme;\n }\n dispose() {\n for (const grammar of this._grammars.values()) {\n grammar.dispose();\n }\n }\n setTheme(theme) {\n this._theme = theme;\n }\n getColorMap() {\n return this._theme.getColorMap();\n }\n /**\n * Add `grammar` to registry and return a list of referenced scope names\n */\n addGrammar(grammar, injectionScopeNames) {\n this._rawGrammars.set(grammar.scopeName, grammar);\n if (injectionScopeNames) {\n this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n }\n }\n /**\n * Lookup a raw grammar.\n */\n lookup(scopeName) {\n return this._rawGrammars.get(scopeName);\n }\n /**\n * Returns the injections for the given grammar\n */\n injections(targetScope) {\n return this._injectionGrammars.get(targetScope);\n }\n /**\n * Get the default theme settings\n */\n getDefaults() {\n return this._theme.getDefaults();\n }\n /**\n * Match a scope in the theme.\n */\n themeMatch(scopePath) {\n return this._theme.match(scopePath);\n }\n /**\n * Lookup a grammar.\n */\n grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n if (!this._grammars.has(scopeName)) {\n let rawGrammar = this._rawGrammars.get(scopeName);\n if (!rawGrammar) {\n return null;\n }\n this._grammars.set(scopeName, createGrammar(\n scopeName,\n rawGrammar,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors,\n this,\n this._onigLib\n ));\n }\n return this._grammars.get(scopeName);\n }\n};\n\n// src/index.ts\nvar Registry = class {\n constructor(options) {\n this._options = options;\n this._syncRegistry = new SyncRegistry(\n Theme.createFromRawTheme(options.theme, options.colorMap),\n options.onigLib\n );\n this._ensureGrammarCache = /* @__PURE__ */ new Map();\n }\n dispose() {\n this._syncRegistry.dispose();\n }\n /**\n * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n */\n setTheme(theme, colorMap) {\n this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n }\n /**\n * Returns a lookup array for color ids.\n */\n getColorMap() {\n return this._syncRegistry.getColorMap();\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n * Please do not use language id 0.\n */\n loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n return this._loadGrammar(\n initialScopeName,\n initialLanguage,\n configuration.embeddedLanguages,\n configuration.tokenTypes,\n new BalancedBracketSelectors(\n configuration.balancedBracketSelectors || [],\n configuration.unbalancedBracketSelectors || []\n )\n );\n }\n /**\n * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n */\n loadGrammar(initialScopeName) {\n return this._loadGrammar(initialScopeName, 0, null, null, null);\n }\n _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n while (dependencyProcessor.Q.length > 0) {\n dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n dependencyProcessor.processQueue();\n }\n return this._grammarForScopeName(\n initialScopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n _loadSingleGrammar(scopeName) {\n if (!this._ensureGrammarCache.has(scopeName)) {\n this._doLoadSingleGrammar(scopeName);\n this._ensureGrammarCache.set(scopeName, true);\n }\n }\n _doLoadSingleGrammar(scopeName) {\n const grammar = this._options.loadGrammar(scopeName);\n if (grammar) {\n const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n this._syncRegistry.addGrammar(grammar, injections);\n }\n }\n /**\n * Adds a rawGrammar.\n */\n addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n this._syncRegistry.addGrammar(rawGrammar, injections);\n return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n }\n /**\n * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n */\n _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n return this._syncRegistry.grammarForScopeName(\n scopeName,\n initialLanguage,\n embeddedLanguages,\n tokenTypes,\n balancedBracketSelectors\n );\n }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n EncodedTokenMetadata,\n FindOption,\n FontStyle,\n INITIAL,\n Registry,\n Theme,\n disposeOnigString\n};\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {Schema[]} definitions\n * @param {string} [space]\n * @returns {Schema}\n */\nexport function merge(definitions, space) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n let index = -1\n\n while (++index < definitions.length) {\n Object.assign(property, definitions[index].property)\n Object.assign(normal, definitions[index].normal)\n }\n\n return new Schema(property, normal, space)\n}\n","/**\n * @param {string} value\n * @returns {string}\n */\nexport function normalize(value) {\n return value.toLowerCase()\n}\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n return 2 ** ++powers\n}\n","import {Info} from './info.js'\nimport * as types from './types.js'\n\n/** @type {Array<keyof types>} */\n// @ts-expect-error: hush.\nconst checks = Object.keys(types)\n\nexport class DefinedInfo extends Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n * @param {number|null} [mask]\n * @param {string} [space]\n */\n constructor(property, attribute, mask, space) {\n let index = -1\n\n super(property, attribute)\n\n mark(this, 'space', space)\n\n if (typeof mask === 'number') {\n while (++index < checks.length) {\n const check = checks[index]\n mark(this, checks[index], (mask & types[check]) === types[check])\n }\n }\n }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @param {DefinedInfo} values\n * @param {string} key\n * @param {unknown} value\n */\nfunction mark(values, key, value) {\n if (value) {\n // @ts-expect-error: assume `value` matches the expected value of `key`.\n values[key] = value\n }\n}\n","/**\n * @typedef {import('./schema.js').Properties} Properties\n * @typedef {import('./schema.js').Normal} Normal\n *\n * @typedef {Record<string, string>} Attributes\n *\n * @typedef {Object} Definition\n * @property {Record<string, number|null>} properties\n * @property {(attributes: Attributes, property: string) => string} transform\n * @property {string} [space]\n * @property {Attributes} [attributes]\n * @property {Array<string>} [mustUseProperty]\n */\n\nimport {normalize} from '../normalize.js'\nimport {Schema} from './schema.js'\nimport {DefinedInfo} from './defined-info.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * @param {Definition} definition\n * @returns {Schema}\n */\nexport function create(definition) {\n /** @type {Properties} */\n const property = {}\n /** @type {Normal} */\n const normal = {}\n /** @type {string} */\n let prop\n\n for (prop in definition.properties) {\n if (own.call(definition.properties, prop)) {\n const value = definition.properties[prop]\n const info = new DefinedInfo(\n prop,\n definition.transform(definition.attributes || {}, prop),\n value,\n definition.space\n )\n\n if (\n definition.mustUseProperty &&\n definition.mustUseProperty.includes(prop)\n ) {\n info.mustUseProperty = true\n }\n\n property[prop] = info\n\n normal[normalize(prop)] = prop\n normal[normalize(info.attribute)] = prop\n }\n }\n\n return new Schema(property, normal, definition.space)\n}\n","/**\n * @param {Record<string, string>} attributes\n * @param {string} attribute\n * @returns {string}\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n * @param {string} property\n * @returns {string}\n */\nexport function caseInsensitiveTransform(attributes, property) {\n return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","/**\n * @typedef {import('./util/schema.js').Schema} Schema\n */\n\nimport {normalize} from './normalize.js'\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\n\nconst valid = /^data[-\\w.:]+$/i\nconst dash = /-[a-z]/g\nconst cap = /[A-Z]/g\n\n/**\n * @param {Schema} schema\n * @param {string} value\n * @returns {Info}\n */\nexport function find(schema, value) {\n const normal = normalize(value)\n let prop = value\n let Type = Info\n\n if (normal in schema.normal) {\n return schema.property[schema.normal[normal]]\n }\n\n if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n // Attribute or property.\n if (value.charAt(4) === '-') {\n // Turn it into a property.\n const rest = value.slice(5).replace(dash, camelcase)\n prop = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n } else {\n // Turn it into an attribute.\n const rest = value.slice(4)\n\n if (!dash.test(rest)) {\n let dashes = rest.replace(cap, kebab)\n\n if (dashes.charAt(0) !== '-') {\n dashes = '-' + dashes\n }\n\n value = 'data' + dashes\n }\n }\n\n Type = DefinedInfo\n }\n\n return new Type(prop, value)\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction kebab($0) {\n return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n * @returns {string}\n */\nfunction camelcase($0) {\n return $0.charAt(1).toUpperCase()\n}\n","/**\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","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n * Prefer named character references (`&amp;`) 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 // * `&#99;` vs `&#x63;` (decimal shorter)\n // * `&#100;` vs `&#x64;` (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","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","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","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 * @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 * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n * Value to search in.\n * @param {string} character\n * Character (or substring) to look for.\n * @return {number}\n * Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n const source = String(value)\n\n if (typeof character !== 'string') {\n throw new TypeError('Expected character')\n }\n\n let count = 0\n let index = source.indexOf(character)\n\n while (index !== -1) {\n count++\n index = source.indexOf(character, index + character.length)\n }\n\n return count\n}\n","/**\n * @typedef Options\n * Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n * Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n * Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n * Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n * Comma-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n /** @type {Array<string>} */\n const tokens = []\n const input = String(value || '')\n let index = input.indexOf(',')\n let start = 0\n /** @type {boolean} */\n let end = false\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n const token = input.slice(start, index).trim()\n\n if (token || !end) {\n tokens.push(token)\n }\n\n start = index + 1\n index = input.indexOf(',', start)\n }\n\n return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @param {Options} [options]\n * Configuration for `stringify` (optional).\n * @returns {string}\n * Comma-separated tokens.\n */\nexport function stringify(values, options) {\n const settings = options || {}\n\n // Ensure the last empty entry is seen.\n const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n return input\n .join(\n (settings.padRight ? ' ' : '') +\n ',' +\n (settings.padLeft === false ? '' : ' ')\n )\n .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n * Space-separated tokens.\n * @returns {Array<string>}\n * List of tokens.\n */\nexport function parse(value) {\n const input = String(value || '').trim()\n return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n * List of tokens.\n * @returns {string}\n * Space-separated tokens.\n */\nexport function stringify(values) {\n return values.join(' ').trim()\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, 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 ||\n (info.overloadedBoolean && typeof value !== 'string')\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 {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","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = 'ShikiError';\n }\n}\n\nfunction getHeapMax() {\n return 2147483648;\n}\nfunction _emscripten_get_now() {\n return typeof performance !== 'undefined' ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + ((multiple - (x % multiple)) % multiple);\nasync function main(init) {\n let wasmMemory;\n let buffer;\n const binding = {};\n function updateGlobalBufferAndViews(buf) {\n buffer = buf;\n binding.HEAPU8 = new Uint8Array(buf);\n binding.HEAPU32 = new Uint32Array(buf);\n }\n function _emscripten_memcpy_big(dest, src, num) {\n binding.HEAPU8.copyWithin(dest, src, src + num);\n }\n function emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >>> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n }\n catch { }\n }\n function _emscripten_resize_heap(requestedSize) {\n const oldSize = binding.HEAPU8.length;\n requestedSize = requestedSize >>> 0;\n const maxHeapSize = getHeapMax();\n if (requestedSize > maxHeapSize)\n return false;\n for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n const replacement = emscripten_realloc_buffer(newSize);\n if (replacement)\n return true;\n }\n return false;\n }\n const UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined;\n function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n const endIdx = idx + maxBytesToRead;\n let endPtr = idx;\n while (heapOrArray[endPtr] && !(endPtr >= endIdx))\n ++endPtr;\n if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n }\n let str = '';\n while (idx < endPtr) {\n let u0 = heapOrArray[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n const u1 = heapOrArray[idx++] & 63;\n if ((u0 & 224) === 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n const u2 = heapOrArray[idx++] & 63;\n if ((u0 & 240) === 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n }\n else {\n u0 = ((u0 & 7) << 18)\n | (u1 << 12)\n | (u2 << 6)\n | (heapOrArray[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n }\n else {\n const ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n return str;\n }\n function UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : '';\n }\n const asmLibraryArg = {\n emscripten_get_now: _emscripten_get_now,\n emscripten_memcpy_big: _emscripten_memcpy_big,\n emscripten_resize_heap: _emscripten_resize_heap,\n fd_write: () => 0,\n };\n async function createWasm() {\n const info = {\n env: asmLibraryArg,\n wasi_snapshot_preview1: asmLibraryArg,\n };\n const exports = await init(info);\n wasmMemory = exports.memory;\n updateGlobalBufferAndViews(wasmMemory.buffer);\n Object.assign(binding, exports);\n binding.UTF8ToString = UTF8ToString;\n }\n await createWasm();\n return binding;\n}\n\n/* ---------------------------------------------------------\n * Copyright (C) Microsoft Corporation. All rights reserved.\n *-------------------------------------------------------- */\nlet onigBinding = null;\n// let defaultDebugCall = false\nfunction throwLastOnigError(onigBinding) {\n throw new ShikiError(onigBinding.UTF8ToString(onigBinding.getLastOnigError()));\n}\nclass UtfString {\n static _utf8ByteLength(str) {\n let result = 0;\n for (let i = 0, len = str.length; i < len; i++) {\n const charCode = str.charCodeAt(i);\n let codepoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i + 1 < len) {\n const nextCharCode = str.charCodeAt(i + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codepoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (codepoint <= 0x7F)\n result += 1;\n else if (codepoint <= 0x7FF)\n result += 2;\n else if (codepoint <= 0xFFFF)\n result += 3;\n else\n result += 4;\n if (wasSurrogatePair)\n i++;\n }\n return result;\n }\n utf16Length;\n utf8Length;\n utf16Value;\n utf8Value;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n constructor(str) {\n const utf16Length = str.length;\n const utf8Length = UtfString._utf8ByteLength(str);\n const computeIndicesMapping = (utf8Length !== utf16Length);\n const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n if (computeIndicesMapping)\n utf16OffsetToUtf8[utf16Length] = utf8Length;\n const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n if (computeIndicesMapping)\n utf8OffsetToUtf16[utf8Length] = utf16Length;\n const utf8Value = new Uint8Array(utf8Length);\n let i8 = 0;\n for (let i16 = 0; i16 < utf16Length; i16++) {\n const charCode = str.charCodeAt(i16);\n let codePoint = charCode;\n let wasSurrogatePair = false;\n if (charCode >= 0xD800 && charCode <= 0xDBFF) {\n // Hit a high surrogate, try to look for a matching low surrogate\n if (i16 + 1 < utf16Length) {\n const nextCharCode = str.charCodeAt(i16 + 1);\n if (nextCharCode >= 0xDC00 && nextCharCode <= 0xDFFF) {\n // Found the matching low surrogate\n codePoint = (((charCode - 0xD800) << 10) + 0x10000) | (nextCharCode - 0xDC00);\n wasSurrogatePair = true;\n }\n }\n }\n if (computeIndicesMapping) {\n utf16OffsetToUtf8[i16] = i8;\n if (wasSurrogatePair)\n utf16OffsetToUtf8[i16 + 1] = i8;\n if (codePoint <= 0x7F) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n }\n else if (codePoint <= 0x7FF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n }\n else if (codePoint <= 0xFFFF) {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n }\n else {\n utf8OffsetToUtf16[i8 + 0] = i16;\n utf8OffsetToUtf16[i8 + 1] = i16;\n utf8OffsetToUtf16[i8 + 2] = i16;\n utf8OffsetToUtf16[i8 + 3] = i16;\n }\n }\n if (codePoint <= 0x7F) {\n utf8Value[i8++] = codePoint;\n }\n else if (codePoint <= 0x7FF) {\n utf8Value[i8++] = 0b11000000 | ((codePoint & 0b00000000000000000000011111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else if (codePoint <= 0xFFFF) {\n utf8Value[i8++] = 0b11100000 | ((codePoint & 0b00000000000000001111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n else {\n utf8Value[i8++] = 0b11110000 | ((codePoint & 0b00000000000111000000000000000000) >>> 18);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000111111000000000000) >>> 12);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000111111000000) >>> 6);\n utf8Value[i8++] = 0b10000000 | ((codePoint & 0b00000000000000000000000000111111) >>> 0);\n }\n if (wasSurrogatePair)\n i16++;\n }\n this.utf16Length = utf16Length;\n this.utf8Length = utf8Length;\n this.utf16Value = str;\n this.utf8Value = utf8Value;\n this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n }\n createString(onigBinding) {\n const result = onigBinding.omalloc(this.utf8Length);\n onigBinding.HEAPU8.set(this.utf8Value, result);\n return result;\n }\n}\nclass OnigString {\n static LAST_ID = 0;\n static _sharedPtr = 0; // a pointer to a string of 10000 bytes\n static _sharedPtrInUse = false;\n id = (++OnigString.LAST_ID);\n _onigBinding;\n content;\n utf16Length;\n utf8Length;\n utf16OffsetToUtf8;\n utf8OffsetToUtf16;\n ptr;\n constructor(str) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n this._onigBinding = onigBinding;\n this.content = str;\n const utfString = new UtfString(str);\n this.utf16Length = utfString.utf16Length;\n this.utf8Length = utfString.utf8Length;\n this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n if (this.utf8Length < 10000 && !OnigString._sharedPtrInUse) {\n if (!OnigString._sharedPtr)\n OnigString._sharedPtr = onigBinding.omalloc(10000);\n OnigString._sharedPtrInUse = true;\n onigBinding.HEAPU8.set(utfString.utf8Value, OnigString._sharedPtr);\n this.ptr = OnigString._sharedPtr;\n }\n else {\n this.ptr = utfString.createString(onigBinding);\n }\n }\n convertUtf8OffsetToUtf16(utf8Offset) {\n if (this.utf8OffsetToUtf16) {\n if (utf8Offset < 0)\n return 0;\n if (utf8Offset > this.utf8Length)\n return this.utf16Length;\n return this.utf8OffsetToUtf16[utf8Offset];\n }\n return utf8Offset;\n }\n convertUtf16OffsetToUtf8(utf16Offset) {\n if (this.utf16OffsetToUtf8) {\n if (utf16Offset < 0)\n return 0;\n if (utf16Offset > this.utf16Length)\n return this.utf8Length;\n return this.utf16OffsetToUtf8[utf16Offset];\n }\n return utf16Offset;\n }\n dispose() {\n if (this.ptr === OnigString._sharedPtr)\n OnigString._sharedPtrInUse = false;\n else\n this._onigBinding.ofree(this.ptr);\n }\n}\nclass OnigScanner {\n _onigBinding;\n _ptr;\n constructor(patterns) {\n if (!onigBinding)\n throw new ShikiError('Must invoke loadWasm first.');\n const strPtrsArr = [];\n const strLenArr = [];\n for (let i = 0, len = patterns.length; i < len; i++) {\n const utfString = new UtfString(patterns[i]);\n strPtrsArr[i] = utfString.createString(onigBinding);\n strLenArr[i] = utfString.utf8Length;\n }\n const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n for (let i = 0, len = patterns.length; i < len; i++)\n onigBinding.ofree(strPtrsArr[i]);\n onigBinding.ofree(strLenPtr);\n onigBinding.ofree(strPtrsPtr);\n if (scannerPtr === 0)\n throwLastOnigError(onigBinding);\n this._onigBinding = onigBinding;\n this._ptr = scannerPtr;\n }\n dispose() {\n this._onigBinding.freeOnigScanner(this._ptr);\n }\n findNextMatchSync(string, startPosition, arg) {\n // let debugCall = defaultDebugCall\n let options = 0 /* FindOption.None */;\n if (typeof arg === 'number') {\n // if (arg & FindOption.DebugCall)\n // debugCall = true\n options = arg;\n }\n if (typeof string === 'string') {\n string = new OnigString(string);\n const result = this._findNextMatchSync(string, startPosition, false, options);\n string.dispose();\n return result;\n }\n return this._findNextMatchSync(string, startPosition, false, options);\n }\n _findNextMatchSync(string, startPosition, debugCall, options) {\n const onigBinding = this._onigBinding;\n // let resultPtr: Pointer\n // if (debugCall)\n // resultPtr = onigBinding.findNextOnigScannerMatchDbg(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options)\n // else\n const resultPtr = onigBinding.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n if (resultPtr === 0) {\n // no match\n return null;\n }\n const HEAPU32 = onigBinding.HEAPU32;\n let offset = resultPtr / 4; // byte offset -> uint32 offset\n const index = HEAPU32[offset++];\n const count = HEAPU32[offset++];\n const captureIndices = [];\n for (let i = 0; i < count; i++) {\n const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n captureIndices[i] = {\n start: beg,\n end,\n length: end - beg,\n };\n }\n return {\n index,\n captureIndices,\n };\n }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.instantiator === 'function');\n}\nfunction isInstantiatorModule(dataOrOptions) {\n return (typeof dataOrOptions.default === 'function');\n}\nfunction isDataOptionsObject(dataOrOptions) {\n return (typeof dataOrOptions.data !== 'undefined');\n}\nfunction isResponse(dataOrOptions) {\n return (typeof Response !== 'undefined' && dataOrOptions instanceof Response);\n}\nfunction isArrayBuffer(data) {\n return (typeof ArrayBuffer !== 'undefined' && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)))\n // eslint-disable-next-line node/prefer-global/buffer\n || (typeof Buffer !== 'undefined' && Buffer.isBuffer?.(data))\n || (typeof SharedArrayBuffer !== 'undefined' && data instanceof SharedArrayBuffer)\n || (typeof Uint32Array !== 'undefined' && data instanceof Uint32Array);\n}\nlet initPromise;\nfunction loadWasm(options) {\n if (initPromise)\n return initPromise;\n async function _load() {\n onigBinding = await main(async (info) => {\n let instance = options;\n instance = await instance;\n if (typeof instance === 'function')\n instance = await instance(info);\n if (typeof instance === 'function')\n instance = await instance(info);\n if (isInstantiatorOptionsObject(instance)) {\n instance = await instance.instantiator(info);\n }\n else if (isInstantiatorModule(instance)) {\n instance = await instance.default(info);\n }\n else {\n if (isDataOptionsObject(instance))\n instance = instance.data;\n if (isResponse(instance)) {\n if (typeof WebAssembly.instantiateStreaming === 'function')\n instance = await _makeResponseStreamingLoader(instance)(info);\n else\n instance = await _makeResponseNonStreamingLoader(instance)(info);\n }\n else if (isArrayBuffer(instance)) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n // import(\"shiki/onig.wasm\") returns `{ default: WebAssembly.Module }` on cloudflare workers\n // https://developers.cloudflare.com/workers/wrangler/bundling/\n else if (instance instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance)(info);\n }\n else if ('default' in instance && instance.default instanceof WebAssembly.Module) {\n instance = await _makeArrayBufferLoader(instance.default)(info);\n }\n }\n if ('instance' in instance)\n instance = instance.instance;\n if ('exports' in instance)\n instance = instance.exports;\n return instance;\n });\n }\n initPromise = _load();\n return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n return importObject => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n return importObject => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n return async (importObject) => {\n const arrayBuffer = await data.arrayBuffer();\n return WebAssembly.instantiate(arrayBuffer, importObject);\n };\n}\n// export function createOnigString(str: string) {\n// return new OnigString(str)\n// }\n// export function createOnigScanner(patterns: string[]) {\n// return new OnigScanner(patterns)\n// }\n// export function setDefaultDebugCall(_defaultDebugCall: boolean): void {\n// defaultDebugCall = _defaultDebugCall\n// }\n\nasync function createWasmOnigEngine(options) {\n if (options)\n await loadWasm(options);\n return {\n createScanner(patterns) {\n return new OnigScanner(patterns);\n },\n createString(s) {\n return new OnigString(s);\n },\n };\n}\n\nexport { createWasmOnigEngine, loadWasm };\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nexport { FontStyle, EncodedTokenMetadata as StackElementMetadata } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\nexport { toHtml as hastToHtml } from 'hast-util-to-html';\nimport { createWasmOnigEngine } from '@shikijs/engine-oniguruma';\nexport { createWasmOnigEngine, loadWasm } from '@shikijs/engine-oniguruma';\nexport { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from '@shikijs/engine-javascript';\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n return _defaultWasmLoader;\n}\n\nfunction toArray(x) {\n return Array.isArray(x) ? x : [x];\n}\nfunction splitLines(code, preserveEnding = false) {\n const parts = code.split(/(\\r?\\n)/g);\n let index = 0;\n const lines = [];\n for (let i = 0; i < parts.length; i += 2) {\n const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n lines.push([line, index]);\n index += parts[i].length;\n index += parts[i + 1]?.length || 0;\n }\n return lines;\n}\nfunction isPlainLang(lang) {\n return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n return isNoneTheme(theme);\n}\nfunction addClassToHast(node, className) {\n var _a;\n if (!className)\n return node;\n node.properties || (node.properties = {});\n (_a = node.properties).class || (_a.class = []);\n if (typeof node.properties.class === \"string\")\n node.properties.class = node.properties.class.split(/\\s+/g);\n if (!Array.isArray(node.properties.class))\n node.properties.class = [];\n const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n for (const c of targets) {\n if (c && !node.properties.class.includes(c))\n node.properties.class.push(c);\n }\n return node;\n}\nfunction splitToken(token, offsets) {\n let lastOffset = 0;\n const tokens = [];\n for (const offset of offsets) {\n if (offset > lastOffset) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset, offset),\n offset: token.offset + lastOffset\n });\n }\n lastOffset = offset;\n }\n if (lastOffset < token.content.length) {\n tokens.push({\n ...token,\n content: token.content.slice(lastOffset),\n offset: token.offset + lastOffset\n });\n }\n return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n if (!sorted.length)\n return tokens;\n return tokens.map((line) => {\n return line.flatMap((token) => {\n const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n if (!breakpointsInToken.length)\n return token;\n return splitToken(token, breakpointsInToken);\n });\n });\n}\nasync function normalizeGetter(p) {\n return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction resolveColorReplacements(theme, options) {\n const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n const themeName = typeof theme === \"string\" ? theme : theme.name;\n for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n if (typeof value === \"string\")\n replacements[key] = value;\n else if (key === themeName)\n Object.assign(replacements, value);\n }\n return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n if (!color)\n return color;\n return replacements?.[color?.toLowerCase()] || color;\n}\nfunction getTokenStyleObject(token) {\n const styles = {};\n if (token.color)\n styles.color = token.color;\n if (token.bgColor)\n styles[\"background-color\"] = token.bgColor;\n if (token.fontStyle) {\n if (token.fontStyle & FontStyle.Italic)\n styles[\"font-style\"] = \"italic\";\n if (token.fontStyle & FontStyle.Bold)\n styles[\"font-weight\"] = \"bold\";\n if (token.fontStyle & FontStyle.Underline)\n styles[\"text-decoration\"] = \"underline\";\n }\n return styles;\n}\nfunction stringifyTokenStyle(token) {\n return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\nfunction createPositionConverter(code) {\n const lines = splitLines(code, true).map(([line]) => line);\n function indexToPos(index) {\n if (index === code.length) {\n return {\n line: lines.length - 1,\n character: lines[lines.length - 1].length\n };\n }\n let character = index;\n let line = 0;\n for (const lineText of lines) {\n if (character < lineText.length)\n break;\n character -= lineText.length;\n line++;\n }\n return { line, character };\n }\n function posToIndex(line, character) {\n let index = 0;\n for (let i = 0; i < line; i++)\n index += lines[i].length;\n index += character;\n return index;\n }\n return {\n lines,\n indexToPos,\n posToIndex\n };\n}\n\nclass ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nfunction transformerDecorations() {\n const map = /* @__PURE__ */ new WeakMap();\n function getContext(shiki) {\n if (!map.has(shiki.meta)) {\n let normalizePosition = function(p) {\n if (typeof p === \"number\") {\n if (p < 0 || p > shiki.source.length)\n throw new ShikiError(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n return {\n ...converter.indexToPos(p),\n offset: p\n };\n } else {\n const line = converter.lines[p.line];\n if (line === void 0)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n if (p.character < 0 || p.character > line.length)\n throw new ShikiError(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n return {\n ...p,\n offset: converter.posToIndex(p.line, p.character)\n };\n }\n };\n const converter = createPositionConverter(shiki.source);\n const decorations = (shiki.options.decorations || []).map((d) => ({\n ...d,\n start: normalizePosition(d.start),\n end: normalizePosition(d.end)\n }));\n verifyIntersections(decorations);\n map.set(shiki.meta, {\n decorations,\n converter,\n source: shiki.source\n });\n }\n return map.get(shiki.meta);\n }\n return {\n name: \"shiki:decorations\",\n tokens(tokens) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n const splitted = splitTokens(tokens, breakpoints);\n return splitted;\n },\n code(codeEl) {\n if (!this.options.decorations?.length)\n return;\n const ctx = getContext(this);\n const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n if (lines.length !== ctx.converter.lines.length)\n throw new ShikiError(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n function applyLineSection(line, start, end, decoration) {\n const lineEl = lines[line];\n let text = \"\";\n let startIndex = -1;\n let endIndex = -1;\n if (start === 0)\n startIndex = 0;\n if (end === 0)\n endIndex = 0;\n if (end === Number.POSITIVE_INFINITY)\n endIndex = lineEl.children.length;\n if (startIndex === -1 || endIndex === -1) {\n for (let i = 0; i < lineEl.children.length; i++) {\n text += stringify(lineEl.children[i]);\n if (startIndex === -1 && text.length === start)\n startIndex = i + 1;\n if (endIndex === -1 && text.length === end)\n endIndex = i + 1;\n }\n }\n if (startIndex === -1)\n throw new ShikiError(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n if (endIndex === -1)\n throw new ShikiError(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n const children = lineEl.children.slice(startIndex, endIndex);\n if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n applyDecoration(lineEl, decoration, \"line\");\n } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n applyDecoration(children[0], decoration, \"token\");\n } else {\n const wrapper = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children\n };\n applyDecoration(wrapper, decoration, \"wrapper\");\n lineEl.children.splice(startIndex, children.length, wrapper);\n }\n }\n function applyLine(line, decoration) {\n lines[line] = applyDecoration(lines[line], decoration, \"line\");\n }\n function applyDecoration(el, decoration, type) {\n const properties = decoration.properties || {};\n const transform = decoration.transform || ((i) => i);\n el.tagName = decoration.tagName || \"span\";\n el.properties = {\n ...el.properties,\n ...properties,\n class: el.properties.class\n };\n if (decoration.properties?.class)\n addClassToHast(el, decoration.properties.class);\n el = transform(el, type) || el;\n return el;\n }\n const lineApplies = [];\n const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset);\n for (const decoration of sorted) {\n const { start, end } = decoration;\n if (start.line === end.line) {\n applyLineSection(start.line, start.character, end.character, decoration);\n } else if (start.line < end.line) {\n applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n for (let i = start.line + 1; i < end.line; i++)\n lineApplies.unshift(() => applyLine(i, decoration));\n applyLineSection(end.line, 0, end.character, decoration);\n }\n }\n lineApplies.forEach((i) => i());\n }\n };\n}\nfunction verifyIntersections(items) {\n for (let i = 0; i < items.length; i++) {\n const foo = items[i];\n if (foo.start.offset > foo.end.offset)\n throw new ShikiError(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n for (let j = i + 1; j < items.length; j++) {\n const bar = items[j];\n const isFooHasBarStart = foo.start.offset < bar.start.offset && bar.start.offset < foo.end.offset;\n const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset < foo.end.offset;\n const isBarHasFooStart = bar.start.offset < foo.start.offset && foo.start.offset < bar.end.offset;\n const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset < bar.end.offset;\n if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n if (isFooHasBarEnd && isFooHasBarEnd)\n continue;\n if (isBarHasFooStart && isBarHasFooEnd)\n continue;\n throw new ShikiError(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n }\n }\n }\n}\nfunction stringify(el) {\n if (el.type === \"text\")\n return el.value;\n if (el.type === \"element\")\n return el.children.map(stringify).join(\"\");\n return \"\";\n}\n\nconst builtInTransformers = [\n /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n return [\n ...options.transformers || [],\n ...builtInTransformers\n ];\n}\n\nclass GrammarState {\n constructor(_stack, lang, theme) {\n this._stack = _stack;\n this.lang = lang;\n this.theme = theme;\n }\n /**\n * Static method to create a initial grammar state.\n */\n static initial(lang, theme) {\n return new GrammarState(INITIAL, lang, theme);\n }\n get scopes() {\n return getScopes(this._stack);\n }\n toJSON() {\n return {\n lang: this.lang,\n theme: this.theme,\n scopes: this.scopes\n };\n }\n}\nfunction getScopes(stack) {\n const scopes = [];\n const visited = /* @__PURE__ */ new Set();\n function pushScope(stack2) {\n if (visited.has(stack2))\n return;\n visited.add(stack2);\n const name = stack2?.nameScopesList?.scopeName;\n if (name)\n scopes.push(name);\n if (stack2.parent)\n pushScope(stack2.parent);\n }\n pushScope(stack);\n return scopes;\n}\nfunction getGrammarStack(state) {\n if (!(state instanceof GrammarState))\n throw new ShikiError(\"Invalid grammar state\");\n return state._stack;\n}\n\n// src/colors.ts\nvar namedColors = [\n \"black\",\n \"red\",\n \"green\",\n \"yellow\",\n \"blue\",\n \"magenta\",\n \"cyan\",\n \"white\",\n \"brightBlack\",\n \"brightRed\",\n \"brightGreen\",\n \"brightYellow\",\n \"brightBlue\",\n \"brightMagenta\",\n \"brightCyan\",\n \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n 1: \"bold\",\n 2: \"dim\",\n 3: \"italic\",\n 4: \"underline\",\n 7: \"reverse\",\n 9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n const nextEscape = value.indexOf(\"\\x1B[\", position);\n if (nextEscape !== -1) {\n const nextClose = value.indexOf(\"m\", nextEscape);\n return {\n sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n startPosition: nextEscape,\n position: nextClose + 1\n };\n }\n return {\n position: value.length\n };\n}\nfunction parseColor(sequence, index) {\n let offset = 1;\n const colorMode = sequence[index + offset++];\n let color;\n if (colorMode === \"2\") {\n const rgb = [\n sequence[index + offset++],\n sequence[index + offset++],\n sequence[index + offset]\n ].map((x) => Number.parseInt(x));\n if (rgb.length === 3 && !rgb.some((x) => Number.isNaN(x))) {\n color = {\n type: \"rgb\",\n rgb\n };\n }\n } else if (colorMode === \"5\") {\n const colorIndex = Number.parseInt(sequence[index + offset]);\n if (!Number.isNaN(colorIndex)) {\n color = { type: \"table\", index: Number(colorIndex) };\n }\n }\n return [offset, color];\n}\nfunction parseSequence(sequence) {\n const commands = [];\n for (let i = 0; i < sequence.length; i++) {\n const code = sequence[i];\n const codeInt = Number.parseInt(code);\n if (Number.isNaN(codeInt))\n continue;\n if (codeInt === 0) {\n commands.push({ type: \"resetAll\" });\n } else if (codeInt <= 9) {\n const decoration = decorations[codeInt];\n if (decoration) {\n commands.push({\n type: \"setDecoration\",\n value: decorations[codeInt]\n });\n }\n } else if (codeInt <= 29) {\n const decoration = decorations[codeInt - 20];\n if (decoration) {\n commands.push({\n type: \"resetDecoration\",\n value: decoration\n });\n }\n } else if (codeInt <= 37) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 30] }\n });\n } else if (codeInt === 38) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setForegroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 39) {\n commands.push({\n type: \"resetForegroundColor\"\n });\n } else if (codeInt <= 47) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 40] }\n });\n } else if (codeInt === 48) {\n const [offset, color] = parseColor(sequence, i);\n if (color) {\n commands.push({\n type: \"setBackgroundColor\",\n value: color\n });\n }\n i += offset;\n } else if (codeInt === 49) {\n commands.push({\n type: \"resetBackgroundColor\"\n });\n } else if (codeInt >= 90 && codeInt <= 97) {\n commands.push({\n type: \"setForegroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n });\n } else if (codeInt >= 100 && codeInt <= 107) {\n commands.push({\n type: \"setBackgroundColor\",\n value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n });\n }\n }\n return commands;\n}\nfunction createAnsiSequenceParser() {\n let foreground = null;\n let background = null;\n let decorations2 = /* @__PURE__ */ new Set();\n return {\n parse(value) {\n const tokens = [];\n let position = 0;\n do {\n const findResult = findSequence(value, position);\n const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n if (text.length > 0) {\n tokens.push({\n value: text,\n foreground,\n background,\n decorations: new Set(decorations2)\n });\n }\n if (findResult.sequence) {\n const commands = parseSequence(findResult.sequence);\n for (const styleToken of commands) {\n if (styleToken.type === \"resetAll\") {\n foreground = null;\n background = null;\n decorations2.clear();\n } else if (styleToken.type === \"resetForegroundColor\") {\n foreground = null;\n } else if (styleToken.type === \"resetBackgroundColor\") {\n background = null;\n } else if (styleToken.type === \"resetDecoration\") {\n decorations2.delete(styleToken.value);\n }\n }\n for (const styleToken of commands) {\n if (styleToken.type === \"setForegroundColor\") {\n foreground = styleToken.value;\n } else if (styleToken.type === \"setBackgroundColor\") {\n background = styleToken.value;\n } else if (styleToken.type === \"setDecoration\") {\n decorations2.add(styleToken.value);\n }\n }\n }\n position = findResult.position;\n } while (position < value.length);\n return tokens;\n }\n };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n black: \"#000000\",\n red: \"#bb0000\",\n green: \"#00bb00\",\n yellow: \"#bbbb00\",\n blue: \"#0000bb\",\n magenta: \"#ff00ff\",\n cyan: \"#00bbbb\",\n white: \"#eeeeee\",\n brightBlack: \"#555555\",\n brightRed: \"#ff5555\",\n brightGreen: \"#00ff00\",\n brightYellow: \"#ffff55\",\n brightBlue: \"#5555ff\",\n brightMagenta: \"#ff55ff\",\n brightCyan: \"#55ffff\",\n brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n function namedColor(name) {\n return namedColorsMap[name];\n }\n function rgbColor(rgb) {\n return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n }\n let colorTable;\n function getColorTable() {\n if (colorTable) {\n return colorTable;\n }\n colorTable = [];\n for (let i = 0; i < namedColors.length; i++) {\n colorTable.push(namedColor(namedColors[i]));\n }\n let levels = [0, 95, 135, 175, 215, 255];\n for (let r = 0; r < 6; r++) {\n for (let g = 0; g < 6; g++) {\n for (let b = 0; b < 6; b++) {\n colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n }\n }\n }\n let level = 8;\n for (let i = 0; i < 24; i++, level += 10) {\n colorTable.push(rgbColor([level, level, level]));\n }\n return colorTable;\n }\n function tableColor(index) {\n return getColorTable()[index];\n }\n function value(color) {\n switch (color.type) {\n case \"named\":\n return namedColor(color.name);\n case \"rgb\":\n return rgbColor(color.rgb);\n case \"table\":\n return tableColor(color.index);\n }\n }\n return {\n value\n };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const lines = splitLines(fileContents);\n const colorPalette = createColorPalette(\n Object.fromEntries(\n namedColors.map((name) => [\n name,\n theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n ])\n )\n );\n const parser = createAnsiSequenceParser();\n return lines.map(\n (line) => parser.parse(line[0]).map((token) => {\n let color;\n let bgColor;\n if (token.decorations.has(\"reverse\")) {\n color = token.background ? colorPalette.value(token.background) : theme.bg;\n bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n } else {\n color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n bgColor = token.background ? colorPalette.value(token.background) : void 0;\n }\n color = applyColorReplacements(color, colorReplacements);\n bgColor = applyColorReplacements(bgColor, colorReplacements);\n if (token.decorations.has(\"dim\"))\n color = dimColor(color);\n let fontStyle = FontStyle.None;\n if (token.decorations.has(\"bold\"))\n fontStyle |= FontStyle.Bold;\n if (token.decorations.has(\"italic\"))\n fontStyle |= FontStyle.Italic;\n if (token.decorations.has(\"underline\"))\n fontStyle |= FontStyle.Underline;\n return {\n content: token.value,\n offset: line[1],\n // TODO: more accurate offset? might need to fork ansi-sequence-parser\n color,\n bgColor,\n fontStyle\n };\n })\n );\n}\nfunction dimColor(color) {\n const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n if (hexMatch) {\n if (hexMatch[3]) {\n const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n } else if (hexMatch[2]) {\n return `#${hexMatch[1]}${hexMatch[2]}80`;\n } else {\n return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n }\n }\n const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n if (cssVarMatch)\n return `var(${cssVarMatch[1]}-dim)`;\n return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n const { theme, colorMap } = internal.setTheme(themeName);\n if (lang === \"ansi\")\n return tokenizeAnsiWithTheme(theme, code, options);\n const _grammar = internal.getLanguage(lang);\n if (options.grammarState) {\n if (options.grammarState.lang !== _grammar.name) {\n throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n }\n if (options.grammarState.theme !== themeName) {\n throw new ShikiError$1(`Grammar state theme \"${options.grammarState.theme}\" does not match highlight theme \"${themeName}\"`);\n }\n }\n return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(internal, code, options = {}) {\n const {\n lang = \"text\",\n theme: themeName = internal.getLoadedThemes()[0]\n } = options;\n if (isPlainLang(lang) || isNoneTheme(themeName))\n throw new ShikiError$1(\"Plain language does not have grammar state\");\n if (lang === \"ansi\")\n throw new ShikiError$1(\"ANSI language does not have grammar state\");\n const { theme, colorMap } = internal.setTheme(themeName);\n const _grammar = internal.getLanguage(lang);\n return new GrammarState(\n _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n _grammar.name,\n theme.name\n );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n return _tokenizeWithTheme(code, grammar, theme, colorMap, options).tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n const colorReplacements = resolveColorReplacements(theme, options);\n const {\n tokenizeMaxLineLength = 0,\n tokenizeTimeLimit = 500\n } = options;\n const lines = splitLines(code);\n let stateStack = options.grammarState ? getGrammarStack(options.grammarState) : options.grammarContextCode != null ? _tokenizeWithTheme(\n options.grammarContextCode,\n grammar,\n theme,\n colorMap,\n {\n ...options,\n grammarState: void 0,\n grammarContextCode: void 0\n }\n ).stateStack : INITIAL;\n let actual = [];\n const final = [];\n for (let i = 0, len = lines.length; i < len; i++) {\n const [line, lineOffset] = lines[i];\n if (line === \"\") {\n actual = [];\n final.push([]);\n continue;\n }\n if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n actual = [];\n final.push([{\n content: line,\n offset: lineOffset,\n color: \"\",\n fontStyle: 0\n }]);\n continue;\n }\n let resultWithScopes;\n let tokensWithScopes;\n let tokensWithScopesIndex;\n if (options.includeExplanation) {\n resultWithScopes = grammar.tokenizeLine(line, stateStack);\n tokensWithScopes = resultWithScopes.tokens;\n tokensWithScopesIndex = 0;\n }\n const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n const tokensLength = result.tokens.length / 2;\n for (let j = 0; j < tokensLength; j++) {\n const startIndex = result.tokens[2 * j];\n const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n if (startIndex === nextStartIndex)\n continue;\n const metadata = result.tokens[2 * j + 1];\n const color = applyColorReplacements(\n colorMap[EncodedTokenMetadata.getForeground(metadata)],\n colorReplacements\n );\n const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n const token = {\n content: line.substring(startIndex, nextStartIndex),\n offset: lineOffset + startIndex,\n color,\n fontStyle\n };\n if (options.includeExplanation) {\n const themeSettingsSelectors = [];\n if (options.includeExplanation !== \"scopeName\") {\n for (const setting of theme.settings) {\n let selectors;\n switch (typeof setting.scope) {\n case \"string\":\n selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n break;\n case \"object\":\n selectors = setting.scope;\n break;\n default:\n continue;\n }\n themeSettingsSelectors.push({\n settings: setting,\n selectors: selectors.map((selector) => selector.split(/ /))\n });\n }\n }\n token.explanation = [];\n let offset = 0;\n while (startIndex + offset < nextStartIndex) {\n const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n const tokenWithScopesText = line.substring(\n tokenWithScopes.startIndex,\n tokenWithScopes.endIndex\n );\n offset += tokenWithScopesText.length;\n token.explanation.push({\n content: tokenWithScopesText,\n scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n tokenWithScopes.scopes\n ) : explainThemeScopesFull(\n themeSettingsSelectors,\n tokenWithScopes.scopes\n )\n });\n tokensWithScopesIndex += 1;\n }\n }\n actual.push(token);\n }\n final.push(actual);\n actual = [];\n stateStack = result.ruleStack;\n }\n return {\n tokens: final,\n stateStack\n };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n const result = [];\n for (let i = 0, len = scopes.length; i < len; i++) {\n const scope = scopes[i];\n result[i] = {\n scopeName: scope,\n themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n };\n }\n return result;\n}\nfunction matchesOne(selector, scope) {\n return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n if (!matchesOne(selectors[selectors.length - 1], scope))\n return false;\n let selectorParentIndex = selectors.length - 2;\n let parentIndex = parentScopes.length - 1;\n while (selectorParentIndex >= 0 && parentIndex >= 0) {\n if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n selectorParentIndex -= 1;\n parentIndex -= 1;\n }\n if (selectorParentIndex === -1)\n return true;\n return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n const result = [];\n for (const { selectors, settings } of themeSettingsSelectors) {\n for (const selectorPieces of selectors) {\n if (matches(selectorPieces, scope, parentScopes)) {\n result.push(settings);\n break;\n }\n }\n }\n return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n const tokens = syncThemesTokenization(\n ...themes.map((t) => codeToTokensBase(internal, code, {\n ...options,\n theme: t.theme\n }))\n );\n const mergedTokens = tokens[0].map(\n (line, lineIdx) => line.map((_token, tokenIdx) => {\n const mergedToken = {\n content: _token.content,\n variants: {},\n offset: _token.offset\n };\n if (\"includeExplanation\" in options && options.includeExplanation) {\n mergedToken.explanation = _token.explanation;\n }\n tokens.forEach((t, themeIdx) => {\n const {\n content: _,\n explanation: __,\n offset: ___,\n ...styles\n } = t[lineIdx][tokenIdx];\n mergedToken.variants[themes[themeIdx].color] = styles;\n });\n return mergedToken;\n })\n );\n return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n const outThemes = themes.map(() => []);\n const count = themes.length;\n for (let i = 0; i < themes[0].length; i++) {\n const lines = themes.map((t) => t[i]);\n const outLines = outThemes.map(() => []);\n outThemes.forEach((t, i2) => t.push(outLines[i2]));\n const indexes = lines.map(() => 0);\n const current = lines.map((l) => l[0]);\n while (current.every((t) => t)) {\n const minLength = Math.min(...current.map((t) => t.content.length));\n for (let n = 0; n < count; n++) {\n const token = current[n];\n if (token.content.length === minLength) {\n outLines[n].push(token);\n indexes[n] += 1;\n current[n] = lines[n][indexes[n]];\n } else {\n outLines[n].push({\n ...token,\n content: token.content.slice(0, minLength)\n });\n current[n] = {\n ...token,\n content: token.content.slice(minLength),\n offset: token.offset + minLength\n };\n }\n }\n }\n }\n return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n let bg;\n let fg;\n let tokens;\n let themeName;\n let rootStyle;\n if (\"themes\" in options) {\n const {\n defaultColor = \"light\",\n cssVariablePrefix = \"--shiki-\"\n } = options;\n const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n if (themes.length === 0)\n throw new ShikiError(\"`themes` option must not be empty\");\n const themeTokens = codeToTokensWithThemes(\n internal,\n code,\n options\n );\n if (defaultColor && !themes.find((t) => t.color === defaultColor))\n throw new ShikiError(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n const themesOrder = themes.map((t) => t.color);\n tokens = themeTokens.map((line) => line.map((token) => mergeToken(token, themesOrder, cssVariablePrefix, defaultColor)));\n const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n fg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}:`) + (applyColorReplacements(themeRegs[idx].fg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n bg = themes.map((t, idx) => (idx === 0 && defaultColor ? \"\" : `${cssVariablePrefix + t.color}-bg:`) + (applyColorReplacements(themeRegs[idx].bg, themeColorReplacements[idx]) || \"inherit\")).join(\";\");\n themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n } else if (\"theme\" in options) {\n const colorReplacements = resolveColorReplacements(options.theme, options);\n tokens = codeToTokensBase(\n internal,\n code,\n options\n );\n const _theme = internal.getTheme(options.theme);\n bg = applyColorReplacements(_theme.bg, colorReplacements);\n fg = applyColorReplacements(_theme.fg, colorReplacements);\n themeName = _theme.name;\n } else {\n throw new ShikiError(\"Invalid options, either `theme` or `themes` must be provided\");\n }\n return {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n };\n}\nfunction mergeToken(merged, variantsOrder, cssVariablePrefix, defaultColor) {\n const token = {\n content: merged.content,\n explanation: merged.explanation,\n offset: merged.offset\n };\n const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n const mergedStyles = styles.reduce((acc, cur, idx) => {\n for (const key of styleKeys) {\n const value = cur[key] || \"inherit\";\n if (idx === 0 && defaultColor) {\n acc[key] = value;\n } else {\n const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n const varKey = cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n if (acc[key])\n acc[key] += `;${varKey}:${value}`;\n else\n acc[key] = `${varKey}:${value}`;\n }\n }\n return acc;\n }, {});\n token.htmlStyle = defaultColor ? stringifyTokenStyle(mergedStyles) : Object.values(mergedStyles).join(\";\");\n return token;\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n let input = code;\n for (const transformer of getTransformers(options))\n input = transformer.preprocess?.call(transformerContext, input, options) || input;\n let {\n tokens,\n fg,\n bg,\n themeName,\n rootStyle\n } = codeToTokens(internal, input, options);\n const {\n mergeWhitespaces = true\n } = options;\n if (mergeWhitespaces === true)\n tokens = mergeWhitespaceTokens(tokens);\n else if (mergeWhitespaces === \"never\")\n tokens = splitWhitespaceTokens(tokens);\n const contextSource = {\n ...transformerContext,\n get source() {\n return input;\n }\n };\n for (const transformer of getTransformers(options))\n tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n return tokensToHast(\n tokens,\n {\n ...options,\n fg,\n bg,\n themeName,\n rootStyle\n },\n contextSource\n );\n}\nfunction tokensToHast(tokens, options, transformerContext) {\n const transformers = getTransformers(options);\n const lines = [];\n const root = {\n type: \"root\",\n children: []\n };\n const {\n structure = \"classic\",\n tabindex = \"0\"\n } = options;\n let preNode = {\n type: \"element\",\n tagName: \"pre\",\n properties: {\n class: `shiki ${options.themeName || \"\"}`,\n style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n ...tabindex !== false && tabindex != null ? {\n tabindex: tabindex.toString()\n } : {},\n ...Object.fromEntries(\n Array.from(\n Object.entries(options.meta || {})\n ).filter(([key]) => !key.startsWith(\"_\"))\n )\n },\n children: []\n };\n let codeNode = {\n type: \"element\",\n tagName: \"code\",\n properties: {},\n children: lines\n };\n const lineNodes = [];\n const context = {\n ...transformerContext,\n structure,\n addClassToHast,\n get source() {\n return transformerContext.source;\n },\n get tokens() {\n return tokens;\n },\n get options() {\n return options;\n },\n get root() {\n return root;\n },\n get pre() {\n return preNode;\n },\n get code() {\n return codeNode;\n },\n get lines() {\n return lineNodes;\n }\n };\n tokens.forEach((line, idx) => {\n if (idx) {\n if (structure === \"inline\")\n root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n else if (structure === \"classic\")\n lines.push({ type: \"text\", value: \"\\n\" });\n }\n let lineNode = {\n type: \"element\",\n tagName: \"span\",\n properties: { class: \"line\" },\n children: []\n };\n let col = 0;\n for (const token of line) {\n let tokenNode = {\n type: \"element\",\n tagName: \"span\",\n properties: {},\n children: [{ type: \"text\", value: token.content }]\n };\n const style = token.htmlStyle || stringifyTokenStyle(getTokenStyleObject(token));\n if (style)\n tokenNode.properties.style = style;\n for (const transformer of transformers)\n tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode) || tokenNode;\n if (structure === \"inline\")\n root.children.push(tokenNode);\n else if (structure === \"classic\")\n lineNode.children.push(tokenNode);\n col += token.content.length;\n }\n if (structure === \"classic\") {\n for (const transformer of transformers)\n lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n lineNodes.push(lineNode);\n lines.push(lineNode);\n }\n });\n if (structure === \"classic\") {\n for (const transformer of transformers)\n codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n preNode.children.push(codeNode);\n for (const transformer of transformers)\n preNode = transformer?.pre?.call(context, preNode) || preNode;\n root.children.push(preNode);\n }\n let result = root;\n for (const transformer of transformers)\n result = transformer?.root?.call(context, result) || result;\n return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n const newLine = [];\n let carryOnContent = \"\";\n let firstOffset = 0;\n line.forEach((token, idx) => {\n const isUnderline = token.fontStyle && token.fontStyle & FontStyle.Underline;\n const couldMerge = !isUnderline;\n if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n if (!firstOffset)\n firstOffset = token.offset;\n carryOnContent += token.content;\n } else {\n if (carryOnContent) {\n if (couldMerge) {\n newLine.push({\n ...token,\n offset: firstOffset,\n content: carryOnContent + token.content\n });\n } else {\n newLine.push(\n {\n content: carryOnContent,\n offset: firstOffset\n },\n token\n );\n }\n firstOffset = 0;\n carryOnContent = \"\";\n } else {\n newLine.push(token);\n }\n }\n });\n return newLine;\n });\n}\nfunction splitWhitespaceTokens(tokens) {\n return tokens.map((line) => {\n return line.flatMap((token) => {\n if (token.content.match(/^\\s+$/))\n return token;\n const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n if (!match)\n return token;\n const [, leading, content, trailing] = match;\n if (!leading && !trailing)\n return token;\n const expanded = [{\n ...token,\n offset: token.offset + leading.length,\n content\n }];\n if (leading) {\n expanded.unshift({\n content: leading,\n offset: token.offset\n });\n }\n if (trailing) {\n expanded.push({\n content: trailing,\n offset: token.offset + leading.length + content.length\n });\n }\n return expanded;\n });\n });\n}\n\nfunction codeToHtml(internal, code, options) {\n const context = {\n meta: {},\n options,\n codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n };\n let result = toHtml(codeToHast(internal, code, options, context));\n for (const transformer of getTransformers(options))\n result = transformer.postprocess?.call(context, result, options) || result;\n return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n if (rawTheme?.[RESOLVED_KEY])\n return rawTheme;\n const theme = {\n ...rawTheme\n };\n if (theme.tokenColors && !theme.settings) {\n theme.settings = theme.tokenColors;\n delete theme.tokenColors;\n }\n theme.type || (theme.type = \"dark\");\n theme.colorReplacements = { ...theme.colorReplacements };\n theme.settings || (theme.settings = []);\n let { bg, fg } = theme;\n if (!bg || !fg) {\n const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n if (globalSetting?.settings?.foreground)\n fg = globalSetting.settings.foreground;\n if (globalSetting?.settings?.background)\n bg = globalSetting.settings.background;\n if (!fg && theme?.colors?.[\"editor.foreground\"])\n fg = theme.colors[\"editor.foreground\"];\n if (!bg && theme?.colors?.[\"editor.background\"])\n bg = theme.colors[\"editor.background\"];\n if (!fg)\n fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n if (!bg)\n bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n theme.fg = fg;\n theme.bg = bg;\n }\n if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n theme.settings.unshift({\n settings: {\n foreground: theme.fg,\n background: theme.bg\n }\n });\n }\n let replacementCount = 0;\n const replacementMap = /* @__PURE__ */ new Map();\n function getReplacementColor(value) {\n if (replacementMap.has(value))\n return replacementMap.get(value);\n replacementCount += 1;\n const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n if (theme.colorReplacements?.[`#${hex}`])\n return getReplacementColor(value);\n replacementMap.set(value, hex);\n return hex;\n }\n theme.settings = theme.settings.map((setting) => {\n const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n if (!replaceFg && !replaceBg)\n return setting;\n const clone = {\n ...setting,\n settings: {\n ...setting.settings\n }\n };\n if (replaceFg) {\n const replacement = getReplacementColor(setting.settings.foreground);\n theme.colorReplacements[replacement] = setting.settings.foreground;\n clone.settings.foreground = replacement;\n }\n if (replaceBg) {\n const replacement = getReplacementColor(setting.settings.background);\n theme.colorReplacements[replacement] = setting.settings.background;\n clone.settings.background = replacement;\n }\n return clone;\n });\n for (const key of Object.keys(theme.colors || {})) {\n if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n if (!theme.colors[key]?.startsWith(\"#\")) {\n const replacement = getReplacementColor(theme.colors[key]);\n theme.colorReplacements[replacement] = theme.colors[key];\n theme.colors[key] = replacement;\n }\n }\n }\n Object.defineProperty(theme, RESOLVED_KEY, {\n enumerable: false,\n writable: false,\n value: true\n });\n return theme;\n}\n\nasync function resolveLangs(langs) {\n return Array.from(new Set((await Promise.all(\n langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n )).flat()));\n}\nasync function resolveThemes(themes) {\n const resolved = await Promise.all(\n themes.map(\n async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n )\n );\n return resolved.filter((i) => !!i);\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Registry extends Registry$1 {\n constructor(_resolver, _themes, _langs, _alias = {}) {\n super(_resolver);\n this._resolver = _resolver;\n this._themes = _themes;\n this._langs = _langs;\n this._alias = _alias;\n __publicField$1(this, \"_resolvedThemes\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_resolvedGrammars\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langMap\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_langGraph\", /* @__PURE__ */ new Map());\n __publicField$1(this, \"_textmateThemeCache\", /* @__PURE__ */ new WeakMap());\n __publicField$1(this, \"_loadedThemesCache\", null);\n __publicField$1(this, \"_loadedLanguagesCache\", null);\n this._themes.map((t) => this.loadTheme(t));\n this.loadLanguages(this._langs);\n }\n getTheme(theme) {\n if (typeof theme === \"string\")\n return this._resolvedThemes.get(theme);\n else\n return this.loadTheme(theme);\n }\n loadTheme(theme) {\n const _theme = normalizeTheme(theme);\n if (_theme.name) {\n this._resolvedThemes.set(_theme.name, _theme);\n this._loadedThemesCache = null;\n }\n return _theme;\n }\n getLoadedThemes() {\n if (!this._loadedThemesCache)\n this._loadedThemesCache = [...this._resolvedThemes.keys()];\n return this._loadedThemesCache;\n }\n // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n // is expensive. Themes can switch often especially for dual-theme support.\n //\n // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n // we omit here so it's easier to cache the themes.\n setTheme(theme) {\n let textmateTheme = this._textmateThemeCache.get(theme);\n if (!textmateTheme) {\n textmateTheme = Theme.createFromRawTheme(theme);\n this._textmateThemeCache.set(theme, textmateTheme);\n }\n this._syncRegistry.setTheme(textmateTheme);\n }\n getGrammar(name) {\n if (this._alias[name]) {\n const resolved = /* @__PURE__ */ new Set([name]);\n while (this._alias[name]) {\n name = this._alias[name];\n if (resolved.has(name))\n throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n resolved.add(name);\n }\n }\n return this._resolvedGrammars.get(name);\n }\n loadLanguage(lang) {\n if (this.getGrammar(lang.name))\n return;\n const embeddedLazilyBy = new Set(\n [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n );\n this._resolver.addLanguage(lang);\n const grammarConfig = {\n balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n };\n this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n g.name = lang.name;\n this._resolvedGrammars.set(lang.name, g);\n if (lang.aliases) {\n lang.aliases.forEach((alias) => {\n this._alias[alias] = lang.name;\n });\n }\n this._loadedLanguagesCache = null;\n if (embeddedLazilyBy.size) {\n for (const e of embeddedLazilyBy) {\n this._resolvedGrammars.delete(e.name);\n this._loadedLanguagesCache = null;\n this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n this._syncRegistry?._grammars?.delete(e.scopeName);\n this.loadLanguage(this._langMap.get(e.name));\n }\n }\n }\n dispose() {\n super.dispose();\n this._resolvedThemes.clear();\n this._resolvedGrammars.clear();\n this._langMap.clear();\n this._langGraph.clear();\n this._loadedThemesCache = null;\n }\n loadLanguages(langs) {\n for (const lang of langs)\n this.resolveEmbeddedLanguages(lang);\n const langsGraphArray = Array.from(this._langGraph.entries());\n const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n if (missingLangs.length) {\n const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n }\n for (const [_, lang] of langsGraphArray)\n this._resolver.addLanguage(lang);\n for (const [_, lang] of langsGraphArray)\n this.loadLanguage(lang);\n }\n getLoadedLanguages() {\n if (!this._loadedLanguagesCache) {\n this._loadedLanguagesCache = [\n .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n ];\n }\n return this._loadedLanguagesCache;\n }\n resolveEmbeddedLanguages(lang) {\n this._langMap.set(lang.name, lang);\n this._langGraph.set(lang.name, lang);\n if (lang.embeddedLangs) {\n for (const embeddedLang of lang.embeddedLangs)\n this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n }\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass Resolver {\n constructor(engine, langs) {\n __publicField(this, \"_langs\", /* @__PURE__ */ new Map());\n __publicField(this, \"_scopeToLang\", /* @__PURE__ */ new Map());\n __publicField(this, \"_injections\", /* @__PURE__ */ new Map());\n __publicField(this, \"_onigLib\");\n this._onigLib = {\n createOnigScanner: (patterns) => engine.createScanner(patterns),\n createOnigString: (s) => engine.createString(s)\n };\n langs.forEach((i) => this.addLanguage(i));\n }\n get onigLib() {\n return this._onigLib;\n }\n getLangRegistration(langIdOrAlias) {\n return this._langs.get(langIdOrAlias);\n }\n loadGrammar(scopeName) {\n return this._scopeToLang.get(scopeName);\n }\n addLanguage(l) {\n this._langs.set(l.name, l);\n if (l.aliases) {\n l.aliases.forEach((a) => {\n this._langs.set(a, l);\n });\n }\n this._scopeToLang.set(l.scopeName, l);\n if (l.injectTo) {\n l.injectTo.forEach((i) => {\n if (!this._injections.get(i))\n this._injections.set(i, []);\n this._injections.get(i).push(l.scopeName);\n });\n }\n }\n getInjections(scopeName) {\n const scopeParts = scopeName.split(\".\");\n let injections = [];\n for (let i = 1; i <= scopeParts.length; i++) {\n const subScopeName = scopeParts.slice(0, i).join(\".\");\n injections = [...injections, ...this._injections.get(subScopeName) || []];\n }\n return injections;\n }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n instancesCount += 1;\n if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n let isDisposed = false;\n if (!options.engine)\n throw new ShikiError(\"`engine` option is required for synchronous mode\");\n const langs = (options.langs || []).flat(1);\n const themes = (options.themes || []).flat(1).map(normalizeTheme);\n const resolver = new Resolver(options.engine, langs);\n const _registry = new Registry(resolver, themes, langs, options.langAlias);\n let _lastTheme;\n function getLanguage(name) {\n ensureNotDisposed();\n const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n if (!_lang)\n throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n return _lang;\n }\n function getTheme(name) {\n if (name === \"none\")\n return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n ensureNotDisposed();\n const _theme = _registry.getTheme(name);\n if (!_theme)\n throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n return _theme;\n }\n function setTheme(name) {\n ensureNotDisposed();\n const theme = getTheme(name);\n if (_lastTheme !== name) {\n _registry.setTheme(theme);\n _lastTheme = name;\n }\n const colorMap = _registry.getColorMap();\n return {\n theme,\n colorMap\n };\n }\n function getLoadedThemes() {\n ensureNotDisposed();\n return _registry.getLoadedThemes();\n }\n function getLoadedLanguages() {\n ensureNotDisposed();\n return _registry.getLoadedLanguages();\n }\n function loadLanguageSync(...langs2) {\n ensureNotDisposed();\n _registry.loadLanguages(langs2.flat(1));\n }\n async function loadLanguage(...langs2) {\n return loadLanguageSync(await resolveLangs(langs2));\n }\n function loadThemeSync(...themes2) {\n ensureNotDisposed();\n for (const theme of themes2.flat(1)) {\n _registry.loadTheme(theme);\n }\n }\n async function loadTheme(...themes2) {\n ensureNotDisposed();\n return loadThemeSync(await resolveThemes(themes2));\n }\n function ensureNotDisposed() {\n if (isDisposed)\n throw new ShikiError(\"Shiki instance has been disposed\");\n }\n function dispose() {\n if (isDisposed)\n return;\n isDisposed = true;\n _registry.dispose();\n instancesCount -= 1;\n }\n return {\n setTheme,\n getTheme,\n getLanguage,\n getLoadedThemes,\n getLoadedLanguages,\n loadLanguage,\n loadLanguageSync,\n loadTheme,\n loadThemeSync,\n dispose,\n [Symbol.dispose]: dispose\n };\n}\n\nasync function createShikiInternal(options = {}) {\n const [\n themes,\n langs,\n engine\n ] = await Promise.all([\n resolveThemes(options.themes || []),\n resolveLangs(options.langs || []),\n options.engine || createWasmOnigEngine(options.loadWasm || getDefaultWasmLoader())\n ]);\n return createShikiInternalSync({\n ...options,\n loadWasm: void 0,\n themes,\n langs,\n engine\n });\n}\nfunction getShikiInternal(options = {}) {\n return createShikiInternal(options);\n}\n\nasync function createHighlighterCore(options = {}) {\n const internal = await createShikiInternal(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction createHighlighterCoreSync(options = {}) {\n const internal = createShikiInternalSync(options);\n return {\n getLastGrammarState: (code, options2) => getLastGrammarState(internal, code, options2),\n codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n codeToHast: (code, options2) => codeToHast(internal, code, options2),\n codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n ...internal,\n getInternalContext: () => internal\n };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighterCore2(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\nfunction getHighlighterCore(options = {}) {\n return createHighlighterCore(options);\n}\n\nfunction createdBundledHighlighter(arg1, arg2, arg3) {\n let bundledLanguages;\n let bundledThemes;\n let engine;\n if (arg2) {\n bundledLanguages = arg1;\n bundledThemes = arg2;\n engine = () => createWasmOnigEngine(arg3);\n } else {\n const options = arg1;\n bundledLanguages = options.langs;\n bundledThemes = options.themes;\n engine = options.engine;\n }\n async function createHighlighter(options) {\n function resolveLang(lang) {\n if (typeof lang === \"string\") {\n if (isSpecialLang(lang))\n return [];\n const bundle = bundledLanguages[lang];\n if (!bundle)\n throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return lang;\n }\n function resolveTheme(theme) {\n if (isSpecialTheme(theme))\n return \"none\";\n if (typeof theme === \"string\") {\n const bundle = bundledThemes[theme];\n if (!bundle)\n throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n return bundle;\n }\n return theme;\n }\n const _themes = (options.themes ?? []).map((i) => resolveTheme(i));\n const langs = (options.langs ?? []).map((i) => resolveLang(i));\n const core = await createHighlighterCore({\n engine: engine(),\n ...options,\n themes: _themes,\n langs\n });\n return {\n ...core,\n loadLanguage(...langs2) {\n return core.loadLanguage(...langs2.map(resolveLang));\n },\n loadTheme(...themes) {\n return core.loadTheme(...themes.map(resolveTheme));\n }\n };\n }\n return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n let _shiki;\n async function getSingletonHighlighter(options = {}) {\n if (!_shiki) {\n _shiki = createHighlighter({\n ...options,\n themes: options.themes || [],\n langs: options.langs || []\n });\n return _shiki;\n } else {\n const s = await _shiki;\n await Promise.all([\n s.loadTheme(...options.themes || []),\n s.loadLanguage(...options.langs || [])\n ]);\n return s;\n }\n }\n return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter) {\n const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n return {\n getSingletonHighlighter(options) {\n return getSingletonHighlighter(options);\n },\n async codeToHtml(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHtml(code, options);\n },\n async codeToHast(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToHast(code, options);\n },\n async codeToTokens(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n });\n return shiki.codeToTokens(code, options);\n },\n async codeToTokensBase(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.codeToTokensBase(code, options);\n },\n async codeToTokensWithThemes(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: Object.values(options.themes).filter(Boolean)\n });\n return shiki.codeToTokensWithThemes(code, options);\n },\n async getLastGrammarState(code, options) {\n const shiki = await getSingletonHighlighter({\n langs: [options.lang],\n themes: [options.theme]\n });\n return shiki.getLastGrammarState(code, options);\n }\n };\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, getHighlighterCore, getShikiInternal, getSingletonHighlighterCore, getTokenStyleObject, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, setDefaultWasmLoader, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations };\n","import { bundledLanguages } from './langs.mjs';\nexport { bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo } from './langs.mjs';\nimport { g as getWasmInlined } from './chunks/wasm-dynamic.mjs';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nimport { createdBundledHighlighter, createWasmOnigEngine, createSingletonShorthands } from '@shikijs/core';\nexport * from '@shikijs/core';\nexport { createCssVariablesTheme } from './theme-css-variables.mjs';\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n langs: bundledLanguages,\n themes: bundledThemes,\n engine: () => createWasmOnigEngine(getWasmInlined)\n});\nconst {\n codeToHtml,\n codeToHast,\n codeToTokens,\n codeToTokensBase,\n codeToTokensWithThemes,\n getSingletonHighlighter,\n getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n createHighlighter\n);\nconst getHighlighter = (options) => {\n return createHighlighter(options);\n};\n\nexport { bundledLanguages, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getHighlighter, getLastGrammarState, getSingletonHighlighter, getWasmInlined };\n","const bundledLanguagesInfo = [\n {\n \"id\": \"abap\",\n \"name\": \"ABAP\",\n \"import\": () => import('./langs/abap.mjs')\n },\n {\n \"id\": \"actionscript-3\",\n \"name\": \"ActionScript\",\n \"import\": () => import('./langs/actionscript-3.mjs')\n },\n {\n \"id\": \"ada\",\n \"name\": \"Ada\",\n \"import\": () => import('./langs/ada.mjs')\n },\n {\n \"id\": \"angular-html\",\n \"name\": \"Angular HTML\",\n \"import\": () => import('./langs/angular-html.mjs')\n },\n {\n \"id\": \"angular-ts\",\n \"name\": \"Angular TypeScript\",\n \"import\": () => import('./langs/angular-ts.mjs')\n },\n {\n \"id\": \"apache\",\n \"name\": \"Apache Conf\",\n \"import\": () => import('./langs/apache.mjs')\n },\n {\n \"id\": \"apex\",\n \"name\": \"Apex\",\n \"import\": () => import('./langs/apex.mjs')\n },\n {\n \"id\": \"apl\",\n \"name\": \"APL\",\n \"import\": () => import('./langs/apl.mjs')\n },\n {\n \"id\": \"applescript\",\n \"name\": \"AppleScript\",\n \"import\": () => import('./langs/applescript.mjs')\n },\n {\n \"id\": \"ara\",\n \"name\": \"Ara\",\n \"import\": () => import('./langs/ara.mjs')\n },\n {\n \"id\": \"asciidoc\",\n \"name\": \"AsciiDoc\",\n \"aliases\": [\n \"adoc\"\n ],\n \"import\": () => import('./langs/asciidoc.mjs')\n },\n {\n \"id\": \"asm\",\n \"name\": \"Assembly\",\n \"import\": () => import('./langs/asm.mjs')\n },\n {\n \"id\": \"astro\",\n \"name\": \"Astro\",\n \"import\": () => import('./langs/astro.mjs')\n },\n {\n \"id\": \"awk\",\n \"name\": \"AWK\",\n \"import\": () => import('./langs/awk.mjs')\n },\n {\n \"id\": \"ballerina\",\n \"name\": \"Ballerina\",\n \"import\": () => import('./langs/ballerina.mjs')\n },\n {\n \"id\": \"bat\",\n \"name\": \"Batch File\",\n \"aliases\": [\n \"batch\"\n ],\n \"import\": () => import('./langs/bat.mjs')\n },\n {\n \"id\": \"beancount\",\n \"name\": \"Beancount\",\n \"import\": () => import('./langs/beancount.mjs')\n },\n {\n \"id\": \"berry\",\n \"name\": \"Berry\",\n \"aliases\": [\n \"be\"\n ],\n \"import\": () => import('./langs/berry.mjs')\n },\n {\n \"id\": \"bibtex\",\n \"name\": \"BibTeX\",\n \"import\": () => import('./langs/bibtex.mjs')\n },\n {\n \"id\": \"bicep\",\n \"name\": \"Bicep\",\n \"import\": () => import('./langs/bicep.mjs')\n },\n {\n \"id\": \"blade\",\n \"name\": \"Blade\",\n \"import\": () => import('./langs/blade.mjs')\n },\n {\n \"id\": \"c\",\n \"name\": \"C\",\n \"import\": () => import('./langs/c.mjs')\n },\n {\n \"id\": \"cadence\",\n \"name\": \"Cadence\",\n \"aliases\": [\n \"cdc\"\n ],\n \"import\": () => import('./langs/cadence.mjs')\n },\n {\n \"id\": \"clarity\",\n \"name\": \"Clarity\",\n \"import\": () => import('./langs/clarity.mjs')\n },\n {\n \"id\": \"clojure\",\n \"name\": \"Clojure\",\n \"aliases\": [\n \"clj\"\n ],\n \"import\": () => import('./langs/clojure.mjs')\n },\n {\n \"id\": \"cmake\",\n \"name\": \"CMake\",\n \"import\": () => import('./langs/cmake.mjs')\n },\n {\n \"id\": \"cobol\",\n \"name\": \"COBOL\",\n \"import\": () => import('./langs/cobol.mjs')\n },\n {\n \"id\": \"codeowners\",\n \"name\": \"CODEOWNERS\",\n \"import\": () => import('./langs/codeowners.mjs')\n },\n {\n \"id\": \"codeql\",\n \"name\": \"CodeQL\",\n \"aliases\": [\n \"ql\"\n ],\n \"import\": () => import('./langs/codeql.mjs')\n },\n {\n \"id\": \"coffee\",\n \"name\": \"CoffeeScript\",\n \"aliases\": [\n \"coffeescript\"\n ],\n \"import\": () => import('./langs/coffee.mjs')\n },\n {\n \"id\": \"common-lisp\",\n \"name\": \"Common Lisp\",\n \"aliases\": [\n \"lisp\"\n ],\n \"import\": () => import('./langs/common-lisp.mjs')\n },\n {\n \"id\": \"coq\",\n \"name\": \"Coq\",\n \"import\": () => import('./langs/coq.mjs')\n },\n {\n \"id\": \"cpp\",\n \"name\": \"C++\",\n \"aliases\": [\n \"c++\"\n ],\n \"import\": () => import('./langs/cpp.mjs')\n },\n {\n \"id\": \"crystal\",\n \"name\": \"Crystal\",\n \"import\": () => import('./langs/crystal.mjs')\n },\n {\n \"id\": \"csharp\",\n \"name\": \"C#\",\n \"aliases\": [\n \"c#\",\n \"cs\"\n ],\n \"import\": () => import('./langs/csharp.mjs')\n },\n {\n \"id\": \"css\",\n \"name\": \"CSS\",\n \"import\": () => import('./langs/css.mjs')\n },\n {\n \"id\": \"csv\",\n \"name\": \"CSV\",\n \"import\": () => import('./langs/csv.mjs')\n },\n {\n \"id\": \"cue\",\n \"name\": \"CUE\",\n \"import\": () => import('./langs/cue.mjs')\n },\n {\n \"id\": \"cypher\",\n \"name\": \"Cypher\",\n \"aliases\": [\n \"cql\"\n ],\n \"import\": () => import('./langs/cypher.mjs')\n },\n {\n \"id\": \"d\",\n \"name\": \"D\",\n \"import\": () => import('./langs/d.mjs')\n },\n {\n \"id\": \"dart\",\n \"name\": \"Dart\",\n \"import\": () => import('./langs/dart.mjs')\n },\n {\n \"id\": \"dax\",\n \"name\": \"DAX\",\n \"import\": () => import('./langs/dax.mjs')\n },\n {\n \"id\": \"desktop\",\n \"name\": \"Desktop\",\n \"import\": () => import('./langs/desktop.mjs')\n },\n {\n \"id\": \"diff\",\n \"name\": \"Diff\",\n \"import\": () => import('./langs/diff.mjs')\n },\n {\n \"id\": \"docker\",\n \"name\": \"Dockerfile\",\n \"aliases\": [\n \"dockerfile\"\n ],\n \"import\": () => import('./langs/docker.mjs')\n },\n {\n \"id\": \"dotenv\",\n \"name\": \"dotEnv\",\n \"import\": () => import('./langs/dotenv.mjs')\n },\n {\n \"id\": \"dream-maker\",\n \"name\": \"Dream Maker\",\n \"import\": () => import('./langs/dream-maker.mjs')\n },\n {\n \"id\": \"edge\",\n \"name\": \"Edge\",\n \"import\": () => import('./langs/edge.mjs')\n },\n {\n \"id\": \"elixir\",\n \"name\": \"Elixir\",\n \"import\": () => import('./langs/elixir.mjs')\n },\n {\n \"id\": \"elm\",\n \"name\": \"Elm\",\n \"import\": () => import('./langs/elm.mjs')\n },\n {\n \"id\": \"emacs-lisp\",\n \"name\": \"Emacs Lisp\",\n \"aliases\": [\n \"elisp\"\n ],\n \"import\": () => import('./langs/emacs-lisp.mjs')\n },\n {\n \"id\": \"erb\",\n \"name\": \"ERB\",\n \"import\": () => import('./langs/erb.mjs')\n },\n {\n \"id\": \"erlang\",\n \"name\": \"Erlang\",\n \"aliases\": [\n \"erl\"\n ],\n \"import\": () => import('./langs/erlang.mjs')\n },\n {\n \"id\": \"fennel\",\n \"name\": \"Fennel\",\n \"import\": () => import('./langs/fennel.mjs')\n },\n {\n \"id\": \"fish\",\n \"name\": \"Fish\",\n \"import\": () => import('./langs/fish.mjs')\n },\n {\n \"id\": \"fluent\",\n \"name\": \"Fluent\",\n \"aliases\": [\n \"ftl\"\n ],\n \"import\": () => import('./langs/fluent.mjs')\n },\n {\n \"id\": \"fortran-fixed-form\",\n \"name\": \"Fortran (Fixed Form)\",\n \"aliases\": [\n \"f\",\n \"for\",\n \"f77\"\n ],\n \"import\": () => import('./langs/fortran-fixed-form.mjs')\n },\n {\n \"id\": \"fortran-free-form\",\n \"name\": \"Fortran (Free Form)\",\n \"aliases\": [\n \"f90\",\n \"f95\",\n \"f03\",\n \"f08\",\n \"f18\"\n ],\n \"import\": () => import('./langs/fortran-free-form.mjs')\n },\n {\n \"id\": \"fsharp\",\n \"name\": \"F#\",\n \"aliases\": [\n \"f#\",\n \"fs\"\n ],\n \"import\": () => import('./langs/fsharp.mjs')\n },\n {\n \"id\": \"gdresource\",\n \"name\": \"GDResource\",\n \"import\": () => import('./langs/gdresource.mjs')\n },\n {\n \"id\": \"gdscript\",\n \"name\": \"GDScript\",\n \"import\": () => import('./langs/gdscript.mjs')\n },\n {\n \"id\": \"gdshader\",\n \"name\": \"GDShader\",\n \"import\": () => import('./langs/gdshader.mjs')\n },\n {\n \"id\": \"genie\",\n \"name\": \"Genie\",\n \"import\": () => import('./langs/genie.mjs')\n },\n {\n \"id\": \"gherkin\",\n \"name\": \"Gherkin\",\n \"import\": () => import('./langs/gherkin.mjs')\n },\n {\n \"id\": \"git-commit\",\n \"name\": \"Git Commit Message\",\n \"import\": () => import('./langs/git-commit.mjs')\n },\n {\n \"id\": \"git-rebase\",\n \"name\": \"Git Rebase Message\",\n \"import\": () => import('./langs/git-rebase.mjs')\n },\n {\n \"id\": \"gleam\",\n \"name\": \"Gleam\",\n \"import\": () => import('./langs/gleam.mjs')\n },\n {\n \"id\": \"glimmer-js\",\n \"name\": \"Glimmer JS\",\n \"aliases\": [\n \"gjs\"\n ],\n \"import\": () => import('./langs/glimmer-js.mjs')\n },\n {\n \"id\": \"glimmer-ts\",\n \"name\": \"Glimmer TS\",\n \"aliases\": [\n \"gts\"\n ],\n \"import\": () => import('./langs/glimmer-ts.mjs')\n },\n {\n \"id\": \"glsl\",\n \"name\": \"GLSL\",\n \"import\": () => import('./langs/glsl.mjs')\n },\n {\n \"id\": \"gnuplot\",\n \"name\": \"Gnuplot\",\n \"import\": () => import('./langs/gnuplot.mjs')\n },\n {\n \"id\": \"go\",\n \"name\": \"Go\",\n \"import\": () => import('./langs/go.mjs')\n },\n {\n \"id\": \"graphql\",\n \"name\": \"GraphQL\",\n \"aliases\": [\n \"gql\"\n ],\n \"import\": () => import('./langs/graphql.mjs')\n },\n {\n \"id\": \"groovy\",\n \"name\": \"Groovy\",\n \"import\": () => import('./langs/groovy.mjs')\n },\n {\n \"id\": \"hack\",\n \"name\": \"Hack\",\n \"import\": () => import('./langs/hack.mjs')\n },\n {\n \"id\": \"haml\",\n \"name\": \"Ruby Haml\",\n \"import\": () => import('./langs/haml.mjs')\n },\n {\n \"id\": \"handlebars\",\n \"name\": \"Handlebars\",\n \"aliases\": [\n \"hbs\"\n ],\n \"import\": () => import('./langs/handlebars.mjs')\n },\n {\n \"id\": \"haskell\",\n \"name\": \"Haskell\",\n \"aliases\": [\n \"hs\"\n ],\n \"import\": () => import('./langs/haskell.mjs')\n },\n {\n \"id\": \"haxe\",\n \"name\": \"Haxe\",\n \"import\": () => import('./langs/haxe.mjs')\n },\n {\n \"id\": \"hcl\",\n \"name\": \"HashiCorp HCL\",\n \"import\": () => import('./langs/hcl.mjs')\n },\n {\n \"id\": \"hjson\",\n \"name\": \"Hjson\",\n \"import\": () => import('./langs/hjson.mjs')\n },\n {\n \"id\": \"hlsl\",\n \"name\": \"HLSL\",\n \"import\": () => import('./langs/hlsl.mjs')\n },\n {\n \"id\": \"html\",\n \"name\": \"HTML\",\n \"import\": () => import('./langs/html.mjs')\n },\n {\n \"id\": \"html-derivative\",\n \"name\": \"HTML (Derivative)\",\n \"import\": () => import('./langs/html-derivative.mjs')\n },\n {\n \"id\": \"http\",\n \"name\": \"HTTP\",\n \"import\": () => import('./langs/http.mjs')\n },\n {\n \"id\": \"hxml\",\n \"name\": \"HXML\",\n \"import\": () => import('./langs/hxml.mjs')\n },\n {\n \"id\": \"hy\",\n \"name\": \"Hy\",\n \"import\": () => import('./langs/hy.mjs')\n },\n {\n \"id\": \"imba\",\n \"name\": \"Imba\",\n \"import\": () => import('./langs/imba.mjs')\n },\n {\n \"id\": \"ini\",\n \"name\": \"INI\",\n \"aliases\": [\n \"properties\"\n ],\n \"import\": () => import('./langs/ini.mjs')\n },\n {\n \"id\": \"java\",\n \"name\": \"Java\",\n \"import\": () => import('./langs/java.mjs')\n },\n {\n \"id\": \"javascript\",\n \"name\": \"JavaScript\",\n \"aliases\": [\n \"js\"\n ],\n \"import\": () => import('./langs/javascript.mjs')\n },\n {\n \"id\": \"jinja\",\n \"name\": \"Jinja\",\n \"import\": () => import('./langs/jinja.mjs')\n },\n {\n \"id\": \"jison\",\n \"name\": \"Jison\",\n \"import\": () => import('./langs/jison.mjs')\n },\n {\n \"id\": \"json\",\n \"name\": \"JSON\",\n \"import\": () => import('./langs/json.mjs')\n },\n {\n \"id\": \"json5\",\n \"name\": \"JSON5\",\n \"import\": () => import('./langs/json5.mjs')\n },\n {\n \"id\": \"jsonc\",\n \"name\": \"JSON with Comments\",\n \"import\": () => import('./langs/jsonc.mjs')\n },\n {\n \"id\": \"jsonl\",\n \"name\": \"JSON Lines\",\n \"import\": () => import('./langs/jsonl.mjs')\n },\n {\n \"id\": \"jsonnet\",\n \"name\": \"Jsonnet\",\n \"import\": () => import('./langs/jsonnet.mjs')\n },\n {\n \"id\": \"jssm\",\n \"name\": \"JSSM\",\n \"aliases\": [\n \"fsl\"\n ],\n \"import\": () => import('./langs/jssm.mjs')\n },\n {\n \"id\": \"jsx\",\n \"name\": \"JSX\",\n \"import\": () => import('./langs/jsx.mjs')\n },\n {\n \"id\": \"julia\",\n \"name\": \"Julia\",\n \"aliases\": [\n \"jl\"\n ],\n \"import\": () => import('./langs/julia.mjs')\n },\n {\n \"id\": \"kotlin\",\n \"name\": \"Kotlin\",\n \"aliases\": [\n \"kt\",\n \"kts\"\n ],\n \"import\": () => import('./langs/kotlin.mjs')\n },\n {\n \"id\": \"kusto\",\n \"name\": \"Kusto\",\n \"aliases\": [\n \"kql\"\n ],\n \"import\": () => import('./langs/kusto.mjs')\n },\n {\n \"id\": \"latex\",\n \"name\": \"LaTeX\",\n \"import\": () => import('./langs/latex.mjs')\n },\n {\n \"id\": \"lean\",\n \"name\": \"Lean 4\",\n \"aliases\": [\n \"lean4\"\n ],\n \"import\": () => import('./langs/lean.mjs')\n },\n {\n \"id\": \"less\",\n \"name\": \"Less\",\n \"import\": () => import('./langs/less.mjs')\n },\n {\n \"id\": \"liquid\",\n \"name\": \"Liquid\",\n \"import\": () => import('./langs/liquid.mjs')\n },\n {\n \"id\": \"log\",\n \"name\": \"Log file\",\n \"import\": () => import('./langs/log.mjs')\n },\n {\n \"id\": \"logo\",\n \"name\": \"Logo\",\n \"import\": () => import('./langs/logo.mjs')\n },\n {\n \"id\": \"lua\",\n \"name\": \"Lua\",\n \"import\": () => import('./langs/lua.mjs')\n },\n {\n \"id\": \"luau\",\n \"name\": \"Luau\",\n \"import\": () => import('./langs/luau.mjs')\n },\n {\n \"id\": \"make\",\n \"name\": \"Makefile\",\n \"aliases\": [\n \"makefile\"\n ],\n \"import\": () => import('./langs/make.mjs')\n },\n {\n \"id\": \"markdown\",\n \"name\": \"Markdown\",\n \"aliases\": [\n \"md\"\n ],\n \"import\": () => import('./langs/markdown.mjs')\n },\n {\n \"id\": \"marko\",\n \"name\": \"Marko\",\n \"import\": () => import('./langs/marko.mjs')\n },\n {\n \"id\": \"matlab\",\n \"name\": \"MATLAB\",\n \"import\": () => import('./langs/matlab.mjs')\n },\n {\n \"id\": \"mdc\",\n \"name\": \"MDC\",\n \"import\": () => import('./langs/mdc.mjs')\n },\n {\n \"id\": \"mdx\",\n \"name\": \"MDX\",\n \"import\": () => import('./langs/mdx.mjs')\n },\n {\n \"id\": \"mermaid\",\n \"name\": \"Mermaid\",\n \"import\": () => import('./langs/mermaid.mjs')\n },\n {\n \"id\": \"mojo\",\n \"name\": \"Mojo\",\n \"import\": () => import('./langs/mojo.mjs')\n },\n {\n \"id\": \"move\",\n \"name\": \"Move\",\n \"import\": () => import('./langs/move.mjs')\n },\n {\n \"id\": \"narrat\",\n \"name\": \"Narrat Language\",\n \"aliases\": [\n \"nar\"\n ],\n \"import\": () => import('./langs/narrat.mjs')\n },\n {\n \"id\": \"nextflow\",\n \"name\": \"Nextflow\",\n \"aliases\": [\n \"nf\"\n ],\n \"import\": () => import('./langs/nextflow.mjs')\n },\n {\n \"id\": \"nginx\",\n \"name\": \"Nginx\",\n \"import\": () => import('./langs/nginx.mjs')\n },\n {\n \"id\": \"nim\",\n \"name\": \"Nim\",\n \"import\": () => import('./langs/nim.mjs')\n },\n {\n \"id\": \"nix\",\n \"name\": \"Nix\",\n \"import\": () => import('./langs/nix.mjs')\n },\n {\n \"id\": \"nushell\",\n \"name\": \"nushell\",\n \"aliases\": [\n \"nu\"\n ],\n \"import\": () => import('./langs/nushell.mjs')\n },\n {\n \"id\": \"objective-c\",\n \"name\": \"Objective-C\",\n \"aliases\": [\n \"objc\"\n ],\n \"import\": () => import('./langs/objective-c.mjs')\n },\n {\n \"id\": \"objective-cpp\",\n \"name\": \"Objective-C++\",\n \"import\": () => import('./langs/objective-cpp.mjs')\n },\n {\n \"id\": \"ocaml\",\n \"name\": \"OCaml\",\n \"import\": () => import('./langs/ocaml.mjs')\n },\n {\n \"id\": \"pascal\",\n \"name\": \"Pascal\",\n \"import\": () => import('./langs/pascal.mjs')\n },\n {\n \"id\": \"perl\",\n \"name\": \"Perl\",\n \"import\": () => import('./langs/perl.mjs')\n },\n {\n \"id\": \"php\",\n \"name\": \"PHP\",\n \"import\": () => import('./langs/php.mjs')\n },\n {\n \"id\": \"plsql\",\n \"name\": \"PL/SQL\",\n \"import\": () => import('./langs/plsql.mjs')\n },\n {\n \"id\": \"po\",\n \"name\": \"Gettext PO\",\n \"aliases\": [\n \"pot\",\n \"potx\"\n ],\n \"import\": () => import('./langs/po.mjs')\n },\n {\n \"id\": \"postcss\",\n \"name\": \"PostCSS\",\n \"import\": () => import('./langs/postcss.mjs')\n },\n {\n \"id\": \"powerquery\",\n \"name\": \"PowerQuery\",\n \"import\": () => import('./langs/powerquery.mjs')\n },\n {\n \"id\": \"powershell\",\n \"name\": \"PowerShell\",\n \"aliases\": [\n \"ps\",\n \"ps1\"\n ],\n \"import\": () => import('./langs/powershell.mjs')\n },\n {\n \"id\": \"prisma\",\n \"name\": \"Prisma\",\n \"import\": () => import('./langs/prisma.mjs')\n },\n {\n \"id\": \"prolog\",\n \"name\": \"Prolog\",\n \"import\": () => import('./langs/prolog.mjs')\n },\n {\n \"id\": \"proto\",\n \"name\": \"Protocol Buffer 3\",\n \"aliases\": [\n \"protobuf\"\n ],\n \"import\": () => import('./langs/proto.mjs')\n },\n {\n \"id\": \"pug\",\n \"name\": \"Pug\",\n \"aliases\": [\n \"jade\"\n ],\n \"import\": () => import('./langs/pug.mjs')\n },\n {\n \"id\": \"puppet\",\n \"name\": \"Puppet\",\n \"import\": () => import('./langs/puppet.mjs')\n },\n {\n \"id\": \"purescript\",\n \"name\": \"PureScript\",\n \"import\": () => import('./langs/purescript.mjs')\n },\n {\n \"id\": \"python\",\n \"name\": \"Python\",\n \"aliases\": [\n \"py\"\n ],\n \"import\": () => import('./langs/python.mjs')\n },\n {\n \"id\": \"qml\",\n \"name\": \"QML\",\n \"import\": () => import('./langs/qml.mjs')\n },\n {\n \"id\": \"qmldir\",\n \"name\": \"QML Directory\",\n \"import\": () => import('./langs/qmldir.mjs')\n },\n {\n \"id\": \"qss\",\n \"name\": \"Qt Style Sheets\",\n \"import\": () => import('./langs/qss.mjs')\n },\n {\n \"id\": \"r\",\n \"name\": \"R\",\n \"import\": () => import('./langs/r.mjs')\n },\n {\n \"id\": \"racket\",\n \"name\": \"Racket\",\n \"import\": () => import('./langs/racket.mjs')\n },\n {\n \"id\": \"raku\",\n \"name\": \"Raku\",\n \"aliases\": [\n \"perl6\"\n ],\n \"import\": () => import('./langs/raku.mjs')\n },\n {\n \"id\": \"razor\",\n \"name\": \"ASP.NET Razor\",\n \"import\": () => import('./langs/razor.mjs')\n },\n {\n \"id\": \"reg\",\n \"name\": \"Windows Registry Script\",\n \"import\": () => import('./langs/reg.mjs')\n },\n {\n \"id\": \"regexp\",\n \"name\": \"RegExp\",\n \"aliases\": [\n \"regex\"\n ],\n \"import\": () => import('./langs/regexp.mjs')\n },\n {\n \"id\": \"rel\",\n \"name\": \"Rel\",\n \"import\": () => import('./langs/rel.mjs')\n },\n {\n \"id\": \"riscv\",\n \"name\": \"RISC-V\",\n \"import\": () => import('./langs/riscv.mjs')\n },\n {\n \"id\": \"rst\",\n \"name\": \"reStructuredText\",\n \"import\": () => import('./langs/rst.mjs')\n },\n {\n \"id\": \"ruby\",\n \"name\": \"Ruby\",\n \"aliases\": [\n \"rb\"\n ],\n \"import\": () => import('./langs/ruby.mjs')\n },\n {\n \"id\": \"rust\",\n \"name\": \"Rust\",\n \"aliases\": [\n \"rs\"\n ],\n \"import\": () => import('./langs/rust.mjs')\n },\n {\n \"id\": \"sas\",\n \"name\": \"SAS\",\n \"import\": () => import('./langs/sas.mjs')\n },\n {\n \"id\": \"sass\",\n \"name\": \"Sass\",\n \"import\": () => import('./langs/sass.mjs')\n },\n {\n \"id\": \"scala\",\n \"name\": \"Scala\",\n \"import\": () => import('./langs/scala.mjs')\n },\n {\n \"id\": \"scheme\",\n \"name\": \"Scheme\",\n \"import\": () => import('./langs/scheme.mjs')\n },\n {\n \"id\": \"scss\",\n \"name\": \"SCSS\",\n \"import\": () => import('./langs/scss.mjs')\n },\n {\n \"id\": \"shaderlab\",\n \"name\": \"ShaderLab\",\n \"aliases\": [\n \"shader\"\n ],\n \"import\": () => import('./langs/shaderlab.mjs')\n },\n {\n \"id\": \"shellscript\",\n \"name\": \"Shell\",\n \"aliases\": [\n \"bash\",\n \"sh\",\n \"shell\",\n \"zsh\"\n ],\n \"import\": () => import('./langs/shellscript.mjs')\n },\n {\n \"id\": \"shellsession\",\n \"name\": \"Shell Session\",\n \"aliases\": [\n \"console\"\n ],\n \"import\": () => import('./langs/shellsession.mjs')\n },\n {\n \"id\": \"smalltalk\",\n \"name\": \"Smalltalk\",\n \"import\": () => import('./langs/smalltalk.mjs')\n },\n {\n \"id\": \"solidity\",\n \"name\": \"Solidity\",\n \"import\": () => import('./langs/solidity.mjs')\n },\n {\n \"id\": \"soy\",\n \"name\": \"Closure Templates\",\n \"aliases\": [\n \"closure-templates\"\n ],\n \"import\": () => import('./langs/soy.mjs')\n },\n {\n \"id\": \"sparql\",\n \"name\": \"SPARQL\",\n \"import\": () => import('./langs/sparql.mjs')\n },\n {\n \"id\": \"splunk\",\n \"name\": \"Splunk Query Language\",\n \"aliases\": [\n \"spl\"\n ],\n \"import\": () => import('./langs/splunk.mjs')\n },\n {\n \"id\": \"sql\",\n \"name\": \"SQL\",\n \"import\": () => import('./langs/sql.mjs')\n },\n {\n \"id\": \"ssh-config\",\n \"name\": \"SSH Config\",\n \"import\": () => import('./langs/ssh-config.mjs')\n },\n {\n \"id\": \"stata\",\n \"name\": \"Stata\",\n \"import\": () => import('./langs/stata.mjs')\n },\n {\n \"id\": \"stylus\",\n \"name\": \"Stylus\",\n \"aliases\": [\n \"styl\"\n ],\n \"import\": () => import('./langs/stylus.mjs')\n },\n {\n \"id\": \"svelte\",\n \"name\": \"Svelte\",\n \"import\": () => import('./langs/svelte.mjs')\n },\n {\n \"id\": \"swift\",\n \"name\": \"Swift\",\n \"import\": () => import('./langs/swift.mjs')\n },\n {\n \"id\": \"system-verilog\",\n \"name\": \"SystemVerilog\",\n \"import\": () => import('./langs/system-verilog.mjs')\n },\n {\n \"id\": \"systemd\",\n \"name\": \"Systemd Units\",\n \"import\": () => import('./langs/systemd.mjs')\n },\n {\n \"id\": \"tasl\",\n \"name\": \"Tasl\",\n \"import\": () => import('./langs/tasl.mjs')\n },\n {\n \"id\": \"tcl\",\n \"name\": \"Tcl\",\n \"import\": () => import('./langs/tcl.mjs')\n },\n {\n \"id\": \"templ\",\n \"name\": \"Templ\",\n \"import\": () => import('./langs/templ.mjs')\n },\n {\n \"id\": \"terraform\",\n \"name\": \"Terraform\",\n \"aliases\": [\n \"tf\",\n \"tfvars\"\n ],\n \"import\": () => import('./langs/terraform.mjs')\n },\n {\n \"id\": \"tex\",\n \"name\": \"TeX\",\n \"import\": () => import('./langs/tex.mjs')\n },\n {\n \"id\": \"toml\",\n \"name\": \"TOML\",\n \"import\": () => import('./langs/toml.mjs')\n },\n {\n \"id\": \"ts-tags\",\n \"name\": \"TypeScript with Tags\",\n \"aliases\": [\n \"lit\"\n ],\n \"import\": () => import('./langs/ts-tags.mjs')\n },\n {\n \"id\": \"tsv\",\n \"name\": \"TSV\",\n \"import\": () => import('./langs/tsv.mjs')\n },\n {\n \"id\": \"tsx\",\n \"name\": \"TSX\",\n \"import\": () => import('./langs/tsx.mjs')\n },\n {\n \"id\": \"turtle\",\n \"name\": \"Turtle\",\n \"import\": () => import('./langs/turtle.mjs')\n },\n {\n \"id\": \"twig\",\n \"name\": \"Twig\",\n \"import\": () => import('./langs/twig.mjs')\n },\n {\n \"id\": \"typescript\",\n \"name\": \"TypeScript\",\n \"aliases\": [\n \"ts\"\n ],\n \"import\": () => import('./langs/typescript.mjs')\n },\n {\n \"id\": \"typespec\",\n \"name\": \"TypeSpec\",\n \"aliases\": [\n \"tsp\"\n ],\n \"import\": () => import('./langs/typespec.mjs')\n },\n {\n \"id\": \"typst\",\n \"name\": \"Typst\",\n \"aliases\": [\n \"typ\"\n ],\n \"import\": () => import('./langs/typst.mjs')\n },\n {\n \"id\": \"v\",\n \"name\": \"V\",\n \"import\": () => import('./langs/v.mjs')\n },\n {\n \"id\": \"vala\",\n \"name\": \"Vala\",\n \"import\": () => import('./langs/vala.mjs')\n },\n {\n \"id\": \"vb\",\n \"name\": \"Visual Basic\",\n \"aliases\": [\n \"cmd\"\n ],\n \"import\": () => import('./langs/vb.mjs')\n },\n {\n \"id\": \"verilog\",\n \"name\": \"Verilog\",\n \"import\": () => import('./langs/verilog.mjs')\n },\n {\n \"id\": \"vhdl\",\n \"name\": \"VHDL\",\n \"import\": () => import('./langs/vhdl.mjs')\n },\n {\n \"id\": \"viml\",\n \"name\": \"Vim Script\",\n \"aliases\": [\n \"vim\",\n \"vimscript\"\n ],\n \"import\": () => import('./langs/viml.mjs')\n },\n {\n \"id\": \"vue\",\n \"name\": \"Vue\",\n \"import\": () => import('./langs/vue.mjs')\n },\n {\n \"id\": \"vue-html\",\n \"name\": \"Vue HTML\",\n \"import\": () => import('./langs/vue-html.mjs')\n },\n {\n \"id\": \"vyper\",\n \"name\": \"Vyper\",\n \"aliases\": [\n \"vy\"\n ],\n \"import\": () => import('./langs/vyper.mjs')\n },\n {\n \"id\": \"wasm\",\n \"name\": \"WebAssembly\",\n \"import\": () => import('./langs/wasm.mjs')\n },\n {\n \"id\": \"wenyan\",\n \"name\": \"Wenyan\",\n \"aliases\": [\n \"\\u6587\\u8A00\"\n ],\n \"import\": () => import('./langs/wenyan.mjs')\n },\n {\n \"id\": \"wgsl\",\n \"name\": \"WGSL\",\n \"import\": () => import('./langs/wgsl.mjs')\n },\n {\n \"id\": \"wikitext\",\n \"name\": \"Wikitext\",\n \"aliases\": [\n \"mediawiki\",\n \"wiki\"\n ],\n \"import\": () => import('./langs/wikitext.mjs')\n },\n {\n \"id\": \"wolfram\",\n \"name\": \"Wolfram\",\n \"aliases\": [\n \"wl\"\n ],\n \"import\": () => import('./langs/wolfram.mjs')\n },\n {\n \"id\": \"xml\",\n \"name\": \"XML\",\n \"import\": () => import('./langs/xml.mjs')\n },\n {\n \"id\": \"xsl\",\n \"name\": \"XSL\",\n \"import\": () => import('./langs/xsl.mjs')\n },\n {\n \"id\": \"yaml\",\n \"name\": \"YAML\",\n \"aliases\": [\n \"yml\"\n ],\n \"import\": () => import('./langs/yaml.mjs')\n },\n {\n \"id\": \"zenscript\",\n \"name\": \"ZenScript\",\n \"import\": () => import('./langs/zenscript.mjs')\n },\n {\n \"id\": \"zig\",\n \"name\": \"Zig\",\n \"import\": () => import('./langs/zig.mjs')\n }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n ...bundledLanguagesBase,\n ...bundledLanguagesAlias\n};\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo };\n","const getWasmInlined = async (info) => {\n return import('shiki/wasm').then((wasm) => wasm.default(info));\n};\n\nexport { getWasmInlined as g };\n","const bundledThemesInfo = [\n {\n \"id\": \"andromeeda\",\n \"displayName\": \"Andromeeda\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/andromeeda.mjs')\n },\n {\n \"id\": \"aurora-x\",\n \"displayName\": \"Aurora X\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/aurora-x.mjs')\n },\n {\n \"id\": \"ayu-dark\",\n \"displayName\": \"Ayu Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/ayu-dark.mjs')\n },\n {\n \"id\": \"catppuccin-frappe\",\n \"displayName\": \"Catppuccin Frapp\\xE9\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-frappe.mjs')\n },\n {\n \"id\": \"catppuccin-latte\",\n \"displayName\": \"Catppuccin Latte\",\n \"type\": \"light\",\n \"import\": () => import('./themes/catppuccin-latte.mjs')\n },\n {\n \"id\": \"catppuccin-macchiato\",\n \"displayName\": \"Catppuccin Macchiato\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-macchiato.mjs')\n },\n {\n \"id\": \"catppuccin-mocha\",\n \"displayName\": \"Catppuccin Mocha\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/catppuccin-mocha.mjs')\n },\n {\n \"id\": \"dark-plus\",\n \"displayName\": \"Dark Plus\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dark-plus.mjs')\n },\n {\n \"id\": \"dracula\",\n \"displayName\": \"Dracula Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula.mjs')\n },\n {\n \"id\": \"dracula-soft\",\n \"displayName\": \"Dracula Theme Soft\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/dracula-soft.mjs')\n },\n {\n \"id\": \"everforest-dark\",\n \"displayName\": \"Everforest Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/everforest-dark.mjs')\n },\n {\n \"id\": \"everforest-light\",\n \"displayName\": \"Everforest Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/everforest-light.mjs')\n },\n {\n \"id\": \"github-dark\",\n \"displayName\": \"GitHub Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark.mjs')\n },\n {\n \"id\": \"github-dark-default\",\n \"displayName\": \"GitHub Dark Default\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-default.mjs')\n },\n {\n \"id\": \"github-dark-dimmed\",\n \"displayName\": \"GitHub Dark Dimmed\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-dimmed.mjs')\n },\n {\n \"id\": \"github-dark-high-contrast\",\n \"displayName\": \"GitHub Dark High Contrast\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/github-dark-high-contrast.mjs')\n },\n {\n \"id\": \"github-light\",\n \"displayName\": \"GitHub Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light.mjs')\n },\n {\n \"id\": \"github-light-default\",\n \"displayName\": \"GitHub Light Default\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-default.mjs')\n },\n {\n \"id\": \"github-light-high-contrast\",\n \"displayName\": \"GitHub Light High Contrast\",\n \"type\": \"light\",\n \"import\": () => import('./themes/github-light-high-contrast.mjs')\n },\n {\n \"id\": \"houston\",\n \"displayName\": \"Houston\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/houston.mjs')\n },\n {\n \"id\": \"laserwave\",\n \"displayName\": \"LaserWave\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/laserwave.mjs')\n },\n {\n \"id\": \"light-plus\",\n \"displayName\": \"Light Plus\",\n \"type\": \"light\",\n \"import\": () => import('./themes/light-plus.mjs')\n },\n {\n \"id\": \"material-theme\",\n \"displayName\": \"Material Theme\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme.mjs')\n },\n {\n \"id\": \"material-theme-darker\",\n \"displayName\": \"Material Theme Darker\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-darker.mjs')\n },\n {\n \"id\": \"material-theme-lighter\",\n \"displayName\": \"Material Theme Lighter\",\n \"type\": \"light\",\n \"import\": () => import('./themes/material-theme-lighter.mjs')\n },\n {\n \"id\": \"material-theme-ocean\",\n \"displayName\": \"Material Theme Ocean\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-ocean.mjs')\n },\n {\n \"id\": \"material-theme-palenight\",\n \"displayName\": \"Material Theme Palenight\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/material-theme-palenight.mjs')\n },\n {\n \"id\": \"min-dark\",\n \"displayName\": \"Min Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/min-dark.mjs')\n },\n {\n \"id\": \"min-light\",\n \"displayName\": \"Min Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/min-light.mjs')\n },\n {\n \"id\": \"monokai\",\n \"displayName\": \"Monokai\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/monokai.mjs')\n },\n {\n \"id\": \"night-owl\",\n \"displayName\": \"Night Owl\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/night-owl.mjs')\n },\n {\n \"id\": \"nord\",\n \"displayName\": \"Nord\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/nord.mjs')\n },\n {\n \"id\": \"one-dark-pro\",\n \"displayName\": \"One Dark Pro\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/one-dark-pro.mjs')\n },\n {\n \"id\": \"one-light\",\n \"displayName\": \"One Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/one-light.mjs')\n },\n {\n \"id\": \"plastic\",\n \"displayName\": \"Plastic\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/plastic.mjs')\n },\n {\n \"id\": \"poimandres\",\n \"displayName\": \"Poimandres\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/poimandres.mjs')\n },\n {\n \"id\": \"red\",\n \"displayName\": \"Red\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/red.mjs')\n },\n {\n \"id\": \"rose-pine\",\n \"displayName\": \"Ros\\xE9 Pine\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine.mjs')\n },\n {\n \"id\": \"rose-pine-dawn\",\n \"displayName\": \"Ros\\xE9 Pine Dawn\",\n \"type\": \"light\",\n \"import\": () => import('./themes/rose-pine-dawn.mjs')\n },\n {\n \"id\": \"rose-pine-moon\",\n \"displayName\": \"Ros\\xE9 Pine Moon\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/rose-pine-moon.mjs')\n },\n {\n \"id\": \"slack-dark\",\n \"displayName\": \"Slack Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/slack-dark.mjs')\n },\n {\n \"id\": \"slack-ochin\",\n \"displayName\": \"Slack Ochin\",\n \"type\": \"light\",\n \"import\": () => import('./themes/slack-ochin.mjs')\n },\n {\n \"id\": \"snazzy-light\",\n \"displayName\": \"Snazzy Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/snazzy-light.mjs')\n },\n {\n \"id\": \"solarized-dark\",\n \"displayName\": \"Solarized Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/solarized-dark.mjs')\n },\n {\n \"id\": \"solarized-light\",\n \"displayName\": \"Solarized Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/solarized-light.mjs')\n },\n {\n \"id\": \"synthwave-84\",\n \"displayName\": \"Synthwave '84\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/synthwave-84.mjs')\n },\n {\n \"id\": \"tokyo-night\",\n \"displayName\": \"Tokyo Night\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/tokyo-night.mjs')\n },\n {\n \"id\": \"vesper\",\n \"displayName\": \"Vesper\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vesper.mjs')\n },\n {\n \"id\": \"vitesse-black\",\n \"displayName\": \"Vitesse Black\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-black.mjs')\n },\n {\n \"id\": \"vitesse-dark\",\n \"displayName\": \"Vitesse Dark\",\n \"type\": \"dark\",\n \"import\": () => import('./themes/vitesse-dark.mjs')\n },\n {\n \"id\": \"vitesse-light\",\n \"displayName\": \"Vitesse Light\",\n \"type\": \"light\",\n \"import\": () => import('./themes/vitesse-light.mjs')\n }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n constructor(message) {\n super(message);\n this.name = \"ShikiError\";\n }\n}\n\nexport { ShikiError };\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n 'area',\n 'base',\n 'basefont',\n 'bgsound',\n 'br',\n 'col',\n 'command',\n 'embed',\n 'frame',\n 'hr',\n 'image',\n 'img',\n 'input',\n 'keygen',\n 'link',\n 'meta',\n 'param',\n 'source',\n 'track',\n 'wbr'\n]\n","/**\n * @typedef {import('./info.js').Info} Info\n * @typedef {Record<string, Info>} Properties\n * @typedef {Record<string, string>} Normal\n */\n\nexport class Schema {\n /**\n * @constructor\n * @param {Properties} property\n * @param {Normal} normal\n * @param {string} [space]\n */\n constructor(property, normal, space) {\n this.property = property\n this.normal = normal\n if (space) {\n this.space = space\n }\n }\n}\n\n/** @type {Properties} */\nSchema.prototype.property = {}\n/** @type {Normal} */\nSchema.prototype.normal = {}\n/** @type {string|null} */\nSchema.prototype.space = null\n","export class Info {\n /**\n * @constructor\n * @param {string} property\n * @param {string} attribute\n */\n constructor(property, attribute) {\n /** @type {string} */\n this.property = property\n /** @type {string} */\n this.attribute = attribute\n }\n}\n\n/** @type {string|null} */\nInfo.prototype.space = null\nInfo.prototype.boolean = false\nInfo.prototype.booleanish = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.number = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.spaceSeparated = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.defined = false\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n space: 'xlink',\n transform(_, prop) {\n return 'xlink:' + prop.slice(5).toLowerCase()\n },\n properties: {\n xLinkActuate: null,\n xLinkArcRole: null,\n xLinkHref: null,\n xLinkRole: null,\n xLinkShow: null,\n xLinkTitle: null,\n xLinkType: null\n }\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n space: 'xml',\n transform(_, prop) {\n return 'xml:' + prop.slice(3).toLowerCase()\n },\n properties: {xmlLang: null, xmlBase: null, xmlSpace: null}\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n space: 'xmlns',\n attributes: {xmlnsxlink: 'xmlns:xlink'},\n transform: caseInsensitiveTransform,\n properties: {xmlns: null, xmlnsXLink: null}\n})\n","import {booleanish, number, spaceSeparated} from './util/types.js'\nimport {create} from './util/create.js'\n\nexport const aria = create({\n transform(_, prop) {\n return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase()\n },\n properties: {\n ariaActiveDescendant: null,\n ariaAtomic: booleanish,\n ariaAutoComplete: null,\n ariaBusy: booleanish,\n ariaChecked: booleanish,\n ariaColCount: number,\n ariaColIndex: number,\n ariaColSpan: number,\n ariaControls: spaceSeparated,\n ariaCurrent: null,\n ariaDescribedBy: spaceSeparated,\n ariaDetails: null,\n ariaDisabled: booleanish,\n ariaDropEffect: spaceSeparated,\n ariaErrorMessage: null,\n ariaExpanded: booleanish,\n ariaFlowTo: spaceSeparated,\n ariaGrabbed: booleanish,\n ariaHasPopup: null,\n ariaHidden: booleanish,\n ariaInvalid: null,\n ariaKeyShortcuts: null,\n ariaLabel: null,\n ariaLabelledBy: spaceSeparated,\n ariaLevel: number,\n ariaLive: null,\n ariaModal: booleanish,\n ariaMultiLine: booleanish,\n ariaMultiSelectable: booleanish,\n ariaOrientation: null,\n ariaOwns: spaceSeparated,\n ariaPlaceholder: null,\n ariaPosInSet: number,\n ariaPressed: booleanish,\n ariaReadOnly: booleanish,\n ariaRelevant: null,\n ariaRequired: booleanish,\n ariaRoleDescription: spaceSeparated,\n ariaRowCount: number,\n ariaRowIndex: number,\n ariaRowSpan: number,\n ariaSelected: booleanish,\n ariaSetSize: number,\n ariaSort: null,\n ariaValueMax: number,\n ariaValueMin: number,\n ariaValueNow: number,\n ariaValueText: null,\n role: null\n }\n})\n","import {\n boolean,\n overloadedBoolean,\n booleanish,\n number,\n spaceSeparated,\n commaSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const html = create({\n space: 'html',\n attributes: {\n acceptcharset: 'accept-charset',\n classname: 'class',\n htmlfor: 'for',\n httpequiv: 'http-equiv'\n },\n transform: caseInsensitiveTransform,\n mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n properties: {\n // Standard Properties.\n abbr: null,\n accept: commaSeparated,\n acceptCharset: spaceSeparated,\n accessKey: spaceSeparated,\n action: null,\n allow: null,\n allowFullScreen: boolean,\n allowPaymentRequest: boolean,\n allowUserMedia: boolean,\n alt: null,\n as: null,\n async: boolean,\n autoCapitalize: null,\n autoComplete: spaceSeparated,\n autoFocus: boolean,\n autoPlay: boolean,\n blocking: spaceSeparated,\n capture: null,\n charSet: null,\n checked: boolean,\n cite: null,\n className: spaceSeparated,\n cols: number,\n colSpan: null,\n content: null,\n contentEditable: booleanish,\n controls: boolean,\n controlsList: spaceSeparated,\n coords: number | commaSeparated,\n crossOrigin: null,\n data: null,\n dateTime: null,\n decoding: null,\n default: boolean,\n defer: boolean,\n dir: null,\n dirName: null,\n disabled: boolean,\n download: overloadedBoolean,\n draggable: booleanish,\n encType: null,\n enterKeyHint: null,\n fetchPriority: null,\n form: null,\n formAction: null,\n formEncType: null,\n formMethod: null,\n formNoValidate: boolean,\n formTarget: null,\n headers: spaceSeparated,\n height: number,\n hidden: boolean,\n high: number,\n href: null,\n hrefLang: null,\n htmlFor: spaceSeparated,\n httpEquiv: spaceSeparated,\n id: null,\n imageSizes: null,\n imageSrcSet: null,\n inert: boolean,\n inputMode: null,\n integrity: null,\n is: null,\n isMap: boolean,\n itemId: null,\n itemProp: spaceSeparated,\n itemRef: spaceSeparated,\n itemScope: boolean,\n itemType: spaceSeparated,\n kind: null,\n label: null,\n lang: null,\n language: null,\n list: null,\n loading: null,\n loop: boolean,\n low: number,\n manifest: null,\n max: null,\n maxLength: number,\n media: null,\n method: null,\n min: null,\n minLength: number,\n multiple: boolean,\n muted: boolean,\n name: null,\n nonce: null,\n noModule: boolean,\n noValidate: boolean,\n onAbort: null,\n onAfterPrint: null,\n onAuxClick: null,\n onBeforeMatch: null,\n onBeforePrint: null,\n onBeforeToggle: null,\n onBeforeUnload: null,\n onBlur: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onContextLost: null,\n onContextMenu: null,\n onContextRestored: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFormData: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLanguageChange: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadEnd: null,\n onLoadStart: null,\n onMessage: null,\n onMessageError: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRejectionHandled: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onScrollEnd: null,\n onSecurityPolicyViolation: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onSlotChange: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnhandledRejection: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onWheel: null,\n open: boolean,\n optimum: number,\n pattern: null,\n ping: spaceSeparated,\n placeholder: null,\n playsInline: boolean,\n popover: null,\n popoverTarget: null,\n popoverTargetAction: null,\n poster: null,\n preload: null,\n readOnly: boolean,\n referrerPolicy: null,\n rel: spaceSeparated,\n required: boolean,\n reversed: boolean,\n rows: number,\n rowSpan: number,\n sandbox: spaceSeparated,\n scope: null,\n scoped: boolean,\n seamless: boolean,\n selected: boolean,\n shadowRootClonable: boolean,\n shadowRootDelegatesFocus: boolean,\n shadowRootMode: null,\n shape: null,\n size: number,\n sizes: null,\n slot: null,\n span: number,\n spellCheck: booleanish,\n src: null,\n srcDoc: null,\n srcLang: null,\n srcSet: null,\n start: number,\n step: null,\n style: null,\n tabIndex: number,\n target: null,\n title: null,\n translate: null,\n type: null,\n typeMustMatch: boolean,\n useMap: null,\n value: booleanish,\n width: number,\n wrap: null,\n writingSuggestions: null,\n\n // Legacy.\n // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n align: null, // Several. Use CSS `text-align` instead,\n aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n archive: spaceSeparated, // `<object>`. List of URIs to archives\n axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n background: null, // `<body>`. Use CSS `background-image` instead\n bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n border: number, // `<table>`. Use CSS `border-width` instead,\n borderColor: null, // `<table>`. Use CSS `border-color` instead,\n bottomMargin: number, // `<body>`\n cellPadding: null, // `<table>`\n cellSpacing: null, // `<table>`\n char: null, // Several table elements. When `align=char`, sets the character to align on\n charOff: null, // Several table elements. When `char`, offsets the alignment\n classId: null, // `<object>`\n clear: null, // `<br>`. Use CSS `clear` instead\n code: null, // `<object>`\n codeBase: null, // `<object>`\n codeType: null, // `<object>`\n color: null, // `<font>` and `<hr>`. Use CSS instead\n compact: boolean, // Lists. Use CSS to reduce space between items instead\n declare: boolean, // `<object>`\n event: null, // `<script>`\n face: null, // `<font>`. Use CSS instead\n frame: null, // `<table>`\n frameBorder: null, // `<iframe>`. Use CSS `border` instead\n hSpace: number, // `<img>` and `<object>`\n leftMargin: number, // `<body>`\n link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n lowSrc: null, // `<img>`. Use a `<picture>`\n marginHeight: number, // `<body>`\n marginWidth: number, // `<body>`\n noResize: boolean, // `<frame>`\n noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n noWrap: boolean, // `<td>` and `<th>`\n object: null, // `<applet>`\n profile: null, // `<head>`\n prompt: null, // `<isindex>`\n rev: null, // `<link>`\n rightMargin: number, // `<body>`\n rules: null, // `<table>`\n scheme: null, // `<meta>`\n scrolling: booleanish, // `<frame>`. Use overflow in the child context\n standby: null, // `<object>`\n summary: null, // `<table>`\n text: null, // `<body>`. Use CSS `color` instead\n topMargin: number, // `<body>`\n valueType: null, // `<param>`\n version: null, // `<html>`. Use a doctype.\n vAlign: null, // Several. Use CSS `vertical-align` instead\n vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n vSpace: number, // `<img>` and `<object>`\n\n // Non-standard Properties.\n allowTransparency: null,\n autoCorrect: null,\n autoSave: null,\n disablePictureInPicture: boolean,\n disableRemotePlayback: boolean,\n prefix: null,\n property: null,\n results: number,\n security: null,\n unselectable: null\n }\n})\n","import {\n boolean,\n number,\n spaceSeparated,\n commaSeparated,\n commaOrSpaceSeparated\n} from './util/types.js'\nimport {create} from './util/create.js'\nimport {caseSensitiveTransform} from './util/case-sensitive-transform.js'\n\nexport const svg = create({\n space: 'svg',\n attributes: {\n accentHeight: 'accent-height',\n alignmentBaseline: 'alignment-baseline',\n arabicForm: 'arabic-form',\n baselineShift: 'baseline-shift',\n capHeight: 'cap-height',\n className: 'class',\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n crossOrigin: 'crossorigin',\n dataType: 'datatype',\n dominantBaseline: 'dominant-baseline',\n enableBackground: 'enable-background',\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n hrefLang: 'hreflang',\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n horizOriginY: 'horiz-origin-y',\n imageRendering: 'image-rendering',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n navDown: 'nav-down',\n navDownLeft: 'nav-down-left',\n navDownRight: 'nav-down-right',\n navLeft: 'nav-left',\n navNext: 'nav-next',\n navPrev: 'nav-prev',\n navRight: 'nav-right',\n navUp: 'nav-up',\n navUpLeft: 'nav-up-left',\n navUpRight: 'nav-up-right',\n onAbort: 'onabort',\n onActivate: 'onactivate',\n onAfterPrint: 'onafterprint',\n onBeforePrint: 'onbeforeprint',\n onBegin: 'onbegin',\n onCancel: 'oncancel',\n onCanPlay: 'oncanplay',\n onCanPlayThrough: 'oncanplaythrough',\n onChange: 'onchange',\n onClick: 'onclick',\n onClose: 'onclose',\n onCopy: 'oncopy',\n onCueChange: 'oncuechange',\n onCut: 'oncut',\n onDblClick: 'ondblclick',\n onDrag: 'ondrag',\n onDragEnd: 'ondragend',\n onDragEnter: 'ondragenter',\n onDragExit: 'ondragexit',\n onDragLeave: 'ondragleave',\n onDragOver: 'ondragover',\n onDragStart: 'ondragstart',\n onDrop: 'ondrop',\n onDurationChange: 'ondurationchange',\n onEmptied: 'onemptied',\n onEnd: 'onend',\n onEnded: 'onended',\n onError: 'onerror',\n onFocus: 'onfocus',\n onFocusIn: 'onfocusin',\n onFocusOut: 'onfocusout',\n onHashChange: 'onhashchange',\n onInput: 'oninput',\n onInvalid: 'oninvalid',\n onKeyDown: 'onkeydown',\n onKeyPress: 'onkeypress',\n onKeyUp: 'onkeyup',\n onLoad: 'onload',\n onLoadedData: 'onloadeddata',\n onLoadedMetadata: 'onloadedmetadata',\n onLoadStart: 'onloadstart',\n onMessage: 'onmessage',\n onMouseDown: 'onmousedown',\n onMouseEnter: 'onmouseenter',\n onMouseLeave: 'onmouseleave',\n onMouseMove: 'onmousemove',\n onMouseOut: 'onmouseout',\n onMouseOver: 'onmouseover',\n onMouseUp: 'onmouseup',\n onMouseWheel: 'onmousewheel',\n onOffline: 'onoffline',\n onOnline: 'ononline',\n onPageHide: 'onpagehide',\n onPageShow: 'onpageshow',\n onPaste: 'onpaste',\n onPause: 'onpause',\n onPlay: 'onplay',\n onPlaying: 'onplaying',\n onPopState: 'onpopstate',\n onProgress: 'onprogress',\n onRateChange: 'onratechange',\n onRepeat: 'onrepeat',\n onReset: 'onreset',\n onResize: 'onresize',\n onScroll: 'onscroll',\n onSeeked: 'onseeked',\n onSeeking: 'onseeking',\n onSelect: 'onselect',\n onShow: 'onshow',\n onStalled: 'onstalled',\n onStorage: 'onstorage',\n onSubmit: 'onsubmit',\n onSuspend: 'onsuspend',\n onTimeUpdate: 'ontimeupdate',\n onToggle: 'ontoggle',\n onUnload: 'onunload',\n onVolumeChange: 'onvolumechange',\n onWaiting: 'onwaiting',\n onZoom: 'onzoom',\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pointerEvents: 'pointer-events',\n referrerPolicy: 'referrerpolicy',\n renderingIntent: 'rendering-intent',\n shapeRendering: 'shape-rendering',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n strokeDashArray: 'stroke-dasharray',\n strokeDashOffset: 'stroke-dashoffset',\n strokeLineCap: 'stroke-linecap',\n strokeLineJoin: 'stroke-linejoin',\n strokeMiterLimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n tabIndex: 'tabindex',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n transformOrigin: 'transform-origin',\n typeOf: 'typeof',\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n vectorEffect: 'vector-effect',\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n xHeight: 'x-height',\n // These were camelcased in Tiny. Now lowercased in SVG 2\n playbackOrder: 'playbackorder',\n timelineBegin: 'timelinebegin'\n },\n transform: caseSensitiveTransform,\n properties: {\n about: commaOrSpaceSeparated,\n accentHeight: number,\n accumulate: null,\n additive: null,\n alignmentBaseline: null,\n alphabetic: number,\n amplitude: number,\n arabicForm: null,\n ascent: number,\n attributeName: null,\n attributeType: null,\n azimuth: number,\n bandwidth: null,\n baselineShift: null,\n baseFrequency: null,\n baseProfile: null,\n bbox: null,\n begin: null,\n bias: number,\n by: null,\n calcMode: null,\n capHeight: number,\n className: spaceSeparated,\n clip: null,\n clipPath: null,\n clipPathUnits: null,\n clipRule: null,\n color: null,\n colorInterpolation: null,\n colorInterpolationFilters: null,\n colorProfile: null,\n colorRendering: null,\n content: null,\n contentScriptType: null,\n contentStyleType: null,\n crossOrigin: null,\n cursor: null,\n cx: null,\n cy: null,\n d: null,\n dataType: null,\n defaultAction: null,\n descent: number,\n diffuseConstant: number,\n direction: null,\n display: null,\n dur: null,\n divisor: number,\n dominantBaseline: null,\n download: boolean,\n dx: null,\n dy: null,\n edgeMode: null,\n editable: null,\n elevation: number,\n enableBackground: null,\n end: null,\n event: null,\n exponent: number,\n externalResourcesRequired: null,\n fill: null,\n fillOpacity: number,\n fillRule: null,\n filter: null,\n filterRes: null,\n filterUnits: null,\n floodColor: null,\n floodOpacity: null,\n focusable: null,\n focusHighlight: null,\n fontFamily: null,\n fontSize: null,\n fontSizeAdjust: null,\n fontStretch: null,\n fontStyle: null,\n fontVariant: null,\n fontWeight: null,\n format: null,\n fr: null,\n from: null,\n fx: null,\n fy: null,\n g1: commaSeparated,\n g2: commaSeparated,\n glyphName: commaSeparated,\n glyphOrientationHorizontal: null,\n glyphOrientationVertical: null,\n glyphRef: null,\n gradientTransform: null,\n gradientUnits: null,\n handler: null,\n hanging: number,\n hatchContentUnits: null,\n hatchUnits: null,\n height: null,\n href: null,\n hrefLang: null,\n horizAdvX: number,\n horizOriginX: number,\n horizOriginY: number,\n id: null,\n ideographic: number,\n imageRendering: null,\n initialVisibility: null,\n in: null,\n in2: null,\n intercept: number,\n k: number,\n k1: number,\n k2: number,\n k3: number,\n k4: number,\n kernelMatrix: commaOrSpaceSeparated,\n kernelUnitLength: null,\n keyPoints: null, // SEMI_COLON_SEPARATED\n keySplines: null, // SEMI_COLON_SEPARATED\n keyTimes: null, // SEMI_COLON_SEPARATED\n kerning: null,\n lang: null,\n lengthAdjust: null,\n letterSpacing: null,\n lightingColor: null,\n limitingConeAngle: number,\n local: null,\n markerEnd: null,\n markerMid: null,\n markerStart: null,\n markerHeight: null,\n markerUnits: null,\n markerWidth: null,\n mask: null,\n maskContentUnits: null,\n maskUnits: null,\n mathematical: null,\n max: null,\n media: null,\n mediaCharacterEncoding: null,\n mediaContentEncodings: null,\n mediaSize: number,\n mediaTime: null,\n method: null,\n min: null,\n mode: null,\n name: null,\n navDown: null,\n navDownLeft: null,\n navDownRight: null,\n navLeft: null,\n navNext: null,\n navPrev: null,\n navRight: null,\n navUp: null,\n navUpLeft: null,\n navUpRight: null,\n numOctaves: null,\n observer: null,\n offset: null,\n onAbort: null,\n onActivate: null,\n onAfterPrint: null,\n onBeforePrint: null,\n onBegin: null,\n onCancel: null,\n onCanPlay: null,\n onCanPlayThrough: null,\n onChange: null,\n onClick: null,\n onClose: null,\n onCopy: null,\n onCueChange: null,\n onCut: null,\n onDblClick: null,\n onDrag: null,\n onDragEnd: null,\n onDragEnter: null,\n onDragExit: null,\n onDragLeave: null,\n onDragOver: null,\n onDragStart: null,\n onDrop: null,\n onDurationChange: null,\n onEmptied: null,\n onEnd: null,\n onEnded: null,\n onError: null,\n onFocus: null,\n onFocusIn: null,\n onFocusOut: null,\n onHashChange: null,\n onInput: null,\n onInvalid: null,\n onKeyDown: null,\n onKeyPress: null,\n onKeyUp: null,\n onLoad: null,\n onLoadedData: null,\n onLoadedMetadata: null,\n onLoadStart: null,\n onMessage: null,\n onMouseDown: null,\n onMouseEnter: null,\n onMouseLeave: null,\n onMouseMove: null,\n onMouseOut: null,\n onMouseOver: null,\n onMouseUp: null,\n onMouseWheel: null,\n onOffline: null,\n onOnline: null,\n onPageHide: null,\n onPageShow: null,\n onPaste: null,\n onPause: null,\n onPlay: null,\n onPlaying: null,\n onPopState: null,\n onProgress: null,\n onRateChange: null,\n onRepeat: null,\n onReset: null,\n onResize: null,\n onScroll: null,\n onSeeked: null,\n onSeeking: null,\n onSelect: null,\n onShow: null,\n onStalled: null,\n onStorage: null,\n onSubmit: null,\n onSuspend: null,\n onTimeUpdate: null,\n onToggle: null,\n onUnload: null,\n onVolumeChange: null,\n onWaiting: null,\n onZoom: null,\n opacity: null,\n operator: null,\n order: null,\n orient: null,\n orientation: null,\n origin: null,\n overflow: null,\n overlay: null,\n overlinePosition: number,\n overlineThickness: number,\n paintOrder: null,\n panose1: null,\n path: null,\n pathLength: number,\n patternContentUnits: null,\n patternTransform: null,\n patternUnits: null,\n phase: null,\n ping: spaceSeparated,\n pitch: null,\n playbackOrder: null,\n pointerEvents: null,\n points: null,\n pointsAtX: number,\n pointsAtY: number,\n pointsAtZ: number,\n preserveAlpha: null,\n preserveAspectRatio: null,\n primitiveUnits: null,\n propagate: null,\n property: commaOrSpaceSeparated,\n r: null,\n radius: null,\n referrerPolicy: null,\n refX: null,\n refY: null,\n rel: commaOrSpaceSeparated,\n rev: commaOrSpaceSeparated,\n renderingIntent: null,\n repeatCount: null,\n repeatDur: null,\n requiredExtensions: commaOrSpaceSeparated,\n requiredFeatures: commaOrSpaceSeparated,\n requiredFonts: commaOrSpaceSeparated,\n requiredFormats: commaOrSpaceSeparated,\n resource: null,\n restart: null,\n result: null,\n rotate: null,\n rx: null,\n ry: null,\n scale: null,\n seed: null,\n shapeRendering: null,\n side: null,\n slope: null,\n snapshotTime: null,\n specularConstant: number,\n specularExponent: number,\n spreadMethod: null,\n spacing: null,\n startOffset: null,\n stdDeviation: null,\n stemh: null,\n stemv: null,\n stitchTiles: null,\n stopColor: null,\n stopOpacity: null,\n strikethroughPosition: number,\n strikethroughThickness: number,\n string: null,\n stroke: null,\n strokeDashArray: commaOrSpaceSeparated,\n strokeDashOffset: null,\n strokeLineCap: null,\n strokeLineJoin: null,\n strokeMiterLimit: number,\n strokeOpacity: number,\n strokeWidth: null,\n style: null,\n surfaceScale: number,\n syncBehavior: null,\n syncBehaviorDefault: null,\n syncMaster: null,\n syncTolerance: null,\n syncToleranceDefault: null,\n systemLanguage: commaOrSpaceSeparated,\n tabIndex: number,\n tableValues: null,\n target: null,\n targetX: number,\n targetY: number,\n textAnchor: null,\n textDecoration: null,\n textRendering: null,\n textLength: null,\n timelineBegin: null,\n title: null,\n transformBehavior: null,\n type: null,\n typeOf: commaOrSpaceSeparated,\n to: null,\n transform: null,\n transformOrigin: null,\n u1: null,\n u2: null,\n underlinePosition: number,\n underlineThickness: number,\n unicode: null,\n unicodeBidi: null,\n unicodeRange: null,\n unitsPerEm: number,\n values: null,\n vAlphabetic: number,\n vMathematical: number,\n vectorEffect: null,\n vHanging: number,\n vIdeographic: number,\n version: null,\n vertAdvY: number,\n vertOriginX: number,\n vertOriginY: number,\n viewBox: null,\n viewTarget: null,\n visibility: null,\n width: null,\n widths: null,\n wordSpacing: null,\n writingMode: null,\n x: null,\n x1: null,\n x2: null,\n xChannelSelector: null,\n xHeight: number,\n y: null,\n y1: null,\n y2: null,\n yChannelSelector: null,\n z: null,\n zoomAndPan: null\n }\n})\n","/**\n * @typedef {import('./lib/util/info.js').Info} Info\n * @typedef {import('./lib/util/schema.js').Schema} Schema\n */\n\nimport {merge} from './lib/util/merge.js'\nimport {xlink} from './lib/xlink.js'\nimport {xml} from './lib/xml.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\n\nexport {find} from './lib/find.js'\nexport {hastToReact} from './lib/hast-to-react.js'\nexport {normalize} from './lib/normalize.js'\nexport const html = merge([xml, xlink, xmlns, aria, htmlBase], 'html')\nexport const svg = merge([xml, xlink, xmlns, aria, svgBase], 'svg')\n","/**\n * @callback Handler\n * Handle a value, with a certain ID field set to a certain value.\n * The ID field is passed to `zwitch`, and it’s value is this function’s\n * place on the `handlers` record.\n * @param {...any} parameters\n * Arbitrary parameters passed to the zwitch.\n * The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback UnknownHandler\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @param {unknown} value\n * An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {any}\n * Anything!\n */\n\n/**\n * @callback InvalidHandler\n * Handle values that do not have a certain ID field.\n * @param {unknown} value\n * Any unknown value.\n * @param {...any} rest\n * Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n * This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n * Configuration (required).\n * @property {Invalid} [invalid]\n * Handler to use for invalid values.\n * @property {Unknown} [unknown]\n * Handler to use for unknown values.\n * @property {Handlers} [handlers]\n * Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n * Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n * Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n const settings = options || {}\n\n /**\n * Handle one value.\n *\n * Based on the bound `key`, a respective handler will be called.\n * If `value` is not an object, or doesn’t have a `key` property, the special\n * “invalid” handler will be called.\n * If `value` has an unknown `key`, the special “unknown” handler will be\n * called.\n *\n * All arguments, and the context object, are passed through to the handler,\n * and it’s result is returned.\n *\n * @this {unknown}\n * Any context object.\n * @param {unknown} [value]\n * Any value.\n * @param {...unknown} parameters\n * Arbitrary parameters passed to the zwitch.\n * @property {Handler} invalid\n * Handle for values that do not have a certain ID field.\n * @property {Handler} unknown\n * Handle values that do have a certain ID field, but it’s set to a value\n * that is not listed in the `handlers` record.\n * @property {Handlers} handlers\n * Record of handlers.\n * @returns {unknown}\n * Anything.\n */\n function one(value, ...parameters) {\n /** @type {Handler|undefined} */\n let fn = one.invalid\n const handlers = one.handlers\n\n if (value && own.call(value, key)) {\n // @ts-expect-error Indexable.\n const id = String(value[key])\n // @ts-expect-error Indexable.\n fn = own.call(handlers, id) ? handlers[id] : one.unknown\n }\n\n if (fn) {\n return fn.call(this, value, ...parameters)\n }\n }\n\n one.handlers = settings.handlers || {}\n one.invalid = settings.invalid\n one.unknown = settings.unknown\n\n // @ts-expect-error: matches!\n return one\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","/**\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 {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 {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 {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 * @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 * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, property, CSSResultArray, TemplateResult, PropertyValueMap } from 'lit-element';\nimport { customElement, state } from 'lit/decorators.js';\nimport { styles } from './nile-highlighter.css';\nimport NileElement from '../internal/nile-element';\n\nimport { codeToHtml } from 'shiki'\nimport { ShikiTheme, ShikiLanguage } from './theme-list';\n\n\n/**\n * Nile highlighter component.\n *\n * @tag nile-highlighter\n *\n */\n@customElement('nile-highlighter')\nexport class NileHighlighter extends NileElement {\n\n\t@property({ type: String}) code = ``;\n\t\n\t@property({ type: String, reflect:true }) language : ShikiLanguage = 'javascript';\n\n\t@property({ type: String, reflect:true }) theme: ShikiTheme = 'min-light';\n\n\t@state() highlightedCode = '';\n\t\n\t/**\n\t * The styles for nile-highlighter\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\n\tprotected async updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n\t\tif (changedProperties.has('code') || changedProperties.has('language') || changedProperties.has('theme')) {\n\t\t\tthis.highlightedCode = await codeToHtml(this.code, {\n\t\t\t\tlang: this.language,\n\t\t\t\ttheme: this.theme\n\t\t\t})\n\t\t\tthis.requestUpdate();\n\t\t}\n\t}\n\t/* #region Methods */\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t\t<div class=\"code-container\" .innerHTML=${this.highlightedCode}></div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileHighlighter;\n\ndeclare global {\n\tinterface HTMLElementTagNameMap {\n\t\t'nile-highlighter': NileHighlighter;\n\t}\n}"],"names":["doClone","something","Array","isArray","arr","r","i","len","length","cloneArray","_typeof","obj","key","cloneObj","mergeObjects","target","sources","forEach","source","basename","path","idx","lastIndexOf","substring","substr","strcmp","a","b","strArrCmp","len1","len2","res","isValidHexColor","hex","test","escapeRegExpCharacters","value","replace","_matchesScope","scopeName","scopePattern","startsWith","createMatchers","selector","matchesName","results","tokenizer","input","regex","match","exec","next","newTokenizer","token","priority","charAt","console","log","concat","matcher","parseConjunction","push","t","parseOperand","o","expressionToNegate","matcherInput","expressionInParents","matchers","some","matcher2","parseInnerExpression","isIdentifier","identifiers","every","disposeOnigString","str","dispose","collectReferencesOfReference","reference","baseGrammarScopeName","repo","result","selfGrammar","lookup","Error","baseGrammar","TopLevelRuleReference","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","ruleName","repository","injections","_iterator4","_createForOfIteratorHelper","s","_step4","n","done","injection","add","err","e","f","context","collectExternalReferencesInRules","patterns","Object","values","_objectSpread","rules","_iterator5","_step5","rule","visitedRule","has","patternRepository","include","parseInclude","kind","newContext","TopLevelRepositoryRuleReference","BaseReference","SelfReference","indexOfSharp","indexOf","TopLevelReference","RelativeReference","TopLevelRepositoryReference","_tokenizeString","grammar","lineText","isFirstLine","linePos","stack","lineTokens","checkWhileConditions","timeLimit","lineLength","content","STOP","anchorPosition","whileCheckResult","beginRuleCapturedEOL","whileRules","node","pop","nodeRule","getRule","BeginWhileRule","whileRule","_yt","prepareRuleWhileSearch","endRule","ruleScanner","findOptions","findNextMatchSync","ruleId","whileRuleId","captureIndices","produce","start","handleCaptures","whileCaptures","end","_checkWhileConditions","startTime","Date","now","TokenizeStringResult","scanNext","matchResult","prepareRuleSearch","matchedRuleId","matchRule","getInjections","injectionResult","bestMatchRuleId","bestMatchRating","Number","MAX_VALUE","bestMatchCaptureIndices","bestMatchResultPriority","scopes","contentNameScopesList","getScopeNames","matchRating","priorityMatch","matchInjections","matchResultScore","injectionResultScore","matchRuleOrInjections","hasAdvanced","endRuleId","poppedRule","withContentNameScopesList","nameScopesList","endCaptures","popped","parent","getAnchorPos","getEnterPos","_rule","beforePush","getName","pushAttributed","BeginEndRule","pushedRule","beginCaptures","contentName","getContentName","endHasBackReferences","withEndRule","getEndWithResolvedBackReferences","hasSameRuleAs","whileHasBackReferences","getWhileWithResolvedBackReferences","captures","safePop","endRegexSource","allowA","allowG","compileAG","compileWhileAG","lineTextContent","Math","min","localStack","maxEnd","captureRule","captureIndex","endPos","produceFromScopes","retokenizeCapturedWithRuleId","stackClone","onigSubStr","createOnigString","captureRuleScopeName","captureRuleScopesList","LocalStackElement","collectInjections","ruleFactoryHelper","nameMatcher","RuleFactory","getCompiledRuleId","_iterator9","_step9","debugSelector","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","initGrammar","base","$self","$vscodeTextmateLocation","name","$base","merge","definitions","space","property","normal","index","assign","Schema","normalize","toLowerCase","increment","pow","powers","mark","create","definition","prop","properties","own","call","info","DefinedInfo","transform","attributes","mustUseProperty","includes","attribute","caseSensitiveTransform","caseInsensitiveTransform","kebab","$0","camelcase","toUpperCase","core","options","subset","cached","subsetToRegexCache","get","groups","regexEscapeRegex","RegExp","join","charactersToExpression","set","charactersToExpressionCached","defaultSubsetRegex","basic","escapeOnly","surrogatePairsRegex","pair","all","format","charCodeAt","controlCharactersRegex","character","formatSmart","code","named","numeric","omit","toString","hexadecimalRegex","String","fromCharCode","toHexadecimal","omitOptionalSemicolons","useNamedReferences","useShortestReferences","characters","characterEntitiesLegacy","dangerous","notAlphanumericRegex","toNamed","decimal","decimalRegex","toDecimal","stringifyEntities","ccount","TypeError","count","stringify","settings","padRight","padLeft","trim","whitespace","thing","type","empty","re","siblings","includeWhitespace","children","emptyChildren","offset","omission","handlers","tagName","headOrColgroupOrCaption","_","siblingAfter","rubyElement","cells","serializeAttribute","state","schema","Type","Info","slice","valid","rest","dash","dashes","cap","find","x","allowParseErrors","y","allowDangerousCharacters","quote","overloadedBoolean","Boolean","isNaN","characterReferences","constants","commaSeparated","commas","spaces","tightCommaSeparatedLists","collapseEmptyAttributes","preferUnquoted","unquoted","quoteSmart","alternative","single","text","textEntitySubset","one","handle","this","_emscripten_get_now","mn","performance","main","async","init","updateGlobalBufferAndViews","buf","emscripten_realloc_buffer","UTF8ToString","ptr","maxBytesToRead","heapOrArray","endIdx","endPtr","buffer","UTF8Decoder","decode","subarray","u0","u1","u2","ch","UTF8ArrayToString","binding","HEAPU8","size","wasmMemory","grow","byteLength","_unused","Uint8Array","HEAPU32","Uint32Array","TextDecoder","undefined","asmLibraryArg","emscripten_get_now","emscripten_memcpy_big","dest","src","num","copyWithin","emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","alignUp","max","fd_write","_context16","env","wasi_snapshot_preview1","exports","memory","_context15","stop","_callee14","createWasm","_callee15","_hn","apply","arguments","loadWasm","initPromise","instance","instantiator","dataOrOptions","isInstantiatorModule","_context4","data","isDataOptionsObject","Response","isResponse","ArrayBuffer","isView","Buffer","isBuffer","SharedArrayBuffer","isArrayBuffer","WebAssembly","Module","_makeArrayBufferLoader","default","instantiateStreaming","importObject","_ref6","_asyncToGenerator","_regeneratorRuntime","arrayBuffer","instantiate","_context3","_callee2","_x4","_makeResponseNonStreamingLoader","_callee3","onigBinding","_load","createWasmOnigEngine","wrap","_callee16$","_context17","prev","t0","createScanner","OnigScanner","createString","OnigString","_callee16","_kn","splitLines","preserveEnding","parts","split","lines","_n34","line","isPlainLang","lang","isSpecialLang","isNoneTheme","theme","isSpecialTheme","addClassToHast","className","_a","class","targets","_iterator19","_step19","c","normalizeGetter","p","Promise","resolve","then","_context18","_callee17","_On","resolveColorReplacements","replacements","colorReplacements","themeName","_i23","_Object$entries","entries","_Object$entries$_i","_slicedToArray","applyColorReplacements","color","getTokenStyleObject","styles","bgColor","fontStyle","FontStyle","Italic","Bold","Underline","stringifyTokenStyle","map","_ref7","_ref8","transformerDecorations","WeakMap","getContext","shiki","meta","normalizePosition","ShikiError","converter","indexToPos","JSON","posToIndex","_ref9","_ref10","_iterator20","_step20","createPositionConverter","decorations","d","items","foo","j","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","verifyIntersections","tokens","_this$options$decorat","splitted","breakpoints","sorted","from","Set","sort","flatMap","breakpointsInToken","filter","offsets","lastOffset","_iterator21","_step21","splitToken","splitTokens","codeEl","ctx","applyLineSection","decoration","lineEl","startIndex","endIndex","POSITIVE_INFINITY","alwaysWrap","wrapper","applyDecoration","splice","applyLine","el","lineApplies","_iterator22","_step22","_loop","_loop2","_i25","unshift","getTransformers","_toConsumableArray","transformers","builtInTransformers","findSequence","position","nextEscape","nextClose","sequence","startPosition","parseColor","colorMode","rgb","parseInt","colorIndex","parseSequence","commands","codeInt","namedColors","_zn","_zn3","createColorPalette","namedColorsMap","defaultNamedColorsMap","namedColor","rgbColor","padStart","colorTable","tableColor","levels","g","level","getColorTable","tokenizeAnsiWithTheme","fileContents","colorPalette","fromEntries","colors","_t$colors","parser","foreground","background","decorations2","parse","findResult","_iterator23","_step23","styleToken","clear","delete","_iterator24","_step24","createAnsiSequenceParser","bg","fg","hexMatch","alpha","round","cssVarMatch","dimColor","None","codeToTokensBase","internal","_n$lang","_n$theme","getLoadedThemes","_t$setTheme","setTheme","colorMap","_grammar","getLanguage","grammarState","ShikiError$1","_tokenizeWithTheme","tokenizeWithTheme","tokenizeMaxLineLength","tokenizeTimeLimit","_r$tokenizeTimeLimit","stateStack","GrammarState","_stack","getGrammarStack","grammarContextCode","INITIAL","actual","final","_a$_t","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","includeExplanation","tokenizeLine","tokenizeLine2","tokensLength","nextStartIndex","metadata","EncodedTokenMetadata","getForeground","getFontStyle","themeSettingsSelectors","_iterator25","_step25","setting","selectors","scope","explanation","tokenWithScopes","tokenWithScopesText","explainThemeScopesFull","ruleStack","themeSelectors","themeMatches","explainThemeScope","matchesOne","matches","parentScopes","selectorParentIndex","parentIndex","_iterator26","_step26","_step26$value","_iterator27","_step27","selectorPieces","codeToTokensWithThemes","themes","_len3","_key3","outThemes","_loop3","_i32","outLines","i2","indexes","current","l","minLength","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","variants","themeIdx","_t$e$o","__","___","codeToTokens","rootStyle","_n$defaultColor","defaultColor","_n$cssVariablePrefix","cssVariablePrefix","themeTokens","themeRegs","getTheme","themesOrder","merged","variantsOrder","styleKeys","keys","mergedStyles","reduce","acc","cur","_step28","_iterator28","keyName","varKey","htmlStyle","mergeToken","themeColorReplacements","_theme","codeToHast","transformerContext","_code","_options","_iterator29","_step29","transformer","preprocess","_ei","_n$mergeWhitespaces","mergeWhitespaces","newLine","carryOnContent","firstOffset","couldMerge","mergeWhitespaceTokens","_e44","leading","trailing","expanded","splitWhitespaceTokens","contextSource","_iterator30","_step30","root","structure","tabindex","preNode","style","_ref11","_ref12","codeNode","lineNodes","An","pre","lineNode","col","_iterator31","_step31","tokenNode","_iterator33","_step33","span","_iterator32","_step32","_iterator34","_step34","_iterator35","_step35","_iterator36","_step36","tokensToHast","codeToHtml","tree","options_","emptyOptions","omitOptionalTags","tightAttributes","upperDoctype","tightDoctype","bogusComments","tightSelfClosing","allowDangerousHtml","voids","htmlVoidElements","emptyCharacterReferences","closeSelfClosing","closeEmptyElements","svg","html","toHtml","_iterator37","_step37","postprocess","normalizeTheme","rawTheme","RESOLVED_KEY","tokenColors","_t95$settings","_t95$settings2","_e$colors","_e$colors2","globalSetting","VSCODE_FALLBACK_EDITOR_FG","light","dark","VSCODE_FALLBACK_EDITOR_BG","replacementCount","replacementMap","Map","getReplacementColor","_e$colorReplacements","_t$settings","_t$settings2","replaceFg","replaceBg","clone","replacement","_i34","_Object$keys2","_e$colors$_t","defineProperty","enumerable","writable","resolveLangs","langs","flat","_context20","t3","_callee19","resolveThemes","_context21","t1","_ci","createShikiInternal","_args13","engine","_defaultWasmLoader","instancesCount","warnings","warn","isDisposed","resolver","Resolver","_registry","Registry","langAlias","_lastTheme","ensureNotDisposed","loadLanguageSync","langs2","loadLanguages","loadThemeSync","themes2","_len7","_iterator41","_step41","loadTheme","u","_defineProperty","getColorMap","_lang","getGrammar","getLoadedLanguages","loadLanguage","_len9","_key9","_args12","_context24","sent","abrupt","_callee23","_loadTheme","m","Symbol","createShikiInternalSync","_context25","_callee24","createHighlighterCore","_args14","_context26","getLastGrammarState","options2","_n$lang2","_t$setTheme2","getInternalContext","_yi","createdBundledHighlighter","arg1","arg2","arg3","bundledLanguages","bundledThemes","_ref23","_t$themes","_t$langs","resolveLang","resolveTheme","bundle","_themes","_len4","_len5","_context6","_callee5","_x9","createSingletonShorthands","createHighlighter","getSingletonHighlighter","_shiki","_args6","_context7","_callee6","makeSingletonHighlighter","_codeToHtml","_callee7","_codeToHast","_callee8","_callee9","_callee10","_callee11","_getLastGrammarState","_callee12","_context13","_x20","_x21","setters","_tslib","bundledLanguagesInfo","id","import","_import","_context","aliases","getWasmInlined","wasm","bundledThemesInfo","displayName","message","super","_this","_inherits","_Error","_createClass","_wrapNativeSuper","CAPTURING_REGEX_SOURCE","RegexSource","_classCallCheck","hasCaptures","regexSource","replaceCaptures","captureSource","commandIndex","command","capture","CachedFn","k","fn","cache","Theme","S","_colorMap","_defaults","_root","_cachedMatchRoot","getDefaults","scopePath","effectiveRule","v","scopeMustMatch","_scopePathMatchesParentScopes","StyleAttributes","createFromRawTheme","createFromParsedTheme","resultLen","entry","_scope","segments","lenJ","reverse","ParsedThemeRule","parseTheme","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","shift","ColorMap","defaults","getId","ThemeTrieElement","ThemeTrieElementRule","insert","resolveParsedThemeRules","ScopeStack","_ScopeStack","getSegments","item","_extends","other","getExtensionIfDefined","scopeNames","_iterator","_step","L","foregroundId","backgroundId","T","FontStyle2","NotSet","Strikethrough","O","_lastColorId","_id2color","_color2id","_isFrozen","emptyParentScopes","freeze","scopeDepth","_ThemeTrieElementRule","acceptOverwrite","cloneArr","_mainRule","rulesWithParentScopes","_children","_rulesWithParentScopes","head","tail","dotIndex","hasOwnProperty","_ThemeTrieElement","_cmpBySpecificity","_doInsertHere","child","aParentIndex","bParentIndex","parentScopeLengthDiff","toBinaryStr","encodedTokenAttributes","print","languageId","_EncodedTokenMetadata","getLanguageId","tokenType","getTokenType","getBackground","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","B","toKey","I","ExternalReferenceCollector","G","_references","_seenReferenceKeys","ScopeDependencyProcessor","H","initialScopeName","seenFullScopeRequests","seenPartialScopeRequests","Q","processQueue","q","deps","_iterator2","_step2","dep","_iterator3","references","_step3","U","constructor","W","V","J","X","HAS_BACK_REFERENCES","BACK_REFERENCING_END","Rule","et","$location","_name","_nameIsCapturing","_contentName","_contentNameIsCapturing","location","filename","CaptureRule","nt","_this3","_et","collectPatterns","out","compile","MatchRule","it","_match","RegExpSource","_cachedCompiledPatterns","_this4","_et2","_getCachedCompiledPatterns","RegExpSourceList","IncludeOnlyRule","rt","hasMissingPatterns","_this5","_et3","_iterator6","_step6","pattern","ot","begin","applyEndPatternLast","_begin","_end","hasBackReferences","_this6","_et4","resolveBackReferences","_iterator7","_step7","setSource","st","_while","_cachedCompiledWhilePatterns","_this7","_et5","_iterator8","_step8","compileWhile","_getCachedCompiledWhilePatterns","createCaptureRule","helper","registerRule","desc","_RuleFactory","_compileCaptures","_compilePatterns","while","maximumCaptureId","captureId","numericCaptureId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","getExternalGrammar","externalIncludedRule","skipRule","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","_anchorCache","_buildAnchorCache","_RegExpSource","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","A0_G0","A0_G1","A1_G0","A1_G1","resolveAnchors","ct","_items","_hasAnchors","_cached","_disposeCaches","onigLib","regExps","CompiledRule","_resolveAnchors","ut","scanner","createOnigScanner","string","BasicScopeAttributes","mt","_BasicScopeAttributesProvider","initialLanguageId","embeddedLanguages","_getBasicScopeAttributes","_scopeToLanguage","standardTokenType","_toStandardTokenType","_defaultAttributes","_embeddedLanguagesMatcher","ScopeMatcher","getDefaultAttributes","getBasicScopeAttributes","_NULL_SCOPE_METADATA","STANDARD_TOKEN_TYPE_REGEXP","BasicScopeAttributesProvider","dt","scopesRegExp","escapedScopes","_ref2","_ref3","process","VSCODE_TEXTMATE_DEBUG","ft","stoppedEarly","wt","Grammar","xt","_rootScopeName","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","_onigLib","_basicScopeAttributesProvider","_rootId","_lastRuleId","_ruleId2desc","_includedGrammars","_grammarRepository","_injections","_tokenTypeMatchers","_i15","_Object$keys","_iterator10","_step10","_iterator11","_step11","getMetadataForScope","_collectInjections","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","injectionSelector","i1","factory","rawIncludedGrammar","prevState","_tokenize","getResult","getBinaryResult","emitBinaryTokens","StateStackImpl","NULL","reset","rawDefaultMetadata","defaultStyle","themeProvider","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","createRootAndLookUpScopeName","createRoot","onigLineText","LineTokens","tokenAttributes","equals","_AttributedScopeStack","_pushAttributed","_iterator12","_step12","self","fromExtension","namesScopeList","_e$scopePath","_iterator13","_step13","frame","rawRootMetadata","themeMatch","resolvedTokenAttributes","mergeAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","_StateStackImpl","enterPos","anchorPos","_stackElementBrand","depth","_enterPos","_anchorPos","_equals","_reset","_writeString","outIndex","_this$nameScopesList","_this$contentNameScop","contentNameScopeStack","toStateStackFrame","_this$nameScopesList$","_this$nameScopesList2","_this$parent$nameScop","_this$parent","_this$contentNameScop2","_this$contentNameScop3","_structuralEquals","pushFrame","BalancedBracketSelectors","Ot","balancedBracketScopes","unbalancedBracketScopes","allowAny","matchesNever","_iterator14","_step14","excluder","_iterator15","_step15","includer","Mt","tokenTypeOverrides","_emitBinaryTokens","_tokenTypeOverrides","_lineText","_tokens","_binaryTokens","_lastTokenEndIndex","scopesList","_t$getScopeNames2","_t$tokenAttributes","_this$balancedBracket","matchesAlways","_t$getScopeNames","scopes2","_iterator16","_step16","SyncRegistry","Pt","_grammars","_rawGrammars","_injectionGrammars","_iterator17","_step17","addGrammar","targetScope","grammarForScopeName","rawGrammar","createGrammar","Nt","_syncRegistry","_ensureGrammarCache","loadGrammarWithEmbeddedLanguages","loadGrammarWithConfiguration","configuration","_loadGrammar","unbalancedBracketSelectors","loadGrammar","dependencyProcessor","request","_loadSingleGrammar","_grammarForScopeName","_doLoadSingleGrammar","Rt","prototype","It","boolean","booleanish","number","spaceSeparated","commaOrSpaceSeparated","defined","checks","types","Yt","mask","_this12","check","_assertThisInitialized","_It","xlink","xLinkActuate","xLinkArcRole","xLinkHref","xLinkRole","xLinkShow","xLinkTitle","xLinkType","xml","xmlLang","xmlBase","xmlSpace","xmlns","xmlnsxlink","xmlnsXLink","aria","ariaActiveDescendant","ariaAtomic","ariaAutoComplete","ariaBusy","ariaChecked","ariaColCount","ariaColIndex","ariaColSpan","ariaControls","ariaCurrent","ariaDescribedBy","ariaDetails","ariaDisabled","ariaDropEffect","ariaErrorMessage","ariaExpanded","ariaFlowTo","ariaGrabbed","ariaHasPopup","ariaHidden","ariaInvalid","ariaKeyShortcuts","ariaLabel","ariaLabelledBy","ariaLevel","ariaLive","ariaModal","ariaMultiLine","ariaMultiSelectable","ariaOrientation","ariaOwns","ariaPlaceholder","ariaPosInSet","ariaPressed","ariaReadOnly","ariaRelevant","ariaRequired","ariaRoleDescription","ariaRowCount","ariaRowIndex","ariaRowSpan","ariaSelected","ariaSetSize","ariaSort","ariaValueMax","ariaValueMin","ariaValueNow","ariaValueText","role","acceptcharset","classname","htmlfor","httpequiv","abbr","accept","acceptCharset","accessKey","action","allow","allowFullScreen","allowPaymentRequest","allowUserMedia","alt","as","autoCapitalize","autoComplete","autoFocus","autoPlay","blocking","charSet","checked","cite","cols","colSpan","contentEditable","controls","controlsList","coords","crossOrigin","dateTime","decoding","defer","dir","dirName","disabled","download","draggable","encType","enterKeyHint","fetchPriority","form","formAction","formEncType","formMethod","formNoValidate","formTarget","headers","height","hidden","high","href","hrefLang","htmlFor","httpEquiv","imageSizes","imageSrcSet","inert","inputMode","integrity","is","isMap","itemId","itemProp","itemRef","itemScope","itemType","label","language","list","loading","loop","low","manifest","maxLength","media","method","multiple","muted","nonce","noModule","noValidate","onAbort","onAfterPrint","onAuxClick","onBeforeMatch","onBeforePrint","onBeforeToggle","onBeforeUnload","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragExit","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onHashChange","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLanguageChange","onLoad","onLoadedData","onLoadedMetadata","onLoadEnd","onLoadStart","onMessage","onMessageError","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onOffline","onOnline","onPageHide","onPageShow","onPaste","onPause","onPlay","onPlaying","onPopState","onProgress","onRateChange","onRejectionHandled","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onStorage","onSubmit","onSuspend","onTimeUpdate","onToggle","onUnhandledRejection","onUnload","onVolumeChange","onWaiting","onWheel","open","optimum","ping","placeholder","playsInline","popover","popoverTarget","popoverTargetAction","poster","preload","readOnly","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","seamless","selected","shadowRootClonable","shadowRootDelegatesFocus","shadowRootMode","shape","sizes","slot","spellCheck","srcDoc","srcLang","srcSet","step","tabIndex","title","translate","typeMustMatch","useMap","width","writingSuggestions","align","aLink","archive","axis","border","borderColor","bottomMargin","cellPadding","cellSpacing","char","charOff","classId","codeBase","codeType","compact","declare","event","face","frameBorder","hSpace","leftMargin","link","longDesc","lowSrc","marginHeight","marginWidth","noResize","noHref","noShade","noWrap","object","profile","prompt","rev","rightMargin","scheme","scrolling","standby","summary","topMargin","valueType","version","vAlign","vLink","vSpace","allowTransparency","autoCorrect","autoSave","disablePictureInPicture","disableRemotePlayback","prefix","security","unselectable","accentHeight","alignmentBaseline","arabicForm","baselineShift","capHeight","clipPath","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","dataType","dominantBaseline","enableBackground","fillOpacity","fillRule","floodColor","floodOpacity","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontVariant","fontWeight","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","horizAdvX","horizOriginX","horizOriginY","imageRendering","letterSpacing","lightingColor","markerEnd","markerMid","markerStart","navDown","navDownLeft","navDownRight","navLeft","navNext","navPrev","navRight","navUp","navUpLeft","navUpRight","onActivate","onBegin","onEnd","onFocusIn","onFocusOut","onMouseWheel","onRepeat","onShow","onZoom","overlinePosition","overlineThickness","paintOrder","panose1","pointerEvents","renderingIntent","shapeRendering","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","strokeDashArray","strokeDashOffset","strokeLineCap","strokeLineJoin","strokeMiterLimit","strokeOpacity","strokeWidth","textAnchor","textDecoration","textRendering","transformOrigin","typeOf","underlinePosition","underlineThickness","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","wordSpacing","writingMode","xHeight","playbackOrder","timelineBegin","about","accumulate","additive","alphabetic","amplitude","ascent","attributeName","attributeType","azimuth","bandwidth","baseFrequency","baseProfile","bbox","bias","by","calcMode","clip","clipPathUnits","contentScriptType","contentStyleType","cursor","cx","cy","defaultAction","descent","diffuseConstant","direction","display","dur","divisor","dx","dy","edgeMode","editable","elevation","exponent","externalResourcesRequired","fill","filterRes","filterUnits","focusable","focusHighlight","fr","fx","fy","g2","glyphRef","gradientTransform","gradientUnits","handler","hanging","hatchContentUnits","hatchUnits","ideographic","initialVisibility","in","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","kerning","lengthAdjust","limitingConeAngle","local","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","mediaCharacterEncoding","mediaContentEncodings","mediaSize","mediaTime","mode","numOctaves","observer","opacity","operator","order","orient","orientation","origin","overflow","overlay","pathLength","patternContentUnits","patternTransform","patternUnits","phase","pitch","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","propagate","radius","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","requiredFonts","requiredFormats","resource","restart","rotate","rx","ry","scale","seed","side","slope","snapshotTime","specularConstant","specularExponent","spreadMethod","spacing","startOffset","stdDeviation","stemh","stemv","stitchTiles","stroke","surfaceScale","syncBehavior","syncBehaviorDefault","syncMaster","syncTolerance","syncToleranceDefault","systemLanguage","tableValues","targetX","targetY","textLength","transformBehavior","to","unicode","viewBox","viewTarget","visibility","widths","x1","x2","xChannelSelector","y1","y2","yChannelSelector","z","zoomAndPan","htmlBase","svgBase","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","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","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","infin","ang","and","or","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sub","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","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","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","siblingBefore","closing","body","caption","colgroup","dd","li","optgroup","option","rp","tbody","td","tfoot","th","thead","tr","opening","previous","seen","_iterator18","_step18","double","invalid","unknown","_len2","parameters","zwitch","node_","comment","_1","_2","doctype","_3","element","selfClosing","last","serializeAttributes","raw","un","_this13","_Error2","UtfString","jn","utf16Length","utf8Length","_utf8ByteLength","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","utf16Value","omalloc","codepoint","yn","LAST_ID","_onigBinding","utfString","_sharedPtrInUse","_sharedPtr","convertUtf8OffsetToUtf16","utf8Offset","convertUtf16OffsetToUtf8","utf16Offset","ofree","static","bn","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","getLastOnigError","throwLastOnigError","_ptr","freeOnigScanner","arg","_findNextMatchSync","debugCall","resultPtr","findNextOnigScannerMatch","beg","En","_this14","Gn","visited","pushScope","stack2","getScopes","toJSON","initial","black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite","__defProp$1","__publicField$1","configurable","_resolver","_langs","_alias","_this15","_Nt","_resolvedThemes","_loadedThemesCache","textmateTheme","_textmateThemeCache","resolved","_resolvedGrammars","embeddedLazilyBy","_langMap","embeddedLangsLazy","addLanguage","grammarConfig","alias","_loadedLanguagesCache","_iterator38","_step38","_langGraph","_iterator39","_step39","resolveEmbeddedLanguages","langsGraphArray","missingLangs","_ref13","_ref14","dependents","_ref15","_e$embeddedLangs","_ref16","embeddedLangs","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","_i35","_e46","_e46$_i","_i36","_e47","_e47$_i","_iterator40","_step40","embeddedLang","Registry$1","__defProp","__publicField","di","__defNormalProp","fi","getLangRegistration","langIdOrAlias","_scopeToLang","injectTo","scopeParts","subScopeName","NileHighlighter","_o22","Oi","highlightedCode","_this19","_updated","_callee13","changedProperties","requestUpdate","updated","_x22","render","_templateObject","_taggedTemplateLiteral","__decorate","NileElement","reflect","_export","customElement"],"mappings":"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,CAAA,MAAA,CACA,OACA,QACA,CAAA,KAAA,CACA,QACA,CAAA,OAAA,CACA,SACA,MACA,CAAA,IAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,OACA,IACA,CAAA,QAAA,CACA,QACA,CAAA,OAAA,CACA,SACA,QACA,CAAA,QAAA,CACA,OACA,MACA,CAAA,KAAA,CACA,QACA,QACA,CAAA,OAAA,CACA,SACA,MACA,CAAA,QAAA,CACA,SACA,OACA,CAAA,OAAA,CACA,QACA,QACA,CAAA,KAAA,CACA,QACA,QACA,CAAA,MAAA,CACA,QACA,CAAA,QAAA,CACA,QACA,MACA,CAAA,MAAA,CACA,SACA,KACA,CAAA,QAAA,CACA,SACA,OACA,CAAA,QAAA,CACA,KACA,CAAA,MAAA,CACA,SACA,QACA,CAAA,QAAA,CACA,KACA,QACA,CAAA,OAAA,CACA,QACA,QACA,CAAA,QAAA,CACA,MACA,CAAA,OAAA,CACA,KACA,MACA,CAAA,OAAA,CACA,SACA,MACA,CAAA,KAAA,CACA,SACA,QACA,CAAA,OAAA,CACA,QACA,CAAA,MAAA,CACA,OACA,QACA,CAAA,QAAA,CACA,OACA,MACA,CAAA,QAAA,CACA,QACA,MACA,CAAA,OAAA,CACA,KACA,CAAA,MAAA,CACA,MACA,MACA,CAAA,MAAA,CACA,OACA,OACA,CAAA,OAAA,CACA,QACA,QACA,CAAA,OAAA,CACA,QACA,CAAA,KAAA,CACA,OACA,QACA,CAAA,KAAA,CACA,QC1GWgsD,EAAyB,CAAA,CACpCC,KAAM,GACNC,CAAAA,KAAAA,CAAO,GACPC,CAAAA,IAAAA,CAAM,IACNC,KAAO,CAAA,GAAA,CACPC,OAAQ,GACRC,CAAAA,GAAAA,CAAK,IACLC,MAAQ,CAAA,GAAA,CACRC,IAAM,CAAA,GAAA,CACNC,IAAK,GACLC,CAAAA,IAAAA,CAAM,IACNC,IAAM,CAAA,GAAA,CACNC,MAAO,GACPC,CAAAA,GAAAA,CAAK,GACLC,CAAAA,GAAAA,CAAK,IACLC,GAAK,CAAA,GAAA,CACLC,KAAM,GACNC,CAAAA,GAAAA,CAAK,IACLC,M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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,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]}