@winspan/claude-forge 8.28.2 → 8.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/README.md +68 -215
  2. package/dist/capability/execution-manager.d.ts +96 -0
  3. package/dist/capability/execution-manager.d.ts.map +1 -0
  4. package/dist/capability/execution-manager.js +260 -0
  5. package/dist/capability/execution-manager.js.map +1 -0
  6. package/dist/capability/executor/background-executor.d.ts +58 -0
  7. package/dist/capability/executor/background-executor.d.ts.map +1 -0
  8. package/dist/capability/executor/background-executor.js +322 -0
  9. package/dist/capability/executor/background-executor.js.map +1 -0
  10. package/dist/capability/executor/foreground-executor.d.ts +26 -0
  11. package/dist/capability/executor/foreground-executor.d.ts.map +1 -0
  12. package/dist/capability/executor/foreground-executor.js +82 -0
  13. package/dist/capability/executor/foreground-executor.js.map +1 -0
  14. package/dist/capability/executor/orchestrator.d.ts +38 -0
  15. package/dist/capability/executor/orchestrator.d.ts.map +1 -0
  16. package/dist/capability/executor/orchestrator.js +158 -0
  17. package/dist/capability/executor/orchestrator.js.map +1 -0
  18. package/dist/capability/executor/stream-parser.d.ts +73 -0
  19. package/dist/capability/executor/stream-parser.d.ts.map +1 -0
  20. package/dist/capability/executor/stream-parser.js +56 -0
  21. package/dist/capability/executor/stream-parser.js.map +1 -0
  22. package/dist/capability/executor/types.d.ts +44 -0
  23. package/dist/capability/executor/types.d.ts.map +1 -0
  24. package/dist/capability/executor/types.js +9 -0
  25. package/dist/capability/executor/types.js.map +1 -0
  26. package/dist/capability/executor/worker-auth-probe.d.ts +30 -0
  27. package/dist/capability/executor/worker-auth-probe.d.ts.map +1 -0
  28. package/dist/capability/executor/worker-auth-probe.js +108 -0
  29. package/dist/capability/executor/worker-auth-probe.js.map +1 -0
  30. package/dist/capability/methodologies/bmad.yaml +17 -5
  31. package/dist/capability/methodologies/code-quality-audit.yaml +26 -0
  32. package/dist/capability/methodologies/harness-engineering.yaml +12 -6
  33. package/dist/capability/methodologies/test-coverage-scan.yaml +26 -0
  34. package/dist/capability/methodology-planner.d.ts +17 -1
  35. package/dist/capability/methodology-planner.d.ts.map +1 -1
  36. package/dist/capability/methodology-planner.js +125 -0
  37. package/dist/capability/methodology-planner.js.map +1 -1
  38. package/dist/capability/methodology-registry.d.ts.map +1 -1
  39. package/dist/capability/methodology-registry.js +21 -5
  40. package/dist/capability/methodology-registry.js.map +1 -1
  41. package/dist/capability/types.d.ts +12 -1
  42. package/dist/capability/types.d.ts.map +1 -1
  43. package/dist/core/ai/provider.d.ts +17 -9
  44. package/dist/core/ai/provider.d.ts.map +1 -1
  45. package/dist/core/ai/provider.js +130 -23
  46. package/dist/core/ai/provider.js.map +1 -1
  47. package/dist/core/ai/types.d.ts +26 -5
  48. package/dist/core/ai/types.d.ts.map +1 -1
  49. package/dist/core/storage/rows.d.ts +153 -0
  50. package/dist/core/storage/rows.d.ts.map +1 -0
  51. package/dist/core/storage/rows.js +14 -0
  52. package/dist/core/storage/rows.js.map +1 -0
  53. package/dist/core/storage/schema.sql +26 -2
  54. package/dist/core/storage/sqlite.d.ts +112 -6
  55. package/dist/core/storage/sqlite.d.ts.map +1 -1
  56. package/dist/core/storage/sqlite.js +480 -22
  57. package/dist/core/storage/sqlite.js.map +1 -1
  58. package/dist/core/utils/token-tracker.d.ts +40 -0
  59. package/dist/core/utils/token-tracker.d.ts.map +1 -0
  60. package/dist/core/utils/token-tracker.js +70 -0
  61. package/dist/core/utils/token-tracker.js.map +1 -0
  62. package/dist/daemon/handlers/methodology-formatter.d.ts +7 -0
  63. package/dist/daemon/handlers/methodology-formatter.d.ts.map +1 -1
  64. package/dist/daemon/handlers/methodology-formatter.js +46 -0
  65. package/dist/daemon/handlers/methodology-formatter.js.map +1 -1
  66. package/dist/daemon/handlers/post-tool-use.d.ts +1 -0
  67. package/dist/daemon/handlers/post-tool-use.d.ts.map +1 -1
  68. package/dist/daemon/handlers/post-tool-use.js +7 -0
  69. package/dist/daemon/handlers/post-tool-use.js.map +1 -1
  70. package/dist/daemon/handlers/stop.d.ts +17 -1
  71. package/dist/daemon/handlers/stop.d.ts.map +1 -1
  72. package/dist/daemon/handlers/stop.js +97 -1
  73. package/dist/daemon/handlers/stop.js.map +1 -1
  74. package/dist/daemon/handlers/user-prompt.d.ts.map +1 -1
  75. package/dist/daemon/handlers/user-prompt.js +97 -5
  76. package/dist/daemon/handlers/user-prompt.js.map +1 -1
  77. package/dist/daemon/idle-detector.d.ts +35 -0
  78. package/dist/daemon/idle-detector.d.ts.map +1 -0
  79. package/dist/daemon/idle-detector.js +56 -0
  80. package/dist/daemon/idle-detector.js.map +1 -0
  81. package/dist/daemon/idle-trigger.d.ts +53 -0
  82. package/dist/daemon/idle-trigger.d.ts.map +1 -0
  83. package/dist/daemon/idle-trigger.js +153 -0
  84. package/dist/daemon/idle-trigger.js.map +1 -0
  85. package/dist/daemon/index.d.ts.map +1 -1
  86. package/dist/daemon/index.js +49 -2
  87. package/dist/daemon/index.js.map +1 -1
  88. package/dist/daemon/methodology-pending-queue.d.ts +33 -0
  89. package/dist/daemon/methodology-pending-queue.d.ts.map +1 -0
  90. package/dist/daemon/methodology-pending-queue.js +120 -0
  91. package/dist/daemon/methodology-pending-queue.js.map +1 -0
  92. package/dist/daemon/routing-observer.d.ts +2 -1
  93. package/dist/daemon/routing-observer.d.ts.map +1 -1
  94. package/dist/daemon/routing-observer.js +117 -39
  95. package/dist/daemon/routing-observer.js.map +1 -1
  96. package/dist/engine/agent-router.d.ts +6 -0
  97. package/dist/engine/agent-router.d.ts.map +1 -1
  98. package/dist/engine/agent-router.js +13 -1
  99. package/dist/engine/agent-router.js.map +1 -1
  100. package/dist/engine/conventions/routing.yaml +15 -0
  101. package/dist/engine/dsl/compiler.d.ts.map +1 -1
  102. package/dist/engine/dsl/compiler.js +85 -3
  103. package/dist/engine/dsl/compiler.js.map +1 -1
  104. package/dist/engine/recommender.d.ts.map +1 -1
  105. package/dist/engine/recommender.js +10 -1
  106. package/dist/engine/recommender.js.map +1 -1
  107. package/dist/intelligence/classifier.d.ts +6 -0
  108. package/dist/intelligence/classifier.d.ts.map +1 -1
  109. package/dist/intelligence/classifier.js +57 -0
  110. package/dist/intelligence/classifier.js.map +1 -1
  111. package/dist/skills/registry.d.ts +6 -0
  112. package/dist/skills/registry.d.ts.map +1 -1
  113. package/dist/skills/registry.js +49 -14
  114. package/dist/skills/registry.js.map +1 -1
  115. package/dist/skills/semantic-matcher.d.ts +1 -0
  116. package/dist/skills/semantic-matcher.d.ts.map +1 -1
  117. package/dist/skills/semantic-matcher.js +6 -1
  118. package/dist/skills/semantic-matcher.js.map +1 -1
  119. package/dist/web/auth-middleware.d.ts +22 -0
  120. package/dist/web/auth-middleware.d.ts.map +1 -0
  121. package/dist/web/auth-middleware.js +51 -0
  122. package/dist/web/auth-middleware.js.map +1 -0
  123. package/dist/web/routes/agents.d.ts +7 -0
  124. package/dist/web/routes/agents.d.ts.map +1 -0
  125. package/dist/web/routes/agents.js +192 -0
  126. package/dist/web/routes/agents.js.map +1 -0
  127. package/dist/web/routes/ai.d.ts +10 -0
  128. package/dist/web/routes/ai.d.ts.map +1 -0
  129. package/dist/web/routes/ai.js +197 -0
  130. package/dist/web/routes/ai.js.map +1 -0
  131. package/dist/web/routes/auth.d.ts +12 -0
  132. package/dist/web/routes/auth.d.ts.map +1 -0
  133. package/dist/web/routes/auth.js +20 -0
  134. package/dist/web/routes/auth.js.map +1 -0
  135. package/dist/web/routes/events.d.ts +11 -0
  136. package/dist/web/routes/events.d.ts.map +1 -0
  137. package/dist/web/routes/events.js +43 -0
  138. package/dist/web/routes/events.js.map +1 -0
  139. package/dist/web/routes/execution-trace.d.ts +13 -0
  140. package/dist/web/routes/execution-trace.d.ts.map +1 -0
  141. package/dist/web/routes/execution-trace.js +308 -0
  142. package/dist/web/routes/execution-trace.js.map +1 -0
  143. package/dist/web/routes/experiments.d.ts +15 -0
  144. package/dist/web/routes/experiments.d.ts.map +1 -0
  145. package/dist/web/routes/experiments.js +187 -0
  146. package/dist/web/routes/experiments.js.map +1 -0
  147. package/dist/web/routes/methodology.d.ts +12 -0
  148. package/dist/web/routes/methodology.d.ts.map +1 -0
  149. package/dist/web/routes/methodology.js +228 -0
  150. package/dist/web/routes/methodology.js.map +1 -0
  151. package/dist/web/routes/patch.d.ts +7 -0
  152. package/dist/web/routes/patch.d.ts.map +1 -0
  153. package/dist/web/routes/patch.js +106 -0
  154. package/dist/web/routes/patch.js.map +1 -0
  155. package/dist/web/routes/routing.d.ts +17 -0
  156. package/dist/web/routes/routing.d.ts.map +1 -0
  157. package/dist/web/routes/routing.js +582 -0
  158. package/dist/web/routes/routing.js.map +1 -0
  159. package/dist/web/routes/rules.d.ts +7 -0
  160. package/dist/web/routes/rules.d.ts.map +1 -0
  161. package/dist/web/routes/rules.js +105 -0
  162. package/dist/web/routes/rules.js.map +1 -0
  163. package/dist/web/routes/sessions.d.ts +10 -0
  164. package/dist/web/routes/sessions.d.ts.map +1 -0
  165. package/dist/web/routes/sessions.js +234 -0
  166. package/dist/web/routes/sessions.js.map +1 -0
  167. package/dist/web/routes/skills.d.ts +10 -0
  168. package/dist/web/routes/skills.d.ts.map +1 -0
  169. package/dist/web/routes/skills.js +272 -0
  170. package/dist/web/routes/skills.js.map +1 -0
  171. package/dist/web/routes/static.d.ts +19 -0
  172. package/dist/web/routes/static.d.ts.map +1 -0
  173. package/dist/web/routes/static.js +61 -0
  174. package/dist/web/routes/static.js.map +1 -0
  175. package/dist/web/routes/status.d.ts +7 -0
  176. package/dist/web/routes/status.d.ts.map +1 -0
  177. package/dist/web/routes/status.js +28 -0
  178. package/dist/web/routes/status.js.map +1 -0
  179. package/dist/web/routes/token-usage.d.ts +7 -0
  180. package/dist/web/routes/token-usage.d.ts.map +1 -0
  181. package/dist/web/routes/token-usage.js +33 -0
  182. package/dist/web/routes/token-usage.js.map +1 -0
  183. package/dist/web/routes/types.d.ts +40 -0
  184. package/dist/web/routes/types.d.ts.map +1 -0
  185. package/dist/web/routes/types.js +52 -0
  186. package/dist/web/routes/types.js.map +1 -0
  187. package/dist/web/server.d.ts +13 -4
  188. package/dist/web/server.d.ts.map +1 -1
  189. package/dist/web/server.js +60 -2210
  190. package/dist/web/server.js.map +1 -1
  191. package/dist/web/ssrf-guard.d.ts +35 -0
  192. package/dist/web/ssrf-guard.d.ts.map +1 -0
  193. package/dist/web/ssrf-guard.js +93 -0
  194. package/dist/web/ssrf-guard.js.map +1 -0
  195. package/dist/web/static/assets/AIConfig-D-vrYoJ3.js +2 -0
  196. package/dist/web/static/assets/AIConfig-D-vrYoJ3.js.map +1 -0
  197. package/dist/web/static/assets/Agents-DAGWYsJj.js +2 -0
  198. package/dist/web/static/assets/Agents-DAGWYsJj.js.map +1 -0
  199. package/dist/web/static/assets/CodeBlock--H53gk46.js +2 -0
  200. package/dist/web/static/assets/CodeBlock--H53gk46.js.map +1 -0
  201. package/dist/web/static/assets/Dashboard-qUCxXFSI.js +2 -0
  202. package/dist/web/static/assets/Dashboard-qUCxXFSI.js.map +1 -0
  203. package/dist/web/static/assets/Drawer-DeKukfwJ.js +2 -0
  204. package/dist/web/static/assets/Drawer-DeKukfwJ.js.map +1 -0
  205. package/dist/web/static/assets/Events-BoQ8Fo5k.js +2 -0
  206. package/dist/web/static/assets/Events-BoQ8Fo5k.js.map +1 -0
  207. package/dist/web/static/assets/ExecutionTrace-sFZ_vHNf.js +2 -0
  208. package/dist/web/static/assets/ExecutionTrace-sFZ_vHNf.js.map +1 -0
  209. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js +2 -0
  210. package/dist/web/static/assets/MarkdownRenderer-CCIz1MOz.js.map +1 -0
  211. package/dist/web/static/assets/Methodologies-C0-Keokj.js +5 -0
  212. package/dist/web/static/assets/Methodologies-C0-Keokj.js.map +1 -0
  213. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js +2 -0
  214. package/dist/web/static/assets/MethodologyDetail-Do1taSKM.js.map +1 -0
  215. package/dist/web/static/assets/Routing-CFmM7JuB.js +2 -0
  216. package/dist/web/static/assets/Routing-CFmM7JuB.js.map +1 -0
  217. package/dist/web/static/assets/SessionDetail-DzTue2xK.js +2 -0
  218. package/dist/web/static/assets/SessionDetail-DzTue2xK.js.map +1 -0
  219. package/dist/web/static/assets/Sessions-Bjf-Mvwb.js +2 -0
  220. package/dist/web/static/assets/Sessions-Bjf-Mvwb.js.map +1 -0
  221. package/dist/web/static/assets/Skills-CrLshkrJ.js +2 -0
  222. package/dist/web/static/assets/Skills-CrLshkrJ.js.map +1 -0
  223. package/dist/web/static/assets/charts-CLrM0_uM.js +37 -0
  224. package/dist/web/static/assets/charts-CLrM0_uM.js.map +1 -0
  225. package/dist/web/static/assets/date-fns-CZ_bHujz.js +2 -0
  226. package/dist/web/static/assets/date-fns-CZ_bHujz.js.map +1 -0
  227. package/dist/web/static/assets/export-CEzDNM66.js +4 -0
  228. package/dist/web/static/assets/export-CEzDNM66.js.map +1 -0
  229. package/dist/web/static/assets/index-D23sAOAt.js +3 -0
  230. package/dist/web/static/assets/index-D23sAOAt.js.map +1 -0
  231. package/dist/web/static/assets/index-Drpf7sLl.css +1 -0
  232. package/dist/web/static/assets/lucide-DjB4fWNj.js +227 -0
  233. package/dist/web/static/assets/lucide-DjB4fWNj.js.map +1 -0
  234. package/dist/web/static/assets/query-C99w429o.js +2 -0
  235. package/dist/web/static/assets/query-C99w429o.js.map +1 -0
  236. package/dist/web/static/assets/react-router-I-HqunH7.js +20 -0
  237. package/dist/web/static/assets/react-router-I-HqunH7.js.map +1 -0
  238. package/dist/web/static/assets/react-vendor-CSp-GLFF.js +49 -0
  239. package/dist/web/static/assets/react-vendor-CSp-GLFF.js.map +1 -0
  240. package/dist/web/static/assets/syntax-highlighter-44FakypI.js +9 -0
  241. package/dist/web/static/assets/syntax-highlighter-44FakypI.js.map +1 -0
  242. package/dist/web/static/assets/vendor-CMMjVdZs.js +64 -0
  243. package/dist/web/static/assets/vendor-CMMjVdZs.js.map +1 -0
  244. package/dist/web/static/index.html +8 -2
  245. package/package.json +3 -2
  246. package/dist/web/static/assets/index-CtylfoaN.css +0 -1
  247. package/dist/web/static/assets/index-DnaQt27h.js +0 -388
  248. package/dist/web/static/assets/index-DnaQt27h.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syntax-highlighter-44FakypI.js","sources":["../../node_modules/react-syntax-highlighter/dist/esm/create-element.js","../../node_modules/react-syntax-highlighter/dist/esm/checkForListedLanguage.js","../../node_modules/react-syntax-highlighter/dist/esm/highlight.js","../../node_modules/react-syntax-highlighter/dist/esm/languages/prism/supported-languages.js","../../node_modules/refractor/lib/prism-core.js","../../node_modules/refractor/lib/core.js","../../node_modules/react-syntax-highlighter/dist/esm/styles/prism/prism.js","../../node_modules/refractor/lang/markup.js","../../node_modules/refractor/lang/css.js","../../node_modules/refractor/lang/clike.js","../../node_modules/refractor/lang/regex.js","../../node_modules/refractor/lang/javascript.js","../../node_modules/refractor/lang/abap.js","../../node_modules/refractor/lang/abnf.js","../../node_modules/refractor/lang/actionscript.js","../../node_modules/refractor/lang/ada.js","../../node_modules/refractor/lang/agda.js","../../node_modules/refractor/lang/al.js","../../node_modules/refractor/lang/antlr4.js","../../node_modules/refractor/lang/apacheconf.js","../../node_modules/refractor/lang/sql.js","../../node_modules/refractor/lang/apex.js","../../node_modules/refractor/lang/apl.js","../../node_modules/refractor/lang/applescript.js","../../node_modules/refractor/lang/aql.js","../../node_modules/refractor/lang/c.js","../../node_modules/refractor/lang/cpp.js","../../node_modules/refractor/lang/arduino.js","../../node_modules/refractor/lang/arff.js","../../node_modules/refractor/lang/armasm.js","../../node_modules/refractor/lang/bash.js","../../node_modules/refractor/lang/yaml.js","../../node_modules/refractor/lang/markdown.js","../../node_modules/refractor/lang/arturo.js","../../node_modules/refractor/lang/asciidoc.js","../../node_modules/refractor/lang/csharp.js","../../node_modules/refractor/lang/aspnet.js","../../node_modules/refractor/lang/asm6502.js","../../node_modules/refractor/lang/asmatmel.js","../../node_modules/refractor/lang/autohotkey.js","../../node_modules/refractor/lang/autoit.js","../../node_modules/refractor/lang/avisynth.js","../../node_modules/refractor/lang/avro-idl.js","../../node_modules/refractor/lang/awk.js","../../node_modules/refractor/lang/basic.js","../../node_modules/refractor/lang/batch.js","../../node_modules/refractor/lang/bbcode.js","../../node_modules/refractor/lang/bbj.js","../../node_modules/refractor/lang/bicep.js","../../node_modules/refractor/lang/birb.js","../../node_modules/refractor/lang/bison.js","../../node_modules/refractor/lang/bnf.js","../../node_modules/refractor/lang/bqn.js","../../node_modules/refractor/lang/brainfuck.js","../../node_modules/refractor/lang/brightscript.js","../../node_modules/refractor/lang/bro.js","../../node_modules/refractor/lang/bsl.js","../../node_modules/refractor/lang/cfscript.js","../../node_modules/refractor/lang/chaiscript.js","../../node_modules/refractor/lang/cil.js","../../node_modules/refractor/lang/cilkc.js","../../node_modules/refractor/lang/cilkcpp.js","../../node_modules/refractor/lang/clojure.js","../../node_modules/refractor/lang/cmake.js","../../node_modules/refractor/lang/cobol.js","../../node_modules/refractor/lang/coffeescript.js","../../node_modules/refractor/lang/concurnas.js","../../node_modules/refractor/lang/csp.js","../../node_modules/refractor/lang/cooklang.js","../../node_modules/refractor/lang/coq.js","../../node_modules/refractor/lang/ruby.js","../../node_modules/refractor/lang/crystal.js","../../node_modules/refractor/lang/css-extras.js","../../node_modules/refractor/lang/csv.js","../../node_modules/refractor/lang/cue.js","../../node_modules/refractor/lang/cypher.js","../../node_modules/refractor/lang/d.js","../../node_modules/refractor/lang/dart.js","../../node_modules/refractor/lang/dataweave.js","../../node_modules/refractor/lang/dax.js","../../node_modules/refractor/lang/dhall.js","../../node_modules/refractor/lang/diff.js","../../node_modules/refractor/lang/markup-templating.js","../../node_modules/refractor/lang/django.js","../../node_modules/refractor/lang/dns-zone-file.js","../../node_modules/refractor/lang/docker.js","../../node_modules/refractor/lang/dot.js","../../node_modules/refractor/lang/ebnf.js","../../node_modules/refractor/lang/editorconfig.js","../../node_modules/refractor/lang/eiffel.js","../../node_modules/refractor/lang/ejs.js","../../node_modules/refractor/lang/elixir.js","../../node_modules/refractor/lang/elm.js","../../node_modules/refractor/lang/lua.js","../../node_modules/refractor/lang/etlua.js","../../node_modules/refractor/lang/erb.js","../../node_modules/refractor/lang/erlang.js","../../node_modules/refractor/lang/excel-formula.js","../../node_modules/refractor/lang/fsharp.js","../../node_modules/refractor/lang/factor.js","../../node_modules/refractor/lang/false.js","../../node_modules/refractor/lang/firestore-security-rules.js","../../node_modules/refractor/lang/flow.js","../../node_modules/refractor/lang/fortran.js","../../node_modules/refractor/lang/ftl.js","../../node_modules/refractor/lang/gml.js","../../node_modules/refractor/lang/gap.js","../../node_modules/refractor/lang/gcode.js","../../node_modules/refractor/lang/gdscript.js","../../node_modules/refractor/lang/gedcom.js","../../node_modules/refractor/lang/gettext.js","../../node_modules/refractor/lang/gherkin.js","../../node_modules/refractor/lang/git.js","../../node_modules/refractor/lang/glsl.js","../../node_modules/refractor/lang/gn.js","../../node_modules/refractor/lang/linker-script.js","../../node_modules/refractor/lang/go.js","../../node_modules/refractor/lang/go-module.js","../../node_modules/refractor/lang/gradle.js","../../node_modules/refractor/lang/graphql.js","../../node_modules/refractor/lang/groovy.js","../../node_modules/refractor/lang/less.js","../../node_modules/refractor/lang/scss.js","../../node_modules/refractor/lang/textile.js","../../node_modules/refractor/lang/haml.js","../../node_modules/refractor/lang/handlebars.js","../../node_modules/refractor/lang/haskell.js","../../node_modules/refractor/lang/haxe.js","../../node_modules/refractor/lang/hcl.js","../../node_modules/refractor/lang/hlsl.js","../../node_modules/refractor/lang/hoon.js","../../node_modules/refractor/lang/hpkp.js","../../node_modules/refractor/lang/hsts.js","../../node_modules/refractor/lang/json.js","../../node_modules/refractor/lang/uri.js","../../node_modules/refractor/lang/http.js","../../node_modules/refractor/lang/ichigojam.js","../../node_modules/refractor/lang/icon.js","../../node_modules/refractor/lang/icu-message-format.js","../../node_modules/refractor/lang/idris.js","../../node_modules/refractor/lang/ignore.js","../../node_modules/refractor/lang/inform7.js","../../node_modules/refractor/lang/ini.js","../../node_modules/refractor/lang/io.js","../../node_modules/refractor/lang/j.js","../../node_modules/refractor/lang/java.js","../../node_modules/refractor/lang/php.js","../../node_modules/refractor/lang/javadoclike.js","../../node_modules/refractor/lang/scala.js","../../node_modules/refractor/lang/javadoc.js","../../node_modules/refractor/lang/javastacktrace.js","../../node_modules/refractor/lang/jexl.js","../../node_modules/refractor/lang/jolie.js","../../node_modules/refractor/lang/jq.js","../../node_modules/refractor/lang/js-templates.js","../../node_modules/refractor/lang/typescript.js","../../node_modules/refractor/lang/jsdoc.js","../../node_modules/refractor/lang/n4js.js","../../node_modules/refractor/lang/js-extras.js","../../node_modules/refractor/lang/json5.js","../../node_modules/refractor/lang/jsonp.js","../../node_modules/refractor/lang/jsstacktrace.js","../../node_modules/refractor/lang/julia.js","../../node_modules/refractor/lang/keepalived.js","../../node_modules/refractor/lang/keyman.js","../../node_modules/refractor/lang/kotlin.js","../../node_modules/refractor/lang/kumir.js","../../node_modules/refractor/lang/kusto.js","../../node_modules/refractor/lang/latex.js","../../node_modules/refractor/lang/latte.js","../../node_modules/refractor/lang/scheme.js","../../node_modules/refractor/lang/lilypond.js","../../node_modules/refractor/lang/liquid.js","../../node_modules/refractor/lang/lisp.js","../../node_modules/refractor/lang/livescript.js","../../node_modules/refractor/lang/llvm.js","../../node_modules/refractor/lang/log.js","../../node_modules/refractor/lang/lolcode.js","../../node_modules/refractor/lang/magma.js","../../node_modules/refractor/lang/makefile.js","../../node_modules/refractor/lang/mata.js","../../node_modules/refractor/lang/matlab.js","../../node_modules/refractor/lang/maxscript.js","../../node_modules/refractor/lang/mel.js","../../node_modules/refractor/lang/mermaid.js","../../node_modules/refractor/lang/metafont.js","../../node_modules/refractor/lang/mizar.js","../../node_modules/refractor/lang/mongodb.js","../../node_modules/refractor/lang/monkey.js","../../node_modules/refractor/lang/moonscript.js","../../node_modules/refractor/lang/n1ql.js","../../node_modules/refractor/lang/nand2tetris-hdl.js","../../node_modules/refractor/lang/naniscript.js","../../node_modules/refractor/lang/nasm.js","../../node_modules/refractor/lang/neon.js","../../node_modules/refractor/lang/nevod.js","../../node_modules/refractor/lang/nginx.js","../../node_modules/refractor/lang/nim.js","../../node_modules/refractor/lang/nix.js","../../node_modules/refractor/lang/nsis.js","../../node_modules/refractor/lang/objectivec.js","../../node_modules/refractor/lang/ocaml.js","../../node_modules/refractor/lang/odin.js","../../node_modules/refractor/lang/opencl.js","../../node_modules/refractor/lang/openqasm.js","../../node_modules/refractor/lang/oz.js","../../node_modules/refractor/lang/parigp.js","../../node_modules/refractor/lang/parser.js","../../node_modules/refractor/lang/pascal.js","../../node_modules/refractor/lang/pascaligo.js","../../node_modules/refractor/lang/psl.js","../../node_modules/refractor/lang/pcaxis.js","../../node_modules/refractor/lang/peoplecode.js","../../node_modules/refractor/lang/perl.js","../../node_modules/refractor/lang/phpdoc.js","../../node_modules/refractor/lang/php-extras.js","../../node_modules/refractor/lang/plant-uml.js","../../node_modules/refractor/lang/plsql.js","../../node_modules/refractor/lang/powerquery.js","../../node_modules/refractor/lang/powershell.js","../../node_modules/refractor/lang/processing.js","../../node_modules/refractor/lang/prolog.js","../../node_modules/refractor/lang/promql.js","../../node_modules/refractor/lang/properties.js","../../node_modules/refractor/lang/protobuf.js","../../node_modules/refractor/lang/stylus.js","../../node_modules/refractor/lang/twig.js","../../node_modules/refractor/lang/pug.js","../../node_modules/refractor/lang/puppet.js","../../node_modules/refractor/lang/pure.js","../../node_modules/refractor/lang/purebasic.js","../../node_modules/refractor/lang/purescript.js","../../node_modules/refractor/lang/python.js","../../node_modules/refractor/lang/qsharp.js","../../node_modules/refractor/lang/q.js","../../node_modules/refractor/lang/qml.js","../../node_modules/refractor/lang/qore.js","../../node_modules/refractor/lang/r.js","../../node_modules/refractor/lang/racket.js","../../node_modules/refractor/lang/cshtml.js","../../node_modules/refractor/lang/jsx.js","../../node_modules/refractor/lang/tsx.js","../../node_modules/refractor/lang/reason.js","../../node_modules/refractor/lang/rego.js","../../node_modules/refractor/lang/renpy.js","../../node_modules/refractor/lang/rescript.js","../../node_modules/refractor/lang/rest.js","../../node_modules/refractor/lang/rip.js","../../node_modules/refractor/lang/roboconf.js","../../node_modules/refractor/lang/robotframework.js","../../node_modules/refractor/lang/rust.js","../../node_modules/refractor/lang/sas.js","../../node_modules/refractor/lang/sass.js","../../node_modules/refractor/lang/shell-session.js","../../node_modules/refractor/lang/smali.js","../../node_modules/refractor/lang/smalltalk.js","../../node_modules/refractor/lang/smarty.js","../../node_modules/refractor/lang/sml.js","../../node_modules/refractor/lang/solidity.js","../../node_modules/refractor/lang/solution-file.js","../../node_modules/refractor/lang/soy.js","../../node_modules/refractor/lang/turtle.js","../../node_modules/refractor/lang/sparql.js","../../node_modules/refractor/lang/splunk-spl.js","../../node_modules/refractor/lang/sqf.js","../../node_modules/refractor/lang/squirrel.js","../../node_modules/refractor/lang/stan.js","../../node_modules/refractor/lang/stata.js","../../node_modules/refractor/lang/iecst.js","../../node_modules/refractor/lang/supercollider.js","../../node_modules/refractor/lang/swift.js","../../node_modules/refractor/lang/systemd.js","../../node_modules/refractor/lang/t4-templating.js","../../node_modules/refractor/lang/t4-cs.js","../../node_modules/refractor/lang/vbnet.js","../../node_modules/refractor/lang/t4-vb.js","../../node_modules/refractor/lang/tap.js","../../node_modules/refractor/lang/tcl.js","../../node_modules/refractor/lang/tt2.js","../../node_modules/refractor/lang/toml.js","../../node_modules/refractor/lang/tremor.js","../../node_modules/refractor/lang/typoscript.js","../../node_modules/refractor/lang/unrealscript.js","../../node_modules/refractor/lang/uorazor.js","../../node_modules/refractor/lang/v.js","../../node_modules/refractor/lang/vala.js","../../node_modules/refractor/lang/velocity.js","../../node_modules/refractor/lang/verilog.js","../../node_modules/refractor/lang/vhdl.js","../../node_modules/refractor/lang/vim.js","../../node_modules/refractor/lang/visual-basic.js","../../node_modules/refractor/lang/warpscript.js","../../node_modules/refractor/lang/wasm.js","../../node_modules/refractor/lang/web-idl.js","../../node_modules/refractor/lang/wgsl.js","../../node_modules/refractor/lang/wiki.js","../../node_modules/refractor/lang/wolfram.js","../../node_modules/refractor/lang/wren.js","../../node_modules/refractor/lang/xeora.js","../../node_modules/refractor/lang/xml-doc.js","../../node_modules/refractor/lang/xojo.js","../../node_modules/refractor/lang/xquery.js","../../node_modules/refractor/lang/yang.js","../../node_modules/refractor/lang/zig.js","../../node_modules/refractor/lib/all.js","../../node_modules/react-syntax-highlighter/dist/esm/prism.js","../../node_modules/react-syntax-highlighter/dist/esm/styles/prism/one-light.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\n\n// Get all possible permutations of all power sets\n//\n// Super simple, non-algorithmic solution since the\n// number of class names will not be greater than 4\nfunction powerSetPermutations(arr) {\n var arrLength = arr.length;\n if (arrLength === 0 || arrLength === 1) return arr;\n if (arrLength === 2) {\n // prettier-ignore\n return [arr[0], arr[1], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0])];\n }\n if (arrLength === 3) {\n return [arr[0], arr[1], arr[2], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n if (arrLength >= 4) {\n // Currently does not support more than 4 extra\n // class names (after `.token` has been removed)\n return [arr[0], arr[1], arr[2], arr[3], \"\".concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[3], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[3]), \"\".concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[3], \".\").concat(arr[0]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[2], \".\").concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[1], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[0], \".\").concat(arr[2], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[0], \".\").concat(arr[2]), \"\".concat(arr[3], \".\").concat(arr[1], \".\").concat(arr[2], \".\").concat(arr[0]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[0], \".\").concat(arr[1]), \"\".concat(arr[3], \".\").concat(arr[2], \".\").concat(arr[1], \".\").concat(arr[0])];\n }\n}\nvar classNameCombinations = {};\nfunction getClassNameCombinations(classNames) {\n if (classNames.length === 0 || classNames.length === 1) return classNames;\n var key = classNames.join('.');\n if (!classNameCombinations[key]) {\n classNameCombinations[key] = powerSetPermutations(classNames);\n }\n return classNameCombinations[key];\n}\nexport function createStyleObject(classNames) {\n var elementStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var stylesheet = arguments.length > 2 ? arguments[2] : undefined;\n var nonTokenClassNames = classNames.filter(function (className) {\n return className !== 'token';\n });\n var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);\n return classNamesCombinations.reduce(function (styleObject, className) {\n return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);\n }, elementStyle);\n}\nexport function createClassNameString(classNames) {\n return classNames.join(' ');\n}\nexport function createChildren(stylesheet, useInlineStyles) {\n var childrenCount = 0;\n return function (children) {\n childrenCount += 1;\n return children.map(function (child, i) {\n return createElement({\n node: child,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segment-\".concat(childrenCount, \"-\").concat(i)\n });\n });\n };\n}\nexport default function createElement(_ref) {\n var node = _ref.node,\n stylesheet = _ref.stylesheet,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style,\n useInlineStyles = _ref.useInlineStyles,\n key = _ref.key;\n var properties = node.properties,\n type = node.type,\n TagName = node.tagName,\n value = node.value;\n if (type === 'text') {\n return value;\n } else if (TagName) {\n var childrenCreator = createChildren(stylesheet, useInlineStyles);\n var props;\n if (!useInlineStyles) {\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(properties.className)\n });\n } else {\n var allStylesheetSelectors = Object.keys(stylesheet).reduce(function (classes, selector) {\n selector.split('.').forEach(function (className) {\n if (!classes.includes(className)) classes.push(className);\n });\n return classes;\n }, []);\n\n // For compatibility with older versions of react-syntax-highlighter\n var startingClassName = properties.className && properties.className.includes('token') ? ['token'] : [];\n var className = properties.className && startingClassName.concat(properties.className.filter(function (className) {\n return !allStylesheetSelectors.includes(className);\n }));\n props = _objectSpread(_objectSpread({}, properties), {}, {\n className: createClassNameString(className) || undefined,\n style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)\n });\n }\n var children = childrenCreator(node.children);\n return /*#__PURE__*/React.createElement(TagName, _extends({\n key: key\n }, props), children);\n }\n}","export default (function (astGenerator, language) {\n var langs = astGenerator.listLanguages();\n return langs.indexOf(language) !== -1;\n});","import _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"language\", \"children\", \"style\", \"customStyle\", \"codeTagProps\", \"useInlineStyles\", \"showLineNumbers\", \"showInlineLineNumbers\", \"startingLineNumber\", \"lineNumberContainerStyle\", \"lineNumberStyle\", \"wrapLines\", \"wrapLongLines\", \"lineProps\", \"renderer\", \"PreTag\", \"CodeTag\", \"code\", \"astGenerator\"];\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport React from 'react';\nimport createElement from \"./create-element.js\";\nimport checkForListedLanguage from \"./checkForListedLanguage.js\";\nvar newLineRegex = /\\n/g;\nfunction getNewLines(str) {\n return str.match(newLineRegex);\n}\nfunction getAllLineNumbers(_ref) {\n var lines = _ref.lines,\n startingLineNumber = _ref.startingLineNumber,\n style = _ref.style;\n return lines.map(function (_, i) {\n var number = i + startingLineNumber;\n return /*#__PURE__*/React.createElement(\"span\", {\n key: \"line-\".concat(i),\n className: \"react-syntax-highlighter-line-number\",\n style: typeof style === 'function' ? style(number) : style\n }, \"\".concat(number, \"\\n\"));\n });\n}\nfunction AllLineNumbers(_ref2) {\n var codeString = _ref2.codeString,\n codeStyle = _ref2.codeStyle,\n _ref2$containerStyle = _ref2.containerStyle,\n containerStyle = _ref2$containerStyle === void 0 ? {\n \"float\": 'left',\n paddingRight: '10px'\n } : _ref2$containerStyle,\n _ref2$numberStyle = _ref2.numberStyle,\n numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle,\n startingLineNumber = _ref2.startingLineNumber;\n return /*#__PURE__*/React.createElement(\"code\", {\n style: Object.assign({}, codeStyle, containerStyle)\n }, getAllLineNumbers({\n lines: codeString.replace(/\\n$/, '').split('\\n'),\n style: numberStyle,\n startingLineNumber: startingLineNumber\n }));\n}\nfunction getEmWidthOfNumber(num) {\n return \"\".concat(num.toString().length, \".25em\");\n}\nfunction getInlineLineNumber(lineNumber, inlineLineNumberStyle) {\n return {\n type: 'element',\n tagName: 'span',\n properties: {\n key: \"line-number--\".concat(lineNumber),\n className: ['comment', 'linenumber', 'react-syntax-highlighter-line-number'],\n style: inlineLineNumberStyle\n },\n children: [{\n type: 'text',\n value: lineNumber\n }]\n };\n}\nfunction assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber) {\n // minimally necessary styling for line numbers\n var defaultLineNumberStyle = {\n display: 'inline-block',\n minWidth: getEmWidthOfNumber(largestLineNumber),\n paddingRight: '1em',\n textAlign: 'right',\n userSelect: 'none'\n };\n // prep custom styling\n var customLineNumberStyle = typeof lineNumberStyle === 'function' ? lineNumberStyle(lineNumber) : lineNumberStyle;\n // combine\n var assembledStyle = _objectSpread(_objectSpread({}, defaultLineNumberStyle), customLineNumberStyle);\n return assembledStyle;\n}\nfunction createLineElement(_ref3) {\n var children = _ref3.children,\n lineNumber = _ref3.lineNumber,\n lineNumberStyle = _ref3.lineNumberStyle,\n largestLineNumber = _ref3.largestLineNumber,\n showInlineLineNumbers = _ref3.showInlineLineNumbers,\n _ref3$lineProps = _ref3.lineProps,\n lineProps = _ref3$lineProps === void 0 ? {} : _ref3$lineProps,\n _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? [] : _ref3$className,\n showLineNumbers = _ref3.showLineNumbers,\n wrapLongLines = _ref3.wrapLongLines,\n _ref3$wrapLines = _ref3.wrapLines,\n wrapLines = _ref3$wrapLines === void 0 ? false : _ref3$wrapLines;\n var properties = wrapLines ? _objectSpread({}, typeof lineProps === 'function' ? lineProps(lineNumber) : lineProps) : {};\n properties['className'] = properties['className'] ? [].concat(_toConsumableArray(properties['className'].trim().split(/\\s+/)), _toConsumableArray(className)) : className;\n if (lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n if (wrapLongLines & showLineNumbers) {\n properties.style = _objectSpread({\n display: 'flex'\n }, properties.style);\n }\n return {\n type: 'element',\n tagName: 'span',\n properties: properties,\n children: children\n };\n}\nfunction flattenCodeTree(tree) {\n var className = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var newTree = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n if (tree.length === undefined) {\n tree = [tree];\n }\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n if (node.type === 'text') {\n newTree.push(createLineElement({\n children: [node],\n className: _toConsumableArray(new Set(className))\n }));\n } else if (node.children) {\n var _node$properties;\n var classNames = className.concat(((_node$properties = node.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);\n flattenCodeTree(node.children, classNames).forEach(function (i) {\n return newTree.push(i);\n });\n }\n }\n return newTree;\n}\nfunction processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines) {\n var _ref4;\n var tree = flattenCodeTree(codeTree.value);\n var newTree = [];\n var lastLineBreakIndex = -1;\n var index = 0;\n function createWrappedLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return createLineElement({\n children: children,\n lineNumber: lineNumber,\n lineNumberStyle: lineNumberStyle,\n largestLineNumber: largestLineNumber,\n showInlineLineNumbers: showInlineLineNumbers,\n lineProps: lineProps,\n className: className,\n showLineNumbers: showLineNumbers,\n wrapLongLines: wrapLongLines,\n wrapLines: wrapLines\n });\n }\n function createUnwrappedLine(children, lineNumber) {\n if (showLineNumbers && lineNumber && showInlineLineNumbers) {\n var inlineLineNumberStyle = assembleLineNumberStyles(lineNumberStyle, lineNumber, largestLineNumber);\n children.unshift(getInlineLineNumber(lineNumber, inlineLineNumberStyle));\n }\n return children;\n }\n function createLine(children, lineNumber) {\n var className = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n return wrapLines || className.length > 0 ? createWrappedLine(children, lineNumber, className) : createUnwrappedLine(children, lineNumber);\n }\n var _loop = function _loop() {\n var node = tree[index];\n var value = node.children[0].value;\n var newLines = getNewLines(value);\n if (newLines) {\n var splitValue = value.split('\\n');\n splitValue.forEach(function (text, i) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var newChild = {\n type: 'text',\n value: \"\".concat(text, \"\\n\")\n };\n\n // if it's the first line\n if (i === 0) {\n var _children = tree.slice(lastLineBreakIndex + 1, index).concat(createLineElement({\n children: [newChild],\n className: node.properties.className\n }));\n var _line = createLine(_children, lineNumber);\n newTree.push(_line);\n\n // if it's the last line\n } else if (i === splitValue.length - 1) {\n var stringChild = tree[index + 1] && tree[index + 1].children && tree[index + 1].children[0];\n var lastLineInPreviousSpan = {\n type: 'text',\n value: \"\".concat(text)\n };\n if (stringChild) {\n var newElem = createLineElement({\n children: [lastLineInPreviousSpan],\n className: node.properties.className\n });\n tree.splice(index + 1, 0, newElem);\n } else {\n var _children2 = [lastLineInPreviousSpan];\n var _line2 = createLine(_children2, lineNumber, node.properties.className);\n newTree.push(_line2);\n }\n\n // if it's neither the first nor the last line\n } else {\n var _children3 = [newChild];\n var _line3 = createLine(_children3, lineNumber, node.properties.className);\n newTree.push(_line3);\n }\n });\n lastLineBreakIndex = index;\n }\n index++;\n };\n while (index < tree.length) {\n _loop();\n }\n if (lastLineBreakIndex !== tree.length - 1) {\n var children = tree.slice(lastLineBreakIndex + 1, tree.length);\n if (children && children.length) {\n var lineNumber = showLineNumbers && newTree.length + startingLineNumber;\n var line = createLine(children, lineNumber);\n newTree.push(line);\n }\n }\n return wrapLines ? newTree : (_ref4 = []).concat.apply(_ref4, newTree);\n}\nfunction defaultRenderer(_ref5) {\n var rows = _ref5.rows,\n stylesheet = _ref5.stylesheet,\n useInlineStyles = _ref5.useInlineStyles;\n return rows.map(function (node, i) {\n return createElement({\n node: node,\n stylesheet: stylesheet,\n useInlineStyles: useInlineStyles,\n key: \"code-segment-\".concat(i)\n });\n });\n}\n\n// only highlight.js has the highlightAuto method\nfunction isHighlightJs(astGenerator) {\n return astGenerator && typeof astGenerator.highlightAuto !== 'undefined';\n}\nfunction getCodeTree(_ref6) {\n var astGenerator = _ref6.astGenerator,\n language = _ref6.language,\n code = _ref6.code,\n defaultCodeValue = _ref6.defaultCodeValue;\n // figure out whether we're using lowlight/highlight or refractor/prism\n // then attempt highlighting accordingly\n\n // lowlight/highlight?\n if (isHighlightJs(astGenerator)) {\n var hasLanguage = checkForListedLanguage(astGenerator, language);\n if (language === 'text') {\n return {\n value: defaultCodeValue,\n language: 'text'\n };\n } else if (hasLanguage) {\n return astGenerator.highlight(language, code);\n } else {\n return astGenerator.highlightAuto(code);\n }\n }\n\n // must be refractor/prism, then\n try {\n return language && language !== 'text' ? {\n value: astGenerator.highlight(code, language)\n } : {\n value: defaultCodeValue\n };\n } catch (e) {\n return {\n value: defaultCodeValue\n };\n }\n}\nexport default function (defaultAstGenerator, defaultStyle) {\n return function SyntaxHighlighter(_ref7) {\n var _code$match$length, _code$match;\n var language = _ref7.language,\n children = _ref7.children,\n _ref7$style = _ref7.style,\n style = _ref7$style === void 0 ? defaultStyle : _ref7$style,\n _ref7$customStyle = _ref7.customStyle,\n customStyle = _ref7$customStyle === void 0 ? {} : _ref7$customStyle,\n _ref7$codeTagProps = _ref7.codeTagProps,\n codeTagProps = _ref7$codeTagProps === void 0 ? {\n className: language ? \"language-\".concat(language) : undefined,\n style: _objectSpread(_objectSpread({}, style['code[class*=\"language-\"]']), style[\"code[class*=\\\"language-\".concat(language, \"\\\"]\")])\n } : _ref7$codeTagProps,\n _ref7$useInlineStyles = _ref7.useInlineStyles,\n useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles,\n _ref7$showLineNumbers = _ref7.showLineNumbers,\n showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers,\n _ref7$showInlineLineN = _ref7.showInlineLineNumbers,\n showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN,\n _ref7$startingLineNum = _ref7.startingLineNumber,\n startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum,\n lineNumberContainerStyle = _ref7.lineNumberContainerStyle,\n _ref7$lineNumberStyle = _ref7.lineNumberStyle,\n lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle,\n wrapLines = _ref7.wrapLines,\n _ref7$wrapLongLines = _ref7.wrapLongLines,\n wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines,\n _ref7$lineProps = _ref7.lineProps,\n lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps,\n renderer = _ref7.renderer,\n _ref7$PreTag = _ref7.PreTag,\n PreTag = _ref7$PreTag === void 0 ? 'pre' : _ref7$PreTag,\n _ref7$CodeTag = _ref7.CodeTag,\n CodeTag = _ref7$CodeTag === void 0 ? 'code' : _ref7$CodeTag,\n _ref7$code = _ref7.code,\n code = _ref7$code === void 0 ? (Array.isArray(children) ? children[0] : children) || '' : _ref7$code,\n astGenerator = _ref7.astGenerator,\n rest = _objectWithoutProperties(_ref7, _excluded);\n astGenerator = astGenerator || defaultAstGenerator;\n var allLineNumbers = showLineNumbers ? /*#__PURE__*/React.createElement(AllLineNumbers, {\n containerStyle: lineNumberContainerStyle,\n codeStyle: codeTagProps.style || {},\n numberStyle: lineNumberStyle,\n startingLineNumber: startingLineNumber,\n codeString: code\n }) : null;\n var defaultPreStyle = style.hljs || style['pre[class*=\"language-\"]'] || {\n backgroundColor: '#fff'\n };\n var generatorClassName = isHighlightJs(astGenerator) ? 'hljs' : 'prismjs';\n var preProps = useInlineStyles ? Object.assign({}, rest, {\n style: Object.assign({}, defaultPreStyle, customStyle)\n }) : Object.assign({}, rest, {\n className: rest.className ? \"\".concat(generatorClassName, \" \").concat(rest.className) : generatorClassName,\n style: Object.assign({}, customStyle)\n });\n if (wrapLongLines) {\n codeTagProps.style = _objectSpread({\n whiteSpace: 'pre-wrap'\n }, codeTagProps.style);\n } else {\n codeTagProps.style = _objectSpread({\n whiteSpace: 'pre'\n }, codeTagProps.style);\n }\n if (!astGenerator) {\n return /*#__PURE__*/React.createElement(PreTag, preProps, allLineNumbers, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, code));\n }\n\n /*\n * Some custom renderers rely on individual row elements so we need to turn wrapLines on\n * if renderer is provided and wrapLines is undefined.\n */\n if (wrapLines === undefined && renderer || wrapLongLines) wrapLines = true;\n renderer = renderer || defaultRenderer;\n var defaultCodeValue = [{\n type: 'text',\n value: code\n }];\n var codeTree = getCodeTree({\n astGenerator: astGenerator,\n language: language,\n code: code,\n defaultCodeValue: defaultCodeValue\n });\n if (codeTree.language === null) {\n codeTree.value = defaultCodeValue;\n }\n\n // pre-determine largest line number so that we can force minWidth on all linenumber elements\n var lineBreakCount = (_code$match$length = (_code$match = code.match(/\\n/g)) === null || _code$match === void 0 ? void 0 : _code$match.length) !== null && _code$match$length !== void 0 ? _code$match$length : 0;\n var largestLineNumber = startingLineNumber + lineBreakCount;\n var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);\n return /*#__PURE__*/React.createElement(PreTag, preProps, /*#__PURE__*/React.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({\n rows: rows,\n stylesheet: style,\n useInlineStyles: useInlineStyles\n })));\n };\n}","//\n// This file has been auto-generated by the `npm run build-languages-prism` task\n//\n\nexport default ['abap', 'abnf', 'actionscript', 'ada', 'agda', 'al', 'antlr4', 'apacheconf', 'apex', 'apl', 'applescript', 'aql', 'arduino', 'arff', 'armasm', 'arturo', 'asciidoc', 'asm6502', 'asmatmel', 'aspnet', 'autohotkey', 'autoit', 'avisynth', 'avro-idl', 'awk', 'bash', 'basic', 'batch', 'bbcode', 'bbj', 'bicep', 'birb', 'bison', 'bnf', 'bqn', 'brainfuck', 'brightscript', 'bro', 'bsl', 'c', 'cfscript', 'chaiscript', 'cil', 'cilkc', 'cilkcpp', 'clike', 'clojure', 'cmake', 'cobol', 'coffeescript', 'concurnas', 'cooklang', 'coq', 'cpp', 'crystal', 'csharp', 'cshtml', 'csp', 'css-extras', 'css', 'csv', 'cue', 'cypher', 'd', 'dart', 'dataweave', 'dax', 'dhall', 'diff', 'django', 'dns-zone-file', 'docker', 'dot', 'ebnf', 'editorconfig', 'eiffel', 'ejs', 'elixir', 'elm', 'erb', 'erlang', 'etlua', 'excel-formula', 'factor', 'false', 'firestore-security-rules', 'flow', 'fortran', 'fsharp', 'ftl', 'gap', 'gcode', 'gdscript', 'gedcom', 'gettext', 'gherkin', 'git', 'glsl', 'gml', 'gn', 'go-module', 'go', 'gradle', 'graphql', 'groovy', 'haml', 'handlebars', 'haskell', 'haxe', 'hcl', 'hlsl', 'hoon', 'hpkp', 'hsts', 'http', 'ichigojam', 'icon', 'icu-message-format', 'idris', 'iecst', 'ignore', 'inform7', 'ini', 'io', 'j', 'java', 'javadoc', 'javadoclike', 'javascript', 'javastacktrace', 'jexl', 'jolie', 'jq', 'js-extras', 'js-templates', 'jsdoc', 'json', 'json5', 'jsonp', 'jsstacktrace', 'jsx', 'julia', 'keepalived', 'keyman', 'kotlin', 'kumir', 'kusto', 'latex', 'latte', 'less', 'lilypond', 'linker-script', 'liquid', 'lisp', 'livescript', 'llvm', 'log', 'lolcode', 'lua', 'magma', 'makefile', 'markdown', 'markup-templating', 'markup', 'mata', 'matlab', 'maxscript', 'mel', 'mermaid', 'metafont', 'mizar', 'mongodb', 'monkey', 'moonscript', 'n1ql', 'n4js', 'nand2tetris-hdl', 'naniscript', 'nasm', 'neon', 'nevod', 'nginx', 'nim', 'nix', 'nsis', 'objectivec', 'ocaml', 'odin', 'opencl', 'openqasm', 'oz', 'parigp', 'parser', 'pascal', 'pascaligo', 'pcaxis', 'peoplecode', 'perl', 'php-extras', 'php', 'phpdoc', 'plant-uml', 'plsql', 'powerquery', 'powershell', 'processing', 'prolog', 'promql', 'properties', 'protobuf', 'psl', 'pug', 'puppet', 'pure', 'purebasic', 'purescript', 'python', 'q', 'qml', 'qore', 'qsharp', 'r', 'racket', 'reason', 'regex', 'rego', 'renpy', 'rescript', 'rest', 'rip', 'roboconf', 'robotframework', 'ruby', 'rust', 'sas', 'sass', 'scala', 'scheme', 'scss', 'shell-session', 'smali', 'smalltalk', 'smarty', 'sml', 'solidity', 'solution-file', 'soy', 'sparql', 'splunk-spl', 'sqf', 'sql', 'squirrel', 'stan', 'stata', 'stylus', 'supercollider', 'swift', 'systemd', 't4-cs', 't4-templating', 't4-vb', 'tap', 'tcl', 'textile', 'toml', 'tremor', 'tsx', 'tt2', 'turtle', 'twig', 'typescript', 'typoscript', 'unrealscript', 'uorazor', 'uri', 'v', 'vala', 'vbnet', 'velocity', 'verilog', 'vhdl', 'vim', 'visual-basic', 'warpscript', 'wasm', 'web-idl', 'wgsl', 'wiki', 'wolfram', 'wren', 'xeora', 'xml-doc', 'xojo', 'xquery', 'yaml', 'yang', 'zig'];","// @ts-nocheck\n\n// This is a slimmed down version of `prism-core.js`, to remove globals,\n// document, workers, `util.encode`, `Token.stringify`\n\n// Private helper vars\nvar lang = /(?:^|\\s)lang(?:uage)?-([\\w-]+)(?=\\s|$)/i\nvar uniqueId = 0\n\n// The grammar object for plaintext\nvar plainTextGrammar = {}\n\nvar _ = {\n /**\n * A namespace for utility methods.\n *\n * All function in this namespace that are not explicitly marked as _public_ are for __internal use only__ and may\n * change or disappear at any time.\n *\n * @namespace\n * @memberof Prism\n */\n util: {\n /**\n * Returns the name of the type of the given value.\n *\n * @param {any} o\n * @returns {string}\n * @example\n * type(null) === 'Null'\n * type(undefined) === 'Undefined'\n * type(123) === 'Number'\n * type('foo') === 'String'\n * type(true) === 'Boolean'\n * type([1, 2]) === 'Array'\n * type({}) === 'Object'\n * type(String) === 'Function'\n * type(/abc+/) === 'RegExp'\n */\n type: function (o) {\n return Object.prototype.toString.call(o).slice(8, -1)\n },\n\n /**\n * Returns a unique number for the given object. Later calls will still return the same number.\n *\n * @param {Object} obj\n * @returns {number}\n */\n objId: function (obj) {\n if (!obj['__id']) {\n Object.defineProperty(obj, '__id', {value: ++uniqueId})\n }\n return obj['__id']\n },\n\n /**\n * Creates a deep clone of the given object.\n *\n * The main intended use of this function is to clone language definitions.\n *\n * @param {T} o\n * @param {Record<number, any>} [visited]\n * @returns {T}\n * @template T\n */\n clone: function deepClone(o, visited) {\n visited = visited || {}\n\n var clone\n var id\n switch (_.util.type(o)) {\n case 'Object':\n id = _.util.objId(o)\n if (visited[id]) {\n return visited[id]\n }\n clone = /** @type {Record<string, any>} */ ({})\n visited[id] = clone\n\n for (var key in o) {\n if (o.hasOwnProperty(key)) {\n clone[key] = deepClone(o[key], visited)\n }\n }\n\n return /** @type {any} */ (clone)\n\n case 'Array':\n id = _.util.objId(o)\n if (visited[id]) {\n return visited[id]\n }\n clone = []\n visited[id] = clone\n\n ;/** @type {Array} */ (/** @type {any} */ (o)).forEach(\n function (v, i) {\n clone[i] = deepClone(v, visited)\n }\n )\n\n return /** @type {any} */ (clone)\n\n default:\n return o\n }\n }\n },\n\n /**\n * This namespace contains all currently loaded languages and the some helper functions to create and modify languages.\n *\n * @namespace\n * @memberof Prism\n * @public\n */\n languages: {\n /**\n * The grammar for plain, unformatted text.\n */\n plain: plainTextGrammar,\n plaintext: plainTextGrammar,\n text: plainTextGrammar,\n txt: plainTextGrammar,\n\n /**\n * Creates a deep copy of the language with the given id and appends the given tokens.\n *\n * If a token in `redef` also appears in the copied language, then the existing token in the copied language\n * will be overwritten at its original position.\n *\n * ## Best practices\n *\n * Since the position of overwriting tokens (token in `redef` that overwrite tokens in the copied language)\n * doesn't matter, they can technically be in any order. However, this can be confusing to others that trying to\n * understand the language definition because, normally, the order of tokens matters in Prism grammars.\n *\n * Therefore, it is encouraged to order overwriting tokens according to the positions of the overwritten tokens.\n * Furthermore, all non-overwriting tokens should be placed after the overwriting ones.\n *\n * @param {string} id The id of the language to extend. This has to be a key in `Prism.languages`.\n * @param {Grammar} redef The new tokens to append.\n * @returns {Grammar} The new language created.\n * @public\n * @example\n * Prism.languages['css-with-colors'] = Prism.languages.extend('css', {\n * // Prism.languages.css already has a 'comment' token, so this token will overwrite CSS' 'comment' token\n * // at its original position\n * 'comment': { ... },\n * // CSS doesn't have a 'color' token, so this token will be appended\n * 'color': /\\b(?:red|green|blue)\\b/\n * });\n */\n extend: function (id, redef) {\n var lang = _.util.clone(_.languages[id])\n\n for (var key in redef) {\n lang[key] = redef[key]\n }\n\n return lang\n },\n\n /**\n * Inserts tokens _before_ another token in a language definition or any other grammar.\n *\n * ## Usage\n *\n * This helper method makes it easy to modify existing languages. For example, the CSS language definition\n * not only defines CSS highlighting for CSS documents, but also needs to define highlighting for CSS embedded\n * in HTML through `<style>` elements. To do this, it needs to modify `Prism.languages.markup` and add the\n * appropriate tokens. However, `Prism.languages.markup` is a regular JavaScript object literal, so if you do\n * this:\n *\n * ```js\n * Prism.languages.markup.style = {\n * // token\n * };\n * ```\n *\n * then the `style` token will be added (and processed) at the end. `insertBefore` allows you to insert tokens\n * before existing tokens. For the CSS example above, you would use it like this:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'cdata', {\n * 'style': {\n * // token\n * }\n * });\n * ```\n *\n * ## Special cases\n *\n * If the grammars of `inside` and `insert` have tokens with the same name, the tokens in `inside`'s grammar\n * will be ignored.\n *\n * This behavior can be used to insert tokens after `before`:\n *\n * ```js\n * Prism.languages.insertBefore('markup', 'comment', {\n * 'comment': Prism.languages.markup.comment,\n * // tokens after 'comment'\n * });\n * ```\n *\n * ## Limitations\n *\n * The main problem `insertBefore` has to solve is iteration order. Since ES2015, the iteration order for object\n * properties is guaranteed to be the insertion order (except for integer keys) but some browsers behave\n * differently when keys are deleted and re-inserted. So `insertBefore` can't be implemented by temporarily\n * deleting properties which is necessary to insert at arbitrary positions.\n *\n * To solve this problem, `insertBefore` doesn't actually insert the given tokens into the target object.\n * Instead, it will create a new object and replace all references to the target object with the new one. This\n * can be done without temporarily deleting properties, so the iteration order is well-defined.\n *\n * However, only references that can be reached from `Prism.languages` or `insert` will be replaced. I.e. if\n * you hold the target object in a variable, then the value of the variable will not change.\n *\n * ```js\n * var oldMarkup = Prism.languages.markup;\n * var newMarkup = Prism.languages.insertBefore('markup', 'comment', { ... });\n *\n * assert(oldMarkup !== Prism.languages.markup);\n * assert(newMarkup === Prism.languages.markup);\n * ```\n *\n * @param {string} inside The property of `root` (e.g. a language id in `Prism.languages`) that contains the\n * object to be modified.\n * @param {string} before The key to insert before.\n * @param {Grammar} insert An object containing the key-value pairs to be inserted.\n * @param {Object<string, any>} [root] The object containing `inside`, i.e. the object that contains the\n * object to be modified.\n *\n * Defaults to `Prism.languages`.\n * @returns {Grammar} The new grammar object.\n * @public\n */\n insertBefore: function (inside, before, insert, root) {\n root = root || /** @type {any} */ (_.languages)\n var grammar = root[inside]\n /** @type {Grammar} */\n var ret = {}\n\n for (var token in grammar) {\n if (grammar.hasOwnProperty(token)) {\n if (token == before) {\n for (var newToken in insert) {\n if (insert.hasOwnProperty(newToken)) {\n ret[newToken] = insert[newToken]\n }\n }\n }\n\n // Do not insert token which also occur in insert. See #1525\n if (!insert.hasOwnProperty(token)) {\n ret[token] = grammar[token]\n }\n }\n }\n\n var old = root[inside]\n root[inside] = ret\n\n // Update references in other language definitions\n _.languages.DFS(_.languages, function (key, value) {\n if (value === old && key != inside) {\n this[key] = ret\n }\n })\n\n return ret\n },\n\n // Traverse a language definition with Depth First Search\n DFS: function DFS(o, callback, type, visited) {\n visited = visited || {}\n\n var objId = _.util.objId\n\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n callback.call(o, i, o[i], type || i)\n\n var property = o[i]\n var propertyType = _.util.type(property)\n\n if (propertyType === 'Object' && !visited[objId(property)]) {\n visited[objId(property)] = true\n DFS(property, callback, null, visited)\n } else if (propertyType === 'Array' && !visited[objId(property)]) {\n visited[objId(property)] = true\n DFS(property, callback, i, visited)\n }\n }\n }\n }\n },\n\n plugins: {},\n\n /**\n * Low-level function, only use if you know what you’re doing. It accepts a string of text as input\n * and the language definitions to use, and returns a string with the HTML produced.\n *\n * The following hooks will be run:\n * 1. `before-tokenize`\n * 2. `after-tokenize`\n * 3. `wrap`: On each {@link Token}.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @param {string} language The name of the language definition passed to `grammar`.\n * @returns {string} The highlighted HTML.\n * @memberof Prism\n * @public\n * @example\n * Prism.highlight('var foo = true;', Prism.languages.javascript, 'javascript');\n */\n highlight: function (text, grammar, language) {\n var env = {\n code: text,\n grammar: grammar,\n language: language\n }\n _.hooks.run('before-tokenize', env)\n if (!env.grammar) {\n throw new Error('The language \"' + env.language + '\" has no grammar.')\n }\n env.tokens = _.tokenize(env.code, env.grammar)\n _.hooks.run('after-tokenize', env)\n return Token.stringify(_.util.encode(env.tokens), env.language)\n },\n\n /**\n * This is the heart of Prism, and the most low-level function you can use. It accepts a string of text as input\n * and the language definitions to use, and returns an array with the tokenized code.\n *\n * When the language definition includes nested tokens, the function is called recursively on each of these tokens.\n *\n * This method could be useful in other contexts as well, as a very crude parser.\n *\n * @param {string} text A string with the code to be highlighted.\n * @param {Grammar} grammar An object containing the tokens to use.\n *\n * Usually a language definition like `Prism.languages.markup`.\n * @returns {TokenStream} An array of strings and tokens, a token stream.\n * @memberof Prism\n * @public\n * @example\n * let code = `var foo = 0;`;\n * let tokens = Prism.tokenize(code, Prism.languages.javascript);\n * tokens.forEach(token => {\n * if (token instanceof Prism.Token && token.type === 'number') {\n * console.log(`Found numeric literal: ${token.content}`);\n * }\n * });\n */\n tokenize: function (text, grammar) {\n var rest = grammar.rest\n if (rest) {\n for (var token in rest) {\n grammar[token] = rest[token]\n }\n\n delete grammar.rest\n }\n\n var tokenList = new LinkedList()\n addAfter(tokenList, tokenList.head, text)\n\n matchGrammar(text, tokenList, grammar, tokenList.head, 0)\n\n return toArray(tokenList)\n },\n\n /**\n * @namespace\n * @memberof Prism\n * @public\n */\n hooks: {\n all: {},\n\n /**\n * Adds the given callback to the list of callbacks for the given hook.\n *\n * The callback will be invoked when the hook it is registered for is run.\n * Hooks are usually directly run by a highlight function but you can also run hooks yourself.\n *\n * One callback function can be registered to multiple hooks and the same hook multiple times.\n *\n * @param {string} name The name of the hook.\n * @param {HookCallback} callback The callback function which is given environment variables.\n * @public\n */\n add: function (name, callback) {\n var hooks = _.hooks.all\n\n hooks[name] = hooks[name] || []\n\n hooks[name].push(callback)\n },\n\n /**\n * Runs a hook invoking all registered callbacks with the given environment variables.\n *\n * Callbacks will be invoked synchronously and in the order in which they were registered.\n *\n * @param {string} name The name of the hook.\n * @param {Object<string, any>} env The environment variables of the hook passed to all callbacks registered.\n * @public\n */\n run: function (name, env) {\n var callbacks = _.hooks.all[name]\n\n if (!callbacks || !callbacks.length) {\n return\n }\n\n for (var i = 0, callback; (callback = callbacks[i++]); ) {\n callback(env)\n }\n }\n },\n\n Token: Token\n}\n\n// Typescript note:\n// The following can be used to import the Token type in JSDoc:\n//\n// @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n\n/**\n * Creates a new token.\n *\n * @param {string} type See {@link Token#type type}\n * @param {string | TokenStream} content See {@link Token#content content}\n * @param {string|string[]} [alias] The alias(es) of the token.\n * @param {string} [matchedStr=\"\"] A copy of the full string this token was created from.\n * @class\n * @global\n * @public\n */\nfunction Token(type, content, alias, matchedStr) {\n /**\n * The type of the token.\n *\n * This is usually the key of a pattern in a {@link Grammar}.\n *\n * @type {string}\n * @see GrammarToken\n * @public\n */\n this.type = type\n /**\n * The strings or tokens contained by this token.\n *\n * This will be a token stream if the pattern matched also defined an `inside` grammar.\n *\n * @type {string | TokenStream}\n * @public\n */\n this.content = content\n /**\n * The alias(es) of the token.\n *\n * @type {string|string[]}\n * @see GrammarToken\n * @public\n */\n this.alias = alias\n // Copy of the full string this token was created from\n this.length = (matchedStr || '').length | 0\n}\n\n/**\n * A token stream is an array of strings and {@link Token Token} objects.\n *\n * Token streams have to fulfill a few properties that are assumed by most functions (mostly internal ones) that process\n * them.\n *\n * 1. No adjacent strings.\n * 2. No empty strings.\n *\n * The only exception here is the token stream that only contains the empty string and nothing else.\n *\n * @typedef {Array<string | Token>} TokenStream\n * @global\n * @public\n */\n\n/**\n * @param {RegExp} pattern\n * @param {number} pos\n * @param {string} text\n * @param {boolean} lookbehind\n * @returns {RegExpExecArray | null}\n */\nfunction matchPattern(pattern, pos, text, lookbehind) {\n pattern.lastIndex = pos\n var match = pattern.exec(text)\n if (match && lookbehind && match[1]) {\n // change the match to remove the text matched by the Prism lookbehind group\n var lookbehindLength = match[1].length\n match.index += lookbehindLength\n match[0] = match[0].slice(lookbehindLength)\n }\n return match\n}\n\n/**\n * @param {string} text\n * @param {LinkedList<string | Token>} tokenList\n * @param {any} grammar\n * @param {LinkedListNode<string | Token>} startNode\n * @param {number} startPos\n * @param {RematchOptions} [rematch]\n * @returns {void}\n * @private\n *\n * @typedef RematchOptions\n * @property {string} cause\n * @property {number} reach\n */\nfunction matchGrammar(text, tokenList, grammar, startNode, startPos, rematch) {\n for (var token in grammar) {\n if (!grammar.hasOwnProperty(token) || !grammar[token]) {\n continue\n }\n\n var patterns = grammar[token]\n patterns = Array.isArray(patterns) ? patterns : [patterns]\n\n for (var j = 0; j < patterns.length; ++j) {\n if (rematch && rematch.cause == token + ',' + j) {\n return\n }\n\n var patternObj = patterns[j]\n var inside = patternObj.inside\n var lookbehind = !!patternObj.lookbehind\n var greedy = !!patternObj.greedy\n var alias = patternObj.alias\n\n if (greedy && !patternObj.pattern.global) {\n // Without the global flag, lastIndex won't work\n var flags = patternObj.pattern.toString().match(/[imsuy]*$/)[0]\n patternObj.pattern = RegExp(patternObj.pattern.source, flags + 'g')\n }\n\n /** @type {RegExp} */\n var pattern = patternObj.pattern || patternObj\n\n for (\n // iterate the token list and keep track of the current token/string position\n var currentNode = startNode.next, pos = startPos;\n currentNode !== tokenList.tail;\n pos += currentNode.value.length, currentNode = currentNode.next\n ) {\n if (rematch && pos >= rematch.reach) {\n break\n }\n\n var str = currentNode.value\n\n if (tokenList.length > text.length) {\n // Something went terribly wrong, ABORT, ABORT!\n return\n }\n\n if (str instanceof Token) {\n continue\n }\n\n var removeCount = 1 // this is the to parameter of removeBetween\n var match\n\n if (greedy) {\n match = matchPattern(pattern, pos, text, lookbehind)\n if (!match || match.index >= text.length) {\n break\n }\n\n var from = match.index\n var to = match.index + match[0].length\n var p = pos\n\n // find the node that contains the match\n p += currentNode.value.length\n while (from >= p) {\n currentNode = currentNode.next\n p += currentNode.value.length\n }\n // adjust pos (and p)\n p -= currentNode.value.length\n pos = p\n\n // the current node is a Token, then the match starts inside another Token, which is invalid\n if (currentNode.value instanceof Token) {\n continue\n }\n\n // find the last node which is affected by this match\n for (\n var k = currentNode;\n k !== tokenList.tail && (p < to || typeof k.value === 'string');\n k = k.next\n ) {\n removeCount++\n p += k.value.length\n }\n removeCount--\n\n // replace with the new match\n str = text.slice(pos, p)\n match.index -= pos\n } else {\n match = matchPattern(pattern, 0, str, lookbehind)\n if (!match) {\n continue\n }\n }\n\n // eslint-disable-next-line no-redeclare\n var from = match.index\n var matchStr = match[0]\n var before = str.slice(0, from)\n var after = str.slice(from + matchStr.length)\n\n var reach = pos + str.length\n if (rematch && reach > rematch.reach) {\n rematch.reach = reach\n }\n\n var removeFrom = currentNode.prev\n\n if (before) {\n removeFrom = addAfter(tokenList, removeFrom, before)\n pos += before.length\n }\n\n removeRange(tokenList, removeFrom, removeCount)\n\n var wrapped = new Token(\n token,\n inside ? _.tokenize(matchStr, inside) : matchStr,\n alias,\n matchStr\n )\n currentNode = addAfter(tokenList, removeFrom, wrapped)\n\n if (after) {\n addAfter(tokenList, currentNode, after)\n }\n\n if (removeCount > 1) {\n // at least one Token object was removed, so we have to do some rematching\n // this can only happen if the current pattern is greedy\n\n /** @type {RematchOptions} */\n var nestedRematch = {\n cause: token + ',' + j,\n reach: reach\n }\n matchGrammar(\n text,\n tokenList,\n grammar,\n currentNode.prev,\n pos,\n nestedRematch\n )\n\n // the reach might have been extended because of the rematching\n if (rematch && nestedRematch.reach > rematch.reach) {\n rematch.reach = nestedRematch.reach\n }\n }\n }\n }\n }\n}\n\n/**\n * @typedef LinkedListNode\n * @property {T} value\n * @property {LinkedListNode<T> | null} prev The previous node.\n * @property {LinkedListNode<T> | null} next The next node.\n * @template T\n * @private\n */\n\n/**\n * @template T\n * @private\n */\nfunction LinkedList() {\n /** @type {LinkedListNode<T>} */\n var head = {value: null, prev: null, next: null}\n /** @type {LinkedListNode<T>} */\n var tail = {value: null, prev: head, next: null}\n head.next = tail\n\n /** @type {LinkedListNode<T>} */\n this.head = head\n /** @type {LinkedListNode<T>} */\n this.tail = tail\n this.length = 0\n}\n\n/**\n * Adds a new node with the given value to the list.\n *\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {T} value\n * @returns {LinkedListNode<T>} The added node.\n * @template T\n */\nfunction addAfter(list, node, value) {\n // assumes that node != list.tail && values.length >= 0\n var next = node.next\n\n var newNode = {value: value, prev: node, next: next}\n node.next = newNode\n next.prev = newNode\n list.length++\n\n return newNode\n}\n/**\n * Removes `count` nodes after the given node. The given node will not be removed.\n *\n * @param {LinkedList<T>} list\n * @param {LinkedListNode<T>} node\n * @param {number} count\n * @template T\n */\nfunction removeRange(list, node, count) {\n var next = node.next\n for (var i = 0; i < count && next !== list.tail; i++) {\n next = next.next\n }\n node.next = next\n next.prev = node\n list.length -= i\n}\n/**\n * @param {LinkedList<T>} list\n * @returns {T[]}\n * @template T\n */\nfunction toArray(list) {\n var array = []\n var node = list.head.next\n while (node !== list.tail) {\n array.push(node.value)\n node = node.next\n }\n return array\n}\n\nexport const Prism = _\n","/**\n * @import {Element, Root, Text} from 'hast'\n * @import {Grammar, Languages} from 'prismjs'\n */\n\n/**\n * @typedef _Token\n * Hidden Prism token.\n * @property {string} alias\n * Alias.\n * @property {string} content\n * Content.\n * @property {number} length\n * Length.\n * @property {string} type\n * Type.\n */\n\n/**\n * @typedef _Env\n * Hidden Prism environment.\n * @property {Record<string, string>} attributes\n * Attributes.\n * @property {Array<string>} classes\n * Classes.\n * @property {Array<Element | Text> | Element | Text} content\n * Content.\n * @property {string} language\n * Language.\n * @property {string} tag\n * Tag.\n * @property {string} type\n * Type.\n */\n\n/**\n * @typedef {((prism: Refractor) => undefined | void) & {aliases?: Array<string> | undefined, displayName: string}} Syntax\n * Refractor syntax function.\n */\n\n/**\n * @typedef Refractor\n * Virtual syntax highlighting\n * @property {typeof alias} alias\n * @property {Languages} languages\n * @property {typeof listLanguages} listLanguages\n * @property {typeof highlight} highlight\n * @property {typeof registered} registered\n * @property {typeof register} register\n */\n\n// Load all stuff in `prism.js` itself, except for `prism-file-highlight.js`.\n// The wrapped non-leaky grammars are loaded instead of Prism’s originals.\nimport {h} from 'hastscript'\nimport {parseEntities} from 'parse-entities'\nimport {Prism} from './prism-core.js'\n\n// Inherit.\nfunction Refractor() {}\n\nRefractor.prototype = Prism\n\n/** @type {Refractor} */\n// @ts-expect-error: TS is wrong.\nexport const refractor = new Refractor()\n\n// Create.\nrefractor.highlight = highlight\nrefractor.register = register\nrefractor.alias = alias\nrefractor.registered = registered\nrefractor.listLanguages = listLanguages\n\n// @ts-expect-error Overwrite Prism.\nrefractor.util.encode = encode\n// @ts-expect-error Overwrite Prism.\nrefractor.Token.stringify = stringify\n\n/**\n * Highlight `value` (code) as `language` (programming language).\n *\n * @param {string} value\n * Code to highlight.\n * @param {Grammar | string} language\n * Programming language name, alias, or grammar.\n * @returns {Root}\n * Node representing highlighted code.\n */\nfunction highlight(value, language) {\n if (typeof value !== 'string') {\n throw new TypeError('Expected `string` for `value`, got `' + value + '`')\n }\n\n /** @type {Grammar} */\n let grammar\n /** @type {string | undefined} */\n let name\n\n // `name` is a grammar object.\n // This was called internally by Prism.js before 1.28.0.\n /* c8 ignore next 2 */\n if (language && typeof language === 'object') {\n grammar = language\n } else {\n name = language\n\n if (typeof name !== 'string') {\n throw new TypeError('Expected `string` for `name`, got `' + name + '`')\n }\n\n if (Object.hasOwn(refractor.languages, name)) {\n grammar = refractor.languages[name]\n } else {\n throw new Error('Unknown language: `' + name + '` is not registered')\n }\n }\n\n return {\n type: 'root',\n // @ts-expect-error: we hacked Prism to accept and return the things we want.\n children: Prism.highlight.call(refractor, value, grammar, name)\n }\n}\n\n/**\n * Register a syntax.\n *\n * @param {Syntax} syntax\n * Language function made for refractor, as in, the files in\n * `refractor/lang/*.js`.\n * @returns {undefined}\n * Nothing.\n */\nfunction register(syntax) {\n if (typeof syntax !== 'function' || !syntax.displayName) {\n throw new Error('Expected `function` for `syntax`, got `' + syntax + '`')\n }\n\n // Do not duplicate registrations.\n if (!Object.hasOwn(refractor.languages, syntax.displayName)) {\n syntax(refractor)\n }\n}\n\n/**\n * Register aliases for already registered languages.\n *\n * @param {Record<string, ReadonlyArray<string> | string> | string} language\n * Language to alias.\n * @param {ReadonlyArray<string> | string | null | undefined} [alias]\n * Aliases.\n * @returns {undefined}\n * Nothing.\n */\nfunction alias(language, alias) {\n const languages = refractor.languages\n /** @type {Record<string, ReadonlyArray<string> | string>} */\n let map = {}\n\n if (typeof language === 'string') {\n if (alias) {\n map[language] = alias\n }\n } else {\n map = language\n }\n\n /** @type {string} */\n let key\n\n for (key in map) {\n if (Object.hasOwn(map, key)) {\n const value = map[key]\n const list = typeof value === 'string' ? [value] : value\n let index = -1\n\n while (++index < list.length) {\n languages[list[index]] = languages[key]\n }\n }\n }\n}\n\n/**\n * Check whether an `alias` or `language` is registered.\n *\n * @param {string} aliasOrLanguage\n * Language or alias to check.\n * @returns {boolean}\n * Whether the language is registered.\n */\nfunction registered(aliasOrLanguage) {\n if (typeof aliasOrLanguage !== 'string') {\n throw new TypeError(\n 'Expected `string` for `aliasOrLanguage`, got `' + aliasOrLanguage + '`'\n )\n }\n\n return Object.hasOwn(refractor.languages, aliasOrLanguage)\n}\n\n/**\n * List all registered languages (names and aliases).\n *\n * @returns {Array<string>}\n * List of language names.\n */\nfunction listLanguages() {\n const languages = refractor.languages\n /** @type {Array<string>} */\n const list = []\n /** @type {string} */\n let language\n\n for (language in languages) {\n if (\n Object.hasOwn(languages, language) &&\n typeof languages[language] === 'object'\n ) {\n list.push(language)\n }\n }\n\n return list\n}\n\n/**\n * @param {Array<_Token | string> | _Token | string} value\n * Token to stringify.\n * @param {string} language\n * Language of the token.\n * @returns {Array<Element | Text> | Element | Text}\n * Node representing the token.\n */\nfunction stringify(value, language) {\n if (typeof value === 'string') {\n return {type: 'text', value}\n }\n\n if (Array.isArray(value)) {\n /** @type {Array<Element | Text>} */\n const result = []\n let index = -1\n\n while (++index < value.length) {\n if (\n value[index] !== null &&\n value[index] !== undefined &&\n value[index] !== ''\n ) {\n // Cast because we assume no sub-arrays.\n result.push(\n /** @type {Element | Text} */ (stringify(value[index], language))\n )\n }\n }\n\n return result\n }\n\n /** @type {_Env} */\n const env = {\n attributes: {},\n classes: ['token', value.type],\n content: stringify(value.content, language),\n language,\n tag: 'span',\n type: value.type\n }\n\n if (value.alias) {\n env.classes.push(\n ...(typeof value.alias === 'string' ? [value.alias] : value.alias)\n )\n }\n\n // @ts-expect-error Prism.\n refractor.hooks.run('wrap', env)\n\n return h(\n env.tag + '.' + env.classes.join('.'),\n attributes(env.attributes),\n env.content\n )\n}\n\n/**\n * @template {unknown} T\n * Tokens.\n * @param {T} tokens\n * Input.\n * @returns {T}\n * Output, same as input.\n */\nfunction encode(tokens) {\n return tokens\n}\n\n/**\n * @param {Record<string, string>} record\n * Attributes.\n * @returns {Record<string, string>}\n * Attributes.\n */\nfunction attributes(record) {\n /** @type {string} */\n let key\n\n for (key in record) {\n if (Object.hasOwn(record, key)) {\n record[key] = parseEntities(record[key])\n }\n }\n\n return record\n}\n","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"none\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"color\": \"black\",\n \"background\": \"#f5f2f0\",\n \"textShadow\": \"0 1px white\",\n \"fontFamily\": \"Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace\",\n \"fontSize\": \"1em\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"wordWrap\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"4\",\n \"OTabSize\": \"4\",\n \"tabSize\": \"4\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \".5em 0\",\n \"overflow\": \"auto\"\n },\n \"pre[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::-moz-selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"pre[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \"code[class*=\\\"language-\\\"] ::selection\": {\n \"textShadow\": \"none\",\n \"background\": \"#b3d4fc\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"background\": \"#f5f2f0\",\n \"padding\": \".1em\",\n \"borderRadius\": \".3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"slategray\"\n },\n \"prolog\": {\n \"color\": \"slategray\"\n },\n \"doctype\": {\n \"color\": \"slategray\"\n },\n \"cdata\": {\n \"color\": \"slategray\"\n },\n \"punctuation\": {\n \"color\": \"#999\"\n },\n \"namespace\": {\n \"Opacity\": \".7\"\n },\n \"property\": {\n \"color\": \"#905\"\n },\n \"tag\": {\n \"color\": \"#905\"\n },\n \"boolean\": {\n \"color\": \"#905\"\n },\n \"number\": {\n \"color\": \"#905\"\n },\n \"constant\": {\n \"color\": \"#905\"\n },\n \"symbol\": {\n \"color\": \"#905\"\n },\n \"deleted\": {\n \"color\": \"#905\"\n },\n \"selector\": {\n \"color\": \"#690\"\n },\n \"attr-name\": {\n \"color\": \"#690\"\n },\n \"string\": {\n \"color\": \"#690\"\n },\n \"char\": {\n \"color\": \"#690\"\n },\n \"builtin\": {\n \"color\": \"#690\"\n },\n \"inserted\": {\n \"color\": \"#690\"\n },\n \"operator\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"entity\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\",\n \"cursor\": \"help\"\n },\n \"url\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".language-css .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \".style .token.string\": {\n \"color\": \"#9a6e3a\",\n \"background\": \"hsla(0, 0%, 100%, .5)\"\n },\n \"atrule\": {\n \"color\": \"#07a\"\n },\n \"attr-value\": {\n \"color\": \"#07a\"\n },\n \"keyword\": {\n \"color\": \"#07a\"\n },\n \"function\": {\n \"color\": \"#DD4A68\"\n },\n \"class-name\": {\n \"color\": \"#DD4A68\"\n },\n \"regex\": {\n \"color\": \"#e90\"\n },\n \"important\": {\n \"color\": \"#e90\",\n \"fontWeight\": \"bold\"\n },\n \"variable\": {\n \"color\": \"#e90\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n }\n};","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmarkup.displayName = 'markup'\nmarkup.aliases = ['atom', 'html', 'mathml', 'rss', 'ssml', 'svg', 'xml']\n\n/** @param {Refractor} Prism */\nexport default function markup(Prism) {\n Prism.languages.markup = {\n comment: {\n pattern: /<!--(?:(?!<!--)[\\s\\S])*?-->/,\n greedy: true\n },\n prolog: {\n pattern: /<\\?[\\s\\S]+?\\?>/,\n greedy: true\n },\n doctype: {\n // https://www.w3.org/TR/xml/#NT-doctypedecl\n pattern:\n /<!DOCTYPE(?:[^>\"'[\\]]|\"[^\"]*\"|'[^']*')+(?:\\[(?:[^<\"'\\]]|\"[^\"]*\"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\\]\\s*)?>/i,\n greedy: true,\n inside: {\n 'internal-subset': {\n pattern: /(^[^\\[]*\\[)[\\s\\S]+(?=\\]>$)/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n punctuation: /^<!|>$|[[\\]]/,\n 'doctype-tag': /^DOCTYPE/i,\n name: /[^\\s<>'\"]+/\n }\n },\n cdata: {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n greedy: true\n },\n tag: {\n pattern:\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))|(?=[\\s/>])))+)?\\s*\\/?>/,\n greedy: true,\n inside: {\n tag: {\n pattern: /^<\\/?[^\\s>\\/]+/,\n inside: {\n punctuation: /^<\\/?/,\n namespace: /^[^\\s>\\/:]+:/\n }\n },\n 'special-attr': [],\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+)/,\n inside: {\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n punctuation: /\\/?>/,\n 'attr-name': {\n pattern: /[^\\s>\\/]+/,\n inside: {\n namespace: /^[^\\s>\\/:]+:/\n }\n }\n }\n },\n entity: [\n {\n pattern: /&[\\da-z]{1,8};/i,\n alias: 'named-entity'\n },\n /&#x?[\\da-f]{1,8};/i\n ]\n }\n Prism.languages.markup['tag'].inside['attr-value'].inside['entity'] =\n Prism.languages.markup['entity']\n Prism.languages.markup['doctype'].inside['internal-subset'].inside =\n Prism.languages.markup\n\n // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&amp;/, '&')\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addInlined', {\n /**\n * Adds an inlined language to markup.\n *\n * An example of an inlined language is CSS with `<style>` tags.\n *\n * @param {string} tagName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addInlined('style', 'css');\n */\n value: function addInlined(tagName, lang) {\n var includedCdataInside = {}\n includedCdataInside['language-' + lang] = {\n pattern: /(^<!\\[CDATA\\[)[\\s\\S]+?(?=\\]\\]>$)/i,\n lookbehind: true,\n inside: Prism.languages[lang]\n }\n includedCdataInside['cdata'] = /^<!\\[CDATA\\[|\\]\\]>$/i\n var inside = {\n 'included-cdata': {\n pattern: /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/i,\n inside: includedCdataInside\n }\n }\n inside['language-' + lang] = {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages[lang]\n }\n var def = {}\n def[tagName] = {\n pattern: RegExp(\n /(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[\\s\\S])*?(?=<\\/__>)/.source.replace(\n /__/g,\n function () {\n return tagName\n }\n ),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: inside\n }\n Prism.languages.insertBefore('markup', 'cdata', def)\n }\n })\n Object.defineProperty(Prism.languages.markup.tag, 'addAttribute', {\n /**\n * Adds an pattern to highlight languages embedded in HTML attributes.\n *\n * An example of an inlined language is CSS with `style` attributes.\n *\n * @param {string} attrName The name of the tag that contains the inlined language. This name will be treated as\n * case insensitive.\n * @param {string} lang The language key.\n * @example\n * addAttribute('style', 'css');\n */\n value: function (attrName, lang) {\n Prism.languages.markup.tag.inside['special-attr'].push({\n pattern: RegExp(\n /(^|[\"'\\s])/.source +\n '(?:' +\n attrName +\n ')' +\n /\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))/.source,\n 'i'\n ),\n lookbehind: true,\n inside: {\n 'attr-name': /^[^\\s=]+/,\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n value: {\n pattern: /(^=\\s*([\"']|(?![\"'])))\\S[\\s\\S]*(?=\\2$)/,\n lookbehind: true,\n alias: [lang, 'language-' + lang],\n inside: Prism.languages[lang]\n },\n punctuation: [\n {\n pattern: /^=/,\n alias: 'attr-equals'\n },\n /\"|'/\n ]\n }\n }\n }\n })\n }\n })\n Prism.languages.html = Prism.languages.markup\n Prism.languages.mathml = Prism.languages.markup\n Prism.languages.svg = Prism.languages.markup\n Prism.languages.xml = Prism.languages.extend('markup', {})\n Prism.languages.ssml = Prism.languages.xml\n Prism.languages.atom = Prism.languages.xml\n Prism.languages.rss = Prism.languages.xml\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncss.displayName = 'css'\ncss.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function css(Prism) {\n ;(function (Prism) {\n var string =\n /(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/\n Prism.languages.css = {\n comment: /\\/\\*[\\s\\S]*?\\*\\//,\n atrule: {\n pattern: RegExp(\n '@[\\\\w-](?:' +\n /[^;{\\s\"']|\\s+(?!\\s)/.source +\n '|' +\n string.source +\n ')*?' +\n /(?:;|(?=\\s*\\{))/.source\n ),\n inside: {\n rule: /^@[\\w-]+/,\n 'selector-function-argument': {\n pattern:\n /(\\bselector\\s*\\(\\s*(?![\\s)]))(?:[^()\\s]|\\s+(?![\\s)])|\\((?:[^()]|\\([^()]*\\))*\\))+(?=\\s*\\))/,\n lookbehind: true,\n alias: 'selector'\n },\n keyword: {\n pattern: /(^|[^\\w-])(?:and|not|only|or)(?![\\w-])/,\n lookbehind: true\n }\n // See rest below\n }\n },\n url: {\n // https://drafts.csswg.org/css-values-3/#urls\n pattern: RegExp(\n '\\\\burl\\\\((?:' +\n string.source +\n '|' +\n /(?:[^\\\\\\r\\n()\"']|\\\\[\\s\\S])*/.source +\n ')\\\\)',\n 'i'\n ),\n greedy: true,\n inside: {\n function: /^url/i,\n punctuation: /^\\(|\\)$/,\n string: {\n pattern: RegExp('^' + string.source + '$'),\n alias: 'url'\n }\n }\n },\n selector: {\n pattern: RegExp(\n '(^|[{}\\\\s])[^{}\\\\s](?:[^{};\"\\'\\\\s]|\\\\s+(?![\\\\s{])|' +\n string.source +\n ')*(?=\\\\s*\\\\{)'\n ),\n lookbehind: true\n },\n string: {\n pattern: string,\n greedy: true\n },\n property: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*(?=\\s*:)/i,\n lookbehind: true\n },\n important: /!important\\b/i,\n function: {\n pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\\()/i,\n lookbehind: true\n },\n punctuation: /[(){};:,]/\n }\n Prism.languages.css['atrule'].inside.rest = Prism.languages.css\n var markup = Prism.languages.markup\n if (markup) {\n markup.tag.addInlined('style', 'css')\n markup.tag.addAttribute('style', 'css')\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nclike.displayName = 'clike'\nclike.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function clike(Prism) {\n Prism.languages.clike = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|trait)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+/i,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b\\w+(?=\\()/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nregex.displayName = 'regex'\nregex.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function regex(Prism) {\n ;(function (Prism) {\n var specialEscape = {\n pattern: /\\\\[\\\\(){}[\\]^$+*?|.]/,\n alias: 'escape'\n }\n var escape =\n /\\\\(?:x[\\da-fA-F]{2}|u[\\da-fA-F]{4}|u\\{[\\da-fA-F]+\\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/\n var charSet = {\n pattern: /\\.|\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var charSetWithoutDot = {\n pattern: /\\\\[wsd]|\\\\p\\{[^{}]+\\}/i,\n alias: 'class-name'\n }\n var rangeChar = '(?:[^\\\\\\\\-]|' + escape.source + ')'\n var range = RegExp(rangeChar + '-' + rangeChar)\n\n // the name of a capturing group\n var groupName = {\n pattern: /(<|')[^<>']+(?=[>']$)/,\n lookbehind: true,\n alias: 'variable'\n }\n Prism.languages.regex = {\n 'char-class': {\n pattern: /((?:^|[^\\\\])(?:\\\\\\\\)*)\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*\\]/,\n lookbehind: true,\n inside: {\n 'char-class-negation': {\n pattern: /(^\\[)\\^/,\n lookbehind: true,\n alias: 'operator'\n },\n 'char-class-punctuation': {\n pattern: /^\\[|\\]$/,\n alias: 'punctuation'\n },\n range: {\n pattern: range,\n inside: {\n escape: escape,\n 'range-punctuation': {\n pattern: /-/,\n alias: 'operator'\n }\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSetWithoutDot,\n escape: escape\n }\n },\n 'special-escape': specialEscape,\n 'char-set': charSet,\n backreference: [\n {\n // a backreference which is not an octal escape\n pattern: /\\\\(?![123][0-7]{2})[1-9]/,\n alias: 'keyword'\n },\n {\n pattern: /\\\\k<[^<>']+>/,\n alias: 'keyword',\n inside: {\n 'group-name': groupName\n }\n }\n ],\n anchor: {\n pattern: /[$^]|\\\\[ABbGZz]/,\n alias: 'function'\n },\n escape: escape,\n group: [\n {\n // https://docs.oracle.com/javase/10/docs/api/java/util/regex/Pattern.html\n // https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference?view=netframework-4.7.2#grouping-constructs\n\n // (), (?<name>), (?'name'), (?>), (?:), (?=), (?!), (?<=), (?<!), (?is-m), (?i-m:)\n pattern:\n /\\((?:\\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,\n alias: 'punctuation',\n inside: {\n 'group-name': groupName\n }\n },\n {\n pattern: /\\)/,\n alias: 'punctuation'\n }\n ],\n quantifier: {\n pattern: /(?:[+*?]|\\{\\d+(?:,\\d*)?\\})[?+]?/,\n alias: 'number'\n },\n alternation: {\n pattern: /\\|/,\n alias: 'keyword'\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\njavascript.displayName = 'javascript'\njavascript.aliases = ['js']\n\n/** @param {Refractor} Prism */\nexport default function javascript(Prism) {\n Prism.register(refractorClike)\n Prism.languages.javascript = Prism.languages.extend('clike', {\n 'class-name': [\n Prism.languages.clike['class-name'],\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$A-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\.(?:constructor|prototype))/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /((?:^|\\})\\s*)catch\\b/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^.]|\\.\\.\\.\\s*)\\b(?:as|assert(?=\\s*\\{)|async(?=\\s*(?:function\\b|\\(|[$\\w\\xA0-\\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\\s*(?:\\{|$))|for|from(?=\\s*(?:['\"]|$))|function|(?:get|set)(?=\\s*(?:[#\\[$\\w\\xA0-\\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\\b/,\n lookbehind: true\n }\n ],\n // Allow for all non-ASCII characters (See http://stackoverflow.com/a/2008444)\n function:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*(?:\\.\\s*(?:apply|bind|call)\\s*)?\\()/,\n number: {\n pattern: RegExp(\n /(^|[^\\w$])/.source +\n '(?:' +\n // constant\n (/NaN|Infinity/.source +\n '|' +\n // binary integer\n /0[bB][01]+(?:_[01]+)*n?/.source +\n '|' +\n // octal integer\n /0[oO][0-7]+(?:_[0-7]+)*n?/.source +\n '|' +\n // hexadecimal integer\n /0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?/.source +\n '|' +\n // decimal bigint\n /\\d+(?:_\\d+)*n/.source +\n '|' +\n // decimal number (integer or float) but no bigint\n /(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?/\n .source) +\n ')' +\n /(?![\\w$])/.source\n ),\n lookbehind: true\n },\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/\n })\n Prism.languages.javascript['class-name'][0].pattern =\n /(\\b(?:class|extends|implements|instanceof|interface|new)\\s+)[\\w.\\\\]+/\n Prism.languages.insertBefore('javascript', 'keyword', {\n regex: {\n pattern: RegExp(\n // lookbehind\n // eslint-disable-next-line regexp/no-dupe-characters-character-class\n /((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/.source +\n // Regex pattern:\n // There are 2 regex patterns here. The RegExp set notation proposal added support for nested character\n // classes if the `v` flag is present. Unfortunately, nested CCs are both context-free and incompatible\n // with the only syntax, so we have to define 2 different regex patterns.\n /\\//.source +\n '(?:' +\n /(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}/\n .source +\n '|' +\n // `v` flag syntax. This supports 3 levels of nested character classes.\n /(?:\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.|\\[(?:[^[\\]\\\\\\r\\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[dgimyus]{0,7}v[dgimyus]{0,7}/\n .source +\n ')' +\n // lookahead\n /(?=(?:\\s|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*(?:$|[\\r\\n,.;:})\\]]|\\/\\/))/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\/|\\/$/,\n 'regex-flags': /^[a-z]+$/\n }\n },\n // This must be declared before keyword because we use \"function\" inside the look-forward\n 'function-variable': {\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:async\\s*)?(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n },\n parameter: [\n {\n pattern:\n /(function(?:\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)?\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\))/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(^|[^$\\w\\xA0-\\uFFFF])(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=>)/i,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /(\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*=>)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n {\n pattern:\n /((?:\\b|\\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\\w\\xA0-\\uFFFF]))(?:(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*)\\(\\s*|\\]\\s*\\(\\s*)(?!\\s)(?:[^()\\s]|\\s+(?![\\s)])|\\([^()]*\\))+(?=\\s*\\)\\s*\\{)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n constant: /\\b[A-Z](?:[A-Z_]|\\dx?)*\\b/\n })\n Prism.languages.insertBefore('javascript', 'string', {\n hashbang: {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n 'template-string': {\n pattern:\n /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.javascript\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'string-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2(?=\\s*:)/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n }\n })\n Prism.languages.insertBefore('javascript', 'operator', {\n 'literal-property': {\n pattern:\n /((?:^|[,{])[ \\t]*)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/m,\n lookbehind: true,\n alias: 'property'\n }\n })\n if (Prism.languages.markup) {\n Prism.languages.markup.tag.addInlined('script', 'javascript')\n\n // add attribute support for all DOM events.\n // https://developer.mozilla.org/en-US/docs/Web/Events#Standard_events\n Prism.languages.markup.tag.addAttribute(\n /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/\n .source,\n 'javascript'\n )\n }\n Prism.languages.js = Prism.languages.javascript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nabap.displayName = 'abap'\nabap.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function abap(Prism) {\n Prism.languages.abap = {\n comment: /^\\*.*/m,\n string: /(`|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'string-template': {\n pattern: /([|}])(?:\\\\.|[^\\\\|{\\r\\n])*(?=[|{])/,\n lookbehind: true,\n alias: 'string'\n },\n /* End Of Line comments should not interfere with strings when the\nquote character occurs within them. We assume a string being highlighted\ninside an EOL comment is more acceptable than the opposite.\n*/\n 'eol-comment': {\n pattern: /(^|\\s)\".*/m,\n lookbehind: true,\n alias: 'comment'\n },\n keyword: {\n pattern:\n /(\\s|\\.|^)(?:\\*-INPUT|\\?TO|ABAP-SOURCE|ABBREVIATED|ABS|ABSTRACT|ACCEPT|ACCEPTING|ACCESSPOLICY|ACCORDING|ACOS|ACTIVATION|ACTUAL|ADD|ADD-CORRESPONDING|ADJACENT|AFTER|ALIAS|ALIASES|ALIGN|ALL|ALLOCATE|ALPHA|ANALYSIS|ANALYZER|AND|ANY|APPEND|APPENDAGE|APPENDING|APPLICATION|ARCHIVE|AREA|ARITHMETIC|AS|ASCENDING|ASIN|ASPECT|ASSERT|ASSIGN|ASSIGNED|ASSIGNING|ASSOCIATION|ASYNCHRONOUS|AT|ATAN|ATTRIBUTES|AUTHORITY|AUTHORITY-CHECK|AVG|BACK|BACKGROUND|BACKUP|BACKWARD|BADI|BASE|BEFORE|BEGIN|BETWEEN|BIG|BINARY|BINDING|BIT|BIT-AND|BIT-NOT|BIT-OR|BIT-XOR|BLACK|BLANK|BLANKS|BLOB|BLOCK|BLOCKS|BLUE|BOUND|BOUNDARIES|BOUNDS|BOXED|BREAK-POINT|BT|BUFFER|BY|BYPASSING|BYTE|BYTE-CA|BYTE-CN|BYTE-CO|BYTE-CS|BYTE-NA|BYTE-NS|BYTE-ORDER|C|CA|CALL|CALLING|CASE|CAST|CASTING|CATCH|CEIL|CENTER|CENTERED|CHAIN|CHAIN-INPUT|CHAIN-REQUEST|CHANGE|CHANGING|CHANNELS|CHAR-TO-HEX|CHARACTER|CHARLEN|CHECK|CHECKBOX|CIRCULAR|CI_|CLASS|CLASS-CODING|CLASS-DATA|CLASS-EVENTS|CLASS-METHODS|CLASS-POOL|CLEANUP|CLEAR|CLIENT|CLOB|CLOCK|CLOSE|CN|CNT|CO|COALESCE|CODE|CODING|COLLECT|COLOR|COLUMN|COLUMNS|COL_BACKGROUND|COL_GROUP|COL_HEADING|COL_KEY|COL_NEGATIVE|COL_NORMAL|COL_POSITIVE|COL_TOTAL|COMMENT|COMMENTS|COMMIT|COMMON|COMMUNICATION|COMPARING|COMPONENT|COMPONENTS|COMPRESSION|COMPUTE|CONCAT|CONCATENATE|COND|CONDENSE|CONDITION|CONNECT|CONNECTION|CONSTANTS|CONTEXT|CONTEXTS|CONTINUE|CONTROL|CONTROLS|CONV|CONVERSION|CONVERT|COPIES|COPY|CORRESPONDING|COS|COSH|COUNT|COUNTRY|COVER|CP|CPI|CREATE|CREATING|CRITICAL|CS|CURRENCY|CURRENCY_CONVERSION|CURRENT|CURSOR|CURSOR-SELECTION|CUSTOMER|CUSTOMER-FUNCTION|DANGEROUS|DATA|DATABASE|DATAINFO|DATASET|DATE|DAYLIGHT|DBMAXLEN|DD\\/MM\\/YY|DD\\/MM\\/YYYY|DDMMYY|DEALLOCATE|DECIMALS|DECIMAL_SHIFT|DECLARATIONS|DEEP|DEFAULT|DEFERRED|DEFINE|DEFINING|DEFINITION|DELETE|DELETING|DEMAND|DEPARTMENT|DESCENDING|DESCRIBE|DESTINATION|DETAIL|DIALOG|DIRECTORY|DISCONNECT|DISPLAY|DISPLAY-MODE|DISTANCE|DISTINCT|DIV|DIVIDE|DIVIDE-CORRESPONDING|DIVISION|DO|DUMMY|DUPLICATE|DUPLICATES|DURATION|DURING|DYNAMIC|DYNPRO|E|EACH|EDIT|EDITOR-CALL|ELSE|ELSEIF|EMPTY|ENABLED|ENABLING|ENCODING|END|END-ENHANCEMENT-SECTION|END-LINES|END-OF-DEFINITION|END-OF-FILE|END-OF-PAGE|END-OF-SELECTION|ENDAT|ENDCASE|ENDCATCH|ENDCHAIN|ENDCLASS|ENDDO|ENDENHANCEMENT|ENDEXEC|ENDFOR|ENDFORM|ENDFUNCTION|ENDIAN|ENDIF|ENDING|ENDINTERFACE|ENDLOOP|ENDMETHOD|ENDMODULE|ENDON|ENDPROVIDE|ENDSELECT|ENDTRY|ENDWHILE|ENGINEERING|ENHANCEMENT|ENHANCEMENT-POINT|ENHANCEMENT-SECTION|ENHANCEMENTS|ENTRIES|ENTRY|ENVIRONMENT|EQ|EQUAL|EQUIV|ERRORMESSAGE|ERRORS|ESCAPE|ESCAPING|EVENT|EVENTS|EXACT|EXCEPT|EXCEPTION|EXCEPTION-TABLE|EXCEPTIONS|EXCLUDE|EXCLUDING|EXEC|EXECUTE|EXISTS|EXIT|EXIT-COMMAND|EXP|EXPAND|EXPANDING|EXPIRATION|EXPLICIT|EXPONENT|EXPORT|EXPORTING|EXTEND|EXTENDED|EXTENSION|EXTRACT|FAIL|FETCH|FIELD|FIELD-GROUPS|FIELD-SYMBOL|FIELD-SYMBOLS|FIELDS|FILE|FILTER|FILTER-TABLE|FILTERS|FINAL|FIND|FIRST|FIRST-LINE|FIXED-POINT|FKEQ|FKGE|FLOOR|FLUSH|FONT|FOR|FORM|FORMAT|FORWARD|FOUND|FRAC|FRAME|FRAMES|FREE|FRIENDS|FROM|FUNCTION|FUNCTION-POOL|FUNCTIONALITY|FURTHER|GAPS|GE|GENERATE|GET|GIVING|GKEQ|GKGE|GLOBAL|GRANT|GREATER|GREEN|GROUP|GROUPS|GT|HANDLE|HANDLER|HARMLESS|HASHED|HAVING|HDB|HEAD-LINES|HEADER|HEADERS|HEADING|HELP-ID|HELP-REQUEST|HIDE|HIGH|HINT|HOLD|HOTSPOT|I|ICON|ID|IDENTIFICATION|IDENTIFIER|IDS|IF|IGNORE|IGNORING|IMMEDIATELY|IMPLEMENTATION|IMPLEMENTATIONS|IMPLEMENTED|IMPLICIT|IMPORT|IMPORTING|IN|INACTIVE|INCL|INCLUDE|INCLUDES|INCLUDING|INCREMENT|INDEX|INDEX-LINE|INFOTYPES|INHERITING|INIT|INITIAL|INITIALIZATION|INNER|INOUT|INPUT|INSERT|INSTANCES|INTENSIFIED|INTERFACE|INTERFACE-POOL|INTERFACES|INTERNAL|INTERVALS|INTO|INVERSE|INVERTED-DATE|IS|ISO|ITERATOR|ITNO|JOB|JOIN|KEEP|KEEPING|KERNEL|KEY|KEYS|KEYWORDS|KIND|LANGUAGE|LAST|LATE|LAYOUT|LE|LEADING|LEAVE|LEFT|LEFT-JUSTIFIED|LEFTPLUS|LEFTSPACE|LEGACY|LENGTH|LESS|LET|LEVEL|LEVELS|LIKE|LINE|LINE-COUNT|LINE-SELECTION|LINE-SIZE|LINEFEED|LINES|LIST|LIST-PROCESSING|LISTBOX|LITTLE|LLANG|LOAD|LOAD-OF-PROGRAM|LOB|LOCAL|LOCALE|LOCATOR|LOG|LOG-POINT|LOG10|LOGFILE|LOGICAL|LONG|LOOP|LOW|LOWER|LPAD|LPI|LT|M|MAIL|MAIN|MAJOR-ID|MAPPING|MARGIN|MARK|MASK|MATCH|MATCHCODE|MAX|MAXIMUM|MEDIUM|MEMBERS|MEMORY|MESH|MESSAGE|MESSAGE-ID|MESSAGES|MESSAGING|METHOD|METHODS|MIN|MINIMUM|MINOR-ID|MM\\/DD\\/YY|MM\\/DD\\/YYYY|MMDDYY|MOD|MODE|MODIF|MODIFIER|MODIFY|MODULE|MOVE|MOVE-CORRESPONDING|MULTIPLY|MULTIPLY-CORRESPONDING|NA|NAME|NAMETAB|NATIVE|NB|NE|NESTED|NESTING|NEW|NEW-LINE|NEW-PAGE|NEW-SECTION|NEXT|NO|NO-DISPLAY|NO-EXTENSION|NO-GAP|NO-GAPS|NO-GROUPING|NO-HEADING|NO-SCROLLING|NO-SIGN|NO-TITLE|NO-TOPOFPAGE|NO-ZERO|NODE|NODES|NON-UNICODE|NON-UNIQUE|NOT|NP|NS|NULL|NUMBER|NUMOFCHAR|O|OBJECT|OBJECTS|OBLIGATORY|OCCURRENCE|OCCURRENCES|OCCURS|OF|OFF|OFFSET|OLE|ON|ONLY|OPEN|OPTION|OPTIONAL|OPTIONS|OR|ORDER|OTHER|OTHERS|OUT|OUTER|OUTPUT|OUTPUT-LENGTH|OVERFLOW|OVERLAY|PACK|PACKAGE|PAD|PADDING|PAGE|PAGES|PARAMETER|PARAMETER-TABLE|PARAMETERS|PART|PARTIALLY|PATTERN|PERCENTAGE|PERFORM|PERFORMING|PERSON|PF|PF-STATUS|PINK|PLACES|POOL|POSITION|POS_HIGH|POS_LOW|PRAGMAS|PRECOMPILED|PREFERRED|PRESERVING|PRIMARY|PRINT|PRINT-CONTROL|PRIORITY|PRIVATE|PROCEDURE|PROCESS|PROGRAM|PROPERTY|PROTECTED|PROVIDE|PUBLIC|PUSHBUTTON|PUT|QUEUE-ONLY|QUICKINFO|RADIOBUTTON|RAISE|RAISING|RANGE|RANGES|RAW|READ|READ-ONLY|READER|RECEIVE|RECEIVED|RECEIVER|RECEIVING|RED|REDEFINITION|REDUCE|REDUCED|REF|REFERENCE|REFRESH|REGEX|REJECT|REMOTE|RENAMING|REPLACE|REPLACEMENT|REPLACING|REPORT|REQUEST|REQUESTED|RESERVE|RESET|RESOLUTION|RESPECTING|RESPONSIBLE|RESULT|RESULTS|RESUMABLE|RESUME|RETRY|RETURN|RETURNCODE|RETURNING|RIGHT|RIGHT-JUSTIFIED|RIGHTPLUS|RIGHTSPACE|RISK|RMC_COMMUNICATION_FAILURE|RMC_INVALID_STATUS|RMC_SYSTEM_FAILURE|ROLE|ROLLBACK|ROUND|ROWS|RTTI|RUN|SAP|SAP-SPOOL|SAVING|SCALE_PRESERVING|SCALE_PRESERVING_SCIENTIFIC|SCAN|SCIENTIFIC|SCIENTIFIC_WITH_LEADING_ZERO|SCREEN|SCROLL|SCROLL-BOUNDARY|SCROLLING|SEARCH|SECONDARY|SECONDS|SECTION|SELECT|SELECT-OPTIONS|SELECTION|SELECTION-SCREEN|SELECTION-SET|SELECTION-SETS|SELECTION-TABLE|SELECTIONS|SELECTOR|SEND|SEPARATE|SEPARATED|SET|SHARED|SHIFT|SHORT|SHORTDUMP-ID|SIGN|SIGN_AS_POSTFIX|SIMPLE|SIN|SINGLE|SINH|SIZE|SKIP|SKIPPING|SMART|SOME|SORT|SORTABLE|SORTED|SOURCE|SPACE|SPECIFIED|SPLIT|SPOOL|SPOTS|SQL|SQLSCRIPT|SQRT|STABLE|STAMP|STANDARD|START-OF-SELECTION|STARTING|STATE|STATEMENT|STATEMENTS|STATIC|STATICS|STATUSINFO|STEP-LOOP|STOP|STRLEN|STRUCTURE|STRUCTURES|STYLE|SUBKEY|SUBMATCHES|SUBMIT|SUBROUTINE|SUBSCREEN|SUBSTRING|SUBTRACT|SUBTRACT-CORRESPONDING|SUFFIX|SUM|SUMMARY|SUMMING|SUPPLIED|SUPPLY|SUPPRESS|SWITCH|SWITCHSTATES|SYMBOL|SYNCPOINTS|SYNTAX|SYNTAX-CHECK|SYNTAX-TRACE|SYSTEM-CALL|SYSTEM-EXCEPTIONS|SYSTEM-EXIT|TAB|TABBED|TABLE|TABLES|TABLEVIEW|TABSTRIP|TAN|TANH|TARGET|TASK|TASKS|TEST|TESTING|TEXT|TEXTPOOL|THEN|THROW|TIME|TIMES|TIMESTAMP|TIMEZONE|TITLE|TITLE-LINES|TITLEBAR|TO|TOKENIZATION|TOKENS|TOP-LINES|TOP-OF-PAGE|TRACE-FILE|TRACE-TABLE|TRAILING|TRANSACTION|TRANSFER|TRANSFORMATION|TRANSLATE|TRANSPORTING|TRMAC|TRUNC|TRUNCATE|TRUNCATION|TRY|TYPE|TYPE-POOL|TYPE-POOLS|TYPES|ULINE|UNASSIGN|UNDER|UNICODE|UNION|UNIQUE|UNIT|UNIT_CONVERSION|UNIX|UNPACK|UNTIL|UNWIND|UP|UPDATE|UPPER|USER|USER-COMMAND|USING|UTF-8|VALID|VALUE|VALUE-REQUEST|VALUES|VARY|VARYING|VERIFICATION-MESSAGE|VERSION|VIA|VIEW|VISIBLE|WAIT|WARNING|WHEN|WHENEVER|WHERE|WHILE|WIDTH|WINDOW|WINDOWS|WITH|WITH-HEADING|WITH-TITLE|WITHOUT|WORD|WORK|WRITE|WRITER|X|XML|XOR|XSD|XSTRLEN|YELLOW|YES|YYMMDD|Z|ZERO|ZONE)(?![\\w-])/i,\n lookbehind: true\n },\n /* Numbers can be only integers. Decimal or Hex appear only as strings */\n number: /\\b\\d+\\b/,\n /* Operators must always be surrounded by whitespace, they cannot be put\nadjacent to operands.\n*/\n operator: {\n pattern: /(\\s)(?:\\*\\*?|<[=>]?|>=?|\\?=|[-+\\/=])(?=\\s)/,\n lookbehind: true\n },\n 'string-operator': {\n pattern: /(\\s)&&?(?=\\s)/,\n lookbehind: true,\n /* The official editor highlights */\n alias: 'keyword'\n },\n 'token-operator': [\n {\n /* Special operators used to access structure components, class methods/attributes, etc. */\n pattern: /(\\w)(?:->?|=>|[~|{}])(?=\\w)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n {\n /* Special tokens used do delimit string templates */\n pattern: /[|{}]/,\n alias: 'punctuation'\n }\n ],\n punctuation: /[,.:()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nabnf.displayName = 'abnf'\nabnf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function abnf(Prism) {\n ;(function (Prism) {\n var coreRules =\n '(?:ALPHA|BIT|CHAR|CR|CRLF|CTL|DIGIT|DQUOTE|HEXDIG|HTAB|LF|LWSP|OCTET|SP|VCHAR|WSP)'\n Prism.languages.abnf = {\n comment: /;.*/,\n string: {\n pattern: /(?:%[is])?\"[^\"\\n\\r]*\"/,\n greedy: true,\n inside: {\n punctuation: /^%[is]/\n }\n },\n range: {\n pattern: /%(?:b[01]+-[01]+|d\\d+-\\d+|x[A-F\\d]+-[A-F\\d]+)/i,\n alias: 'number'\n },\n terminal: {\n pattern:\n /%(?:b[01]+(?:\\.[01]+)*|d\\d+(?:\\.\\d+)*|x[A-F\\d]+(?:\\.[A-F\\d]+)*)/i,\n alias: 'number'\n },\n repetition: {\n pattern: /(^|[^\\w-])(?:\\d*\\*\\d*|\\d+)/,\n lookbehind: true,\n alias: 'operator'\n },\n definition: {\n pattern: /(^[ \\t]*)(?:[a-z][\\w-]*|<[^<>\\r\\n]*>)(?=\\s*=)/m,\n lookbehind: true,\n alias: 'keyword',\n inside: {\n punctuation: /<|>/\n }\n },\n 'core-rule': {\n pattern: RegExp(\n '(?:(^|[^<\\\\w-])' + coreRules + '|<' + coreRules + '>)(?![\\\\w-])',\n 'i'\n ),\n lookbehind: true,\n alias: ['rule', 'constant'],\n inside: {\n punctuation: /<|>/\n }\n },\n rule: {\n pattern: /(^|[^<\\w-])[a-z][\\w-]*|<[^<>\\r\\n]*>/i,\n lookbehind: true,\n inside: {\n punctuation: /<|>/\n }\n },\n operator: /=\\/?|\\//,\n punctuation: /[()\\[\\]]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nactionscript.displayName = 'actionscript'\nactionscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function actionscript(Prism) {\n Prism.register(refractorJavascript)\n Prism.languages.actionscript = Prism.languages.extend('javascript', {\n keyword:\n /\\b(?:as|break|case|catch|class|const|default|delete|do|dynamic|each|else|extends|final|finally|for|function|get|if|implements|import|in|include|instanceof|interface|internal|is|namespace|native|new|null|override|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|use|var|void|while|with)\\b/,\n operator: /\\+\\+|--|(?:[+\\-*\\/%^]|&&?|\\|\\|?|<<?|>>?>?|[!=]=?)=?|[~?@]/\n })\n Prism.languages.actionscript['class-name'].alias = 'function'\n\n // doesn't work with AS because AS is too complex\n delete Prism.languages.actionscript['parameter']\n delete Prism.languages.actionscript['literal-property']\n if (Prism.languages.markup) {\n Prism.languages.insertBefore('actionscript', 'string', {\n xml: {\n pattern:\n /(^|[^.])<\\/?\\w+(?:\\s+[^\\s>\\/=]+=(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2)*\\s*\\/?>/,\n lookbehind: true,\n inside: Prism.languages.markup\n }\n })\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nada.displayName = 'ada'\nada.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ada(Prism) {\n Prism.languages.ada = {\n comment: /--.*/,\n string: /\"(?:\"\"|[^\"\\r\\f\\n])*\"/,\n number: [\n {\n pattern:\n /\\b\\d(?:_?\\d)*#[\\dA-F](?:_?[\\dA-F])*(?:\\.[\\dA-F](?:_?[\\dA-F])*)?#(?:E[+-]?\\d(?:_?\\d)*)?/i\n },\n {\n pattern: /\\b\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:E[+-]?\\d(?:_?\\d)*)?\\b/i\n }\n ],\n attribute: {\n pattern: /\\b'\\w+/,\n alias: 'attr-name'\n },\n keyword:\n /\\b(?:abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|some|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n operator: /<[=>]?|>=?|=>?|:=|\\/=?|\\*\\*?|[&+-]/,\n punctuation: /\\.\\.?|[,;():]/,\n char: /'.'/,\n variable: /\\b[a-z](?:\\w)*\\b/i\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nagda.displayName = 'agda'\nagda.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function agda(Prism) {\n ;(function (Prism) {\n Prism.languages.agda = {\n comment: /\\{-[\\s\\S]*?(?:-\\}|$)|--.*/,\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n punctuation: /[(){}⦃⦄.;@]/,\n 'class-name': {\n pattern: /((?:data|record) +)\\S+/,\n lookbehind: true\n },\n function: {\n pattern: /(^[ \\t]*)(?!\\s)[^:\\r\\n]+(?=:)/m,\n lookbehind: true\n },\n operator: {\n pattern: /(^\\s*|\\s)(?:[=|:∀→λ\\\\?_]|->)(?=\\s)/,\n lookbehind: true\n },\n keyword:\n /\\b(?:Set|abstract|constructor|data|eta-equality|field|forall|hiding|import|in|inductive|infix|infixl|infixr|instance|let|macro|module|mutual|no-eta-equality|open|overlap|pattern|postulate|primitive|private|public|quote|quoteContext|quoteGoal|quoteTerm|record|renaming|rewrite|syntax|tactic|unquote|unquoteDecl|unquoteDef|using|variable|where|with)\\b/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nal.displayName = 'al'\nal.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function al(Prism) {\n // based on https://github.com/microsoft/AL/blob/master/grammar/alsyntax.tmlanguage\n\n Prism.languages.al = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n function: {\n pattern:\n /(\\b(?:event|procedure|trigger)\\s+|(?:^|[^.])\\.\\s*)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true\n },\n keyword: [\n // keywords\n /\\b(?:array|asserterror|begin|break|case|do|downto|else|end|event|exit|for|foreach|function|if|implements|in|indataset|interface|internal|local|of|procedure|program|protected|repeat|runonclient|securityfiltering|suppressdispose|temporary|then|to|trigger|until|var|while|with|withevents)\\b/i,\n // objects and metadata that are used like keywords\n /\\b(?:action|actions|addafter|addbefore|addfirst|addlast|area|assembly|chartpart|codeunit|column|controladdin|cuegroup|customizes|dataitem|dataset|dotnet|elements|enum|enumextension|extends|field|fieldattribute|fieldelement|fieldgroup|fieldgroups|fields|filter|fixed|grid|group|key|keys|label|labels|layout|modify|moveafter|movebefore|movefirst|movelast|page|pagecustomization|pageextension|part|profile|query|repeater|report|requestpage|schema|separator|systempart|table|tableelement|tableextension|textattribute|textelement|type|usercontrol|value|xmlport)\\b/i\n ],\n number:\n /\\b(?:0x[\\da-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)(?:F|LL?|U(?:LL?)?)?\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n variable: /\\b(?:Curr(?:FieldNo|Page|Report)|x?Rec|RequestOptionsPage)\\b/,\n 'class-name':\n /\\b(?:automation|biginteger|bigtext|blob|boolean|byte|char|clienttype|code|completiontriggererrorlevel|connectiontype|database|dataclassification|datascope|date|dateformula|datetime|decimal|defaultlayout|dialog|dictionary|dotnetassembly|dotnettypedeclaration|duration|errorinfo|errortype|executioncontext|executionmode|fieldclass|fieldref|fieldtype|file|filterpagebuilder|guid|httpclient|httpcontent|httpheaders|httprequestmessage|httpresponsemessage|instream|integer|joker|jsonarray|jsonobject|jsontoken|jsonvalue|keyref|list|moduledependencyinfo|moduleinfo|none|notification|notificationscope|objecttype|option|outstream|pageresult|record|recordid|recordref|reportformat|securityfilter|sessionsettings|tableconnectiontype|tablefilter|testaction|testfield|testfilterfield|testpage|testpermissions|testrequestpage|text|textbuilder|textconst|textencoding|time|transactionmodel|transactiontype|variant|verbosity|version|view|views|webserviceactioncontext|webserviceactionresultcode|xmlattribute|xmlattributecollection|xmlcdata|xmlcomment|xmldeclaration|xmldocument|xmldocumenttype|xmlelement|xmlnamespacemanager|xmlnametable|xmlnode|xmlnodelist|xmlprocessinginstruction|xmlreadoptions|xmltext|xmlwriteoptions)\\b/i,\n operator: /\\.\\.|:[=:]|[-+*/]=?|<>|[<>]=?|=|\\b(?:and|div|mod|not|or|xor)\\b/i,\n punctuation: /[()\\[\\]{}:.;,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nantlr4.displayName = 'antlr4'\nantlr4.aliases = ['g4']\n\n/** @param {Refractor} Prism */\nexport default function antlr4(Prism) {\n Prism.languages.antlr4 = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n string: {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n greedy: true\n },\n 'character-class': {\n pattern: /\\[(?:\\\\.|[^\\\\\\]\\r\\n])*\\]/,\n greedy: true,\n alias: 'regex',\n inside: {\n range: {\n pattern: /([^[]|(?:^|[^\\\\])(?:\\\\\\\\)*\\\\\\[)-(?!\\])/,\n lookbehind: true,\n alias: 'punctuation'\n },\n escape:\n /\\\\(?:u(?:[a-fA-F\\d]{4}|\\{[a-fA-F\\d]+\\})|[pP]\\{[=\\w-]+\\}|[^\\r\\nupP])/,\n punctuation: /[\\[\\]]/\n }\n },\n action: {\n pattern: /\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\}/,\n greedy: true,\n inside: {\n content: {\n // this might be C, C++, Python, Java, C#, or any other language ANTLR4 compiles to\n pattern: /(\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true\n },\n punctuation: /[{}]/\n }\n },\n command: {\n pattern:\n /(->\\s*(?!\\s))(?:\\s*(?:,\\s*)?\\b[a-z]\\w*(?:\\s*\\([^()\\r\\n]*\\))?)+(?=\\s*;)/i,\n lookbehind: true,\n inside: {\n function: /\\b\\w+(?=\\s*(?:[,(]|$))/,\n punctuation: /[,()]/\n }\n },\n annotation: {\n pattern: /@\\w+(?:::\\w+)*/,\n alias: 'keyword'\n },\n label: {\n pattern: /#[ \\t]*\\w+/,\n alias: 'punctuation'\n },\n keyword:\n /\\b(?:catch|channels|finally|fragment|grammar|import|lexer|locals|mode|options|parser|returns|throws|tokens)\\b/,\n definition: [\n {\n pattern: /\\b[a-z]\\w*(?=\\s*:)/,\n alias: ['rule', 'class-name']\n },\n {\n pattern: /\\b[A-Z]\\w*(?=\\s*:)/,\n alias: ['token', 'constant']\n }\n ],\n constant: /\\b[A-Z][A-Z_]*\\b/,\n operator: /\\.\\.|->|[|~]|[*+?]\\??/,\n punctuation: /[;:()=]/\n }\n Prism.languages.g4 = Prism.languages.antlr4\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\napacheconf.displayName = 'apacheconf'\napacheconf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function apacheconf(Prism) {\n Prism.languages.apacheconf = {\n comment: /#.*/,\n 'directive-inline': {\n pattern:\n /(^[\\t ]*)\\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|Type|UserFile|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferedLogs|BufferSize|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CGIDScriptTimeout|CGIMapExtension|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DTracePrivileges|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtendedStatus|ExtFilterDefine|ExtFilterOptions|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|KeepAlive|KeepAliveTimeout|KeptBodySize|LanguagePriority|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|Limit(?:InternalRecursion|Request(?:Body|Fields|FieldSize|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|MMapFile|ModemStandard|ModMimeUsePathInfo|MultiviewsMatch|Mutex|NameVirtualHost|NoProxy|NWSSLTrustedCerts|NWSSLUpgradeable|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|SSIEndTag|SSIErrorMsg|SSIETag|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|SRPUnknownUserSeed|SRPVerifierFile|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UserName|UseStapling|VerifyClient|VerifyDepth)|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadsPerChild|ThreadStackSize|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\\b/im,\n lookbehind: true,\n alias: 'property'\n },\n 'directive-block': {\n pattern:\n /<\\/?\\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\\b.*>/i,\n inside: {\n 'directive-block': {\n pattern: /^<\\/?\\w+/,\n inside: {\n punctuation: /^<\\/?/\n },\n alias: 'tag'\n },\n 'directive-block-parameter': {\n pattern: /.*[^>]/,\n inside: {\n punctuation: /:/,\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n }\n },\n alias: 'attr-value'\n },\n punctuation: />/\n },\n alias: 'tag'\n },\n 'directive-flags': {\n pattern: /\\[(?:[\\w=],?)+\\]/,\n alias: 'keyword'\n },\n string: {\n pattern: /(\"|').*\\1/,\n inside: {\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/\n }\n },\n variable: /[$%]\\{?(?:\\w\\.?[-+:]?)+\\}?/,\n regex: /\\^?.*\\$|\\^.*\\$?/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsql.displayName = 'sql'\nsql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function sql(Prism) {\n Prism.languages.sql = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n variable: [\n {\n pattern: /@([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1/,\n greedy: true\n },\n /@[\\w.$]+/\n ],\n string: {\n pattern: /(^|[^@\\\\])(\"|')(?:\\\\[\\s\\S]|(?!\\2)[^\\\\]|\\2\\2)*\\2/,\n greedy: true,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[^@\\\\])`(?:\\\\[\\s\\S]|[^`\\\\]|``)*`/,\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /^`|`$/\n }\n },\n function:\n /\\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\\s*\\()/i,\n // Should we highlight user defined functions too?\n keyword:\n /\\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\\b/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/=%^~]|&&?|\\|\\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\\b/i,\n punctuation: /[;[\\]()`,.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nimport refractorSql from './sql.js'\napex.displayName = 'apex'\napex.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function apex(Prism) {\n Prism.register(refractorClike)\n Prism.register(refractorSql)\n ;(function (Prism) {\n var keywords =\n /\\b(?:(?:after|before)(?=\\s+[a-z])|abstract|activate|and|any|array|as|asc|autonomous|begin|bigdecimal|blob|boolean|break|bulk|by|byte|case|cast|catch|char|class|collect|commit|const|continue|currency|date|datetime|decimal|default|delete|desc|do|double|else|end|enum|exception|exit|export|extends|final|finally|float|for|from|get(?=\\s*[{};])|global|goto|group|having|hint|if|implements|import|in|inner|insert|instanceof|int|integer|interface|into|join|like|limit|list|long|loop|map|merge|new|not|null|nulls|number|object|of|on|or|outer|override|package|parallel|pragma|private|protected|public|retrieve|return|rollback|select|set|short|sObject|sort|static|string|super|switch|synchronized|system|testmethod|then|this|throw|time|transaction|transient|trigger|try|undelete|update|upsert|using|virtual|void|webservice|when|where|while|(?:inherited|with|without)\\s+sharing)\\b/i\n var className =\n /\\b(?:(?=[a-z_]\\w*\\s*[<\\[])|(?!<keyword>))[A-Z_]\\w*(?:\\s*\\.\\s*[A-Z_]\\w*)*\\b(?:\\s*(?:\\[\\s*\\]|<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>))*/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n /** @param {string} pattern */\n function insertClassName(pattern) {\n return RegExp(\n pattern.replace(/<CLASS-NAME>/g, function () {\n return className\n }),\n 'i'\n )\n }\n var classNameInside = {\n keyword: keywords,\n punctuation: /[()\\[\\]{};,:.<>]/\n }\n Prism.languages.apex = {\n comment: Prism.languages.clike.comment,\n string: Prism.languages.clike.string,\n sql: {\n pattern: /((?:[=,({:]|\\breturn)\\s*)\\[[^\\[\\]]*\\]/i,\n lookbehind: true,\n greedy: true,\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n annotation: {\n pattern: /@\\w+\\b/,\n alias: 'punctuation'\n },\n 'class-name': [\n {\n pattern: insertClassName(\n /(\\b(?:class|enum|extends|implements|instanceof|interface|new|trigger\\s+\\w+\\s+on)\\s+)<CLASS-NAME>/\n .source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // cast\n pattern: insertClassName(\n /(\\(\\s*)<CLASS-NAME>(?=\\s*\\)\\s*[\\w(])/.source\n ),\n lookbehind: true,\n inside: classNameInside\n },\n {\n // variable/parameter declaration and return types\n pattern: insertClassName(/<CLASS-NAME>(?=\\s*\\w+\\s*[;=,(){:])/.source),\n inside: classNameInside\n }\n ],\n trigger: {\n pattern: /(\\btrigger\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n keyword: keywords,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+|L)?)\\b/i,\n operator:\n /[!=](?:==?)?|\\?\\.?|&&|\\|\\||--|\\+\\+|[-+*/^&|]=?|:|<<?=?|>{1,3}=?/,\n punctuation: /[()\\[\\]{};,.]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\napl.displayName = 'apl'\napl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function apl(Prism) {\n Prism.languages.apl = {\n comment: /(?:⍝|#[! ]).*$/m,\n string: {\n pattern: /'(?:[^'\\r\\n]|'')*'/,\n greedy: true\n },\n number:\n /¯?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+)?|¯|∞)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+)?|¯|∞))?/i,\n statement: /:[A-Z][a-z][A-Za-z]*\\b/,\n 'system-function': {\n pattern: /⎕[A-Z]+/i,\n alias: 'function'\n },\n constant: /[⍬⌾#⎕⍞]/,\n function:\n /[-+×÷⌈⌊∣|⍳⍸?*⍟○!⌹<≤=>≥≠≡≢∊⍷∪∩~∨∧⍱⍲⍴,⍪⌽⊖⍉↑↓⊂⊃⊆⊇⌷⍋⍒⊤⊥⍕⍎⊣⊢⍁⍂≈⍯↗¤→]/,\n 'monadic-operator': {\n pattern: /[\\\\\\/⌿⍀¨⍨⌶&∥]/,\n alias: 'operator'\n },\n 'dyadic-operator': {\n pattern: /[.⍣⍠⍤∘⌸@⌺⍥]/,\n alias: 'operator'\n },\n assignment: {\n pattern: /←/,\n alias: 'keyword'\n },\n punctuation: /[\\[;\\]()◇⋄]/,\n dfn: {\n pattern: /[{}⍺⍵⍶⍹∇⍫:]/,\n alias: 'builtin'\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\napplescript.displayName = 'applescript'\napplescript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function applescript(Prism) {\n Prism.languages.applescript = {\n comment: [\n // Allow one level of nesting\n /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n /--.+/,\n /#.+/\n ],\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?\\b/i,\n operator: [\n /[&=≠≤≥*+\\-\\/÷^]|[<>]=?/,\n /\\b(?:(?:begin|end|start)s? with|(?:contains?|(?:does not|doesn't) contain)|(?:is|isn't|is not) (?:contained by|in)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:comes|(?:does not|doesn't) come) (?:after|before)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equal to|equals|is not|isn't)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|as|div|mod|not|or))\\b/\n ],\n keyword:\n /\\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\\b/,\n 'class-name':\n /\\b(?:POSIX file|RGB color|alias|application|boolean|centimeters|centimetres|class|constant|cubic centimeters|cubic centimetres|cubic feet|cubic inches|cubic meters|cubic metres|cubic yards|date|degrees Celsius|degrees Fahrenheit|degrees Kelvin|feet|file|gallons|grams|inches|integer|kilograms|kilometers|kilometres|list|liters|litres|meters|metres|miles|number|ounces|pounds|quarts|real|record|reference|script|square feet|square kilometers|square kilometres|square meters|square metres|square miles|square yards|text|yards)\\b/,\n punctuation: /[{}():,¬«»《》]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\naql.displayName = 'aql'\naql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function aql(Prism) {\n Prism.languages.aql = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n property: {\n pattern:\n /([{,]\\s*)(?:(?!\\d)\\w+|([\"'´`])(?:(?!\\2)[^\\\\\\r\\n]|\\\\.)*\\2)(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /([´`])(?:(?!\\1)[^\\\\\\r\\n]|\\\\.)*\\1/,\n greedy: true\n },\n variable: /@@?\\w+/,\n keyword: [\n {\n pattern: /(\\bWITH\\s+)COUNT(?=\\s+INTO\\b)/i,\n lookbehind: true\n },\n /\\b(?:AGGREGATE|ALL|AND|ANY|ASC|COLLECT|DESC|DISTINCT|FILTER|FOR|GRAPH|IN|INBOUND|INSERT|INTO|K_PATHS|K_SHORTEST_PATHS|LET|LIKE|LIMIT|NONE|NOT|NULL|OR|OUTBOUND|REMOVE|REPLACE|RETURN|SHORTEST_PATH|SORT|UPDATE|UPSERT|WINDOW|WITH)\\b/i,\n // pseudo keywords get a lookbehind to avoid false positives\n {\n pattern: /(^|[^\\w.[])(?:KEEP|PRUNE|SEARCH|TO)\\b/i,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.[])(?:CURRENT|NEW|OLD)\\b/,\n lookbehind: true\n },\n {\n pattern: /\\bOPTIONS(?=\\s*\\{)/i\n }\n ],\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n boolean: /\\b(?:false|true)\\b/i,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n number: [\n /\\b0b[01]+/i,\n /\\b0x[0-9a-f]+/i,\n /(?:\\B\\.\\d+|\\b(?:0|[1-9]\\d*)(?:\\.\\d+)?)(?:e[+-]?\\d+)?/i\n ],\n operator: /\\*{2,}|[=!]~|[!=<>]=?|&&|\\|\\||[-+*/%]/,\n punctuation: /::|[?.:,;()[\\]{}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nc.displayName = 'c'\nc.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function c(Prism) {\n Prism.register(refractorClike)\n Prism.languages.c = Prism.languages.extend('clike', {\n comment: {\n pattern:\n /\\/\\/(?:[^\\r\\n\\\\]|\\\\(?:\\r\\n?|\\n|(?![\\r\\n])))*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n string: {\n // https://en.cppreference.com/w/c/language/string_literal\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:enum|struct)\\s+(?:__attribute__\\s*\\(\\([\\s\\S]*?\\)\\)\\s*)?)\\w+|\\b[a-z]\\w*_t\\b/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n operator: />>=?|<<=?|->|([-+&|:])\\1|[?:~]|[-+*/%&|^!=<>]=?/\n })\n Prism.languages.insertBefore('c', 'string', {\n char: {\n // https://en.cppreference.com/w/c/language/character_constant\n pattern: /'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n]){0,32}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('c', 'string', {\n macro: {\n // allow for multiline macro definitions\n // spaces after the # character compile fine with gcc\n pattern:\n /(^[\\t ]*)#\\s*[a-z](?:[^\\r\\n\\\\/]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n string: [\n {\n // highlight the path of the include statement as a string\n pattern: /^(#\\s*include\\s*)<[^>]+>/,\n lookbehind: true\n },\n Prism.languages.c['string']\n ],\n char: Prism.languages.c['char'],\n comment: Prism.languages.c['comment'],\n 'macro-name': [\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?!\\()/i,\n lookbehind: true\n },\n {\n pattern: /(^#\\s*define\\s+)\\w+\\b(?=\\()/i,\n lookbehind: true,\n alias: 'function'\n }\n ],\n // highlight macro directives as keywords\n directive: {\n pattern: /^(#\\s*)[a-z]+/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'directive-hash': /^#/,\n punctuation: /##|\\\\(?=[\\r\\n])/,\n expression: {\n pattern: /\\S[\\s\\S]*/,\n inside: Prism.languages.c\n }\n }\n }\n })\n Prism.languages.insertBefore('c', 'function', {\n // highlight predefined macros as constants\n constant:\n /\\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\\b/\n })\n delete Prism.languages.c['boolean']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\ncpp.displayName = 'cpp'\ncpp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cpp(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n var keyword =\n /\\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\\b/\n var modName = /\\b(?!<keyword>)\\w+(?:\\s*\\.\\s*\\w+)*\\b/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n Prism.languages.cpp = Prism.languages.extend('c', {\n 'class-name': [\n {\n pattern: RegExp(\n /(\\b(?:class|concept|enum|struct|typename)\\s+)(?!<keyword>)\\w+/.source.replace(\n /<keyword>/g,\n function () {\n return keyword.source\n }\n )\n ),\n lookbehind: true\n },\n // This is intended to capture the class name of method implementations like:\n // void foo::bar() const {}\n // However! The `foo` in the above example could also be a namespace, so we only capture the class name if\n // it starts with an uppercase letter. This approximation should give decent results.\n /\\b[A-Z]\\w*(?=\\s*::\\s*\\w+\\s*\\()/,\n // This will capture the class name before destructors like:\n // Foo::~Foo() {}\n /\\b[A-Z_]\\w*(?=\\s*::\\s*~\\w+\\s*\\()/i,\n // This also intends to capture the class name of method implementations but here the class has template\n // parameters, so it can't be a namespace (until C++ adds generic namespaces).\n /\\b\\w+(?=\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\\s*::\\s*\\w+\\s*\\()/\n ],\n keyword: keyword,\n number: {\n pattern:\n /(?:\\b0b[01']+|\\b0x(?:[\\da-f']+(?:\\.[\\da-f']*)?|\\.[\\da-f']+)(?:p[+-]?[\\d']+)?|(?:\\b[\\d']+(?:\\.[\\d']*)?|\\B\\.[\\d']+)(?:e[+-]?[\\d']+)?)[ful]{0,4}/i,\n greedy: true\n },\n operator:\n />>=?|<<=?|->|--|\\+\\+|&&|\\|\\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n Prism.languages.insertBefore('cpp', 'string', {\n module: {\n // https://en.cppreference.com/w/cpp/language/modules\n pattern: RegExp(\n /(\\b(?:import|module)\\s+)/.source +\n '(?:' +\n // header-name\n /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|<[^<>\\r\\n]*>/.source +\n '|' +\n // module name or partition or both\n /<mod-name>(?:\\s*:\\s*<mod-name>)?|:\\s*<mod-name>/.source.replace(\n /<mod-name>/g,\n function () {\n return modName\n }\n ) +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n string: /^[<\"][\\s\\S]+/,\n operator: /:/,\n punctuation: /\\./\n }\n },\n 'raw-string': {\n pattern: /R\"([^()\\\\ ]{0,16})\\([\\s\\S]*?\\)\\1\"/,\n alias: 'string',\n greedy: true\n }\n })\n Prism.languages.insertBefore('cpp', 'keyword', {\n 'generic-function': {\n pattern: /\\b(?!operator\\b)[a-z_]\\w*\\s*<(?:[^<>]|<[^<>]*>)*>(?=\\s*\\()/i,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<[\\s\\S]+/,\n alias: 'class-name',\n inside: Prism.languages.cpp\n }\n }\n }\n })\n Prism.languages.insertBefore('cpp', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('cpp', 'class-name', {\n // the base clause is an optional list of parent classes\n // https://en.cppreference.com/w/cpp/language/class\n 'base-clause': {\n pattern:\n /(\\b(?:class|struct)\\s+\\w+\\s*:\\s*)[^;{}\"'\\s]+(?:\\s+[^;{}\"'\\s]+)*(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.extend('cpp', {})\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'double-colon',\n {\n // All untokenized words that are not namespaces should be class names\n 'class-name': /\\b[a-z_]\\w*\\b(?!\\s*::)/i\n },\n Prism.languages.cpp['base-clause']\n )\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCpp from './cpp.js'\narduino.displayName = 'arduino'\narduino.aliases = ['ino']\n\n/** @param {Refractor} Prism */\nexport default function arduino(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.arduino = Prism.languages.extend('cpp', {\n keyword:\n /\\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\\b/,\n constant:\n /\\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\\b/,\n builtin:\n /\\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\\b/\n })\n Prism.languages.ino = Prism.languages.arduino\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\narff.displayName = 'arff'\narff.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function arff(Prism) {\n Prism.languages.arff = {\n comment: /%.*/,\n string: {\n pattern: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: /@(?:attribute|data|end|relation)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n punctuation: /[{},]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\narmasm.displayName = 'armasm'\narmasm.aliases = ['arm-asm']\n\n/** @param {Refractor} Prism */\nexport default function armasm(Prism) {\n Prism.languages.armasm = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\r\\n]|\"\")*\"/,\n greedy: true,\n inside: {\n variable: {\n pattern: /((?:^|[^$])(?:\\${2})*)\\$\\w+/,\n lookbehind: true\n }\n }\n },\n char: {\n pattern: /'(?:[^'\\r\\n]{0,4}|'')'/,\n greedy: true\n },\n 'version-symbol': {\n pattern: /\\|[\\w@]+\\|/,\n greedy: true,\n alias: 'property'\n },\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n directive: {\n pattern:\n /\\b(?:ALIAS|ALIGN|AREA|ARM|ASSERT|ATTR|CN|CODE|CODE16|CODE32|COMMON|CP|DATA|DCB|DCD|DCDO|DCDU|DCFD|DCFDU|DCI|DCQ|DCQU|DCW|DCWU|DN|ELIF|ELSE|END|ENDFUNC|ENDIF|ENDP|ENTRY|EQU|EXPORT|EXPORTAS|EXTERN|FIELD|FILL|FN|FUNCTION|GBLA|GBLL|GBLS|GET|GLOBAL|IF|IMPORT|INCBIN|INCLUDE|INFO|KEEP|LCLA|LCLL|LCLS|LTORG|MACRO|MAP|MEND|MEXIT|NOFP|OPT|PRESERVE8|PROC|QN|READONLY|RELOC|REQUIRE|REQUIRE8|RLIST|ROUT|SETA|SETL|SETS|SN|SPACE|SUBT|THUMB|THUMBX|TTL|WEND|WHILE)\\b/,\n alias: 'property'\n },\n instruction: {\n pattern:\n /((?:^|(?:^|[^\\\\])(?:\\r\\n?|\\n))[ \\t]*(?:(?:[A-Z][A-Z0-9_]*[a-z]\\w*|[a-z]\\w*|\\d+)[ \\t]+)?)\\b[A-Z.]+\\b/,\n lookbehind: true,\n alias: 'keyword'\n },\n variable: /\\$\\w+/,\n number:\n /(?:\\b[2-9]_\\d+|(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e-?\\d+)?|\\b0(?:[fd]_|x)[0-9a-f]+|&[0-9a-f]+)\\b/i,\n register: {\n pattern: /\\b(?:r\\d|lr)\\b/,\n alias: 'symbol'\n },\n operator: /<>|<<|>>|&&|\\|\\||[=!<>/]=?|[+\\-*%#?&|^]|:[A-Z]+:/,\n punctuation: /[()[\\],]/\n }\n Prism.languages['arm-asm'] = Prism.languages.armasm\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbash.displayName = 'bash'\nbash.aliases = ['sh', 'shell']\n\n/** @param {Refractor} Prism */\nexport default function bash(Prism) {\n ;(function (Prism) {\n // $ set | grep '^[A-Z][^[:space:]]*=' | cut -d= -f1 | tr '\\n' '|'\n // + LC_ALL, RANDOM, REPLY, SECONDS.\n // + make sure PS1..4 are here as they are not always set,\n // - some useless things.\n var envVars =\n '\\\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\\\b'\n var commandAfterHeredoc = {\n pattern: /(^([\"']?)\\w+\\2)[ \\t]+\\S.*/,\n lookbehind: true,\n alias: 'punctuation',\n // this looks reasonably well in all themes\n inside: null // see below\n }\n var insideString = {\n bash: commandAfterHeredoc,\n environment: {\n pattern: RegExp('\\\\$' + envVars),\n alias: 'constant'\n },\n variable: [\n // [0]: Arithmetic Environment\n {\n pattern: /\\$?\\(\\([\\s\\S]+?\\)\\)/,\n greedy: true,\n inside: {\n // If there is a $ sign at the beginning highlight $(( and )) as variable\n variable: [\n {\n pattern: /(^\\$\\(\\([\\s\\S]+)\\)\\)/,\n lookbehind: true\n },\n /^\\$\\(\\(/\n ],\n number:\n /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n // Operators according to https://www.gnu.org/software/bash/manual/bashref.html#Shell-Arithmetic\n operator:\n /--|\\+\\+|\\*\\*=?|<<=?|>>=?|&&|\\|\\||[=!+\\-*/%<>^&|]=?|[?~:]/,\n // If there is no $ sign at the beginning highlight (( and )) as punctuation\n punctuation: /\\(\\(?|\\)\\)?|,|;/\n }\n },\n // [1]: Command Substitution\n {\n pattern: /\\$\\((?:\\([^)]+\\)|[^()])+\\)|`[^`]+`/,\n greedy: true,\n inside: {\n variable: /^\\$\\(|^`|\\)$|`$/\n }\n },\n // [2]: Brace expansion\n {\n pattern: /\\$\\{[^}]+\\}/,\n greedy: true,\n inside: {\n operator: /:[-=?+]?|[!\\/]|##?|%%?|\\^\\^?|,,?/,\n punctuation: /[\\[\\]]/,\n environment: {\n pattern: RegExp('(\\\\{)' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n }\n },\n /\\$(?:\\w+|[#?*!@$])/\n ],\n // Escape sequences from echo and printf's manuals, and escaped quotes.\n entity:\n /\\\\(?:[abceEfnrtv\\\\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/\n }\n Prism.languages.bash = {\n shebang: {\n pattern: /^#!\\s*\\/.*/,\n alias: 'important'\n },\n comment: {\n pattern: /(^|[^\"{\\\\$])#.*/,\n lookbehind: true\n },\n 'function-name': [\n // a) function foo {\n // b) foo() {\n // c) function foo() {\n // but not “foo {”\n {\n // a) and c)\n pattern: /(\\bfunction\\s+)[\\w-]+(?=(?:\\s*\\(?:\\s*\\))?\\s*\\{)/,\n lookbehind: true,\n alias: 'function'\n },\n {\n // b)\n pattern: /\\b[\\w-]+(?=\\s*\\(\\s*\\)\\s*\\{)/,\n alias: 'function'\n }\n ],\n // Highlight variable names as variables in for and select beginnings.\n 'for-or-select': {\n pattern: /(\\b(?:for|select)\\s+)\\w+(?=\\s+in\\s)/,\n alias: 'variable',\n lookbehind: true\n },\n // Highlight variable names as variables in the left-hand part\n // of assignments (“=” and “+=”).\n 'assign-left': {\n pattern: /(^|[\\s;|&]|[<>]\\()\\w+(?:\\.\\w+)*(?=\\+?=)/,\n inside: {\n environment: {\n pattern: RegExp('(^|[\\\\s;|&]|[<>]\\\\()' + envVars),\n lookbehind: true,\n alias: 'constant'\n }\n },\n alias: 'variable',\n lookbehind: true\n },\n // Highlight parameter names as variables\n parameter: {\n pattern: /(^|\\s)-{1,2}(?:\\w+:[+-]?)?\\w+(?:\\.\\w+)*(?=[=\\s]|$)/,\n alias: 'variable',\n lookbehind: true\n },\n string: [\n // Support for Here-documents https://en.wikipedia.org/wiki/Here_document\n {\n pattern: /((?:^|[^<])<<-?\\s*)(\\w+)\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\2/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n // Here-document with quotes around the tag\n // → No expansion (so no “inside”).\n {\n pattern: /((?:^|[^<])<<-?\\s*)([\"'])(\\w+)\\2\\s[\\s\\S]*?(?:\\r?\\n|\\r)\\3/,\n lookbehind: true,\n greedy: true,\n inside: {\n bash: commandAfterHeredoc\n }\n },\n // “Normal” string\n {\n // https://www.gnu.org/software/bash/manual/html_node/Double-Quotes.html\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/,\n lookbehind: true,\n greedy: true,\n inside: insideString\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/Single-Quotes.html\n pattern: /(^|[^$\\\\])'[^']*'/,\n lookbehind: true,\n greedy: true\n },\n {\n // https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html\n pattern: /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n entity: insideString.entity\n }\n }\n ],\n environment: {\n pattern: RegExp('\\\\$?' + envVars),\n alias: 'constant'\n },\n variable: insideString.variable,\n function: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n // https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html\n builtin: {\n pattern:\n /(^|[\\s;|&]|[<>]\\()(?:\\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\\s;|&])/,\n lookbehind: true,\n // Alias added to make those easier to distinguish from strings.\n alias: 'class-name'\n },\n boolean: {\n pattern: /(^|[\\s;|&]|[<>]\\()(?:false|true)(?=$|[)\\s;|&])/,\n lookbehind: true\n },\n 'file-descriptor': {\n pattern: /\\B&\\d\\b/,\n alias: 'important'\n },\n operator: {\n // Lots of redirections here, but not just that.\n pattern:\n /\\d?<>|>\\||\\+=|=[=~]?|!=?|<<[<-]?|[&\\d]?>>|\\d[<>]&?|[<>][&=]?|&[>&]?|\\|[&|]?/,\n inside: {\n 'file-descriptor': {\n pattern: /^\\d/,\n alias: 'important'\n }\n }\n },\n punctuation: /\\$?\\(\\(?|\\)\\)?|\\.\\.|[{}[\\];\\\\]/,\n number: {\n pattern: /(^|\\s)(?:[1-9]\\d*|0)(?:[.,]\\d+)?\\b/,\n lookbehind: true\n }\n }\n commandAfterHeredoc.inside = Prism.languages.bash\n\n /* Patterns in command substitution. */\n var toBeCopied = [\n 'comment',\n 'function-name',\n 'for-or-select',\n 'assign-left',\n 'parameter',\n 'string',\n 'environment',\n 'function',\n 'keyword',\n 'builtin',\n 'boolean',\n 'file-descriptor',\n 'operator',\n 'punctuation',\n 'number'\n ]\n var inside = insideString.variable[1].inside\n for (var i = 0; i < toBeCopied.length; i++) {\n inside[toBeCopied[i]] = Prism.languages.bash[toBeCopied[i]]\n }\n Prism.languages.sh = Prism.languages.bash\n Prism.languages.shell = Prism.languages.bash\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nyaml.displayName = 'yaml'\nyaml.aliases = ['yml']\n\n/** @param {Refractor} Prism */\nexport default function yaml(Prism) {\n ;(function (Prism) {\n // https://yaml.org/spec/1.2/spec.html#c-ns-anchor-property\n // https://yaml.org/spec/1.2/spec.html#c-ns-alias-node\n var anchorOrAlias = /[*&][^\\s[\\]{},]+/\n // https://yaml.org/spec/1.2/spec.html#c-ns-tag-property\n var tag =\n /!(?:<[\\w\\-%#;/?:@&=+$,.!~*'()[\\]]+>|(?:[a-zA-Z\\d-]*!)?[\\w\\-%#;/?:@&=+$.~*'()]+)?/\n // https://yaml.org/spec/1.2/spec.html#c-ns-properties(n,c)\n var properties =\n '(?:' +\n tag.source +\n '(?:[ \\t]+' +\n anchorOrAlias.source +\n ')?|' +\n anchorOrAlias.source +\n '(?:[ \\t]+' +\n tag.source +\n ')?)'\n // https://yaml.org/spec/1.2/spec.html#ns-plain(n,c)\n // This is a simplified version that doesn't support \"#\" and multiline keys\n // All these long scarry character classes are simplified versions of YAML's characters\n var plainKey =\n /(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-]<PLAIN>)(?:[ \\t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(\n /<PLAIN>/g,\n function () {\n return /[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]/\n .source\n }\n )\n var string = /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/.source\n\n /**\n *\n * @param {string} value\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function createValuePattern(value, flags) {\n flags = (flags || '').replace(/m/g, '') + 'm' // add m flag\n var pattern =\n /([:\\-,[{]\\s*(?:\\s<<prop>>[ \\t]+)?)(?:<<value>>)(?=[ \\t]*(?:$|,|\\]|\\}|(?:[\\r\\n]\\s*)?#))/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<value>>/g, function () {\n return value\n })\n return RegExp(pattern, flags)\n }\n Prism.languages.yaml = {\n scalar: {\n pattern: RegExp(\n /([\\-:]\\s*(?:\\s<<prop>>[ \\t]+)?[|>])[ \\t]*(?:((?:\\r?\\n|\\r)[ \\t]+)\\S[^\\r\\n]*(?:\\2[^\\r\\n]+)*)/.source.replace(\n /<<prop>>/g,\n function () {\n return properties\n }\n )\n ),\n lookbehind: true,\n alias: 'string'\n },\n comment: /#.*/,\n key: {\n pattern: RegExp(\n /((?:^|[:\\-,[{\\r\\n?])[ \\t]*(?:<<prop>>[ \\t]+)?)<<key>>(?=\\s*:\\s)/.source\n .replace(/<<prop>>/g, function () {\n return properties\n })\n .replace(/<<key>>/g, function () {\n return '(?:' + plainKey + '|' + string + ')'\n })\n ),\n lookbehind: true,\n greedy: true,\n alias: 'atrule'\n },\n directive: {\n pattern: /(^[ \\t]*)%.+/m,\n lookbehind: true,\n alias: 'important'\n },\n datetime: {\n pattern: createValuePattern(\n /\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \\t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \\t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?/\n .source\n ),\n lookbehind: true,\n alias: 'number'\n },\n boolean: {\n pattern: createValuePattern(/false|true/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n null: {\n pattern: createValuePattern(/null|~/.source, 'i'),\n lookbehind: true,\n alias: 'important'\n },\n string: {\n pattern: createValuePattern(string),\n lookbehind: true,\n greedy: true\n },\n number: {\n pattern: createValuePattern(\n /[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n tag: tag,\n important: anchorOrAlias,\n punctuation: /---|[:[\\]{}\\-,|>?]|\\.\\.\\./\n }\n Prism.languages.yml = Prism.languages.yaml\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nmarkdown.displayName = 'markdown'\nmarkdown.aliases = ['md']\n\n/** @param {Refractor} Prism */\nexport default function markdown(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n // Allow only one line break\n var inner = /(?:\\\\.|[^\\\\\\n\\r]|(?:\\n|\\r\\n?)(?![\\r\\n]))/.source\n\n /**\n * This function is intended for the creation of the bold or italic pattern.\n *\n * This also adds a lookbehind group to the given pattern to ensure that the pattern is not backslash-escaped.\n *\n * _Note:_ Keep in mind that this adds a capturing group.\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function createInline(pattern) {\n pattern = pattern.replace(/<inner>/g, function () {\n return inner\n })\n return RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + '(?:' + pattern + ')')\n }\n var tableCell = /(?:\\\\.|``(?:[^`\\r\\n]|`(?!`))+``|`[^`\\r\\n]+`|[^\\\\|\\r\\n`])+/\n .source\n var tableRow =\n /\\|?__(?:\\|__)+\\|?(?:(?:\\n|\\r\\n?)|(?![\\s\\S]))/.source.replace(\n /__/g,\n function () {\n return tableCell\n }\n )\n var tableLine =\n /\\|?[ \\t]*:?-{3,}:?[ \\t]*(?:\\|[ \\t]*:?-{3,}:?[ \\t]*)+\\|?(?:\\n|\\r\\n?)/\n .source\n Prism.languages.markdown = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore('markdown', 'prolog', {\n 'front-matter-block': {\n pattern: /(^(?:\\s*[\\r\\n])?)---(?!.)[\\s\\S]*?[\\r\\n]---(?!.)/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^---|---$/,\n 'front-matter': {\n pattern: /\\S+(?:\\s+\\S+)*/,\n alias: ['yaml', 'language-yaml'],\n inside: Prism.languages.yaml\n }\n }\n },\n blockquote: {\n // > ...\n pattern: /^>(?:[\\t ]*>)*/m,\n alias: 'punctuation'\n },\n table: {\n pattern: RegExp(\n '^' + tableRow + tableLine + '(?:' + tableRow + ')*',\n 'm'\n ),\n inside: {\n 'table-data-rows': {\n pattern: RegExp(\n '^(' + tableRow + tableLine + ')(?:' + tableRow + ')*$'\n ),\n lookbehind: true,\n inside: {\n 'table-data': {\n pattern: RegExp(tableCell),\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n },\n 'table-line': {\n pattern: RegExp('^(' + tableRow + ')' + tableLine + '$'),\n lookbehind: true,\n inside: {\n punctuation: /\\||:?-{3,}:?/\n }\n },\n 'table-header-row': {\n pattern: RegExp('^' + tableRow + '$'),\n inside: {\n 'table-header': {\n pattern: RegExp(tableCell),\n alias: 'important',\n inside: Prism.languages.markdown\n },\n punctuation: /\\|/\n }\n }\n }\n },\n code: [\n {\n // Prefixed by 4 spaces or 1 tab and preceded by an empty line\n pattern:\n /((?:^|\\n)[ \\t]*\\n|(?:^|\\r\\n?)[ \\t]*\\r\\n?)(?: {4}|\\t).+(?:(?:\\n|\\r\\n?)(?: {4}|\\t).+)*/,\n lookbehind: true,\n alias: 'keyword'\n },\n {\n // ```optional language\n // code block\n // ```\n pattern: /^```[\\s\\S]*?^```$/m,\n greedy: true,\n inside: {\n 'code-block': {\n pattern: /^(```.*(?:\\n|\\r\\n?))[\\s\\S]+?(?=(?:\\n|\\r\\n?)^```$)/m,\n lookbehind: true\n },\n 'code-language': {\n pattern: /^(```).+/,\n lookbehind: true\n },\n punctuation: /```/\n }\n }\n ],\n title: [\n {\n // title 1\n // =======\n\n // title 2\n // -------\n pattern: /\\S.*(?:\\n|\\r\\n?)(?:==+|--+)(?=[ \\t]*$)/m,\n alias: 'important',\n inside: {\n punctuation: /==+$|--+$/\n }\n },\n {\n // # title 1\n // ###### title 6\n pattern: /(^\\s*)#.+/m,\n lookbehind: true,\n alias: 'important',\n inside: {\n punctuation: /^#+|#+$/\n }\n }\n ],\n hr: {\n // ***\n // ---\n // * * *\n // -----------\n pattern: /(^\\s*)([*-])(?:[\\t ]*\\2){2,}(?=\\s*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n list: {\n // * item\n // + item\n // - item\n // 1. item\n pattern: /(^\\s*)(?:[*+-]|\\d+\\.)(?=[\\t ].)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'url-reference': {\n // [id]: http://example.com \"Optional title\"\n // [id]: http://example.com 'Optional title'\n // [id]: http://example.com (Optional title)\n // [id]: <http://example.com> \"Optional title\"\n pattern:\n /!?\\[[^\\]]+\\]:[\\t ]+(?:\\S+|<(?:\\\\.|[^>\\\\])+>)(?:[\\t ]+(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\)))?/,\n inside: {\n variable: {\n pattern: /^(!?\\[)[^\\]]+/,\n lookbehind: true\n },\n string:\n /(?:\"(?:\\\\.|[^\"\\\\])*\"|'(?:\\\\.|[^'\\\\])*'|\\((?:\\\\.|[^)\\\\])*\\))$/,\n punctuation: /^[\\[\\]!:]|[<>]/\n },\n alias: 'url'\n },\n bold: {\n // **strong**\n // __strong__\n\n // allow one nested instance of italic text using the same delimiter\n pattern: createInline(\n /\\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\\b|\\*\\*(?:(?!\\*)<inner>|\\*(?:(?!\\*)<inner>)+\\*)+\\*\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^..)[\\s\\S]+(?=..$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /\\*\\*|__/\n }\n },\n italic: {\n // *em*\n // _em_\n\n // allow one nested instance of bold text using the same delimiter\n pattern: createInline(\n /\\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\\b|\\*(?:(?!\\*)<inner>|\\*\\*(?:(?!\\*)<inner>)+\\*\\*)+\\*/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^.)[\\s\\S]+(?=.$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /[*_]/\n }\n },\n strike: {\n // ~~strike through~~\n // ~strike~\n // eslint-disable-next-line regexp/strict\n pattern: createInline(/(~~?)(?:(?!~)<inner>)+\\2/.source),\n lookbehind: true,\n greedy: true,\n inside: {\n content: {\n pattern: /(^~~?)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: {} // see below\n },\n punctuation: /~~?/\n }\n },\n 'code-snippet': {\n // `code`\n // ``code``\n pattern:\n /(^|[^\\\\`])(?:``[^`\\r\\n]+(?:`[^`\\r\\n]+)*``(?!`)|`[^`\\r\\n]+`(?!`))/,\n lookbehind: true,\n greedy: true,\n alias: ['code', 'keyword']\n },\n url: {\n // [example](http://example.com \"Optional title\")\n // [example][id]\n // [example] [id]\n pattern: createInline(\n /!?\\[(?:(?!\\])<inner>)+\\](?:\\([^\\s)]+(?:[\\t ]+\"(?:\\\\.|[^\"\\\\])*\")?\\)|[ \\t]?\\[(?:(?!\\])<inner>)+\\])/\n .source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n operator: /^!/,\n content: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true,\n inside: {} // see below\n },\n variable: {\n pattern: /(^\\][ \\t]?\\[)[^\\]]+(?=\\]$)/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\]\\()[^\\s)]+/,\n lookbehind: true\n },\n string: {\n pattern: /(^[ \\t]+)\"(?:\\\\.|[^\"\\\\])*\"(?=\\)$)/,\n lookbehind: true\n }\n }\n }\n })\n ;['url', 'bold', 'italic', 'strike'].forEach(function (token) {\n ;['url', 'bold', 'italic', 'strike', 'code-snippet'].forEach(\n function (inside) {\n if (token !== inside) {\n Prism.languages.markdown[token].inside.content.inside[inside] =\n Prism.languages.markdown[inside]\n }\n }\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'markdown' && env.language !== 'md') {\n return\n }\n function walkTokens(tokens) {\n if (!tokens || typeof tokens === 'string') {\n return\n }\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (token.type !== 'code') {\n walkTokens(token.content)\n continue\n }\n\n /*\n * Add the correct `language-xxxx` class to this code block. Keep in mind that the `code-language` token\n * is optional. But the grammar is defined so that there is only one case we have to handle:\n *\n * token.content = [\n * <span class=\"punctuation\">```</span>,\n * <span class=\"code-language\">xxxx</span>,\n * '\\n', // exactly one new lines (\\r or \\n or \\r\\n)\n * <span class=\"code-block\">...</span>,\n * '\\n', // exactly one new lines again\n * <span class=\"punctuation\">```</span>\n * ];\n */\n\n var codeLang = token.content[1]\n var codeBlock = token.content[3]\n if (\n codeLang &&\n codeBlock &&\n codeLang.type === 'code-language' &&\n codeBlock.type === 'code-block' &&\n typeof codeLang.content === 'string'\n ) {\n // this might be a language that Prism does not support\n\n // do some replacements to support C++, C#, and F#\n var lang = codeLang.content\n .replace(/\\b#/g, 'sharp')\n .replace(/\\b\\+\\+/g, 'pp')\n // only use the first word\n lang = (/[a-z][\\w-]*/i.exec(lang) || [''])[0].toLowerCase()\n var alias = 'language-' + lang\n\n // add alias\n if (!codeBlock.alias) {\n codeBlock.alias = [alias]\n } else if (typeof codeBlock.alias === 'string') {\n codeBlock.alias = [codeBlock.alias, alias]\n } else {\n codeBlock.alias.push(alias)\n }\n }\n }\n }\n walkTokens(env.tokens)\n })\n Prism.hooks.add('wrap', function (env) {\n if (env.type !== 'code-block') {\n return\n }\n var codeLang = ''\n for (var i = 0, l = env.classes.length; i < l; i++) {\n var cls = env.classes[i]\n var match = /language-(.+)/.exec(cls)\n if (match) {\n codeLang = match[1]\n break\n }\n }\n var grammar = Prism.languages[codeLang]\n if (!grammar) {\n if (codeLang && codeLang !== 'none' && Prism.plugins.autoloader) {\n var id =\n 'md-' +\n new Date().valueOf() +\n '-' +\n Math.floor(Math.random() * 1e16)\n env.attributes['id'] = id\n Prism.plugins.autoloader.loadLanguages(codeLang, function () {\n var ele = document.getElementById(id)\n if (ele) {\n ele.innerHTML = Prism.highlight(\n ele.textContent,\n Prism.languages[codeLang],\n codeLang\n )\n }\n })\n }\n } else {\n env.content = Prism.highlight(env.content.value, grammar, codeLang)\n }\n })\n var tagPattern = RegExp(Prism.languages.markup.tag.pattern.source, 'gi')\n\n /**\n * A list of known entity names.\n *\n * This will always be incomplete to save space. The current list is the one used by lowdash's unescape function.\n *\n * @see {@link https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/unescape.js#L2}\n */\n var KNOWN_ENTITY_NAMES = {\n amp: '&',\n lt: '<',\n gt: '>',\n quot: '\"'\n }\n\n // IE 11 doesn't support `String.fromCodePoint`\n var fromCodePoint = String.fromCodePoint || String.fromCharCode\n\n /**\n * Returns the text content of a given HTML source code string.\n *\n * @param {string} html\n * @returns {string}\n */\n function textContent(html) {\n // remove all tags\n var text = html.replace(tagPattern, '')\n\n // decode known entities\n text = text.replace(/&(\\w{1,8}|#x?[\\da-f]{1,8});/gi, function (m, code) {\n code = code.toLowerCase()\n if (code[0] === '#') {\n var value\n if (code[1] === 'x') {\n value = parseInt(code.slice(2), 16)\n } else {\n value = Number(code.slice(1))\n }\n return fromCodePoint(value)\n } else {\n var known = KNOWN_ENTITY_NAMES[code]\n if (known) {\n return known\n }\n\n // unable to decode\n return m\n }\n })\n return text\n }\n Prism.languages.md = Prism.languages.markdown\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\narturo.displayName = 'arturo'\narturo.aliases = ['art']\n\n/** @param {Refractor} Prism */\nexport default function arturo(Prism) {\n ;(function (Prism) {\n /**\n * @param {string} lang\n * @param {string} pattern\n */\n var createLanguageString = function (lang, pattern) {\n return {\n pattern: RegExp(\n /\\{!/.source + '(?:' + (pattern || lang) + ')' + /$[\\s\\S]*\\}/.source,\n 'm'\n ),\n greedy: true,\n inside: {\n embedded: {\n pattern: /(^\\{!\\w+\\b)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n alias: 'language-' + lang,\n inside: Prism.languages[lang]\n },\n string: /[\\s\\S]+/\n }\n }\n }\n Prism.languages.arturo = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n character: {\n pattern: /`.`/,\n alias: 'char',\n greedy: true\n },\n number: {\n pattern: /\\b\\d+(?:\\.\\d+(?:\\.\\d+(?:-[\\w+-]+)?)?)?\\b/\n },\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n greedy: true\n },\n regex: {\n pattern: /\\{\\/.*?\\/\\}/,\n greedy: true\n },\n 'html-string': createLanguageString('html'),\n 'css-string': createLanguageString('css'),\n 'js-string': createLanguageString('js'),\n 'md-string': createLanguageString('md'),\n 'sql-string': createLanguageString('sql'),\n 'sh-string': createLanguageString('shell', 'sh'),\n multistring: {\n pattern: /».*|\\{:[\\s\\S]*?:\\}|\\{[\\s\\S]*?\\}|^-{6}$[\\s\\S]*/m,\n alias: 'string',\n greedy: true\n },\n label: {\n pattern: /\\w+\\b\\??:/,\n alias: 'property'\n },\n literal: {\n pattern: /'(?:\\w+\\b\\??:?)/,\n alias: 'constant'\n },\n type: {\n pattern: /:(?:\\w+\\b\\??:?)/,\n alias: 'class-name'\n },\n color: /#\\w+/,\n predicate: {\n pattern:\n /\\b(?:all|and|any|ascii|attr|attribute|attributeLabel|binary|block|char|contains|database|date|dictionary|empty|equal|even|every|exists|false|floating|function|greater|greaterOrEqual|if|in|inline|integer|is|key|label|leap|less|lessOrEqual|literal|logical|lower|nand|negative|nor|not|notEqual|null|numeric|odd|or|path|pathLabel|positive|prefix|prime|regex|same|set|some|sorted|standalone|string|subset|suffix|superset|symbol|symbolLiteral|true|try|type|unless|upper|when|whitespace|word|xnor|xor|zero)\\?/,\n alias: 'keyword'\n },\n 'builtin-function': {\n pattern:\n /\\b(?:abs|acos|acosh|acsec|acsech|actan|actanh|add|after|alert|alias|and|angle|append|arg|args|arity|array|as|asec|asech|asin|asinh|atan|atan2|atanh|attr|attrs|average|before|benchmark|blend|break|call|capitalize|case|ceil|chop|clear|clip|close|color|combine|conj|continue|copy|cos|cosh|crc|csec|csech|ctan|ctanh|cursor|darken|dec|decode|define|delete|desaturate|deviation|dialog|dictionary|difference|digest|digits|div|do|download|drop|dup|e|else|empty|encode|ensure|env|escape|execute|exit|exp|extend|extract|factors|fdiv|filter|first|flatten|floor|fold|from|function|gamma|gcd|get|goto|hash|hypot|if|inc|indent|index|infinity|info|input|insert|inspect|intersection|invert|jaro|join|keys|kurtosis|last|let|levenshtein|lighten|list|ln|log|loop|lower|mail|map|match|max|median|min|mod|module|mul|nand|neg|new|nor|normalize|not|now|null|open|or|outdent|pad|palette|panic|path|pause|permissions|permutate|pi|pop|popup|pow|powerset|powmod|prefix|print|prints|process|product|query|random|range|read|relative|remove|rename|render|repeat|replace|request|return|reverse|round|sample|saturate|script|sec|sech|select|serve|set|shl|shr|shuffle|sin|sinh|size|skewness|slice|sort|spin|split|sqrt|squeeze|stack|strip|sub|suffix|sum|switch|symbols|symlink|sys|take|tan|tanh|terminal|terminate|to|truncate|try|type|unclip|union|unique|unless|until|unzip|upper|values|var|variance|volume|webview|while|with|wordwrap|write|xnor|xor|zip)\\b/,\n alias: 'keyword'\n },\n sugar: {\n pattern: /->|=>|\\||::/,\n alias: 'operator'\n },\n punctuation: /[()[\\],]/,\n symbol: {\n pattern: /<:|-:|ø|@|#|\\+|\\||\\*|\\$|---|-|%|\\/|\\.\\.|\\^|~|=|<|>|\\\\/\n },\n boolean: {\n pattern: /\\b(?:false|maybe|true)\\b/\n }\n }\n Prism.languages.art = Prism.languages['arturo']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nasciidoc.displayName = 'asciidoc'\nasciidoc.aliases = ['adoc']\n\n/** @param {Refractor} Prism */\nexport default function asciidoc(Prism) {\n ;(function (Prism) {\n var attributes = {\n pattern:\n /(^[ \\t]*)\\[(?!\\[)(?:([\"'$`])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\[(?:[^\\[\\]\\\\]|\\\\.)*\\]|[^\\[\\]\\\\\"'$`]|\\\\.)*\\]/m,\n lookbehind: true,\n inside: {\n quoted: {\n pattern: /([$`])(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n inside: {\n punctuation: /^[$`]|[$`]$/\n }\n },\n interpreted: {\n pattern: /'(?:[^'\\\\]|\\\\.)*'/,\n inside: {\n punctuation: /^'|'$/\n // See rest below\n }\n },\n string: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n variable: /\\w+(?==)/,\n punctuation: /^\\[|\\]$|,/,\n operator: /=/,\n // The negative look-ahead prevents blank matches\n 'attr-value': /(?!^\\s+$).+/\n }\n }\n var asciidoc = (Prism.languages.asciidoc = {\n 'comment-block': {\n pattern: /^(\\/{4,})$[\\s\\S]*?^\\1/m,\n alias: 'comment'\n },\n table: {\n pattern: /^\\|={3,}(?:(?:\\r?\\n|\\r(?!\\n)).*)*?(?:\\r?\\n|\\r)\\|={3,}$/m,\n inside: {\n specifiers: {\n pattern:\n /(?:(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)[+*](?:[<^>](?:\\.[<^>])?|\\.[<^>])?|[<^>](?:\\.[<^>])?|\\.[<^>])[a-z]*|[a-z]+)(?=\\|)/,\n alias: 'attr-value'\n },\n punctuation: {\n pattern: /(^|[^\\\\])[|!]=*/,\n lookbehind: true\n }\n // See rest below\n }\n },\n 'passthrough-block': {\n pattern: /^(\\+{4,})$[\\s\\S]*?^\\1$/m,\n inside: {\n punctuation: /^\\++|\\++$/\n // See rest below\n }\n },\n // Literal blocks and listing blocks\n 'literal-block': {\n pattern: /^(-{4,}|\\.{4,})$[\\s\\S]*?^\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\.+)|(?:-+|\\.+)$/\n // See rest below\n }\n },\n // Sidebar blocks, quote blocks, example blocks and open blocks\n 'other-block': {\n pattern: /^(--|\\*{4,}|_{4,}|={4,})$[\\s\\S]*?^\\1$/m,\n inside: {\n punctuation: /^(?:-+|\\*+|_+|=+)|(?:-+|\\*+|_+|=+)$/\n // See rest below\n }\n },\n // list-punctuation and list-label must appear before indented-block\n 'list-punctuation': {\n pattern:\n /(^[ \\t]*)(?:-|\\*{1,5}|\\.{1,5}|(?:[a-z]|\\d+)\\.|[xvi]+\\))(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'list-label': {\n pattern: /(^[ \\t]*)[a-z\\d].+(?::{2,4}|;;)(?=\\s)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'indented-block': {\n pattern: /((\\r?\\n|\\r)\\2)([ \\t]+)\\S.*(?:(?:\\r?\\n|\\r)\\3.+)*(?=\\2{2}|$)/,\n lookbehind: true\n },\n comment: /^\\/\\/.*/m,\n title: {\n pattern:\n /^.+(?:\\r?\\n|\\r)(?:={3,}|-{3,}|~{3,}|\\^{3,}|\\+{3,})$|^={1,5} .+|^\\.(?![\\s.]).*/m,\n alias: 'important',\n inside: {\n punctuation: /^(?:\\.|=+)|(?:=+|-+|~+|\\^+|\\++)$/\n // See rest below\n }\n },\n 'attribute-entry': {\n pattern: /^:[^:\\r\\n]+:(?: .*?(?: \\+(?:\\r?\\n|\\r).*?)*)?$/m,\n alias: 'tag'\n },\n attributes: attributes,\n hr: {\n pattern: /^'{3,}$/m,\n alias: 'punctuation'\n },\n 'page-break': {\n pattern: /^<{3,}$/m,\n alias: 'punctuation'\n },\n admonition: {\n pattern: /^(?:CAUTION|IMPORTANT|NOTE|TIP|WARNING):/m,\n alias: 'keyword'\n },\n callout: [\n {\n pattern: /(^[ \\t]*)<?\\d*>/m,\n lookbehind: true,\n alias: 'symbol'\n },\n {\n pattern: /<\\d+>/,\n alias: 'symbol'\n }\n ],\n macro: {\n pattern:\n /\\b[a-z\\d][a-z\\d-]*::?(?:[^\\s\\[\\]]*\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: {\n function: /^[a-z\\d-]+(?=:)/,\n punctuation: /^::?/,\n attributes: {\n pattern: /(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*\\1|\\\\.)*\\])/,\n inside: attributes.inside\n }\n }\n },\n inline: {\n /*\nThe initial look-behind prevents the highlighting of escaped quoted text.\nQuoted text can be multi-line but cannot span an empty line.\nAll quoted text can have attributes before [foobar, 'foobar', baz=\"bar\"].\nFirst, we handle the constrained quotes.\nThose must be bounded by non-word chars and cannot have spaces between the delimiter and the first char.\nThey are, in order: _emphasis_, ``double quotes'', `single quotes', `monospace`, 'emphasis', *strong*, +monospace+ and #unquoted#\nThen we handle the unconstrained quotes.\nThose do not have the restrictions of the constrained quotes.\nThey are, in order: __emphasis__, **strong**, ++monospace++, +++passthrough+++, ##unquoted##, $$passthrough$$, ~subscript~, ^superscript^, {attribute-reference}, [[anchor]], [[[bibliography anchor]]], <<xref>>, (((indexes))) and ((indexes))\n*/\n pattern:\n /(^|[^\\\\])(?:(?:\\B\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*\\2|\\\\.)*\\])?(?:\\b_(?!\\s)(?: _|[^_\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: _|[^_\\\\\\r\\n]|\\\\.)+)*_\\b|\\B``(?!\\s).+?(?:(?:\\r?\\n|\\r).+?)*''\\B|\\B`(?!\\s)(?:[^`'\\s]|\\s+\\S)+['`]\\B|\\B(['*+#])(?!\\s)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+(?:(?:\\r?\\n|\\r)(?: \\3|(?!\\3)[^\\\\\\r\\n]|\\\\.)+)*\\3\\B)|(?:\\[(?:[^\\]\\\\\"']|([\"'])(?:(?!\\4)[^\\\\]|\\\\.)*\\4|\\\\.)*\\])?(?:(__|\\*\\*|\\+\\+\\+?|##|\\$\\$|[~^]).+?(?:(?:\\r?\\n|\\r).+?)*\\5|\\{[^}\\r\\n]+\\}|\\[\\[\\[?.+?(?:(?:\\r?\\n|\\r).+?)*\\]?\\]\\]|<<.+?(?:(?:\\r?\\n|\\r).+?)*>>|\\(\\(\\(?.+?(?:(?:\\r?\\n|\\r).+?)*\\)?\\)\\)))/m,\n lookbehind: true,\n inside: {\n attributes: attributes,\n url: {\n pattern: /^(?:\\[\\[\\[?.+?\\]?\\]\\]|<<.+?>>)$/,\n inside: {\n punctuation: /^(?:\\[\\[\\[?|<<)|(?:\\]\\]\\]?|>>)$/\n }\n },\n 'attribute-ref': {\n pattern: /^\\{.+\\}$/,\n inside: {\n variable: {\n pattern: /(^\\{)[a-z\\d,+_-]+/,\n lookbehind: true\n },\n operator: /^[=?!#%@$]|!(?=[:}])/,\n punctuation: /^\\{|\\}$|::?/\n }\n },\n italic: {\n pattern: /^(['_])[\\s\\S]+\\1$/,\n inside: {\n punctuation: /^(?:''?|__?)|(?:''?|__?)$/\n }\n },\n bold: {\n pattern: /^\\*[\\s\\S]+\\*$/,\n inside: {\n punctuation: /^\\*\\*?|\\*\\*?$/\n }\n },\n punctuation:\n /^(?:``?|\\+{1,3}|##?|\\$\\$|[~^]|\\(\\(\\(?)|(?:''?|\\+{1,3}|##?|\\$\\$|[~^`]|\\)?\\)\\))$/\n }\n },\n replacement: {\n pattern: /\\((?:C|R|TM)\\)/,\n alias: 'builtin'\n },\n entity: /&#?[\\da-z]{1,8};/i,\n 'line-continuation': {\n pattern: /(^| )\\+$/m,\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n\n // Allow some nesting. There is no recursion though, so cloning should not be needed.\n\n function copyFromAsciiDoc(keys) {\n keys = keys.split(' ')\n var o = {}\n for (var i = 0, l = keys.length; i < l; i++) {\n o[keys[i]] = asciidoc[keys[i]]\n }\n return o\n }\n attributes.inside['interpreted'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n )\n asciidoc['passthrough-block'].inside.rest = copyFromAsciiDoc('macro')\n asciidoc['literal-block'].inside.rest = copyFromAsciiDoc('callout')\n asciidoc['table'].inside.rest = copyFromAsciiDoc(\n 'comment-block passthrough-block literal-block other-block list-punctuation indented-block comment title attribute-entry attributes hr page-break admonition list-label callout macro inline replacement entity line-continuation'\n )\n asciidoc['other-block'].inside.rest = copyFromAsciiDoc(\n 'table list-punctuation indented-block comment attribute-entry attributes hr page-break admonition list-label macro inline replacement entity line-continuation'\n )\n asciidoc['title'].inside.rest = copyFromAsciiDoc(\n 'macro inline replacement entity'\n )\n\n // Plugin to make entity title show the real entity, idea by Roman Komarov\n Prism.hooks.add('wrap', function (env) {\n if (env.type === 'entity') {\n env.attributes['title'] = env.content.value.replace(/&amp;/, '&')\n }\n })\n Prism.languages.adoc = Prism.languages.asciidoc\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ncsharp.displayName = 'csharp'\ncsharp.aliases = ['cs', 'dotnet']\n\n/** @param {Refractor} Prism */\nexport default function csharp(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n }\n\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void',\n // keywords which are used to declare a type\n typeDeclaration: 'class enum interface record struct',\n // contextual keywords\n // (\"var\" and \"dynamic\" are missing because they are used like types)\n contextual:\n 'add alias and ascending async await by descending from(?=\\\\s*(?:\\\\w|$)) get global group into init(?=\\\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\\\s*{)',\n // all other keywords\n other:\n 'abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield'\n }\n\n // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var typeDeclarationKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration\n )\n var keywords = RegExp(\n keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n )\n var nonTypeKeywords = keywordsToPattern(\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.contextual +\n ' ' +\n keywordKinds.other\n )\n var nonContextualKeywords = keywordsToPattern(\n keywordKinds.type +\n ' ' +\n keywordKinds.typeDeclaration +\n ' ' +\n keywordKinds.other\n )\n\n // types\n var generic = nested(/<(?:[^<>;=+\\-*/%&|^]|<<self>>)*>/.source, 2) // the idea behind the other forbidden characters is to prevent false positives. Same for tupleElement.\n var nestedRound = nested(/\\((?:[^()]|<<self>>)*\\)/.source, 2)\n var name = /@?\\b[A-Za-z_]\\w*\\b/.source\n var genericName = replace(/<<0>>(?:\\s*<<1>>)?/.source, [name, generic])\n var identifier = replace(/(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*/.source, [\n nonTypeKeywords,\n genericName\n ])\n var array = /\\[\\s*(?:,\\s*)*\\]/.source\n var typeExpressionWithoutTuple = replace(\n /<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?/.source,\n [identifier, array]\n )\n var tupleElement = replace(\n /[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,\n [generic, nestedRound, array]\n )\n var tuple = replace(/\\(<<0>>+(?:,<<0>>+)+\\)/.source, [tupleElement])\n var typeExpression = replace(\n /(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?/.source,\n [tuple, identifier, array]\n )\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n }\n\n // strings & characters\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#character-literals\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#string-literals\n var character = /'(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'/.source // simplified pattern\n var regularString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/.source\n var verbatimString = /@\"(?:\"\"|\\\\[\\s\\S]|[^\\\\\"])*\"(?!\")/.source\n Prism.languages.csharp = Prism.languages.extend('clike', {\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [verbatimString]),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: re(/(^|[^@$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // Using static\n // using static System.Math;\n pattern: re(/(\\busing\\s+static\\s+)<<0>>(?=\\s*;)/.source, [\n identifier\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (type)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)/.source, [\n name,\n typeExpression\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Using alias (alias)\n // using Project = PC.MyCompany.Project;\n pattern: re(/(\\busing\\s+)<<0>>(?=\\s*=)/.source, [name]),\n lookbehind: true\n },\n {\n // Type declarations\n // class Foo<A, B>\n // interface Foo<out A, B>\n pattern: re(/(\\b<<0>>\\s+)<<1>>/.source, [\n typeDeclarationKeywords,\n genericName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Single catch exception declaration\n // catch(Foo)\n // (things like catch(Foo e) is covered by variable declaration)\n pattern: re(/(\\bcatch\\s*\\(\\s*)<<0>>/.source, [identifier]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Name of the type parameter of generic constraints\n // where Foo : class\n pattern: re(/(\\bwhere\\s+)<<0>>/.source, [name]),\n lookbehind: true\n },\n {\n // Casts and checks via as and is.\n // as Foo<A>, is Bar<B>\n // (things like if(a is Foo b) is covered by variable declaration)\n pattern: re(/(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>/.source, [\n typeExpressionWithoutTuple\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // Variable, field and parameter declaration\n // (Foo bar, Bar baz, Foo[,,] bay, Foo<Bar, FooBar<Bar>> bax)\n pattern: re(\n /\\b<<0>>(?=\\s+(?!<<1>>|with\\s*\\{)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))/\n .source,\n [typeExpression, nonContextualKeywords, name]\n ),\n inside: typeInside\n }\n ],\n keyword: keywords,\n // https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/lexical-structure#literals\n number:\n /(?:\\b0(?:x[\\da-f_]*[\\da-f]|b[01_]*[01])|(?:\\B\\.\\d+(?:_+\\d+)*|\\b\\d+(?:_+\\d+)*(?:\\.\\d+(?:_+\\d+)*)?)(?:e[-+]?\\d+(?:_+\\d+)*)?)(?:[dflmu]|lu|ul)?\\b/i,\n operator: />>=?|<<=?|[-=]>|([-+&|])\\1|~|\\?\\?=?|[-+*/%&|^!=<>]=?/,\n punctuation: /\\?\\.?|::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('csharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('csharp', 'punctuation', {\n 'named-parameter': {\n pattern: re(/([(,]\\s*)<<0>>(?=\\s*:)/.source, [name]),\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('csharp', 'class-name', {\n namespace: {\n // namespace Foo.Bar {}\n // using Foo.Bar;\n pattern: re(\n /(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])/.source,\n [name]\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n 'type-expression': {\n // default(Foo), typeof(Foo<Bar>), sizeof(int)\n pattern: re(\n /(\\b(?:default|sizeof|typeof)\\s*\\(\\s*(?!\\s))(?:[^()\\s]|\\s(?!\\s)|<<0>>)*(?=\\s*\\))/\n .source,\n [nestedRound]\n ),\n lookbehind: true,\n alias: 'class-name',\n inside: typeInside\n },\n 'return-type': {\n // Foo<Bar> ForBar(); Foo IFoo.Bar() => 0\n // int this[int index] => 0; T IReadOnlyList<T>.this[int index] => this[index];\n // int Foo => 0; int Foo { get; set } = 0;\n pattern: re(\n /<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))/.source,\n [typeExpression, identifier]\n ),\n inside: typeInside,\n alias: 'class-name'\n },\n 'constructor-invocation': {\n // new List<Foo<Bar[]>> { }\n pattern: re(/(\\bnew\\s+)<<0>>(?=\\s*[[({])/.source, [typeExpression]),\n lookbehind: true,\n inside: typeInside,\n alias: 'class-name'\n },\n /*'explicit-implementation': {\n// int IFoo<Foo>.Bar => 0; void IFoo<Foo<Foo>>.Foo<T>();\npattern: replace(/\\b<<0>>(?=\\.<<1>>)/, className, methodOrPropertyDeclaration),\ninside: classNameInside,\nalias: 'class-name'\n},*/\n 'generic-method': {\n // foo<Bar>()\n pattern: re(/<<0>>\\s*<<1>>(?=\\s*\\()/.source, [name, generic]),\n inside: {\n function: re(/^<<0>>/.source, [name]),\n generic: {\n pattern: RegExp(generic),\n alias: 'class-name',\n inside: typeInside\n }\n }\n },\n 'type-list': {\n // The list of types inherited or of generic constraints\n // class Foo<F> : Bar, IList<FooBar>\n // where F : Bar, IList<int>\n pattern: re(\n /\\b((?:<<0>>\\s+<<1>>|record\\s+<<1>>\\s*<<5>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>|<<1>>\\s*<<5>>|<<6>>)(?:\\s*,\\s*(?:<<3>>|<<4>>|<<6>>))*(?=\\s*(?:where|[{;]|=>|$))/\n .source,\n [\n typeDeclarationKeywords,\n genericName,\n name,\n typeExpression,\n keywords.source,\n nestedRound,\n /\\bnew\\s*\\(\\s*\\)/.source\n ]\n ),\n lookbehind: true,\n inside: {\n 'record-arguments': {\n pattern: re(/(^(?!new\\s*\\()<<0>>\\s*)<<1>>/.source, [\n genericName,\n nestedRound\n ]),\n lookbehind: true,\n greedy: true,\n inside: Prism.languages.csharp\n },\n keyword: keywords,\n 'class-name': {\n pattern: RegExp(typeExpression),\n greedy: true,\n inside: typeInside\n },\n punctuation: /[,()]/\n }\n },\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n // highlight preprocessor directives as keywords\n directive: {\n pattern:\n /(#)\\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n })\n\n // attributes\n var regularStringOrCharacter = regularString + '|' + character\n var regularStringCharacterOrComment = replace(\n /\\/(?![*/])|\\/\\/[^\\r\\n]*[\\r\\n]|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>/.source,\n [regularStringOrCharacter]\n )\n var roundExpression = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n\n // https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/attributes/#attribute-targets\n var attrTarget =\n /\\b(?:assembly|event|field|method|module|param|property|return|type)\\b/\n .source\n var attr = replace(/<<0>>(?:\\s*\\(<<1>>*\\))?/.source, [\n identifier,\n roundExpression\n ])\n Prism.languages.insertBefore('csharp', 'class-name', {\n attribute: {\n // Attributes\n // [Foo], [Foo(1), Bar(2, Prop = \"foo\")], [return: Foo(1), Bar(2)], [assembly: Foo(Bar)]\n pattern: re(\n /((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])/\n .source,\n [attrTarget, attr]\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n target: {\n pattern: re(/^<<0>>(?=\\s*:)/.source, [attrTarget]),\n alias: 'keyword'\n },\n 'attribute-arguments': {\n pattern: re(/\\(<<0>>*\\)/.source, [roundExpression]),\n inside: Prism.languages.csharp\n },\n 'class-name': {\n pattern: RegExp(identifier),\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[:,]/\n }\n }\n })\n\n // string interpolation\n var formatString = /:[^}\\r\\n]+/.source\n // multi line\n var mInterpolationRound = nested(\n replace(/[^\"'/()]|<<0>>|\\(<<self>>*\\)/.source, [\n regularStringCharacterOrComment\n ]),\n 2\n )\n var mInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n mInterpolationRound,\n formatString\n ])\n // single line\n var sInterpolationRound = nested(\n replace(\n /[^\"'/()]|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|<<0>>|\\(<<self>>*\\)/\n .source,\n [regularStringOrCharacter]\n ),\n 2\n )\n var sInterpolation = replace(/\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}/.source, [\n sInterpolationRound,\n formatString\n ])\n function createInterpolationInside(interpolation, interpolationRound) {\n return {\n interpolation: {\n pattern: re(/((?:^|[^{])(?:\\{\\{)*)<<0>>/.source, [interpolation]),\n lookbehind: true,\n inside: {\n 'format-string': {\n pattern: re(/(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)/.source, [\n interpolationRound,\n formatString\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^:/\n }\n },\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-csharp',\n inside: Prism.languages.csharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.insertBefore('csharp', 'string', {\n 'interpolation-string': [\n {\n pattern: re(\n /(^|[^\\\\])(?:\\$@|@\\$)\"(?:\"\"|\\\\[\\s\\S]|\\{\\{|<<0>>|[^\\\\{\"])*\"/.source,\n [mInterpolation]\n ),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(mInterpolation, mInterpolationRound)\n },\n {\n pattern: re(/(^|[^@\\\\])\\$\"(?:\\\\.|\\{\\{|<<0>>|[^\\\\\"{])*\"/.source, [\n sInterpolation\n ]),\n lookbehind: true,\n greedy: true,\n inside: createInterpolationInside(sInterpolation, sInterpolationRound)\n }\n ],\n char: {\n pattern: RegExp(character),\n greedy: true\n }\n })\n Prism.languages.dotnet = Prism.languages.cs = Prism.languages.csharp\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCsharp from './csharp.js'\nimport refractorMarkup from './markup.js'\naspnet.displayName = 'aspnet'\naspnet.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function aspnet(Prism) {\n Prism.register(refractorCsharp)\n Prism.register(refractorMarkup)\n Prism.languages.aspnet = Prism.languages.extend('markup', {\n 'page-directive': {\n pattern: /<%\\s*@.*%>/,\n alias: 'tag',\n inside: {\n 'page-directive': {\n pattern:\n /<%\\s*@\\s*(?:Assembly|Control|Implements|Import|Master(?:Type)?|OutputCache|Page|PreviousPageType|Reference|Register)?|%>/i,\n alias: 'tag'\n },\n rest: Prism.languages.markup.tag.inside\n }\n },\n directive: {\n pattern: /<%.*%>/,\n alias: 'tag',\n inside: {\n directive: {\n pattern: /<%\\s*?[$=%#:]{0,2}|%>/,\n alias: 'tag'\n },\n rest: Prism.languages.csharp\n }\n }\n })\n // Regexp copied from prism-markup, with a negative look-ahead added\n Prism.languages.aspnet.tag.pattern =\n /<(?!%)\\/?[^\\s>\\/]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/\n\n // match directives of attribute value foo=\"<% Bar %>\"\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n directive: Prism.languages.aspnet['directive']\n },\n Prism.languages.aspnet.tag.inside['attr-value']\n )\n Prism.languages.insertBefore('aspnet', 'comment', {\n 'asp-comment': {\n pattern: /<%--[\\s\\S]*?--%>/,\n alias: ['asp', 'comment']\n }\n })\n\n // script runat=\"server\" contains csharp, not javascript\n Prism.languages.insertBefore(\n 'aspnet',\n Prism.languages.javascript ? 'script' : 'tag',\n {\n 'asp-script': {\n pattern:\n /(<script(?=.*runat=['\"]?server\\b)[^>]*>)[\\s\\S]*?(?=<\\/script>)/i,\n lookbehind: true,\n alias: ['asp', 'script'],\n inside: Prism.languages.csharp || {}\n }\n }\n )\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nasm6502.displayName = 'asm6502'\nasm6502.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function asm6502(Prism) {\n Prism.languages.asm6502 = {\n comment: /;.*/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n 'op-code': {\n pattern:\n /\\b(?:ADC|AND|ASL|BCC|BCS|BEQ|BIT|BMI|BNE|BPL|BRK|BVC|BVS|CLC|CLD|CLI|CLV|CMP|CPX|CPY|DEC|DEX|DEY|EOR|INC|INX|INY|JMP|JSR|LDA|LDX|LDY|LSR|NOP|ORA|PHA|PHP|PLA|PLP|ROL|ROR|RTI|RTS|SBC|SEC|SED|SEI|STA|STX|STY|TAX|TAY|TSX|TXA|TXS|TYA|adc|and|asl|bcc|bcs|beq|bit|bmi|bne|bpl|brk|bvc|bvs|clc|cld|cli|clv|cmp|cpx|cpy|dec|dex|dey|eor|inc|inx|iny|jmp|jsr|lda|ldx|ldy|lsr|nop|ora|pha|php|pla|plp|rol|ror|rti|rts|sbc|sec|sed|sei|sta|stx|sty|tax|tay|tsx|txa|txs|tya)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{1,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[xya]\\b/i,\n alias: 'variable'\n },\n punctuation: /[(),:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nasmatmel.displayName = 'asmatmel'\nasmatmel.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function asmatmel(Prism) {\n Prism.languages.asmatmel = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n constant: /\\b(?:PORT[A-Z]|DDR[A-Z]|(?:DD|P)[A-Z](?:\\d|[0-2]\\d|3[01]))\\b/,\n directive: {\n pattern: /\\.\\w+(?= )/,\n alias: 'property'\n },\n 'r-register': {\n pattern: /\\br(?:\\d|[12]\\d|3[01])\\b/,\n alias: 'variable'\n },\n 'op-code': {\n pattern:\n /\\b(?:ADC|ADD|ADIW|AND|ANDI|ASR|BCLR|BLD|BRBC|BRBS|BRCC|BRCS|BREAK|BREQ|BRGE|BRHC|BRHS|BRID|BRIE|BRLO|BRLT|BRMI|BRNE|BRPL|BRSH|BRTC|BRTS|BRVC|BRVS|BSET|BST|CALL|CBI|CBR|CLC|CLH|CLI|CLN|CLR|CLS|CLT|CLV|CLZ|COM|CP|CPC|CPI|CPSE|DEC|DES|EICALL|EIJMP|ELPM|EOR|FMUL|FMULS|FMULSU|ICALL|IJMP|IN|INC|JMP|LAC|LAS|LAT|LD|LD[A-Za-z0-9]|LPM|LSL|LSR|MOV|MOVW|MUL|MULS|MULSU|NEG|NOP|OR|ORI|OUT|POP|PUSH|RCALL|RET|RETI|RJMP|ROL|ROR|SBC|SBCI|SBI|SBIC|SBIS|SBIW|SBR|SBRC|SBRS|SEC|SEH|SEI|SEN|SER|SES|SET|SEV|SEZ|SLEEP|SPM|ST|ST[A-Z0-9]|SUB|SUBI|SWAP|TST|WDR|XCH|adc|add|adiw|and|andi|asr|bclr|bld|brbc|brbs|brcc|brcs|break|breq|brge|brhc|brhs|brid|brie|brlo|brlt|brmi|brne|brpl|brsh|brtc|brts|brvc|brvs|bset|bst|call|cbi|cbr|clc|clh|cli|cln|clr|cls|clt|clv|clz|com|cp|cpc|cpi|cpse|dec|des|eicall|eijmp|elpm|eor|fmul|fmuls|fmulsu|icall|ijmp|in|inc|jmp|lac|las|lat|ld|ld[a-z0-9]|lpm|lsl|lsr|mov|movw|mul|muls|mulsu|neg|nop|or|ori|out|pop|push|rcall|ret|reti|rjmp|rol|ror|sbc|sbci|sbi|sbic|sbis|sbiw|sbr|sbrc|sbrs|sec|seh|sei|sen|ser|ses|set|sev|sez|sleep|spm|st|st[a-zA-Z0-9]|sub|subi|swap|tst|wdr|xch)\\b/,\n alias: 'keyword'\n },\n 'hex-number': {\n pattern: /#?\\$[\\da-f]{2,4}\\b/i,\n alias: 'number'\n },\n 'binary-number': {\n pattern: /#?%[01]+\\b/,\n alias: 'number'\n },\n 'decimal-number': {\n pattern: /#?\\b\\d+\\b/,\n alias: 'number'\n },\n register: {\n pattern: /\\b[acznvshtixy]\\b/i,\n alias: 'variable'\n },\n operator: />>=?|<<=?|&[&=]?|\\|[\\|=]?|[-+*/%^!=<>?]=?/,\n punctuation: /[(),:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nautohotkey.displayName = 'autohotkey'\nautohotkey.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function autohotkey(Prism) {\n // NOTES - follows first-first highlight method, block is locked after highlight, different from SyntaxHl\n Prism.languages.autohotkey = {\n comment: [\n {\n pattern: /(^|\\s);.*/,\n lookbehind: true\n },\n {\n pattern:\n /(^[\\t ]*)\\/\\*(?:[\\r\\n](?![ \\t]*\\*\\/)|[^\\r\\n])*(?:[\\r\\n][ \\t]*\\*\\/)?/m,\n lookbehind: true,\n greedy: true\n }\n ],\n tag: {\n // labels\n pattern: /^([ \\t]*)[^\\s,`\":]+(?=:[ \\t]*$)/m,\n lookbehind: true\n },\n string: /\"(?:[^\"\\n\\r]|\"\")*\"/,\n variable: /%\\w+%/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator:\n /\\?|\\/\\/?=?|:=|\\|[=|]?|&[=&]?|\\+[=+]?|-[=-]?|\\*[=*]?|<(?:<=?|>|=)?|>>?=?|[.^!=~]=?|\\b(?:AND|NOT|OR)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n command: {\n pattern:\n /\\b(?:AutoTrim|BlockInput|Break|Click|ClipWait|Continue|Control|ControlClick|ControlFocus|ControlGet|ControlGetFocus|ControlGetPos|ControlGetText|ControlMove|ControlSend|ControlSendRaw|ControlSetText|CoordMode|Critical|DetectHiddenText|DetectHiddenWindows|Drive|DriveGet|DriveSpaceFree|EnvAdd|EnvDiv|EnvGet|EnvMult|EnvSet|EnvSub|EnvUpdate|Exit|ExitApp|FileAppend|FileCopy|FileCopyDir|FileCreateDir|FileCreateShortcut|FileDelete|FileEncoding|FileGetAttrib|FileGetShortcut|FileGetSize|FileGetTime|FileGetVersion|FileInstall|FileMove|FileMoveDir|FileRead|FileReadLine|FileRecycle|FileRecycleEmpty|FileRemoveDir|FileSelectFile|FileSelectFolder|FileSetAttrib|FileSetTime|FormatTime|GetKeyState|Gosub|Goto|GroupActivate|GroupAdd|GroupClose|GroupDeactivate|Gui|GuiControl|GuiControlGet|Hotkey|ImageSearch|IniDelete|IniRead|IniWrite|Input|InputBox|KeyWait|ListHotkeys|ListLines|ListVars|Loop|Menu|MouseClick|MouseClickDrag|MouseGetPos|MouseMove|MsgBox|OnExit|OutputDebug|Pause|PixelGetColor|PixelSearch|PostMessage|Process|Progress|Random|RegDelete|RegRead|RegWrite|Reload|Repeat|Return|Run|RunAs|RunWait|Send|SendEvent|SendInput|SendMessage|SendMode|SendPlay|SendRaw|SetBatchLines|SetCapslockState|SetControlDelay|SetDefaultMouseSpeed|SetEnv|SetFormat|SetKeyDelay|SetMouseDelay|SetNumlockState|SetRegView|SetScrollLockState|SetStoreCapslockMode|SetTimer|SetTitleMatchMode|SetWinDelay|SetWorkingDir|Shutdown|Sleep|Sort|SoundBeep|SoundGet|SoundGetWaveVolume|SoundPlay|SoundSet|SoundSetWaveVolume|SplashImage|SplashTextOff|SplashTextOn|SplitPath|StatusBarGetText|StatusBarWait|StringCaseSense|StringGetPos|StringLeft|StringLen|StringLower|StringMid|StringReplace|StringRight|StringSplit|StringTrimLeft|StringTrimRight|StringUpper|Suspend|SysGet|Thread|ToolTip|Transform|TrayTip|URLDownloadToFile|WinActivate|WinActivateBottom|WinClose|WinGet|WinGetActiveStats|WinGetActiveTitle|WinGetClass|WinGetPos|WinGetText|WinGetTitle|WinHide|WinKill|WinMaximize|WinMenuSelectItem|WinMinimize|WinMinimizeAll|WinMinimizeAllUndo|WinMove|WinRestore|WinSet|WinSetTitle|WinShow|WinWait|WinWaitActive|WinWaitClose|WinWaitNotActive)\\b/i,\n alias: 'selector'\n },\n constant:\n /\\b(?:a_ahkpath|a_ahkversion|a_appdata|a_appdatacommon|a_autotrim|a_batchlines|a_caretx|a_carety|a_computername|a_controldelay|a_cursor|a_dd|a_ddd|a_dddd|a_defaultmousespeed|a_desktop|a_desktopcommon|a_detecthiddentext|a_detecthiddenwindows|a_endchar|a_eventinfo|a_exitreason|a_fileencoding|a_formatfloat|a_formatinteger|a_gui|a_guicontrol|a_guicontrolevent|a_guievent|a_guiheight|a_guiwidth|a_guix|a_guiy|a_hour|a_iconfile|a_iconhidden|a_iconnumber|a_icontip|a_index|a_ipaddress1|a_ipaddress2|a_ipaddress3|a_ipaddress4|a_is64bitos|a_isadmin|a_iscompiled|a_iscritical|a_ispaused|a_issuspended|a_isunicode|a_keydelay|a_language|a_lasterror|a_linefile|a_linenumber|a_loopfield|a_loopfileattrib|a_loopfiledir|a_loopfileext|a_loopfilefullpath|a_loopfilelongpath|a_loopfilename|a_loopfileshortname|a_loopfileshortpath|a_loopfilesize|a_loopfilesizekb|a_loopfilesizemb|a_loopfiletimeaccessed|a_loopfiletimecreated|a_loopfiletimemodified|a_loopreadline|a_loopregkey|a_loopregname|a_loopregsubkey|a_loopregtimemodified|a_loopregtype|a_mday|a_min|a_mm|a_mmm|a_mmmm|a_mon|a_mousedelay|a_msec|a_mydocuments|a_now|a_nowutc|a_numbatchlines|a_ostype|a_osversion|a_priorhotkey|a_priorkey|a_programfiles|a_programs|a_programscommon|a_ptrsize|a_regview|a_screendpi|a_screenheight|a_screenwidth|a_scriptdir|a_scriptfullpath|a_scripthwnd|a_scriptname|a_sec|a_space|a_startmenu|a_startmenucommon|a_startup|a_startupcommon|a_stringcasesense|a_tab|a_temp|a_thisfunc|a_thishotkey|a_thislabel|a_thismenu|a_thismenuitem|a_thismenuitempos|a_tickcount|a_timeidle|a_timeidlephysical|a_timesincepriorhotkey|a_timesincethishotkey|a_titlematchmode|a_titlematchmodespeed|a_username|a_wday|a_windelay|a_windir|a_workingdir|a_yday|a_year|a_yweek|a_yyyy|clipboard|clipboardall|comspec|errorlevel|programfiles)\\b/i,\n builtin:\n /\\b(?:abs|acos|asc|asin|atan|ceil|chr|class|comobjactive|comobjarray|comobjconnect|comobjcreate|comobjerror|comobjflags|comobjget|comobjquery|comobjtype|comobjvalue|cos|dllcall|exp|fileexist|Fileopen|floor|format|il_add|il_create|il_destroy|instr|isfunc|islabel|IsObject|ln|log|ltrim|lv_add|lv_delete|lv_deletecol|lv_getcount|lv_getnext|lv_gettext|lv_insert|lv_insertcol|lv_modify|lv_modifycol|lv_setimagelist|mod|numget|numput|onmessage|regexmatch|regexreplace|registercallback|round|rtrim|sb_seticon|sb_setparts|sb_settext|sin|sqrt|strlen|strreplace|strsplit|substr|tan|tv_add|tv_delete|tv_get|tv_getchild|tv_getcount|tv_getnext|tv_getparent|tv_getprev|tv_getselection|tv_gettext|tv_modify|varsetcapacity|winactive|winexist|__Call|__Get|__New|__Set)\\b/i,\n symbol:\n /\\b(?:alt|altdown|altup|appskey|backspace|browser_back|browser_favorites|browser_forward|browser_home|browser_refresh|browser_search|browser_stop|bs|capslock|ctrl|ctrlbreak|ctrldown|ctrlup|del|delete|down|end|enter|esc|escape|f1|f10|f11|f12|f13|f14|f15|f16|f17|f18|f19|f2|f20|f21|f22|f23|f24|f3|f4|f5|f6|f7|f8|f9|home|ins|insert|joy1|joy10|joy11|joy12|joy13|joy14|joy15|joy16|joy17|joy18|joy19|joy2|joy20|joy21|joy22|joy23|joy24|joy25|joy26|joy27|joy28|joy29|joy3|joy30|joy31|joy32|joy4|joy5|joy6|joy7|joy8|joy9|joyaxes|joybuttons|joyinfo|joyname|joypov|joyr|joyu|joyv|joyx|joyy|joyz|lalt|launch_app1|launch_app2|launch_mail|launch_media|lbutton|lcontrol|lctrl|left|lshift|lwin|lwindown|lwinup|mbutton|media_next|media_play_pause|media_prev|media_stop|numlock|numpad0|numpad1|numpad2|numpad3|numpad4|numpad5|numpad6|numpad7|numpad8|numpad9|numpadadd|numpadclear|numpaddel|numpaddiv|numpaddot|numpaddown|numpadend|numpadenter|numpadhome|numpadins|numpadleft|numpadmult|numpadpgdn|numpadpgup|numpadright|numpadsub|numpadup|pgdn|pgup|printscreen|ralt|rbutton|rcontrol|rctrl|right|rshift|rwin|rwindown|rwinup|scrolllock|shift|shiftdown|shiftup|space|tab|up|volume_down|volume_mute|volume_up|wheeldown|wheelleft|wheelright|wheelup|xbutton1|xbutton2)\\b/i,\n directive: {\n pattern: /#[a-z]+\\b/i,\n alias: 'important'\n },\n keyword:\n /\\b(?:Abort|AboveNormal|Add|ahk_class|ahk_exe|ahk_group|ahk_id|ahk_pid|All|Alnum|Alpha|AltSubmit|AltTab|AltTabAndMenu|AltTabMenu|AltTabMenuDismiss|AlwaysOnTop|AutoSize|Background|BackgroundTrans|BelowNormal|between|BitAnd|BitNot|BitOr|BitShiftLeft|BitShiftRight|BitXOr|Bold|Border|Button|ByRef|Catch|Checkbox|Checked|CheckedGray|Choose|ChooseString|Close|Color|ComboBox|Contains|ControlList|Count|Date|DateTime|Days|DDL|Default|DeleteAll|Delimiter|Deref|Destroy|Digit|Disable|Disabled|DropDownList|Edit|Eject|Else|Enable|Enabled|Error|Exist|Expand|ExStyle|FileSystem|Finally|First|Flash|Float|FloatFast|Focus|Font|for|global|Grid|Group|GroupBox|GuiClose|GuiContextMenu|GuiDropFiles|GuiEscape|GuiSize|Hdr|Hidden|Hide|High|HKCC|HKCR|HKCU|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_LOCAL_MACHINE|HKEY_USERS|HKLM|HKU|Hours|HScroll|Icon|IconSmall|ID|IDLast|If|IfEqual|IfExist|IfGreater|IfGreaterOrEqual|IfInString|IfLess|IfLessOrEqual|IfMsgBox|IfNotEqual|IfNotExist|IfNotInString|IfWinActive|IfWinExist|IfWinNotActive|IfWinNotExist|Ignore|ImageList|in|Integer|IntegerFast|Interrupt|is|italic|Join|Label|LastFound|LastFoundExist|Limit|Lines|List|ListBox|ListView|local|Lock|Logoff|Low|Lower|Lowercase|MainWindow|Margin|Maximize|MaximizeBox|MaxSize|Minimize|MinimizeBox|MinMax|MinSize|Minutes|MonthCal|Mouse|Move|Multi|NA|No|NoActivate|NoDefault|NoHide|NoIcon|NoMainWindow|norm|Normal|NoSort|NoSortHdr|NoStandard|Not|NoTab|NoTimers|Number|Off|Ok|On|OwnDialogs|Owner|Parse|Password|Picture|Pixel|Pos|Pow|Priority|ProcessName|Radio|Range|Read|ReadOnly|Realtime|Redraw|Region|REG_BINARY|REG_DWORD|REG_EXPAND_SZ|REG_MULTI_SZ|REG_SZ|Relative|Rename|Report|Resize|Restore|Retry|RGB|Screen|Seconds|Section|Serial|SetLabel|ShiftAltTab|Show|Single|Slider|SortDesc|Standard|static|Status|StatusBar|StatusCD|strike|Style|Submit|SysMenu|Tab2|TabStop|Text|Theme|Throw|Tile|ToggleCheck|ToggleEnable|ToolWindow|Top|Topmost|TransColor|Transparent|Tray|TreeView|Try|TryAgain|Type|UnCheck|underline|Unicode|Unlock|Until|UpDown|Upper|Uppercase|UseErrorLevel|Vis|VisFirst|Visible|VScroll|Wait|WaitClose|WantCtrlA|WantF2|WantReturn|While|Wrap|Xdigit|xm|xp|xs|Yes|ym|yp|ys)\\b/i,\n function: /[^(); \\t,\\n+*\\-=?>:\\\\\\/<&%\\[\\]]+(?=\\()/,\n punctuation: /[{}[\\]():,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nautoit.displayName = 'autoit'\nautoit.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function autoit(Prism) {\n Prism.languages.autoit = {\n comment: [\n /;.*/,\n {\n // The multi-line comments delimiters can actually be commented out with \";\"\n pattern:\n /(^[\\t ]*)#(?:comments-start|cs)[\\s\\S]*?^[ \\t]*#(?:ce|comments-end)/m,\n lookbehind: true\n }\n ],\n url: {\n pattern: /(^[\\t ]*#include\\s+)(?:<[^\\r\\n>]+>|\"[^\\r\\n\"]+\")/m,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[^\\r\\n])*\\1/,\n greedy: true,\n inside: {\n variable: /([%$@])\\w+\\1/\n }\n },\n directive: {\n pattern: /(^[\\t ]*)#[\\w-]+/m,\n lookbehind: true,\n alias: 'keyword'\n },\n function: /\\b\\w+(?=\\()/,\n // Variables and macros\n variable: /[$@]\\w+/,\n keyword:\n /\\b(?:Case|Const|Continue(?:Case|Loop)|Default|Dim|Do|Else(?:If)?|End(?:Func|If|Select|Switch|With)|Enum|Exit(?:Loop)?|For|Func|Global|If|In|Local|Next|Null|ReDim|Select|Static|Step|Switch|Then|To|Until|Volatile|WEnd|While|With)\\b/i,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n operator: /<[=>]?|[-+*\\/=&>]=?|[?^]|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[\\[\\]().,:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\navisynth.displayName = 'avisynth'\navisynth.aliases = ['avs']\n\n/** @param {Refractor} Prism */\nexport default function avisynth(Prism) {\n // http://avisynth.nl/index.php/The_full_AviSynth_grammar\n ;(function (Prism) {\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return replacements[+index]\n })\n }\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n var types = /bool|clip|float|int|string|val/.source\n var internals = [\n // bools\n /is(?:bool|clip|float|int|string)|defined|(?:(?:internal)?function|var)?exists?/\n .source,\n // control\n /apply|assert|default|eval|import|nop|select|undefined/.source,\n // global\n /opt_(?:allowfloataudio|avipadscanlines|dwchannelmask|enable_(?:b64a|planartopackedrgb|v210|y3_10_10|y3_10_16)|usewaveextensible|vdubplanarhack)|set(?:cachemode|maxcpu|memorymax|planarlegacyalignment|workingdir)/\n .source,\n // conv\n /hex(?:value)?|value/.source,\n // numeric\n /abs|ceil|continued(?:denominator|numerator)?|exp|floor|fmod|frac|log(?:10)?|max|min|muldiv|pi|pow|rand|round|sign|spline|sqrt/\n .source,\n // trig\n /a?sinh?|a?cosh?|a?tan[2h]?/.source,\n // bit\n /(?:bit(?:and|not|x?or|[lr]?shift[aslu]?|sh[lr]|sa[lr]|[lr]rotatel?|ro[rl]|te?st|set(?:count)?|cl(?:ea)?r|ch(?:an)?ge?))/\n .source,\n // runtime\n /average(?:[bgr]|chroma[uv]|luma)|(?:[rgb]|chroma[uv]|luma|rgb|[yuv](?=difference(?:fromprevious|tonext)))difference(?:fromprevious|tonext)?|[yuvrgb]plane(?:median|min|max|minmaxdifference)/\n .source,\n // script\n /getprocessinfo|logmsg|script(?:dir(?:utf8)?|file(?:utf8)?|name(?:utf8)?)|setlogparams/\n .source,\n // string\n /chr|(?:fill|find|left|mid|replace|rev|right)str|format|[lu]case|ord|str(?:cmpi?|fromutf8|len|toutf8)|time|trim(?:all|left|right)/\n .source,\n // version\n /isversionorgreater|version(?:number|string)/.source,\n // helper\n /buildpixeltype|colorspacenametopixeltype/.source,\n // avsplus\n /addautoloaddir|on(?:cpu|cuda)|prefetch|setfiltermtmode/.source\n ].join('|')\n var properties = [\n // content\n /has(?:audio|video)/.source,\n // resolution\n /height|width/.source,\n // framerate\n /frame(?:count|rate)|framerate(?:denominator|numerator)/.source,\n // interlacing\n /getparity|is(?:field|frame)based/.source,\n // color format\n /bitspercomponent|componentsize|hasalpha|is(?:planar(?:rgba?)?|interleaved|rgb(?:24|32|48|64)?|y(?:8|u(?:va?|y2))?|yv(?:12|16|24|411)|420|422|444|packedrgb)|numcomponents|pixeltype/\n .source,\n // audio\n /audio(?:bits|channels|duration|length(?:[fs]|hi|lo)?|rate)|isaudio(?:float|int)/\n .source\n ].join('|')\n var filters = [\n // source\n /avi(?:file)?source|directshowsource|image(?:reader|source|sourceanim)|opendmlsource|segmented(?:avisource|directshowsource)|wavsource/\n .source,\n // color\n /coloryuv|convertbacktoyuy2|convertto(?:RGB(?:24|32|48|64)|(?:planar)?RGBA?|Y8?|YV(?:12|16|24|411)|YUVA?(?:411|420|422|444)|YUY2)|fixluminance|gr[ae]yscale|invert|levels|limiter|mergea?rgb|merge(?:chroma|luma)|rgbadjust|show(?:alpha|blue|green|red)|swapuv|tweak|[uv]toy8?|ytouv/\n .source,\n // overlay\n /(?:colorkey|reset)mask|layer|mask(?:hs)?|merge|overlay|subtract/.source,\n // geometry\n /addborders|(?:bicubic|bilinear|blackman|gauss|lanczos4|lanczos|point|sinc|spline(?:16|36|64))resize|crop(?:bottom)?|flip(?:horizontal|vertical)|(?:horizontal|vertical)?reduceby2|letterbox|skewrows|turn(?:180|left|right)/\n .source,\n // pixel\n /blur|fixbrokenchromaupsampling|generalconvolution|(?:spatial|temporal)soften|sharpen/\n .source,\n // timeline\n /trim|(?:un)?alignedsplice|(?:assume|assumescaled|change|convert)FPS|(?:delete|duplicate)frame|dissolve|fade(?:in|io|out)[02]?|freezeframe|interleave|loop|reverse|select(?:even|odd|(?:range)?every)/\n .source,\n // interlace\n /assume[bt]ff|assume(?:field|frame)based|bob|complementparity|doubleweave|peculiarblend|pulldown|separate(?:columns|fields|rows)|swapfields|weave(?:columns|rows)?/\n .source,\n // audio\n /amplify(?:db)?|assumesamplerate|audiodub(?:ex)?|audiotrim|convertaudioto(?:(?:8|16|24|32)bit|float)|converttomono|delayaudio|ensurevbrmp3sync|get(?:left|right)?channel|kill(?:audio|video)|mergechannels|mixaudio|monotostereo|normalize|resampleaudio|ssrc|supereq|timestretch/\n .source,\n // conditional\n /animate|applyrange|conditional(?:filter|reader|select)|frameevaluate|scriptclip|tcp(?:server|source)|writefile(?:end|if|start)?/\n .source,\n // export\n /imagewriter/.source,\n // debug\n /blackness|blankclip|colorbars(?:hd)?|compare|dumpfiltergraph|echo|histogram|info|messageclip|preroll|setgraphanalysis|show(?:framenumber|smpte|time)|showfiveversions|stack(?:horizontal|vertical)|subtitle|tone|version/\n .source\n ].join('|')\n var allinternals = [internals, properties, filters].join('|')\n Prism.languages.avisynth = {\n comment: [\n {\n // Matches [* *] nestable block comments, but only supports 1 level of nested comments\n // /\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|<self>)*\\*\\]/\n pattern:\n /(^|[^\\\\])\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\])|\\[\\*(?:[^\\[*]|\\[(?!\\*)|\\*(?!\\]))*\\*\\])*\\*\\]/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches /* */ block comments\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // Matches # comments\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Handle before strings because optional arguments are surrounded by double quotes\n argument: {\n pattern: re(/\\b(?:<<0>>)\\s+(\"?)\\w+\\1/.source, [types], 'i'),\n inside: {\n keyword: /^\\w+/\n }\n },\n // Optional argument assignment\n 'argument-label': {\n pattern: /([,(][\\s\\\\]*)\\w+\\s*=(?!=)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^\\w+/,\n alias: 'punctuation'\n },\n punctuation: /=$/\n }\n },\n string: [\n {\n // triple double-quoted\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n // single double-quoted\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n constant: {\n // These *are* case-sensitive!\n pattern:\n /\\b(?:DEFAULT_MT_MODE|(?:MAINSCRIPT|PROGRAM|SCRIPT)DIR|(?:MACHINE|USER)_(?:CLASSIC|PLUS)_PLUGINS)\\b/\n }\n }\n }\n ],\n // The special \"last\" variable that takes the value of the last implicitly returned clip\n variable: /\\b(?:last)\\b/i,\n boolean: /\\b(?:false|no|true|yes)\\b/i,\n keyword:\n /\\b(?:catch|else|for|function|global|if|return|try|while|__END__)\\b/i,\n constant: /\\bMT_(?:MULTI_INSTANCE|NICE_FILTER|SERIALIZED|SPECIAL_MT)\\b/,\n // AviSynth's internal functions, filters, and properties\n 'builtin-function': {\n pattern: re(/\\b(?:<<0>>)\\b/.source, [allinternals], 'i'),\n alias: 'function'\n },\n 'type-cast': {\n pattern: re(/\\b(?:<<0>>)(?=\\s*\\()/.source, [types], 'i'),\n alias: 'keyword'\n },\n // External/user-defined filters\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()|(\\.)[a-z_]\\w*\\b/i,\n lookbehind: true\n },\n // Matches a \\ as the first or last character on a line\n 'line-continuation': {\n pattern: /(^[ \\t]*)\\\\|\\\\(?=[ \\t]*$)/m,\n lookbehind: true,\n alias: 'punctuation'\n },\n number:\n /\\B\\$(?:[\\da-f]{6}|[\\da-f]{8})\\b|(?:(?:\\b|\\B-)\\d+(?:\\.\\d*)?\\b|\\B\\.\\d+\\b)/i,\n operator: /\\+\\+?|[!=<>]=?|&&|\\|\\||[?:*/%-]/,\n punctuation: /[{}\\[\\]();,.]/\n }\n Prism.languages.avs = Prism.languages.avisynth\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\navroIdl.displayName = 'avro-idl'\navroIdl.aliases = ['avdl']\n\n/** @param {Refractor} Prism */\nexport default function avroIdl(Prism) {\n // GitHub: https://github.com/apache/avro\n // Docs: https://avro.apache.org/docs/current/idl.html\n\n Prism.languages['avro-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n annotation: {\n pattern: /@(?:[$\\w.-]|`[^\\r\\n`]+`)+/,\n greedy: true,\n alias: 'function'\n },\n 'function-identifier': {\n pattern: /`[^\\r\\n`]+`(?=\\s*\\()/,\n greedy: true,\n alias: 'function'\n },\n identifier: {\n pattern: /`[^\\r\\n`]+`/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:enum|error|protocol|record|throws)\\b\\s+)[$\\w]+/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:array|boolean|bytes|date|decimal|double|enum|error|false|fixed|float|idl|import|int|local_timestamp_ms|long|map|null|oneway|protocol|record|schema|string|throws|time_ms|timestamp_ms|true|union|uuid|void)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: [\n {\n pattern:\n /(^|[^\\w.])-?(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|0x(?:[a-f0-9]+(?:\\.[a-f0-9]*)?|\\.[a-f0-9]+)(?:p[+-]?\\d+)?)[dfl]?(?![\\w.])/i,\n lookbehind: true\n },\n /-?\\b(?:Infinity|NaN)\\b/\n ],\n operator: /=/,\n punctuation: /[()\\[\\]{}<>.:,;-]/\n }\n Prism.languages.avdl = Prism.languages['avro-idl']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nawk.displayName = 'awk'\nawk.aliases = ['gawk']\n\n/** @param {Refractor} Prism */\nexport default function awk(Prism) {\n Prism.languages.awk = {\n hashbang: {\n pattern: /^#!.*/,\n greedy: true,\n alias: 'comment'\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n regex: {\n pattern: /((?:^|[^\\w\\s)])\\s*)\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\//,\n lookbehind: true,\n greedy: true\n },\n variable: /\\$\\w+/,\n keyword:\n /\\b(?:BEGIN|BEGINFILE|END|ENDFILE|break|case|continue|default|delete|do|else|exit|for|function|getline|if|in|next|nextfile|printf?|return|switch|while)\\b|@(?:include|load)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[a-fA-F0-9]+)\\b/,\n operator: /--|\\+\\+|!?~|>&|>>|<<|(?:\\*\\*|[<>!=+\\-*/%^])=?|&&|\\|[|&]|[?:]/,\n punctuation: /[()[\\]{},;]/\n }\n Prism.languages.gawk = Prism.languages.awk\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbasic.displayName = 'basic'\nbasic.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function basic(Prism) {\n Prism.languages.basic = {\n comment: {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\\$|\\b)/i,\n operator: /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:AND|EQV|IMP|NOT|OR|XOR)\\b/i,\n punctuation: /[,;:()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbatch.displayName = 'batch'\nbatch.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function batch(Prism) {\n ;(function (Prism) {\n var variable = /%%?[~:\\w]+%?|!\\S+!/\n var parameter = {\n pattern: /\\/[a-z?]+(?=[ :]|$):?|-[a-z]\\b|--[a-z-]+\\b/im,\n alias: 'attr-name',\n inside: {\n punctuation: /:/\n }\n }\n var string = /\"(?:[\\\\\"]\"|[^\"])*\"(?!\")/\n var number = /(?:\\b|-)\\d+\\b/\n Prism.languages.batch = {\n comment: [\n /^::.*/m,\n {\n pattern: /((?:^|[&(])[ \\t]*)rem\\b(?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true\n }\n ],\n label: {\n pattern: /^:.*/m,\n alias: 'property'\n },\n command: [\n {\n // FOR command\n pattern:\n /((?:^|[&(])[ \\t]*)for(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* \\S+ in \\([^)]+\\) do/im,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:do|in)\\b|^for\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n punctuation: /[()',]/\n }\n },\n {\n // IF command\n pattern:\n /((?:^|[&(])[ \\t]*)if(?: \\/[a-z?](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:not )?(?:cmdextversion \\d+|defined \\w+|errorlevel \\d+|exist \\S+|(?:\"[^\"]*\"|(?!\")(?:(?!==)\\S)+)?(?:==| (?:equ|geq|gtr|leq|lss|neq) )(?:\"[^\"]*\"|[^\\s\"]\\S*))/im,\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:cmdextversion|defined|errorlevel|exist|not)\\b|^if\\b/i,\n string: string,\n parameter: parameter,\n variable: variable,\n number: number,\n operator: /\\^|==|\\b(?:equ|geq|gtr|leq|lss|neq)\\b/i\n }\n },\n {\n // ELSE command\n pattern: /((?:^|[&()])[ \\t]*)else\\b/im,\n lookbehind: true,\n inside: {\n keyword: /^else\\b/i\n }\n },\n {\n // SET command\n pattern:\n /((?:^|[&(])[ \\t]*)set(?: \\/[a-z](?:[ :](?:\"[^\"]*\"|[^\\s\"/]\\S*))?)* (?:[^^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n inside: {\n keyword: /^set\\b/i,\n string: string,\n parameter: parameter,\n variable: [variable, /\\w+(?=(?:[*\\/%+\\-&^|]|<<|>>)?=)/],\n number: number,\n operator: /[*\\/%+\\-&^|]=?|<<=?|>>=?|[!~_=]/,\n punctuation: /[()',]/\n }\n },\n {\n // Other commands\n pattern:\n /((?:^|[&(])[ \\t]*@?)\\w+\\b(?:\"(?:[\\\\\"]\"|[^\"])*\"(?!\")|[^\"^&)\\r\\n]|\\^(?:\\r\\n|[\\s\\S]))*/m,\n lookbehind: true,\n inside: {\n keyword: /^\\w+\\b/,\n string: string,\n parameter: parameter,\n label: {\n pattern: /(^\\s*):\\S+/m,\n lookbehind: true,\n alias: 'property'\n },\n variable: variable,\n number: number,\n operator: /\\^/\n }\n }\n ],\n operator: /[&@]/,\n punctuation: /[()']/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbbcode.displayName = 'bbcode'\nbbcode.aliases = ['shortcode']\n\n/** @param {Refractor} Prism */\nexport default function bbcode(Prism) {\n Prism.languages.bbcode = {\n tag: {\n pattern:\n /\\[\\/?[^\\s=\\]]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))?(?:\\s+[^\\s=\\]]+\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+))*\\s*\\]/,\n inside: {\n tag: {\n pattern: /^\\[\\/?[^\\s=\\]]+/,\n inside: {\n punctuation: /^\\[\\/?/\n }\n },\n 'attr-value': {\n pattern: /=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\"\\]=]+)/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ]\n }\n },\n punctuation: /\\]/,\n 'attr-name': /[^\\s=\\]]+/\n }\n }\n }\n Prism.languages.shortcode = Prism.languages.bbcode\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbbj.displayName = 'bbj'\nbbj.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function bbj(Prism) {\n ;(function (Prism) {\n Prism.languages.bbj = {\n comment: {\n pattern: /(^|[^\\\\:])rem\\s+.*/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(['\"])(?:(?!\\1|\\\\).|\\\\.)*\\1/,\n greedy: true\n },\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:abstract|all|argc|begin|bye|callback|case|chn|class|classend|ctl|day|declare|delete|dim|dom|dread|dsz|else|end|endif|err|exitto|extends|fi|field|for|from|gosub|goto|if|implements|interface|interfaceend|iol|iolist|let|list|load|method|methodend|methodret|on|opts|pfx|print|private|process_events|protected|psz|public|read|read_resource|release|remove_callback|repeat|restore|return|rev|seterr|setesc|sqlchn|sqlunt|ssn|start|static|swend|switch|sys|then|tim|unt|until|use|void|wend|where|while)\\b/i,\n function: /\\b\\w+(?=\\()/,\n boolean: /\\b(?:BBjAPI\\.TRUE|BBjAPI\\.FALSE)\\b/i,\n operator: /<[=>]?|>=?|[+\\-*\\/^=&]|\\b(?:and|not|or|xor)\\b/i,\n punctuation: /[.,;:()]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbicep.displayName = 'bicep'\nbicep.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function bicep(Prism) {\n // based loosely upon: https://github.com/Azure/bicep/blob/main/src/textmate/bicep.tmlanguage\n Prism.languages.bicep = {\n comment: [\n {\n // multiline comments eg /* ASDF */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n // singleline comments eg // ASDF\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n property: [\n {\n pattern: /([\\r\\n][ \\t]*)[a-z_]\\w*(?=[ \\t]*:)/i,\n lookbehind: true\n },\n {\n pattern: /([\\r\\n][ \\t]*)'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: /'''[^'][\\s\\S]*?'''/,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?!\\{)|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'interpolated-string': {\n pattern: /(^|[^\\\\'])'(?:\\\\.|\\$(?:(?!\\{)|\\{[^{}\\r\\n]*\\})|[^'\\\\\\r\\n$])*'/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}\\r\\n]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true\n },\n punctuation: /^\\$\\{|\\}$/\n }\n },\n string: /[\\s\\S]+/\n }\n },\n datatype: {\n pattern: /(\\b(?:output|param)\\b[ \\t]+\\w+[ \\t]+)\\w+\\b/,\n lookbehind: true,\n alias: 'class-name'\n },\n boolean: /\\b(?:false|true)\\b/,\n // https://github.com/Azure/bicep/blob/114a3251b4e6e30082a58729f19a8cc4e374ffa6/src/textmate/bicep.tmlanguage#L184\n keyword:\n /\\b(?:existing|for|if|in|module|null|output|param|resource|targetScope|var)\\b/,\n decorator: /@\\w+\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n operator:\n /--|\\+\\+|\\*\\*=?|=>|&&=?|\\|\\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\\.{3}|\\?\\?=?|\\?\\.?|[~:]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.bicep['interpolated-string'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.bicep\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nbirb.displayName = 'birb'\nbirb.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function birb(Prism) {\n Prism.register(refractorClike)\n Prism.languages.birb = Prism.languages.extend('clike', {\n string: {\n pattern: /r?(\"|')(?:\\\\.|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'class-name': [\n /\\b[A-Z](?:[\\d_]*[a-zA-Z]\\w*)?\\b/,\n // matches variable and function return types (parameters as well).\n /\\b(?:[A-Z]\\w*|(?!(?:var|void)\\b)[a-z]\\w*)(?=\\s+\\w+\\s*[;,=()])/\n ],\n keyword:\n /\\b(?:assert|break|case|class|const|default|else|enum|final|follows|for|grab|if|nest|new|next|noSeeb|return|static|switch|throw|var|void|while)\\b/,\n operator: /\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?|:/,\n variable: /\\b[a-z_]\\w*\\b/\n })\n Prism.languages.insertBefore('birb', 'function', {\n metadata: {\n pattern: /<\\w+>/,\n greedy: true,\n alias: 'symbol'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\nbison.displayName = 'bison'\nbison.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function bison(Prism) {\n Prism.register(refractorC)\n Prism.languages.bison = Prism.languages.extend('c', {})\n Prism.languages.insertBefore('bison', 'comment', {\n bison: {\n // This should match all the beginning of the file\n // including the prologue(s), the bison declarations and\n // the grammar rules.\n pattern: /^(?:[^%]|%(?!%))*%%[\\s\\S]*?%%/,\n inside: {\n c: {\n // Allow for one level of nested braces\n pattern: /%\\{[\\s\\S]*?%\\}|\\{(?:\\{[^}]*\\}|[^{}])*\\}/,\n inside: {\n delimiter: {\n pattern: /^%?\\{|%?\\}$/,\n alias: 'punctuation'\n },\n 'bison-variable': {\n pattern: /[$@](?:<[^\\s>]+>)?[\\w$]+/,\n alias: 'variable',\n inside: {\n punctuation: /<|>/\n }\n },\n rest: Prism.languages.c\n }\n },\n comment: Prism.languages.c.comment,\n string: Prism.languages.c.string,\n property: /\\S+(?=:)/,\n keyword: /%\\w+/,\n number: {\n pattern: /(^|[^@])\\b(?:0x[\\da-f]+|\\d+)/i,\n lookbehind: true\n },\n punctuation: /%[%?]|[|:;\\[\\]<>]/\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbnf.displayName = 'bnf'\nbnf.aliases = ['rbnf']\n\n/** @param {Refractor} Prism */\nexport default function bnf(Prism) {\n Prism.languages.bnf = {\n string: {\n pattern: /\"[^\\r\\n\"]*\"|'[^\\r\\n']*'/\n },\n definition: {\n pattern: /<[^<>\\r\\n\\t]+>(?=\\s*::=)/,\n alias: ['rule', 'keyword'],\n inside: {\n punctuation: /^<|>$/\n }\n },\n rule: {\n pattern: /<[^<>\\r\\n\\t]+>/,\n inside: {\n punctuation: /^<|>$/\n }\n },\n operator: /::=|[|()[\\]{}*+?]|\\.{3}/\n }\n Prism.languages.rbnf = Prism.languages.bnf\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbqn.displayName = 'bqn'\nbqn.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function bqn(Prism) {\n Prism.languages.bqn = {\n shebang: {\n pattern: /^#![ \\t]*\\/.*/,\n alias: 'important',\n greedy: true\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'string-literal': {\n pattern: /\"(?:[^\"]|\"\")*\"/,\n greedy: true,\n alias: 'string'\n },\n 'character-literal': {\n pattern: /'(?:[\\s\\S]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF])'/,\n greedy: true,\n alias: 'char'\n },\n function: /•[\\w¯.∞π]+[\\w¯.∞π]*/,\n 'dot-notation-on-brackets': {\n pattern: /\\{(?=.*\\}\\.)|\\}\\./,\n alias: 'namespace'\n },\n 'special-name': {\n pattern: /(?:𝕨|𝕩|𝕗|𝕘|𝕤|𝕣|𝕎|𝕏|𝔽|𝔾|𝕊|_𝕣_|_𝕣)/,\n alias: 'keyword'\n },\n 'dot-notation-on-name': {\n pattern: /[A-Za-z_][\\w¯∞π]*\\./,\n alias: 'namespace'\n },\n 'word-number-scientific': {\n pattern: /\\d+(?:\\.\\d+)?[eE]¯?\\d+/,\n alias: 'number'\n },\n 'word-name': {\n pattern: /[A-Za-z_][\\w¯∞π]*/,\n alias: 'symbol'\n },\n 'word-number': {\n pattern:\n /[¯∞π]?(?:\\d*\\.?\\b\\d+(?:e[+¯]?\\d+|E[+¯]?\\d+)?|¯|∞|π)(?:j¯?(?:(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+¯]?\\d+|E[+¯]?\\d+)?|¯|∞|π))?/,\n alias: 'number'\n },\n 'null-literal': {\n pattern: /@/,\n alias: 'char'\n },\n 'primitive-functions': {\n pattern: /[-+×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍⋈↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!]/,\n alias: 'operator'\n },\n 'primitive-1-operators': {\n pattern: /[`˜˘¨⁼⌜´˝˙]/,\n alias: 'operator'\n },\n 'primitive-2-operators': {\n pattern: /[∘⊸⟜○⌾⎉⚇⍟⊘◶⎊]/,\n alias: 'operator'\n },\n punctuation: /[←⇐↩(){}⟨⟩[\\]‿·⋄,.;:?]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbrainfuck.displayName = 'brainfuck'\nbrainfuck.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function brainfuck(Prism) {\n Prism.languages.brainfuck = {\n pointer: {\n pattern: /<|>/,\n alias: 'keyword'\n },\n increment: {\n pattern: /\\+/,\n alias: 'inserted'\n },\n decrement: {\n pattern: /-/,\n alias: 'deleted'\n },\n branching: {\n pattern: /\\[|\\]/,\n alias: 'important'\n },\n operator: /[.,]/,\n comment: /\\S+/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbrightscript.displayName = 'brightscript'\nbrightscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function brightscript(Prism) {\n Prism.languages.brightscript = {\n comment: /(?:\\brem|').*/i,\n 'directive-statement': {\n pattern: /(^[\\t ]*)#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if).*/im,\n lookbehind: true,\n alias: 'property',\n inside: {\n 'error-message': {\n pattern: /(^#error).+/,\n lookbehind: true\n },\n directive: {\n pattern: /^#(?:const|else(?:[\\t ]+if)?|end[\\t ]+if|error|if)/,\n alias: 'keyword'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n property: {\n pattern:\n /([\\r\\n{,][\\t ]*)(?:(?!\\d)\\w+|\"(?:[^\"\\r\\n]|\"\")*\"(?!\"))(?=[ \\t]*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\bAs[\\t ]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:As|Dim|Each|Else|Elseif|End|Exit|For|Function|Goto|If|In|Print|Return|Step|Stop|Sub|Then|To|While)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\b(?!\\d)\\w+(?=[\\t ]*\\()/,\n number: /(?:\\b\\d+(?:\\.\\d+)?(?:[ed][+-]\\d+)?|&h[a-f\\d]+)\\b[%&!#]?/i,\n operator:\n /--|\\+\\+|>>=?|<<=?|<>|[-+*/\\\\<>]=?|[:^=?]|\\b(?:and|mod|not|or)\\b/i,\n punctuation: /[.,;()[\\]{}]/,\n constant: /\\b(?:LINE_NUM)\\b/i\n }\n Prism.languages.brightscript['directive-statement'].inside.expression.inside =\n Prism.languages.brightscript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbro.displayName = 'bro'\nbro.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function bro(Prism) {\n Prism.languages.bro = {\n comment: {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n inside: {\n italic: /\\b(?:FIXME|TODO|XXX)\\b/\n }\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n boolean: /\\b[TF]\\b/,\n function: {\n pattern: /(\\b(?:event|function|hook)[ \\t]+)\\w+(?:::\\w+)?/,\n lookbehind: true\n },\n builtin:\n /(?:@(?:load(?:-(?:plugin|sigs))?|unload|prefixes|ifn?def|else|(?:end)?if|DIR|FILENAME))|(?:&?(?:add_func|create_expire|default|delete_func|encrypt|error_handler|expire_func|group|log|mergeable|optional|persistent|priority|raw_output|read_expire|redef|rotate_interval|rotate_size|synchronized|type_column|write_expire))/,\n constant: {\n pattern: /(\\bconst[ \\t]+)\\w+/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:add|addr|alarm|any|bool|break|const|continue|count|delete|double|else|enum|event|export|file|for|function|global|hook|if|in|int|interval|local|module|next|of|opaque|pattern|port|print|record|return|schedule|set|string|subnet|table|time|timeout|using|vector|when)\\b/,\n operator: /--?|\\+\\+?|!=?=?|<=?|>=?|==?=?|&&|\\|\\|?|\\?|\\*|\\/|~|\\^|%/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nbsl.displayName = 'bsl'\nbsl.aliases = ['oscript']\n\n/** @param {Refractor} Prism */\nexport default function bsl(Prism) {\n /* eslint-disable no-misleading-character-class */\n\n // 1C:Enterprise\n // https://github.com/Diversus23/\n //\n Prism.languages.bsl = {\n comment: /\\/\\/.*/,\n string: [\n // Строки\n // Strings\n {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n // Дата и время\n // Date & time\n {\n pattern: /'(?:[^'\\r\\n\\\\]|\\\\.)*'/\n }\n ],\n keyword: [\n {\n // RU\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:пока|для|новый|прервать|попытка|исключение|вызватьисключение|иначе|конецпопытки|неопределено|функция|перем|возврат|конецфункции|если|иначеесли|процедура|конецпроцедуры|тогда|знач|экспорт|конецесли|из|каждого|истина|ложь|по|цикл|конеццикла|выполнить)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n },\n {\n // EN\n pattern:\n /\\b(?:break|do|each|else|elseif|enddo|endfunction|endif|endprocedure|endtry|except|execute|export|false|for|function|if|in|new|null|procedure|raise|return|then|to|true|try|undefined|val|var|while)\\b/i\n }\n ],\n number: {\n pattern:\n /(^(?=\\d)|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:E[+-]?\\d+)?/i,\n lookbehind: true\n },\n operator: [\n /[<>+\\-*/]=?|[%=]/,\n // RU\n {\n pattern:\n /(^|[^\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])(?:и|или|не)(?![\\w\\u0400-\\u0484\\u0487-\\u052f\\u1d2b\\u1d78\\u2de0-\\u2dff\\ua640-\\ua69f\\ufe2e\\ufe2f])/i,\n lookbehind: true\n },\n // EN\n {\n pattern: /\\b(?:and|not|or)\\b/i\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/,\n directive: [\n // Теги препроцессора вида &Клиент, &Сервер, ...\n // Preprocessor tags of the type &Client, &Server, ...\n {\n pattern: /^([ \\t]*)&.*/m,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n },\n // Инструкции препроцессора вида:\n // #Если Сервер Тогда\n // ...\n // #КонецЕсли\n // Preprocessor instructions of the form:\n // #If Server Then\n // ...\n // #EndIf\n {\n pattern: /^([ \\t]*)#.*/gm,\n lookbehind: true,\n greedy: true,\n alias: 'important'\n }\n ]\n }\n Prism.languages.oscript = Prism.languages['bsl']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ncfscript.displayName = 'cfscript'\ncfscript.aliases = ['cfc']\n\n/** @param {Refractor} Prism */\nexport default function cfscript(Prism) {\n Prism.register(refractorClike)\n // https://cfdocs.org/script\n Prism.languages.cfscript = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n inside: {\n annotation: {\n pattern: /(?:^|[^.])@[\\w\\.]+/,\n alias: 'punctuation'\n }\n }\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n keyword:\n /\\b(?:abstract|break|catch|component|continue|default|do|else|extends|final|finally|for|function|if|in|include|package|private|property|public|remote|required|rethrow|return|static|switch|throw|try|var|while|xml)\\b(?!\\s*=)/,\n operator: [\n /\\+\\+|--|&&|\\|\\||::|=>|[!=]==|[-+*/%&|^!=<>]=?|\\?(?:\\.|:)?|:/,\n /\\b(?:and|contains|eq|equal|eqv|gt|gte|imp|is|lt|lte|mod|not|or|xor)\\b/\n ],\n scope: {\n pattern:\n /\\b(?:application|arguments|cgi|client|cookie|local|session|super|this|variables)\\b/,\n alias: 'global'\n },\n type: {\n pattern:\n /\\b(?:any|array|binary|boolean|date|guid|numeric|query|string|struct|uuid|void|xml)\\b/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('cfscript', 'keyword', {\n // This must be declared before keyword because we use \"function\" inside the lookahead\n 'function-variable': {\n pattern:\n /[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*[=:]\\s*(?:\\bfunction\\b|(?:\\((?:[^()]|\\([^()]*\\))*\\)|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/,\n alias: 'function'\n }\n })\n delete Prism.languages.cfscript['class-name']\n Prism.languages.cfc = Prism.languages['cfscript']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nimport refractorCpp from './cpp.js'\nchaiscript.displayName = 'chaiscript'\nchaiscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function chaiscript(Prism) {\n Prism.register(refractorClike)\n Prism.register(refractorCpp)\n Prism.languages.chaiscript = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n {\n // e.g. class Rectangle { ... }\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n },\n {\n // e.g. attr Rectangle::height, def Rectangle::area() { ... }\n pattern: /(\\b(?:attr|def)\\s+)\\w+(?=\\s*::)/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:attr|auto|break|case|catch|class|continue|def|default|else|finally|for|fun|global|if|return|switch|this|try|var|while)\\b/,\n number: [Prism.languages.cpp.number, /\\b(?:Infinity|NaN)\\b/],\n operator:\n />>=?|<<=?|\\|\\||&&|:[:=]?|--|\\+\\+|[=!<>+\\-*/%|&^]=?|[?~]|`[^`\\r\\n]{1,4}`/\n })\n Prism.languages.insertBefore('chaiscript', 'operator', {\n 'parameter-type': {\n // e.g. def foo(int x, Vector y) {...}\n pattern: /([,(]\\s*)\\w+(?=\\s+\\w)/,\n lookbehind: true,\n alias: 'class-name'\n }\n })\n Prism.languages.insertBefore('chaiscript', 'string', {\n 'string-interpolation': {\n pattern:\n /(^|[^\\\\])\"(?:[^\"$\\\\]|\\\\[\\s\\S]|\\$(?!\\{)|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-expression': {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.chaiscript\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncil.displayName = 'cil'\ncil.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cil(Prism) {\n Prism.languages.cil = {\n comment: /\\/\\/.*/,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n directive: {\n pattern: /(^|\\W)\\.[a-z]+(?=\\s)/,\n lookbehind: true,\n alias: 'class-name'\n },\n // Actually an assembly reference\n variable: /\\[[\\w\\.]+\\]/,\n keyword:\n /\\b(?:abstract|ansi|assembly|auto|autochar|beforefieldinit|bool|bstr|byvalstr|catch|char|cil|class|currency|date|decimal|default|enum|error|explicit|extends|extern|famandassem|family|famorassem|final(?:ly)?|float32|float64|hidebysig|u?int(?:8|16|32|64)?|iant|idispatch|implements|import|initonly|instance|interface|iunknown|literal|lpstr|lpstruct|lptstr|lpwstr|managed|method|native(?:Type)?|nested|newslot|object(?:ref)?|pinvokeimpl|private|privatescope|public|reqsecobj|rtspecialname|runtime|sealed|sequential|serializable|specialname|static|string|struct|syschar|tbstr|unicode|unmanagedexp|unsigned|value(?:type)?|variant|virtual|void)\\b/,\n function:\n /\\b(?:(?:constrained|no|readonly|tail|unaligned|volatile)\\.)?(?:conv\\.(?:[iu][1248]?|ovf\\.[iu][1248]?(?:\\.un)?|r\\.un|r4|r8)|ldc\\.(?:i4(?:\\.\\d+|\\.[mM]1|\\.s)?|i8|r4|r8)|ldelem(?:\\.[iu][1248]?|\\.r[48]|\\.ref|a)?|ldind\\.(?:[iu][1248]?|r[48]|ref)|stelem\\.?(?:i[1248]?|r[48]|ref)?|stind\\.(?:i[1248]?|r[48]|ref)?|end(?:fault|filter|finally)|ldarg(?:\\.[0-3s]|a(?:\\.s)?)?|ldloc(?:\\.\\d+|\\.s)?|sub(?:\\.ovf(?:\\.un)?)?|mul(?:\\.ovf(?:\\.un)?)?|add(?:\\.ovf(?:\\.un)?)?|stloc(?:\\.[0-3s])?|refany(?:type|val)|blt(?:\\.un)?(?:\\.s)?|ble(?:\\.un)?(?:\\.s)?|bgt(?:\\.un)?(?:\\.s)?|bge(?:\\.un)?(?:\\.s)?|unbox(?:\\.any)?|init(?:blk|obj)|call(?:i|virt)?|brfalse(?:\\.s)?|bne\\.un(?:\\.s)?|ldloca(?:\\.s)?|brzero(?:\\.s)?|brtrue(?:\\.s)?|brnull(?:\\.s)?|brinst(?:\\.s)?|starg(?:\\.s)?|leave(?:\\.s)?|shr(?:\\.un)?|rem(?:\\.un)?|div(?:\\.un)?|clt(?:\\.un)?|alignment|castclass|ldvirtftn|beq(?:\\.s)?|ckfinite|ldsflda|ldtoken|localloc|mkrefany|rethrow|cgt\\.un|arglist|switch|stsfld|sizeof|newobj|newarr|ldsfld|ldnull|ldflda|isinst|throw|stobj|stfld|ldstr|ldobj|ldlen|ldftn|ldfld|cpobj|cpblk|break|br\\.s|xor|shl|ret|pop|not|nop|neg|jmp|dup|cgt|ceq|box|and|or|br)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b-?(?:0x[0-9a-f]+|\\d+)(?:\\.[0-9a-f]+)?\\b/i,\n punctuation: /[{}[\\];(),:=]|IL_[0-9A-Za-z]+/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\ncilkc.displayName = 'cilkc'\ncilkc.aliases = ['cilk-c']\n\n/** @param {Refractor} Prism */\nexport default function cilkc(Prism) {\n Prism.register(refractorC)\n Prism.languages.cilkc = Prism.languages.insertBefore('c', 'function', {\n 'parallel-keyword': {\n pattern: /\\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\\b/,\n alias: 'keyword'\n }\n })\n Prism.languages['cilk-c'] = Prism.languages['cilkc']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCpp from './cpp.js'\ncilkcpp.displayName = 'cilkcpp'\ncilkcpp.aliases = ['cilk', 'cilk-cpp']\n\n/** @param {Refractor} Prism */\nexport default function cilkcpp(Prism) {\n Prism.register(refractorCpp)\n Prism.languages.cilkcpp = Prism.languages.insertBefore('cpp', 'function', {\n 'parallel-keyword': {\n pattern: /\\bcilk_(?:for|reducer|s(?:cope|pawn|ync))\\b/,\n alias: 'keyword'\n }\n })\n Prism.languages['cilk-cpp'] = Prism.languages['cilkcpp']\n Prism.languages['cilk'] = Prism.languages['cilkcpp']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nclojure.displayName = 'clojure'\nclojure.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function clojure(Prism) {\n // Copied from https://github.com/jeluard/prism-clojure\n Prism.languages.clojure = {\n comment: {\n pattern: /;.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n char: /\\\\\\w+/,\n symbol: {\n pattern: /(^|[\\s()\\[\\]{},])::?[\\w*+!?'<>=/.-]+/,\n lookbehind: true\n },\n keyword: {\n pattern:\n /(\\()(?:-|->|->>|\\.|\\.\\.|\\*|\\/|\\+|<|<=|=|==|>|>=|accessor|agent|agent-errors|aget|alength|all-ns|alter|and|append-child|apply|array-map|aset|aset-boolean|aset-byte|aset-char|aset-double|aset-float|aset-int|aset-long|aset-short|assert|assoc|await|await-for|bean|binding|bit-and|bit-not|bit-or|bit-shift-left|bit-shift-right|bit-xor|boolean|branch\\?|butlast|byte|cast|char|children|class|clear-agent-errors|comment|commute|comp|comparator|complement|concat|cond|conj|cons|constantly|construct-proxy|contains\\?|count|create-ns|create-struct|cycle|dec|declare|def|def-|definline|definterface|defmacro|defmethod|defmulti|defn|defn-|defonce|defproject|defprotocol|defrecord|defstruct|deftype|deref|difference|disj|dissoc|distinct|do|doall|doc|dorun|doseq|dosync|dotimes|doto|double|down|drop|drop-while|edit|end\\?|ensure|eval|every\\?|false\\?|ffirst|file-seq|filter|find|find-doc|find-ns|find-var|first|float|flush|fn|fnseq|for|frest|gensym|get|get-proxy-class|hash-map|hash-set|identical\\?|identity|if|if-let|if-not|import|in-ns|inc|index|insert-child|insert-left|insert-right|inspect-table|inspect-tree|instance\\?|int|interleave|intersection|into|into-array|iterate|join|key|keys|keyword|keyword\\?|last|lazy-cat|lazy-cons|left|lefts|let|line-seq|list|list\\*|load|load-file|locking|long|loop|macroexpand|macroexpand-1|make-array|make-node|map|map-invert|map\\?|mapcat|max|max-key|memfn|merge|merge-with|meta|min|min-key|monitor-enter|name|namespace|neg\\?|new|newline|next|nil\\?|node|not|not-any\\?|not-every\\?|not=|ns|ns-imports|ns-interns|ns-map|ns-name|ns-publics|ns-refers|ns-resolve|ns-unmap|nth|nthrest|or|parse|partial|path|peek|pop|pos\\?|pr|pr-str|print|print-str|println|println-str|prn|prn-str|project|proxy|proxy-mappings|quot|quote|rand|rand-int|range|re-find|re-groups|re-matcher|re-matches|re-pattern|re-seq|read|read-line|recur|reduce|ref|ref-set|refer|rem|remove|remove-method|remove-ns|rename|rename-keys|repeat|replace|replicate|resolve|rest|resultset-seq|reverse|rfirst|right|rights|root|rrest|rseq|second|select|select-keys|send|send-off|seq|seq-zip|seq\\?|set|set!|short|slurp|some|sort|sort-by|sorted-map|sorted-map-by|sorted-set|special-symbol\\?|split-at|split-with|str|string\\?|struct|struct-map|subs|subvec|symbol|symbol\\?|sync|take|take-nth|take-while|test|throw|time|to-array|to-array-2d|tree-seq|true\\?|try|union|up|update-proxy|val|vals|var|var-get|var-set|var\\?|vector|vector-zip|vector\\?|when|when-first|when-let|when-not|with-local-vars|with-meta|with-open|with-out-str|xml-seq|xml-zip|zero\\?|zipmap|zipper)(?=[\\s)]|$)/,\n lookbehind: true\n },\n boolean: /\\b(?:false|nil|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w$@])(?:\\d+(?:[/.]\\d+)?(?:e[+-]?\\d+)?|0x[a-f0-9]+|[1-9]\\d?r[a-z0-9]+)[lmn]?(?![\\w$@])/i,\n lookbehind: true\n },\n function: {\n pattern: /((?:^|[^'])\\()[\\w*+!?'<>=/.-]+(?=[\\s)]|$)/,\n lookbehind: true\n },\n operator: /[#@^`~]/,\n punctuation: /[{}\\[\\](),]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncmake.displayName = 'cmake'\ncmake.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cmake(Prism) {\n Prism.languages.cmake = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{(?:[^{}$]|\\$\\{[^{}$]*\\})*\\}/,\n inside: {\n punctuation: /\\$\\{|\\}/,\n variable: /\\w+/\n }\n }\n }\n },\n variable:\n /\\b(?:CMAKE_\\w+|\\w+_(?:(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT|VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?)|(?:ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_NAME|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE))\\b/,\n property:\n /\\b(?:cxx_\\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\\w+|\\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\\b/,\n keyword:\n /\\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\\s*\\()\\b/,\n boolean: /\\b(?:FALSE|OFF|ON|TRUE)\\b/,\n namespace:\n /\\b(?:INTERFACE|PRIVATE|PROPERTIES|PUBLIC|SHARED|STATIC|TARGET_OBJECTS)\\b/,\n operator:\n /\\b(?:AND|DEFINED|EQUAL|GREATER|LESS|MATCHES|NOT|OR|STREQUAL|STRGREATER|STRLESS|VERSION_EQUAL|VERSION_GREATER|VERSION_LESS)\\b/,\n inserted: {\n pattern: /\\b\\w+::\\w+\\b/,\n alias: 'class-name'\n },\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()\\b/i,\n punctuation: /[()>}]|\\$[<{]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncobol.displayName = 'cobol'\ncobol.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cobol(Prism) {\n Prism.languages.cobol = {\n comment: {\n pattern: /\\*>.*|(^[ \\t]*)\\*.*/m,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /[xzgn]?(?:\"(?:[^\\r\\n\"]|\"\")*\"(?!\")|'(?:[^\\r\\n']|'')*'(?!'))/i,\n greedy: true\n },\n level: {\n pattern: /(^[ \\t]*)\\d+\\b/m,\n lookbehind: true,\n greedy: true,\n alias: 'number'\n },\n 'class-name': {\n // https://github.com/antlr/grammars-v4/blob/42edd5b687d183b5fa679e858a82297bd27141e7/cobol85/Cobol85.g4#L1015\n pattern:\n /(\\bpic(?:ture)?\\s+)(?:(?:[-\\w$/,:*+<>]|\\.(?!\\s|$))(?:\\(\\d+\\))?)+/i,\n lookbehind: true,\n inside: {\n number: {\n pattern: /(\\()\\d+/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n keyword: {\n pattern:\n /(^|[^\\w-])(?:ABORT|ACCEPT|ACCESS|ADD|ADDRESS|ADVANCING|AFTER|ALIGNED|ALL|ALPHABET|ALPHABETIC|ALPHABETIC-LOWER|ALPHABETIC-UPPER|ALPHANUMERIC|ALPHANUMERIC-EDITED|ALSO|ALTER|ALTERNATE|ANY|ARE|AREA|AREAS|AS|ASCENDING|ASCII|ASSIGN|ASSOCIATED-DATA|ASSOCIATED-DATA-LENGTH|AT|ATTRIBUTE|AUTHOR|AUTO|AUTO-SKIP|BACKGROUND-COLOR|BACKGROUND-COLOUR|BASIS|BEEP|BEFORE|BEGINNING|BELL|BINARY|BIT|BLANK|BLINK|BLOCK|BOTTOM|BOUNDS|BY|BYFUNCTION|BYTITLE|CALL|CANCEL|CAPABLE|CCSVERSION|CD|CF|CH|CHAINING|CHANGED|CHANNEL|CHARACTER|CHARACTERS|CLASS|CLASS-ID|CLOCK-UNITS|CLOSE|CLOSE-DISPOSITION|COBOL|CODE|CODE-SET|COL|COLLATING|COLUMN|COM-REG|COMMA|COMMITMENT|COMMON|COMMUNICATION|COMP|COMP-1|COMP-2|COMP-3|COMP-4|COMP-5|COMPUTATIONAL|COMPUTATIONAL-1|COMPUTATIONAL-2|COMPUTATIONAL-3|COMPUTATIONAL-4|COMPUTATIONAL-5|COMPUTE|CONFIGURATION|CONTAINS|CONTENT|CONTINUE|CONTROL|CONTROL-POINT|CONTROLS|CONVENTION|CONVERTING|COPY|CORR|CORRESPONDING|COUNT|CRUNCH|CURRENCY|CURSOR|DATA|DATA-BASE|DATE|DATE-COMPILED|DATE-WRITTEN|DAY|DAY-OF-WEEK|DBCS|DE|DEBUG-CONTENTS|DEBUG-ITEM|DEBUG-LINE|DEBUG-NAME|DEBUG-SUB-1|DEBUG-SUB-2|DEBUG-SUB-3|DEBUGGING|DECIMAL-POINT|DECLARATIVES|DEFAULT|DEFAULT-DISPLAY|DEFINITION|DELETE|DELIMITED|DELIMITER|DEPENDING|DESCENDING|DESTINATION|DETAIL|DFHRESP|DFHVALUE|DISABLE|DISK|DISPLAY|DISPLAY-1|DIVIDE|DIVISION|DONTCARE|DOUBLE|DOWN|DUPLICATES|DYNAMIC|EBCDIC|EGCS|EGI|ELSE|EMI|EMPTY-CHECK|ENABLE|END|END-ACCEPT|END-ADD|END-CALL|END-COMPUTE|END-DELETE|END-DIVIDE|END-EVALUATE|END-IF|END-MULTIPLY|END-OF-PAGE|END-PERFORM|END-READ|END-RECEIVE|END-RETURN|END-REWRITE|END-SEARCH|END-START|END-STRING|END-SUBTRACT|END-UNSTRING|END-WRITE|ENDING|ENTER|ENTRY|ENTRY-PROCEDURE|ENVIRONMENT|EOL|EOP|EOS|ERASE|ERROR|ESCAPE|ESI|EVALUATE|EVENT|EVERY|EXCEPTION|EXCLUSIVE|EXHIBIT|EXIT|EXPORT|EXTEND|EXTENDED|EXTERNAL|FD|FILE|FILE-CONTROL|FILLER|FINAL|FIRST|FOOTING|FOR|FOREGROUND-COLOR|FOREGROUND-COLOUR|FROM|FULL|FUNCTION|FUNCTION-POINTER|FUNCTIONNAME|GENERATE|GIVING|GLOBAL|GO|GOBACK|GRID|GROUP|HEADING|HIGH-VALUE|HIGH-VALUES|HIGHLIGHT|I-O|I-O-CONTROL|ID|IDENTIFICATION|IF|IMPLICIT|IMPORT|IN|INDEX|INDEXED|INDICATE|INITIAL|INITIALIZE|INITIATE|INPUT|INPUT-OUTPUT|INSPECT|INSTALLATION|INTEGER|INTO|INVALID|INVOKE|IS|JUST|JUSTIFIED|KANJI|KEPT|KEY|KEYBOARD|LABEL|LANGUAGE|LAST|LB|LD|LEADING|LEFT|LEFTLINE|LENGTH|LENGTH-CHECK|LIBACCESS|LIBPARAMETER|LIBRARY|LIMIT|LIMITS|LINAGE|LINAGE-COUNTER|LINE|LINE-COUNTER|LINES|LINKAGE|LIST|LOCAL|LOCAL-STORAGE|LOCK|LONG-DATE|LONG-TIME|LOW-VALUE|LOW-VALUES|LOWER|LOWLIGHT|MEMORY|MERGE|MESSAGE|MMDDYYYY|MODE|MODULES|MORE-LABELS|MOVE|MULTIPLE|MULTIPLY|NAMED|NATIONAL|NATIONAL-EDITED|NATIVE|NEGATIVE|NETWORK|NEXT|NO|NO-ECHO|NULL|NULLS|NUMBER|NUMERIC|NUMERIC-DATE|NUMERIC-EDITED|NUMERIC-TIME|OBJECT-COMPUTER|OCCURS|ODT|OF|OFF|OMITTED|ON|OPEN|OPTIONAL|ORDER|ORDERLY|ORGANIZATION|OTHER|OUTPUT|OVERFLOW|OVERLINE|OWN|PACKED-DECIMAL|PADDING|PAGE|PAGE-COUNTER|PASSWORD|PERFORM|PF|PH|PIC|PICTURE|PLUS|POINTER|PORT|POSITION|POSITIVE|PRINTER|PRINTING|PRIVATE|PROCEDURE|PROCEDURE-POINTER|PROCEDURES|PROCEED|PROCESS|PROGRAM|PROGRAM-ID|PROGRAM-LIBRARY|PROMPT|PURGE|QUEUE|QUOTE|QUOTES|RANDOM|RD|READ|READER|REAL|RECEIVE|RECEIVED|RECORD|RECORDING|RECORDS|RECURSIVE|REDEFINES|REEL|REF|REFERENCE|REFERENCES|RELATIVE|RELEASE|REMAINDER|REMARKS|REMOTE|REMOVAL|REMOVE|RENAMES|REPLACE|REPLACING|REPORT|REPORTING|REPORTS|REQUIRED|RERUN|RESERVE|RESET|RETURN|RETURN-CODE|RETURNING|REVERSE-VIDEO|REVERSED|REWIND|REWRITE|RF|RH|RIGHT|ROUNDED|RUN|SAME|SAVE|SCREEN|SD|SEARCH|SECTION|SECURE|SECURITY|SEGMENT|SEGMENT-LIMIT|SELECT|SEND|SENTENCE|SEPARATE|SEQUENCE|SEQUENTIAL|SET|SHARED|SHAREDBYALL|SHAREDBYRUNUNIT|SHARING|SHIFT-IN|SHIFT-OUT|SHORT-DATE|SIGN|SIZE|SORT|SORT-CONTROL|SORT-CORE-SIZE|SORT-FILE-SIZE|SORT-MERGE|SORT-MESSAGE|SORT-MODE-SIZE|SORT-RETURN|SOURCE|SOURCE-COMPUTER|SPACE|SPACES|SPECIAL-NAMES|STANDARD|STANDARD-1|STANDARD-2|START|STATUS|STOP|STRING|SUB-QUEUE-1|SUB-QUEUE-2|SUB-QUEUE-3|SUBTRACT|SUM|SUPPRESS|SYMBOL|SYMBOLIC|SYNC|SYNCHRONIZED|TABLE|TALLY|TALLYING|TAPE|TASK|TERMINAL|TERMINATE|TEST|TEXT|THEN|THREAD|THREAD-LOCAL|THROUGH|THRU|TIME|TIMER|TIMES|TITLE|TO|TODAYS-DATE|TODAYS-NAME|TOP|TRAILING|TRUNCATED|TYPE|TYPEDEF|UNDERLINE|UNIT|UNSTRING|UNTIL|UP|UPON|USAGE|USE|USING|VALUE|VALUES|VARYING|VIRTUAL|WAIT|WHEN|WHEN-COMPILED|WITH|WORDS|WORKING-STORAGE|WRITE|YEAR|YYYYDDD|YYYYMMDD|ZERO-FILL|ZEROES|ZEROS)(?![\\w-])/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^\\w-])(?:false|true)(?![\\w-])/i,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^\\w-])(?:[+-]?(?:(?:\\d+(?:[.,]\\d+)?|[.,]\\d+)(?:e[+-]?\\d+)?|zero))(?![\\w-])/i,\n lookbehind: true\n },\n operator: [\n /<>|[<>]=?|[=+*/&]/,\n {\n pattern: /(^|[^\\w-])(?:-|and|equal|greater|less|not|or|than)(?![\\w-])/i,\n lookbehind: true\n }\n ],\n punctuation: /[.:,()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\ncoffeescript.displayName = 'coffeescript'\ncoffeescript.aliases = ['coffee']\n\n/** @param {Refractor} Prism */\nexport default function coffeescript(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n // Ignore comments starting with { to privilege string interpolation highlighting\n var comment = /#(?!\\{).+/\n var interpolation = {\n pattern: /#\\{[^}]+\\}/,\n alias: 'variable'\n }\n Prism.languages.coffeescript = Prism.languages.extend('javascript', {\n comment: comment,\n string: [\n // Strings are multiline\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n greedy: true\n },\n {\n // Strings are multiline\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n interpolation: interpolation\n }\n }\n ],\n keyword:\n /\\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\\b/,\n 'class-member': {\n pattern: /@(?!\\d)\\w+/,\n alias: 'variable'\n }\n })\n Prism.languages.insertBefore('coffeescript', 'comment', {\n 'multiline-comment': {\n pattern: /###[\\s\\S]+?###/,\n alias: 'comment'\n },\n // Block regexp can contain comments and interpolation\n 'block-regex': {\n pattern: /\\/{3}[\\s\\S]*?\\/{3}/,\n alias: 'regex',\n inside: {\n comment: comment,\n interpolation: interpolation\n }\n }\n })\n Prism.languages.insertBefore('coffeescript', 'string', {\n 'inline-javascript': {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n },\n script: {\n pattern: /[\\s\\S]+/,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n }\n }\n },\n // Block strings\n 'multiline-string': [\n {\n pattern: /'''[\\s\\S]*?'''/,\n greedy: true,\n alias: 'string'\n },\n {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string',\n inside: {\n interpolation: interpolation\n }\n }\n ]\n })\n Prism.languages.insertBefore('coffeescript', 'keyword', {\n // Object property\n property: /(?!\\d)\\w+(?=\\s*:(?!:))/\n })\n delete Prism.languages.coffeescript['template-string']\n Prism.languages.coffee = Prism.languages.coffeescript\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nconcurnas.displayName = 'concurnas'\nconcurnas.aliases = ['conc']\n\n/** @param {Refractor} Prism */\nexport default function concurnas(Prism) {\n Prism.languages.concurnas = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n langext: {\n pattern: /\\b\\w+\\s*\\|\\|[\\s\\S]+?\\|\\|/,\n greedy: true,\n inside: {\n 'class-name': /^\\w+/,\n string: {\n pattern: /(^\\s*\\|\\|)[\\s\\S]+(?=\\|\\|$)/,\n lookbehind: true\n },\n punctuation: /\\|\\|/\n }\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|also|annotation|assert|async|await|bool|boolean|break|byte|case|catch|changed|char|class|closed|constant|continue|def|default|del|double|elif|else|enum|every|extends|false|finally|float|for|from|global|gpudef|gpukernel|if|import|in|init|inject|int|lambda|local|long|loop|match|new|nodefault|null|of|onchange|open|out|override|package|parfor|parforsync|post|pre|private|protected|provide|provider|public|return|shared|short|single|size_t|sizeof|super|sync|this|throw|trait|trans|transient|true|try|typedef|unchecked|using|val|var|void|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:[\\da-f_]*\\.)?[\\da-f_p+-]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfls]?/i,\n punctuation: /[{}[\\];(),.:]/,\n operator:\n /<==|>==|=>|->|<-|<>|&==|&<>|\\?:?|\\.\\?|\\+\\+|--|[-+*/=<>]=?|[!^~]|\\b(?:and|as|band|bor|bxor|comp|is|isnot|mod|or)\\b=?/,\n annotation: {\n pattern: /@(?:\\w+:)?(?:\\w+|\\[[^\\]]+\\])?/,\n alias: 'builtin'\n }\n }\n Prism.languages.insertBefore('concurnas', 'langext', {\n 'regex-literal': {\n pattern: /\\br(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n regex: /[\\s\\S]+/\n }\n },\n 'string-literal': {\n pattern: /(?:\\B|\\bs)(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: Prism.languages.concurnas\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.conc = Prism.languages.concurnas\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncsp.displayName = 'csp'\ncsp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function csp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/csp-cheat-sheet/\n *\n * Supports the following:\n * - https://www.w3.org/TR/CSP1/\n * - https://www.w3.org/TR/CSP2/\n * - https://www.w3.org/TR/CSP3/\n */\n\n ;(function (Prism) {\n /**\n * @param {string} source\n * @returns {RegExp}\n */\n function value(source) {\n return RegExp(\n /([ \\t])/.source + '(?:' + source + ')' + /(?=[\\s;]|$)/.source,\n 'i'\n )\n }\n Prism.languages.csp = {\n directive: {\n pattern:\n /(^|[\\s;])(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|prefetch|script|style|worker)-src|disown-opener|form-action|frame-(?:ancestors|options)|input-protection(?:-(?:clip|selectors))?|navigate-to|plugin-types|policy-uri|referrer|reflected-xss|report-(?:to|uri)|require-sri-for|sandbox|(?:script|style)-src-(?:attr|elem)|upgrade-insecure-requests)(?=[\\s;]|$)/i,\n lookbehind: true,\n alias: 'property'\n },\n scheme: {\n pattern: value(/[a-z][a-z0-9.+-]*:/.source),\n lookbehind: true\n },\n none: {\n pattern: value(/'none'/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n nonce: {\n pattern: value(/'nonce-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n hash: {\n pattern: value(/'sha(?:256|384|512)-[-+/\\w=]+'/.source),\n lookbehind: true,\n alias: 'number'\n },\n host: {\n pattern: value(\n /[a-z][a-z0-9.+-]*:\\/\\/[^\\s;,']*/.source +\n '|' +\n /\\*[^\\s;,']*/.source +\n '|' +\n /[a-z0-9-]+(?:\\.[a-z0-9-]+)+(?::[\\d*]+)?(?:\\/[^\\s;,']*)?/.source\n ),\n lookbehind: true,\n alias: 'url',\n inside: {\n important: /\\*/\n }\n },\n keyword: [\n {\n pattern: value(/'unsafe-[a-z-]+'/.source),\n lookbehind: true,\n alias: 'unsafe'\n },\n {\n pattern: value(/'[a-z-]+'/.source),\n lookbehind: true,\n alias: 'safe'\n }\n ],\n punctuation: /;/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncooklang.displayName = 'cooklang'\ncooklang.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cooklang(Prism) {\n ;(function (Prism) {\n // see https://github.com/cooklang/spec/blob/main/EBNF.md\n\n var single_token_suffix = /(?:(?!\\s)[\\d$+<=a-zA-Z\\x80-\\uFFFF])+/.source\n var multi_token_infix = /[^{}@#]+/.source\n var multi_token_suffix = /\\{[^}#@]*\\}/.source\n var multi_token = multi_token_infix + multi_token_suffix\n var timer_units = /(?:h|hours|hrs|m|min|minutes)/.source\n var amount_group_impl = {\n pattern: /\\{[^{}]*\\}/,\n inside: {\n amount: {\n pattern: /([\\{|])[^{}|*%]+/,\n lookbehind: true,\n alias: 'number'\n },\n unit: {\n pattern: /(%)[^}]+/,\n lookbehind: true,\n alias: 'symbol'\n },\n 'servings-scaler': {\n pattern: /\\*/,\n alias: 'operator'\n },\n 'servings-alternative-separator': {\n pattern: /\\|/,\n alias: 'operator'\n },\n 'unit-separator': {\n pattern: /(?:%|(\\*)%)/,\n lookbehind: true,\n alias: 'operator'\n },\n punctuation: /[{}]/\n }\n }\n Prism.languages.cooklang = {\n comment: {\n // [- comment -]\n // -- comment\n pattern: /\\[-[\\s\\S]*?-\\]|--.*/,\n greedy: true\n },\n meta: {\n // >> key: value\n pattern: />>.*:.*/,\n inside: {\n property: {\n // key:\n pattern: /(>>\\s*)[^\\s:](?:[^:]*[^\\s:])?/,\n lookbehind: true\n }\n }\n },\n 'cookware-group': {\n // #...{...}, #...\n pattern: new RegExp(\n '#(?:' + multi_token + '|' + single_token_suffix + ')'\n ),\n inside: {\n cookware: {\n pattern: new RegExp('(^#)(?:' + multi_token_infix + ')'),\n lookbehind: true,\n alias: 'variable'\n },\n 'cookware-keyword': {\n pattern: /^#/,\n alias: 'keyword'\n },\n 'quantity-group': {\n pattern: new RegExp(/\\{[^{}@#]*\\}/),\n inside: {\n quantity: {\n pattern: new RegExp(/(^\\{)/.source + multi_token_infix),\n lookbehind: true,\n alias: 'number'\n },\n punctuation: /[{}]/\n }\n }\n }\n },\n 'ingredient-group': {\n // @...{...}, @...\n pattern: new RegExp(\n '@(?:' + multi_token + '|' + single_token_suffix + ')'\n ),\n inside: {\n ingredient: {\n pattern: new RegExp('(^@)(?:' + multi_token_infix + ')'),\n lookbehind: true,\n alias: 'variable'\n },\n 'ingredient-keyword': {\n pattern: /^@/,\n alias: 'keyword'\n },\n 'amount-group': amount_group_impl\n }\n },\n 'timer-group': {\n // ~timer{...}\n // eslint-disable-next-line regexp/sort-alternatives\n pattern: /~(?!\\s)[^@#~{}]*\\{[^{}]*\\}/,\n inside: {\n timer: {\n pattern: /(^~)[^{]+/,\n lookbehind: true,\n alias: 'variable'\n },\n 'duration-group': {\n // {...}\n pattern: /\\{[^{}]*\\}/,\n inside: {\n punctuation: /[{}]/,\n unit: {\n pattern: new RegExp(\n /(%\\s*)/.source + timer_units + /\\b/.source\n ),\n lookbehind: true,\n alias: 'symbol'\n },\n operator: /%/,\n duration: {\n pattern: /\\d+/,\n alias: 'number'\n }\n }\n },\n 'timer-keyword': {\n pattern: /^~/,\n alias: 'keyword'\n }\n }\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncoq.displayName = 'coq'\ncoq.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function coq(Prism) {\n ;(function (Prism) {\n // https://github.com/coq/coq\n\n var commentSource = /\\(\\*(?:[^(*]|\\((?!\\*)|\\*(?!\\))|<self>)*\\*\\)/.source\n for (var i = 0; i < 2; i++) {\n commentSource = commentSource.replace(/<self>/g, function () {\n return commentSource\n })\n }\n commentSource = commentSource.replace(/<self>/g, '[]')\n Prism.languages.coq = {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n attribute: [\n {\n pattern: RegExp(\n /#\\[(?:[^\\[\\](\"]|\"(?:[^\"]|\"\")*\"(?!\")|\\((?!\\*)|<comment>)*\\]/.source.replace(\n /<comment>/g,\n function () {\n return commentSource\n }\n )\n ),\n greedy: true,\n alias: 'attr-name',\n inside: {\n comment: RegExp(commentSource),\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n operator: /=/,\n punctuation: /^#\\[|\\]$|[,()]/\n }\n },\n {\n pattern:\n /\\b(?:Cumulative|Global|Local|Monomorphic|NonCumulative|Polymorphic|Private|Program)\\b/,\n alias: 'attr-name'\n }\n ],\n keyword:\n /\\b(?:Abort|About|Add|Admit|Admitted|All|Arguments|As|Assumptions|Axiom|Axioms|Back|BackTo|Backtrace|BinOp|BinOpSpec|BinRel|Bind|Blacklist|Canonical|Case|Cd|Check|Class|Classes|Close|CoFixpoint|CoInductive|Coercion|Coercions|Collection|Combined|Compute|Conjecture|Conjectures|Constant|Constants|Constraint|Constructors|Context|Corollary|Create|CstOp|Custom|Cut|Debug|Declare|Defined|Definition|Delimit|Dependencies|Dependent|Derive|Diffs|Drop|Elimination|End|Entry|Equality|Eval|Example|Existential|Existentials|Existing|Export|Extern|Extraction|Fact|Fail|Field|File|Firstorder|Fixpoint|Flags|Focus|From|Funclass|Function|Functional|GC|Generalizable|Goal|Grab|Grammar|Graph|Guarded|Haskell|Heap|Hide|Hint|HintDb|Hints|Hypotheses|Hypothesis|IF|Identity|Immediate|Implicit|Implicits|Import|Include|Induction|Inductive|Infix|Info|Initial|InjTyp|Inline|Inspect|Instance|Instances|Intro|Intros|Inversion|Inversion_clear|JSON|Language|Left|Lemma|Let|Lia|Libraries|Library|Load|LoadPath|Locate|Ltac|Ltac2|ML|Match|Method|Minimality|Module|Modules|Morphism|Next|NoInline|Notation|Number|OCaml|Obligation|Obligations|Opaque|Open|Optimize|Parameter|Parameters|Parametric|Path|Paths|Prenex|Preterm|Primitive|Print|Profile|Projections|Proof|Prop|PropBinOp|PropOp|PropUOp|Property|Proposition|Pwd|Qed|Quit|Rec|Record|Recursive|Redirect|Reduction|Register|Relation|Remark|Remove|Require|Reserved|Reset|Resolve|Restart|Rewrite|Right|Ring|Rings|SProp|Saturate|Save|Scheme|Scope|Scopes|Search|SearchHead|SearchPattern|SearchRewrite|Section|Separate|Set|Setoid|Show|Signatures|Solve|Solver|Sort|Sortclass|Sorted|Spec|Step|Strategies|Strategy|String|Structure|SubClass|Subgraph|SuchThat|Tactic|Term|TestCompile|Theorem|Time|Timeout|To|Transparent|Type|Typeclasses|Types|Typing|UnOp|UnOpSpec|Undelimit|Undo|Unfocus|Unfocused|Unfold|Universe|Universes|Unshelve|Variable|Variables|Variant|Verbose|View|Visibility|Zify|_|apply|as|at|by|cofix|else|end|exists|exists2|fix|for|forall|fun|if|in|let|match|measure|move|removed|return|struct|then|using|wf|where|with)\\b/,\n number:\n /\\b(?:0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]+)?(?:p[+-]?\\d[\\d_]*)?|\\d[\\d_]*(?:\\.[\\d_]+)?(?:e[+-]?\\d[\\d_]*)?)\\b/i,\n punct: {\n pattern: /@\\{|\\{\\||\\[=|:>/,\n alias: 'punctuation'\n },\n operator:\n /\\/\\\\|\\\\\\/|\\.{2,3}|:{1,2}=|\\*\\*|[-=]>|<(?:->?|[+:=>]|<:)|>(?:=|->)|\\|[-|]?|[-!%&*+/<=>?@^~']/,\n punctuation: /\\.\\(|`\\(|@\\{|`\\{|\\{\\||\\[=|:>|[:.,;(){}\\[\\]]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nruby.displayName = 'ruby'\nruby.aliases = ['rb']\n\n/** @param {Refractor} Prism */\nexport default function ruby(Prism) {\n Prism.register(refractorClike)\n /**\n * Original by Samuel Flores\n *\n * Adds the following new token classes:\n * constant, builtin, variable, symbol, regex\n */\n ;(function (Prism) {\n Prism.languages.ruby = Prism.languages.extend('clike', {\n comment: {\n pattern: /#.*|^=begin\\s[\\s\\S]*?^=end/m,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|module)\\s+|\\bcatch\\s+\\()[\\w.\\\\]+|\\b[A-Z_]\\w*(?=\\s*\\.\\s*new\\b)/,\n lookbehind: true,\n inside: {\n punctuation: /[.\\\\]/\n }\n },\n keyword:\n /\\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\\b/,\n operator:\n /\\.{2,3}|&\\.|===|<?=>|[!=]?~|(?:&&|\\|\\||<<|>>|\\*\\*|[+\\-*/%<>!^&|=])=?|[?:]/,\n punctuation: /[(){}[\\].,;]/\n })\n Prism.languages.insertBefore('ruby', 'operator', {\n 'double-colon': {\n pattern: /::/,\n alias: 'punctuation'\n }\n })\n var interpolation = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)#\\{(?:[^{}]|\\{[^{}]*\\})*\\}/,\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(#\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n }\n }\n }\n delete Prism.languages.ruby.function\n var percentExpression =\n '(?:' +\n [\n /([^a-zA-Z0-9\\s{(\\[<=])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n /\\((?:[^()\\\\]|\\\\[\\s\\S]|\\((?:[^()\\\\]|\\\\[\\s\\S])*\\))*\\)/.source,\n /\\{(?:[^{}\\\\]|\\\\[\\s\\S]|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\})*\\}/.source,\n /\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S]|\\[(?:[^\\[\\]\\\\]|\\\\[\\s\\S])*\\])*\\]/.source,\n /<(?:[^<>\\\\]|\\\\[\\s\\S]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)*>/.source\n ].join('|') +\n ')'\n var symbolName =\n /(?:\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|(?:\\b[a-zA-Z_]\\w*|[^\\s\\0-\\x7F]+)[?!]?|\\$.)/\n .source\n Prism.languages.insertBefore('ruby', 'keyword', {\n 'regex-literal': [\n {\n pattern: RegExp(\n /%r/.source + percentExpression + /[egimnosux]{0,6}/.source\n ),\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\r\\n\\]]+\\]|\\\\.|[^[/\\\\\\r\\n])+\\/[egimnosux]{0,6}(?=\\s*(?:$|[\\r\\n,.;})#]))/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: interpolation,\n regex: /[\\s\\S]+/\n }\n }\n ],\n variable: /[@$]+[a-zA-Z_]\\w*(?:[?!]|\\b)/,\n symbol: [\n {\n pattern: RegExp(/(^|[^:]):/.source + symbolName),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: RegExp(\n /([\\r\\n{(,][ \\t]*)/.source + symbolName + /(?=:(?!:))/.source\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n 'method-definition': {\n pattern: /(\\bdef\\s+)\\w+(?:\\s*\\.\\s*\\w+)?/,\n lookbehind: true,\n inside: {\n function: /\\b\\w+$/,\n keyword: /^self\\b/,\n 'class-name': /^\\w+/,\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('ruby', 'string', {\n 'string-literal': [\n {\n pattern: RegExp(/%[qQiIwWs]?/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern:\n /(\"|')(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\#\\r\\n])*\\1/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?[a-z_]\\w*|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?/\n }\n },\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /<<[-~]?'([a-z_]\\w*)'[\\r\\n](?:.*[\\r\\n])*?[\\t ]*\\1/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<[-~]?'[a-z_]\\w*'|\\b[a-z_]\\w*$/i,\n inside: {\n symbol: /\\b\\w+/,\n punctuation: /^<<[-~]?'|'$/\n }\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n 'command-literal': [\n {\n pattern: RegExp(/%x/.source + percentExpression),\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n },\n {\n pattern: /`(?:#\\{[^}]+\\}|#(?!\\{)|\\\\(?:\\r\\n|[\\s\\S])|[^\\\\`#\\r\\n])*`/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n command: {\n pattern: /[\\s\\S]+/,\n alias: 'string'\n }\n }\n }\n ]\n })\n delete Prism.languages.ruby.string\n Prism.languages.insertBefore('ruby', 'number', {\n builtin:\n /\\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\\b/,\n constant: /\\b[A-Z][A-Z0-9_]*(?:[?!]|\\b)/\n })\n Prism.languages.rb = Prism.languages.ruby\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorRuby from './ruby.js'\ncrystal.displayName = 'crystal'\ncrystal.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function crystal(Prism) {\n Prism.register(refractorRuby)\n ;(function (Prism) {\n Prism.languages.crystal = Prism.languages.extend('ruby', {\n keyword: [\n /\\b(?:__DIR__|__END_LINE__|__FILE__|__LINE__|abstract|alias|annotation|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|ifdef|include|instance_sizeof|lib|macro|module|next|of|out|pointerof|private|protected|ptr|require|rescue|return|select|self|sizeof|struct|super|then|type|typeof|undef|uninitialized|union|unless|until|when|while|with|yield)\\b/,\n {\n pattern: /(\\.\\s*)(?:is_a|responds_to)\\?/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0b[01_]*[01]|0o[0-7_]*[0-7]|0x[\\da-fA-F_]*[\\da-fA-F]|(?:\\d(?:[\\d_]*\\d)?)(?:\\.[\\d_]*\\d)?(?:[eE][+-]?[\\d_]*\\d)?)(?:_(?:[uif](?:8|16|32|64))?)?\\b/,\n operator: [/->/, Prism.languages.ruby.operator],\n punctuation: /[(){}[\\].,;\\\\]/\n })\n Prism.languages.insertBefore('crystal', 'string-literal', {\n attribute: {\n pattern: /@\\[.*?\\]/,\n inside: {\n delimiter: {\n pattern: /^@\\[|\\]$/,\n alias: 'punctuation'\n },\n attribute: {\n pattern: /^(\\s*)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n args: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.crystal\n }\n }\n },\n expansion: {\n pattern: /\\{(?:\\{.*?\\}|%.*?%)\\}/,\n inside: {\n content: {\n pattern: /^(\\{.)[\\s\\S]+(?=.\\}$)/,\n lookbehind: true,\n inside: Prism.languages.crystal\n },\n delimiter: {\n pattern: /^\\{[\\{%]|[\\}%]\\}$/,\n alias: 'operator'\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\\\r\\n]{1,2}|\\\\(?:.|u(?:[A-Fa-f0-9]{1,4}|\\{[A-Fa-f0-9]{1,6}\\})))'/,\n greedy: true\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCss from './css.js'\ncssExtras.displayName = 'css-extras'\ncssExtras.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cssExtras(Prism) {\n Prism.register(refractorCss)\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var selectorInside\n Prism.languages.css.selector = {\n pattern: Prism.languages.css.selector.pattern,\n lookbehind: true,\n inside: (selectorInside = {\n 'pseudo-element':\n /:(?:after|before|first-letter|first-line|selection)|::[-\\w]+/,\n 'pseudo-class': /:[-\\w]+/,\n class: /\\.[-\\w]+/,\n id: /#[-\\w]+/,\n attribute: {\n pattern: RegExp('\\\\[(?:[^[\\\\]\"\\']|' + string.source + ')*\\\\]'),\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'case-sensitivity': {\n pattern: /(\\s)[si]$/i,\n lookbehind: true,\n alias: 'keyword'\n },\n namespace: {\n pattern: /^(\\s*)(?:(?!\\s)[-*\\w\\xA0-\\uFFFF])*\\|(?!=)/,\n lookbehind: true,\n inside: {\n punctuation: /\\|$/\n }\n },\n 'attr-name': {\n pattern: /^(\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+/,\n lookbehind: true\n },\n 'attr-value': [\n string,\n {\n pattern: /(=\\s*)(?:(?!\\s)[-\\w\\xA0-\\uFFFF])+(?=\\s*$)/,\n lookbehind: true\n }\n ],\n operator: /[|~*^$]?=/\n }\n },\n 'n-th': [\n {\n pattern: /(\\(\\s*)[+-]?\\d*[\\dn](?:\\s*[+-]\\s*\\d+)?(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n number: /[\\dn]+/,\n operator: /[+-]/\n }\n },\n {\n pattern: /(\\(\\s*)(?:even|odd)(?=\\s*\\))/i,\n lookbehind: true\n }\n ],\n combinator: />|\\+|~|\\|\\|/,\n // the `tag` token has been existed and removed.\n // because we can't find a perfect tokenize to match it.\n // if you want to add it, please read https://github.com/PrismJS/prism/pull/2373 first.\n\n punctuation: /[(),]/\n })\n }\n Prism.languages.css['atrule'].inside['selector-function-argument'].inside =\n selectorInside\n Prism.languages.insertBefore('css', 'property', {\n variable: {\n pattern:\n /(^|[^-\\w\\xA0-\\uFFFF])--(?!\\s)[-_a-z\\xA0-\\uFFFF](?:(?!\\s)[-\\w\\xA0-\\uFFFF])*/i,\n lookbehind: true\n }\n })\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+(?![\\w-]))/,\n lookbehind: true\n }\n // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n Prism.languages.insertBefore('css', 'function', {\n operator: {\n pattern: /(\\s)[+\\-*\\/](?=\\s)/,\n lookbehind: true\n },\n // CAREFUL!\n // Previewers and Inline color use hexcode and color.\n hexcode: {\n pattern: /\\B#[\\da-f]{3,8}\\b/i,\n alias: 'color'\n },\n color: [\n {\n pattern:\n /(^|[^\\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|RebeccaPurple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\\w-])/i,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n // it's important that there is no boundary assertion after the hex digits\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n number: number\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncsv.displayName = 'csv'\ncsv.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function csv(Prism) {\n // https://tools.ietf.org/html/rfc4180\n\n Prism.languages.csv = {\n value: /[^\\r\\n,\"]+|\"(?:[^\"]|\"\")*\"(?!\")/,\n punctuation: /,/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncue.displayName = 'cue'\ncue.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cue(Prism) {\n ;(function (Prism) {\n // https://cuelang.org/docs/references/spec/\n\n // eslint-disable-next-line regexp/strict\n var stringEscape = /\\\\(?:(?!\\2)|\\2(?:[^()\\r\\n]|\\([^()]*\\)))/.source\n // eslint-disable-next-line regexp/strict\n var stringTypes =\n /\"\"\"(?:[^\\\\\"]|\"(?!\"\"\\2)|<esc>)*\"\"\"/.source +\n // eslint-disable-next-line regexp/strict\n '|' +\n /'''(?:[^\\\\']|'(?!''\\2)|<esc>)*'''/.source +\n // eslint-disable-next-line regexp/strict\n '|' +\n /\"(?:[^\\\\\\r\\n\"]|\"(?!\\2)|<esc>)*\"/.source +\n // eslint-disable-next-line regexp/strict\n '|' +\n /'(?:[^\\\\\\r\\n']|'(?!\\2)|<esc>)*'/.source\n var stringLiteral =\n '(?:' + stringTypes.replace(/<esc>/g, stringEscape) + ')'\n Prism.languages.cue = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n 'string-literal': {\n // eslint-disable-next-line regexp/strict\n pattern: RegExp(\n /(^|[^#\"'\\\\])(#*)/.source + stringLiteral + /(?![\"'])\\2/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n // I'm using dirty hack here. We have to know the number hashes at the start of the string somehow,\n // but we can't look back. So instead, we will use a lookahead, go to the end of the string, and\n // capture the hashes at the end of the string.\n escape: {\n pattern:\n /(?=[\\s\\S]*[\"'](#*)$)\\\\\\1(?:U[a-fA-F0-9]{1,8}|u[a-fA-F0-9]{1,4}|x[a-fA-F0-9]{1,2}|\\d{2,3}|[^(])/,\n greedy: true,\n alias: 'string'\n },\n interpolation: {\n pattern: /(?=[\\s\\S]*[\"'](#*)$)\\\\\\1\\([^()]*\\)/,\n greedy: true,\n inside: {\n punctuation: /^\\\\#*\\(|\\)$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n keyword: {\n pattern: /(^|[^\\w$])(?:for|if|import|in|let|null|package)(?![\\w$])/,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^\\w$])(?:false|true)(?![\\w$])/,\n lookbehind: true\n },\n builtin: {\n pattern:\n /(^|[^\\w$])(?:bool|bytes|float|float(?:32|64)|u?int(?:8|16|32|64|128)?|number|rune|string)(?![\\w$])/,\n lookbehind: true\n },\n attribute: {\n pattern: /@[\\w$]+(?=\\s*\\()/,\n alias: 'function'\n },\n function: {\n pattern: /(^|[^\\w$])[a-z_$][\\w$]*(?=\\s*\\()/i,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^\\w$.])(?:0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|0[xX][0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[eE][+-]?\\d+(?:_\\d+)*)?(?:[KMGTP]i?)?)(?![\\w$])/,\n lookbehind: true\n },\n operator: /\\.{3}|_\\|_|&&?|\\|\\|?|[=!]~|[<>=!]=?|[+\\-*/?]/,\n punctuation: /[()[\\]{},.:]/\n }\n Prism.languages.cue[\n 'string-literal'\n ].inside.interpolation.inside.expression.inside = Prism.languages.cue\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ncypher.displayName = 'cypher'\ncypher.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function cypher(Prism) {\n Prism.languages.cypher = {\n // https://neo4j.com/docs/cypher-manual/current/syntax/comments/\n comment: /\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n 'class-name': {\n pattern: /(:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)(?=\\s*[{):])/,\n lookbehind: true,\n greedy: true\n },\n relationship: {\n pattern:\n /(-\\[\\s*(?:\\w+\\s*|`(?:[^`\\\\\\r\\n])*`\\s*)?:\\s*|\\|\\s*:\\s*)(?:\\w+|`(?:[^`\\\\\\r\\n])*`)/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n identifier: {\n pattern: /`(?:[^`\\\\\\r\\n])*`/,\n greedy: true\n },\n variable: /\\$\\w+/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/reserved/\n keyword:\n /\\b(?:ADD|ALL|AND|AS|ASC|ASCENDING|ASSERT|BY|CALL|CASE|COMMIT|CONSTRAINT|CONTAINS|CREATE|CSV|DELETE|DESC|DESCENDING|DETACH|DISTINCT|DO|DROP|ELSE|END|ENDS|EXISTS|FOR|FOREACH|IN|INDEX|IS|JOIN|KEY|LIMIT|LOAD|MANDATORY|MATCH|MERGE|NODE|NOT|OF|ON|OPTIONAL|OR|ORDER(?=\\s+BY)|PERIODIC|REMOVE|REQUIRE|RETURN|SCALAR|SCAN|SET|SKIP|START|STARTS|THEN|UNION|UNIQUE|UNWIND|USING|WHEN|WHERE|WITH|XOR|YIELD)\\b/i,\n function: /\\b\\w+\\b(?=\\s*\\()/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number: /\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)\\b/,\n // https://neo4j.com/docs/cypher-manual/current/syntax/operators/\n operator: /:|<--?|--?>?|<>|=~?|[<>]=?|[+*/%^|]|\\.\\.\\.?/,\n punctuation: /[()[\\]{},;.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nd.displayName = 'd'\nd.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function d(Prism) {\n Prism.register(refractorClike)\n Prism.languages.d = Prism.languages.extend('clike', {\n comment: [\n {\n // Shebang\n pattern: /^\\s*#!.+/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n [\n // /+ comment +/\n // Allow one level of nesting\n /\\/\\+(?:\\/\\+(?:[^+]|\\+(?!\\/))*\\+\\/|(?!\\/\\+)[\\s\\S])*?\\+\\//.source,\n // // comment\n /\\/\\/.*/.source,\n // /* comment */\n /\\/\\*[\\s\\S]*?\\*\\//.source\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true\n }\n ],\n string: [\n {\n pattern: RegExp(\n [\n // r\"\", x\"\"\n /\\b[rx]\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"[cwd]?/.source,\n // q\"[]\", q\"()\", q\"<>\", q\"{}\"\n /\\bq\"(?:\\[[\\s\\S]*?\\]|\\([\\s\\S]*?\\)|<[\\s\\S]*?>|\\{[\\s\\S]*?\\})\"/.source,\n // q\"IDENT\n // ...\n // IDENT\"\n /\\bq\"((?!\\d)\\w+)$[\\s\\S]*?^\\1\"/.source,\n // q\"//\", q\"||\", etc.\n // eslint-disable-next-line regexp/strict\n /\\bq\"(.)[\\s\\S]*?\\2\"/.source,\n // eslint-disable-next-line regexp/strict\n /([\"`])(?:\\\\[\\s\\S]|(?!\\3)[^\\\\])*\\3[cwd]?/.source\n ].join('|'),\n 'm'\n ),\n greedy: true\n },\n {\n pattern: /\\bq\\{(?:\\{[^{}]*\\}|[^{}])*\\}/,\n greedy: true,\n alias: 'token-string'\n }\n ],\n // In order: $, keywords and special tokens, globally defined symbols\n keyword:\n /\\$|\\b(?:__(?:(?:DATE|EOF|FILE|FUNCTION|LINE|MODULE|PRETTY_FUNCTION|TIMESTAMP|TIME|VENDOR|VERSION)__|gshared|parameters|traits|vector)|abstract|alias|align|asm|assert|auto|body|bool|break|byte|case|cast|catch|cdouble|cent|cfloat|char|class|const|continue|creal|dchar|debug|default|delegate|delete|deprecated|do|double|dstring|else|enum|export|extern|false|final|finally|float|for|foreach|foreach_reverse|function|goto|idouble|if|ifloat|immutable|import|inout|int|interface|invariant|ireal|lazy|long|macro|mixin|module|new|nothrow|null|out|override|package|pragma|private|protected|ptrdiff_t|public|pure|real|ref|return|scope|shared|short|size_t|static|string|struct|super|switch|synchronized|template|this|throw|true|try|typedef|typeid|typeof|ubyte|ucent|uint|ulong|union|unittest|ushort|version|void|volatile|wchar|while|with|wstring)\\b/,\n number: [\n // The lookbehind and the negative look-ahead try to prevent bad highlighting of the .. operator\n // Hexadecimal numbers must be handled separately to avoid problems with exponent \"e\"\n /\\b0x\\.?[a-f\\d_]+(?:(?!\\.\\.)\\.[a-f\\d_]*)?(?:p[+-]?[a-f\\d_]+)?[ulfi]{0,4}/i,\n {\n pattern:\n /((?:\\.\\.)?)(?:\\b0b\\.?|\\b|\\.)\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?[ulfi]{0,4}/i,\n lookbehind: true\n }\n ],\n operator:\n /\\|[|=]?|&[&=]?|\\+[+=]?|-[-=]?|\\.?\\.\\.|=[>=]?|!(?:i[ns]\\b|<>?=?|>=?|=)?|\\bi[ns]\\b|(?:<[<>]?|>>?>?|\\^\\^|[*\\/%^~])=?/\n })\n Prism.languages.insertBefore('d', 'string', {\n // Characters\n // 'a', '\\\\', '\\n', '\\xFF', '\\377', '\\uFFFF', '\\U0010FFFF', '\\quot'\n char: /'(?:\\\\(?:\\W|\\w+)|[^\\\\])'/\n })\n Prism.languages.insertBefore('d', 'keyword', {\n property: /\\B@\\w*/\n })\n Prism.languages.insertBefore('d', 'function', {\n register: {\n // Iasm registers\n pattern:\n /\\b(?:[ABCD][LHX]|E?(?:BP|DI|SI|SP)|[BS]PL|[ECSDGF]S|CR[0234]|[DS]IL|DR[012367]|E[ABCD]X|X?MM[0-7]|R(?:1[0-5]|[89])[BWD]?|R[ABCD]X|R[BS]P|R[DS]I|TR[3-7]|XMM(?:1[0-5]|[89])|YMM(?:1[0-5]|\\d))\\b|\\bST(?:\\([0-7]\\)|\\b)/,\n alias: 'variable'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ndart.displayName = 'dart'\ndart.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function dart(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var keywords = [\n /\\b(?:async|sync|yield)\\*/,\n /\\b(?:abstract|assert|async|await|break|case|catch|class|const|continue|covariant|default|deferred|do|dynamic|else|enum|export|extends|extension|external|factory|final|finally|for|get|hide|if|implements|import|in|interface|library|mixin|new|null|on|operator|part|rethrow|return|set|show|static|super|switch|sync|this|throw|try|typedef|var|void|while|with|yield)\\b/\n ]\n\n // Handles named imports, such as http.Client\n var packagePrefix = /(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/\n .source\n\n // based on the dart naming conventions\n var className = {\n pattern: RegExp(packagePrefix + /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n }\n }\n }\n Prism.languages.dart = Prism.languages.extend('clike', {\n 'class-name': [\n className,\n {\n // variables and parameters\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n packagePrefix + /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()])/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n operator:\n /\\bis!|\\b(?:as|is)\\b|\\+\\+|--|&&|\\|\\||<<=?|>>=?|~(?:\\/=?)?|[+\\-*\\/%&^|=!<>]=?|\\?/\n })\n Prism.languages.insertBefore('dart', 'string', {\n 'string-literal': {\n pattern:\n /r?(?:(\"\"\"|''')[\\s\\S]*?\\1|([\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2(?!\\2))/,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n lookbehind: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.dart\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: undefined\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n metadata: {\n pattern: /@\\w+/,\n alias: 'function'\n }\n })\n Prism.languages.insertBefore('dart', 'class-name', {\n generics: {\n pattern:\n /<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<(?:[\\w\\s,.&?]|<[\\w\\s,.&?]*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndataweave.displayName = 'dataweave'\ndataweave.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function dataweave(Prism) {\n ;(function (Prism) {\n Prism.languages.dataweave = {\n url: /\\b[A-Za-z]+:\\/\\/[\\w/:.?=&-]+|\\burn:[\\w:.?=&-]+/,\n property: {\n pattern: /(?:\\b\\w+#)?(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|\\b\\w+)(?=\\s*[:@])/,\n greedy: true\n },\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n 'mime-type':\n /\\b(?:application|audio|image|multipart|text|video)\\/[\\w+-]+/,\n date: {\n pattern: /\\|[\\w:+-]+\\|/,\n greedy: true\n },\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n regex: {\n pattern: /\\/(?:[^\\\\\\/\\r\\n]|\\\\[^\\r\\n])+\\//,\n greedy: true\n },\n keyword:\n /\\b(?:and|as|at|case|do|else|fun|if|input|is|match|not|ns|null|or|output|type|unless|update|using|var)\\b/,\n function: /\\b[A-Z_]\\w*(?=\\s*\\()/i,\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\];(),.:@]/,\n operator: /<<|>>|->|[<>~=]=?|!=|--?-?|\\+\\+?|!|\\?/,\n boolean: /\\b(?:false|true)\\b/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndax.displayName = 'dax'\ndax.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function dax(Prism) {\n Prism.languages.dax = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/).*)/,\n lookbehind: true\n },\n 'data-field': {\n pattern:\n /'(?:[^']|'')*'(?!')(?:\\[[ \\w\\xA0-\\uFFFF]+\\])?|\\w+\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'symbol'\n },\n measure: {\n pattern: /\\[[ \\w\\xA0-\\uFFFF]+\\]/,\n alias: 'constant'\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n function:\n /\\b(?:ABS|ACOS|ACOSH|ACOT|ACOTH|ADDCOLUMNS|ADDMISSINGITEMS|ALL|ALLCROSSFILTERED|ALLEXCEPT|ALLNOBLANKROW|ALLSELECTED|AND|APPROXIMATEDISTINCTCOUNT|ASIN|ASINH|ATAN|ATANH|AVERAGE|AVERAGEA|AVERAGEX|BETA\\.DIST|BETA\\.INV|BLANK|CALCULATE|CALCULATETABLE|CALENDAR|CALENDARAUTO|CEILING|CHISQ\\.DIST|CHISQ\\.DIST\\.RT|CHISQ\\.INV|CHISQ\\.INV\\.RT|CLOSINGBALANCEMONTH|CLOSINGBALANCEQUARTER|CLOSINGBALANCEYEAR|COALESCE|COMBIN|COMBINA|COMBINEVALUES|CONCATENATE|CONCATENATEX|CONFIDENCE\\.NORM|CONFIDENCE\\.T|CONTAINS|CONTAINSROW|CONTAINSSTRING|CONTAINSSTRINGEXACT|CONVERT|COS|COSH|COT|COTH|COUNT|COUNTA|COUNTAX|COUNTBLANK|COUNTROWS|COUNTX|CROSSFILTER|CROSSJOIN|CURRENCY|CURRENTGROUP|CUSTOMDATA|DATATABLE|DATE|DATEADD|DATEDIFF|DATESBETWEEN|DATESINPERIOD|DATESMTD|DATESQTD|DATESYTD|DATEVALUE|DAY|DEGREES|DETAILROWS|DISTINCT|DISTINCTCOUNT|DISTINCTCOUNTNOBLANK|DIVIDE|EARLIER|EARLIEST|EDATE|ENDOFMONTH|ENDOFQUARTER|ENDOFYEAR|EOMONTH|ERROR|EVEN|EXACT|EXCEPT|EXP|EXPON\\.DIST|FACT|FALSE|FILTER|FILTERS|FIND|FIRSTDATE|FIRSTNONBLANK|FIRSTNONBLANKVALUE|FIXED|FLOOR|FORMAT|GCD|GENERATE|GENERATEALL|GENERATESERIES|GEOMEAN|GEOMEANX|GROUPBY|HASONEFILTER|HASONEVALUE|HOUR|IF|IF\\.EAGER|IFERROR|IGNORE|INT|INTERSECT|ISBLANK|ISCROSSFILTERED|ISEMPTY|ISERROR|ISEVEN|ISFILTERED|ISINSCOPE|ISLOGICAL|ISNONTEXT|ISNUMBER|ISO\\.CEILING|ISODD|ISONORAFTER|ISSELECTEDMEASURE|ISSUBTOTAL|ISTEXT|KEEPFILTERS|KEYWORDMATCH|LASTDATE|LASTNONBLANK|LASTNONBLANKVALUE|LCM|LEFT|LEN|LN|LOG|LOG10|LOOKUPVALUE|LOWER|MAX|MAXA|MAXX|MEDIAN|MEDIANX|MID|MIN|MINA|MINUTE|MINX|MOD|MONTH|MROUND|NATURALINNERJOIN|NATURALLEFTOUTERJOIN|NEXTDAY|NEXTMONTH|NEXTQUARTER|NEXTYEAR|NONVISUAL|NORM\\.DIST|NORM\\.INV|NORM\\.S\\.DIST|NORM\\.S\\.INV|NOT|NOW|ODD|OPENINGBALANCEMONTH|OPENINGBALANCEQUARTER|OPENINGBALANCEYEAR|OR|PARALLELPERIOD|PATH|PATHCONTAINS|PATHITEM|PATHITEMREVERSE|PATHLENGTH|PERCENTILE\\.EXC|PERCENTILE\\.INC|PERCENTILEX\\.EXC|PERCENTILEX\\.INC|PERMUT|PI|POISSON\\.DIST|POWER|PREVIOUSDAY|PREVIOUSMONTH|PREVIOUSQUARTER|PREVIOUSYEAR|PRODUCT|PRODUCTX|QUARTER|QUOTIENT|RADIANS|RAND|RANDBETWEEN|RANK\\.EQ|RANKX|RELATED|RELATEDTABLE|REMOVEFILTERS|REPLACE|REPT|RIGHT|ROLLUP|ROLLUPADDISSUBTOTAL|ROLLUPGROUP|ROLLUPISSUBTOTAL|ROUND|ROUNDDOWN|ROUNDUP|ROW|SAMEPERIODLASTYEAR|SAMPLE|SEARCH|SECOND|SELECTCOLUMNS|SELECTEDMEASURE|SELECTEDMEASUREFORMATSTRING|SELECTEDMEASURENAME|SELECTEDVALUE|SIGN|SIN|SINH|SQRT|SQRTPI|STARTOFMONTH|STARTOFQUARTER|STARTOFYEAR|STDEV\\.P|STDEV\\.S|STDEVX\\.P|STDEVX\\.S|SUBSTITUTE|SUBSTITUTEWITHINDEX|SUM|SUMMARIZE|SUMMARIZECOLUMNS|SUMX|SWITCH|T\\.DIST|T\\.DIST\\.2T|T\\.DIST\\.RT|T\\.INV|T\\.INV\\.2T|TAN|TANH|TIME|TIMEVALUE|TODAY|TOPN|TOPNPERLEVEL|TOPNSKIP|TOTALMTD|TOTALQTD|TOTALYTD|TREATAS|TRIM|TRUE|TRUNC|UNICHAR|UNICODE|UNION|UPPER|USERELATIONSHIP|USERNAME|USEROBJECTID|USERPRINCIPALNAME|UTCNOW|UTCTODAY|VALUE|VALUES|VAR\\.P|VAR\\.S|VARX\\.P|VARX\\.S|WEEKDAY|WEEKNUM|XIRR|XNPV|YEAR|YEARFRAC)(?=\\s*\\()/i,\n keyword:\n /\\b(?:DEFINE|EVALUATE|MEASURE|ORDER\\s+BY|RETURN|VAR|START\\s+AT|ASC|DESC)\\b/i,\n boolean: {\n pattern: /\\b(?:FALSE|NULL|TRUE)\\b/i,\n alias: 'constant'\n },\n number: /\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/,\n operator: /:=|[-+*\\/=^]|&&?|\\|\\||<(?:=>?|<|>)?|>[>=]?|\\b(?:IN|NOT)\\b/i,\n punctuation: /[;\\[\\](){}`,.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndhall.displayName = 'dhall'\ndhall.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function dhall(Prism) {\n // ABNF grammar:\n // https://github.com/dhall-lang/dhall-lang/blob/master/standard/dhall.abnf\n\n Prism.languages.dhall = {\n // Multi-line comments can be nested. E.g. {- foo {- bar -} -}\n // The multi-line pattern is essentially this:\n // \\{-(?:[^-{]|-(?!\\})|\\{(?!-)|<SELF>)*-\\}\n comment:\n /--.*|\\{-(?:[^-{]|-(?!\\})|\\{(?!-)|\\{-(?:[^-{]|-(?!\\})|\\{(?!-))*-\\})*-\\}/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"|''(?:[^']|'(?!')|'''|''\\$\\{)*''(?!'|\\$)/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}]*\\}/,\n inside: {\n expression: {\n pattern: /(^\\$\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n alias: 'language-dhall',\n inside: null // see blow\n },\n punctuation: /\\$\\{|\\}/\n }\n }\n }\n },\n label: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n url: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L596\n pattern:\n /\\bhttps?:\\/\\/[\\w.:%!$&'*+;=@~-]+(?:\\/[\\w.:%!$&'*+;=@~-]*)*(?:\\?[/?\\w.:%!$&'*+;=@~-]*)?/,\n greedy: true\n },\n env: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L661\n pattern: /\\benv:(?:(?!\\d)\\w+|\"(?:[^\"\\\\=]|\\\\.)*\")/,\n greedy: true,\n inside: {\n function: /^env/,\n operator: /^:/,\n variable: /[\\s\\S]+/\n }\n },\n hash: {\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L725\n pattern: /\\bsha256:[\\da-fA-F]{64}\\b/,\n inside: {\n function: /sha256/,\n operator: /:/,\n number: /[\\da-fA-F]{64}/\n }\n },\n // https://github.com/dhall-lang/dhall-lang/blob/5fde8ef1bead6fb4e999d3c1ffe7044cd019d63a/standard/dhall.abnf#L359\n keyword:\n /\\b(?:as|assert|else|forall|if|in|let|merge|missing|then|toMap|using|with)\\b|\\u2200/,\n builtin: /\\b(?:None|Some)\\b/,\n boolean: /\\b(?:False|True)\\b/,\n number:\n /\\bNaN\\b|-?\\bInfinity\\b|[+-]?\\b(?:0x[\\da-fA-F]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/,\n operator:\n /\\/\\\\|\\/\\/\\\\\\\\|&&|\\|\\||===|[!=]=|\\/\\/|->|\\+\\+|::|[+*#@=:?<>|\\\\\\u2227\\u2a53\\u2261\\u2afd\\u03bb\\u2192]/,\n punctuation: /\\.\\.|[{}\\[\\](),./]/,\n // we'll just assume that every capital word left is a type name\n 'class-name': /\\b[A-Z]\\w*\\b/\n }\n Prism.languages.dhall.string.inside.interpolation.inside.expression.inside =\n Prism.languages.dhall\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndiff.displayName = 'diff'\ndiff.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function diff(Prism) {\n ;(function (Prism) {\n Prism.languages.diff = {\n coord: [\n // Match all kinds of coord lines (prefixed by \"+++\", \"---\" or \"***\").\n /^(?:\\*{3}|-{3}|\\+{3}).*$/m,\n // Match \"@@ ... @@\" coord lines in unified diff.\n /^@@.*@@$/m,\n // Match coord lines in normal diff (starts with a number).\n /^\\d.*$/m\n ]\n\n // deleted, inserted, unchanged, diff\n }\n\n /**\n * A map from the name of a block to its line prefix.\n *\n * @type {Object<string, string>}\n */\n var PREFIXES = {\n 'deleted-sign': '-',\n 'deleted-arrow': '<',\n 'inserted-sign': '+',\n 'inserted-arrow': '>',\n unchanged: ' ',\n diff: '!'\n }\n\n // add a token for each prefix\n Object.keys(PREFIXES).forEach(function (name) {\n var prefix = PREFIXES[name]\n var alias = []\n if (!/^\\w+$/.test(name)) {\n // \"deleted-sign\" -> \"deleted\"\n alias.push(/\\w+/.exec(name)[0])\n }\n if (name === 'diff') {\n alias.push('bold')\n }\n Prism.languages.diff[name] = {\n pattern: RegExp(\n '^(?:[' + prefix + '].*(?:\\r\\n?|\\n|(?![\\\\s\\\\S])))+',\n 'm'\n ),\n alias: alias,\n inside: {\n line: {\n pattern: /(.)(?=[\\s\\S]).*(?:\\r\\n?|\\n)?/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]/,\n alias: /\\w+/.exec(name)[0]\n }\n }\n }\n })\n\n // make prefixes available to Diff plugin\n Object.defineProperty(Prism.languages.diff, 'PREFIXES', {\n value: PREFIXES\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nmarkupTemplating.displayName = 'markup-templating'\nmarkupTemplating.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function markupTemplating(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n /**\n * Returns the placeholder for the given language id and index.\n *\n * @param {string} language\n * @param {string|number} index\n * @returns {string}\n */\n function getPlaceholder(language, index) {\n return '___' + language.toUpperCase() + index + '___'\n }\n Object.defineProperties((Prism.languages['markup-templating'] = {}), {\n buildPlaceholders: {\n /**\n * Tokenize all inline templating expressions matching `placeholderPattern`.\n *\n * If `replaceFilter` is provided, only matches of `placeholderPattern` for which `replaceFilter` returns\n * `true` will be replaced.\n *\n * @param {object} env The environment of the `before-tokenize` hook.\n * @param {string} language The language id.\n * @param {RegExp} placeholderPattern The matches of this pattern will be replaced by placeholders.\n * @param {(match: string) => boolean} [replaceFilter]\n */\n value: function (env, language, placeholderPattern, replaceFilter) {\n if (env.language !== language) {\n return\n }\n var tokenStack = (env.tokenStack = [])\n env.code = env.code.replace(placeholderPattern, function (match) {\n if (typeof replaceFilter === 'function' && !replaceFilter(match)) {\n return match\n }\n var i = tokenStack.length\n var placeholder\n\n // Check for existing strings\n while (\n env.code.indexOf((placeholder = getPlaceholder(language, i))) !==\n -1\n ) {\n ++i\n }\n\n // Create a sparse array\n tokenStack[i] = match\n return placeholder\n })\n\n // Switch the grammar to markup\n env.grammar = Prism.languages.markup\n }\n },\n tokenizePlaceholders: {\n /**\n * Replace placeholders with proper tokens after tokenizing.\n *\n * @param {object} env The environment of the `after-tokenize` hook.\n * @param {string} language The language id.\n */\n value: function (env, language) {\n if (env.language !== language || !env.tokenStack) {\n return\n }\n\n // Switch the grammar back\n env.grammar = Prism.languages[language]\n var j = 0\n var keys = Object.keys(env.tokenStack)\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n // all placeholders are replaced already\n if (j >= keys.length) {\n break\n }\n var token = tokens[i]\n if (\n typeof token === 'string' ||\n (token.content && typeof token.content === 'string')\n ) {\n var k = keys[j]\n var t = env.tokenStack[k]\n var s = typeof token === 'string' ? token : token.content\n var placeholder = getPlaceholder(language, k)\n var index = s.indexOf(placeholder)\n if (index > -1) {\n ++j\n var before = s.substring(0, index)\n var middle = new Prism.Token(\n language,\n Prism.tokenize(t, env.grammar),\n 'language-' + language,\n t\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push.apply(replacement, walkTokens([before]))\n }\n replacement.push(middle)\n if (after) {\n replacement.push.apply(replacement, walkTokens([after]))\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n } else {\n token.content = replacement\n }\n }\n } else if (\n token.content /* && typeof token.content !== 'string' */\n ) {\n walkTokens(token.content)\n }\n }\n return tokens\n }\n walkTokens(env.tokens)\n }\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\ndjango.displayName = 'django'\ndjango.aliases = ['jinja2']\n\n/** @param {Refractor} Prism */\nexport default function django(Prism) {\n Prism.register(refractorMarkupTemplating)\n // Django/Jinja2 syntax definition for Prism.js <http://prismjs.com> syntax highlighter.\n // Mostly it works OK but can paint code incorrectly on complex html/template tag combinations.\n\n ;(function (Prism) {\n Prism.languages.django = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n tag: {\n pattern: /(^\\{%[+-]?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%][+-]?|[+-]?[}%]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n filter: {\n pattern: /(\\|)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n test: {\n pattern: /(\\bis\\s+(?:not\\s+)?)(?!not\\b)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b[a-z_]\\w+(?=\\s*\\()/i,\n keyword:\n /\\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\\b/,\n operator: /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /[Ff]alse|[Nn]one|[Tt]rue/,\n variable: /\\b\\w+\\b/,\n punctuation: /[{}[\\](),.:;]/\n }\n var pattern = /\\{\\{[\\s\\S]*?\\}\\}|\\{%[\\s\\S]*?%\\}|\\{#[\\s\\S]*?#\\}/g\n var markupTemplating = Prism.languages['markup-templating']\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'django', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'django')\n })\n\n // Add an Jinja2 alias\n Prism.languages.jinja2 = Prism.languages.django\n Prism.hooks.add('before-tokenize', function (env) {\n markupTemplating.buildPlaceholders(env, 'jinja2', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n markupTemplating.tokenizePlaceholders(env, 'jinja2')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndnsZoneFile.displayName = 'dns-zone-file'\ndnsZoneFile.aliases = ['dns-zone']\n\n/** @param {Refractor} Prism */\nexport default function dnsZoneFile(Prism) {\n Prism.languages['dns-zone-file'] = {\n comment: /;.*/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(^\\$ORIGIN[ \\t]+)\\S+/m,\n lookbehind: true\n },\n {\n pattern: /(^|\\s)@(?=\\s|$)/,\n lookbehind: true\n }\n ],\n keyword: /^\\$(?:INCLUDE|ORIGIN|TTL)(?=\\s|$)/m,\n class: {\n // https://tools.ietf.org/html/rfc1035#page-13\n pattern: /(^|\\s)(?:CH|CS|HS|IN)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n // https://en.wikipedia.org/wiki/List_of_DNS_record_types\n pattern:\n /(^|\\s)(?:A|A6|AAAA|AFSDB|APL|ATMA|CAA|CDNSKEY|CDS|CERT|CNAME|DHCID|DLV|DNAME|DNSKEY|DS|EID|GID|GPOS|HINFO|HIP|IPSECKEY|ISDN|KEY|KX|LOC|MAILA|MAILB|MB|MD|MF|MG|MINFO|MR|MX|NAPTR|NB|NBSTAT|NIMLOC|NINFO|NS|NSAP|NSAP-PTR|NSEC|NSEC3|NSEC3PARAM|NULL|NXT|OPENPGPKEY|PTR|PX|RKEY|RP|RRSIG|RT|SIG|SINK|SMIMEA|SOA|SPF|SRV|SSHFP|TA|TKEY|TLSA|TSIG|TXT|UID|UINFO|UNSPEC|URI|WKS|X25)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /[()]/\n }\n Prism.languages['dns-zone'] = Prism.languages['dns-zone-file']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndocker.displayName = 'docker'\ndocker.aliases = ['dockerfile']\n\n/** @param {Refractor} Prism */\nexport default function docker(Prism) {\n ;(function (Prism) {\n // Many of the following regexes will contain negated lookaheads like `[ \\t]+(?![ \\t])`. This is a trick to ensure\n // that quantifiers behave *atomically*. Atomic quantifiers are necessary to prevent exponential backtracking.\n\n var spaceAfterBackSlash =\n /\\\\[\\r\\n](?:\\s|\\\\[\\r\\n]|#.*(?!.))*(?![\\s#]|\\\\[\\r\\n])/.source\n // At least one space, comment, or line break\n var space = /(?:[ \\t]+(?![ \\t])(?:<SP_BS>)?|<SP_BS>)/.source.replace(\n /<SP_BS>/g,\n function () {\n return spaceAfterBackSlash\n }\n )\n var string =\n /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"|'(?:[^'\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*'/\n .source\n var option = /--[\\w-]+=(?:<STR>|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)/.source.replace(\n /<STR>/g,\n function () {\n return string\n }\n )\n var stringRule = {\n pattern: RegExp(string),\n greedy: true\n }\n var commentRule = {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true,\n greedy: true\n }\n\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function re(source, flags) {\n source = source\n .replace(/<OPT>/g, function () {\n return option\n })\n .replace(/<SP>/g, function () {\n return space\n })\n return RegExp(source, flags)\n }\n Prism.languages.docker = {\n instruction: {\n pattern:\n /(^[ \\t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\\s)(?:\\\\.|[^\\r\\n\\\\])*(?:\\\\$(?:\\s|#.*$)*(?![\\s#])(?:\\\\.|[^\\r\\n\\\\])*)*/im,\n lookbehind: true,\n greedy: true,\n inside: {\n options: {\n pattern: re(\n /(^(?:ONBUILD<SP>)?\\w+<SP>)<OPT>(?:<SP><OPT>)*/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n property: {\n pattern: /(^|\\s)--[\\w-]+/,\n lookbehind: true\n },\n string: [\n stringRule,\n {\n pattern: /(=)(?![\"'])(?:[^\\s\\\\]|\\\\.)+/,\n lookbehind: true\n }\n ],\n operator: /\\\\$/m,\n punctuation: /=/\n }\n },\n keyword: [\n {\n // https://docs.docker.com/engine/reference/builder/#healthcheck\n pattern: re(\n /(^(?:ONBUILD<SP>)?HEALTHCHECK<SP>(?:<OPT><SP>)*)(?:CMD|NONE)\\b/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#from\n pattern: re(\n /(^(?:ONBUILD<SP>)?FROM<SP>(?:<OPT><SP>)*(?!--)[^ \\t\\\\]+<SP>)AS/\n .source,\n 'i'\n ),\n lookbehind: true,\n greedy: true\n },\n {\n // https://docs.docker.com/engine/reference/builder/#onbuild\n pattern: re(/(^ONBUILD<SP>)\\w+/.source, 'i'),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /^\\w+/,\n greedy: true\n }\n ],\n comment: commentRule,\n string: stringRule,\n variable: /\\$(?:\\w+|\\{[^{}\"'\\\\]*\\})/,\n operator: /\\\\$/m\n }\n },\n comment: commentRule\n }\n Prism.languages.dockerfile = Prism.languages.docker\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ndot.displayName = 'dot'\ndot.aliases = ['gv']\n\n/** @param {Refractor} Prism */\nexport default function dot(Prism) {\n // https://www.graphviz.org/doc/info/lang.html\n\n ;(function (Prism) {\n var ID =\n '(?:' +\n [\n // an identifier\n /[a-zA-Z_\\x80-\\uFFFF][\\w\\x80-\\uFFFF]*/.source,\n // a number\n /-?(?:\\.\\d+|\\d+(?:\\.\\d*)?)/.source,\n // a double-quoted string\n /\"[^\"\\\\]*(?:\\\\[\\s\\S][^\"\\\\]*)*\"/.source,\n // HTML-like string\n /<(?:[^<>]|(?!<!--)<(?:[^<>\"']|\"[^\"]*\"|'[^']*')+>|<!--(?:[^-]|-(?!->))*-->)*>/\n .source\n ].join('|') +\n ')'\n var IDInside = {\n markup: {\n pattern: /(^<)[\\s\\S]+(?=>$)/,\n lookbehind: true,\n alias: ['language-markup', 'language-html', 'language-xml'],\n inside: Prism.languages.markup\n }\n }\n\n /**\n * @param {string} source\n * @param {string} flags\n * @returns {RegExp}\n */\n function withID(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return ID\n }),\n flags\n )\n }\n Prism.languages.dot = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|^#.*/m,\n greedy: true\n },\n 'graph-name': {\n pattern: withID(\n /(\\b(?:digraph|graph|subgraph)[ \\t\\r\\n]+)<ID>/.source,\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name',\n inside: IDInside\n },\n 'attr-value': {\n pattern: withID(/(=[ \\t\\r\\n]*)<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n 'attr-name': {\n pattern: withID(/([\\[;, \\t\\r\\n])<ID>(?=[ \\t\\r\\n]*=)/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n keyword: /\\b(?:digraph|edge|graph|node|strict|subgraph)\\b/i,\n 'compass-point': {\n pattern: /(:[ \\t\\r\\n]*)(?:[ewc_]|[ns][ew]?)(?![\\w\\x80-\\uFFFF])/,\n lookbehind: true,\n alias: 'builtin'\n },\n node: {\n pattern: withID(/(^|[^-.\\w\\x80-\\uFFFF\\\\])<ID>/.source),\n lookbehind: true,\n greedy: true,\n inside: IDInside\n },\n operator: /[=:]|-[->]/,\n punctuation: /[\\[\\]{};,]/\n }\n Prism.languages.gv = Prism.languages.dot\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nebnf.displayName = 'ebnf'\nebnf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ebnf(Prism) {\n Prism.languages.ebnf = {\n comment: /\\(\\*[\\s\\S]*?\\*\\)/,\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n special: {\n pattern: /\\?[^?\\r\\n]*\\?/,\n greedy: true,\n alias: 'class-name'\n },\n definition: {\n pattern: /^([\\t ]*)[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*(?=\\s*=)/im,\n lookbehind: true,\n alias: ['rule', 'keyword']\n },\n rule: /\\b[a-z]\\w*(?:[ \\t]+[a-z]\\w*)*\\b/i,\n punctuation: /\\([:/]|[:/]\\)|[.,;()[\\]{}]/,\n operator: /[-=|*/!]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\neditorconfig.displayName = 'editorconfig'\neditorconfig.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function editorconfig(Prism) {\n Prism.languages.editorconfig = {\n // https://editorconfig-specification.readthedocs.io\n comment: /[;#].*/,\n section: {\n pattern: /(^[ \\t]*)\\[.+\\]/m,\n lookbehind: true,\n alias: 'selector',\n inside: {\n regex: /\\\\\\\\[\\[\\]{},!?.*]/,\n // Escape special characters with '\\\\'\n operator: /[!?]|\\.\\.|\\*{1,2}/,\n punctuation: /[\\[\\]{},]/\n }\n },\n key: {\n pattern: /(^[ \\t]*)[^\\s=]+(?=[ \\t]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /=.*/,\n alias: 'attr-value',\n inside: {\n punctuation: /^=/\n }\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\neiffel.displayName = 'eiffel'\neiffel.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function eiffel(Prism) {\n Prism.languages.eiffel = {\n comment: /--.*/,\n string: [\n // Aligned-verbatim-strings\n {\n pattern: /\"([^[]*)\\[[\\s\\S]*?\\]\\1\"/,\n greedy: true\n },\n // Non-aligned-verbatim-strings\n {\n pattern: /\"([^{]*)\\{[\\s\\S]*?\\}\\1\"/,\n greedy: true\n },\n // Single-line string\n {\n pattern: /\"(?:%(?:(?!\\n)\\s)*\\n\\s*%|%\\S|[^%\"\\r\\n])*\"/,\n greedy: true\n }\n ],\n // normal char | special char | char code\n char: /'(?:%.|[^%'\\r\\n])+'/,\n keyword:\n /\\b(?:across|agent|alias|all|and|as|assign|attached|attribute|check|class|convert|create|Current|debug|deferred|detachable|do|else|elseif|end|ensure|expanded|export|external|feature|from|frozen|if|implies|inherit|inspect|invariant|like|local|loop|not|note|obsolete|old|once|or|Precursor|redefine|rename|require|rescue|Result|retry|select|separate|some|then|undefine|until|variant|Void|when|xor)\\b/i,\n boolean: /\\b(?:False|True)\\b/i,\n // Convention: class-names are always all upper-case characters\n 'class-name': /\\b[A-Z][\\dA-Z_]*\\b/,\n number: [\n // hexa | octal | bin\n /\\b0[xcb][\\da-f](?:_*[\\da-f])*\\b/i,\n // Decimal\n /(?:\\b\\d(?:_*\\d)*)?\\.(?:(?:\\d(?:_*\\d)*)?e[+-]?)?\\d(?:_*\\d)*\\b|\\b\\d(?:_*\\d)*\\b\\.?/i\n ],\n punctuation: /:=|<<|>>|\\(\\||\\|\\)|->|\\.(?=\\w)|[{}[\\];(),:?]/,\n operator: /\\\\\\\\|\\|\\.\\.\\||\\.\\.|\\/[~\\/=]?|[><]=?|[-+*^=~]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nimport refractorMarkupTemplating from './markup-templating.js'\nejs.displayName = 'ejs'\nejs.aliases = ['eta']\n\n/** @param {Refractor} Prism */\nexport default function ejs(Prism) {\n Prism.register(refractorJavascript)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.ejs = {\n delimiter: {\n pattern: /^<%[-_=]?|[-_]?%>$/,\n alias: 'punctuation'\n },\n comment: /^#[\\s\\S]*/,\n 'language-javascript': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.javascript\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var ejsPattern = /<%(?!%)[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ejs',\n ejsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs')\n })\n Prism.languages.eta = Prism.languages.ejs\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nelixir.displayName = 'elixir'\nelixir.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function elixir(Prism) {\n Prism.languages.elixir = {\n doc: {\n pattern:\n /@(?:doc|moduledoc)\\s+(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\2)[^\\\\\\r\\n])*\\2)/,\n inside: {\n attribute: /^@\\w+/,\n string: /['\"][\\s\\S]+/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n // ~r\"\"\"foo\"\"\" (multi-line), ~r'''foo''' (multi-line), ~r/foo/, ~r|foo|, ~r\"foo\", ~r'foo', ~r(foo), ~r[foo], ~r{foo}, ~r<foo>\n regex: {\n pattern:\n /~[rR](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|[^\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[uismxfr]*/,\n greedy: true\n },\n string: [\n {\n // ~s\"\"\"foo\"\"\" (multi-line), ~s'''foo''' (multi-line), ~s/foo/, ~s|foo|, ~s\"foo\", ~s'foo', ~s(foo), ~s[foo], ~s{foo} (with interpolation care), ~s<foo>\n pattern:\n /~[cCsSwW](?:(\"\"\"|''')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])+\\1|([\\/|\"'])(?:\\\\.|(?!\\2)[^\\\\\\r\\n])+\\2|\\((?:\\\\.|[^\\\\)\\r\\n])+\\)|\\[(?:\\\\.|[^\\\\\\]\\r\\n])+\\]|\\{(?:\\\\.|#\\{[^}]+\\}|#(?!\\{)|[^#\\\\}\\r\\n])+\\}|<(?:\\\\.|[^\\\\>\\r\\n])+>)[csa]?/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n pattern: /(\"\"\"|''')[\\s\\S]*?\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n },\n {\n // Multi-line strings are allowed\n pattern: /(\"|')(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true,\n inside: {\n // See interpolation below\n }\n }\n ],\n atom: {\n // Look-behind prevents bad highlighting of the :: operator\n pattern: /(^|[^:]):\\w+/,\n lookbehind: true,\n alias: 'symbol'\n },\n module: {\n pattern: /\\b[A-Z]\\w*\\b/,\n alias: 'class-name'\n },\n // Look-ahead prevents bad highlighting of the :: operator\n 'attr-name': /\\b\\w+\\??:(?!:)/,\n argument: {\n // Look-behind prevents bad highlighting of the && operator\n pattern: /(^|[^&])&\\d+/,\n lookbehind: true,\n alias: 'variable'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'variable'\n },\n function: /\\b[_a-zA-Z]\\w*[?!]?(?:(?=\\s*(?:\\.\\s*)?\\()|(?=\\/\\d))/,\n number: /\\b(?:0[box][a-f\\d_]+|\\d[\\d_]*)(?:\\.[\\d_]+)?(?:e[+-]?[\\d_]+)?\\b/i,\n keyword:\n /\\b(?:after|alias|and|case|catch|cond|def(?:callback|delegate|exception|impl|macro|module|n|np|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|quote|raise|require|rescue|try|unless|unquote|use|when)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n operator: [\n /\\bin\\b|&&?|\\|[|>]?|\\\\\\\\|::|\\.\\.\\.?|\\+\\+?|-[->]?|<[-=>]|>=|!==?|\\B!|=(?:==?|[>~])?|[*\\/^]/,\n {\n // We don't want to match <<\n pattern: /([^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /([^>])>(?!>)/,\n lookbehind: true\n }\n ],\n punctuation: /<<|>>|[.,%\\[\\]{}()]/\n }\n Prism.languages.elixir.string.forEach(function (o) {\n o.inside = {\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.elixir\n }\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nelm.displayName = 'elm'\nelm.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function elm(Prism) {\n Prism.languages.elm = {\n comment: /--.*|\\{-[\\s\\S]*?-\\}/,\n char: {\n pattern:\n /'(?:[^\\\\'\\r\\n]|\\\\(?:[abfnrtv\\\\']|\\d+|x[0-9a-fA-F]+|u\\{[0-9a-fA-F]+\\}))'/,\n greedy: true\n },\n string: [\n {\n // Multiline strings are wrapped in triple \". Quotes may appear unescaped.\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true\n },\n {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"/,\n greedy: true\n }\n ],\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z]\\w*(?:\\.[A-Z]\\w*)*(?:\\s+as\\s+(?:[A-Z]\\w*)(?:\\.[A-Z]\\w*)*)?(?:\\s+exposing\\s+)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|exposing|import)\\b/\n }\n },\n keyword:\n /\\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\\b/,\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\\b/,\n // decimal integers and floating point numbers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0x[0-9a-f]+)\\b/i,\n // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n // Valid operator characters in 0.18: +-/*=.$<>:&|^?%#@~!\n // Ref: https://groups.google.com/forum/#!msg/elm-dev/0AHSnDdkSkQ/E0SVU70JEQAJ\n operator: /\\s\\.\\s|[+\\-/*=.$<>:&|^?%#@~!]{2,}|[+\\-/*=$<>:&|^?%#@~!]/,\n // In Elm, nearly everything is a variable, do not highlight these.\n hvariable: /\\b(?:[A-Z]\\w*\\.)*[a-z]\\w*\\b/,\n constant: /\\b(?:[A-Z]\\w*\\.)*[A-Z]\\w*\\b/,\n punctuation: /[{}[\\]|(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlua.displayName = 'lua'\nlua.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function lua(Prism) {\n Prism.languages.lua = {\n comment: /^#!.+|--(?:\\[(=*)\\[[\\s\\S]*?\\]\\1\\]|.*)/m,\n // \\z may be used to skip the following space\n string: {\n pattern:\n /([\"'])(?:(?!\\1)[^\\\\\\r\\n]|\\\\z(?:\\r\\n|\\s)|\\\\(?:\\r\\n|[^z]))*\\1|\\[(=*)\\[[\\s\\S]*?\\]\\2\\]/,\n greedy: true\n },\n number:\n /\\b0x[a-f\\d]+(?:\\.[a-f\\d]*)?(?:p[+-]?\\d+)?\\b|\\b\\d+(?:\\.\\B|(?:\\.\\d*)?(?:e[+-]?\\d+)?\\b)|\\B\\.\\d+(?:e[+-]?\\d+)?\\b/i,\n keyword:\n /\\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,\n function: /(?!\\d)\\w+(?=\\s*(?:[({]))/,\n operator: [\n /[-+*%^&|#]|\\/\\/?|<[<=]?|>[>=]?|[=~]=?/,\n {\n // Match \"..\" but don't break \"...\"\n pattern: /(^|[^.])\\.\\.(?!\\.)/,\n lookbehind: true\n }\n ],\n punctuation: /[\\[\\](){},;]|\\.+|:+/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorLua from './lua.js'\nimport refractorMarkupTemplating from './markup-templating.js'\netlua.displayName = 'etlua'\netlua.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function etlua(Prism) {\n Prism.register(refractorLua)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.etlua = {\n delimiter: {\n pattern: /^<%[-=]?|-?%>$/,\n alias: 'punctuation'\n },\n 'language-lua': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.lua\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var pattern = /<%[\\s\\S]+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'etlua',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nimport refractorRuby from './ruby.js'\nerb.displayName = 'erb'\nerb.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function erb(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.register(refractorRuby)\n ;(function (Prism) {\n Prism.languages.erb = {\n delimiter: {\n pattern: /^(\\s*)<%=?|%>(?=\\s*$)/,\n lookbehind: true,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'language-ruby',\n inside: Prism.languages.ruby\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var erbPattern =\n /<%=?(?:[^\\r\\n]|[\\r\\n](?!=begin)|[\\r\\n]=begin\\s(?:[^\\r\\n]|[\\r\\n](?!=end))*[\\r\\n]=end)+?%>/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'erb',\n erbPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'erb')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nerlang.displayName = 'erlang'\nerlang.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function erlang(Prism) {\n Prism.languages.erlang = {\n comment: /%.+/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n 'quoted-function': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'(?=\\()/,\n alias: 'function'\n },\n 'quoted-atom': {\n pattern: /'(?:\\\\.|[^\\\\'\\r\\n])+'/,\n alias: 'atom'\n },\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\b(?:after|begin|case|catch|end|fun|if|of|receive|try|when)\\b/,\n number: [\n /\\$\\\\?./,\n /\\b\\d+#[a-z0-9]+/i,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n ],\n function: /\\b[a-z][\\w@]*(?=\\()/,\n variable: {\n // Look-behind is used to prevent wrong highlighting of atoms containing \"@\"\n pattern: /(^|[^@])(?:\\b|\\?)[A-Z_][\\w@]*/,\n lookbehind: true\n },\n operator: [\n /[=\\/<>:]=|=[:\\/]=|\\+\\+?|--?|[=*\\/!]|\\b(?:and|andalso|band|bnot|bor|bsl|bsr|bxor|div|not|or|orelse|rem|xor)\\b/,\n {\n // We don't want to match <<\n pattern: /(^|[^<])<(?!<)/,\n lookbehind: true\n },\n {\n // We don't want to match >>\n pattern: /(^|[^>])>(?!>)/,\n lookbehind: true\n }\n ],\n atom: /\\b[a-z][\\w@]*/,\n punctuation: /[()[\\]{}:;,.#|]|<<|>>/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nexcelFormula.displayName = 'excel-formula'\nexcelFormula.aliases = ['xls', 'xlsx']\n\n/** @param {Refractor} Prism */\nexport default function excelFormula(Prism) {\n Prism.languages['excel-formula'] = {\n comment: {\n pattern: /(\\bN\\(\\s*)\"(?:[^\"]|\"\")*\"(?=\\s*\\))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"]|\"\")*\"(?!\")/,\n greedy: true\n },\n reference: {\n // https://www.ablebits.com/office-addins-blog/2015/12/08/excel-reference-another-sheet-workbook/\n\n // Sales!B2\n // 'Winter sales'!B2\n // [Sales.xlsx]Jan!B2:B5\n // D:\\Reports\\[Sales.xlsx]Jan!B2:B5\n // '[Sales.xlsx]Jan sales'!B2:B5\n // 'D:\\Reports\\[Sales.xlsx]Jan sales'!B2:B5\n\n pattern:\n /(?:'[^']*'|(?:[^\\s()[\\]{}<>*?\"';,$&]*\\[[^^\\s()[\\]{}<>*?\"']+\\])?\\w+)!/,\n greedy: true,\n alias: 'string',\n inside: {\n operator: /!$/,\n punctuation: /'/,\n sheet: {\n pattern: /[^[\\]]+$/,\n alias: 'function'\n },\n file: {\n pattern: /\\[[^[\\]]+\\]$/,\n inside: {\n punctuation: /[[\\]]/\n }\n },\n path: /[\\s\\S]+/\n }\n },\n 'function-name': {\n pattern: /\\b[A-Z]\\w*(?=\\()/i,\n alias: 'builtin'\n },\n range: {\n pattern:\n /\\$?\\b(?:[A-Z]+\\$?\\d+:\\$?[A-Z]+\\$?\\d+|[A-Z]+:\\$?[A-Z]+|\\d+:\\$?\\d+)\\b/i,\n alias: 'selector',\n inside: {\n operator: /:/,\n cell: /\\$?[A-Z]+\\$?\\d+/i,\n column: /\\$?[A-Z]+/i,\n row: /\\$?\\d+/\n }\n },\n cell: {\n // Excel is case insensitive, so the string \"foo1\" could be either a variable or a cell.\n // To combat this, we match cells case insensitive, if the contain at least one \"$\", and case sensitive otherwise.\n pattern: /\\b[A-Z]+\\d+\\b|\\$[A-Za-z]+\\$?\\d+\\b|\\b[A-Za-z]+\\$\\d+\\b/,\n alias: 'selector'\n },\n number: /(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n operator: /[-+*/^%=&,]|<[=>]?|>=?/,\n punctuation: /[[\\]();{}|]/\n }\n Prism.languages['xlsx'] = Prism.languages['xls'] =\n Prism.languages['excel-formula']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nfsharp.displayName = 'fsharp'\nfsharp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function fsharp(Prism) {\n Prism.register(refractorClike)\n Prism.languages.fsharp = Prism.languages.extend('clike', {\n comment: [\n {\n pattern: /(^|[^\\\\])\\(\\*(?!\\))[\\s\\S]*?\\*\\)/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(?:\"\"\"[\\s\\S]*?\"\"\"|@\"(?:\"\"|[^\"])*\"|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")B?/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(\\b(?:exception|inherit|interface|new|of|type)\\s+|\\w\\s*:\\s*|\\s:\\??>\\s*)[.\\w]+\\b(?:\\s*(?:->|\\*)\\s*[.\\w]+\\b)*(?!\\s*[:.])/,\n lookbehind: true,\n inside: {\n operator: /->|\\*/,\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:let|return|use|yield)(?:!\\B|\\b)|\\b(?:abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|lor|lsl|lsr|lxor|match|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|val|virtual|void|volatile|when|while|with)\\b/,\n number: [\n /\\b0x[\\da-fA-F]+(?:LF|lf|un)?\\b/,\n /\\b0b[01]+(?:uy|y)?\\b/,\n /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[fm]|e[+-]?\\d+)?\\b/i,\n /\\b\\d+(?:[IlLsy]|UL|u[lsy]?)?\\b/\n ],\n operator:\n /([<>~&^])\\1\\1|([*.:<>&])\\2|<-|->|[!=:]=|<?\\|{1,3}>?|\\??(?:<=|>=|<>|[-+*/%=<>])\\??|[!?^&]|~[+~-]|:>|:\\?>?/\n })\n Prism.languages.insertBefore('fsharp', 'keyword', {\n preprocessor: {\n pattern: /(^[\\t ]*)#.*/m,\n lookbehind: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /(^#)\\b(?:else|endif|if|light|line|nowarn)\\b/,\n lookbehind: true,\n alias: 'keyword'\n }\n }\n }\n })\n Prism.languages.insertBefore('fsharp', 'punctuation', {\n 'computation-expression': {\n pattern: /\\b[_a-z]\\w*(?=\\s*\\{)/i,\n alias: 'keyword'\n }\n })\n Prism.languages.insertBefore('fsharp', 'string', {\n annotation: {\n pattern: /\\[<.+?>\\]/,\n greedy: true,\n inside: {\n punctuation: /^\\[<|>\\]$/,\n 'class-name': {\n pattern: /^\\w+$|(^|;\\s*)[A-Z]\\w*(?=\\()/,\n lookbehind: true\n },\n 'annotation-content': {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.fsharp\n }\n }\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:.|\\d{3}|x[a-fA-F\\d]{2}|u[a-fA-F\\d]{4}|U[a-fA-F\\d]{8}))'B?/,\n greedy: true\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nfactor.displayName = 'factor'\nfactor.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function factor(Prism) {\n ;(function (Prism) {\n var comment_inside = {\n function:\n /\\b(?:BUGS?|FIX(?:MES?)?|NOTES?|TODOS?|XX+|HACKS?|WARN(?:ING)?|\\?{2,}|!{2,})\\b/\n }\n var string_inside = {\n number: /\\\\[^\\s']|%\\w/\n }\n var factor = {\n comment: [\n {\n // ! single-line exclamation point comments with whitespace after/around the !\n pattern: /(^|\\s)(?:! .*|!$)/,\n lookbehind: true,\n inside: comment_inside\n } /* from basis/multiline: */,\n {\n // /* comment */, /* comment*/\n pattern: /(^|\\s)\\/\\*\\s[\\s\\S]*?\\*\\/(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n },\n {\n // ![[ comment ]] , ![===[ comment]===]\n pattern: /(^|\\s)!\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n inside: comment_inside\n }\n ],\n number: [\n {\n // basic base 10 integers 9, -9\n pattern: /(^|\\s)[+-]?\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // base prefix integers 0b010 0o70 0xad 0d10 0XAD -0xa9\n pattern: /(^|\\s)[+-]?0(?:b[01]+|o[0-7]+|d\\d+|x[\\dA-F]+)(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // fractional ratios 1/5 -1/5 and the literal float approximations 1/5. -1/5.\n pattern: /(^|\\s)[+-]?\\d+\\/\\d+\\.?(?=\\s|$)/,\n lookbehind: true\n },\n {\n // positive mixed numbers 23+1/5 +23+1/5\n pattern: /(^|\\s)\\+?\\d+\\+\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // negative mixed numbers -23-1/5\n pattern: /(^|\\s)-\\d+-\\d+\\/\\d+(?=\\s|$)/,\n lookbehind: true\n },\n {\n // basic decimal floats -0.01 0. .0 .1 -.1 -1. -12.13 +12.13\n // and scientific notation with base 10 exponents 3e4 3e-4 .3e-4\n pattern:\n /(^|\\s)[+-]?(?:\\d*\\.\\d+|\\d+\\.\\d*|\\d+)(?:e[+-]?\\d+)?(?=\\s|$)/i,\n lookbehind: true\n },\n {\n // NAN literal syntax NAN: 80000deadbeef, NAN: a\n pattern: /(^|\\s)NAN:\\s+[\\da-fA-F]+(?=\\s|$)/,\n lookbehind: true\n },\n {\n /*\nbase prefix floats 0x1.0p3 (8.0) 0b1.010p2 (5.0) 0x1.p1 0b1.11111111p11111...\n\"The normalized hex form ±0x1.MMMMMMMMMMMMM[pP]±EEEE allows any floating-point number to be specified precisely.\nThe values of MMMMMMMMMMMMM and EEEE map directly to the mantissa and exponent fields of the binary IEEE 754 representation.\"\n<https://docs.factorcode.org/content/article-syntax-floats.html>\n*/\n pattern:\n /(^|\\s)[+-]?0(?:b1\\.[01]*|o1\\.[0-7]*|d1\\.\\d*|x1\\.[\\dA-F]*)p\\d+(?=\\s|$)/i,\n lookbehind: true\n }\n ],\n // R/ regexp?\\/\\\\/\n regexp: {\n pattern:\n /(^|\\s)R\\/\\s(?:\\\\\\S|[^\\\\/])*\\/(?:[idmsr]*|[idmsr]+-[idmsr]+)(?=\\s|$)/,\n lookbehind: true,\n alias: 'number',\n inside: {\n variable: /\\\\\\S/,\n keyword: /[+?*\\[\\]^$(){}.|]/,\n operator: {\n pattern: /(\\/)[idmsr]+(?:-[idmsr]+)?/,\n lookbehind: true\n }\n }\n },\n boolean: {\n pattern: /(^|\\s)[tf](?=\\s|$)/,\n lookbehind: true\n },\n // SBUF\" asd\", URL\" ://...\", P\" /etc/\"\n 'custom-string': {\n pattern: /(^|\\s)[A-Z0-9\\-]+\"\\s(?:\\\\\\S|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: /\\\\\\S|%\\w|\\//\n }\n },\n 'multiline-string': [\n {\n // STRING: name \\n content \\n ; -> CONSTANT: name \"content\" (symbol)\n pattern: /(^|\\s)STRING:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*;(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n number: string_inside.number,\n // trailing semicolon on its own line\n 'semicolon-or-setlocal': {\n pattern: /([\\r\\n][ \\t]*);(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n }\n }\n },\n {\n // HEREDOC: marker \\n content \\n marker ; -> \"content\" (immediate)\n pattern: /(^|\\s)HEREDOC:\\s+\\S+(?:\\n|\\r\\n).*(?:\\n|\\r\\n)\\s*\\S+(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n },\n {\n // [[ string ]], [==[ string]==]\n pattern: /(^|\\s)\\[(={0,6})\\[\\s[\\s\\S]*?\\]\\2\\](?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: string_inside\n }\n ],\n 'special-using': {\n pattern: /(^|\\s)USING:(?:\\s\\S+)*(?=\\s+;(?:\\s|$))/,\n lookbehind: true,\n alias: 'function',\n inside: {\n // this is essentially a regex for vocab names, which i don't want to specify\n // but the USING: gets picked up as a vocab name\n string: {\n pattern: /(\\s)[^:\\s]+/,\n lookbehind: true\n }\n }\n },\n /* this description of stack effect literal syntax is not complete and not as specific as theoretically possible\ntrying to do better is more work and regex-computation-time than it's worth though.\n- we'd like to have the \"delimiter\" parts of the stack effect [ (, --, and ) ] be a different (less-important or comment-like) colour to the stack effect contents\n- we'd like if nested stack effects were treated as such rather than just appearing flat (with `inside`)\n- we'd like if the following variable name conventions were recognised specifically:\nspecial row variables = ..a b..\ntype and stack effect annotations end with a colon = ( quot: ( a: ( -- ) -- b ) -- x ), ( x: number -- )\nword throws unconditional error = *\nany other word-like variable name = a ? q' etc\nhttps://docs.factorcode.org/content/article-effects.html\nthese are pretty complicated to highlight properly without a real parser, and therefore out of scope\nthe old pattern, which may be later useful, was: (^|\\s)(?:call|execute|eval)?\\((?:\\s+[^\"\\r\\n\\t ]\\S*)*?\\s+--(?:\\s+[^\"\\n\\t ]\\S*)*?\\s+\\)(?=\\s|$)\n*/\n\n // current solution is not great\n 'stack-effect-delimiter': [\n {\n // opening parenthesis\n pattern: /(^|\\s)(?:call|eval|execute)?\\((?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // middle --\n pattern: /(\\s)--(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing parenthesis\n pattern: /(\\s)\\)(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n combinators: {\n pattern: null,\n lookbehind: true,\n alias: 'keyword'\n },\n 'kernel-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'sequences-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'math-builtin': {\n pattern: null,\n lookbehind: true,\n alias: 'variable'\n },\n 'constructor-word': {\n // <array> but not <=>\n pattern: /(^|\\s)<(?!=+>|-+>)\\S+>(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'other-builtin-syntax': {\n pattern: null,\n lookbehind: true,\n alias: 'operator'\n },\n /*\nfull list of supported word naming conventions: (the convention appears outside of the [brackets])\nset-[x]\nchange-[x]\nwith-[x]\nnew-[x]\n>[string]\n[base]>\n[string]>[number]\n+[symbol]+\n[boolean-word]?\n?[of]\n[slot-reader]>>\n>>[slot-setter]\n[slot-writer]<<\n([implementation-detail])\n[mutater]!\n[variant]*\n[prettyprint].\n$[help-markup]\n<constructors>, SYNTAX:, etc are supported by their own patterns.\n`with` and `new` from `kernel` are their own builtins.\nsee <https://docs.factorcode.org/content/article-conventions.html>\n*/\n 'conventionally-named-word': {\n pattern:\n /(^|\\s)(?!\")(?:(?:change|new|set|with)-\\S+|\\$\\S+|>[^>\\s]+|[^:>\\s]+>|[^>\\s]+>[^>\\s]+|\\+[^+\\s]+\\+|[^?\\s]+\\?|\\?[^?\\s]+|[^>\\s]+>>|>>[^>\\s]+|[^<\\s]+<<|\\([^()\\s]+\\)|[^!\\s]+!|[^*\\s]\\S*\\*|[^.\\s]\\S*\\.)(?=\\s|$)/,\n lookbehind: true,\n alias: 'keyword'\n },\n 'colon-syntax': {\n pattern: /(^|\\s)(?:[A-Z0-9\\-]+#?)?:{1,2}\\s+(?:;\\S+|(?!;)\\S+)(?=\\s|$)/,\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'semicolon-or-setlocal': {\n pattern: /(\\s)(?:;|:>)(?=\\s|$)/,\n lookbehind: true,\n alias: 'function'\n },\n // do not highlight leading } or trailing X{ at the begin/end of the file as it's invalid syntax\n 'curly-brace-literal-delimiter': [\n {\n // opening\n pattern: /(^|\\s)[a-z]*\\{(?=\\s)/i,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\}(?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n // do not highlight leading ] or trailing [ at the begin/end of the file as it's invalid syntax\n 'quotation-delimiter': [\n {\n // opening\n pattern: /(^|\\s)\\[(?=\\s)/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // closing\n pattern: /(\\s)\\](?=\\s|$)/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n 'normal-word': {\n pattern: /(^|\\s)[^\"\\s]\\S*(?=\\s|$)/,\n lookbehind: true\n },\n /*\nbasic first-class string \"a\"\nwith escaped double-quote \"a\\\"\"\nescaped backslash \"\\\\\"\nand general escapes since Factor has so many \"\\N\"\nsyntax that works in the reference implementation that isn't fully\nsupported because it's an implementation detail:\n\"string 1\"\"string 2\" -> 2 strings (works anyway)\n\"string\"5 -> string, 5\n\"string\"[ ] -> string, quotation\n{ \"a\"} -> array<string>\nthe rest of those examples all properly recognise the string, but not\nthe other object (number, quotation, etc)\nthis is fine for a regex-only implementation.\n*/\n string: {\n pattern: /\"(?:\\\\\\S|[^\"\\\\])*\"/,\n greedy: true,\n inside: string_inside\n }\n }\n var escape = function (str) {\n return (str + '').replace(/([.?*+\\^$\\[\\]\\\\(){}|\\-])/g, '\\\\$1')\n }\n var arrToWordsRegExp = function (arr) {\n return new RegExp('(^|\\\\s)(?:' + arr.map(escape).join('|') + ')(?=\\\\s|$)')\n }\n var builtins = {\n 'kernel-builtin': [\n 'or',\n '2nipd',\n '4drop',\n 'tuck',\n 'wrapper',\n 'nip',\n 'wrapper?',\n 'callstack>array',\n 'die',\n 'dupd',\n 'callstack',\n 'callstack?',\n '3dup',\n 'hashcode',\n 'pick',\n '4nip',\n 'build',\n '>boolean',\n 'nipd',\n 'clone',\n '5nip',\n 'eq?',\n '?',\n '=',\n 'swapd',\n '2over',\n 'clear',\n '2dup',\n 'get-retainstack',\n 'not',\n 'tuple?',\n 'dup',\n '3nipd',\n 'call',\n '-rotd',\n 'object',\n 'drop',\n 'assert=',\n 'assert?',\n '-rot',\n 'execute',\n 'boa',\n 'get-callstack',\n 'curried?',\n '3drop',\n 'pickd',\n 'overd',\n 'over',\n 'roll',\n '3nip',\n 'swap',\n 'and',\n '2nip',\n 'rotd',\n 'throw',\n '(clone)',\n 'hashcode*',\n 'spin',\n 'reach',\n '4dup',\n 'equal?',\n 'get-datastack',\n 'assert',\n '2drop',\n '<wrapper>',\n 'boolean?',\n 'identity-hashcode',\n 'identity-tuple?',\n 'null',\n 'composed?',\n 'new',\n '5drop',\n 'rot',\n '-roll',\n 'xor',\n 'identity-tuple',\n 'boolean'\n ],\n 'other-builtin-syntax': [\n // syntax\n '=======',\n 'recursive',\n 'flushable',\n '>>',\n '<<<<<<',\n 'M\\\\',\n 'B',\n 'PRIVATE>',\n '\\\\',\n '======',\n 'final',\n 'inline',\n 'delimiter',\n 'deprecated',\n '<PRIVATE',\n '>>>>>>',\n '<<<<<<<',\n 'parse-complex',\n 'malformed-complex',\n 'read-only',\n '>>>>>>>',\n 'call-next-method',\n '<<',\n 'foldable',\n // literals\n '$',\n '$[',\n '${'\n ],\n 'sequences-builtin': [\n 'member-eq?',\n 'mismatch',\n 'append',\n 'assert-sequence=',\n 'longer',\n 'repetition',\n 'clone-like',\n '3sequence',\n 'assert-sequence?',\n 'last-index-from',\n 'reversed',\n 'index-from',\n 'cut*',\n 'pad-tail',\n 'join-as',\n 'remove-eq!',\n 'concat-as',\n 'but-last',\n 'snip',\n 'nths',\n 'nth',\n 'sequence',\n 'longest',\n 'slice?',\n '<slice>',\n 'remove-nth',\n 'tail-slice',\n 'empty?',\n 'tail*',\n 'member?',\n 'virtual-sequence?',\n 'set-length',\n 'drop-prefix',\n 'iota',\n 'unclip',\n 'bounds-error?',\n 'unclip-last-slice',\n 'non-negative-integer-expected',\n 'non-negative-integer-expected?',\n 'midpoint@',\n 'longer?',\n '?set-nth',\n '?first',\n 'rest-slice',\n 'prepend-as',\n 'prepend',\n 'fourth',\n 'sift',\n 'subseq-start',\n 'new-sequence',\n '?last',\n 'like',\n 'first4',\n '1sequence',\n 'reverse',\n 'slice',\n 'virtual@',\n 'repetition?',\n 'set-last',\n 'index',\n '4sequence',\n 'max-length',\n 'set-second',\n 'immutable-sequence',\n 'first2',\n 'first3',\n 'supremum',\n 'unclip-slice',\n 'suffix!',\n 'insert-nth',\n 'tail',\n '3append',\n 'short',\n 'suffix',\n 'concat',\n 'flip',\n 'immutable?',\n 'reverse!',\n '2sequence',\n 'sum',\n 'delete-all',\n 'indices',\n 'snip-slice',\n '<iota>',\n 'check-slice',\n 'sequence?',\n 'head',\n 'append-as',\n 'halves',\n 'sequence=',\n 'collapse-slice',\n '?second',\n 'slice-error?',\n 'product',\n 'bounds-check?',\n 'bounds-check',\n 'immutable',\n 'virtual-exemplar',\n 'harvest',\n 'remove',\n 'pad-head',\n 'last',\n 'set-fourth',\n 'cartesian-product',\n 'remove-eq',\n 'shorten',\n 'shorter',\n 'reversed?',\n 'shorter?',\n 'shortest',\n 'head-slice',\n 'pop*',\n 'tail-slice*',\n 'but-last-slice',\n 'iota?',\n 'append!',\n 'cut-slice',\n 'new-resizable',\n 'head-slice*',\n 'sequence-hashcode',\n 'pop',\n 'set-nth',\n '?nth',\n 'second',\n 'join',\n 'immutable-sequence?',\n '<reversed>',\n '3append-as',\n 'virtual-sequence',\n 'subseq?',\n 'remove-nth!',\n 'length',\n 'last-index',\n 'lengthen',\n 'assert-sequence',\n 'copy',\n 'move',\n 'third',\n 'first',\n 'tail?',\n 'set-first',\n 'prefix',\n 'bounds-error',\n '<repetition>',\n 'exchange',\n 'surround',\n 'cut',\n 'min-length',\n 'set-third',\n 'push-all',\n 'head?',\n 'subseq-start-from',\n 'delete-slice',\n 'rest',\n 'sum-lengths',\n 'head*',\n 'infimum',\n 'remove!',\n 'glue',\n 'slice-error',\n 'subseq',\n 'push',\n 'replace-slice',\n 'subseq-as',\n 'unclip-last'\n ],\n 'math-builtin': [\n 'number=',\n 'next-power-of-2',\n '?1+',\n 'fp-special?',\n 'imaginary-part',\n 'float>bits',\n 'number?',\n 'fp-infinity?',\n 'bignum?',\n 'fp-snan?',\n 'denominator',\n 'gcd',\n '*',\n '+',\n 'fp-bitwise=',\n '-',\n 'u>=',\n '/',\n '>=',\n 'bitand',\n 'power-of-2?',\n 'log2-expects-positive',\n 'neg?',\n '<',\n 'log2',\n '>',\n 'integer?',\n 'number',\n 'bits>double',\n '2/',\n 'zero?',\n 'bits>float',\n 'float?',\n 'shift',\n 'ratio?',\n 'rect>',\n 'even?',\n 'ratio',\n 'fp-sign',\n 'bitnot',\n '>fixnum',\n 'complex?',\n '/i',\n 'integer>fixnum',\n '/f',\n 'sgn',\n '>bignum',\n 'next-float',\n 'u<',\n 'u>',\n 'mod',\n 'recip',\n 'rational',\n '>float',\n '2^',\n 'integer',\n 'fixnum?',\n 'neg',\n 'fixnum',\n 'sq',\n 'bignum',\n '>rect',\n 'bit?',\n 'fp-qnan?',\n 'simple-gcd',\n 'complex',\n '<fp-nan>',\n 'real',\n '>fraction',\n 'double>bits',\n 'bitor',\n 'rem',\n 'fp-nan-payload',\n 'real-part',\n 'log2-expects-positive?',\n 'prev-float',\n 'align',\n 'unordered?',\n 'float',\n 'fp-nan?',\n 'abs',\n 'bitxor',\n 'integer>fixnum-strict',\n 'u<=',\n 'odd?',\n '<=',\n '/mod',\n '>integer',\n 'real?',\n 'rational?',\n 'numerator'\n ]\n // that's all for now\n }\n Object.keys(builtins).forEach(function (k) {\n factor[k].pattern = arrToWordsRegExp(builtins[k])\n })\n var combinators = [\n // kernel\n '2bi',\n 'while',\n '2tri',\n 'bi*',\n '4dip',\n 'both?',\n 'same?',\n 'tri@',\n 'curry',\n 'prepose',\n '3bi',\n '?if',\n 'tri*',\n '2keep',\n '3keep',\n 'curried',\n '2keepd',\n 'when',\n '2bi*',\n '2tri*',\n '4keep',\n 'bi@',\n 'keepdd',\n 'do',\n 'unless*',\n 'tri-curry',\n 'if*',\n 'loop',\n 'bi-curry*',\n 'when*',\n '2bi@',\n '2tri@',\n 'with',\n '2with',\n 'either?',\n 'bi',\n 'until',\n '3dip',\n '3curry',\n 'tri-curry*',\n 'tri-curry@',\n 'bi-curry',\n 'keepd',\n 'compose',\n '2dip',\n 'if',\n '3tri',\n 'unless',\n 'tuple',\n 'keep',\n '2curry',\n 'tri',\n 'most',\n 'while*',\n 'dip',\n 'composed',\n 'bi-curry@',\n // sequences\n 'find-last-from',\n 'trim-head-slice',\n 'map-as',\n 'each-from',\n 'none?',\n 'trim-tail',\n 'partition',\n 'if-empty',\n 'accumulate*',\n 'reject!',\n 'find-from',\n 'accumulate-as',\n 'collector-for-as',\n 'reject',\n 'map',\n 'map-sum',\n 'accumulate!',\n '2each-from',\n 'follow',\n 'supremum-by',\n 'map!',\n 'unless-empty',\n 'collector',\n 'padding',\n 'reduce-index',\n 'replicate-as',\n 'infimum-by',\n 'trim-tail-slice',\n 'count',\n 'find-index',\n 'filter',\n 'accumulate*!',\n 'reject-as',\n 'map-integers',\n 'map-find',\n 'reduce',\n 'selector',\n 'interleave',\n '2map',\n 'filter-as',\n 'binary-reduce',\n 'map-index-as',\n 'find',\n 'produce',\n 'filter!',\n 'replicate',\n 'cartesian-map',\n 'cartesian-each',\n 'find-index-from',\n 'map-find-last',\n '3map-as',\n '3map',\n 'find-last',\n 'selector-as',\n '2map-as',\n '2map-reduce',\n 'accumulate',\n 'each',\n 'each-index',\n 'accumulate*-as',\n 'when-empty',\n 'all?',\n 'collector-as',\n 'push-either',\n 'new-like',\n 'collector-for',\n '2selector',\n 'push-if',\n '2all?',\n 'map-reduce',\n '3each',\n 'any?',\n 'trim-slice',\n '2reduce',\n 'change-nth',\n 'produce-as',\n '2each',\n 'trim',\n 'trim-head',\n 'cartesian-find',\n 'map-index',\n // math\n 'if-zero',\n 'each-integer',\n 'unless-zero',\n '(find-integer)',\n 'when-zero',\n 'find-last-integer',\n '(all-integers?)',\n 'times',\n '(each-integer)',\n 'find-integer',\n 'all-integers?',\n // math.combinators\n 'unless-negative',\n 'if-positive',\n 'when-positive',\n 'when-negative',\n 'unless-positive',\n 'if-negative',\n // combinators\n 'case',\n '2cleave',\n 'cond>quot',\n 'case>quot',\n '3cleave',\n 'wrong-values',\n 'to-fixed-point',\n 'alist>quot',\n 'cond',\n 'cleave',\n 'call-effect',\n 'recursive-hashcode',\n 'spread',\n 'deep-spread>quot',\n // combinators.short-circuit\n '2||',\n '0||',\n 'n||',\n '0&&',\n '2&&',\n '3||',\n '1||',\n '1&&',\n 'n&&',\n '3&&',\n // combinators.smart\n 'smart-unless*',\n 'keep-inputs',\n 'reduce-outputs',\n 'smart-when*',\n 'cleave>array',\n 'smart-with',\n 'smart-apply',\n 'smart-if',\n 'inputs/outputs',\n 'output>sequence-n',\n 'map-outputs',\n 'map-reduce-outputs',\n 'dropping',\n 'output>array',\n 'smart-map-reduce',\n 'smart-2map-reduce',\n 'output>array-n',\n 'nullary',\n 'input<sequence',\n 'append-outputs',\n 'drop-inputs',\n 'inputs',\n 'smart-2reduce',\n 'drop-outputs',\n 'smart-reduce',\n 'preserving',\n 'smart-when',\n 'outputs',\n 'append-outputs-as',\n 'smart-unless',\n 'smart-if*',\n 'sum-outputs',\n 'input<sequence-unsafe',\n 'output>sequence'\n // tafn\n ]\n factor.combinators.pattern = arrToWordsRegExp(combinators)\n Prism.languages.factor = factor\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\n$false.displayName = 'false'\n$false.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function $false(Prism) {\n ;(function (Prism) {\n /**\n * Based on the manual by Wouter van Oortmerssen.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2801#issue-829717504}\n */\n Prism.languages['false'] = {\n comment: {\n pattern: /\\{[^}]*\\}/\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n 'character-code': {\n pattern: /'(?:[^\\r]|\\r\\n?)/,\n alias: 'number'\n },\n 'assembler-code': {\n pattern: /\\d+`/,\n alias: 'important'\n },\n number: /\\d+/,\n operator: /[-!#$%&'*+,./:;=>?@\\\\^_`|~ßø]/,\n punctuation: /\\[|\\]/,\n variable: /[a-z]/,\n 'non-standard': {\n pattern: /[()<BDO®]/,\n alias: 'bold'\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nfirestoreSecurityRules.displayName = 'firestore-security-rules'\nfirestoreSecurityRules.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function firestoreSecurityRules(Prism) {\n Prism.register(refractorClike)\n Prism.languages['firestore-security-rules'] = Prism.languages.extend(\n 'clike',\n {\n comment: /\\/\\/.*/,\n keyword:\n /\\b(?:allow|function|if|match|null|return|rules_version|service)\\b/,\n operator: /&&|\\|\\||[<>!=]=?|[-+*/%]|\\b(?:in|is)\\b/\n }\n )\n delete Prism.languages['firestore-security-rules']['class-name']\n Prism.languages.insertBefore('firestore-security-rules', 'keyword', {\n path: {\n pattern:\n /(^|[\\s(),])(?:\\/(?:[\\w\\xA0-\\uFFFF]+|\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)))+/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /\\{[\\w\\xA0-\\uFFFF]+(?:=\\*\\*)?\\}|\\$\\([\\w\\xA0-\\uFFFF.]+\\)/,\n inside: {\n operator: /=/,\n keyword: /\\*\\*/,\n punctuation: /[.$(){}]/\n }\n },\n punctuation: /\\//\n }\n },\n method: {\n // to make the pattern shorter, the actual method names are omitted\n pattern: /(\\ballow\\s+)[a-z]+(?:\\s*,\\s*[a-z]+)*(?=\\s*[:;])/,\n lookbehind: true,\n alias: 'builtin',\n inside: {\n punctuation: /,/\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nflow.displayName = 'flow'\nflow.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function flow(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n Prism.languages.flow = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('flow', 'keyword', {\n type: [\n {\n pattern:\n /\\b(?:[Bb]oolean|Function|[Nn]umber|[Ss]tring|[Ss]ymbol|any|mixed|null|void)\\b/,\n alias: 'class-name'\n }\n ]\n })\n Prism.languages.flow['function-variable'].pattern =\n /(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*=\\s*(?:function\\b|(?:\\([^()]*\\)(?:\\s*:\\s*\\w+)?|(?!\\s)[_$a-z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)\\s*=>))/i\n delete Prism.languages.flow['parameter']\n Prism.languages.insertBefore('flow', 'operator', {\n 'flow-punctuation': {\n pattern: /\\{\\||\\|\\}/,\n alias: 'punctuation'\n }\n })\n if (!Array.isArray(Prism.languages.flow.keyword)) {\n Prism.languages.flow.keyword = [Prism.languages.flow.keyword]\n }\n Prism.languages.flow.keyword.unshift(\n {\n pattern: /(^|[^$]\\b)(?:Class|declare|opaque|type)\\b(?!\\$)/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^$]\\B)\\$(?:Diff|Enum|Exact|Keys|ObjMap|PropertyType|Record|Shape|Subtype|Supertype|await)\\b(?!\\$)/,\n lookbehind: true\n }\n )\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nfortran.displayName = 'fortran'\nfortran.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function fortran(Prism) {\n Prism.languages.fortran = {\n 'quoted-number': {\n pattern: /[BOZ](['\"])[A-F0-9]+\\1/i,\n alias: 'number'\n },\n string: {\n pattern:\n /(?:\\b\\w+_)?(['\"])(?:\\1\\1|&(?:\\r\\n?|\\n)(?:[ \\t]*!.*(?:\\r\\n?|\\n)|(?![ \\t]*!))|(?!\\1).)*(?:\\1|&)/,\n inside: {\n comment: {\n pattern: /(&(?:\\r\\n?|\\n)\\s*)!.*/,\n lookbehind: true\n }\n }\n },\n comment: {\n pattern: /!.*/,\n greedy: true\n },\n boolean: /\\.(?:FALSE|TRUE)\\.(?:_\\w+)?/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[ED][+-]?\\d+)?(?:_\\w+)?/i,\n keyword: [\n // Types\n /\\b(?:CHARACTER|COMPLEX|DOUBLE ?PRECISION|INTEGER|LOGICAL|REAL)\\b/i,\n // END statements\n /\\b(?:END ?)?(?:BLOCK ?DATA|DO|FILE|FORALL|FUNCTION|IF|INTERFACE|MODULE(?! PROCEDURE)|PROGRAM|SELECT|SUBROUTINE|TYPE|WHERE)\\b/i,\n // Statements\n /\\b(?:ALLOCATABLE|ALLOCATE|BACKSPACE|CALL|CASE|CLOSE|COMMON|CONTAINS|CONTINUE|CYCLE|DATA|DEALLOCATE|DIMENSION|DO|END|EQUIVALENCE|EXIT|EXTERNAL|FORMAT|GO ?TO|IMPLICIT(?: NONE)?|INQUIRE|INTENT|INTRINSIC|MODULE PROCEDURE|NAMELIST|NULLIFY|OPEN|OPTIONAL|PARAMETER|POINTER|PRINT|PRIVATE|PUBLIC|READ|RETURN|REWIND|SAVE|SELECT|STOP|TARGET|WHILE|WRITE)\\b/i,\n // Others\n /\\b(?:ASSIGNMENT|DEFAULT|ELEMENTAL|ELSE|ELSEIF|ELSEWHERE|ENTRY|IN|INCLUDE|INOUT|KIND|NULL|ONLY|OPERATOR|OUT|PURE|RECURSIVE|RESULT|SEQUENCE|STAT|THEN|USE)\\b/i\n ],\n operator: [\n /\\*\\*|\\/\\/|=>|[=\\/]=|[<>]=?|::|[+\\-*=%]|\\.[A-Z]+\\./i,\n {\n // Use lookbehind to prevent confusion with (/ /)\n pattern: /(^|(?!\\().)\\/(?!\\))/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\/|\\/\\)|[(),;:&]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nftl.displayName = 'ftl'\nftl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ftl(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n // https://freemarker.apache.org/docs/dgui_template_exp.html\n\n // FTL expression with 4 levels of nesting supported\n var FTL_EXPR =\n /[^<()\"']|\\((?:<expr>)*\\)|<(?!#--)|<#--(?:[^-]|-(?!->))*-->|\"(?:[^\\\\\"]|\\\\.)*\"|'(?:[^\\\\']|\\\\.)*'/\n .source\n for (var i = 0; i < 2; i++) {\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, function () {\n return FTL_EXPR\n })\n }\n FTL_EXPR = FTL_EXPR.replace(/<expr>/g, /[^\\s\\S]/.source)\n var ftl = {\n comment: /<#--[\\s\\S]*?-->/,\n string: [\n {\n // raw string\n pattern: /\\br(\"|')(?:(?!\\1)[^\\\\]|\\\\.)*\\1/,\n greedy: true\n },\n {\n pattern: RegExp(\n /(\"|')(?:(?!\\1|\\$\\{)[^\\\\]|\\\\.|\\$\\{(?:(?!\\})(?:<expr>))*\\})*\\1/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(\n /((?:^|[^\\\\])(?:\\\\\\\\)*)\\$\\{(?:(?!\\})(?:<expr>))*\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n )\n ),\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: null\n }\n }\n }\n }\n ],\n keyword: /\\b(?:as)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n pattern: /((?:^|[^?])\\?\\s*)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator:\n /\\.\\.[<*!]?|->|--|\\+\\+|&&|\\|\\||\\?{1,2}|[-+*/%!=<>]=?|\\b(?:gt|gte|lt|lte)\\b/,\n punctuation: /[,;.:()[\\]{}]/\n }\n ftl.string[1].inside.interpolation.inside.rest = ftl\n Prism.languages.ftl = {\n 'ftl-comment': {\n // the pattern is shortened to be more efficient\n pattern: /^<#--[\\s\\S]*/,\n alias: 'comment'\n },\n 'ftl-directive': {\n pattern: /^<[\\s\\S]+>$/,\n inside: {\n directive: {\n pattern: /(^<\\/?)[#@][a-z]\\w*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n punctuation: /^<\\/?|\\/?>$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n },\n 'ftl-interpolation': {\n pattern: /^\\$\\{[\\s\\S]*\\}$/,\n inside: {\n punctuation: /^\\$\\{|\\}$/,\n content: {\n pattern: /\\s*\\S[\\s\\S]*/,\n alias: 'ftl',\n inside: ftl\n }\n }\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n // eslint-disable-next-line regexp/no-useless-lazy\n var pattern = RegExp(\n /<#--[\\s\\S]*?-->|<\\/?[#@][a-zA-Z](?:<expr>)*?>|\\$\\{(?:<expr>)*?\\}/.source.replace(\n /<expr>/g,\n function () {\n return FTL_EXPR\n }\n ),\n 'gi'\n )\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'ftl',\n pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ftl')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ngml.displayName = 'gml'\ngml.aliases = ['gamemakerlanguage']\n\n/** @param {Refractor} Prism */\nexport default function gml(Prism) {\n Prism.register(refractorClike)\n Prism.languages.gamemakerlanguage = Prism.languages.gml =\n Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|continue|default|do|else|enum|exit|for|globalvar|if|repeat|return|switch|until|var|while)\\b/,\n number:\n /(?:\\b0x[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ulf]{0,4}/i,\n operator:\n /--|\\+\\+|[-+%/=]=?|!=|\\*\\*?=?|<[<=>]?|>[=>]?|&&?|\\^\\^?|\\|\\|?|~|\\b(?:and|at|not|or|with|xor)\\b/,\n constant:\n /\\b(?:GM_build_date|GM_version|action_(?:continue|restart|reverse|stop)|all|gamespeed_(?:fps|microseconds)|global|local|noone|other|pi|pointer_(?:invalid|null)|self|timezone_(?:local|utc)|undefined|ev_(?:create|destroy|step|alarm|keyboard|mouse|collision|other|draw|draw_(?:begin|end|post|pre)|keypress|keyrelease|trigger|(?:left|middle|no|right)_button|(?:left|middle|right)_press|(?:left|middle|right)_release|mouse_(?:enter|leave|wheel_down|wheel_up)|global_(?:left|middle|right)_button|global_(?:left|middle|right)_press|global_(?:left|middle|right)_release|joystick(?:1|2)_(?:button1|button2|button3|button4|button5|button6|button7|button8|down|left|right|up)|outside|boundary|game_start|game_end|room_start|room_end|no_more_lives|animation_end|end_of_path|no_more_health|user\\d|gui|gui_begin|gui_end|step_(?:begin|end|normal))|vk_(?:alt|anykey|backspace|control|delete|down|end|enter|escape|home|insert|left|nokey|pagedown|pageup|pause|printscreen|return|right|shift|space|tab|up|f\\d|numpad\\d|add|decimal|divide|lalt|lcontrol|lshift|multiply|ralt|rcontrol|rshift|subtract)|achievement_(?:filter_(?:all_players|favorites_only|friends_only)|friends_info|info|leaderboard_info|our_info|pic_loaded|show_(?:achievement|bank|friend_picker|leaderboard|profile|purchase_prompt|ui)|type_challenge|type_score_challenge)|asset_(?:font|object|path|room|script|shader|sound|sprite|tiles|timeline|unknown)|audio_(?:3d|falloff_(?:exponent_distance|exponent_distance_clamped|inverse_distance|inverse_distance_clamped|linear_distance|linear_distance_clamped|none)|mono|new_system|old_system|stereo)|bm_(?:add|complex|dest_alpha|dest_color|dest_colour|inv_dest_alpha|inv_dest_color|inv_dest_colour|inv_src_alpha|inv_src_color|inv_src_colour|max|normal|one|src_alpha|src_alpha_sat|src_color|src_colour|subtract|zero)|browser_(?:chrome|firefox|ie|ie_mobile|not_a_browser|opera|safari|safari_mobile|tizen|unknown|windows_store)|buffer_(?:bool|f16|f32|f64|fast|fixed|generalerror|grow|invalidtype|network|outofbounds|outofspace|s16|s32|s8|seek_end|seek_relative|seek_start|string|text|u16|u32|u64|u8|vbuffer|wrap)|c_(?:aqua|black|blue|dkgray|fuchsia|gray|green|lime|ltgray|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)|cmpfunc_(?:always|equal|greater|greaterequal|less|lessequal|never|notequal)|cr_(?:appstart|arrow|beam|cross|default|drag|handpoint|hourglass|none|size_all|size_nesw|size_ns|size_nwse|size_we|uparrow)|cull_(?:clockwise|counterclockwise|noculling)|device_(?:emulator|tablet)|device_ios_(?:ipad|ipad_retina|iphone|iphone5|iphone6|iphone6plus|iphone_retina|unknown)|display_(?:landscape|landscape_flipped|portrait|portrait_flipped)|dll_(?:cdecl|cdel|stdcall)|ds_type_(?:grid|list|map|priority|queue|stack)|ef_(?:cloud|ellipse|explosion|firework|flare|rain|ring|smoke|smokeup|snow|spark|star)|fa_(?:archive|bottom|center|directory|hidden|left|middle|readonly|right|sysfile|top|volumeid)|fb_login_(?:default|fallback_to_webview|forcing_safari|forcing_webview|no_fallback_to_webview|use_system_account)|iap_(?:available|canceled|ev_consume|ev_product|ev_purchase|ev_restore|ev_storeload|failed|purchased|refunded|status_available|status_loading|status_processing|status_restoring|status_unavailable|status_uninitialised|storeload_failed|storeload_ok|unavailable)|leaderboard_type_(?:number|time_mins_secs)|lighttype_(?:dir|point)|matrix_(?:projection|view|world)|mb_(?:any|left|middle|none|right)|network_(?:config_(?:connect_timeout|disable_reliable_udp|enable_reliable_udp|use_non_blocking_socket)|socket_(?:bluetooth|tcp|udp)|type_(?:connect|data|disconnect|non_blocking_connect))|of_challenge_(?:lose|tie|win)|os_(?:android|ios|linux|macosx|ps3|ps4|psvita|unknown|uwp|win32|win8native|windows|winphone|xboxone)|phy_debug_render_(?:aabb|collision_pairs|coms|core_shapes|joints|obb|shapes)|phy_joint_(?:anchor_1_x|anchor_1_y|anchor_2_x|anchor_2_y|angle|angle_limits|damping_ratio|frequency|length_1|length_2|lower_angle_limit|max_force|max_length|max_motor_force|max_motor_torque|max_torque|motor_force|motor_speed|motor_torque|reaction_force_x|reaction_force_y|reaction_torque|speed|translation|upper_angle_limit)|phy_particle_data_flag_(?:category|color|colour|position|typeflags|velocity)|phy_particle_flag_(?:colormixing|colourmixing|elastic|powder|spring|tensile|viscous|wall|water|zombie)|phy_particle_group_flag_(?:rigid|solid)|pr_(?:linelist|linestrip|pointlist|trianglefan|trianglelist|trianglestrip)|ps_(?:distr|shape)_(?:diamond|ellipse|gaussian|invgaussian|line|linear|rectangle)|pt_shape_(?:circle|cloud|disk|explosion|flare|line|pixel|ring|smoke|snow|spark|sphere|square|star)|ty_(?:real|string)|gp_(?:face\\d|axislh|axislv|axisrh|axisrv|padd|padl|padr|padu|select|shoulderl|shoulderlb|shoulderr|shoulderrb|start|stickl|stickr)|lb_disp_(?:none|numeric|time_ms|time_sec)|lb_sort_(?:ascending|descending|none)|ov_(?:achievements|community|friends|gamegroup|players|settings)|ugc_(?:filetype_(?:community|microtrans)|list_(?:Favorited|Followed|Published|Subscribed|UsedOrPlayed|VotedDown|VotedOn|VotedUp|WillVoteLater)|match_(?:AllGuides|Artwork|Collections|ControllerBindings|IntegratedGuides|Items|Items_Mtx|Items_ReadyToUse|Screenshots|UsableInGame|Videos|WebGuides)|query_(?:AcceptedForGameRankedByAcceptanceDate|CreatedByFriendsRankedByPublicationDate|FavoritedByFriendsRankedByPublicationDate|NotYetRated)|query_RankedBy(?:NumTimesReported|PublicationDate|TextSearch|TotalVotesAsc|Trend|Vote|VotesUp)|result_success|sortorder_CreationOrder(?:Asc|Desc)|sortorder_(?:ForModeration|LastUpdatedDesc|SubscriptionDateDesc|TitleAsc|VoteScoreDesc)|visibility_(?:friends_only|private|public))|vertex_usage_(?:binormal|blendindices|blendweight|color|colour|depth|fog|normal|position|psize|sample|tangent|texcoord|textcoord)|vertex_type_(?:float\\d|color|colour|ubyte4)|input_type|layerelementtype_(?:background|instance|oldtilemap|particlesystem|sprite|tile|tilemap|undefined)|se_(?:chorus|compressor|echo|equalizer|flanger|gargle|none|reverb)|text_type|tile_(?:flip|index_mask|mirror|rotate)|(?:obj|rm|scr|spr)\\w+)\\b/,\n variable:\n /\\b(?:alarm|application_surface|async_load|background_(?:alpha|blend|color|colour|foreground|height|hspeed|htiled|index|showcolor|showcolour|visible|vspeed|vtiled|width|x|xscale|y|yscale)|bbox_(?:bottom|left|right|top)|browser_(?:height|width)|caption_(?:health|lives|score)|current_(?:day|hour|minute|month|second|time|weekday|year)|cursor_sprite|debug_mode|delta_time|direction|display_aa|error_(?:last|occurred)|event_(?:action|number|object|type)|fps|fps_real|friction|game_(?:display|project|save)_(?:id|name)|gamemaker_(?:pro|registered|version)|gravity|gravity_direction|(?:h|v)speed|health|iap_data|id|image_(?:alpha|angle|blend|depth|index|number|speed|xscale|yscale)|instance_(?:count|id)|keyboard_(?:key|lastchar|lastkey|string)|layer|lives|mask_index|mouse_(?:button|lastbutton|x|y)|object_index|os_(?:browser|device|type|version)|path_(?:endaction|index|orientation|position|positionprevious|scale|speed)|persistent|phy_(?:rotation|(?:col_normal|collision|com|linear_velocity|position|speed)_(?:x|y)|angular_(?:damping|velocity)|position_(?:x|y)previous|speed|linear_damping|bullet|fixed_rotation|active|mass|inertia|dynamic|kinematic|sleeping|collision_points)|pointer_(?:invalid|null)|room|room_(?:caption|first|height|last|persistent|speed|width)|score|secure_mode|show_(?:health|lives|score)|solid|speed|sprite_(?:height|index|width|xoffset|yoffset)|temp_directory|timeline_(?:index|loop|position|running|speed)|transition_(?:color|kind|steps)|undefined|view_(?:angle|current|enabled|(?:h|v)(?:border|speed)|(?:h|w|x|y)port|(?:h|w|x|y)view|object|surface_id|visible)|visible|webgl_enabled|working_directory|(?:x|y)(?:previous|start)|x|y|argument(?:_relitive|_count|\\d)|argument|global|local|other|self)\\b/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngap.displayName = 'gap'\ngap.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gap(Prism) {\n // https://www.gap-system.org/Manuals/doc/ref/chap4.html\n // https://www.gap-system.org/Manuals/doc/ref/chap27.html\n\n Prism.languages.gap = {\n shell: {\n pattern: /^gap>[\\s\\S]*?(?=^gap>|$(?![\\s\\S]))/m,\n greedy: true,\n inside: {\n gap: {\n pattern: /^(gap>).+(?:(?:\\r(?:\\n|(?!\\n))|\\n)>.*)*/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^gap>/\n }\n },\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\'\"])(?:'(?:[^\\r\\n\\\\']|\\\\.){1,10}'|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"(?!\")|\"\"\"[\\s\\S]*?\"\"\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n }\n }\n },\n keyword:\n /\\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n continuation: {\n pattern: /([\\r\\n])>/,\n lookbehind: true,\n alias: 'punctuation'\n },\n operator: /->|[-+*/^~=!]|<>|[<>]=?|:=|\\.\\./,\n punctuation: /[()[\\]{},;.:]/\n }\n Prism.languages.gap.shell.inside.gap.inside = Prism.languages.gap\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngcode.displayName = 'gcode'\ngcode.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gcode(Prism) {\n Prism.languages.gcode = {\n comment: /;.*|\\B\\(.*?\\)\\B/,\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n keyword: /\\b[GM]\\d+(?:\\.\\d+)?\\b/,\n property: /\\b[A-Z]/,\n checksum: {\n pattern: /(\\*)\\d+/,\n lookbehind: true,\n alias: 'number'\n },\n // T0:0:0\n punctuation: /[:*]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngdscript.displayName = 'gdscript'\ngdscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gdscript(Prism) {\n Prism.languages.gdscript = {\n comment: /#.*/,\n string: {\n pattern:\n /@?(?:(\"|')(?:(?!\\1)[^\\n\\\\]|\\\\[\\s\\S])*\\1(?!\"|')|\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\")/,\n greedy: true\n },\n 'class-name': {\n // class_name Foo, extends Bar, class InnerClass\n // export(int) var baz, export(int, 0) var i\n // as Node\n // const FOO: int = 9, var bar: bool = true\n // func add(reference: Item, amount: int) -> Item:\n pattern:\n /(^(?:class|class_name|extends)[ \\t]+|^export\\([ \\t]*|\\bas[ \\t]+|(?:\\b(?:const|var)[ \\t]|[,(])[ \\t]*\\w+[ \\t]*:[ \\t]*|->[ \\t]*)[a-zA-Z_]\\w*/m,\n lookbehind: true\n },\n keyword:\n /\\b(?:and|as|assert|break|breakpoint|class|class_name|const|continue|elif|else|enum|export|extends|for|func|if|in|is|master|mastersync|match|not|null|onready|or|pass|preload|puppet|puppetsync|remote|remotesync|return|self|setget|signal|static|tool|var|while|yield)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*\\()/i,\n variable: /\\$\\w+/,\n number: [\n /\\b0b[01_]+\\b|\\b0x[\\da-fA-F_]+\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.[\\d_]+)(?:e[+-]?[\\d_]+)?\\b/,\n /\\b(?:INF|NAN|PI|TAU)\\b/\n ],\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /->|:=|&&|\\|\\||<<|>>|[-+*/%&|!<>=]=?|[~^]/,\n punctuation: /[.:,;()[\\]{}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngedcom.displayName = 'gedcom'\ngedcom.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gedcom(Prism) {\n Prism.languages.gedcom = {\n 'line-value': {\n // Preceded by level, optional pointer, and tag\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?\\w+ ).+/m,\n lookbehind: true,\n inside: {\n pointer: {\n pattern: /^@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@$/,\n alias: 'variable'\n }\n }\n },\n record: {\n // Preceded by level and optional pointer\n pattern:\n /(^[\\t ]*\\d+ +(?:@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@ +)?)\\w+/m,\n lookbehind: true,\n alias: 'tag'\n },\n level: {\n pattern: /(^[\\t ]*)\\d+/m,\n lookbehind: true,\n alias: 'number'\n },\n pointer: {\n pattern: /@\\w[\\w!\"$%&'()*+,\\-./:;<=>?[\\\\\\]^`{|}~\\x80-\\xfe #]*@/,\n alias: 'variable'\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngettext.displayName = 'gettext'\ngettext.aliases = ['po']\n\n/** @param {Refractor} Prism */\nexport default function gettext(Prism) {\n Prism.languages.gettext = {\n comment: [\n {\n pattern: /# .*/,\n greedy: true,\n alias: 'translator-comment'\n },\n {\n pattern: /#\\..*/,\n greedy: true,\n alias: 'extracted-comment'\n },\n {\n pattern: /#:.*/,\n greedy: true,\n alias: 'reference-comment'\n },\n {\n pattern: /#,.*/,\n greedy: true,\n alias: 'flag-comment'\n },\n {\n pattern: /#\\|.*/,\n greedy: true,\n alias: 'previously-untranslated-comment'\n },\n {\n pattern: /#.*/,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n keyword: /^msg(?:ctxt|id|id_plural|str)\\b/m,\n number: /\\b\\d+\\b/,\n punctuation: /[\\[\\]]/\n }\n Prism.languages.po = Prism.languages.gettext\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngherkin.displayName = 'gherkin'\ngherkin.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gherkin(Prism) {\n ;(function (Prism) {\n var tableRow = /(?:\\r?\\n|\\r)[ \\t]*\\|.+\\|(?:(?!\\|).)*/.source\n Prism.languages.gherkin = {\n pystring: {\n pattern: /(\"\"\"|''')[\\s\\S]+?\\1/,\n alias: 'string'\n },\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[ \\t]*)@\\S*/m,\n lookbehind: true\n },\n feature: {\n pattern:\n /((?:^|\\r?\\n|\\r)[ \\t]*)(?:Ability|Ahoy matey!|Arwedd|Aspekt|Besigheid Behoefte|Business Need|Caracteristica|Característica|Egenskab|Egenskap|Eiginleiki|Feature|Fīča|Fitur|Fonctionnalité|Fonksyonalite|Funcionalidade|Funcionalitat|Functionalitate|Funcţionalitate|Funcționalitate|Functionaliteit|Fungsi|Funkcia|Funkcija|Funkcionalitāte|Funkcionalnost|Funkcja|Funksie|Funktionalität|Funktionalitéit|Funzionalità|Hwaet|Hwæt|Jellemző|Karakteristik|Lastnost|Mak|Mogucnost|laH|Mogućnost|Moznosti|Možnosti|OH HAI|Omadus|Ominaisuus|Osobina|Özellik|Potrzeba biznesowa|perbogh|poQbogh malja'|Požadavek|Požiadavka|Pretty much|Qap|Qu'meH 'ut|Savybė|Tính năng|Trajto|Vermoë|Vlastnosť|Właściwość|Značilnost|Δυνατότητα|Λειτουργία|Могућност|Мөмкинлек|Особина|Свойство|Үзенчәлеклелек|Функционал|Функционалност|Функция|Функціонал|תכונה|خاصية|خصوصیت|صلاحیت|کاروبار کی ضرورت|وِیژگی|रूप लेख|ਖਾਸੀਅਤ|ਨਕਸ਼ ਨੁਹਾਰ|ਮੁਹਾਂਦਰਾ|గుణము|ಹೆಚ್ಚಳ|ความต้องการทางธุรกิจ|ความสามารถ|โครงหลัก|기능|フィーチャ|功能|機能):(?:[^:\\r\\n]+(?:\\r?\\n|\\r|$))*/,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]+/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n scenario: {\n pattern:\n /(^[ \\t]*)(?:Abstract Scenario|Abstrakt Scenario|Achtergrond|Aer|Ær|Agtergrond|All y'all|Antecedentes|Antecedents|Atburðarás|Atburðarásir|Awww, look mate|B4|Background|Baggrund|Bakgrund|Bakgrunn|Bakgrunnur|Beispiele|Beispiller|Bối cảnh|Cefndir|Cenario|Cenário|Cenario de Fundo|Cenário de Fundo|Cenarios|Cenários|Contesto|Context|Contexte|Contexto|Conto|Contoh|Contone|Dæmi|Dasar|Dead men tell no tales|Delineacao do Cenario|Delineação do Cenário|Dis is what went down|Dữ liệu|Dyagram Senaryo|Dyagram senaryo|Egzanp|Ejemplos|Eksempler|Ekzemploj|Enghreifftiau|Esbozo do escenario|Escenari|Escenario|Esempi|Esquema de l'escenari|Esquema del escenario|Esquema do Cenario|Esquema do Cenário|EXAMPLZ|Examples|Exempel|Exemple|Exemples|Exemplos|First off|Fono|Forgatókönyv|Forgatókönyv vázlat|Fundo|Geçmiş|Grundlage|Hannergrond|ghantoH|Háttér|Heave to|Istorik|Juhtumid|Keadaan|Khung kịch bản|Khung tình huống|Kịch bản|Koncept|Konsep skenario|Kontèks|Kontekst|Kontekstas|Konteksts|Kontext|Konturo de la scenaro|Latar Belakang|lut chovnatlh|lut|lutmey|Lýsing Atburðarásar|Lýsing Dæma|MISHUN SRSLY|MISHUN|Menggariskan Senario|mo'|Náčrt Scenára|Náčrt Scénáře|Náčrt Scenáru|Oris scenarija|Örnekler|Osnova|Osnova Scenára|Osnova scénáře|Osnutek|Ozadje|Paraugs|Pavyzdžiai|Példák|Piemēri|Plan du scénario|Plan du Scénario|Plan Senaryo|Plan senaryo|Plang vum Szenario|Pozadí|Pozadie|Pozadina|Príklady|Příklady|Primer|Primeri|Primjeri|Przykłady|Raamstsenaarium|Reckon it's like|Rerefons|Scenár|Scénář|Scenarie|Scenarij|Scenarijai|Scenarijaus šablonas|Scenariji|Scenārijs|Scenārijs pēc parauga|Scenarijus|Scenario|Scénario|Scenario Amlinellol|Scenario Outline|Scenario Template|Scenariomal|Scenariomall|Scenarios|Scenariu|Scenariusz|Scenaro|Schema dello scenario|Se ðe|Se the|Se þe|Senario|Senaryo Deskripsyon|Senaryo deskripsyon|Senaryo|Senaryo taslağı|Shiver me timbers|Situācija|Situai|Situasie Uiteensetting|Situasie|Skenario konsep|Skenario|Skica|Structura scenariu|Structură scenariu|Struktura scenarija|Stsenaarium|Swa hwaer swa|Swa|Swa hwær swa|Szablon scenariusza|Szenario|Szenariogrundriss|Tapaukset|Tapaus|Tapausaihio|Taust|Tausta|Template Keadaan|Template Senario|Template Situai|The thing of it is|Tình huống|Variantai|Voorbeelde|Voorbeelden|Wharrimean is|Yo-ho-ho|You'll wanna|Założenia|Παραδείγματα|Περιγραφή Σεναρίου|Σενάρια|Σενάριο|Υπόβαθρο|Кереш|Контекст|Концепт|Мисаллар|Мисоллар|Основа|Передумова|Позадина|Предистория|Предыстория|Приклади|Пример|Примери|Примеры|Рамка на сценарий|Скица|Структура сценарија|Структура сценария|Структура сценарію|Сценарий|Сценарий структураси|Сценарийның төзелеше|Сценарији|Сценарио|Сценарій|Тарих|Үрнәкләр|דוגמאות|רקע|תבנית תרחיש|תרחיש|الخلفية|الگوی سناریو|امثلة|پس منظر|زمینه|سناریو|سيناريو|سيناريو مخطط|مثالیں|منظر نامے کا خاکہ|منظرنامہ|نمونه ها|उदाहरण|परिदृश्य|परिदृश्य रूपरेखा|पृष्ठभूमि|ਉਦਾਹਰਨਾਂ|ਪਟਕਥਾ|ਪਟਕਥਾ ਢਾਂਚਾ|ਪਟਕਥਾ ਰੂਪ ਰੇਖਾ|ਪਿਛੋਕੜ|ఉదాహరణలు|కథనం|నేపథ్యం|సన్నివేశం|ಉದಾಹರಣೆಗಳು|ಕಥಾಸಾರಾಂಶ|ವಿವರಣೆ|ಹಿನ್ನೆಲೆ|โครงสร้างของเหตุการณ์|ชุดของตัวอย่าง|ชุดของเหตุการณ์|แนวคิด|สรุปเหตุการณ์|เหตุการณ์|배경|시나리오|시나리오 개요|예|サンプル|シナリオ|シナリオアウトライン|シナリオテンプレ|シナリオテンプレート|テンプレ|例|例子|剧本|剧本大纲|劇本|劇本大綱|场景|场景大纲|場景|場景大綱|背景):[^:\\r\\n]*/m,\n lookbehind: true,\n inside: {\n important: {\n pattern: /(:)[^\\r\\n]*/,\n lookbehind: true\n },\n keyword: /[^:\\r\\n]+:/\n }\n },\n 'table-body': {\n // Look-behind is used to skip the table head, which has the same format as any table row\n pattern: RegExp('(' + tableRow + ')(?:' + tableRow + ')+'),\n lookbehind: true,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n },\n td: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'string'\n },\n punctuation: /\\|/\n }\n },\n 'table-head': {\n pattern: RegExp(tableRow),\n inside: {\n th: {\n pattern: /\\s*[^\\s|][^|]*/,\n alias: 'variable'\n },\n punctuation: /\\|/\n }\n },\n atrule: {\n pattern:\n /(^[ \\t]+)(?:'a|'ach|'ej|7|a|A také|A taktiež|A tiež|A zároveň|Aber|Ac|Adott|Akkor|Ak|Aleshores|Ale|Ali|Allora|Alors|Als|Ama|Amennyiben|Amikor|Ampak|an|AN|Ananging|And y'all|And|Angenommen|Anrhegedig a|An|Apabila|Atès|Atesa|Atunci|Avast!|Aye|A|awer|Bagi|Banjur|Bet|Biết|Blimey!|Buh|But at the end of the day I reckon|But y'all|But|BUT|Cal|Când|Cand|Cando|Ce|Cuando|Če|Ða ðe|Ða|Dadas|Dada|Dados|Dado|DaH ghu' bejlu'|dann|Dann|Dano|Dan|Dar|Dat fiind|Data|Date fiind|Date|Dati fiind|Dati|Daţi fiind|Dați fiind|DEN|Dato|De|Den youse gotta|Dengan|Diberi|Diyelim ki|Donada|Donat|Donitaĵo|Do|Dun|Duota|Ðurh|Eeldades|Ef|Eğer ki|Entao|Então|Entón|E|En|Entonces|Epi|És|Etant donnée|Etant donné|Et|Étant données|Étant donnée|Étant donné|Etant données|Etant donnés|Étant donnés|Fakat|Gangway!|Gdy|Gegeben seien|Gegeben sei|Gegeven|Gegewe|ghu' noblu'|Gitt|Given y'all|Given|Givet|Givun|Ha|Cho|I CAN HAZ|In|Ir|It's just unbelievable|I|Ja|Jeśli|Jeżeli|Kad|Kada|Kadar|Kai|Kaj|Když|Keď|Kemudian|Ketika|Khi|Kiedy|Ko|Kuid|Kui|Kun|Lan|latlh|Le sa a|Let go and haul|Le|Lè sa a|Lè|Logo|Lorsqu'<|Lorsque|mä|Maar|Mais|Mając|Ma|Majd|Maka|Manawa|Mas|Men|Menawa|Mutta|Nalika|Nalikaning|Nanging|Når|När|Nato|Nhưng|Niin|Njuk|O zaman|Och|Og|Oletetaan|Ond|Onda|Oraz|Pak|Pero|Però|Podano|Pokiaľ|Pokud|Potem|Potom|Privzeto|Pryd|Quan|Quand|Quando|qaSDI'|Så|Sed|Se|Siis|Sipoze ke|Sipoze Ke|Sipoze|Si|Şi|Și|Soit|Stel|Tada|Tad|Takrat|Tak|Tapi|Ter|Tetapi|Tha the|Tha|Then y'all|Then|Thì|Thurh|Toda|Too right|Un|Und|ugeholl|Và|vaj|Vendar|Ve|wann|Wanneer|WEN|Wenn|When y'all|When|Wtedy|Wun|Y'know|Yeah nah|Yna|Youse know like when|Youse know when youse got|Y|Za predpokladu|Za předpokladu|Zadan|Zadani|Zadano|Zadate|Zadato|Zakładając|Zaradi|Zatati|Þa þe|Þa|Þá|Þegar|Þurh|Αλλά|Δεδομένου|Και|Όταν|Τότε|А також|Агар|Але|Али|Аммо|А|Әгәр|Әйтик|Әмма|Бирок|Ва|Вә|Дадено|Дано|Допустим|Если|Задате|Задати|Задато|И|І|К тому же|Када|Кад|Когато|Когда|Коли|Ләкин|Лекин|Нәтиҗәдә|Нехай|Но|Онда|Припустимо, що|Припустимо|Пусть|Также|Та|Тогда|Тоді|То|Унда|Һәм|Якщо|אבל|אזי|אז|בהינתן|וגם|כאשר|آنگاه|اذاً|اگر|اما|اور|با فرض|بالفرض|بفرض|پھر|تب|ثم|جب|عندما|فرض کیا|لكن|لیکن|متى|هنگامی|و|अगर|और|कदा|किन्तु|चूंकि|जब|तथा|तदा|तब|परन्तु|पर|यदि|ਅਤੇ|ਜਦੋਂ|ਜਿਵੇਂ ਕਿ|ਜੇਕਰ|ਤਦ|ਪਰ|అప్పుడు|ఈ పరిస్థితిలో|కాని|చెప్పబడినది|మరియు|ಆದರೆ|ನಂತರ|ನೀಡಿದ|ಮತ್ತು|ಸ್ಥಿತಿಯನ್ನು|กำหนดให้|ดังนั้น|แต่|เมื่อ|และ|그러면<|그리고<|단<|만약<|만일<|먼저<|조건<|하지만<|かつ<|しかし<|ただし<|ならば<|もし<|並且<|但し<|但是<|假如<|假定<|假設<|假设<|前提<|同时<|同時<|并且<|当<|當<|而且<|那么<|那麼<)(?=[ \\t])/m,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n inside: {\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n },\n outline: {\n pattern: /<[^>]+>/,\n alias: 'variable'\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngit.displayName = 'git'\ngit.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function git(Prism) {\n Prism.languages.git = {\n /*\n * A simple one line comment like in a git status command\n * For instance:\n * $ git status\n * # On branch infinite-scroll\n * # Your branch and 'origin/sharedBranches/frontendTeam/infinite-scroll' have diverged,\n * # and have 1 and 2 different commits each, respectively.\n * nothing to commit (working directory clean)\n */\n comment: /^#.*/m,\n /*\n * Regexp to match the changed lines in a git diff output. Check the example below.\n */\n deleted: /^[-–].*/m,\n inserted: /^\\+.*/m,\n /*\n * a string (double and simple quote)\n */\n string: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n /*\n * a git command. It starts with a random prompt finishing by a $, then \"git\" then some other parameters\n * For instance:\n * $ git add file.txt\n */\n command: {\n pattern: /^.*\\$ git .*$/m,\n inside: {\n /*\n * A git command can contain a parameter starting by a single or a double dash followed by a string\n * For instance:\n * $ git diff --cached\n * $ git log -p\n */\n parameter: /\\s--?\\w+/\n }\n },\n /*\n * Coordinates displayed in a git diff command\n * For instance:\n * $ git diff\n * diff --git file.txt file.txt\n * index 6214953..1d54a52 100644\n * --- file.txt\n * +++ file.txt\n * @@ -1 +1,2 @@\n * -Here's my tetx file\n * +Here's my text file\n * +And this is the second line\n */\n coord: /^@@.*@@$/m,\n /*\n * Match a \"commit [SHA1]\" line in a git log output.\n * For instance:\n * $ git log\n * commit a11a14ef7e26f2ca62d4b35eac455ce636d0dc09\n * Author: lgiraudel\n * Date: Mon Feb 17 11:18:34 2014 +0100\n *\n * Add of a new line\n */\n 'commit-sha1': /^commit \\w{40}$/m\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\nglsl.displayName = 'glsl'\nglsl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function glsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.glsl = Prism.languages.extend('c', {\n keyword:\n /\\b(?:active|asm|atomic_uint|attribute|[ibdu]?vec[234]|bool|break|buffer|case|cast|centroid|class|coherent|common|const|continue|d?mat[234](?:x[234])?|default|discard|do|double|else|enum|extern|external|false|filter|fixed|flat|float|for|fvec[234]|goto|half|highp|hvec[234]|[iu]?sampler2DMS(?:Array)?|[iu]?sampler2DRect|[iu]?samplerBuffer|[iu]?samplerCube|[iu]?samplerCubeArray|[iu]?sampler[123]D|[iu]?sampler[12]DArray|[iu]?image2DMS(?:Array)?|[iu]?image2DRect|[iu]?imageBuffer|[iu]?imageCube|[iu]?imageCubeArray|[iu]?image[123]D|[iu]?image[12]DArray|if|in|inline|inout|input|int|interface|invariant|layout|long|lowp|mediump|namespace|noinline|noperspective|out|output|partition|patch|precise|precision|public|readonly|resource|restrict|return|sample|sampler[12]DArrayShadow|sampler[12]DShadow|sampler2DRectShadow|sampler3DRect|samplerCubeArrayShadow|samplerCubeShadow|shared|short|sizeof|smooth|static|struct|subroutine|superp|switch|template|this|true|typedef|uint|uniform|union|unsigned|using|varying|void|volatile|while|writeonly)\\b/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngn.displayName = 'gn'\ngn.aliases = ['gni']\n\n/** @param {Refractor} Prism */\nexport default function gn(Prism) {\n // https://gn.googlesource.com/gn/+/refs/heads/main/docs/reference.md#grammar\n\n Prism.languages.gn = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'string-literal': {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\"\\\\]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[\\s\\S]*?\\}|[a-zA-Z_]\\w*|0x[a-fA-F0-9]{2})/,\n lookbehind: true,\n inside: {\n number: /^\\$0x[\\s\\S]{2}$/,\n variable: /^\\$\\w+$/,\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n keyword: /\\b(?:else|if)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'builtin-function': {\n // a few functions get special highlighting to improve readability\n pattern:\n /\\b(?:assert|defined|foreach|import|pool|print|template|tool|toolchain)(?=\\s*\\()/i,\n alias: 'keyword'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant:\n /\\b(?:current_cpu|current_os|current_toolchain|default_toolchain|host_cpu|host_os|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_os|target_out_dir)\\b/,\n number: /-?\\b\\d+\\b/,\n operator: /[-+!=<>]=?|&&|\\|\\|/,\n punctuation: /[(){}[\\],.]/\n }\n Prism.languages.gn['string-literal'].inside['interpolation'].inside[\n 'expression'\n ].inside = Prism.languages.gn\n Prism.languages.gni = Prism.languages.gn\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlinkerScript.displayName = 'linker-script'\nlinkerScript.aliases = ['ld']\n\n/** @param {Refractor} Prism */\nexport default function linkerScript(Prism) {\n Prism.languages['linker-script'] = {\n comment: {\n pattern: /(^|\\s)\\/\\*[\\s\\S]*?(?:$|\\*\\/)/,\n lookbehind: true,\n greedy: true\n },\n identifier: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n 'location-counter': {\n pattern: /\\B\\.\\B/,\n alias: 'important'\n },\n section: {\n pattern: /(^|[^\\w*])\\.\\w+\\b/,\n lookbehind: true,\n alias: 'keyword'\n },\n function: /\\b[A-Z][A-Z_]*(?=\\s*\\()/,\n number: /\\b(?:0[xX][a-fA-F0-9]+|\\d+)[KM]?\\b/,\n operator: />>=?|<<=?|->|\\+\\+|--|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?/,\n punctuation: /[(){},;]/\n }\n Prism.languages['ld'] = Prism.languages['linker-script']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ngo.displayName = 'go'\ngo.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function go(Prism) {\n Prism.register(refractorClike)\n Prism.languages.go = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\\b/,\n boolean: /\\b(?:_|false|iota|nil|true)\\b/,\n number: [\n // binary and octal integers\n /\\b0(?:b[01_]+|o[0-7_]+)i?\\b/i,\n // hexadecimal integers and floats\n /\\b0x(?:[a-f\\d_]+(?:\\.[a-f\\d_]*)?|\\.[a-f\\d_]+)(?:p[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n // decimal integers and floats\n /(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?[\\d_]+)?i?(?!\\w)/i\n ],\n operator:\n /[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\./,\n builtin:\n /\\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\\b/\n })\n Prism.languages.insertBefore('go', 'string', {\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){0,10}'/,\n greedy: true\n }\n })\n delete Prism.languages.go['class-name']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngoModule.displayName = 'go-module'\ngoModule.aliases = ['go-mod']\n\n/** @param {Refractor} Prism */\nexport default function goModule(Prism) {\n // https://go.dev/ref/mod#go-mod-file-module\n\n Prism.languages['go-mod'] = Prism.languages['go-module'] = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n version: {\n pattern: /(^|[\\s()[\\],])v\\d+\\.\\d+\\.\\d+(?:[+-][-+.\\w]*)?(?![^\\s()[\\],])/,\n lookbehind: true,\n alias: 'number'\n },\n 'go-version': {\n pattern: /((?:^|\\s)go\\s+)\\d+(?:\\.\\d+){1,2}/,\n lookbehind: true,\n alias: 'number'\n },\n keyword: {\n pattern: /^([ \\t]*)(?:exclude|go|module|replace|require|retract)\\b/m,\n lookbehind: true\n },\n operator: /=>/,\n punctuation: /[()[\\],]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ngradle.displayName = 'gradle'\ngradle.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function gradle(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var interpolation = {\n pattern: /((?:^|[^\\\\$])(?:\\\\{2})*)\\$(?:\\w+|\\{[^{}]*\\})/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null\n }\n }\n }\n Prism.languages.gradle = Prism.languages.extend('clike', {\n string: {\n pattern: /'''(?:[^\\\\]|\\\\[\\s\\S])*?'''|'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:apply|def|dependencies|else|if|implementation|import|plugin|plugins|project|repositories|repository|sourceSets|tasks|val)\\b/,\n number:\n /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n lookbehind: true\n },\n punctuation: /\\.+|[{}[\\];(),:$]/\n })\n Prism.languages.insertBefore('gradle', 'string', {\n shebang: {\n pattern: /#!.+/,\n alias: 'comment',\n greedy: true\n },\n 'interpolation-string': {\n pattern:\n /\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\"|([\"/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('gradle', 'punctuation', {\n 'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/\n })\n Prism.languages.insertBefore('gradle', 'function', {\n annotation: {\n pattern: /(^|[^.])@\\w+/,\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n interpolation.inside.expression.inside = Prism.languages.gradle\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ngraphql.displayName = 'graphql'\ngraphql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function graphql(Prism) {\n Prism.languages.graphql = {\n comment: /#.*/,\n description: {\n pattern:\n /(?:\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")(?=\\s*[a-z_])/i,\n greedy: true,\n alias: 'string',\n inside: {\n 'language-markdown': {\n pattern: /(^\"(?:\"\")?)(?!\\1)[\\s\\S]+(?=\\1$)/,\n lookbehind: true,\n inside: Prism.languages.markdown\n }\n }\n },\n string: {\n pattern: /\"\"\"(?:[^\"]|(?!\"\"\")\")*\"\"\"|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n number: /(?:\\B-|\\b)\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n variable: /\\$[a-z_]\\w*/i,\n directive: {\n pattern: /@[a-z_]\\w*/i,\n alias: 'function'\n },\n 'attr-name': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:\\((?:[^()\"]|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")*\\))?:)/i,\n greedy: true\n },\n 'atom-input': {\n pattern: /\\b[A-Z]\\w*Input\\b/,\n alias: 'class-name'\n },\n scalar: /\\b(?:Boolean|Float|ID|Int|String)\\b/,\n constant: /\\b[A-Z][A-Z_\\d]*\\b/,\n 'class-name': {\n pattern:\n /(\\b(?:enum|implements|interface|on|scalar|type|union)\\s+|&\\s*|:\\s*|\\[)[A-Z_]\\w*/,\n lookbehind: true\n },\n fragment: {\n pattern: /(\\bfragment\\s+|\\.{3}\\s*(?!on\\b))[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-mutation': {\n pattern: /(\\bmutation\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n 'definition-query': {\n pattern: /(\\bquery\\s+)[a-zA-Z_]\\w*/,\n lookbehind: true,\n alias: 'function'\n },\n keyword:\n /\\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\\b/,\n operator: /[!=|&]|\\.{3}/,\n 'property-query': /\\w+(?=\\s*\\()/,\n object: /\\w+(?=\\s*\\{)/,\n punctuation: /[!(){}\\[\\]:=,]/,\n property: /\\w+/\n }\n Prism.hooks.add('after-tokenize', function afterTokenizeGraphql(env) {\n if (env.language !== 'graphql') {\n return\n }\n\n /**\n * get the graphql token stream that we want to customize\n *\n * @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token\n * @type {Token[]}\n */\n var validTokens = env.tokens.filter(function (token) {\n return (\n typeof token !== 'string' &&\n token.type !== 'comment' &&\n token.type !== 'scalar'\n )\n })\n var currentIndex = 0\n\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {number} offset\n * @returns {Token | undefined}\n */\n function getToken(offset) {\n return validTokens[currentIndex + offset]\n }\n\n /**\n * Returns whether the token relative to the current index has the given type.\n *\n * @param {readonly string[]} types\n * @param {number} [offset=0]\n * @returns {boolean}\n */\n function isTokenType(types, offset) {\n offset = offset || 0\n for (var i = 0; i < types.length; i++) {\n var token = getToken(i + offset)\n if (!token || token.type !== types[i]) {\n return false\n }\n }\n return true\n }\n\n /**\n * Returns the index of the closing bracket to an opening bracket.\n *\n * It is assumed that `token[currentIndex - 1]` is an opening bracket.\n *\n * If no closing bracket could be found, `-1` will be returned.\n *\n * @param {RegExp} open\n * @param {RegExp} close\n * @returns {number}\n */\n function findClosingBracket(open, close) {\n var stackHeight = 1\n for (var i = currentIndex; i < validTokens.length; i++) {\n var token = validTokens[i]\n var content = token.content\n if (token.type === 'punctuation' && typeof content === 'string') {\n if (open.test(content)) {\n stackHeight++\n } else if (close.test(content)) {\n stackHeight--\n if (stackHeight === 0) {\n return i\n }\n }\n }\n }\n return -1\n }\n\n /**\n * Adds an alias to the given token.\n *\n * @param {Token} token\n * @param {string} alias\n * @returns {void}\n */\n function addAlias(token, alias) {\n var aliases = token.alias\n if (!aliases) {\n token.alias = aliases = []\n } else if (!Array.isArray(aliases)) {\n token.alias = aliases = [aliases]\n }\n aliases.push(alias)\n }\n for (; currentIndex < validTokens.length; ) {\n var startToken = validTokens[currentIndex++]\n\n // add special aliases for mutation tokens\n if (startToken.type === 'keyword' && startToken.content === 'mutation') {\n // any array of the names of all input variables (if any)\n var inputVariables = []\n if (\n isTokenType(['definition-mutation', 'punctuation']) &&\n getToken(1).content === '('\n ) {\n // definition\n\n currentIndex += 2 // skip 'definition-mutation' and 'punctuation'\n\n var definitionEnd = findClosingBracket(/^\\($/, /^\\)$/)\n if (definitionEnd === -1) {\n continue\n }\n\n // find all input variables\n for (; currentIndex < definitionEnd; currentIndex++) {\n var t = getToken(0)\n if (t.type === 'variable') {\n addAlias(t, 'variable-input')\n inputVariables.push(t.content)\n }\n }\n currentIndex = definitionEnd + 1\n }\n if (\n isTokenType(['punctuation', 'property-query']) &&\n getToken(0).content === '{'\n ) {\n currentIndex++ // skip opening bracket\n\n addAlias(getToken(0), 'property-mutation')\n if (inputVariables.length > 0) {\n var mutationEnd = findClosingBracket(/^\\{$/, /^\\}$/)\n if (mutationEnd === -1) {\n continue\n }\n\n // give references to input variables a special alias\n for (var i = currentIndex; i < mutationEnd; i++) {\n var varToken = validTokens[i]\n if (\n varToken.type === 'variable' &&\n inputVariables.indexOf(varToken.content) >= 0\n ) {\n addAlias(varToken, 'variable-input')\n }\n }\n }\n }\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\ngroovy.displayName = 'groovy'\ngroovy.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function groovy(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var interpolation = {\n pattern: /((?:^|[^\\\\$])(?:\\\\{2})*)\\$(?:\\w+|\\{[^{}]*\\})/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n }\n Prism.languages.groovy = Prism.languages.extend('clike', {\n string: {\n // https://groovy-lang.org/syntax.html#_dollar_slashy_string\n pattern: /'''(?:[^\\\\]|\\\\[\\s\\S])*?'''|'(?:\\\\.|[^\\\\'\\r\\n])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|as|assert|boolean|break|byte|case|catch|char|class|const|continue|def|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|in|instanceof|int|interface|long|native|new|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|trait|transient|try|void|volatile|while)\\b/,\n number:\n /\\b(?:0b[01_]+|0x[\\da-f_]+(?:\\.[\\da-f_p\\-]+)?|[\\d_]+(?:\\.[\\d_]+)?(?:e[+-]?\\d+)?)[glidf]?\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:~|==?~?|\\?[.:]?|\\*(?:[.=]|\\*=?)?|\\.[@&]|\\.\\.<|\\.\\.(?!\\.)|-[-=>]?|\\+[+=]?|!=?|<(?:<=?|=>?)?|>(?:>>?=?|=)?|&[&=]?|\\|[|=]?|\\/=?|\\^=?|%=?)/,\n lookbehind: true\n },\n punctuation: /\\.+|[{}[\\];(),:$]/\n })\n Prism.languages.insertBefore('groovy', 'string', {\n shebang: {\n pattern: /#!.+/,\n alias: 'comment',\n greedy: true\n },\n 'interpolation-string': {\n // TODO: Slash strings (e.g. /foo/) can contain line breaks but this will cause a lot of trouble with\n // simple division (see JS regex), so find a fix maybe?\n pattern:\n /\"\"\"(?:[^\\\\]|\\\\[\\s\\S])*?\"\"\"|([\"/])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1|\\$\\/(?:[^/$]|\\$(?:[/$]|(?![/$]))|\\/(?!\\$))*\\/\\$/,\n greedy: true,\n inside: {\n interpolation: interpolation,\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('groovy', 'punctuation', {\n 'spock-block': /\\b(?:and|cleanup|expect|given|setup|then|when|where):/\n })\n Prism.languages.insertBefore('groovy', 'function', {\n annotation: {\n pattern: /(^|[^.])@\\w+/,\n lookbehind: true,\n alias: 'punctuation'\n }\n })\n interpolation.inside.expression.inside = Prism.languages.groovy\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCss from './css.js'\nless.displayName = 'less'\nless.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function less(Prism) {\n Prism.register(refractorCss)\n /* FIXME :\n:extend() is not handled specifically : its highlighting is buggy.\nMixin usage must be inside a ruleset to be highlighted.\nAt-rules (e.g. import) containing interpolations are buggy.\nDetached rulesets are highlighted as at-rules.\nA comment before a mixin usage prevents the latter to be properly highlighted.\n*/\n\n Prism.languages.less = Prism.languages.extend('css', {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^|[^\\\\])\\/\\/.*/,\n lookbehind: true\n }\n ],\n atrule: {\n pattern:\n /@[\\w-](?:\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n punctuation: /[:()]/\n }\n },\n // selectors and mixins are considered the same\n selector: {\n pattern:\n /(?:@\\{[\\w-]+\\}|[^{};\\s@])(?:@\\{[\\w-]+\\}|\\((?:[^(){}]|\\([^(){}]*\\))*\\)|[^(){};@\\s]|\\s+(?!\\s))*?(?=\\s*\\{)/,\n inside: {\n // mixin parameters\n variable: /@+[\\w-]+/\n }\n },\n property: /(?:@\\{[\\w-]+\\}|[\\w-])+(?:\\+_?)?(?=\\s*:)/,\n operator: /[+\\-*\\/]/\n })\n Prism.languages.insertBefore('less', 'property', {\n variable: [\n // Variable declaration (the colon must be consumed!)\n {\n pattern: /@[\\w-]+\\s*:/,\n inside: {\n punctuation: /:/\n }\n },\n // Variable usage\n /@@?[\\w-]+/\n ],\n 'mixin-usage': {\n pattern: /([{;]\\s*)[.#](?!\\d)[\\w-].*?(?=[(;])/,\n lookbehind: true,\n alias: 'function'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCss from './css.js'\nscss.displayName = 'scss'\nscss.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function scss(Prism) {\n Prism.register(refractorCss)\n Prism.languages.scss = Prism.languages.extend('css', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n atrule: {\n pattern: /@[\\w-](?:\\([^()]+\\)|[^()\\s]|\\s+(?!\\s))*?(?=\\s+[{;])/,\n inside: {\n rule: /@[\\w-]+/\n // See rest below\n }\n },\n // url, compassified\n url: /(?:[-a-z]+-)?url(?=\\()/i,\n // CSS selector regex is not appropriate for Sass\n // since there can be lot more things (var, @ directive, nesting..)\n // a selector must start at the end of a property or after a brace (end of other rules or nesting)\n // it can contain some characters that aren't used for defining rules or end of selector, & (parent selector), or interpolated variable\n // the end of a selector is found when there is no rules in it ( {} or {\\s}) or if there is a property (because an interpolated var\n // can \"pass\" as a selector- e.g: proper#{$erty})\n // this one was hard to do, so please be careful if you edit this one :)\n selector: {\n // Initial look-ahead is used to prevent matching of blank selectors\n pattern:\n /(?=\\S)[^@;{}()]?(?:[^@;{}()\\s]|\\s+(?!\\s)|#\\{\\$[-\\w]+\\})+(?=\\s*\\{(?:\\}|\\s|[^}][^:{}]*[:{][^}]))/,\n inside: {\n parent: {\n pattern: /&/,\n alias: 'important'\n },\n placeholder: /%[-\\w]+/,\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n },\n property: {\n pattern: /(?:[-\\w]|\\$[-\\w]|#\\{\\$[-\\w]+\\})+(?=\\s*:)/,\n inside: {\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n }\n }\n })\n Prism.languages.insertBefore('scss', 'atrule', {\n keyword: [\n /@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\\b/i,\n {\n pattern: /( )(?:from|through)(?= )/,\n lookbehind: true\n }\n ]\n })\n Prism.languages.insertBefore('scss', 'important', {\n // var and interpolated vars\n variable: /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n })\n Prism.languages.insertBefore('scss', 'function', {\n 'module-modifier': {\n pattern: /\\b(?:as|hide|show|with)\\b/i,\n alias: 'keyword'\n },\n placeholder: {\n pattern: /%[-\\w]+/,\n alias: 'selector'\n },\n statement: {\n pattern: /\\B!(?:default|optional)\\b/i,\n alias: 'keyword'\n },\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n operator: {\n pattern: /(\\s)(?:[-+*\\/%]|[=!]=|<=?|>=?|and|not|or)(?=\\s)/,\n lookbehind: true\n }\n })\n Prism.languages.scss['atrule'].inside.rest = Prism.languages.scss\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\ntextile.displayName = 'textile'\ntextile.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function textile(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n // We don't allow for pipes inside parentheses\n // to not break table pattern |(. foo |). bar |\n var modifierRegex = /\\([^|()\\n]+\\)|\\[[^\\]\\n]+\\]|\\{[^}\\n]+\\}/.source\n // Opening and closing parentheses which are not a modifier\n // This pattern is necessary to prevent exponential backtracking\n var parenthesesRegex = /\\)|\\((?![^|()\\n]+\\))/.source\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function withModifier(source, flags) {\n return RegExp(\n source\n .replace(/<MOD>/g, function () {\n return '(?:' + modifierRegex + ')'\n })\n .replace(/<PAR>/g, function () {\n return '(?:' + parenthesesRegex + ')'\n }),\n flags || ''\n )\n }\n var modifierTokens = {\n css: {\n pattern: /\\{[^{}]+\\}/,\n inside: {\n rest: Prism.languages.css\n }\n },\n 'class-id': {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true,\n alias: 'attr-value'\n },\n lang: {\n pattern: /(\\[)[^\\[\\]]+(?=\\])/,\n lookbehind: true,\n alias: 'attr-value'\n },\n // Anything else is punctuation (the first pattern is for row/col spans inside tables)\n punctuation: /[\\\\\\/]\\d+|\\S/\n }\n var textile = (Prism.languages.textile = Prism.languages.extend('markup', {\n phrase: {\n pattern: /(^|\\r|\\n)\\S[\\s\\S]*?(?=$|\\r?\\n\\r?\\n|\\r\\r)/,\n lookbehind: true,\n inside: {\n // h1. Header 1\n 'block-tag': {\n pattern: withModifier(/^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\./.source),\n inside: {\n modifier: {\n pattern: withModifier(\n /(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n tag: /^[a-z]\\w*/,\n punctuation: /\\.$/\n }\n },\n // # List item\n // * List item\n list: {\n pattern: withModifier(/^[*#]+<MOD>*\\s+\\S.*/.source, 'm'),\n inside: {\n modifier: {\n pattern: withModifier(/(^[*#]+)<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /^[*#]+/\n }\n },\n // | cell | cell | cell |\n table: {\n // Modifiers can be applied to the row: {color:red}.|1|2|3|\n // or the cell: |{color:red}.1|2|3|\n pattern: withModifier(\n /^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|/\n .source,\n 'm'\n ),\n inside: {\n modifier: {\n // Modifiers for rows after the first one are\n // preceded by a pipe and a line feed\n pattern: withModifier(\n /(^|\\|(?:\\r?\\n|\\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)/\n .source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /\\||^\\./\n }\n },\n inline: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])/\n .source\n ),\n lookbehind: true,\n inside: {\n // Note: superscripts and subscripts are not handled specifically\n\n // *bold*, **bold**\n bold: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(\\*\\*?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // _italic_, __italic__\n italic: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^(__?)<MOD>*).+?(?=\\2)/.source),\n lookbehind: true\n },\n // ??cite??\n cite: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\?\\?<MOD>*).+?(?=\\?\\?)/.source),\n lookbehind: true,\n alias: 'string'\n },\n // @code@\n code: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^@<MOD>*).+?(?=@)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n // +inserted+\n inserted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\\+<MOD>*).+?(?=\\+)/.source),\n lookbehind: true\n },\n // -deleted-\n deleted: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^-<MOD>*).+?(?=-)/.source),\n lookbehind: true\n },\n // %span%\n span: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^%<MOD>*).+?(?=%)/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(\n /(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+/.source\n ),\n lookbehind: true,\n inside: modifierTokens\n },\n punctuation: /[*_%?@+\\-^~]+/\n }\n },\n // [alias]http://example.com\n 'link-ref': {\n pattern: /^\\[[^\\]]+\\]\\S+$/m,\n inside: {\n string: {\n pattern: /(^\\[)[^\\]]+(?=\\])/,\n lookbehind: true\n },\n url: {\n pattern: /(^\\])\\S+$/,\n lookbehind: true\n },\n punctuation: /[\\[\\]]/\n }\n },\n // \"text\":http://example.com\n // \"text\":link-ref\n link: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(\n /\"<MOD>*[^\"]+\":.+?(?=[^\\w/]?(?:\\s|$))/.source\n ),\n inside: {\n text: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: withModifier(/(^\"<MOD>*)[^\"]+(?=\")/.source),\n lookbehind: true\n },\n modifier: {\n pattern: withModifier(/(^\")<MOD>+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[\":]/\n }\n },\n // !image.jpg!\n // !image.jpg(Title)!:http://example.com\n image: {\n pattern: withModifier(\n /!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?/\n .source\n ),\n inside: {\n source: {\n pattern: withModifier(\n /(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)/\n .source\n ),\n lookbehind: true,\n alias: 'url'\n },\n modifier: {\n pattern: withModifier(/(^!)(?:<MOD>|<PAR>|[<>=])+/.source),\n lookbehind: true,\n inside: modifierTokens\n },\n url: {\n pattern: /(:).+/,\n lookbehind: true\n },\n punctuation: /[!:]/\n }\n },\n // Footnote[1]\n footnote: {\n pattern: /\\b\\[\\d+\\]/,\n alias: 'comment',\n inside: {\n punctuation: /\\[|\\]/\n }\n },\n // CSS(Cascading Style Sheet)\n acronym: {\n pattern: /\\b[A-Z\\d]+\\([^)]+\\)/,\n inside: {\n comment: {\n pattern: /(\\()[^()]+(?=\\))/,\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n // Prism(C)\n mark: {\n pattern: /\\b\\((?:C|R|TM)\\)/,\n alias: 'comment',\n inside: {\n punctuation: /[()]/\n }\n }\n }\n }\n }))\n var phraseInside = textile['phrase'].inside\n var nestedPatterns = {\n inline: phraseInside['inline'],\n link: phraseInside['link'],\n image: phraseInside['image'],\n footnote: phraseInside['footnote'],\n acronym: phraseInside['acronym'],\n mark: phraseInside['mark']\n }\n\n // Only allow alpha-numeric HTML tags, not XML tags\n textile.tag.pattern =\n /<\\/?(?!\\d)[a-z0-9]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/i\n\n // Allow some nesting\n var phraseInlineInside = phraseInside['inline'].inside\n phraseInlineInside['bold'].inside = nestedPatterns\n phraseInlineInside['italic'].inside = nestedPatterns\n phraseInlineInside['inserted'].inside = nestedPatterns\n phraseInlineInside['deleted'].inside = nestedPatterns\n phraseInlineInside['span'].inside = nestedPatterns\n\n // Allow some styles inside table cells\n var phraseTableInside = phraseInside['table'].inside\n phraseTableInside['inline'] = nestedPatterns['inline']\n phraseTableInside['link'] = nestedPatterns['link']\n phraseTableInside['image'] = nestedPatterns['image']\n phraseTableInside['footnote'] = nestedPatterns['footnote']\n phraseTableInside['acronym'] = nestedPatterns['acronym']\n phraseTableInside['mark'] = nestedPatterns['mark']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorRuby from './ruby.js'\nhaml.displayName = 'haml'\nhaml.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function haml(Prism) {\n Prism.register(refractorRuby)\n /* TODO\nHandle multiline code after tag\n%foo= some |\nmultiline |\ncode |\n*/\n\n ;(function (Prism) {\n Prism.languages.haml = {\n // Multiline stuff should appear before the rest\n\n 'multiline-comment': {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*))(?:\\/|-#).*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/,\n lookbehind: true,\n alias: 'comment'\n },\n 'multiline-code': [\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*,[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*,[\\t ]*)*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)(?:[~-]|[&!]?=)).*\\|[\\t ]*(?:(?:\\r?\\n|\\r)\\2[\\t ].*\\|[\\t ]*)*/,\n lookbehind: true,\n inside: Prism.languages.ruby\n }\n ],\n // See at the end of the file for known filters\n filter: {\n pattern:\n /((?:^|\\r?\\n|\\r)([\\t ]*)):[\\w-]+(?:(?:\\r?\\n|\\r)(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n }\n }\n },\n markup: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)<.+/,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)!!!(?: .+)?/,\n lookbehind: true\n },\n tag: {\n // Allows for one nested group of braces\n pattern:\n /((?:^|\\r?\\n|\\r)[\\t ]*)[%.#][\\w\\-#.]*[\\w\\-](?:\\([^)]+\\)|\\{(?:\\{[^}]+\\}|[^{}])+\\}|\\[[^\\]]+\\])*[\\/<>]*/,\n lookbehind: true,\n inside: {\n attributes: [\n {\n // Lookbehind tries to prevent interpolations from breaking it all\n // Allows for one nested group of braces\n pattern: /(^|[^#])\\{(?:\\{[^}]+\\}|[^{}])+\\}/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*)(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|[^)\\s]+)/,\n lookbehind: true\n },\n 'attr-name': /[\\w:-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[=(),]/\n }\n },\n {\n pattern: /\\[[^\\]]+\\]/,\n inside: Prism.languages.ruby\n }\n ],\n punctuation: /[<>]/\n }\n },\n code: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*(?:[~-]|[&!]?=)).+/,\n lookbehind: true,\n inside: Prism.languages.ruby\n },\n // Interpolations in plain text\n interpolation: {\n pattern: /#\\{[^}]+\\}/,\n inside: {\n delimiter: {\n pattern: /^#\\{|\\}$/,\n alias: 'punctuation'\n },\n ruby: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.ruby\n }\n }\n },\n punctuation: {\n pattern: /((?:^|\\r?\\n|\\r)[\\t ]*)[~=\\-&!]+/,\n lookbehind: true\n }\n }\n var filter_pattern =\n '((?:^|\\\\r?\\\\n|\\\\r)([\\\\t ]*)):{{filter_name}}(?:(?:\\\\r?\\\\n|\\\\r)(?:\\\\2[\\\\t ].+|\\\\s*?(?=\\\\r?\\\\n|\\\\r)))+'\n\n // Non exhaustive list of available filters and associated languages\n var filters = [\n 'css',\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'erb',\n 'javascript',\n 'less',\n 'markdown',\n 'ruby',\n 'scss',\n 'textile'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('{{filter_name}}', function () {\n return filter.filter\n })\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'symbol'\n },\n text: {\n pattern: /[\\s\\S]+/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('haml', 'filter', all_filters)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nhandlebars.displayName = 'handlebars'\nhandlebars.aliases = ['hbs', 'mustache']\n\n/** @param {Refractor} Prism */\nexport default function handlebars(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.handlebars = {\n comment: /\\{\\{![\\s\\S]*?\\}\\}/,\n delimiter: {\n pattern: /^\\{\\{\\{?|\\}\\}\\}?$/,\n alias: 'punctuation'\n },\n string: /([\"'])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d+)?/,\n boolean: /\\b(?:false|true)\\b/,\n block: {\n pattern: /^(\\s*(?:~\\s*)?)[#\\/]\\S+?(?=\\s*(?:~\\s*)?$|\\s)/,\n lookbehind: true,\n alias: 'keyword'\n },\n brackets: {\n pattern: /\\[[^\\]]+\\]/,\n inside: {\n punctuation: /\\[|\\]/,\n variable: /[\\s\\S]+/\n }\n },\n punctuation: /[!\"#%&':()*+,.\\/;<=>@\\[\\\\\\]^`{|}~]/,\n variable: /[^!\"#%&'()*+,\\/;<=>@\\[\\\\\\]^`{|}~\\s]+/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var handlebarsPattern = /\\{\\{\\{[\\s\\S]+?\\}\\}\\}|\\{\\{[\\s\\S]+?\\}\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'handlebars',\n handlebarsPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(\n env,\n 'handlebars'\n )\n })\n Prism.languages.hbs = Prism.languages.handlebars\n Prism.languages.mustache = Prism.languages.handlebars\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhaskell.displayName = 'haskell'\nhaskell.aliases = ['hs']\n\n/** @param {Refractor} Prism */\nexport default function haskell(Prism) {\n Prism.languages.haskell = {\n comment: {\n pattern:\n /(^|[^-!#$%*+=?&@|~.:<>^\\\\\\/])(?:--(?:(?=.)[^-!#$%*+=?&@|~.:<>^\\\\\\/].*|$)|\\{-[\\s\\S]*?-\\})/m,\n lookbehind: true\n },\n char: {\n pattern:\n /'(?:[^\\\\']|\\\\(?:[abfnrtv\\\\\"'&]|\\^[A-Z@[\\]^_]|ACK|BEL|BS|CAN|CR|DC1|DC2|DC3|DC4|DEL|DLE|EM|ENQ|EOT|ESC|ETB|ETX|FF|FS|GS|HT|LF|NAK|NUL|RS|SI|SO|SOH|SP|STX|SUB|SYN|US|VT|\\d+|o[0-7]+|x[0-9a-fA-F]+))'/,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\(?:\\S|\\s+\\\\))*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:case|class|data|deriving|do|else|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+(?:qualified\\s+)?(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import|qualified)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin variables only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:abs|acos|acosh|all|and|any|appendFile|approxRational|asTypeOf|asin|asinh|atan|atan2|atanh|basicIORun|break|catch|ceiling|chr|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|denominator|digitToInt|div|divMod|drop|dropWhile|either|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromDouble|fromEnum|fromInt|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|group|head|id|inRange|index|init|intToDigit|interact|ioError|isAlpha|isAlphaNum|isAscii|isControl|isDenormalized|isDigit|isHexDigit|isIEEE|isInfinite|isLower|isNaN|isNegativeZero|isOctDigit|isPrint|isSpace|isUpper|iterate|last|lcm|length|lex|lexDigits|lexLitChar|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|numerator|odd|or|ord|otherwise|pack|pi|pred|primExitWith|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|range|rangeSize|read|readDec|readFile|readFloat|readHex|readIO|readInt|readList|readLitChar|readLn|readOct|readParen|readSigned|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showInt|showList|showLitChar|showParen|showSigned|showString|shows|showsPrec|significand|signum|sin|sinh|snd|sort|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|threadToIOResult|toEnum|toInt|toInteger|toLower|toRational|toUpper|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b/,\n // decimal integers and floating point numbers | octal integers | hexadecimal integers\n number: /\\b(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|0o[0-7]+|0x[0-9a-f]+)\\b/i,\n operator: [\n {\n // infix operator\n pattern: /`(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*`/,\n greedy: true\n },\n {\n // function composition\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n },\n // Most of this is needed because of the meaning of a single '.'.\n // If it stands alone freely, it is the function composition.\n // It may also be a separator between a module name and an identifier => no\n // operator. If it comes together with other special characters it is an\n // operator too.\n //\n // This regex means: /[-!#$%*+=?&@|~.:<>^\\\\\\/]+/ without /\\./.\n /[-!#$%*+=?&@|~:<>^\\\\\\/][-!#$%*+=?&@|~.:<>^\\\\\\/]*|\\.[-!#$%*+=?&@|~.:<>^\\\\\\/]+/\n ],\n // In Haskell, nearly everything is a variable, do not highlight these.\n hvariable: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[_a-z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n constant: {\n pattern: /\\b(?:[A-Z][\\w']*\\.)*[A-Z][\\w']*/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.hs = Prism.languages.haskell\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nhaxe.displayName = 'haxe'\nhaxe.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function haxe(Prism) {\n Prism.register(refractorClike)\n Prism.languages.haxe = Prism.languages.extend('clike', {\n string: {\n // Strings can be multi-line\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:abstract|class|enum|extends|implements|interface|new|typedef)\\s+)[A-Z_]\\w*/,\n lookbehind: true\n },\n // based on naming convention\n /\\b[A-Z]\\w*/\n ],\n // The final look-ahead prevents highlighting of keywords if expressions such as \"haxe.macro.Expr\"\n keyword:\n /\\bthis\\b|\\b(?:abstract|as|break|case|cast|catch|class|continue|default|do|dynamic|else|enum|extends|extern|final|for|from|function|if|implements|import|in|inline|interface|macro|new|null|operator|overload|override|package|private|public|return|static|super|switch|throw|to|try|typedef|untyped|using|var|while)(?!\\.)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:<[^<>]*>\\s*)?\\()/i,\n greedy: true\n },\n operator: /\\.{3}|\\+\\+|--|&&|\\|\\||->|=>|(?:<<?|>{1,3}|[-+*/%!=&|^])=?|[?:~]/\n })\n Prism.languages.insertBefore('haxe', 'string', {\n 'string-interpolation': {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^\\\\])\\$(?:\\w+|\\{[^{}]+\\})/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.haxe\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'class-name', {\n regex: {\n pattern: /~\\/(?:[^\\/\\\\\\r\\n]|\\\\.)+\\/[a-z]*/,\n greedy: true,\n inside: {\n 'regex-flags': /\\b[a-z]+$/,\n 'regex-source': {\n pattern: /^(~\\/)[\\s\\S]+(?=\\/$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^~\\/|\\/$/\n }\n }\n })\n Prism.languages.insertBefore('haxe', 'keyword', {\n preprocessor: {\n pattern: /#(?:else|elseif|end|if)\\b.*/,\n alias: 'property'\n },\n metadata: {\n pattern: /@:?[\\w.]+/,\n alias: 'symbol'\n },\n reification: {\n pattern: /\\$(?:\\w+|(?=\\{))/,\n alias: 'important'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhcl.displayName = 'hcl'\nhcl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function hcl(Prism) {\n Prism.languages.hcl = {\n comment: /(?:\\/\\/|#).*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n heredoc: {\n pattern: /<<-?(\\w+\\b)[\\s\\S]*?^[ \\t]*\\1/m,\n greedy: true,\n alias: 'string'\n },\n keyword: [\n {\n pattern:\n /(?:data|resource)\\s+(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")(?=\\s+\"[\\w-]+\"\\s+\\{)/i,\n inside: {\n type: {\n pattern: /(resource|data|\\s+)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n {\n pattern:\n /(?:backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+(?=\\{)/i,\n inside: {\n type: {\n pattern:\n /(backend|module|output|provider|provisioner|variable)\\s+(?:[\\w-]+|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")\\s+/i,\n lookbehind: true,\n alias: 'variable'\n }\n }\n },\n /[\\w-]+(?=\\s+\\{)/\n ],\n property: [/[-\\w\\.]+(?=\\s*=(?!=))/, /\"(?:\\\\[\\s\\S]|[^\\\\\"])+\"(?=\\s*[:=])/],\n string: {\n pattern:\n /\"(?:[^\\\\$\"]|\\\\[\\s\\S]|\\$(?:(?=\")|\\$+(?!\\$)|[^\"${])|\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\})*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(^|[^$])\\$\\{(?:[^{}\"]|\"(?:[^\\\\\"]|\\\\[\\s\\S])*\")*\\}/,\n lookbehind: true,\n inside: {\n type: {\n pattern:\n /(\\b(?:count|data|local|module|path|self|terraform|var)\\b\\.)[\\w\\*]+/i,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: /\\b(?:count|data|local|module|path|self|terraform|var)\\b/i,\n function: /\\w+(?=\\()/,\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n greedy: true\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[!\\$#%&'()*+,.\\/;<=>@\\[\\\\\\]^`{|}~?:]/\n }\n }\n }\n },\n number: /\\b0x[\\da-f]+\\b|\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:false|true)\\b/i,\n punctuation: /[=\\[\\]{}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\nhlsl.displayName = 'hlsl'\nhlsl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function hlsl(Prism) {\n Prism.register(refractorC)\n Prism.languages.hlsl = Prism.languages.extend('c', {\n // Regarding keywords and class names:\n // The list of all keywords was split into 'keyword' and 'class-name' tokens based on whether they are capitalized.\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-keywords\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-reserved-words\n 'class-name': [\n Prism.languages.c['class-name'],\n /\\b(?:AppendStructuredBuffer|BlendState|Buffer|ByteAddressBuffer|CompileShader|ComputeShader|ConsumeStructuredBuffer|DepthStencilState|DepthStencilView|DomainShader|GeometryShader|Hullshader|InputPatch|LineStream|OutputPatch|PixelShader|PointStream|RWBuffer|RWByteAddressBuffer|RWStructuredBuffer|RWTexture(?:1D|1DArray|2D|2DArray|3D)|RasterizerState|RenderTargetView|SamplerComparisonState|SamplerState|StructuredBuffer|Texture(?:1D|1DArray|2D|2DArray|2DMS|2DMSArray|3D|Cube|CubeArray)|TriangleStream|VertexShader)\\b/\n ],\n keyword: [\n // HLSL keyword\n /\\b(?:asm|asm_fragment|auto|break|case|catch|cbuffer|centroid|char|class|column_major|compile|compile_fragment|const|const_cast|continue|default|delete|discard|do|dynamic_cast|else|enum|explicit|export|extern|for|friend|fxgroup|goto|groupshared|if|in|inline|inout|interface|line|lineadj|linear|long|matrix|mutable|namespace|new|nointerpolation|noperspective|operator|out|packoffset|pass|pixelfragment|point|precise|private|protected|public|register|reinterpret_cast|return|row_major|sample|sampler|shared|short|signed|sizeof|snorm|stateblock|stateblock_state|static|static_cast|string|struct|switch|tbuffer|technique|technique10|technique11|template|texture|this|throw|triangle|triangleadj|try|typedef|typename|uniform|union|unorm|unsigned|using|vector|vertexfragment|virtual|void|volatile|while)\\b/,\n // scalar, vector, and matrix types\n /\\b(?:bool|double|dword|float|half|int|min(?:10float|12int|16(?:float|int|uint))|uint)(?:[1-4](?:x[1-4])?)?\\b/\n ],\n // https://docs.microsoft.com/en-us/windows/win32/direct3dhlsl/dx-graphics-hlsl-appendix-grammar#floating-point-numbers\n number:\n /(?:(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?|\\b0x[\\da-fA-F]+)[fFhHlLuU]?\\b/,\n boolean: /\\b(?:false|true)\\b/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhoon.displayName = 'hoon'\nhoon.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function hoon(Prism) {\n Prism.languages.hoon = {\n comment: {\n pattern: /::.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'/,\n greedy: true\n },\n constant: /%(?:\\.[ny]|[\\w-]+)/,\n 'class-name': /@(?:[a-z0-9-]*[a-z0-9])?|\\*/i,\n function: /(?:\\+[-+] {2})?(?:[a-z](?:[a-z0-9-]*[a-z0-9])?)/,\n keyword:\n /\\.[\\^\\+\\*=\\?]|![><:\\.=\\?!]|=[>|:,\\.\\-\\^<+;/~\\*\\?]|\\?[>|:\\.\\-\\^<\\+&~=@!]|\\|[\\$_%:\\.\\-\\^~\\*=@\\?]|\\+[|\\$\\+\\*]|:[_\\-\\^\\+~\\*]|%[_:\\.\\-\\^\\+~\\*=]|\\^[|:\\.\\-\\+&~\\*=\\?]|\\$[|_%:<>\\-\\^&~@=\\?]|;[:<\\+;\\/~\\*=]|~[>|\\$_%<\\+\\/&=\\?!]|--|==/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhpkp.displayName = 'hpkp'\nhpkp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function hpkp(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hpkp-cheat-sheet/\n */\n\n Prism.languages.hpkp = {\n directive: {\n pattern:\n /\\b(?:includeSubDomains|max-age|pin-sha256|preload|report-to|report-uri|strict)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhsts.displayName = 'hsts'\nhsts.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function hsts(Prism) {\n /**\n * Original by Scott Helme.\n *\n * Reference: https://scotthelme.co.uk/hsts-cheat-sheet/\n */\n\n Prism.languages.hsts = {\n directive: {\n pattern: /\\b(?:includeSubDomains|max-age|preload)(?=[\\s;=]|$)/i,\n alias: 'property'\n },\n operator: /=/,\n punctuation: /;/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njson.displayName = 'json'\njson.aliases = ['webmanifest']\n\n/** @param {Refractor} Prism */\nexport default function json(Prism) {\n // https://www.json.org/json-en.html\n Prism.languages.json = {\n property: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?=\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"(?!\\s*:)/,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n punctuation: /[{}[\\],]/,\n operator: /:/,\n boolean: /\\b(?:false|true)\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n }\n }\n Prism.languages.webmanifest = Prism.languages.json\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nuri.displayName = 'uri'\nuri.aliases = ['url']\n\n/** @param {Refractor} Prism */\nexport default function uri(Prism) {\n // https://tools.ietf.org/html/rfc3986#appendix-A\n\n Prism.languages.uri = {\n scheme: {\n pattern: /^[a-z][a-z0-9+.-]*:/im,\n greedy: true,\n inside: {\n 'scheme-delimiter': /:$/\n }\n },\n fragment: {\n pattern: /#[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'fragment-delimiter': /^#/\n }\n },\n query: {\n pattern: /\\?[\\w\\-.~!$&'()*+,;=%:@/?]*/,\n inside: {\n 'query-delimiter': {\n pattern: /^\\?/,\n greedy: true\n },\n 'pair-delimiter': /[&;]/,\n pair: {\n pattern: /^[^=][\\s\\S]*/,\n inside: {\n key: /^[^=]+/,\n value: {\n pattern: /(^=)[\\s\\S]+/,\n lookbehind: true\n }\n }\n }\n }\n },\n authority: {\n pattern: RegExp(\n /^\\/\\//.source +\n // [ userinfo \"@\" ]\n /(?:[\\w\\-.~!$&'()*+,;=%:]*@)?/.source +\n // host\n ('(?:' +\n // IP-literal\n /\\[(?:[0-9a-fA-F:.]{2,48}|v[0-9a-fA-F]+\\.[\\w\\-.~!$&'()*+,;=]+)\\]/\n .source +\n '|' +\n // IPv4address or registered name\n /[\\w\\-.~!$&'()*+,;=%]*/.source +\n ')') +\n // [ \":\" port ]\n /(?::\\d*)?/.source,\n 'm'\n ),\n inside: {\n 'authority-delimiter': /^\\/\\//,\n 'user-info-segment': {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:]*@/,\n inside: {\n 'user-info-delimiter': /@$/,\n 'user-info': /^[\\w\\-.~!$&'()*+,;=%:]+/\n }\n },\n 'port-segment': {\n pattern: /:\\d*$/,\n inside: {\n 'port-delimiter': /^:/,\n port: /^\\d+/\n }\n },\n host: {\n pattern: /[\\s\\S]+/,\n inside: {\n 'ip-literal': {\n pattern: /^\\[[\\s\\S]+\\]$/,\n inside: {\n 'ip-literal-delimiter': /^\\[|\\]$/,\n 'ipv-future': /^v[\\s\\S]+/,\n 'ipv6-address': /^[\\s\\S]+/\n }\n },\n 'ipv4-address':\n /^(?:(?:[03-9]\\d?|[12]\\d{0,2})\\.){3}(?:[03-9]\\d?|[12]\\d{0,2})$/\n }\n }\n }\n },\n path: {\n pattern: /^[\\w\\-.~!$&'()*+,;=%:@/]+/m,\n inside: {\n 'path-separator': /\\//\n }\n }\n }\n Prism.languages.url = Prism.languages.uri\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nhttp.displayName = 'http'\nhttp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function http(Prism) {\n ;(function (Prism) {\n /**\n * @param {string} name\n * @returns {RegExp}\n */\n function headerValueOf(name) {\n return RegExp('(^(?:' + name + '):[ \\t]*(?![ \\t]))[^]+', 'i')\n }\n Prism.languages.http = {\n 'request-line': {\n pattern:\n /^(?:CONNECT|DELETE|GET|HEAD|OPTIONS|PATCH|POST|PRI|PUT|SEARCH|TRACE)\\s(?:https?:\\/\\/|\\/)\\S*\\sHTTP\\/[\\d.]+/m,\n inside: {\n // HTTP Method\n method: {\n pattern: /^[A-Z]+\\b/,\n alias: 'property'\n },\n // Request Target e.g. http://example.com, /path/to/file\n 'request-target': {\n pattern: /^(\\s)(?:https?:\\/\\/|\\/)\\S*(?=\\s)/,\n lookbehind: true,\n alias: 'url',\n inside: Prism.languages.uri\n },\n // HTTP Version\n 'http-version': {\n pattern: /^(\\s)HTTP\\/[\\d.]+/,\n lookbehind: true,\n alias: 'property'\n }\n }\n },\n 'response-status': {\n pattern: /^HTTP\\/[\\d.]+ \\d+ .+/m,\n inside: {\n // HTTP Version\n 'http-version': {\n pattern: /^HTTP\\/[\\d.]+/,\n alias: 'property'\n },\n // Status Code\n 'status-code': {\n pattern: /^(\\s)\\d+(?=\\s)/,\n lookbehind: true,\n alias: 'number'\n },\n // Reason Phrase\n 'reason-phrase': {\n pattern: /^(\\s).+/,\n lookbehind: true,\n alias: 'string'\n }\n }\n },\n header: {\n pattern: /^[\\w-]+:.+(?:(?:\\r\\n?|\\n)[ \\t].+)*/m,\n inside: {\n 'header-value': [\n {\n pattern: headerValueOf(/Content-Security-Policy/.source),\n lookbehind: true,\n alias: ['csp', 'languages-csp'],\n inside: Prism.languages.csp\n },\n {\n pattern: headerValueOf(/Public-Key-Pins(?:-Report-Only)?/.source),\n lookbehind: true,\n alias: ['hpkp', 'languages-hpkp'],\n inside: Prism.languages.hpkp\n },\n {\n pattern: headerValueOf(/Strict-Transport-Security/.source),\n lookbehind: true,\n alias: ['hsts', 'languages-hsts'],\n inside: Prism.languages.hsts\n },\n {\n pattern: headerValueOf(/[^:]+/.source),\n lookbehind: true\n }\n ],\n 'header-name': {\n pattern: /^[^:]+/,\n alias: 'keyword'\n },\n punctuation: /^:/\n }\n }\n }\n\n // Create a mapping of Content-Type headers to language definitions\n var langs = Prism.languages\n var httpLanguages = {\n 'application/javascript': langs.javascript,\n 'application/json': langs.json || langs.javascript,\n 'application/xml': langs.xml,\n 'text/xml': langs.xml,\n 'text/html': langs.html,\n 'text/css': langs.css,\n 'text/plain': langs.plain\n }\n\n // Declare which types can also be suffixes\n var suffixTypes = {\n 'application/json': true,\n 'application/xml': true\n }\n\n /**\n * Returns a pattern for the given content type which matches it and any type which has it as a suffix.\n *\n * @param {string} contentType\n * @returns {string}\n */\n function getSuffixPattern(contentType) {\n var suffix = contentType.replace(/^[a-z]+\\//, '')\n var suffixPattern = '\\\\w+/(?:[\\\\w.-]+\\\\+)+' + suffix + '(?![+\\\\w.-])'\n return '(?:' + contentType + '|' + suffixPattern + ')'\n }\n\n // Insert each content type parser that has its associated language\n // currently loaded.\n var options\n for (var contentType in httpLanguages) {\n if (httpLanguages[contentType]) {\n options = options || {}\n var pattern = suffixTypes[contentType]\n ? getSuffixPattern(contentType)\n : contentType\n options[contentType.replace(/\\//g, '-')] = {\n pattern: RegExp(\n '(' +\n /content-type:\\s*/.source +\n pattern +\n /(?:(?:\\r\\n?|\\n)[\\w-].*)*(?:\\r(?:\\n|(?!\\n))|\\n)/.source +\n ')' +\n // This is a little interesting:\n // The HTTP format spec required 1 empty line before the body to make everything unambiguous.\n // However, when writing code by hand (e.g. to display on a website) people can forget about this,\n // so we want to be liberal here. We will allow the empty line to be omitted if the first line of\n // the body does not start with a [\\w-] character (as headers do).\n /[^ \\t\\w-][\\s\\S]*/.source,\n 'i'\n ),\n lookbehind: true,\n inside: httpLanguages[contentType]\n }\n }\n }\n if (options) {\n Prism.languages.insertBefore('http', 'header', options)\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nichigojam.displayName = 'ichigojam'\nichigojam.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ichigojam(Prism) {\n // according to the offical reference (EN)\n // https://ichigojam.net/IchigoJam-en.html\n Prism.languages.ichigojam = {\n comment: /(?:\\B'|REM)(?:[^\\n\\r]*)/i,\n string: {\n pattern: /\"(?:\"\"|[!#$%&'()*,\\/:;<=>?^\\w +\\-.])*\"/,\n greedy: true\n },\n number: /\\B#[0-9A-F]+|\\B`[01]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i,\n keyword:\n /\\b(?:BEEP|BPS|CASE|CLEAR|CLK|CLO|CLP|CLS|CLT|CLV|CONT|COPY|ELSE|END|FILE|FILES|FOR|GOSUB|GOTO|GSB|IF|INPUT|KBD|LED|LET|LIST|LOAD|LOCATE|LRUN|NEW|NEXT|OUT|PLAY|POKE|PRINT|PWM|REM|RENUM|RESET|RETURN|RIGHT|RTN|RUN|SAVE|SCROLL|SLEEP|SRND|STEP|STOP|SUB|TEMPO|THEN|TO|UART|VIDEO|WAIT)(?:\\$|\\b)/i,\n function:\n /\\b(?:ABS|ANA|ASC|BIN|BTN|DEC|END|FREE|HELP|HEX|I2CR|I2CW|IN|INKEY|LEN|LINE|PEEK|RND|SCR|SOUND|STR|TICK|USR|VER|VPEEK|ZER)(?:\\$|\\b)/i,\n label: /(?:\\B@\\S+)/,\n operator: /<[=>]?|>=?|\\|\\||&&|[+\\-*\\/=|&^~!]|\\b(?:AND|NOT|OR)\\b/i,\n punctuation: /[\\[,;:()\\]]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nicon.displayName = 'icon'\nicon.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function icon(Prism) {\n Prism.languages.icon = {\n comment: /#.*/,\n string: {\n pattern: /([\"'])(?:(?!\\1)[^\\\\\\r\\n_]|\\\\.|_(?!\\1)(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n number: /\\b(?:\\d+r[a-z\\d]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b|\\.\\d+\\b/i,\n 'builtin-keyword': {\n pattern:\n /&(?:allocated|ascii|clock|collections|cset|current|date|dateline|digits|dump|e|error(?:number|text|value)?|errout|fail|features|file|host|input|lcase|letters|level|line|main|null|output|phi|pi|pos|progname|random|regions|source|storage|subject|time|trace|ucase|version)\\b/,\n alias: 'variable'\n },\n directive: {\n pattern: /\\$\\w+/,\n alias: 'builtin'\n },\n keyword:\n /\\b(?:break|by|case|create|default|do|else|end|every|fail|global|if|initial|invocable|link|local|next|not|of|procedure|record|repeat|return|static|suspend|then|to|until|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*[({]|\\s*!\\s*\\[)/,\n operator:\n /[+-]:(?!=)|(?:[\\/?@^%&]|\\+\\+?|--?|==?=?|~==?=?|\\*\\*?|\\|\\|\\|?|<(?:->?|<?=?)|>>?=?)(?::=)?|:(?:=:?)?|[!.\\\\|~]/,\n punctuation: /[\\[\\](){},;]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nicuMessageFormat.displayName = 'icu-message-format'\nicuMessageFormat.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function icuMessageFormat(Prism) {\n // https://unicode-org.github.io/icu/userguide/format_parse/messages/\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/MessageFormat.html\n\n ;(function (Prism) {\n /**\n * @param {string} source\n * @param {number} level\n * @returns {string}\n */\n function nested(source, level) {\n if (level <= 0) {\n return /[]/.source\n } else {\n return source.replace(/<SELF>/g, function () {\n return nested(source, level - 1)\n })\n }\n }\n var stringPattern = /'[{}:=,](?:[^']|'')*'(?!')/\n var escape = {\n pattern: /''/,\n greedy: true,\n alias: 'operator'\n }\n var string = {\n pattern: stringPattern,\n greedy: true,\n inside: {\n escape: escape\n }\n }\n var argumentSource = nested(\n /\\{(?:[^{}']|'(?![{},'])|''|<STR>|<SELF>)*\\}/.source.replace(\n /<STR>/g,\n function () {\n return stringPattern.source\n }\n ),\n 8\n )\n var nestedMessage = {\n pattern: RegExp(argumentSource),\n inside: {\n message: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: null // see below\n },\n 'message-delimiter': {\n pattern: /./,\n alias: 'punctuation'\n }\n }\n }\n Prism.languages['icu-message-format'] = {\n argument: {\n pattern: RegExp(argumentSource),\n greedy: true,\n inside: {\n content: {\n pattern: /^(\\{)[\\s\\S]+(?=\\}$)/,\n lookbehind: true,\n inside: {\n 'argument-name': {\n pattern: /^(\\s*)[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'choice-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1ChoiceFormat.html#details\n pattern: /^(\\s*,\\s*choice\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\|/,\n range: {\n pattern: /^(\\s*)[+-]?(?:\\d+(?:\\.\\d*)?|\\u221e)\\s*[<#\\u2264]/,\n lookbehind: true,\n inside: {\n operator: /[<#\\u2264]/,\n number: /\\S+/\n }\n },\n rest: null // see below\n }\n },\n 'plural-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/PluralFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern:\n /^(\\s*,\\s*(?:plural|selectordinal)\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n offset: /^offset:\\s*\\d+/,\n 'nested-message': nestedMessage,\n selector: {\n pattern: /=\\d+|[^{}:=,\\s]+/,\n inside: {\n keyword: /^(?:few|many|one|other|two|zero)$/\n }\n }\n }\n },\n 'select-style': {\n // https://unicode-org.github.io/icu-docs/apidoc/released/icu4j/com/ibm/icu/text/SelectFormat.html#:~:text=Patterns%20and%20Their%20Interpretation\n pattern: /^(\\s*,\\s*select\\s*,\\s*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n inside: {\n 'nested-message': nestedMessage,\n selector: {\n pattern: /[^{}:=,\\s]+/,\n inside: {\n keyword: /^other$/\n }\n }\n }\n },\n keyword: /\\b(?:choice|plural|select|selectordinal)\\b/,\n 'arg-type': {\n pattern: /\\b(?:date|duration|number|ordinal|spellout|time)\\b/,\n alias: 'keyword'\n },\n 'arg-skeleton': {\n pattern: /(,\\s*)::[^{}:=,\\s]+/,\n lookbehind: true\n },\n 'arg-style': {\n pattern:\n /(,\\s*)(?:currency|full|integer|long|medium|percent|short)(?=\\s*$)/,\n lookbehind: true\n },\n 'arg-style-text': {\n pattern: RegExp(\n /(^\\s*,\\s*(?=\\S))/.source +\n nested(/(?:[^{}']|'[^']*'|\\{(?:<SELF>)?\\})+/.source, 8) +\n '$'\n ),\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /,/\n }\n },\n 'argument-delimiter': {\n pattern: /./,\n alias: 'operator'\n }\n }\n },\n escape: escape,\n string: string\n }\n nestedMessage.inside.message.inside = Prism.languages['icu-message-format']\n Prism.languages['icu-message-format'].argument.inside.content.inside[\n 'choice-style'\n ].inside.rest = Prism.languages['icu-message-format']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorHaskell from './haskell.js'\nidris.displayName = 'idris'\nidris.aliases = ['idr']\n\n/** @param {Refractor} Prism */\nexport default function idris(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.idris = Prism.languages.extend('haskell', {\n comment: {\n pattern: /(?:(?:--|\\|\\|\\|).*$|\\{-[\\s\\S]*?-\\})/m\n },\n keyword:\n /\\b(?:Type|case|class|codata|constructor|corecord|data|do|dsl|else|export|if|implementation|implicit|import|impossible|in|infix|infixl|infixr|instance|interface|let|module|mutual|namespace|of|parameters|partial|postulate|private|proof|public|quoteGoal|record|rewrite|syntax|then|total|using|where|with)\\b/,\n builtin: undefined\n })\n Prism.languages.insertBefore('idris', 'keyword', {\n 'import-statement': {\n pattern: /(^\\s*import\\s+)(?:[A-Z][\\w']*)(?:\\.[A-Z][\\w']*)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.idr = Prism.languages.idris\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nignore.displayName = 'ignore'\nignore.aliases = ['gitignore', 'hgignore', 'npmignore']\n\n/** @param {Refractor} Prism */\nexport default function ignore(Prism) {\n ;(function (Prism) {\n Prism.languages.ignore = {\n // https://git-scm.com/docs/gitignore\n comment: /^#.*/m,\n entry: {\n pattern: /\\S(?:.*(?:(?:\\\\ )|\\S))?/,\n alias: 'string',\n inside: {\n operator: /^!|\\*\\*?|\\?/,\n regex: {\n pattern: /(^|[^\\\\])\\[[^\\[\\]]*\\]/,\n lookbehind: true\n },\n punctuation: /\\//\n }\n }\n }\n Prism.languages.gitignore = Prism.languages.ignore\n Prism.languages.hgignore = Prism.languages.ignore\n Prism.languages.npmignore = Prism.languages.ignore\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ninform7.displayName = 'inform7'\ninform7.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function inform7(Prism) {\n Prism.languages.inform7 = {\n string: {\n pattern: /\"[^\"]*\"/,\n inside: {\n substitution: {\n pattern: /\\[[^\\[\\]]+\\]/,\n inside: {\n delimiter: {\n pattern: /\\[|\\]/,\n alias: 'punctuation'\n }\n // See rest below\n }\n }\n }\n },\n comment: {\n pattern: /\\[[^\\[\\]]+\\]/,\n greedy: true\n },\n title: {\n pattern: /^[ \\t]*(?:book|chapter|part(?! of)|section|table|volume)\\b.+/im,\n alias: 'important'\n },\n number: {\n pattern:\n /(^|[^-])(?:\\b\\d+(?:\\.\\d+)?(?:\\^\\d+)?(?:(?!\\d)\\w+)?|\\b(?:eight|eleven|five|four|nine|one|seven|six|ten|three|twelve|two))\\b(?!-)/i,\n lookbehind: true\n },\n verb: {\n pattern:\n /(^|[^-])\\b(?:answering|applying to|are|asking|attacking|be(?:ing)?|burning|buying|called|carries|carry(?! out)|carrying|climbing|closing|conceal(?:ing|s)?|consulting|contain(?:ing|s)?|cutting|drinking|dropping|eating|enclos(?:es?|ing)|entering|examining|exiting|getting|giving|going|ha(?:s|ve|ving)|hold(?:ing|s)?|impl(?:ies|y)|incorporat(?:es?|ing)|inserting|is|jumping|kissing|listening|locking|looking|mean(?:ing|s)?|opening|provid(?:es?|ing)|pulling|pushing|putting|relat(?:es?|ing)|removing|searching|see(?:ing|s)?|setting|showing|singing|sleeping|smelling|squeezing|support(?:ing|s)?|swearing|switching|taking|tasting|telling|thinking|throwing|touching|turning|tying|unlock(?:ing|s)?|var(?:ies|y|ying)|waiting|waking|waving|wear(?:ing|s)?)\\b(?!-)/i,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^-])\\b(?:after|before|carry out|check|continue the action|definition(?= *:)|do nothing|else|end (?:if|the story|unless)|every turn|if|include|instead(?: of)?|let|move|no|now|otherwise|repeat|report|resume the story|rule for|running through|say(?:ing)?|stop the action|test|try(?:ing)?|understand|unless|use|when|while|yes)\\b(?!-)/i,\n lookbehind: true\n },\n property: {\n pattern:\n /(^|[^-])\\b(?:adjacent(?! to)|carried|closed|concealed|contained|dark|described|edible|empty|enclosed|enterable|even|female|fixed in place|full|handled|held|improper-named|incorporated|inedible|invisible|lighted|lit|lock(?:able|ed)|male|marked for listing|mentioned|negative|neuter|non-(?:empty|full|recurring)|odd|opaque|open(?:able)?|plural-named|portable|positive|privately-named|proper-named|provided|publically-named|pushable between rooms|recurring|related|rubbing|scenery|seen|singular-named|supported|swinging|switch(?:able|ed(?: off| on)?)|touch(?:able|ed)|transparent|unconcealed|undescribed|unlit|unlocked|unmarked for listing|unmentioned|unopenable|untouchable|unvisited|variable|visible|visited|wearable|worn)\\b(?!-)/i,\n lookbehind: true,\n alias: 'symbol'\n },\n position: {\n pattern:\n /(^|[^-])\\b(?:above|adjacent to|back side of|below|between|down|east|everywhere|front side|here|in|inside(?: from)?|north(?:east|west)?|nowhere|on(?: top of)?|other side|outside(?: from)?|parts? of|regionally in|south(?:east|west)?|through|up|west|within)\\b(?!-)/i,\n lookbehind: true,\n alias: 'keyword'\n },\n type: {\n pattern:\n /(^|[^-])\\b(?:actions?|activit(?:ies|y)|actors?|animals?|backdrops?|containers?|devices?|directions?|doors?|holders?|kinds?|lists?|m[ae]n|nobody|nothing|nouns?|numbers?|objects?|people|persons?|player(?:'s holdall)?|regions?|relations?|rooms?|rule(?:book)?s?|scenes?|someone|something|supporters?|tables?|texts?|things?|time|vehicles?|wom[ae]n)\\b(?!-)/i,\n lookbehind: true,\n alias: 'variable'\n },\n punctuation: /[.,:;(){}]/\n }\n Prism.languages.inform7['string'].inside['substitution'].inside.rest =\n Prism.languages.inform7\n // We don't want the remaining text in the substitution to be highlighted as the string.\n Prism.languages.inform7['string'].inside['substitution'].inside.rest.text = {\n pattern: /\\S(?:\\s*\\S)*/,\n alias: 'comment'\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nini.displayName = 'ini'\nini.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ini(Prism) {\n Prism.languages.ini = {\n /**\n * The component mimics the behavior of the Win32 API parser.\n *\n * @see {@link https://github.com/PrismJS/prism/issues/2775#issuecomment-787477723}\n */\n\n comment: {\n pattern: /(^[ \\f\\t\\v]*)[#;][^\\n\\r]*/m,\n lookbehind: true\n },\n section: {\n pattern: /(^[ \\f\\t\\v]*)\\[[^\\n\\r\\]]*\\]?/m,\n lookbehind: true,\n inside: {\n 'section-name': {\n pattern: /(^\\[[ \\f\\t\\v]*)[^ \\f\\t\\v\\]]+(?:[ \\f\\t\\v]+[^ \\f\\t\\v\\]]+)*/,\n lookbehind: true,\n alias: 'selector'\n },\n punctuation: /\\[|\\]/\n }\n },\n key: {\n pattern:\n /(^[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v=]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v=]+)*(?=[ \\f\\t\\v]*=)/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n value: {\n pattern: /(=[ \\f\\t\\v]*)[^ \\f\\n\\r\\t\\v]+(?:[ \\f\\t\\v]+[^ \\f\\n\\r\\t\\v]+)*/,\n lookbehind: true,\n alias: 'attr-value',\n inside: {\n 'inner-value': {\n pattern: /^(\"|').+(?=\\1$)/,\n lookbehind: true\n }\n }\n },\n punctuation: /=/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nio.displayName = 'io'\nio.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function io(Prism) {\n Prism.languages.io = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\/\\/.*|#.*)/,\n lookbehind: true,\n greedy: true\n },\n 'triple-quoted-string': {\n pattern: /\"\"\"(?:\\\\[\\s\\S]|(?!\"\"\")[^\\\\])*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:activate|activeCoroCount|asString|block|break|call|catch|clone|collectGarbage|compileString|continue|do|doFile|doMessage|doString|else|elseif|exit|for|foreach|forward|getEnvironmentVariable|getSlot|hasSlot|if|ifFalse|ifNil|ifNilEval|ifTrue|isActive|isNil|isResumable|list|message|method|parent|pass|pause|perform|performWithArgList|print|println|proto|raise|raiseResumable|removeSlot|resend|resume|schedulerSleepSeconds|self|sender|setSchedulerSleepSeconds|setSlot|shallowCopy|slotNames|super|system|then|thisBlock|thisContext|try|type|uniqueId|updateSlot|wait|while|write|yield)\\b/,\n builtin:\n /\\b(?:Array|AudioDevice|AudioMixer|BigNum|Block|Box|Buffer|CFunction|CGI|Color|Curses|DBM|DNSResolver|DOConnection|DOProxy|DOServer|Date|Directory|Duration|DynLib|Error|Exception|FFT|File|Fnmatch|Font|Future|GL|GLE|GLScissor|GLU|GLUCylinder|GLUQuadric|GLUSphere|GLUT|Host|Image|Importer|LinkList|List|Lobby|Locals|MD5|MP3Decoder|MP3Encoder|Map|Message|Movie|Notification|Number|Object|OpenGL|Point|Protos|Random|Regex|SGML|SGMLElement|SGMLParser|SQLite|Sequence|Server|ShowMessage|SleepyCat|SleepyCatCursor|Socket|SocketManager|Sound|Soup|Store|String|Tree|UDPSender|UPDReceiver|URL|User|Warning|WeakLink)\\b/,\n boolean: /\\b(?:false|nil|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e-?\\d+)?/i,\n operator:\n /[=!*/%+\\-^&|]=|>>?=?|<<?=?|:?:?=|\\+\\+?|--?|\\*\\*?|\\/\\/?|%|\\|\\|?|&&?|\\b(?:and|not|or|return)\\b|@@?|\\?\\??|\\.\\./,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nj.displayName = 'j'\nj.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function j(Prism) {\n Prism.languages.j = {\n comment: {\n pattern: /\\bNB\\..*/,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:(?:CR|LF|adverb|conjunction|def|define|dyad|monad|noun|verb)\\b|(?:assert|break|case|catch[dt]?|continue|do|else|elseif|end|fcase|for|for_\\w+|goto_\\w+|if|label_\\w+|return|select|throw|try|while|whilst)\\.)/,\n verb: {\n // Negative look-ahead prevents bad highlighting\n // of ^: ;. =. =: !. !:\n pattern:\n /(?!\\^:|;\\.|[=!][.:])(?:\\{(?:\\.|::?)?|p(?:\\.\\.?|:)|[=!\\]]|[<>+*\\-%$|,#][.:]?|[?^]\\.?|[;\\[]:?|[~}\"i][.:]|[ACeEIjLor]\\.|(?:[_\\/\\\\qsux]|_?\\d):)/,\n alias: 'keyword'\n },\n number:\n /\\b_?(?:(?!\\d:)\\d+(?:\\.\\d+)?(?:(?:ad|ar|[ejpx])_?\\d+(?:\\.\\d+)?)*(?:b_?[\\da-z]+(?:\\.[\\da-z]+)?)?|_\\b(?!\\.))/,\n adverb: {\n pattern: /[~}]|[\\/\\\\]\\.?|[bfM]\\.|t[.:]/,\n alias: 'builtin'\n },\n operator: /[=a][.:]|_\\./,\n conjunction: {\n pattern: /&(?:\\.:?|:)?|[.:@][.:]?|[!D][.:]|[;dHT]\\.|`:?|[\\^LS]:|\"/,\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\njava.displayName = 'java'\njava.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function java(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\\s*[(){}[\\]<>=%~.:,;?+\\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\\b/\n\n // full package (optional) + parent classes (optional)\n var classNamePrefix = /(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*/.source\n\n // based on the java naming conventions\n var className = {\n pattern: RegExp(\n /(^|[^\\w.])/.source +\n classNamePrefix +\n /[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b/.source\n ),\n lookbehind: true,\n inside: {\n namespace: {\n pattern: /^[a-z]\\w*(?:\\s*\\.\\s*[a-z]\\w*)*(?:\\s*\\.)?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /\\./\n }\n }\n Prism.languages.java = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': [\n className,\n {\n // variables, parameters, and constructor references\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n /(^|[^\\w.])/.source +\n classNamePrefix +\n /[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)/\n .source\n ),\n lookbehind: true,\n inside: className.inside\n },\n {\n // class names based on keyword\n // this to support class names (or generic parameters) which do not contain a lower case letter (also works for methods)\n pattern: RegExp(\n /(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)/\n .source +\n classNamePrefix +\n /[A-Z]\\w*\\b/.source\n ),\n lookbehind: true,\n inside: className.inside\n }\n ],\n keyword: keywords,\n function: [\n Prism.languages.clike.function,\n {\n pattern: /(::\\s*)[a-z_]\\w*/,\n lookbehind: true\n }\n ],\n number:\n /\\b0b[01][01_]*L?\\b|\\b0x(?:\\.[\\da-f_p+-]+|[\\da-f_]+(?:\\.[\\da-f_p+-]+)?)\\b|(?:\\b\\d[\\d_]*(?:\\.[\\d_]*)?|\\B\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[dfl]?/i,\n operator: {\n pattern:\n /(^|[^.])(?:<<=?|>>>?=?|->|--|\\+\\+|&&|\\|\\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,\n lookbehind: true\n },\n constant: /\\b[A-Z][A-Z_\\d]+\\b/\n })\n Prism.languages.insertBefore('java', 'string', {\n 'triple-quoted-string': {\n // http://openjdk.java.net/jeps/355#Description\n pattern: /\"\"\"[ \\t]*[\\r\\n](?:(?:\"|\"\")?(?:\\\\.|[^\"\\\\]))*\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n char: {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n]){1,6}'/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('java', 'class-name', {\n annotation: {\n pattern: /(^|[^.])@\\w+(?:\\s*\\.\\s*\\w+)*/,\n lookbehind: true,\n alias: 'punctuation'\n },\n generics: {\n pattern:\n /<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&)|<(?:[\\w\\s,.?]|&(?!&))*>)*>)*>)*>/,\n inside: {\n 'class-name': className,\n keyword: keywords,\n punctuation: /[<>(),.:]/,\n operator: /[?&|]/\n }\n },\n import: [\n {\n pattern: RegExp(\n /(\\bimport\\s+)/.source +\n classNamePrefix +\n /(?:[A-Z]\\w*|\\*)(?=\\s*;)/.source\n ),\n lookbehind: true,\n inside: {\n namespace: className.inside.namespace,\n punctuation: /\\./,\n operator: /\\*/,\n 'class-name': /\\w+/\n }\n },\n {\n pattern: RegExp(\n /(\\bimport\\s+static\\s+)/.source +\n classNamePrefix +\n /(?:\\w+|\\*)(?=\\s*;)/.source\n ),\n lookbehind: true,\n alias: 'static',\n inside: {\n namespace: className.inside.namespace,\n static: /\\b\\w+$/,\n punctuation: /\\./,\n operator: /\\*/,\n 'class-name': /\\w+/\n }\n }\n ],\n namespace: {\n pattern: RegExp(\n /(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!<keyword>)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?/.source.replace(\n /<keyword>/g,\n function () {\n return keywords.source\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nphp.displayName = 'php'\nphp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function php(Prism) {\n Prism.register(refractorMarkupTemplating)\n /**\n * Original by Aaron Harun: http://aahacreative.com/2012/07/31/php-syntax-highlighting-prism/\n * Modified by Miles Johnson: http://milesj.me\n * Rewritten by Tom Pavelec\n *\n * Supports PHP 5.3 - 8.0\n */\n ;(function (Prism) {\n var comment = /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*|#(?!\\[).*/\n var constant = [\n {\n pattern: /\\b(?:false|true)\\b/i,\n alias: 'boolean'\n },\n {\n pattern: /(::\\s*)\\b[a-z_]\\w*\\b(?!\\s*\\()/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\b(?:case|const)\\s+)\\b[a-z_]\\w*(?=\\s*[;=])/i,\n greedy: true,\n lookbehind: true\n },\n /\\b(?:null)\\b/i,\n /\\b[A-Z_][A-Z0-9_]*\\b(?!\\s*\\()/\n ]\n var number =\n /\\b0b[01]+(?:_[01]+)*\\b|\\b0o[0-7]+(?:_[0-7]+)*\\b|\\b0x[\\da-f]+(?:_[\\da-f]+)*\\b|(?:\\b\\d+(?:_\\d+)*\\.?(?:\\d+(?:_\\d+)*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i\n var operator =\n /<?=>|\\?\\?=?|\\.{3}|\\??->|[!=]=?=?|::|\\*\\*=?|--|\\+\\+|&&|\\|\\||<<|>>|[?~]|[/^|%*&<>.+-]=?/\n var punctuation = /[{}\\[\\](),:;]/\n Prism.languages.php = {\n delimiter: {\n pattern: /\\?>$|^<\\?(?:php(?=\\s)|=)?/i,\n alias: 'important'\n },\n comment: comment,\n variable: /\\$+(?:\\w+\\b|(?=\\{))/,\n package: {\n pattern:\n /(namespace\\s+|use\\s+(?:function\\s+)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n 'class-name-definition': {\n pattern: /(\\b(?:class|enum|interface|trait)\\s+)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n lookbehind: true,\n alias: 'class-name'\n },\n 'function-definition': {\n pattern: /(\\bfunction\\s+)[a-z_]\\w*(?=\\s*\\()/i,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n {\n pattern:\n /(\\(\\s*)\\b(?:array|bool|boolean|float|int|integer|object|string)\\b(?=\\s*\\))/i,\n alias: 'type-casting',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /([(,?]\\s*)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|object|self|static|string)\\b(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b(?:array(?!\\s*\\()|bool|callable|(?:false|null)(?=\\s*\\|)|float|int|iterable|mixed|never|object|self|static|string|void)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern:\n /\\b(?:array(?!\\s*\\()|bool|float|int|iterable|mixed|object|string|void)\\b/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:false|null)\\b|\\b(?:false|null)(?=\\s*\\|)/i,\n alias: 'type-declaration',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b(?:parent|self|static)(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n // yield from\n pattern: /(\\byield\\s+)from\\b/i,\n lookbehind: true\n },\n // `class` is always a keyword unlike other keywords\n /\\bclass\\b/i,\n {\n // https://www.php.net/manual/en/reserved.keywords.php\n //\n // keywords cannot be preceded by \"->\"\n // the complex lookbehind means `(?<!(?:->|::)\\s*)`\n pattern:\n /((?:^|[^\\s>:]|(?:^|[^-])>|(?:^|[^:]):)\\s*)\\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\\b/i,\n lookbehind: true\n }\n ],\n 'argument-name': {\n pattern: /([(,]\\s*)\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self|\\s+static))\\s+|\\bcatch\\s*\\()\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\|\\s*)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /\\b[a-z_]\\w*(?!\\\\)\\b(?=\\s*\\|)/i,\n greedy: true\n },\n {\n pattern: /(\\|\\s*)(?:\\\\?\\b[a-z_]\\w*)+\\b/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+\\b(?=\\s*\\|)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern:\n /(\\b(?:extends|implements|instanceof|new(?!\\s+self\\b|\\s+static\\b))\\s+|\\bcatch\\s*\\()(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: 'class-name-fully-qualified',\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-declaration',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-declaration'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /\\b[a-z_]\\w*(?=\\s*::)/i,\n alias: 'static-context',\n greedy: true\n },\n {\n pattern: /(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*::)/i,\n alias: ['class-name-fully-qualified', 'static-context'],\n greedy: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /([(,?]\\s*)[a-z_]\\w*(?=\\s*\\$)/i,\n alias: 'type-hint',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([(,?]\\s*)(?:\\\\?\\b[a-z_]\\w*)+(?=\\s*\\$)/i,\n alias: ['class-name-fully-qualified', 'type-hint'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'return-type',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /(\\)\\s*:\\s*(?:\\?\\s*)?)(?:\\\\?\\b[a-z_]\\w*)+\\b(?!\\\\)/i,\n alias: ['class-name-fully-qualified', 'return-type'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n function: {\n pattern: /(^|[^\\\\\\w])\\\\?[a-z_](?:[\\w\\\\]*\\w)?(?=\\s*\\()/i,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n },\n property: {\n pattern: /(->\\s*)\\w+/,\n lookbehind: true\n },\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n var string_interpolation = {\n pattern:\n /\\{\\$(?:\\{(?:\\{[^{}]+\\}|[^{}]+)\\}|[^{}])+\\}|(^|[^\\\\{])\\$+(?:\\w+(?:\\[[^\\r\\n\\[\\]]+\\]|->\\w+)?)/,\n lookbehind: true,\n inside: Prism.languages.php\n }\n var string = [\n {\n pattern: /<<<'([^']+)'[\\r\\n](?:.*[\\r\\n])*?\\1;/,\n alias: 'nowdoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<'[^']+'|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<'?|[';]$/\n }\n }\n }\n },\n {\n pattern:\n /<<<(?:\"([^\"]+)\"[\\r\\n](?:.*[\\r\\n])*?\\1;|([a-z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\2;)/i,\n alias: 'heredoc-string',\n greedy: true,\n inside: {\n delimiter: {\n pattern: /^<<<(?:\"[^\"]+\"|[a-z_]\\w*)|[a-z_]\\w*;$/i,\n alias: 'symbol',\n inside: {\n punctuation: /^<<<\"?|[\";]$/\n }\n },\n interpolation: string_interpolation\n }\n },\n {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`])*`/,\n alias: 'backtick-quoted-string',\n greedy: true\n },\n {\n pattern: /'(?:\\\\[\\s\\S]|[^\\\\'])*'/,\n alias: 'single-quoted-string',\n greedy: true\n },\n {\n pattern: /\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"/,\n alias: 'double-quoted-string',\n greedy: true,\n inside: {\n interpolation: string_interpolation\n }\n }\n ]\n Prism.languages.insertBefore('php', 'variable', {\n string: string,\n attribute: {\n pattern:\n /#\\[(?:[^\"'\\/#]|\\/(?![*/])|\\/\\/.*$|#(?!\\[).*$|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*')+\\](?=\\s*[a-z$#])/im,\n greedy: true,\n inside: {\n 'attribute-content': {\n pattern: /^(#\\[)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n // inside can appear subset of php\n inside: {\n comment: comment,\n string: string,\n 'attribute-class-name': [\n {\n pattern: /([^:]|^)\\b[a-z_]\\w*(?!\\\\)\\b/i,\n alias: 'class-name',\n greedy: true,\n lookbehind: true\n },\n {\n pattern: /([^:]|^)(?:\\\\?\\b[a-z_]\\w*)+/i,\n alias: ['class-name', 'class-name-fully-qualified'],\n greedy: true,\n lookbehind: true,\n inside: {\n punctuation: /\\\\/\n }\n }\n ],\n constant: constant,\n number: number,\n operator: operator,\n punctuation: punctuation\n }\n },\n delimiter: {\n pattern: /^#\\[|\\]$/,\n alias: 'punctuation'\n }\n }\n }\n })\n Prism.hooks.add('before-tokenize', function (env) {\n if (!/<\\?/.test(env.code)) {\n return\n }\n var phpPattern =\n /<\\?(?:[^\"'/#]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|(?:\\/\\/|#(?!\\[))(?:[^?\\n\\r]|\\?(?!>))*(?=$|\\?>|[\\r\\n])|#\\[|\\/\\*(?:[^*]|\\*(?!\\/))*(?:\\*\\/|$))*?(?:\\?>|$)/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'php',\n phpPattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'php')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njavadoclike.displayName = 'javadoclike'\njavadoclike.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function javadoclike(Prism) {\n ;(function (Prism) {\n var javaDocLike = (Prism.languages.javadoclike = {\n parameter: {\n pattern:\n /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*@(?:arg|arguments|param)\\s+)\\w+/m,\n lookbehind: true\n },\n keyword: {\n // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.\n // @word, {@word}\n pattern: /(^[\\t ]*(?:\\/{3}|\\*|\\/\\*\\*)\\s*|\\{)@[a-z][a-zA-Z-]+\\b/m,\n lookbehind: true\n },\n punctuation: /[{}]/\n })\n\n /**\n * Adds doc comment support to the given language and calls a given callback on each doc comment pattern.\n *\n * @param {string} lang the language add doc comment support to.\n * @param {(pattern: {inside: {rest: undefined}}) => void} callback the function called with each doc comment pattern as argument.\n */\n function docCommentSupport(lang, callback) {\n var tokenName = 'doc-comment'\n var grammar = Prism.languages[lang]\n if (!grammar) {\n return\n }\n var token = grammar[tokenName]\n if (!token) {\n // add doc comment: /** */\n var definition = {}\n definition[tokenName] = {\n pattern: /(^|[^\\\\])\\/\\*\\*[^/][\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true,\n alias: 'comment'\n }\n grammar = Prism.languages.insertBefore(lang, 'comment', definition)\n token = grammar[tokenName]\n }\n if (token instanceof RegExp) {\n // convert regex to object\n token = grammar[tokenName] = {\n pattern: token\n }\n }\n if (Array.isArray(token)) {\n for (var i = 0, l = token.length; i < l; i++) {\n if (token[i] instanceof RegExp) {\n token[i] = {\n pattern: token[i]\n }\n }\n callback(token[i])\n }\n } else {\n callback(token)\n }\n }\n\n /**\n * Adds doc-comment support to the given languages for the given documentation language.\n *\n * @param {string[]|string} languages\n * @param {Object} docLanguage\n */\n function addSupport(languages, docLanguage) {\n if (typeof languages === 'string') {\n languages = [languages]\n }\n languages.forEach(function (lang) {\n docCommentSupport(lang, function (pattern) {\n if (!pattern.inside) {\n pattern.inside = {}\n }\n pattern.inside.rest = docLanguage\n })\n })\n }\n Object.defineProperty(javaDocLike, 'addSupport', {\n value: addSupport\n })\n javaDocLike.addSupport(['java', 'javascript', 'php'], javaDocLike)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJava from './java.js'\nscala.displayName = 'scala'\nscala.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function scala(Prism) {\n Prism.register(refractorJava)\n Prism.languages.scala = Prism.languages.extend('java', {\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword:\n /<-|=>|\\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\\b/,\n number:\n /\\b0x(?:[\\da-f]*\\.)?[\\da-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e\\d+)?[dfl]?/i,\n builtin:\n /\\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\\b/,\n symbol: /'[^\\d\\s\\\\]\\w*/\n })\n Prism.languages.insertBefore('scala', 'triple-quoted-string', {\n 'string-interpolation': {\n pattern:\n /\\b[a-z]\\w*(?:\"\"\"(?:[^$]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*?\"\"\"|\"(?:[^$\"\\r\\n]|\\$(?:[^{]|\\{(?:[^{}]|\\{[^{}]*\\})*\\}))*\")/i,\n greedy: true,\n inside: {\n id: {\n pattern: /^\\w+/,\n greedy: true,\n alias: 'function'\n },\n escape: {\n pattern: /\\\\\\$\"|\\$[$\"]/,\n greedy: true,\n alias: 'symbol'\n },\n interpolation: {\n pattern: /\\$(?:\\w+|\\{(?:[^{}]|\\{[^{}]*\\})*\\})/,\n greedy: true,\n inside: {\n punctuation: /^\\$\\{?|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.scala\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n delete Prism.languages.scala['class-name']\n delete Prism.languages.scala['function']\n delete Prism.languages.scala['constant']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJava from './java.js'\nimport refractorJavadoclike from './javadoclike.js'\nimport refractorMarkup from './markup.js'\njavadoc.displayName = 'javadoc'\njavadoc.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function javadoc(Prism) {\n Prism.register(refractorJava)\n Prism.register(refractorJavadoclike)\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n var codeLinePattern = /(^(?:[\\t ]*(?:\\*\\s*)*))[^*\\s].*$/m\n var memberReference = /#\\s*\\w+(?:\\s*\\([^()]*\\))?/.source\n var reference =\n /(?:\\b[a-zA-Z]\\w+\\s*\\.\\s*)*\\b[A-Z]\\w*(?:\\s*<mem>)?|<mem>/.source.replace(\n /<mem>/g,\n function () {\n return memberReference\n }\n )\n Prism.languages.javadoc = Prism.languages.extend('javadoclike', {})\n Prism.languages.insertBefore('javadoc', 'keyword', {\n reference: {\n pattern: RegExp(\n /(@(?:exception|link|linkplain|see|throws|value)\\s+(?:\\*\\s*)?)/\n .source +\n '(?:' +\n reference +\n ')'\n ),\n lookbehind: true,\n inside: {\n function: {\n pattern: /(#\\s*)\\w+(?=\\s*\\()/,\n lookbehind: true\n },\n field: {\n pattern: /(#\\s*)\\w+/,\n lookbehind: true\n },\n namespace: {\n pattern: /\\b(?:[a-z]\\w*\\s*\\.\\s*)+/,\n inside: {\n punctuation: /\\./\n }\n },\n 'class-name': /\\b[A-Z]\\w*/,\n keyword: Prism.languages.java.keyword,\n punctuation: /[#()[\\],.]/\n }\n },\n 'class-name': {\n // @param <T> the first generic type parameter\n pattern: /(@param\\s+)<[A-Z]\\w*>/,\n lookbehind: true,\n inside: {\n punctuation: /[.<>]/\n }\n },\n 'code-section': [\n {\n pattern:\n /(\\{@code\\s+(?!\\s))(?:[^\\s{}]|\\s+(?![\\s}])|\\{(?:[^{}]|\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})*\\})*\\})+(?=\\s*\\})/,\n lookbehind: true,\n inside: {\n code: {\n // there can't be any HTML inside of {@code} tags\n pattern: codeLinePattern,\n lookbehind: true,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n },\n {\n pattern:\n /(<(code|pre|tt)>(?!<code>)\\s*)\\S(?:\\S|\\s+\\S)*?(?=\\s*<\\/\\2>)/,\n lookbehind: true,\n inside: {\n line: {\n pattern: codeLinePattern,\n lookbehind: true,\n inside: {\n // highlight HTML tags and entities\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity,\n code: {\n // everything else is Java code\n pattern: /.+/,\n inside: Prism.languages.java,\n alias: 'language-java'\n }\n }\n }\n }\n }\n ],\n tag: Prism.languages.markup.tag,\n entity: Prism.languages.markup.entity\n })\n Prism.languages.javadoclike.addSupport('java', Prism.languages.javadoc)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njavastacktrace.displayName = 'javastacktrace'\njavastacktrace.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function javastacktrace(Prism) {\n // Specification:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/Throwable.html#printStackTrace()\n\n Prism.languages.javastacktrace = {\n // java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]\n // Caused by: com.example.myproject.MyProjectServletException\n // Caused by: MidLevelException: LowLevelException\n // Suppressed: Resource$CloseFailException: Resource ID = 0\n summary: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by:|Suppressed:|Exception in thread \"[^\"]*\")[\\t ]+)?[\\w$.]+(?::.*)?$/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern:\n /^([\\t ]*)(?:(?:Caused by|Suppressed)(?=:)|Exception in thread)/m,\n lookbehind: true\n },\n // the current thread if the summary starts with 'Exception in thread'\n string: {\n pattern: /^(\\s*)\"[^\"]*\"/,\n lookbehind: true\n },\n exceptions: {\n pattern: /^(:?\\s*)[\\w$.]+(?=:|$)/,\n lookbehind: true,\n inside: {\n 'class-name': /[\\w$]+$/,\n namespace: /\\b[a-z]\\w*\\b/,\n punctuation: /\\./\n }\n },\n message: {\n pattern: /(:\\s*)\\S.*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /:/\n }\n },\n // at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)\n // at org.hsqldb.jdbc.Util.throwError(Unknown Source) here could be some notes\n // at java.base/java.lang.Class.forName0(Native Method)\n // at Util.<init>(Unknown Source)\n // at com.foo.loader/foo@9.0/com.foo.Main.run(Main.java:101)\n // at com.foo.loader//com.foo.bar.App.run(App.java:12)\n // at acme@2.1/org.acme.Lib.test(Lib.java:80)\n // at MyClass.mash(MyClass.java:9)\n //\n // More information:\n // https://docs.oracle.com/en/java/javase/13/docs/api/java.base/java/lang/StackTraceElement.html#toString()\n //\n // A valid Java module name is defined as:\n // \"A module name consists of one or more Java identifiers (§3.8) separated by \".\" tokens.\"\n // https://docs.oracle.com/javase/specs/jls/se9/html/jls-6.html#jls-ModuleName\n //\n // A Java module version is defined by this class:\n // https://docs.oracle.com/javase/9/docs/api/java/lang/module/ModuleDescriptor.Version.html\n // This is the implementation of the `parse` method in JDK13:\n // https://github.com/matcdac/jdk/blob/2305df71d1b7710266ae0956d73927a225132c0f/src/java.base/share/classes/java/lang/module/ModuleDescriptor.java#L1108\n // However, to keep this simple, a version will be matched by the pattern /@[\\w$.+-]*/.\n 'stack-frame': {\n pattern: /^([\\t ]*)at (?:[\\w$./]|@[\\w$.+-]*\\/)+(?:<init>)?\\([^()]*\\)/m,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^(\\s*)at(?= )/,\n lookbehind: true\n },\n source: [\n // (Main.java:15)\n // (Main.scala:15)\n {\n pattern: /(\\()\\w+\\.\\w+:\\d+(?=\\))/,\n lookbehind: true,\n inside: {\n file: /^\\w+\\.\\w+/,\n punctuation: /:/,\n 'line-number': {\n pattern: /\\b\\d+\\b/,\n alias: 'number'\n }\n }\n },\n // (Unknown Source)\n // (Native Method)\n // (...something...)\n {\n pattern: /(\\()[^()]*(?=\\))/,\n lookbehind: true,\n inside: {\n keyword: /^(?:Native Method|Unknown Source)$/\n }\n }\n ],\n 'class-name': /[\\w$]+(?=\\.(?:<init>|[\\w$]+)\\()/,\n function: /(?:<init>|[\\w$]+)(?=\\()/,\n 'class-loader': {\n pattern: /(\\s)[a-z]\\w*(?:\\.[a-z]\\w*)*(?=\\/[\\w@$.]*\\/)/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /\\./\n }\n },\n module: {\n pattern: /([\\s/])[a-z]\\w*(?:\\.[a-z]\\w*)*(?:@[\\w$.+-]*)?(?=\\/)/,\n lookbehind: true,\n inside: {\n version: {\n pattern: /(@)[\\s\\S]+/,\n lookbehind: true,\n alias: 'number'\n },\n punctuation: /[@.]/\n }\n },\n namespace: {\n pattern: /(?:\\b[a-z]\\w*\\.)+/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()/.]/\n }\n },\n // ... 32 more\n // ... 32 common frames omitted\n more: {\n pattern: /^([\\t ]*)\\.{3} \\d+ [a-z]+(?: [a-z]+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /\\.{3}/,\n number: /\\d+/,\n keyword: /\\b[a-z]+(?: [a-z]+)*\\b/\n }\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njexl.displayName = 'jexl'\njexl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jexl(Prism) {\n Prism.languages.jexl = {\n string: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n transform: {\n pattern:\n /(\\|\\s*)[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*/,\n alias: 'function',\n lookbehind: true\n },\n function:\n /[a-zA-Zа-яА-Я_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$][\\wа-яА-Я\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u00FF$]*\\s*(?=\\()/,\n number: /\\b\\d+(?:\\.\\d+)?\\b|\\B\\.\\d+\\b/,\n operator: /[<>!]=?|-|\\+|&&|==|\\|\\|?|\\/\\/?|[?:*^%]/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: /\\bin\\b/,\n punctuation: /[{}[\\](),.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\njolie.displayName = 'jolie'\njolie.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jolie(Prism) {\n Prism.register(refractorClike)\n Prism.languages.jolie = Prism.languages.extend('clike', {\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern:\n /((?:\\b(?:as|courier|embed|in|inputPort|outputPort|service)\\b|@)[ \\t]*)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:as|cH|comp|concurrent|constants|courier|cset|csets|default|define|else|embed|embedded|execution|exit|extender|for|foreach|forward|from|global|if|import|in|include|init|inputPort|install|instanceof|interface|is_defined|linkIn|linkOut|main|new|nullProcess|outputPort|over|private|provide|public|scope|sequential|service|single|spawn|synchronized|this|throw|throws|type|undef|until|while|with)\\b/,\n function: /\\b[a-z_]\\w*(?=[ \\t]*[@(])/i,\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?l?/i,\n operator: /-[-=>]?|\\+[+=]?|<[<=]?|[>=*!]=?|&&|\\|\\||[?\\/%^@|]/,\n punctuation: /[()[\\]{},;.:]/,\n builtin:\n /\\b(?:Byte|any|bool|char|double|enum|float|int|length|long|ranges|regex|string|undefined|void)\\b/\n })\n Prism.languages.insertBefore('jolie', 'keyword', {\n aggregates: {\n pattern:\n /(\\bAggregates\\s*:\\s*)(?:\\w+(?:\\s+with\\s+\\w+)?\\s*,\\s*)*\\w+(?:\\s+with\\s+\\w+)?/,\n lookbehind: true,\n inside: {\n keyword: /\\bwith\\b/,\n 'class-name': /\\w+/,\n punctuation: /,/\n }\n },\n redirects: {\n pattern:\n /(\\bRedirects\\s*:\\s*)(?:\\w+\\s*=>\\s*\\w+\\s*,\\s*)*(?:\\w+\\s*=>\\s*\\w+)/,\n lookbehind: true,\n inside: {\n punctuation: /,/,\n 'class-name': /\\w+/,\n operator: /=>/\n }\n },\n property: {\n pattern:\n /\\b(?:Aggregates|[Ii]nterfaces|Java|Javascript|Jolie|[Ll]ocation|OneWay|[Pp]rotocol|Redirects|RequestResponse)\\b(?=[ \\t]*:)/\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njq.displayName = 'jq'\njq.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jq(Prism) {\n ;(function (Prism) {\n var interpolation = /\\\\\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var string = RegExp(\n /(^|[^\\\\])\"(?:[^\"\\r\\n\\\\]|\\\\[^\\r\\n(]|__)*\"/.source.replace(\n /__/g,\n function () {\n return interpolation\n }\n )\n )\n var stringInterpolation = {\n interpolation: {\n pattern: RegExp(/((?:^|[^\\\\])(?:\\\\{2})*)/.source + interpolation),\n lookbehind: true,\n inside: {\n content: {\n pattern: /^(\\\\\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /^\\\\\\(|\\)$/\n }\n }\n }\n var jq = (Prism.languages.jq = {\n comment: /#.*/,\n property: {\n pattern: RegExp(string.source + /(?=\\s*:(?!:))/.source),\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n string: {\n pattern: string,\n lookbehind: true,\n greedy: true,\n inside: stringInterpolation\n },\n function: {\n pattern: /(\\bdef\\s+)[a-z_]\\w+/i,\n lookbehind: true\n },\n variable: /\\B\\$\\w+/,\n 'property-literal': {\n pattern: /\\b[a-z_]\\w*(?=\\s*:(?!:))/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /(?:\\b\\d+\\.|\\B\\.)?\\b\\d+(?:[eE][+-]?\\d+)?\\b/,\n operator: [\n {\n pattern: /\\|=?/,\n alias: 'pipe'\n },\n /\\.\\.|[!=<>]?=|\\?\\/\\/|\\/\\/=?|[-+*/%]=?|[<>?]|\\b(?:and|not|or)\\b/\n ],\n 'c-style-function': {\n pattern: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n alias: 'function'\n },\n punctuation: /::|[()\\[\\]{},:;]|\\.(?=\\s*[\\[\\w$])/,\n dot: {\n pattern: /\\./,\n alias: 'important'\n }\n })\n stringInterpolation.interpolation.inside.content.inside = jq\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\njsTemplates.displayName = 'js-templates'\njsTemplates.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsTemplates(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n var templateString = Prism.languages.javascript['template-string']\n\n // see the pattern in prism-javascript.js\n var templateLiteralPattern = templateString.pattern.source\n var interpolationObject = templateString.inside['interpolation']\n var interpolationPunctuationObject =\n interpolationObject.inside['interpolation-punctuation']\n var interpolationPattern = interpolationObject.pattern.source\n\n /**\n * Creates a new pattern to match a template string with a special tag.\n *\n * This will return `undefined` if there is no grammar with the given language id.\n *\n * @param {string} language The language id of the embedded language. E.g. `markdown`.\n * @param {string} tag The regex pattern to match the tag.\n * @returns {object | undefined}\n * @example\n * createTemplate('css', /\\bcss/.source);\n */\n function createTemplate(language, tag) {\n if (!Prism.languages[language]) {\n return undefined\n }\n return {\n pattern: RegExp('((?:' + tag + ')\\\\s*)' + templateLiteralPattern),\n lookbehind: true,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n 'embedded-code': {\n pattern: /[\\s\\S]+/,\n alias: language\n }\n }\n }\n }\n Prism.languages.javascript['template-string'] = [\n // styled-jsx:\n // css`a { color: #25F; }`\n // styled-components:\n // styled.h1`color: red;`\n createTemplate(\n 'css',\n /\\b(?:styled(?:\\([^)]*\\))?(?:\\s*\\.\\s*\\w+(?:\\([^)]*\\))*)*|css(?:\\s*\\.\\s*(?:global|resolve))?|createGlobalStyle|keyframes)/\n .source\n ),\n // html`<p></p>`\n // div.innerHTML = `<p></p>`\n createTemplate('html', /\\bhtml|\\.\\s*(?:inner|outer)HTML\\s*\\+?=/.source),\n // svg`<path fill=\"#fff\" d=\"M55.37 ...\"/>`\n createTemplate('svg', /\\bsvg/.source),\n // md`# h1`, markdown`## h2`\n createTemplate('markdown', /\\b(?:markdown|md)/.source),\n // gql`...`, graphql`...`, graphql.experimental`...`\n createTemplate(\n 'graphql',\n /\\b(?:gql|graphql(?:\\s*\\.\\s*experimental)?)/.source\n ),\n // sql`...`\n createTemplate('sql', /\\bsql/.source),\n // vanilla template string\n templateString\n ].filter(Boolean)\n\n /**\n * Returns a specific placeholder literal for the given language.\n *\n * @param {number} counter\n * @param {string} language\n * @returns {string}\n */\n function getPlaceholder(counter, language) {\n return '___' + language.toUpperCase() + '_' + counter + '___'\n }\n\n /**\n * Returns the tokens of `Prism.tokenize` but also runs the `before-tokenize` and `after-tokenize` hooks.\n *\n * @param {string} code\n * @param {any} grammar\n * @param {string} language\n * @returns {(string|Token)[]}\n */\n function tokenizeWithHooks(code, grammar, language) {\n var env = {\n code: code,\n grammar: grammar,\n language: language\n }\n Prism.hooks.run('before-tokenize', env)\n env.tokens = Prism.tokenize(env.code, env.grammar)\n Prism.hooks.run('after-tokenize', env)\n return env.tokens\n }\n\n /**\n * Returns the token of the given JavaScript interpolation expression.\n *\n * @param {string} expression The code of the expression. E.g. `\"${42}\"`\n * @returns {Token}\n */\n function tokenizeInterpolationExpression(expression) {\n var tempGrammar = {}\n tempGrammar['interpolation-punctuation'] = interpolationPunctuationObject\n\n /** @type {Array} */\n var tokens = Prism.tokenize(expression, tempGrammar)\n if (tokens.length === 3) {\n /**\n * The token array will look like this\n * [\n * [\"interpolation-punctuation\", \"${\"]\n * \"...\" // JavaScript expression of the interpolation\n * [\"interpolation-punctuation\", \"}\"]\n * ]\n */\n\n var args = [1, 1]\n args.push.apply(\n args,\n tokenizeWithHooks(tokens[1], Prism.languages.javascript, 'javascript')\n )\n tokens.splice.apply(tokens, args)\n }\n return new Prism.Token(\n 'interpolation',\n tokens,\n interpolationObject.alias,\n expression\n )\n }\n\n /**\n * Tokenizes the given code with support for JavaScript interpolation expressions mixed in.\n *\n * This function has 3 phases:\n *\n * 1. Replace all JavaScript interpolation expression with a placeholder.\n * The placeholder will have the syntax of a identify of the target language.\n * 2. Tokenize the code with placeholders.\n * 3. Tokenize the interpolation expressions and re-insert them into the tokenize code.\n * The insertion only works if a placeholder hasn't been \"ripped apart\" meaning that the placeholder has been\n * tokenized as two tokens by the grammar of the embedded language.\n *\n * @param {string} code\n * @param {object} grammar\n * @param {string} language\n * @returns {Token}\n */\n function tokenizeEmbedded(code, grammar, language) {\n // 1. First filter out all interpolations\n\n // because they might be escaped, we need a lookbehind, so we use Prism\n /** @type {(Token|string)[]} */\n var _tokens = Prism.tokenize(code, {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n lookbehind: true\n }\n })\n\n // replace all interpolations with a placeholder which is not in the code already\n var placeholderCounter = 0\n /** @type {Object<string, string>} */\n var placeholderMap = {}\n var embeddedCode = _tokens\n .map(function (token) {\n if (typeof token === 'string') {\n return token\n } else {\n var interpolationExpression = token.content\n var placeholder\n while (\n code.indexOf(\n (placeholder = getPlaceholder(placeholderCounter++, language))\n ) !== -1\n ) {\n /* noop */\n }\n placeholderMap[placeholder] = interpolationExpression\n return placeholder\n }\n })\n .join('')\n\n // 2. Tokenize the embedded code\n\n var embeddedTokens = tokenizeWithHooks(embeddedCode, grammar, language)\n\n // 3. Re-insert the interpolation\n\n var placeholders = Object.keys(placeholderMap)\n placeholderCounter = 0\n\n /**\n *\n * @param {(Token|string)[]} tokens\n * @returns {void}\n */\n function walkTokens(tokens) {\n for (var i = 0; i < tokens.length; i++) {\n if (placeholderCounter >= placeholders.length) {\n return\n }\n var token = tokens[i]\n if (typeof token === 'string' || typeof token.content === 'string') {\n var placeholder = placeholders[placeholderCounter]\n var s =\n typeof token === 'string'\n ? token\n : /** @type {string} */ token.content\n var index = s.indexOf(placeholder)\n if (index !== -1) {\n ++placeholderCounter\n var before = s.substring(0, index)\n var middle = tokenizeInterpolationExpression(\n placeholderMap[placeholder]\n )\n var after = s.substring(index + placeholder.length)\n var replacement = []\n if (before) {\n replacement.push(before)\n }\n replacement.push(middle)\n if (after) {\n var afterTokens = [after]\n walkTokens(afterTokens)\n replacement.push.apply(replacement, afterTokens)\n }\n if (typeof token === 'string') {\n tokens.splice.apply(tokens, [i, 1].concat(replacement))\n i += replacement.length - 1\n } else {\n token.content = replacement\n }\n }\n } else {\n var content = token.content\n if (Array.isArray(content)) {\n walkTokens(content)\n } else {\n walkTokens([content])\n }\n }\n }\n }\n walkTokens(embeddedTokens)\n return new Prism.Token(\n language,\n embeddedTokens,\n 'language-' + language,\n code\n )\n }\n\n /**\n * The languages for which JS templating will handle tagged template literals.\n *\n * JS templating isn't active for only JavaScript but also related languages like TypeScript, JSX, and TSX.\n */\n var supportedLanguages = {\n javascript: true,\n js: true,\n typescript: true,\n ts: true,\n jsx: true,\n tsx: true\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (!(env.language in supportedLanguages)) {\n return\n }\n\n /**\n * Finds and tokenizes all template strings with an embedded languages.\n *\n * @param {(Token | string)[]} tokens\n * @returns {void}\n */\n function findTemplateStrings(tokens) {\n for (var i = 0, l = tokens.length; i < l; i++) {\n var token = tokens[i]\n if (typeof token === 'string') {\n continue\n }\n var content = token.content\n if (!Array.isArray(content)) {\n if (typeof content !== 'string') {\n findTemplateStrings([content])\n }\n continue\n }\n if (token.type === 'template-string') {\n /**\n * A JavaScript template-string token will look like this:\n *\n * [\"template-string\", [\n * [\"template-punctuation\", \"`\"],\n * (\n * An array of \"string\" and \"interpolation\" tokens. This is the simple string case.\n * or\n * [\"embedded-code\", \"...\"] This is the token containing the embedded code.\n * It also has an alias which is the language of the embedded code.\n * ),\n * [\"template-punctuation\", \"`\"]\n * ]]\n */\n\n var embedded = content[1]\n if (\n content.length === 3 &&\n typeof embedded !== 'string' &&\n embedded.type === 'embedded-code'\n ) {\n // get string content\n var code = stringContent(embedded)\n var alias = embedded.alias\n var language = Array.isArray(alias) ? alias[0] : alias\n var grammar = Prism.languages[language]\n if (!grammar) {\n // the embedded language isn't registered.\n continue\n }\n content[1] = tokenizeEmbedded(code, grammar, language)\n }\n } else {\n findTemplateStrings(content)\n }\n }\n }\n findTemplateStrings(env.tokens)\n })\n\n /**\n * Returns the string content of a token or token stream.\n *\n * @param {string | Token | (string | Token)[]} value\n * @returns {string}\n */\n function stringContent(value) {\n if (typeof value === 'string') {\n return value\n } else if (Array.isArray(value)) {\n return value.map(stringContent).join('')\n } else {\n return stringContent(value.content)\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\ntypescript.displayName = 'typescript'\ntypescript.aliases = ['ts']\n\n/** @param {Refractor} Prism */\nexport default function typescript(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n Prism.languages.typescript = Prism.languages.extend('javascript', {\n 'class-name': {\n pattern:\n /(\\b(?:class|extends|implements|instanceof|interface|new|type)\\s+)(?!keyof\\b)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?:\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n builtin:\n /\\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\\b/\n })\n\n // The keywords TypeScript adds to JavaScript\n Prism.languages.typescript.keyword.push(\n /\\b(?:abstract|declare|is|keyof|readonly|require)\\b/,\n // keywords that have to be followed by an identifier\n /\\b(?:asserts|infer|interface|module|namespace|type)\\b(?=\\s*(?:[{_$a-zA-Z\\xA0-\\uFFFF]|$))/,\n // This is for `import type *, {}`\n /\\btype\\b(?=\\s*(?:[\\{*]|$))/\n )\n\n // doesn't work with TS because TS is too complex\n delete Prism.languages.typescript['parameter']\n delete Prism.languages.typescript['literal-property']\n\n // a version of typescript specifically for highlighting types\n var typeInside = Prism.languages.extend('typescript', {})\n delete typeInside['class-name']\n Prism.languages.typescript['class-name'].inside = typeInside\n Prism.languages.insertBefore('typescript', 'function', {\n decorator: {\n pattern: /@[$\\w\\xA0-\\uFFFF]+/,\n inside: {\n at: {\n pattern: /^@/,\n alias: 'operator'\n },\n function: /^[\\s\\S]+/\n }\n },\n 'generic-function': {\n // e.g. foo<T extends \"bar\" | \"baz\">( ...\n pattern:\n /#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\\s*\\()/,\n greedy: true,\n inside: {\n function: /^#?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/,\n generic: {\n pattern: /<[\\s\\S]+/,\n // everything after the first <\n alias: 'class-name',\n inside: typeInside\n }\n }\n }\n })\n Prism.languages.ts = Prism.languages.typescript\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavadoclike from './javadoclike.js'\nimport refractorJavascript from './javascript.js'\nimport refractorTypescript from './typescript.js'\njsdoc.displayName = 'jsdoc'\njsdoc.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsdoc(Prism) {\n Prism.register(refractorJavadoclike)\n Prism.register(refractorJavascript)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var javascript = Prism.languages.javascript\n var type = /\\{(?:[^{}]|\\{(?:[^{}]|\\{[^{}]*\\})*\\})+\\}/.source\n var parameterPrefix =\n '(@(?:arg|argument|param|property)\\\\s+(?:' + type + '\\\\s+)?)'\n Prism.languages.jsdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n // @param {string} foo - foo bar\n pattern: RegExp(\n parameterPrefix + /(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n })\n Prism.languages.insertBefore('jsdoc', 'keyword', {\n 'optional-parameter': {\n // @param {string} [baz.foo=\"bar\"] foo bar\n pattern: RegExp(\n parameterPrefix +\n /\\[(?:(?!\\s)[$\\w\\xA0-\\uFFFF.])+(?:=[^[\\]]+)?\\](?=\\s|$)/.source\n ),\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /(^\\[)[$\\w\\xA0-\\uFFFF\\.]+/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n code: {\n pattern: /(=)[\\s\\S]*(?=\\]$)/,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n },\n punctuation: /[=[\\]]/\n }\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(@(?:augments|class|extends|interface|memberof!?|template|this|typedef)\\s+(?:<TYPE>\\s+)?)[A-Z]\\w*(?:\\.[A-Z]\\w*)*/.source.replace(\n /<TYPE>/g,\n function () {\n return type\n }\n )\n ),\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n pattern: RegExp('(@[a-z]+\\\\s+)' + type),\n lookbehind: true,\n inside: {\n string: javascript.string,\n number: javascript.number,\n boolean: javascript.boolean,\n keyword: Prism.languages.typescript.keyword,\n operator: /=>|\\.\\.\\.|[&|?:*]/,\n punctuation: /[.,;=<>{}()[\\]]/\n }\n }\n ],\n example: {\n pattern:\n /(@example\\s+(?!\\s))(?:[^@\\s]|\\s+(?!\\s))+?(?=\\s*(?:\\*\\s*)?(?:@\\w|\\*\\/))/,\n lookbehind: true,\n inside: {\n code: {\n pattern: /^([\\t ]*(?:\\*\\s*)?)\\S.*$/m,\n lookbehind: true,\n inside: javascript,\n alias: 'language-javascript'\n }\n }\n }\n })\n Prism.languages.javadoclike.addSupport('javascript', Prism.languages.jsdoc)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nn4js.displayName = 'n4js'\nn4js.aliases = ['n4jsd']\n\n/** @param {Refractor} Prism */\nexport default function n4js(Prism) {\n Prism.register(refractorJavascript)\n Prism.languages.n4js = Prism.languages.extend('javascript', {\n // Keywords from N4JS language spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html\n keyword:\n /\\b(?:Array|any|boolean|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|module|new|null|number|package|private|protected|public|return|set|static|string|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\\b/\n })\n Prism.languages.insertBefore('n4js', 'constant', {\n // Annotations in N4JS spec: https://numberfour.github.io/n4js/spec/N4JSSpec.html#_annotations\n annotation: {\n pattern: /@+\\w+/,\n alias: 'operator'\n }\n })\n Prism.languages.n4jsd = Prism.languages.n4js\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\njsExtras.displayName = 'js-extras'\njsExtras.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsExtras(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n Prism.languages.insertBefore('javascript', 'function-variable', {\n 'method-variable': {\n pattern: RegExp(\n '(\\\\.\\\\s*)' +\n Prism.languages.javascript['function-variable'].pattern.source\n ),\n lookbehind: true,\n alias: ['function-variable', 'method', 'function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'function', {\n method: {\n pattern: RegExp(\n '(\\\\.\\\\s*)' + Prism.languages.javascript['function'].source\n ),\n lookbehind: true,\n alias: ['function', 'property-access']\n }\n })\n Prism.languages.insertBefore('javascript', 'constant', {\n 'known-class-name': [\n {\n // standard built-ins\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects\n pattern:\n /\\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\\b/,\n alias: 'class-name'\n },\n {\n // errors\n pattern: /\\b(?:[A-Z]\\w*)Error\\b/,\n alias: 'class-name'\n }\n ]\n })\n\n /**\n * Replaces the `<ID>` placeholder in the given pattern with a pattern for general JS identifiers.\n *\n * @param {string} source\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function withId(source, flags) {\n return RegExp(\n source.replace(/<ID>/g, function () {\n return /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*/.source\n }),\n flags\n )\n }\n Prism.languages.insertBefore('javascript', 'keyword', {\n imports: {\n // https://tc39.es/ecma262/#sec-imports\n pattern: withId(\n /(\\bimport\\b\\s*)(?:<ID>(?:\\s*,\\s*(?:\\*\\s*as\\s+<ID>|\\{[^{}]*\\}))?|\\*\\s*as\\s+<ID>|\\{[^{}]*\\})(?=\\s*\\bfrom\\b)/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n exports: {\n // https://tc39.es/ecma262/#sec-exports\n pattern: withId(\n /(\\bexport\\b\\s*)(?:\\*(?:\\s*as\\s+<ID>)?(?=\\s*\\bfrom\\b)|\\{[^{}]*\\})/\n .source\n ),\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n })\n Prism.languages.javascript['keyword'].unshift(\n {\n pattern: /\\b(?:as|default|export|from|import)\\b/,\n alias: 'module'\n },\n {\n pattern:\n /\\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\\b/,\n alias: 'control-flow'\n },\n {\n pattern: /\\bnull\\b/,\n alias: ['null', 'nil']\n },\n {\n pattern: /\\bundefined\\b/,\n alias: 'nil'\n }\n )\n Prism.languages.insertBefore('javascript', 'operator', {\n spread: {\n pattern: /\\.{3}/,\n alias: 'operator'\n },\n arrow: {\n pattern: /=>/,\n alias: 'operator'\n }\n })\n Prism.languages.insertBefore('javascript', 'punctuation', {\n 'property-access': {\n pattern: withId(/(\\.\\s*)#?<ID>/.source),\n lookbehind: true\n },\n 'maybe-class-name': {\n pattern: /(^|[^$\\w\\xA0-\\uFFFF])[A-Z][$\\w\\xA0-\\uFFFF]+/,\n lookbehind: true\n },\n dom: {\n // this contains only a few commonly used DOM variables\n pattern:\n /\\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\\b/,\n alias: 'variable'\n },\n console: {\n pattern: /\\bconsole(?=\\s*\\.)/,\n alias: 'class-name'\n }\n })\n\n // add 'maybe-class-name' to tokens which might be a class name\n var maybeClassNameTokens = [\n 'function',\n 'function-variable',\n 'method',\n 'method-variable',\n 'property-access'\n ]\n for (var i = 0; i < maybeClassNameTokens.length; i++) {\n var token = maybeClassNameTokens[i]\n var value = Prism.languages.javascript[token]\n\n // convert regex to object\n if (Prism.util.type(value) === 'RegExp') {\n value = Prism.languages.javascript[token] = {\n pattern: value\n }\n }\n\n // keep in mind that we don't support arrays\n\n var inside = value.inside || {}\n value.inside = inside\n inside['maybe-class-name'] = /^[A-Z][\\s\\S]*/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJson from './json.js'\njson5.displayName = 'json5'\njson5.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function json5(Prism) {\n Prism.register(refractorJson)\n ;(function (Prism) {\n var string = /(\"|')(?:\\\\(?:\\r\\n?|\\n|.)|(?!\\1)[^\\\\\\r\\n])*\\1/\n Prism.languages.json5 = Prism.languages.extend('json', {\n property: [\n {\n pattern: RegExp(string.source + '(?=\\\\s*:)'),\n greedy: true\n },\n {\n pattern:\n /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*:)/,\n alias: 'unquoted'\n }\n ],\n string: {\n pattern: string,\n greedy: true\n },\n number:\n /[+-]?\\b(?:NaN|Infinity|0x[a-fA-F\\d]+)\\b|[+-]?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+\\b)?/\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJson from './json.js'\njsonp.displayName = 'jsonp'\njsonp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsonp(Prism) {\n Prism.register(refractorJson)\n Prism.languages.jsonp = Prism.languages.extend('json', {\n punctuation: /[{}[\\]();,.]/\n })\n Prism.languages.insertBefore('jsonp', 'punctuation', {\n function: /(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*(?=\\s*\\()/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njsstacktrace.displayName = 'jsstacktrace'\njsstacktrace.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsstacktrace(Prism) {\n Prism.languages.jsstacktrace = {\n 'error-message': {\n pattern: /^\\S.*/m,\n alias: 'string'\n },\n 'stack-frame': {\n pattern: /(^[ \\t]+)at[ \\t].*/m,\n lookbehind: true,\n inside: {\n 'not-my-code': {\n pattern:\n /^at[ \\t]+(?!\\s)(?:node\\.js|<unknown>|.*(?:node_modules|\\(<anonymous>\\)|\\(<unknown>|<anonymous>$|\\(internal\\/|\\(node\\.js)).*/m,\n alias: 'comment'\n },\n filename: {\n pattern: /(\\bat\\s+(?!\\s)|\\()(?:[a-zA-Z]:)?[^():]+(?=:)/,\n lookbehind: true,\n alias: 'url'\n },\n function: {\n pattern:\n /(\\bat\\s+(?:new\\s+)?)(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF<][.$\\w\\xA0-\\uFFFF<>]*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[()]/,\n keyword: /\\b(?:at|new)\\b/,\n alias: {\n pattern: /\\[(?:as\\s+)?(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF][$\\w\\xA0-\\uFFFF]*\\]/,\n alias: 'variable'\n },\n 'line-number': {\n pattern: /:\\d+(?::\\d+)?\\b/,\n alias: 'number',\n inside: {\n punctuation: /:/\n }\n }\n }\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\njulia.displayName = 'julia'\njulia.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function julia(Prism) {\n Prism.languages.julia = {\n comment: {\n // support one level of nested comments\n // https://github.com/JuliaLang/julia/pull/6128\n pattern:\n /(^|[^\\\\])(?:#=(?:[^#=]|=(?!#)|#(?!=)|#=(?:[^#=]|=(?!#)|#(?!=))*=#)*=#|#.*)/,\n lookbehind: true\n },\n regex: {\n // https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1\n pattern: /r\"(?:\\\\.|[^\"\\\\\\r\\n])*\"[imsx]{0,4}/,\n greedy: true\n },\n string: {\n // https://docs.julialang.org/en/v1/manual/strings/#String-Basics-1\n // https://docs.julialang.org/en/v1/manual/strings/#non-standard-string-literals-1\n // https://docs.julialang.org/en/v1/manual/running-external-programs/#Running-External-Programs-1\n pattern:\n /\"\"\"[\\s\\S]+?\"\"\"|(?:\\b\\w+)?\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|`(?:[^\\\\`\\r\\n]|\\\\.)*`/,\n greedy: true\n },\n char: {\n // https://docs.julialang.org/en/v1/manual/strings/#man-characters-1\n pattern: /(^|[^\\w'])'(?:\\\\[^\\r\\n][^'\\r\\n]*|[^\\\\\\r\\n])'/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|in|let|local|macro|module|print|println|quote|return|struct|try|type|typealias|using|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[box])?(?:[\\da-f]+(?:_[\\da-f]+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[efp][+-]?\\d+(?:_\\d+)*)?j?/i,\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/\n // https://docs.julialang.org/en/v1/manual/mathematical-operations/#Operator-Precedence-and-Associativity-1\n operator:\n /&&|\\|\\||[-+*^%÷⊻&$\\\\]=?|\\/[\\/=]?|!=?=?|\\|[=>]?|<(?:<=?|[=:|])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥'√∛]/,\n punctuation: /::?|[{}[\\]();,.?]/,\n // https://docs.julialang.org/en/v1/base/numbers/#Base.im\n constant: /\\b(?:(?:Inf|NaN)(?:16|32|64)?|im|pi)\\b|[πℯ]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nkeepalived.displayName = 'keepalived'\nkeepalived.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function keepalived(Prism) {\n Prism.languages.keepalived = {\n comment: {\n pattern: /[#!].*/,\n greedy: true\n },\n string: {\n pattern:\n /(^|[^\\\\])(?:\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"|'(?:\\\\(?:\\r\\n|[\\s\\S])|[^'\\\\\\r\\n])*')/,\n lookbehind: true,\n greedy: true\n },\n // support IPv4, IPv6, subnet mask\n ip: {\n pattern: RegExp(\n /\\b(?:(?:(?:[\\da-f]{1,4}:){7}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}:[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){5}:(?:[\\da-f]{1,4}:)?[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){4}:(?:[\\da-f]{1,4}:){0,2}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){3}:(?:[\\da-f]{1,4}:){0,3}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){2}:(?:[\\da-f]{1,4}:){0,4}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){6}<ipv4>|(?:[\\da-f]{1,4}:){0,5}:<ipv4>|::(?:[\\da-f]{1,4}:){0,5}<ipv4>|[\\da-f]{1,4}::(?:[\\da-f]{1,4}:){0,5}[\\da-f]{1,4}|::(?:[\\da-f]{1,4}:){0,6}[\\da-f]{1,4}|(?:[\\da-f]{1,4}:){1,7}:)(?:\\/\\d{1,3})?|<ipv4>(?:\\/\\d{1,2})?)\\b/.source.replace(\n /<ipv4>/g,\n function () {\n return /(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))/\n .source\n }\n ),\n 'i'\n ),\n alias: 'number'\n },\n // support *nix / Windows, directory / file\n path: {\n pattern:\n /(\\s)\\/(?:[^\\/\\s]+\\/)*[^\\/\\s]*|\\b[a-zA-Z]:\\\\(?:[^\\\\\\s]+\\\\)*[^\\\\\\s]*/,\n lookbehind: true,\n alias: 'string'\n },\n variable: /\\$\\{?\\w+\\}?/,\n email: {\n pattern: /[\\w-]+@[\\w-]+(?:\\.[\\w-]{2,3}){1,2}/,\n alias: 'string'\n },\n 'conditional-configuration': {\n pattern: /@\\^?[\\w-]+/,\n alias: 'variable'\n },\n operator: /=/,\n property:\n /\\b(?:BFD_CHECK|DNS_CHECK|FILE_CHECK|HTTP_GET|MISC_CHECK|NAME|PING_CHECK|SCRIPTS|SMTP_CHECK|SSL|SSL_GET|TCP_CHECK|UDP_CHECK|accept|advert_int|alpha|auth_pass|auth_type|authentication|bfd_cpu_affinity|bfd_instance|bfd_no_swap|bfd_priority|bfd_process_name|bfd_rlimit_rttime|bfd_rt_priority|bind_if|bind_port|bindto|ca|certificate|check_unicast_src|checker|checker_cpu_affinity|checker_log_all_failures|checker_no_swap|checker_priority|checker_rlimit_rttime|checker_rt_priority|child_wait_time|connect_ip|connect_port|connect_timeout|dbus_service_name|debug|default_interface|delay|delay_before_retry|delay_loop|digest|dont_track_primary|dynamic|dynamic_interfaces|enable_(?:dbus|script_security|sni|snmp_checker|snmp_rfc|snmp_rfcv2|snmp_rfcv3|snmp_vrrp|traps)|end|fall|fast_recovery|file|flag-[123]|fork_delay|full_command|fwmark|garp_group|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|global_defs|global_tracking|gna_interval|group|ha_suspend|hashed|helo_name|higher_prio_send_advert|hoplimit|http_protocol|hysteresis|idle_tx|include|inhibit_on_failure|init_fail|init_file|instance|interface|interfaces|interval|ip_family|ipvs_process_name|keepalived.conf|kernel_rx_buf_size|key|linkbeat_interfaces|linkbeat_use_polling|log_all_failures|log_unknown_vrids|lower_prio_no_advert|lthreshold|lvs_flush|lvs_flush_onstop|lvs_method|lvs_netlink_cmd_rcv_bufs|lvs_netlink_cmd_rcv_bufs_force|lvs_netlink_monitor_rcv_bufs|lvs_netlink_monitor_rcv_bufs_force|lvs_notify_fifo|lvs_notify_fifo_script|lvs_sched|lvs_sync_daemon|max_auto_priority|max_hops|mcast_src_ip|mh-fallback|mh-port|min_auto_priority_delay|min_rx|min_tx|misc_dynamic|misc_path|misc_timeout|multiplier|name|namespace_with_ipsets|native_ipv6|neighbor_ip|net_namespace|net_namespace_ipvs|nftables|nftables_counters|nftables_ifindex|nftables_priority|no_accept|no_checker_emails|no_email_faults|nopreempt|notification_email|notification_email_from|notify|notify_backup|notify_deleted|notify_down|notify_fault|notify_fifo|notify_fifo_script|notify_master|notify_master_rx_lower_pri|notify_priority_changes|notify_stop|notify_up|old_unicast_checksum|omega|ops|param_match|passive|password|path|persistence_engine|persistence_granularity|persistence_timeout|preempt|preempt_delay|priority|process|process_monitor_rcv_bufs|process_monitor_rcv_bufs_force|process_name|process_names|promote_secondaries|protocol|proxy_arp|proxy_arp_pvlan|quorum|quorum_down|quorum_max|quorum_up|random_seed|real_server|regex|regex_max_offset|regex_min_offset|regex_no_match|regex_options|regex_stack|reload_repeat|reload_time_file|require_reply|retry|rise|router_id|rs_init_notifies|script|script_user|sh-fallback|sh-port|shutdown_script|shutdown_script_timeout|skip_check_adv_addr|smtp_alert|smtp_alert_checker|smtp_alert_vrrp|smtp_connect_timeout|smtp_helo_name|smtp_server|snmp_socket|sorry_server|sorry_server_inhibit|sorry_server_lvs_method|source_ip|start|startup_script|startup_script_timeout|state|static_ipaddress|static_routes|static_rules|status_code|step|strict_mode|sync_group_tracking_weight|terminate_delay|timeout|track_bfd|track_file|track_group|track_interface|track_process|track_script|track_src_ip|ttl|type|umask|unicast_peer|unicast_src_ip|unicast_ttl|url|use_ipvlan|use_pid_dir|use_vmac|user|uthreshold|val[123]|version|virtual_ipaddress|virtual_ipaddress_excluded|virtual_router_id|virtual_routes|virtual_rules|virtual_server|virtual_server_group|virtualhost|vmac_xmit_base|vrrp|vrrp_(?:check_unicast_src|cpu_affinity|garp_interval|garp_lower_prio_delay|garp_lower_prio_repeat|garp_master_delay|garp_master_refresh|garp_master_refresh_repeat|garp_master_repeat|gna_interval|higher_prio_send_advert|instance|ipsets|iptables|lower_prio_no_advert|mcast_group4|mcast_group6|min_garp|netlink_cmd_rcv_bufs|netlink_cmd_rcv_bufs_force|netlink_monitor_rcv_bufs|netlink_monitor_rcv_bufs_force|no_swap|notify_fifo|notify_fifo_script|notify_priority_changes|priority|process_name|rlimit_rttime|rt_priority|rx_bufs_multiplier|rx_bufs_policy|script|skip_check_adv_addr|startup_delay|strict|sync_group|track_process|version)|warmup|weight)\\b/,\n constant:\n /\\b(?:A|AAAA|AH|BACKUP|CNAME|DR|MASTER|MX|NAT|NS|PASS|SCTP|SOA|TCP|TUN|TXT|UDP|dh|fo|lblc|lblcr|lc|mh|nq|ovf|rr|sed|sh|wlc|wrr)\\b/,\n number: {\n pattern: /(^|[^\\w.-])-?\\d+(?:\\.\\d+)?/,\n lookbehind: true\n },\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\{\\}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nkeyman.displayName = 'keyman'\nkeyman.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function keyman(Prism) {\n Prism.languages.keyman = {\n comment: {\n pattern: /\\bc .*/i,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true\n },\n 'virtual-key': {\n pattern:\n /\\[\\s*(?:(?:ALT|CAPS|CTRL|LALT|LCTRL|NCAPS|RALT|RCTRL|SHIFT)\\s+)*(?:[TKU]_[\\w?]+|[A-E]\\d\\d?|\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*\\]/i,\n greedy: true,\n alias: 'function' // alias for styles\n },\n // https://help.keyman.com/developer/language/guide/headers\n 'header-keyword': {\n pattern: /&\\w+/,\n alias: 'bold' // alias for styles\n },\n 'header-statement': {\n pattern:\n /\\b(?:bitmap|bitmaps|caps always off|caps on only|copyright|hotkey|language|layout|message|name|shift frees caps|version)\\b/i,\n alias: 'bold' // alias for styles\n },\n 'rule-keyword': {\n pattern:\n /\\b(?:any|baselayout|beep|call|context|deadkey|dk|if|index|layer|notany|nul|outs|platform|reset|return|save|set|store|use)\\b/i,\n alias: 'keyword'\n },\n 'structural-keyword': {\n pattern:\n /\\b(?:ansi|begin|group|match|newcontext|nomatch|postkeystroke|readonly|unicode|using keys)\\b/i,\n alias: 'keyword'\n },\n 'compile-target': {\n pattern: /\\$(?:keyman|keymanonly|keymanweb|kmfl|weaver):/i,\n alias: 'property'\n },\n // U+####, x###, d### characters and numbers\n number: /\\b(?:U\\+[\\dA-F]+|d\\d+|x[\\da-f]+|\\d+)\\b/i,\n operator: /[+>\\\\$]|\\.\\./,\n punctuation: /[()=,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nkotlin.displayName = 'kotlin'\nkotlin.aliases = ['kt', 'kts']\n\n/** @param {Refractor} Prism */\nexport default function kotlin(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n Prism.languages.kotlin = Prism.languages.extend('clike', {\n keyword: {\n // The lookbehind prevents wrong highlighting of e.g. kotlin.properties.get\n pattern:\n /(^|[^.])\\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\\b/,\n lookbehind: true\n },\n function: [\n {\n pattern: /(?:`[^\\r\\n`]+`|\\b\\w+)(?=\\s*\\()/,\n greedy: true\n },\n {\n pattern: /(\\.)(?:`[^\\r\\n`]+`|\\w+)(?=\\s*\\{)/,\n lookbehind: true,\n greedy: true\n }\n ],\n number:\n /\\b(?:0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?[fFL]?)\\b/,\n operator:\n /\\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\\/*%<>]=?|[?:]:?|\\.\\.|&&|\\|\\||\\b(?:and|inv|or|shl|shr|ushr|xor)\\b/\n })\n delete Prism.languages.kotlin['class-name']\n var interpolationInside = {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{?|\\}$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.kotlin\n }\n }\n Prism.languages.insertBefore('kotlin', 'string', {\n // https://kotlinlang.org/spec/expressions.html#string-interpolation-expressions\n 'string-literal': [\n {\n pattern: /\"\"\"(?:[^$]|\\$(?:(?!\\{)|\\{[^{}]*\\}))*?\"\"\"/,\n alias: 'multiline',\n inside: {\n interpolation: {\n pattern: /\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: /\"(?:[^\"\\\\\\r\\n$]|\\\\.|\\$(?:(?!\\{)|\\{[^{}]*\\}))*\"/,\n alias: 'singleline',\n inside: {\n interpolation: {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:[a-z_]\\w*|\\{[^{}]*\\})/i,\n lookbehind: true,\n inside: interpolationInside\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n char: {\n // https://kotlinlang.org/spec/expressions.html#character-literals\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\(?:.|u[a-fA-F0-9]{0,4}))'/,\n greedy: true\n }\n })\n delete Prism.languages.kotlin['string']\n Prism.languages.insertBefore('kotlin', 'keyword', {\n annotation: {\n pattern: /\\B@(?:\\w+:)?(?:[A-Z]\\w*|\\[[^\\]]+\\])/,\n alias: 'builtin'\n }\n })\n Prism.languages.insertBefore('kotlin', 'function', {\n label: {\n pattern: /\\b\\w+@|@\\w+\\b/,\n alias: 'symbol'\n }\n })\n Prism.languages.kt = Prism.languages.kotlin\n Prism.languages.kts = Prism.languages.kotlin\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nkumir.displayName = 'kumir'\nkumir.aliases = ['kum']\n\n/** @param {Refractor} Prism */\nexport default function kumir(Prism) {\n /* eslint-disable regexp/no-dupe-characters-character-class */\n ;(function (Prism) {\n /**\n * Regular expression for characters that are not allowed in identifiers.\n *\n * @type {string}\n */\n var nonId = /\\s\\x00-\\x1f\\x22-\\x2f\\x3a-\\x3f\\x5b-\\x5e\\x60\\x7b-\\x7e/.source\n\n /**\n * Surround a regular expression for IDs with patterns for non-ID sequences.\n *\n * @param {string} pattern A regular expression for identifiers.\n * @param {string} [flags] The regular expression flags.\n * @returns {RegExp} A wrapped regular expression for identifiers.\n */\n function wrapId(pattern, flags) {\n return RegExp(pattern.replace(/<nonId>/g, nonId), flags)\n }\n Prism.languages.kumir = {\n comment: {\n pattern: /\\|.*/\n },\n prolog: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\\n\\r\"]*\"|'[^\\n\\r']*'/,\n greedy: true\n },\n boolean: {\n pattern: wrapId(/(^|[<nonId>])(?:да|нет)(?=[<nonId>]|$)/.source),\n lookbehind: true\n },\n 'operator-word': {\n pattern: wrapId(/(^|[<nonId>])(?:и|или|не)(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n 'system-variable': {\n pattern: wrapId(/(^|[<nonId>])знач(?=[<nonId>]|$)/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n type: [\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:вещ|лит|лог|сим|цел)(?:\\x20*таб)?(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true,\n alias: 'builtin'\n },\n {\n pattern: wrapId(\n /(^|[<nonId>])(?:компл|сканкод|файл|цвет)(?=[<nonId>]|$)/.source\n ),\n lookbehind: true,\n alias: 'important'\n }\n ],\n /**\n * Should be performed after searching for type names because of \"таб\".\n * \"таб\" is a reserved word, but never used without a preceding type name.\n * \"НАЗНАЧИТЬ\", \"Фввод\", and \"Фвывод\" are not reserved words.\n */\n keyword: {\n pattern: wrapId(\n /(^|[<nonId>])(?:алг|арг(?:\\x20*рез)?|ввод|ВКЛЮЧИТЬ|вс[её]|выбор|вывод|выход|дано|для|до|дс|если|иначе|исп|использовать|кон(?:(?:\\x20+|_)исп)?|кц(?:(?:\\x20+|_)при)?|надо|нач|нс|нц|от|пауза|пока|при|раза?|рез|стоп|таб|то|утв|шаг)(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for reserved words. */\n name: {\n // eslint-disable-next-line regexp/no-super-linear-backtracking\n pattern: wrapId(\n /(^|[<nonId>])[^\\d<nonId>][^<nonId>]*(?:\\x20+[^<nonId>]+)*(?=[<nonId>]|$)/\n .source\n ),\n lookbehind: true\n },\n /** Should be performed after searching for names. */\n number: {\n pattern: wrapId(\n /(^|[<nonId>])(?:\\B\\$[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?=[<nonId>]|$)/\n .source,\n 'i'\n ),\n lookbehind: true\n },\n /** Should be performed after searching for words. */\n punctuation: /:=|[(),:;\\[\\]]/,\n /**\n * Should be performed after searching for\n * - numeric constants (because of \"+\" and \"-\");\n * - punctuation marks (because of \":=\" and \"=\").\n */\n 'operator-char': {\n pattern: /\\*\\*?|<[=>]?|>=?|[-+/=]/,\n alias: 'operator'\n }\n }\n Prism.languages.kum = Prism.languages.kumir\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nkusto.displayName = 'kusto'\nkusto.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function kusto(Prism) {\n Prism.languages.kusto = {\n comment: {\n pattern: /\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern:\n /```[\\s\\S]*?```|[hH]?(?:\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\.)*'|@(?:\"[^\\r\\n\"]*\"|'[^\\r\\n']*'))/,\n greedy: true\n },\n verb: {\n pattern: /(\\|\\s*)[a-z][\\w-]*/i,\n lookbehind: true,\n alias: 'keyword'\n },\n command: {\n pattern: /\\.[a-z][a-z\\d-]*\\b/,\n alias: 'keyword'\n },\n 'class-name':\n /\\b(?:bool|datetime|decimal|dynamic|guid|int|long|real|string|timespan)\\b/,\n keyword:\n /\\b(?:access|alias|and|anti|as|asc|auto|between|by|(?:contains|(?:ends|starts)with|has(?:perfix|suffix)?)(?:_cs)?|database|declare|desc|external|from|fullouter|has_all|in|ingestion|inline|inner|innerunique|into|(?:left|right)(?:anti(?:semi)?|inner|outer|semi)?|let|like|local|not|of|on|or|pattern|print|query_parameters|range|restrict|schema|set|step|table|tables|to|view|where|with|matches\\s+regex|nulls\\s+(?:first|last))(?![\\w-])/,\n boolean: /\\b(?:false|null|true)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/,\n datetime: [\n {\n // RFC 822 + RFC 850\n pattern:\n /\\b(?:(?:Fri|Friday|Mon|Monday|Sat|Saturday|Sun|Sunday|Thu|Thursday|Tue|Tuesday|Wed|Wednesday)\\s*,\\s*)?\\d{1,2}(?:\\s+|-)(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)(?:\\s+|-)\\d{2}\\s+\\d{2}:\\d{2}(?::\\d{2})?(?:\\s*(?:\\b(?:[A-Z]|(?:[ECMT][DS]|GM|U)T)|[+-]\\d{4}))?\\b/,\n alias: 'number'\n },\n {\n // ISO 8601\n pattern:\n /[+-]?\\b(?:\\d{4}-\\d{2}-\\d{2}(?:[ T]\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)?|\\d{2}:\\d{2}(?::\\d{2}(?:\\.\\d+)?)?)Z?/,\n alias: 'number'\n }\n ],\n number:\n /\\b(?:0x[0-9A-Fa-f]+|\\d+(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?)(?:(?:min|sec|[mnµ]s|[dhms]|microsecond|tick)\\b)?|[+-]?\\binf\\b/,\n operator: /=>|[!=]~|[!=<>]=?|[-+*/%|]|\\.\\./,\n punctuation: /[()\\[\\]{},;.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlatex.displayName = 'latex'\nlatex.aliases = ['context', 'tex']\n\n/** @param {Refractor} Prism */\nexport default function latex(Prism) {\n ;(function (Prism) {\n var funcPattern = /\\\\(?:[^a-z()[\\]]|[a-z*]+)/i\n var insideEqu = {\n 'equation-command': {\n pattern: funcPattern,\n alias: 'regex'\n }\n }\n Prism.languages.latex = {\n comment: /%.*/,\n // the verbatim environment prints whitespace to the document\n cdata: {\n pattern:\n /(\\\\begin\\{((?:lstlisting|verbatim)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true\n },\n /*\n * equations can be between $$ $$ or $ $ or \\( \\) or \\[ \\]\n * (all are multiline)\n */\n equation: [\n {\n pattern:\n /\\$\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$\\$|\\$(?:\\\\[\\s\\S]|[^\\\\$])+\\$|\\\\\\([\\s\\S]*?\\\\\\)|\\\\\\[[\\s\\S]*?\\\\\\]/,\n inside: insideEqu,\n alias: 'string'\n },\n {\n pattern:\n /(\\\\begin\\{((?:align|eqnarray|equation|gather|math|multline)\\*?)\\})[\\s\\S]*?(?=\\\\end\\{\\2\\})/,\n lookbehind: true,\n inside: insideEqu,\n alias: 'string'\n }\n ],\n /*\n * arguments which are keywords or references are highlighted\n * as keywords\n */\n keyword: {\n pattern:\n /(\\\\(?:begin|cite|documentclass|end|label|ref|usepackage)(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n url: {\n pattern: /(\\\\url\\{)[^}]+(?=\\})/,\n lookbehind: true\n },\n /*\n * section or chapter headlines are highlighted as bold so that\n * they stand out more\n */\n headline: {\n pattern:\n /(\\\\(?:chapter|frametitle|paragraph|part|section|subparagraph|subsection|subsubparagraph|subsubsection|subsubsubparagraph)\\*?(?:\\[[^\\]]+\\])?\\{)[^}]+(?=\\})/,\n lookbehind: true,\n alias: 'class-name'\n },\n function: {\n pattern: funcPattern,\n alias: 'selector'\n },\n punctuation: /[[\\]{}&]/\n }\n Prism.languages.tex = Prism.languages.latex\n Prism.languages.context = Prism.languages.latex\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nimport refractorMarkupTemplating from './markup-templating.js'\nimport refractorPhp from './php.js'\nlatte.displayName = 'latte'\nlatte.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function latte(Prism) {\n Prism.register(refractorClike)\n Prism.register(refractorMarkupTemplating)\n Prism.register(refractorPhp)\n ;(function (Prism) {\n Prism.languages.latte = {\n comment: /^\\{\\*[\\s\\S]*/,\n 'latte-tag': {\n // https://latte.nette.org/en/tags\n pattern: /(^\\{(?:\\/(?=[a-z]))?)(?:[=_]|[a-z]\\w*\\b(?!\\())/i,\n lookbehind: true,\n alias: 'important'\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n alias: 'punctuation'\n },\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n var markupLatte = Prism.languages.extend('markup', {})\n Prism.languages.insertBefore(\n 'inside',\n 'attr-value',\n {\n 'n-attr': {\n pattern: /n:[\\w-]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+))?/,\n inside: {\n 'attr-name': {\n pattern: /^[^\\s=]+/,\n alias: 'important'\n },\n 'attr-value': {\n pattern: /=[\\s\\S]+/,\n inside: {\n punctuation: [\n /^=/,\n {\n pattern: /^(\\s*)[\"']|[\"']$/,\n lookbehind: true\n }\n ],\n php: {\n pattern: /\\S(?:[\\s\\S]*\\S)?/,\n inside: Prism.languages.php\n }\n }\n }\n }\n }\n },\n markupLatte.tag\n )\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'latte') {\n return\n }\n var lattePattern =\n /\\{\\*[\\s\\S]*?\\*\\}|\\{[^'\"\\s{}*](?:[^\"'/{}]|\\/(?![*/])|(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'latte',\n lattePattern\n )\n env.grammar = markupLatte\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'latte')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nscheme.displayName = 'scheme'\nscheme.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function scheme(Prism) {\n ;(function (Prism) {\n Prism.languages.scheme = {\n // this supports \"normal\" single-line comments:\n // ; comment\n // and (potentially nested) multiline comments:\n // #| comment #| nested |# still comment |#\n // (only 1 level of nesting is supported)\n comment:\n /;.*|#;\\s*(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\[(?:[^\\[\\]]|\\[[^\\[\\]]*\\])*\\])|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#)|#\\|(?:[^#|]|#(?!\\|)|\\|(?!#))*\\|#)*\\|#/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n symbol: {\n pattern: /'[^()\\[\\]#'\\s]+/,\n greedy: true\n },\n char: {\n pattern:\n /#\\\\(?:[ux][a-fA-F\\d]+\\b|[-a-zA-Z]+\\b|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|\\S)/,\n greedy: true\n },\n 'lambda-parameter': [\n // https://www.cs.cmu.edu/Groups/AI/html/r4rs/r4rs_6.html#SEC30\n {\n pattern:\n /((?:^|[^'`#])[(\\[]lambda\\s+)(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)/,\n lookbehind: true\n },\n {\n pattern: /((?:^|[^'`#])[(\\[]lambda\\s+[(\\[])[^()\\[\\]']+/,\n lookbehind: true\n }\n ],\n keyword: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:begin|case(?:-lambda)?|cond(?:-expand)?|define(?:-library|-macro|-record-type|-syntax|-values)?|defmacro|delay(?:-force)?|do|else|except|export|guard|if|import|include(?:-ci|-library-declarations)?|lambda|let(?:rec)?(?:-syntax|-values|\\*)?|let\\*-values|only|parameterize|prefix|(?:quasi-?)?quote|rename|set!|syntax-(?:case|rules)|unless|unquote(?:-splicing)?|when)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n builtin: {\n // all functions of the base library of R7RS plus some of built-ins of R5Rs\n pattern:\n /((?:^|[^'`#])[(\\[])(?:abs|and|append|apply|assoc|ass[qv]|binary-port\\?|boolean=?\\?|bytevector(?:-append|-copy|-copy!|-length|-u8-ref|-u8-set!|\\?)?|caar|cadr|call-with-(?:current-continuation|port|values)|call\\/cc|car|cdar|cddr|cdr|ceiling|char(?:->integer|-ready\\?|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)|close-(?:input-port|output-port|port)|complex\\?|cons|current-(?:error|input|output)-port|denominator|dynamic-wind|eof-object\\??|eq\\?|equal\\?|eqv\\?|error|error-object(?:-irritants|-message|\\?)|eval|even\\?|exact(?:-integer-sqrt|-integer\\?|\\?)?|expt|features|file-error\\?|floor(?:-quotient|-remainder|\\/)?|flush-output-port|for-each|gcd|get-output-(?:bytevector|string)|inexact\\??|input-port(?:-open\\?|\\?)|integer(?:->char|\\?)|lcm|length|list(?:->string|->vector|-copy|-ref|-set!|-tail|\\?)?|make-(?:bytevector|list|parameter|string|vector)|map|max|member|memq|memv|min|modulo|negative\\?|newline|not|null\\?|number(?:->string|\\?)|numerator|odd\\?|open-(?:input|output)-(?:bytevector|string)|or|output-port(?:-open\\?|\\?)|pair\\?|peek-char|peek-u8|port\\?|positive\\?|procedure\\?|quotient|raise|raise-continuable|rational\\?|rationalize|read-(?:bytevector|bytevector!|char|error\\?|line|string|u8)|real\\?|remainder|reverse|round|set-c[ad]r!|square|string(?:->list|->number|->symbol|->utf8|->vector|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?|<\\?|<=\\?|=\\?|>\\?|>=\\?)?|substring|symbol(?:->string|\\?|=\\?)|syntax-error|textual-port\\?|truncate(?:-quotient|-remainder|\\/)?|u8-ready\\?|utf8->string|values|vector(?:->list|->string|-append|-copy|-copy!|-fill!|-for-each|-length|-map|-ref|-set!|\\?)?|with-exception-handler|write-(?:bytevector|char|string|u8)|zero\\?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n operator: {\n pattern: /((?:^|[^'`#])[(\\[])(?:[-+*%/]|[<>]=?|=>?)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n number: {\n // The number pattern from [the R7RS spec](https://small.r7rs.org/attachment/r7rs.pdf).\n //\n // <number> := <num 2>|<num 8>|<num 10>|<num 16>\n // <num R> := <prefix R><complex R>\n // <complex R> := <real R>(?:@<real R>|<imaginary R>)?|<imaginary R>\n // <imaginary R> := [+-](?:<ureal R>|(?:inf|nan)\\.0)?i\n // <real R> := [+-]?<ureal R>|[+-](?:inf|nan)\\.0\n // <ureal R> := <uint R>(?:\\/<uint R>)?\n // | <decimal R>\n //\n // <decimal 10> := (?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?\n // <uint R> := <digit R>+\n // <prefix R> := <radix R>(?:#[ei])?|(?:#[ei])?<radix R>\n // <radix 2> := #b\n // <radix 8> := #o\n // <radix 10> := (?:#d)?\n // <radix 16> := #x\n // <digit 2> := [01]\n // <digit 8> := [0-7]\n // <digit 10> := \\d\n // <digit 16> := [0-9a-f]\n //\n // The problem with this grammar is that the resulting regex is way to complex, so we simplify by grouping all\n // non-decimal bases together. This results in a decimal (dec) and combined binary, octal, and hexadecimal (box)\n // pattern:\n pattern: RegExp(\n SortedBNF({\n '<ureal dec>':\n /\\d+(?:\\/\\d+)|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[esfdl][+-]?\\d+)?/.source,\n '<real dec>': /[+-]?<ureal dec>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary dec>': /[+-](?:<ureal dec>|(?:inf|nan)\\.0)?i/.source,\n '<complex dec>':\n /<real dec>(?:@<real dec>|<imaginary dec>)?|<imaginary dec>/\n .source,\n '<num dec>': /(?:#d(?:#[ei])?|#[ei](?:#d)?)?<complex dec>/.source,\n '<ureal box>': /[0-9a-f]+(?:\\/[0-9a-f]+)?/.source,\n '<real box>': /[+-]?<ureal box>|[+-](?:inf|nan)\\.0/.source,\n '<imaginary box>': /[+-](?:<ureal box>|(?:inf|nan)\\.0)?i/.source,\n '<complex box>':\n /<real box>(?:@<real box>|<imaginary box>)?|<imaginary box>/\n .source,\n '<num box>': /#[box](?:#[ei])?|(?:#[ei])?#[box]<complex box>/\n .source,\n '<number>': /(^|[()\\[\\]\\s])(?:<num dec>|<num box>)(?=[()\\[\\]\\s]|$)/\n .source\n }),\n 'i'\n ),\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[()\\[\\]\\s])#(?:[ft]|false|true)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n function: {\n pattern:\n /((?:^|[^'`#])[(\\[])(?:[^|()\\[\\]'\\s]+|\\|(?:[^\\\\|]|\\\\.)*\\|)(?=[()\\[\\]\\s]|$)/,\n lookbehind: true\n },\n identifier: {\n pattern: /(^|[()\\[\\]\\s])\\|(?:[^\\\\|]|\\\\.)*\\|(?=[()\\[\\]\\s]|$)/,\n lookbehind: true,\n greedy: true\n },\n punctuation: /[()\\[\\]']/\n }\n\n /**\n * Given a topologically sorted BNF grammar, this will return the RegExp source of last rule of the grammar.\n *\n * @param {Record<string, string>} grammar\n * @returns {string}\n */\n function SortedBNF(grammar) {\n for (var key in grammar) {\n grammar[key] = grammar[key].replace(/<[\\w\\s]+>/g, function (key) {\n return '(?:' + grammar[key].trim() + ')'\n })\n }\n // return the last item\n return grammar[key]\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorScheme from './scheme.js'\nlilypond.displayName = 'lilypond'\nlilypond.aliases = ['ly']\n\n/** @param {Refractor} Prism */\nexport default function lilypond(Prism) {\n Prism.register(refractorScheme)\n ;(function (Prism) {\n var schemeExpression =\n /\\((?:[^();\"#\\\\]|\\\\[\\s\\S]|;.*(?!.)|\"(?:[^\"\\\\]|\\\\.)*\"|#(?:\\{(?:(?!#\\})[\\s\\S])*#\\}|[^{])|<expr>)*\\)/\n .source\n // allow for up to pow(2, recursivenessLog2) many levels of recursive brace expressions\n // For some reason, this can't be 4\n var recursivenessLog2 = 5\n for (var i = 0; i < recursivenessLog2; i++) {\n schemeExpression = schemeExpression.replace(/<expr>/g, function () {\n return schemeExpression\n })\n }\n schemeExpression = schemeExpression.replace(/<expr>/g, /[^\\s\\S]/.source)\n var lilypond = (Prism.languages.lilypond = {\n comment: /%(?:(?!\\{).*|\\{[\\s\\S]*?%\\})/,\n 'embedded-scheme': {\n pattern: RegExp(\n /(^|[=\\s])#(?:\"(?:[^\"\\\\]|\\\\.)*\"|[^\\s()\"]*(?:[^\\s()]|<expr>))/.source.replace(\n /<expr>/g,\n function () {\n return schemeExpression\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n scheme: {\n pattern: /^(#)[\\s\\S]+$/,\n lookbehind: true,\n alias: 'language-scheme',\n inside: {\n 'embedded-lilypond': {\n pattern: /#\\{[\\s\\S]*?#\\}/,\n greedy: true,\n inside: {\n punctuation: /^#\\{|#\\}$/,\n lilypond: {\n pattern: /[\\s\\S]+/,\n alias: 'language-lilypond',\n inside: null // see below\n }\n }\n },\n rest: Prism.languages.scheme\n }\n },\n punctuation: /#/\n }\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\\\new\\s+)[\\w-]+/,\n lookbehind: true\n },\n keyword: {\n pattern: /\\\\[a-z][-\\w]*/i,\n inside: {\n punctuation: /^\\\\/\n }\n },\n operator: /[=|]|<<|>>/,\n punctuation: {\n pattern:\n /(^|[a-z\\d])(?:'+|,+|[_^]?-[_^]?(?:[-+^!>._]|(?=\\d))|[_^]\\.?|[.!])|[{}()[\\]<>^~]|\\\\[()[\\]<>\\\\!]|--|__/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\/\\d+)?\\b/\n })\n lilypond['embedded-scheme'].inside['scheme'].inside[\n 'embedded-lilypond'\n ].inside['lilypond'].inside = lilypond\n Prism.languages.ly = lilypond\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nliquid.displayName = 'liquid'\nliquid.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function liquid(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.liquid = {\n comment: {\n pattern: /(^\\{%\\s*comment\\s*%\\})[\\s\\S]+(?=\\{%\\s*endcomment\\s*%\\}$)/,\n lookbehind: true\n },\n delimiter: {\n pattern: /^\\{(?:\\{\\{|[%\\{])-?|-?(?:\\}\\}|[%\\}])\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n keyword:\n /\\b(?:as|assign|break|(?:end)?(?:capture|case|comment|for|form|if|paginate|raw|style|tablerow|unless)|continue|cycle|decrement|echo|else|elsif|in|include|increment|limit|liquid|offset|range|render|reversed|section|when|with)\\b/,\n object:\n /\\b(?:address|all_country_option_tags|article|block|blog|cart|checkout|collection|color|country|country_option_tags|currency|current_page|current_tags|customer|customer_address|date|discount_allocation|discount_application|external_video|filter|filter_value|font|forloop|fulfillment|generic_file|gift_card|group|handle|image|line_item|link|linklist|localization|location|measurement|media|metafield|model|model_source|order|page|page_description|page_image|page_title|part|policy|product|product_option|recommendations|request|robots|routes|rule|script|search|selling_plan|selling_plan_allocation|selling_plan_group|shipping_method|shop|shop_locale|sitemap|store_availability|tax_line|template|theme|transaction|unit_price_measurement|user_agent|variant|video|video_source)\\b/,\n function: [\n {\n pattern: /(\\|\\s*)\\w+/,\n lookbehind: true,\n alias: 'filter'\n },\n {\n // array functions\n pattern: /(\\.\\s*)(?:first|last|size)/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|nil|true)\\b/,\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n },\n // https://github.com/Shopify/liquid/blob/698f5e0d967423e013f6169d9111bd969bd78337/lib/liquid/lexer.rb#L21\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /[!=]=|<>|[<>]=?|[|?:=-]|\\b(?:and|contains(?=\\s)|or)\\b/,\n punctuation: /[.,\\[\\]()]/,\n empty: {\n pattern: /\\bempty\\b/,\n alias: 'keyword'\n }\n }\n Prism.hooks.add('before-tokenize', function (env) {\n var liquidPattern =\n /\\{%\\s*comment\\s*%\\}[\\s\\S]*?\\{%\\s*endcomment\\s*%\\}|\\{(?:%[\\s\\S]*?%|\\{\\{[\\s\\S]*?\\}\\}|\\{[\\s\\S]*?\\})\\}/g\n var insideRaw = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'liquid',\n liquidPattern,\n function (match) {\n var tagMatch = /^\\{%-?\\s*(\\w+)/.exec(match)\n if (tagMatch) {\n var tag = tagMatch[1]\n if (tag === 'raw' && !insideRaw) {\n insideRaw = true\n return true\n } else if (tag === 'endraw') {\n insideRaw = false\n return true\n }\n }\n return !insideRaw\n }\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'liquid')\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlisp.displayName = 'lisp'\nlisp.aliases = ['elisp', 'emacs', 'emacs-lisp']\n\n/** @param {Refractor} Prism */\nexport default function lisp(Prism) {\n ;(function (Prism) {\n /**\n * Functions to construct regular expressions\n * e.g. (interactive ... or (interactive)\n *\n * @param {string} name\n * @returns {RegExp}\n */\n function simple_form(name) {\n return RegExp(/(\\()/.source + '(?:' + name + ')' + /(?=[\\s\\)])/.source)\n }\n /**\n * booleans and numbers\n *\n * @param {string} pattern\n * @returns {RegExp}\n */\n function primitive(pattern) {\n return RegExp(\n /([\\s([])/.source + '(?:' + pattern + ')' + /(?=[\\s)])/.source\n )\n }\n\n // Patterns in regular expressions\n\n // Symbol name. See https://www.gnu.org/software/emacs/manual/html_node/elisp/Symbol-Type.html\n // & and : are excluded as they are usually used for special purposes\n var symbol = /(?!\\d)[-+*/~!@$%^=<>{}\\w]+/.source\n // symbol starting with & used in function arguments\n var marker = '&' + symbol\n // Open parenthesis for look-behind\n var par = '(\\\\()'\n var endpar = '(?=\\\\))'\n // End the pattern with look-ahead space\n var space = '(?=\\\\s)'\n var nestedPar =\n /(?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\))*\\))*\\))*/\n .source\n var language = {\n // Three or four semicolons are considered a heading.\n // See https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html\n heading: {\n pattern: /;;;.*/,\n alias: ['comment', 'title']\n },\n comment: /;.*/,\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true,\n inside: {\n argument: /[-A-Z]+(?=[.,\\s])/,\n symbol: RegExp('`' + symbol + \"'\")\n }\n },\n 'quoted-symbol': {\n pattern: RegExp(\"#?'\" + symbol),\n alias: ['variable', 'symbol']\n },\n 'lisp-property': {\n pattern: RegExp(':' + symbol),\n alias: 'property'\n },\n splice: {\n pattern: RegExp(',@?' + symbol),\n alias: ['symbol', 'variable']\n },\n keyword: [\n {\n pattern: RegExp(\n par +\n '(?:and|(?:cl-)?letf|cl-loop|cond|cons|error|if|(?:lexical-)?let\\\\*?|message|not|null|or|provide|require|setq|unless|use-package|when|while)' +\n space\n ),\n lookbehind: true\n },\n {\n pattern: RegExp(\n par +\n '(?:append|by|collect|concat|do|finally|for|in|return)' +\n space\n ),\n lookbehind: true\n }\n ],\n declare: {\n pattern: simple_form(/declare/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n interactive: {\n pattern: simple_form(/interactive/.source),\n lookbehind: true,\n alias: 'keyword'\n },\n boolean: {\n pattern: primitive(/nil|t/.source),\n lookbehind: true\n },\n number: {\n pattern: primitive(/[-+]?\\d+(?:\\.\\d*)?/.source),\n lookbehind: true\n },\n defvar: {\n pattern: RegExp(par + 'def(?:const|custom|group|var)\\\\s+' + symbol),\n lookbehind: true,\n inside: {\n keyword: /^def[a-z]+/,\n variable: RegExp(symbol)\n }\n },\n defun: {\n pattern: RegExp(\n par +\n /(?:cl-)?(?:defmacro|defun\\*?)\\s+/.source +\n symbol +\n /\\s+\\(/.source +\n nestedPar +\n /\\)/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^(?:cl-)?def\\S+/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n function: {\n pattern: RegExp('(^\\\\s)' + symbol),\n lookbehind: true\n },\n punctuation: /[()]/\n }\n },\n lambda: {\n pattern: RegExp(\n par +\n 'lambda\\\\s+\\\\(\\\\s*(?:&?' +\n symbol +\n '(?:\\\\s+&?' +\n symbol +\n ')*\\\\s*)?\\\\)'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^lambda/,\n // See below, this property needs to be defined later so that it can\n // reference the language object.\n arguments: null,\n punctuation: /[()]/\n }\n },\n car: {\n pattern: RegExp(par + symbol),\n lookbehind: true\n },\n punctuation: [\n // open paren, brackets, and close paren\n /(?:['`,]?\\(|[)\\[\\]])/,\n // cons\n {\n pattern: /(\\s)\\.(?=\\s)/,\n lookbehind: true\n }\n ]\n }\n var arg = {\n 'lisp-marker': RegExp(marker),\n varform: {\n pattern: RegExp(\n /\\(/.source + symbol + /\\s+(?=\\S)/.source + nestedPar + /\\)/.source\n ),\n inside: language\n },\n argument: {\n pattern: RegExp(/(^|[\\s(])/.source + symbol),\n lookbehind: true,\n alias: 'variable'\n },\n rest: language\n }\n var forms = '\\\\S+(?:\\\\s+\\\\S+)*'\n var arglist = {\n pattern: RegExp(par + nestedPar + endpar),\n lookbehind: true,\n inside: {\n 'rest-vars': {\n pattern: RegExp('&(?:body|rest)\\\\s+' + forms),\n inside: arg\n },\n 'other-marker-vars': {\n pattern: RegExp('&(?:aux|optional)\\\\s+' + forms),\n inside: arg\n },\n keys: {\n pattern: RegExp('&key\\\\s+' + forms + '(?:\\\\s+&allow-other-keys)?'),\n inside: arg\n },\n argument: {\n pattern: RegExp(symbol),\n alias: 'variable'\n },\n punctuation: /[()]/\n }\n }\n language['lambda'].inside.arguments = arglist\n language['defun'].inside.arguments = Prism.util.clone(arglist)\n language['defun'].inside.arguments.inside.sublist = arglist\n Prism.languages.lisp = language\n Prism.languages.elisp = language\n Prism.languages.emacs = language\n Prism.languages['emacs-lisp'] = language\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlivescript.displayName = 'livescript'\nlivescript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function livescript(Prism) {\n Prism.languages.livescript = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n ],\n 'interpolated-string': {\n /* Look-behind and look-ahead prevents wrong behavior of the greedy pattern\n * forcing it to match \"\"\"-quoted string when it would otherwise match \"-quoted first. */\n pattern: /(^|[^\"])(\"\"\"|\")(?:\\\\[\\s\\S]|(?!\\2)[^\\\\])*\\2(?!\")/,\n lookbehind: true,\n greedy: true,\n inside: {\n variable: {\n pattern: /(^|[^\\\\])#[a-z_](?:-?[a-z]|[\\d_])*/m,\n lookbehind: true\n },\n interpolation: {\n pattern: /(^|[^\\\\])#\\{[^}]+\\}/m,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^#\\{|\\}$/,\n alias: 'variable'\n }\n // See rest below\n }\n },\n string: /[\\s\\S]+/\n }\n },\n string: [\n {\n pattern: /('''|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n {\n pattern: /<\\[[\\s\\S]*?\\]>/,\n greedy: true\n },\n /\\\\[^\\s,;\\])}]+/\n ],\n regex: [\n {\n pattern: /\\/\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|(?!\\/\\/)[^\\\\\\[])+\\/\\/[gimyu]{0,5}/,\n greedy: true,\n inside: {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n }\n }\n },\n {\n pattern: /\\/(?:\\[[^\\r\\n\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/[gimyu]{0,5}/,\n greedy: true\n }\n ],\n keyword: {\n pattern:\n /(^|(?!-).)\\b(?:break|case|catch|class|const|continue|default|do|else|extends|fallthrough|finally|for(?: ever)?|function|if|implements|it|let|loop|new|null|otherwise|own|return|super|switch|that|then|this|throw|try|unless|until|var|void|when|while|yield)(?!-)\\b/m,\n lookbehind: true\n },\n 'keyword-operator': {\n pattern:\n /(^|[^-])\\b(?:(?:delete|require|typeof)!|(?:and|by|delete|export|from|import(?: all)?|in|instanceof|is(?: not|nt)?|not|of|or|til|to|typeof|with|xor)(?!-)\\b)/m,\n lookbehind: true,\n alias: 'operator'\n },\n boolean: {\n pattern: /(^|[^-])\\b(?:false|no|off|on|true|yes)(?!-)\\b/m,\n lookbehind: true\n },\n argument: {\n // Don't match .&. nor &&\n pattern: /(^|(?!\\.&\\.)[^&])&(?!&)\\d*/m,\n lookbehind: true,\n alias: 'variable'\n },\n number: /\\b(?:\\d+~[\\da-z]+|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[a-z]\\w*)?)/i,\n identifier: /[a-z_](?:-?[a-z]|[\\d_])*/i,\n operator: [\n // Spaced .\n {\n pattern: /( )\\.(?= )/,\n lookbehind: true\n },\n // Full list, in order:\n // .= .~ .. ...\n // .&. .^. .<<. .>>. .>>>.\n // := :: ::=\n // &&\n // || |>\n // < << <<< <<<<\n // <- <-- <-! <--!\n // <~ <~~ <~! <~~!\n // <| <= <?\n // > >> >= >?\n // - -- -> -->\n // + ++\n // @ @@\n // % %%\n // * **\n // ! != !~=\n // !~> !~~>\n // !-> !-->\n // ~ ~> ~~> ~=\n // = ==\n // ^ ^^\n // / ?\n /\\.(?:[=~]|\\.\\.?)|\\.(?:[&|^]|<<|>>>?)\\.|:(?:=|:=?)|&&|\\|[|>]|<(?:<<?<?|--?!?|~~?!?|[|=?])?|>[>=?]?|-(?:->?|>)?|\\+\\+?|@@?|%%?|\\*\\*?|!(?:~?=|--?>|~?~>)?|~(?:~?>|=)?|==?|\\^\\^?|[\\/?]/\n ],\n punctuation: /[(){}\\[\\]|.,:;`]/\n }\n Prism.languages.livescript['interpolated-string'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.livescript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nllvm.displayName = 'llvm'\nllvm.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function llvm(Prism) {\n ;(function (Prism) {\n Prism.languages.llvm = {\n comment: /;.*/,\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n boolean: /\\b(?:false|true)\\b/,\n variable: /[%@!#](?:(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+|\\d+)/i,\n label: /(?!\\d)(?:[-$.\\w]|\\\\[a-f\\d]{2})+:/i,\n type: {\n pattern:\n /\\b(?:double|float|fp128|half|i[1-9]\\d*|label|metadata|ppc_fp128|token|void|x86_fp80|x86_mmx)\\b/,\n alias: 'class-name'\n },\n keyword: /\\b[a-z_][a-z_0-9]*\\b/,\n number:\n /[+-]?\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-Fa-f]+\\b|\\b0xK[\\dA-Fa-f]{20}\\b|\\b0x[ML][\\dA-Fa-f]{32}\\b|\\b0xH[\\dA-Fa-f]{4}\\b/,\n punctuation: /[{}[\\];(),.!*=<>]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlog.displayName = 'log'\nlog.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function log(Prism) {\n // This is a language definition for generic log files.\n // Since there is no one log format, this language definition has to support all formats to some degree.\n //\n // Based on https://github.com/MTDL9/vim-log-highlighting\n\n Prism.languages.log = {\n string: {\n // Single-quoted strings must not be confused with plain text. E.g. Can't isn't Susan's Chris' toy\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?![st] | \\w)(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n exception: {\n pattern:\n /(^|[^\\w.])[a-z][\\w.]*(?:Error|Exception):.*(?:(?:\\r\\n?|\\n)[ \\t]*(?:at[ \\t].+|\\.{3}.*|Caused by:.*))+(?:(?:\\r\\n?|\\n)[ \\t]*\\.\\.\\. .*)?/,\n lookbehind: true,\n greedy: true,\n alias: ['javastacktrace', 'language-javastacktrace'],\n inside: Prism.languages['javastacktrace'] || {\n keyword: /\\bat\\b/,\n function: /[a-z_][\\w$]*(?=\\()/,\n punctuation: /[.:()]/\n }\n },\n level: [\n {\n pattern:\n /\\b(?:ALERT|CRIT|CRITICAL|EMERG|EMERGENCY|ERR|ERROR|FAILURE|FATAL|SEVERE)\\b/,\n alias: ['error', 'important']\n },\n {\n pattern: /\\b(?:WARN|WARNING|WRN)\\b/,\n alias: ['warning', 'important']\n },\n {\n pattern: /\\b(?:DISPLAY|INF|INFO|NOTICE|STATUS)\\b/,\n alias: ['info', 'keyword']\n },\n {\n pattern: /\\b(?:DBG|DEBUG|FINE)\\b/,\n alias: ['debug', 'keyword']\n },\n {\n pattern: /\\b(?:FINER|FINEST|TRACE|TRC|VERBOSE|VRB)\\b/,\n alias: ['trace', 'comment']\n }\n ],\n property: {\n pattern:\n /((?:^|[\\]|])[ \\t]*)[a-z_](?:[\\w-]|\\b\\/\\b)*(?:[. ]\\(?\\w(?:[\\w-]|\\b\\/\\b)*\\)?)*:(?=\\s)/im,\n lookbehind: true\n },\n separator: {\n pattern: /(^|[^-+])-{3,}|={3,}|\\*{3,}|- - /m,\n lookbehind: true,\n alias: 'comment'\n },\n url: /\\b(?:file|ftp|https?):\\/\\/[^\\s|,;'\"]*[^\\s|,;'\">.]/,\n email: {\n pattern: /(^|\\s)[-\\w+.]+@[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+(?=\\s)/,\n lookbehind: true,\n alias: 'url'\n },\n 'ip-address': {\n pattern: /\\b(?:\\d{1,3}(?:\\.\\d{1,3}){3})\\b/,\n alias: 'constant'\n },\n 'mac-address': {\n pattern: /\\b[a-f0-9]{2}(?::[a-f0-9]{2}){5}\\b/i,\n alias: 'constant'\n },\n domain: {\n pattern:\n /(^|\\s)[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)*\\.[a-z][a-z0-9-]+(?=\\s)/,\n lookbehind: true,\n alias: 'constant'\n },\n uuid: {\n pattern:\n /\\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\b/i,\n alias: 'constant'\n },\n hash: {\n pattern: /\\b(?:[a-f0-9]{32}){1,2}\\b/i,\n alias: 'constant'\n },\n 'file-path': {\n pattern:\n /\\b[a-z]:[\\\\/][^\\s|,;:(){}\\[\\]\"']+|(^|[\\s:\\[\\](>|])\\.{0,2}\\/\\w[^\\s|,;:(){}\\[\\]\"']*/i,\n lookbehind: true,\n greedy: true,\n alias: 'string'\n },\n date: {\n pattern: RegExp(\n /\\b\\d{4}[-/]\\d{2}[-/]\\d{2}(?:T(?=\\d{1,2}:)|(?=\\s\\d{1,2}:))/.source +\n '|' +\n /\\b\\d{1,4}[-/ ](?:\\d{1,2}|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)[-/ ]\\d{2,4}T?\\b/\n .source +\n '|' +\n /\\b(?:(?:Fri|Mon|Sat|Sun|Thu|Tue|Wed)(?:\\s{1,2}(?:Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep))?|Apr|Aug|Dec|Feb|Jan|Jul|Jun|Mar|May|Nov|Oct|Sep)\\s{1,2}\\d{1,2}\\b/\n .source,\n 'i'\n ),\n alias: 'number'\n },\n time: {\n pattern:\n /\\b\\d{1,2}:\\d{1,2}:\\d{1,2}(?:[.,:]\\d+)?(?:\\s?[+-]\\d{2}:?\\d{2}|Z)?\\b/,\n alias: 'number'\n },\n boolean: /\\b(?:false|null|true)\\b/i,\n number: {\n pattern:\n /(^|[^.\\w])(?:0x[a-f0-9]+|0o[0-7]+|0b[01]+|v?\\d[\\da-f]*(?:\\.\\d+)*(?:e[+-]?\\d+)?[a-z]{0,3}\\b)\\b(?!\\.\\w)/i,\n lookbehind: true\n },\n operator: /[;:?<=>~/@!$%&+\\-|^(){}*#]/,\n punctuation: /[\\[\\].,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nlolcode.displayName = 'lolcode'\nlolcode.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function lolcode(Prism) {\n Prism.languages.lolcode = {\n comment: [/\\bOBTW\\s[\\s\\S]*?\\sTLDR\\b/, /\\bBTW.+/],\n string: {\n pattern: /\"(?::.|[^\":])*\"/,\n inside: {\n variable: /:\\{[^}]+\\}/,\n symbol: [/:\\([a-f\\d]+\\)/i, /:\\[[^\\]]+\\]/, /:[)>o\":]/]\n },\n greedy: true\n },\n number: /(?:\\B-)?(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)/,\n symbol: {\n pattern: /(^|\\s)(?:A )?(?:BUKKIT|NOOB|NUMBAR|NUMBR|TROOF|YARN)(?=\\s|,|$)/,\n lookbehind: true,\n inside: {\n keyword: /A(?=\\s)/\n }\n },\n label: {\n pattern: /((?:^|\\s)(?:IM IN YR|IM OUTTA YR) )[a-zA-Z]\\w*/,\n lookbehind: true,\n alias: 'string'\n },\n function: {\n pattern: /((?:^|\\s)(?:HOW IZ I|I IZ|IZ) )[a-zA-Z]\\w*/,\n lookbehind: true\n },\n keyword: [\n {\n pattern:\n /(^|\\s)(?:AN|FOUND YR|GIMMEH|GTFO|HAI|HAS A|HOW IZ I|I HAS A|I IZ|IF U SAY SO|IM IN YR|IM OUTTA YR|IS NOW(?: A)?|ITZ(?: A)?|IZ|KTHX|KTHXBYE|LIEK(?: A)?|MAEK|MEBBE|MKAY|NERFIN|NO WAI|O HAI IM|O RLY\\?|OIC|OMG|OMGWTF|R|SMOOSH|SRS|TIL|UPPIN|VISIBLE|WILE|WTF\\?|YA RLY|YR)(?=\\s|,|$)/,\n lookbehind: true\n },\n /'Z(?=\\s|,|$)/\n ],\n boolean: {\n pattern: /(^|\\s)(?:FAIL|WIN)(?=\\s|,|$)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|\\s)IT(?=\\s|,|$)/,\n lookbehind: true\n },\n operator: {\n pattern:\n /(^|\\s)(?:NOT|BOTH SAEM|DIFFRINT|(?:ALL|ANY|BIGGR|BOTH|DIFF|EITHER|MOD|PRODUKT|QUOSHUNT|SMALLR|SUM|WON) OF)(?=\\s|,|$)/,\n lookbehind: true\n },\n punctuation: /\\.{3}|…|,|!/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmagma.displayName = 'magma'\nmagma.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function magma(Prism) {\n Prism.languages.magma = {\n output: {\n pattern:\n /^(>.*(?:\\r(?:\\n|(?!\\n))|\\n))(?!>)(?:.+|(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)(?:(?:\\r(?:\\n|(?!\\n))|\\n)(?!>).*)*/m,\n lookbehind: true,\n greedy: true\n },\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\\"])\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n // http://magma.maths.usyd.edu.au/magma/handbook/text/82\n keyword:\n /\\b(?:_|adj|and|assert|assert2|assert3|assigned|break|by|case|cat|catch|clear|cmpeq|cmpne|continue|declare|default|delete|diff|div|do|elif|else|end|eq|error|eval|exists|exit|for|forall|forward|fprintf|freeze|function|ge|gt|if|iload|import|in|intrinsic|is|join|le|load|local|lt|meet|mod|ne|not|notadj|notin|notsubset|or|print|printf|procedure|quit|random|read|readi|repeat|require|requirege|requirerange|restore|return|save|sdiff|select|subset|then|time|to|try|until|vprint|vprintf|vtime|when|where|while|xor)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n generator: {\n pattern: /\\b[a-z_]\\w*(?=\\s*<)/i,\n alias: 'class-name'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number: {\n pattern:\n /(^|[^\\w.]|\\.\\.)(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?(?:_[a-z]?)?(?=$|[^\\w.]|\\.\\.)/,\n lookbehind: true\n },\n operator: /->|[-+*/^~!|#=]|:=|\\.\\./,\n punctuation: /[()[\\]{}<>,;.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmakefile.displayName = 'makefile'\nmakefile.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function makefile(Prism) {\n Prism.languages.makefile = {\n comment: {\n pattern: /(^|[^\\\\])#(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])*/,\n lookbehind: true\n },\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'builtin-target': {\n pattern: /\\.[A-Z][^:#=\\s]+(?=\\s*:(?!=))/,\n alias: 'builtin'\n },\n target: {\n pattern: /^(?:[^:=\\s]|[ \\t]+(?![\\s:]))+(?=\\s*:(?!=))/m,\n alias: 'symbol',\n inside: {\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|(?=[({]))/\n }\n },\n variable: /\\$+(?:(?!\\$)[^(){}:#=\\s]+|\\([@*%<^+?][DF]\\)|(?=[({]))/,\n // Directives\n keyword:\n /-include\\b|\\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\\b/,\n function: {\n pattern:\n /(\\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \\t])/,\n lookbehind: true\n },\n operator: /(?:::|[?:+!])?=|[|@]/,\n punctuation: /[:;(){}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmata.displayName = 'mata'\nmata.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function mata(Prism) {\n // https://www.stata.com/manuals/m.pdf\n\n ;(function (Prism) {\n var orgType = /\\b(?:(?:col|row)?vector|matrix|scalar)\\b/.source\n var type =\n /\\bvoid\\b|<org>|\\b(?:complex|numeric|pointer(?:\\s*\\([^()]*\\))?|real|string|(?:class|struct)\\s+\\w+|transmorphic)(?:\\s*<org>)?/.source.replace(\n /<org>/g,\n orgType\n )\n Prism.languages.mata = {\n comment: {\n pattern:\n /\\/\\/.*|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|[‘`']\".*?\"[’`']/,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|extends|struct)\\s+)\\w+(?=\\s*(?:\\{|\\bextends\\b))/,\n lookbehind: true\n },\n type: {\n pattern: RegExp(type),\n alias: 'class-name',\n inside: {\n punctuation: /[()]/,\n keyword: /\\b(?:class|function|struct|void)\\b/\n }\n },\n keyword:\n /\\b(?:break|class|continue|do|else|end|extends|external|final|for|function|goto|if|pragma|private|protected|public|return|static|struct|unset|unused|version|virtual|while)\\b/,\n constant: /\\bNULL\\b/,\n number: {\n pattern:\n /(^|[^\\w.])(?:\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?|\\d[a-f0-9]*(?:\\.[a-f0-9]+)?x[+-]?\\d+)i?(?![\\w.])/i,\n lookbehind: true\n },\n missing: {\n pattern: /(^|[^\\w.])(?:\\.[a-z]?)(?![\\w.])/,\n lookbehind: true,\n alias: 'symbol'\n },\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n operator: /\\.\\.|\\+\\+|--|&&|\\|\\||:?(?:[!=<>]=|[+\\-*/^<>&|:])|[!?=\\\\#’`']/,\n punctuation: /[()[\\]{},;.]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmatlab.displayName = 'matlab'\nmatlab.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function matlab(Prism) {\n Prism.languages.matlab = {\n comment: [/%\\{[\\s\\S]*?\\}%/, /%.+/],\n string: {\n pattern: /\\B'(?:''|[^'\\r\\n])*'/,\n greedy: true\n },\n // FIXME We could handle imaginary numbers as a whole\n number: /(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?(?:[ij])?|\\b[ij]\\b/,\n keyword:\n /\\b(?:NaN|break|case|catch|continue|else|elseif|end|for|function|if|inf|otherwise|parfor|pause|pi|return|switch|try|while)\\b/,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n operator: /\\.?[*^\\/\\\\']|[+\\-:@]|[<>=~]=?|&&?|\\|\\|?/,\n punctuation: /\\.{3}|[.,;\\[\\](){}!]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmaxscript.displayName = 'maxscript'\nmaxscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function maxscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:about|and|animate|as|at|attributes|by|case|catch|collect|continue|coordsys|do|else|exit|fn|for|from|function|global|if|in|local|macroscript|mapped|max|not|of|off|on|or|parameters|persistent|plugin|rcmenu|return|rollout|set|struct|then|throw|to|tool|try|undo|utility|when|where|while|with)\\b/i\n Prism.languages.maxscript = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:\\*\\/|$)|--.*/,\n greedy: true\n },\n string: {\n pattern: /(^|[^\"\\\\@])(?:\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|@\"[^\"]*\")/,\n lookbehind: true,\n greedy: true\n },\n path: {\n pattern: /\\$(?:[\\w/\\\\.*?]|'[^']*')*/,\n greedy: true,\n alias: 'string'\n },\n 'function-call': {\n pattern: RegExp(\n '((?:' +\n // start of line\n (/^/.source +\n '|' +\n // operators and other language constructs\n /[;=<>+\\-*/^({\\[]/.source +\n '|' +\n // keywords as part of statements\n /\\b(?:and|by|case|catch|collect|do|else|if|in|not|or|return|then|to|try|where|while|with)\\b/\n .source) +\n ')[ \\t]*)' +\n '(?!' +\n keywords.source +\n ')' +\n /[a-z_]\\w*\\b/.source +\n '(?=[ \\t]*(?:' +\n // variable\n ('(?!' +\n keywords.source +\n ')' +\n /[a-z_]/.source +\n '|' +\n // number\n /\\d|-\\.?\\d/.source +\n '|' +\n // other expressions or literals\n /[({'\"$@#?]/.source) +\n '))',\n 'im'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'function'\n },\n 'function-definition': {\n pattern: /(\\b(?:fn|function)\\s+)\\w+\\b/i,\n lookbehind: true,\n alias: 'function'\n },\n argument: {\n pattern: /\\b[a-z_]\\w*(?=:)/i,\n alias: 'attr-name'\n },\n keyword: keywords,\n boolean: /\\b(?:false|true)\\b/,\n time: {\n pattern:\n /(^|[^\\w.])(?:(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?[msft])+|\\d+:\\d+(?:\\.\\d*)?)(?![\\w.:])/,\n lookbehind: true,\n alias: 'number'\n },\n number: [\n {\n pattern:\n /(^|[^\\w.])(?:(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eEdD][+-]\\d+|[LP])?|0x[a-fA-F0-9]+)(?![\\w.:])/,\n lookbehind: true\n },\n /\\b(?:e|pi)\\b/\n ],\n constant: /\\b(?:dontcollect|ok|silentValue|undefined|unsupplied)\\b/,\n color: {\n pattern: /\\b(?:black|blue|brown|gray|green|orange|red|white|yellow)\\b/i,\n alias: 'constant'\n },\n operator: /[-+*/<>=!]=?|[&^?]|#(?!\\()/,\n punctuation: /[()\\[\\]{}.:,;]|#(?=\\()|\\\\$/m\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmel.displayName = 'mel'\nmel.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function mel(Prism) {\n Prism.languages.mel = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n code: {\n pattern: /`(?:\\\\.|[^\\\\`])*`/,\n greedy: true,\n alias: 'italic',\n inside: {\n delimiter: {\n pattern: /^`|`$/,\n alias: 'punctuation'\n },\n statement: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n variable: /\\$\\w+/,\n number: /\\b0x[\\da-fA-F]+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+/,\n flag: {\n pattern: /-[^\\d\\W]\\w*/,\n alias: 'operator'\n },\n keyword:\n /\\b(?:break|case|continue|default|do|else|float|for|global|if|in|int|matrix|proc|return|string|switch|vector|while)\\b/,\n function: {\n pattern:\n /((?:^|[{;])[ \\t]*)[a-z_]\\w*\\b(?!\\s*(?:\\.(?!\\.)|[[{=]))|\\b[a-z_]\\w*(?=[ \\t]*\\()/im,\n lookbehind: true,\n greedy: true\n },\n 'tensor-punctuation': {\n pattern: /<<|>>/,\n alias: 'punctuation'\n },\n operator: /\\+[+=]?|-[-=]?|&&|\\|\\||[<>]=?|[*\\/!=]=?|[%^]/,\n punctuation: /[.,:;?\\[\\](){}]/\n }\n Prism.languages.mel['code'].inside['statement'].inside = Prism.languages.mel\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmermaid.displayName = 'mermaid'\nmermaid.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function mermaid(Prism) {\n Prism.languages.mermaid = {\n comment: {\n pattern: /%%.*/,\n greedy: true\n },\n style: {\n pattern:\n /^([ \\t]*(?:classDef|linkStyle|style)[ \\t]+[\\w$-]+[ \\t]+)\\w.*[^\\s;]/m,\n lookbehind: true,\n inside: {\n property: /\\b\\w[\\w-]*(?=[ \\t]*:)/,\n operator: /:/,\n punctuation: /,/\n }\n },\n 'inter-arrow-label': {\n pattern:\n /([^<>ox.=-])(?:-[-.]|==)(?![<>ox.=-])[ \\t]*(?:\"[^\"\\r\\n]*\"|[^\\s\".=-](?:[^\\r\\n.=-]*[^\\s.=-])?)[ \\t]*(?:\\.+->?|--+[->]|==+[=>])(?![<>ox.=-])/,\n lookbehind: true,\n greedy: true,\n inside: {\n arrow: {\n pattern: /(?:\\.+->?|--+[->]|==+[=>])$/,\n alias: 'operator'\n },\n label: {\n pattern: /^([\\s\\S]{2}[ \\t]*)\\S(?:[\\s\\S]*\\S)?/,\n lookbehind: true,\n alias: 'property'\n },\n 'arrow-head': {\n pattern: /^\\S+/,\n alias: ['arrow', 'operator']\n }\n }\n },\n arrow: [\n // This might look complex but it really isn't.\n // There are many possible arrows (see tests) and it's impossible to fit all of them into one pattern. The\n // problem is that we only have one lookbehind per pattern. However, we cannot disallow too many arrow\n // characters in the one lookbehind because that would create too many false negatives. So we have to split the\n // arrows into different patterns.\n {\n // ER diagram\n pattern: /(^|[^{}|o.-])[|}][|o](?:--|\\.\\.)[|o][|{](?![{}|o.-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // flow chart\n // (?:==+|--+|-\\.*-)\n pattern:\n /(^|[^<>ox.=-])(?:[<ox](?:==+|--+|-\\.*-)[>ox]?|(?:==+|--+|-\\.*-)[>ox]|===+|---+|-\\.+-)(?![<>ox.=-])/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // sequence diagram\n pattern:\n /(^|[^<>()x-])(?:--?(?:>>|[x>)])(?![<>()x])|(?:<<|[x<(])--?(?!-))/,\n lookbehind: true,\n alias: 'operator'\n },\n {\n // class diagram\n pattern:\n /(^|[^<>|*o.-])(?:[*o]--|--[*o]|<\\|?(?:--|\\.\\.)|(?:--|\\.\\.)\\|?>|--|\\.\\.)(?![<>|*o.-])/,\n lookbehind: true,\n alias: 'operator'\n }\n ],\n label: {\n pattern: /(^|[^|<])\\|(?:[^\\r\\n\"|]|\"[^\"\\r\\n]*\")+\\|/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n text: {\n pattern: /(?:[(\\[{]+|\\b>)(?:[^\\r\\n\"()\\[\\]{}]|\"[^\"\\r\\n]*\")+(?:[)\\]}]+|>)/,\n alias: 'string'\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n annotation: {\n pattern:\n /<<(?:abstract|choice|enumeration|fork|interface|join|service)>>|\\[\\[(?:choice|fork|join)\\]\\]/i,\n alias: 'important'\n },\n keyword: [\n // This language has both case-sensitive and case-insensitive keywords\n {\n pattern:\n /(^[ \\t]*)(?:action|callback|class|classDef|classDiagram|click|direction|erDiagram|flowchart|gantt|gitGraph|graph|journey|link|linkStyle|pie|requirementDiagram|sequenceDiagram|stateDiagram|stateDiagram-v2|style|subgraph)(?![\\w$-])/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern:\n /(^[ \\t]*)(?:activate|alt|and|as|autonumber|deactivate|else|end(?:[ \\t]+note)?|loop|opt|par|participant|rect|state|note[ \\t]+(?:over|(?:left|right)[ \\t]+of))(?![\\w$-])/im,\n lookbehind: true,\n greedy: true\n }\n ],\n entity: /#[a-z0-9]+;/,\n operator: {\n pattern: /(\\w[ \\t]*)&(?=[ \\t]*\\w)|:::|:/,\n lookbehind: true\n },\n punctuation: /[(){};]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmetafont.displayName = 'metafont'\nmetafont.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function metafont(Prism) {\n Prism.languages.metafont = {\n // Syntax of METAFONT with the added (public) elements of PlainMETAFONT. Except for internal quantities they are expected to be rarely redefined. Freely inspired by the syntax of Christophe Grandsire for the Crimson Editor.\n comment: {\n pattern: /%.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\\r\\n\"]*\"/,\n greedy: true\n },\n number: /\\d*\\.?\\d+/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: [\n /[,;()]/,\n {\n pattern: /(^|[^{}])(?:\\{|\\})(?![{}])/,\n lookbehind: true\n },\n {\n pattern: /(^|[^[])\\[(?!\\[)/,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\]])\\](?!\\])/,\n lookbehind: true\n }\n ],\n constant: [\n {\n pattern: /(^|[^!?])\\?\\?\\?(?![!?])/,\n lookbehind: true\n },\n {\n pattern: /(^|[^/*\\\\])(?:\\\\|\\\\\\\\)(?![/*\\\\])/,\n lookbehind: true\n },\n /\\b(?:_|blankpicture|bp|cc|cm|dd|ditto|down|eps|epsilon|fullcircle|halfcircle|identity|in|infinity|left|mm|nullpen|nullpicture|origin|pc|penrazor|penspeck|pensquare|penstroke|proof|pt|quartercircle|relax|right|smoke|unitpixel|unitsquare|up)\\b/\n ],\n quantity: {\n pattern:\n /\\b(?:autorounding|blacker|boundarychar|charcode|chardp|chardx|chardy|charext|charht|charic|charwd|currentwindow|day|designsize|displaying|fillin|fontmaking|granularity|hppp|join_radius|month|o_correction|pausing|pen_(?:bot|lft|rt|top)|pixels_per_inch|proofing|showstopping|smoothing|time|tolerance|tracingcapsules|tracingchoices|tracingcommands|tracingedges|tracingequations|tracingmacros|tracingonline|tracingoutput|tracingpens|tracingrestores|tracingspecs|tracingstats|tracingtitles|turningcheck|vppp|warningcheck|xoffset|year|yoffset)\\b/,\n alias: 'keyword'\n },\n command: {\n pattern:\n /\\b(?:addto|batchmode|charlist|cull|display|errhelp|errmessage|errorstopmode|everyjob|extensible|fontdimen|headerbyte|inner|interim|let|ligtable|message|newinternal|nonstopmode|numspecial|openwindow|outer|randomseed|save|scrollmode|shipout|show|showdependencies|showstats|showtoken|showvariable|special)\\b/,\n alias: 'builtin'\n },\n operator: [\n {\n pattern:\n /(^|[^>=<:|])(?:<|<=|=|=:|\\|=:|\\|=:>|=:\\|>|=:\\||\\|=:\\||\\|=:\\|>|\\|=:\\|>>|>|>=|:|:=|<>|::|\\|\\|:)(?![>=<:|])/,\n lookbehind: true\n },\n {\n pattern: /(^|[^+-])(?:\\+|\\+\\+|-{1,3}|\\+-\\+)(?![+-])/,\n lookbehind: true\n },\n {\n pattern: /(^|[^/*\\\\])(?:\\*|\\*\\*|\\/)(?![/*\\\\])/,\n lookbehind: true\n },\n {\n pattern: /(^|[^.])(?:\\.{2,3})(?!\\.)/,\n lookbehind: true\n },\n {\n pattern: /(^|[^@#&$])&(?![@#&$])/,\n lookbehind: true\n },\n /\\b(?:and|not|or)\\b/\n ],\n macro: {\n pattern:\n /\\b(?:abs|beginchar|bot|byte|capsule_def|ceiling|change_width|clear_pen_memory|clearit|clearpen|clearxy|counterclockwise|cullit|cutdraw|cutoff|decr|define_blacker_pixels|define_corrected_pixels|define_good_x_pixels|define_good_y_pixels|define_horizontal_corrected_pixels|define_pixels|define_whole_blacker_pixels|define_whole_pixels|define_whole_vertical_blacker_pixels|define_whole_vertical_pixels|dir|direction|directionpoint|div|dotprod|downto|draw|drawdot|endchar|erase|fill|filldraw|fix_units|flex|font_coding_scheme|font_extra_space|font_identifier|font_normal_shrink|font_normal_space|font_normal_stretch|font_quad|font_size|font_slant|font_x_height|gfcorners|gobble|gobbled|good\\.(?:bot|lft|rt|top|x|y)|grayfont|hide|hround|imagerules|incr|interact|interpath|intersectionpoint|inverse|italcorr|killtext|labelfont|labels|lft|loggingall|lowres_fix|makegrid|makelabel(?:\\.(?:bot|lft|rt|top)(?:\\.nodot)?)?|max|min|mod|mode_def|mode_setup|nodisplays|notransforms|numtok|openit|penlabels|penpos|pickup|proofoffset|proofrule|proofrulethickness|range|reflectedabout|rotatedabout|rotatedaround|round|rt|savepen|screenchars|screenrule|screenstrokes|shipit|showit|slantfont|softjoin|solve|stop|superellipse|tensepath|thru|titlefont|top|tracingall|tracingnone|undraw|undrawdot|unfill|unfilldraw|upto|vround)\\b/,\n alias: 'function'\n },\n builtin:\n /\\b(?:ASCII|angle|char|cosd|decimal|directiontime|floor|hex|intersectiontimes|jobname|known|length|makepath|makepen|mexp|mlog|normaldeviate|oct|odd|pencircle|penoffset|point|postcontrol|precontrol|reverse|rotated|sind|sqrt|str|subpath|substring|totalweight|turningnumber|uniformdeviate|unknown|xpart|xxpart|xypart|ypart|yxpart|yypart)\\b/,\n keyword:\n /\\b(?:also|at|atleast|begingroup|charexists|contour|controls|curl|cycle|def|delimiters|doublepath|dropping|dump|else|elseif|end|enddef|endfor|endgroup|endinput|exitif|exitunless|expandafter|fi|for|forever|forsuffixes|from|if|input|inwindow|keeping|kern|of|primarydef|quote|readstring|scaled|scantokens|secondarydef|shifted|skipto|slanted|step|tension|tertiarydef|to|transformed|until|vardef|withpen|withweight|xscaled|yscaled|zscaled)\\b/,\n type: {\n pattern:\n /\\b(?:boolean|expr|numeric|pair|path|pen|picture|primary|secondary|string|suffix|tertiary|text|transform)\\b/,\n alias: 'property'\n },\n variable: {\n pattern:\n /(^|[^@#&$])(?:@#|#@|#|@)(?![@#&$])|\\b(?:aspect_ratio|currentpen|currentpicture|currenttransform|d|extra_beginchar|extra_endchar|extra_setup|h|localfont|mag|mode|screen_cols|screen_rows|w|whatever|x|y|z)\\b/,\n lookbehind: true\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmizar.displayName = 'mizar'\nmizar.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function mizar(Prism) {\n Prism.languages.mizar = {\n comment: /::.+/,\n keyword:\n /@proof\\b|\\b(?:according|aggregate|all|and|antonym|are|as|associativity|assume|asymmetry|attr|be|begin|being|by|canceled|case|cases|clusters?|coherence|commutativity|compatibility|connectedness|consider|consistency|constructors|contradiction|correctness|def|deffunc|define|definitions?|defpred|do|does|end|environ|equals|ex|exactly|existence|for|from|func|given|hence|hereby|holds|idempotence|identity|iff?|implies|involutiveness|irreflexivity|is|it|let|means|mode|non|not|notations?|now|of|or|otherwise|over|per|pred|prefix|projectivity|proof|provided|qua|reconsider|redefine|reduce|reducibility|reflexivity|registrations?|requirements|reserve|sch|schemes?|section|selector|set|sethood|st|struct|such|suppose|symmetry|synonym|take|that|the|then|theorems?|thesis|thus|to|transitivity|uniqueness|vocabular(?:ies|y)|when|where|with|wrt)\\b/,\n parameter: {\n pattern: /\\$(?:10|\\d)/,\n alias: 'variable'\n },\n variable: /\\b\\w+(?=:)/,\n number: /(?:\\b|-)\\d+\\b/,\n operator: /\\.\\.\\.|->|&|\\.?=/,\n punctuation: /\\(#|#\\)|[,:;\\[\\](){}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nmongodb.displayName = 'mongodb'\nmongodb.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function mongodb(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n var operators = [\n // query and projection\n '$eq',\n '$gt',\n '$gte',\n '$in',\n '$lt',\n '$lte',\n '$ne',\n '$nin',\n '$and',\n '$not',\n '$nor',\n '$or',\n '$exists',\n '$type',\n '$expr',\n '$jsonSchema',\n '$mod',\n '$regex',\n '$text',\n '$where',\n '$geoIntersects',\n '$geoWithin',\n '$near',\n '$nearSphere',\n '$all',\n '$elemMatch',\n '$size',\n '$bitsAllClear',\n '$bitsAllSet',\n '$bitsAnyClear',\n '$bitsAnySet',\n '$comment',\n '$elemMatch',\n '$meta',\n '$slice',\n // update\n '$currentDate',\n '$inc',\n '$min',\n '$max',\n '$mul',\n '$rename',\n '$set',\n '$setOnInsert',\n '$unset',\n '$addToSet',\n '$pop',\n '$pull',\n '$push',\n '$pullAll',\n '$each',\n '$position',\n '$slice',\n '$sort',\n '$bit',\n // aggregation pipeline stages\n '$addFields',\n '$bucket',\n '$bucketAuto',\n '$collStats',\n '$count',\n '$currentOp',\n '$facet',\n '$geoNear',\n '$graphLookup',\n '$group',\n '$indexStats',\n '$limit',\n '$listLocalSessions',\n '$listSessions',\n '$lookup',\n '$match',\n '$merge',\n '$out',\n '$planCacheStats',\n '$project',\n '$redact',\n '$replaceRoot',\n '$replaceWith',\n '$sample',\n '$set',\n '$skip',\n '$sort',\n '$sortByCount',\n '$unionWith',\n '$unset',\n '$unwind',\n '$setWindowFields',\n // aggregation pipeline operators\n '$abs',\n '$accumulator',\n '$acos',\n '$acosh',\n '$add',\n '$addToSet',\n '$allElementsTrue',\n '$and',\n '$anyElementTrue',\n '$arrayElemAt',\n '$arrayToObject',\n '$asin',\n '$asinh',\n '$atan',\n '$atan2',\n '$atanh',\n '$avg',\n '$binarySize',\n '$bsonSize',\n '$ceil',\n '$cmp',\n '$concat',\n '$concatArrays',\n '$cond',\n '$convert',\n '$cos',\n '$dateFromParts',\n '$dateToParts',\n '$dateFromString',\n '$dateToString',\n '$dayOfMonth',\n '$dayOfWeek',\n '$dayOfYear',\n '$degreesToRadians',\n '$divide',\n '$eq',\n '$exp',\n '$filter',\n '$first',\n '$floor',\n '$function',\n '$gt',\n '$gte',\n '$hour',\n '$ifNull',\n '$in',\n '$indexOfArray',\n '$indexOfBytes',\n '$indexOfCP',\n '$isArray',\n '$isNumber',\n '$isoDayOfWeek',\n '$isoWeek',\n '$isoWeekYear',\n '$last',\n '$last',\n '$let',\n '$literal',\n '$ln',\n '$log',\n '$log10',\n '$lt',\n '$lte',\n '$ltrim',\n '$map',\n '$max',\n '$mergeObjects',\n '$meta',\n '$min',\n '$millisecond',\n '$minute',\n '$mod',\n '$month',\n '$multiply',\n '$ne',\n '$not',\n '$objectToArray',\n '$or',\n '$pow',\n '$push',\n '$radiansToDegrees',\n '$range',\n '$reduce',\n '$regexFind',\n '$regexFindAll',\n '$regexMatch',\n '$replaceOne',\n '$replaceAll',\n '$reverseArray',\n '$round',\n '$rtrim',\n '$second',\n '$setDifference',\n '$setEquals',\n '$setIntersection',\n '$setIsSubset',\n '$setUnion',\n '$size',\n '$sin',\n '$slice',\n '$split',\n '$sqrt',\n '$stdDevPop',\n '$stdDevSamp',\n '$strcasecmp',\n '$strLenBytes',\n '$strLenCP',\n '$substr',\n '$substrBytes',\n '$substrCP',\n '$subtract',\n '$sum',\n '$switch',\n '$tan',\n '$toBool',\n '$toDate',\n '$toDecimal',\n '$toDouble',\n '$toInt',\n '$toLong',\n '$toObjectId',\n '$toString',\n '$toLower',\n '$toUpper',\n '$trim',\n '$trunc',\n '$type',\n '$week',\n '$year',\n '$zip',\n '$count',\n '$dateAdd',\n '$dateDiff',\n '$dateSubtract',\n '$dateTrunc',\n '$getField',\n '$rand',\n '$sampleRate',\n '$setField',\n '$unsetField',\n // aggregation pipeline query modifiers\n '$comment',\n '$explain',\n '$hint',\n '$max',\n '$maxTimeMS',\n '$min',\n '$orderby',\n '$query',\n '$returnKey',\n '$showDiskLoc',\n '$natural'\n ]\n var builtinFunctions = [\n 'ObjectId',\n 'Code',\n 'BinData',\n 'DBRef',\n 'Timestamp',\n 'NumberLong',\n 'NumberDecimal',\n 'MaxKey',\n 'MinKey',\n 'RegExp',\n 'ISODate',\n 'UUID'\n ]\n operators = operators.map(function (operator) {\n return operator.replace('$', '\\\\$')\n })\n var operatorsSource = '(?:' + operators.join('|') + ')\\\\b'\n Prism.languages.mongodb = Prism.languages.extend('javascript', {})\n Prism.languages.insertBefore('mongodb', 'string', {\n property: {\n pattern:\n /(?:([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1|(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*)(?=\\s*:)/,\n greedy: true,\n inside: {\n keyword: RegExp('^([\\'\"])?' + operatorsSource + '(?:\\\\1)?$')\n }\n }\n })\n Prism.languages.mongodb.string.inside = {\n url: {\n // url pattern\n pattern:\n /https?:\\/\\/[-\\w@:%.+~#=]{1,256}\\.[a-z0-9()]{1,6}\\b[-\\w()@:%+.~#?&/=]*/i,\n greedy: true\n },\n entity: {\n // ipv4\n pattern:\n /\\b(?:(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d\\d?|2[0-4]\\d|25[0-5])\\b/,\n greedy: true\n }\n }\n Prism.languages.insertBefore('mongodb', 'constant', {\n builtin: {\n pattern: RegExp('\\\\b(?:' + builtinFunctions.join('|') + ')\\\\b'),\n alias: 'keyword'\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmonkey.displayName = 'monkey'\nmonkey.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function monkey(Prism) {\n Prism.languages.monkey = {\n comment: {\n pattern: /^#Rem\\s[\\s\\S]*?^#End|'.+/im,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"/,\n greedy: true\n },\n preprocessor: {\n pattern: /(^[ \\t]*)#.+/m,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n function: /\\b\\w+(?=\\()/,\n 'type-char': {\n pattern: /\\b[?%#$]/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /((?:\\.\\.)?)(?:(?:\\b|\\B-\\.?|\\B\\.)\\d+(?:(?!\\.\\.)\\.\\d*)?|\\$[\\da-f]+)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:Abstract|Array|Bool|Case|Catch|Class|Const|Continue|Default|Eachin|Else|ElseIf|End|EndIf|Exit|Extends|Extern|False|Field|Final|Float|For|Forever|Function|Global|If|Implements|Import|Inline|Int|Interface|Local|Method|Module|New|Next|Null|Object|Private|Property|Public|Repeat|Return|Select|Self|Step|Strict|String|Super|Then|Throw|To|True|Try|Until|Void|Wend|While)\\b/i,\n operator:\n /\\.\\.|<[=>]?|>=?|:?=|(?:[+\\-*\\/&~|]|\\b(?:Mod|Shl|Shr)\\b)=?|\\b(?:And|Not|Or)\\b/i,\n punctuation: /[.,:;()\\[\\]]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nmoonscript.displayName = 'moonscript'\nmoonscript.aliases = ['moon']\n\n/** @param {Refractor} Prism */\nexport default function moonscript(Prism) {\n Prism.languages.moonscript = {\n comment: /--.*/,\n string: [\n {\n pattern: /'[^']*'|\\[(=*)\\[[\\s\\S]*?\\]\\1\\]/,\n greedy: true\n },\n {\n pattern: /\"[^\"]*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /#\\{[^{}]*\\}/,\n inside: {\n moonscript: {\n pattern: /(^#\\{)[\\s\\S]+(?=\\})/,\n lookbehind: true,\n inside: null // see beow\n },\n 'interpolation-punctuation': {\n pattern: /#\\{|\\}/,\n alias: 'punctuation'\n }\n }\n }\n }\n }\n ],\n 'class-name': [\n {\n pattern: /(\\b(?:class|extends)[ \\t]+)\\w+/,\n lookbehind: true\n },\n // class-like names start with a capital letter\n /\\b[A-Z]\\w*/\n ],\n keyword:\n /\\b(?:class|continue|do|else|elseif|export|extends|for|from|if|import|in|local|nil|return|self|super|switch|then|unless|using|when|while|with)\\b/,\n variable: /@@?\\w*/,\n property: {\n pattern: /\\b(?!\\d)\\w+(?=:)|(:)(?!\\d)\\w+/,\n lookbehind: true\n },\n function: {\n pattern:\n /\\b(?:_G|_VERSION|assert|collectgarbage|coroutine\\.(?:create|resume|running|status|wrap|yield)|debug\\.(?:debug|getfenv|gethook|getinfo|getlocal|getmetatable|getregistry|getupvalue|setfenv|sethook|setlocal|setmetatable|setupvalue|traceback)|dofile|error|getfenv|getmetatable|io\\.(?:close|flush|input|lines|open|output|popen|read|stderr|stdin|stdout|tmpfile|type|write)|ipairs|load|loadfile|loadstring|math\\.(?:abs|acos|asin|atan|atan2|ceil|cos|cosh|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pi|pow|rad|random|randomseed|sin|sinh|sqrt|tan|tanh)|module|next|os\\.(?:clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(?:cpath|loaded|loadlib|path|preload|seeall)|pairs|pcall|print|rawequal|rawget|rawset|require|select|setfenv|setmetatable|string\\.(?:byte|char|dump|find|format|gmatch|gsub|len|lower|match|rep|reverse|sub|upper)|table\\.(?:concat|insert|maxn|remove|sort)|tonumber|tostring|type|unpack|xpcall)\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n boolean: /\\b(?:false|true)\\b/,\n number:\n /(?:\\B\\.\\d+|\\b\\d+\\.\\d+|\\b\\d+(?=[eE]))(?:[eE][-+]?\\d+)?\\b|\\b(?:0x[a-fA-F\\d]+|\\d+)(?:U?LL)?\\b/,\n operator:\n /\\.{3}|[-=]>|~=|(?:[-+*/%<>!=]|\\.\\.)=?|[:#^]|\\b(?:and|or)\\b=?|\\b(?:not)\\b/,\n punctuation: /[.,()[\\]{}\\\\]/\n }\n Prism.languages.moonscript.string[1].inside.interpolation.inside.moonscript.inside =\n Prism.languages.moonscript\n Prism.languages.moon = Prism.languages.moonscript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nn1ql.displayName = 'n1ql'\nn1ql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function n1ql(Prism) {\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/index.html\n\n Prism.languages.n1ql = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?(?:$|\\*\\/)|--.*/,\n greedy: true\n },\n string: {\n pattern: /([\"'])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\]|\\1\\1)*\\1/,\n greedy: true\n },\n identifier: {\n pattern: /`(?:\\\\[\\s\\S]|[^\\\\`]|``)*`/,\n greedy: true\n },\n parameter: /\\$[\\w.]+/,\n // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html#n1ql-reserved-words\n keyword:\n /\\b(?:ADVISE|ALL|ALTER|ANALYZE|AS|ASC|AT|BEGIN|BINARY|BOOLEAN|BREAK|BUCKET|BUILD|BY|CALL|CAST|CLUSTER|COLLATE|COLLECTION|COMMIT|COMMITTED|CONNECT|CONTINUE|CORRELATE|CORRELATED|COVER|CREATE|CURRENT|DATABASE|DATASET|DATASTORE|DECLARE|DECREMENT|DELETE|DERIVED|DESC|DESCRIBE|DISTINCT|DO|DROP|EACH|ELEMENT|EXCEPT|EXCLUDE|EXECUTE|EXPLAIN|FETCH|FILTER|FLATTEN|FLUSH|FOLLOWING|FOR|FORCE|FROM|FTS|FUNCTION|GOLANG|GRANT|GROUP|GROUPS|GSI|HASH|HAVING|IF|IGNORE|ILIKE|INCLUDE|INCREMENT|INDEX|INFER|INLINE|INNER|INSERT|INTERSECT|INTO|IS|ISOLATION|JAVASCRIPT|JOIN|KEY|KEYS|KEYSPACE|KNOWN|LANGUAGE|LAST|LEFT|LET|LETTING|LEVEL|LIMIT|LSM|MAP|MAPPING|MATCHED|MATERIALIZED|MERGE|MINUS|MISSING|NAMESPACE|NEST|NL|NO|NTH_VALUE|NULL|NULLS|NUMBER|OBJECT|OFFSET|ON|OPTION|OPTIONS|ORDER|OTHERS|OUTER|OVER|PARSE|PARTITION|PASSWORD|PATH|POOL|PRECEDING|PREPARE|PRIMARY|PRIVATE|PRIVILEGE|PROBE|PROCEDURE|PUBLIC|RANGE|RAW|REALM|REDUCE|RENAME|RESPECT|RETURN|RETURNING|REVOKE|RIGHT|ROLE|ROLLBACK|ROW|ROWS|SATISFIES|SAVEPOINT|SCHEMA|SCOPE|SELECT|SELF|SEMI|SET|SHOW|SOME|START|STATISTICS|STRING|SYSTEM|TIES|TO|TRAN|TRANSACTION|TRIGGER|TRUNCATE|UNBOUNDED|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNSET|UPDATE|UPSERT|USE|USER|USING|VALIDATE|VALUE|VALUES|VIA|VIEW|WHERE|WHILE|WINDOW|WITH|WORK|XOR)\\b/i,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:FALSE|TRUE)\\b/i,\n number: /(?:\\b\\d+\\.|\\B\\.)\\d+e[+\\-]?\\d+\\b|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+\\b/i,\n operator:\n /[-+*\\/%]|!=|==?|\\|\\||<[>=]?|>=?|\\b(?:AND|ANY|ARRAY|BETWEEN|CASE|ELSE|END|EVERY|EXISTS|FIRST|IN|LIKE|NOT|OR|THEN|VALUED|WHEN|WITHIN)\\b/i,\n punctuation: /[;[\\](),.{}:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnand2tetrisHdl.displayName = 'nand2tetris-hdl'\nnand2tetrisHdl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nand2tetrisHdl(Prism) {\n Prism.languages['nand2tetris-hdl'] = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n keyword: /\\b(?:BUILTIN|CHIP|CLOCKED|IN|OUT|PARTS)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: /\\b[A-Za-z][A-Za-z0-9]*(?=\\()/,\n number: /\\b\\d+\\b/,\n operator: /=|\\.\\./,\n punctuation: /[{}[\\];(),:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnaniscript.displayName = 'naniscript'\nnaniscript.aliases = ['nani']\n\n/** @param {Refractor} Prism */\nexport default function naniscript(Prism) {\n ;(function (Prism) {\n var expressionDef = /\\{[^\\r\\n\\[\\]{}]*\\}/\n var params = {\n 'quoted-string': {\n pattern: /\"(?:[^\"\\\\]|\\\\.)*\"/,\n alias: 'operator'\n },\n 'command-param-id': {\n pattern: /(\\s)\\w+:/,\n lookbehind: true,\n alias: 'property'\n },\n 'command-param-value': [\n {\n pattern: expressionDef,\n alias: 'selector'\n },\n {\n pattern: /([\\t ])\\S+/,\n lookbehind: true,\n greedy: true,\n alias: 'operator'\n },\n {\n pattern: /\\S(?:.*\\S)?/,\n alias: 'operator'\n }\n ]\n }\n Prism.languages.naniscript = {\n // ; ...\n comment: {\n pattern: /^([\\t ]*);.*/m,\n lookbehind: true\n },\n // > ...\n // Define is a control line starting with '>' followed by a word, a space and a text.\n define: {\n pattern: /^>.+/m,\n alias: 'tag',\n inside: {\n value: {\n pattern: /(^>\\w+[\\t ]+)(?!\\s)[^{}\\r\\n]+/,\n lookbehind: true,\n alias: 'operator'\n },\n key: {\n pattern: /(^>)\\w+/,\n lookbehind: true\n }\n }\n },\n // # ...\n label: {\n pattern: /^([\\t ]*)#[\\t ]*\\w+[\\t ]*$/m,\n lookbehind: true,\n alias: 'regex'\n },\n command: {\n pattern: /^([\\t ]*)@\\w+(?=[\\t ]|$).*/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n 'command-name': /^@\\w+/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'command-params': {\n pattern: /\\s*\\S[\\s\\S]*/,\n inside: params\n }\n }\n },\n // Generic is any line that doesn't start with operators: ;>#@\n 'generic-text': {\n pattern: /(^[ \\t]*)[^#@>;\\s].*/m,\n lookbehind: true,\n alias: 'punctuation',\n inside: {\n // \\{ ... \\} ... \\[ ... \\] ... \\\"\n 'escaped-char': /\\\\[{}\\[\\]\"]/,\n expression: {\n pattern: expressionDef,\n greedy: true,\n alias: 'selector'\n },\n 'inline-command': {\n pattern: /\\[[\\t ]*\\w[^\\r\\n\\[\\]]*\\]/,\n greedy: true,\n alias: 'function',\n inside: {\n 'command-params': {\n pattern: /(^\\[[\\t ]*\\w+\\b)[\\s\\S]+(?=\\]$)/,\n lookbehind: true,\n inside: params\n },\n 'command-param-name': {\n pattern: /^(\\[[\\t ]*)\\w+/,\n lookbehind: true,\n alias: 'name'\n },\n 'start-stop-char': /[\\[\\]]/\n }\n }\n }\n }\n }\n Prism.languages.nani = Prism.languages['naniscript']\n\n /** @typedef {InstanceType<import(\"./prism-core\")[\"Token\"]>} Token */\n\n /**\n * This hook is used to validate generic-text tokens for balanced brackets.\n * Mark token as bad-line when contains not balanced brackets: {},[]\n */\n Prism.hooks.add('after-tokenize', function (env) {\n /** @type {(Token | string)[]} */\n var tokens = env.tokens\n tokens.forEach(function (token) {\n if (typeof token !== 'string' && token.type === 'generic-text') {\n var content = getTextContent(token)\n if (!isBracketsBalanced(content)) {\n token.type = 'bad-line'\n token.content = content\n }\n }\n })\n })\n\n /**\n * @param {string} input\n * @returns {boolean}\n */\n function isBracketsBalanced(input) {\n var brackets = '[]{}'\n var stack = []\n for (var i = 0; i < input.length; i++) {\n var bracket = input[i]\n var bracketsIndex = brackets.indexOf(bracket)\n if (bracketsIndex !== -1) {\n if (bracketsIndex % 2 === 0) {\n stack.push(bracketsIndex + 1)\n } else if (stack.pop() !== bracketsIndex) {\n return false\n }\n }\n }\n return stack.length === 0\n }\n\n /**\n * @param {string | Token | (string | Token)[]} token\n * @returns {string}\n */\n function getTextContent(token) {\n if (typeof token === 'string') {\n return token\n } else if (Array.isArray(token)) {\n return token.map(getTextContent).join('')\n } else {\n return getTextContent(token.content)\n }\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnasm.displayName = 'nasm'\nnasm.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nasm(Prism) {\n Prism.languages.nasm = {\n comment: /;.*$/m,\n string: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n label: {\n pattern: /(^\\s*)[A-Za-z._?$][\\w.?$@~#]*:/m,\n lookbehind: true,\n alias: 'function'\n },\n keyword: [\n /\\[?BITS (?:16|32|64)\\]?/,\n {\n pattern: /(^\\s*)section\\s*[a-z.]+:?/im,\n lookbehind: true\n },\n /(?:extern|global)[^;\\r\\n]*/i,\n /(?:CPU|DEFAULT|FLOAT).*$/m\n ],\n register: {\n pattern:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s)\\b/i,\n alias: 'variable'\n },\n number:\n /(?:\\b|(?=\\$))(?:0[hx](?:\\.[\\da-f]+|[\\da-f]+(?:\\.[\\da-f]+)?)(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-\\/%<>=&|$!]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nneon.displayName = 'neon'\nneon.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function neon(Prism) {\n Prism.languages.neon = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n datetime: {\n pattern:\n /(^|[[{(=:,\\s])\\d\\d\\d\\d-\\d\\d?-\\d\\d?(?:(?:[Tt]| +)\\d\\d?:\\d\\d:\\d\\d(?:\\.\\d*)? *(?:Z|[-+]\\d\\d?(?::?\\d\\d)?)?)?(?=$|[\\]}),\\s])/,\n lookbehind: true,\n alias: 'number'\n },\n key: {\n pattern: /(^|[[{(,\\s])[^,:=[\\]{}()'\"\\s]+(?=\\s*:(?:$|[\\]}),\\s])|\\s*=)/,\n lookbehind: true,\n alias: 'property'\n },\n number: {\n pattern:\n /(^|[[{(=:,\\s])[+-]?(?:0x[\\da-fA-F]+|0o[0-7]+|0b[01]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:[eE][+-]?\\d+)?)(?=$|[\\]}),:=\\s])/,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[[{(=:,\\s])(?:false|no|true|yes)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true\n },\n null: {\n pattern: /(^|[[{(=:,\\s])(?:null)(?=$|[\\]}),:=\\s])/i,\n lookbehind: true,\n alias: 'keyword'\n },\n string: {\n pattern:\n /(^|[[{(=:,\\s])(?:('''|\"\"\")\\r?\\n(?:(?:[^\\r\\n]|\\r?\\n(?![\\t ]*\\2))*\\r?\\n)?[\\t ]*\\2|'[^'\\r\\n]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/,\n lookbehind: true,\n greedy: true\n },\n literal: {\n pattern:\n /(^|[[{(=:,\\s])(?:[^#\"',:=[\\]{}()\\s`-]|[:-][^\"',=[\\]{}()\\s])(?:[^,:=\\]})(\\s]|:(?![\\s,\\]})]|$)|[ \\t]+[^#,:=\\]})(\\s])*/,\n lookbehind: true,\n alias: 'string'\n },\n punctuation: /[,:=[\\]{}()-]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnevod.displayName = 'nevod'\nnevod.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nevod(Prism) {\n Prism.languages.nevod = {\n comment: /\\/\\/.*|(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$))/,\n string: {\n pattern: /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))!?\\*?/,\n greedy: true,\n inside: {\n 'string-attrs': /!$|!\\*$|\\*$/\n }\n },\n namespace: {\n pattern: /(@namespace\\s+)[a-zA-Z0-9\\-.]+(?=\\s*\\{)/,\n lookbehind: true\n },\n pattern: {\n pattern:\n /(@pattern\\s+)?#?[a-zA-Z0-9\\-.]+(?:\\s*\\(\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]+\\s*(?:,\\s*(?:~\\s*)?[a-zA-Z0-9\\-.]*)*\\))?(?=\\s*=)/,\n lookbehind: true,\n inside: {\n 'pattern-name': {\n pattern: /^#?[a-zA-Z0-9\\-.]+/,\n alias: 'class-name'\n },\n fields: {\n pattern: /\\(.*\\)/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n punctuation: /[,()]/,\n operator: {\n pattern: /~/,\n alias: 'field-hidden-mark'\n }\n }\n }\n }\n },\n search: {\n pattern: /(@search\\s+|#)[a-zA-Z0-9\\-.]+(?:\\.\\*)?(?=\\s*;)/,\n alias: 'function',\n lookbehind: true\n },\n keyword:\n /@(?:having|inside|namespace|outside|pattern|require|search|where)\\b/,\n 'standard-pattern': {\n pattern:\n /\\b(?:Alpha|AlphaNum|Any|Blank|End|LineBreak|Num|NumAlpha|Punct|Space|Start|Symbol|Word|WordBreak)\\b(?:\\([a-zA-Z0-9\\-.,\\s+]*\\))?/,\n inside: {\n 'standard-pattern-name': {\n pattern: /^[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n 'standard-pattern-attr': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'builtin'\n },\n punctuation: /[,()]/\n }\n },\n quantifier: {\n pattern: /\\b\\d+(?:\\s*\\+|\\s*-\\s*\\d+)?(?!\\w)/,\n alias: 'number'\n },\n operator: [\n {\n pattern: /=/,\n alias: 'pattern-def'\n },\n {\n pattern: /&/,\n alias: 'conjunction'\n },\n {\n pattern: /~/,\n alias: 'exception'\n },\n {\n pattern: /\\?/,\n alias: 'optionality'\n },\n {\n pattern: /[[\\]]/,\n alias: 'repetition'\n },\n {\n pattern: /[{}]/,\n alias: 'variation'\n },\n {\n pattern: /[+_]/,\n alias: 'sequence'\n },\n {\n pattern: /\\.{2,3}/,\n alias: 'span'\n }\n ],\n 'field-capture': [\n {\n pattern:\n /([a-zA-Z0-9\\-.]+\\s*\\()\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+(?:\\s*,\\s*[a-zA-Z0-9\\-.]+\\s*:\\s*[a-zA-Z0-9\\-.]+)*(?=\\s*\\))/,\n lookbehind: true,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n },\n {\n pattern: /[a-zA-Z0-9\\-.]+\\s*:/,\n inside: {\n 'field-name': {\n pattern: /[a-zA-Z0-9\\-.]+/,\n alias: 'variable'\n },\n colon: /:/\n }\n }\n ],\n punctuation: /[:;,()]/,\n name: /[a-zA-Z0-9\\-.]+/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnginx.displayName = 'nginx'\nnginx.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nginx(Prism) {\n ;(function (Prism) {\n var variable =\n /\\$(?:\\w[a-z\\d]*(?:_[^\\x00-\\x1F\\s\"'\\\\()$]*)?|\\{[^}\\s\"'\\\\]+\\})/i\n Prism.languages.nginx = {\n comment: {\n pattern: /(^|[\\s{};])#.*/,\n lookbehind: true,\n greedy: true\n },\n directive: {\n pattern:\n /(^|\\s)\\w(?:[^;{}\"'\\\\\\s]|\\\\.|\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|\\s+(?:#.*(?!.)|(?![#\\s])))*?(?=\\s*[;{])/,\n lookbehind: true,\n greedy: true,\n inside: {\n string: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\\\\\)*)(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,\n lookbehind: true,\n greedy: true,\n inside: {\n escape: {\n pattern: /\\\\[\"'\\\\nrt]/,\n alias: 'entity'\n },\n variable: variable\n }\n },\n comment: {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n greedy: true\n },\n keyword: {\n pattern: /^\\S+/,\n greedy: true\n },\n // other patterns\n\n boolean: {\n pattern: /(\\s)(?:off|on)(?!\\S)/,\n lookbehind: true\n },\n number: {\n pattern: /(\\s)\\d+[a-z]*(?!\\S)/i,\n lookbehind: true\n },\n variable: variable\n }\n },\n punctuation: /[{};]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnim.displayName = 'nim'\nnim.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nim(Prism) {\n Prism.languages.nim = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n // Double-quoted strings can be prefixed by an identifier (Generalized raw string literals)\n pattern:\n /(?:\\b(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+)?(?:\"\"\"[\\s\\S]*?\"\"\"(?!\")|\"(?:\\\\[\\s\\S]|\"\"|[^\"\\\\])*\")/,\n greedy: true\n },\n char: {\n // Character literals are handled specifically to prevent issues with numeric type suffixes\n pattern: /'(?:\\\\(?:\\d+|x[\\da-fA-F]{0,2}|.)|[^'])'/,\n greedy: true\n },\n function: {\n pattern:\n /(?:(?!\\d)(?:\\w|\\\\x[89a-fA-F][0-9a-fA-F])+|`[^`\\r\\n]+`)\\*?(?:\\[[^\\]]+\\])?(?=\\s*\\()/,\n greedy: true,\n inside: {\n operator: /\\*$/\n }\n },\n // We don't want to highlight operators (and anything really) inside backticks\n identifier: {\n pattern: /`[^`\\r\\n]+`/,\n greedy: true,\n inside: {\n punctuation: /`/\n }\n },\n // The negative look ahead prevents wrong highlighting of the .. operator\n number:\n /\\b(?:0[xXoObB][\\da-fA-F_]+|\\d[\\d_]*(?:(?!\\.\\.)\\.[\\d_]*)?(?:[eE][+-]?\\d[\\d_]*)?)(?:'?[iuf]\\d*)?/,\n keyword:\n /\\b(?:addr|as|asm|atomic|bind|block|break|case|cast|concept|const|continue|converter|defer|discard|distinct|do|elif|else|end|enum|except|export|finally|for|from|func|generic|if|import|include|interface|iterator|let|macro|method|mixin|nil|object|out|proc|ptr|raise|ref|return|static|template|try|tuple|type|using|var|when|while|with|without|yield)\\b/,\n operator: {\n // Look behind and look ahead prevent wrong highlighting of punctuations [. .] {. .} (. .)\n // but allow the slice operator .. to take precedence over them\n // One can define his own operators in Nim so all combination of operators might be an operator.\n pattern:\n /(^|[({\\[](?=\\.\\.)|(?![({\\[]\\.).)(?:(?:[=+\\-*\\/<>@$~&%|!?^:\\\\]|\\.\\.|\\.(?![)}\\]]))+|\\b(?:and|div|in|is|isnot|mod|not|notin|of|or|shl|shr|xor)\\b)/m,\n lookbehind: true\n },\n punctuation: /[({\\[]\\.|\\.[)}\\]]|[`(){}\\[\\],:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnix.displayName = 'nix'\nnix.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nix(Prism) {\n Prism.languages.nix = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"|''(?:(?!'')[\\s\\S]|''(?:'|\\\\|\\$\\{))*''/,\n greedy: true,\n inside: {\n interpolation: {\n // The lookbehind ensures the ${} is not preceded by \\ or ''\n pattern: /(^|(?:^|(?!'').)[^\\\\])\\$\\{(?:[^{}]|\\{[^}]*\\})*\\}/,\n lookbehind: true,\n inside: null // see below\n }\n }\n },\n url: [\n /\\b(?:[a-z]{3,7}:\\/\\/)[\\w\\-+%~\\/.:#=?&]+/,\n {\n pattern:\n /([^\\/])(?:[\\w\\-+%~.:#=?&]*(?!\\/\\/)[\\w\\-+%~\\/.:#=?&])?(?!\\/\\/)\\/[\\w\\-+%~\\/.:#=?&]*/,\n lookbehind: true\n }\n ],\n antiquotation: {\n pattern: /\\$(?=\\{)/,\n alias: 'important'\n },\n number: /\\b\\d+\\b/,\n keyword: /\\b(?:assert|builtins|else|if|in|inherit|let|null|or|then|with)\\b/,\n function:\n /\\b(?:abort|add|all|any|attrNames|attrValues|baseNameOf|compareVersions|concatLists|currentSystem|deepSeq|derivation|dirOf|div|elem(?:At)?|fetch(?:Tarball|url)|filter(?:Source)?|fromJSON|genList|getAttr|getEnv|hasAttr|hashString|head|import|intersectAttrs|is(?:Attrs|Bool|Function|Int|List|Null|String)|length|lessThan|listToAttrs|map|mul|parseDrvName|pathExists|read(?:Dir|File)|removeAttrs|replaceStrings|seq|sort|stringLength|sub(?:string)?|tail|throw|to(?:File|JSON|Path|String|XML)|trace|typeOf)\\b|\\bfoldl'\\B/,\n boolean: /\\b(?:false|true)\\b/,\n operator: /[=!<>]=?|\\+\\+?|\\|\\||&&|\\/\\/|->?|[?@]/,\n punctuation: /[{}()[\\].,:;]/\n }\n Prism.languages.nix.string.inside.interpolation.inside = Prism.languages.nix\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nnsis.displayName = 'nsis'\nnsis.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function nsis(Prism) {\n /**\n * Original by Jan T. Sott (http://github.com/idleberg)\n *\n * Includes all commands and plug-ins shipped with NSIS 3.08\n */\n Prism.languages.nsis = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|[#;].*)/,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: {\n pattern:\n /(^[\\t ]*)(?:Abort|Add(?:BrandingImage|Size)|AdvSplash|Allow(?:RootDirInstall|SkipFiles)|AutoCloseWindow|BG(?:Font|Gradient|Image)|Banner|BrandingText|BringToFront|CRCCheck|Call(?:InstDLL)?|Caption|ChangeUI|CheckBitmap|ClearErrors|CompletedText|ComponentText|CopyFiles|Create(?:Directory|Font|ShortCut)|Delete(?:INISec|INIStr|RegKey|RegValue)?|Detail(?:Print|sButtonText)|Dialer|Dir(?:Text|Var|Verify)|EnableWindow|Enum(?:RegKey|RegValue)|Exch|Exec(?:Shell(?:Wait)?|Wait)?|ExpandEnvStrings|File(?:BufSize|Close|ErrorText|Open|Read|ReadByte|ReadUTF16LE|ReadWord|Seek|Write|WriteByte|WriteUTF16LE|WriteWord)?|Find(?:Close|First|Next|Window)|FlushINI|Get(?:CurInstType|CurrentAddress|DLLVersion(?:Local)?|DlgItem|ErrorLevel|FileTime(?:Local)?|FullPathName|Function(?:Address|End)?|InstDirError|KnownFolderPath|LabelAddress|TempFileName|WinVer)|Goto|HideWindow|Icon|If(?:Abort|Errors|FileExists|RebootFlag|RtlLanguage|ShellVarContextAll|Silent)|InitPluginsDir|InstProgressFlags|Inst(?:Type(?:GetText|SetText)?)|Install(?:ButtonText|Colors|Dir(?:RegKey)?)|Int(?:64|Ptr)?CmpU?|Int(?:64)?Fmt|Int(?:Ptr)?Op|IsWindow|Lang(?:DLL|String)|License(?:BkColor|Data|ForceSelection|LangString|Text)|LoadLanguageFile|LockWindow|Log(?:Set|Text)|Manifest(?:DPIAware|SupportedOS)|Math|MessageBox|MiscButtonText|NSISdl|Name|Nop|OutFile|PE(?:DllCharacteristics|SubsysVer)|Page(?:Callbacks)?|Pop|Push|Quit|RMDir|Read(?:EnvStr|INIStr|RegDWORD|RegStr)|Reboot|RegDLL|Rename|RequestExecutionLevel|ReserveFile|Return|SearchPath|Section(?:End|GetFlags|GetInstTypes|GetSize|GetText|Group|In|SetFlags|SetInstTypes|SetSize|SetText)?|SendMessage|Set(?:AutoClose|BrandingImage|Compress|Compressor(?:DictSize)?|CtlColors|CurInstType|DatablockOptimize|DateSave|Details(?:Print|View)|ErrorLevel|Errors|FileAttributes|Font|OutPath|Overwrite|PluginUnload|RebootFlag|RegView|ShellVarContext|Silent)|Show(?:InstDetails|UninstDetails|Window)|Silent(?:Install|UnInstall)|Sleep|SpaceTexts|Splash|StartMenu|Str(?:CmpS?|Cpy|Len)|SubCaption|System|Target|UnRegDLL|Unicode|UninstPage|Uninstall(?:ButtonText|Caption|Icon|SubCaption|Text)|UserInfo|VI(?:AddVersionKey|FileVersion|ProductVersion)|VPatch|Var|WindowIcon|Write(?:INIStr|Reg(?:Bin|DWORD|ExpandStr|MultiStr|None|Str)|Uninstaller)|XPStyle|ns(?:Dialogs|Exec))\\b/m,\n lookbehind: true\n },\n property:\n /\\b(?:ARCHIVE|FILE_(?:ATTRIBUTE_ARCHIVE|ATTRIBUTE_NORMAL|ATTRIBUTE_OFFLINE|ATTRIBUTE_READONLY|ATTRIBUTE_SYSTEM|ATTRIBUTE_TEMPORARY)|HK(?:(?:CR|CU|LM)(?:32|64)?|DD|PD|U)|HKEY_(?:CLASSES_ROOT|CURRENT_CONFIG|CURRENT_USER|DYN_DATA|LOCAL_MACHINE|PERFORMANCE_DATA|USERS)|ID(?:ABORT|CANCEL|IGNORE|NO|OK|RETRY|YES)|MB_(?:ABORTRETRYIGNORE|DEFBUTTON1|DEFBUTTON2|DEFBUTTON3|DEFBUTTON4|ICONEXCLAMATION|ICONINFORMATION|ICONQUESTION|ICONSTOP|OK|OKCANCEL|RETRYCANCEL|RIGHT|RTLREADING|SETFOREGROUND|TOPMOST|USERICON|YESNO)|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY|admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\\b/,\n constant: /\\$\\{[!\\w\\.:\\^-]+\\}|\\$\\([!\\w\\.:\\^-]+\\)/,\n variable: /\\$\\w[\\w\\.]*/,\n number: /\\b0x[\\dA-Fa-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee]-?\\d+)?/,\n operator: /--?|\\+\\+?|<=?|>=?|==?=?|&&?|\\|\\|?|[?*\\/~^%]/,\n punctuation: /[{}[\\];(),.:]/,\n important: {\n pattern:\n /(^[\\t ]*)!(?:addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversion|gettlbversion|if|ifdef|ifmacrodef|ifmacrondef|ifndef|include|insertmacro|macro|macroend|makensis|packhdr|pragma|searchparse|searchreplace|system|tempfile|undef|verbose|warning)\\b/im,\n lookbehind: true\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\nobjectivec.displayName = 'objectivec'\nobjectivec.aliases = ['objc']\n\n/** @param {Refractor} Prism */\nexport default function objectivec(Prism) {\n Prism.register(refractorC)\n Prism.languages.objectivec = Prism.languages.extend('c', {\n string: {\n pattern: /@?\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\\b/,\n operator: /-[->]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|\\|?|[~^%?*\\/@]/\n })\n delete Prism.languages.objectivec['class-name']\n Prism.languages.objc = Prism.languages.objectivec\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nocaml.displayName = 'ocaml'\nocaml.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function ocaml(Prism) {\n // https://ocaml.org/manual/lex.html\n\n Prism.languages.ocaml = {\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)/,\n greedy: true\n },\n char: {\n pattern: /'(?:[^\\\\\\r\\n']|\\\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,\n greedy: true\n },\n string: [\n {\n pattern: /\"(?:\\\\(?:[\\s\\S]|\\r\\n)|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n {\n pattern: /\\{([a-z_]*)\\|[\\s\\S]*?\\|\\1\\}/,\n greedy: true\n }\n ],\n number: [\n // binary and octal\n /\\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\\b/i,\n // hexadecimal\n /\\b0x[a-f0-9][a-f0-9_]*(?:\\.[a-f0-9_]*)?(?:p[+-]?\\d[\\d_]*)?(?!\\w)/i,\n // decimal\n /\\b\\d[\\d_]*(?:\\.[\\d_]*)?(?:e[+-]?\\d[\\d_]*)?(?!\\w)/i\n ],\n directive: {\n pattern: /\\B#\\w+/,\n alias: 'property'\n },\n label: {\n pattern: /\\B~\\w+/,\n alias: 'property'\n },\n 'type-variable': {\n pattern: /\\B'\\w+/,\n alias: 'function'\n },\n variant: {\n pattern: /`\\w+/,\n alias: 'symbol'\n },\n // For the list of keywords and operators,\n // see: http://caml.inria.fr/pub/docs/manual-ocaml/lex.html#sec84\n keyword:\n /\\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n 'operator-like-punctuation': {\n pattern: /\\[[<>|]|[>|]\\]|\\{<|>\\}/,\n alias: 'punctuation'\n },\n // Custom operators are allowed\n operator:\n /\\.[.~]|:[=>]|[=<>@^|&+\\-*\\/$%!?~][!$%&*+\\-.\\/:<=>?@^|~]*|\\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\\b/,\n punctuation: /;;|::|[(){}\\[\\].,:;#]|\\b_\\b/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nodin.displayName = 'odin'\nodin.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function odin(Prism) {\n ;(function (Prism) {\n var escapes =\n /\\\\(?:[\"'\\\\abefnrtv]|0[0-7]{2}|U[\\dA-Fa-f]{6}|u[\\dA-Fa-f]{4}|x[\\dA-Fa-f]{2})/\n Prism.languages.odin = {\n /**\n * The current implementation supports only 1 level of nesting.\n *\n * @author Michael Schmidt\n * @author edukisto\n */\n comment: [\n {\n pattern:\n /\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:\\*(?!\\/)|[^*])*(?:\\*\\/|$))*(?:\\*\\/|$)/,\n greedy: true\n },\n {\n pattern: /#![^\\n\\r]*/,\n greedy: true\n },\n {\n pattern: /\\/\\/[^\\n\\r]*/,\n greedy: true\n }\n ],\n /**\n * Should be found before strings because of '\"'\"- and '`'`-like sequences.\n */\n char: {\n pattern: /'(?:\\\\(?:.|[0Uux][0-9A-Fa-f]{1,6})|[^\\n\\r'\\\\])'/,\n greedy: true,\n inside: {\n symbol: escapes\n }\n },\n string: [\n {\n pattern: /`[^`]*`/,\n greedy: true\n },\n {\n pattern: /\"(?:\\\\.|[^\\n\\r\"\\\\])*\"/,\n greedy: true,\n inside: {\n symbol: escapes\n }\n }\n ],\n directive: {\n pattern: /#\\w+/,\n alias: 'property'\n },\n number:\n /\\b0(?:b[01_]+|d[\\d_]+|h_*(?:(?:(?:[\\dA-Fa-f]_*){8}){1,2}|(?:[\\dA-Fa-f]_*){4})|o[0-7_]+|x[\\dA-F_a-f]+|z[\\dAB_ab]+)\\b|(?:\\b\\d+(?:\\.(?!\\.)\\d*)?|\\B\\.\\d+)(?:[Ee][+-]?\\d*)?[ijk]?(?!\\w)/,\n discard: {\n pattern: /\\b_\\b/,\n alias: 'keyword'\n },\n 'procedure-definition': {\n pattern: /\\b\\w+(?=[ \\t]*(?::\\s*){2}proc\\b)/,\n alias: 'function'\n },\n keyword:\n /\\b(?:asm|auto_cast|bit_set|break|case|cast|context|continue|defer|distinct|do|dynamic|else|enum|fallthrough|for|foreign|if|import|in|map|matrix|not_in|or_else|or_return|package|proc|return|struct|switch|transmute|typeid|union|using|when|where)\\b/,\n /**\n * false, nil, true can be used as procedure names. \"_\" and keywords can't.\n */\n 'procedure-name': {\n pattern: /\\b\\w+(?=[ \\t]*\\()/,\n alias: 'function'\n },\n boolean: /\\b(?:false|nil|true)\\b/,\n 'constant-parameter-sign': {\n pattern: /\\$/,\n alias: 'important'\n },\n undefined: {\n pattern: /---/,\n alias: 'operator'\n },\n arrow: {\n pattern: /->/,\n alias: 'punctuation'\n },\n operator: /\\+\\+|--|\\.\\.[<=]?|(?:&~|[-!*+/=~]|[%&<>|]{1,2})=?|[?^]/,\n punctuation: /[(),.:;@\\[\\]{}]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorC from './c.js'\nopencl.displayName = 'opencl'\nopencl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function opencl(Prism) {\n Prism.register(refractorC)\n ;(function (Prism) {\n /* OpenCL kernel language */\n Prism.languages.opencl = Prism.languages.extend('c', {\n // Extracted from the official specs (2.0) and http://streamcomputing.eu/downloads/?opencl.lang (opencl-keywords, opencl-types) and http://sourceforge.net/tracker/?func=detail&aid=2957794&group_id=95717&atid=612384 (Words2, partly Words3)\n keyword:\n /\\b(?:(?:__)?(?:constant|global|kernel|local|private|read_only|read_write|write_only)|__attribute__|auto|(?:bool|u?(?:char|int|long|short)|half|quad)(?:2|3|4|8|16)?|break|case|complex|const|continue|(?:double|float)(?:16(?:x(?:1|2|4|8|16))?|1x(?:1|2|4|8|16)|2(?:x(?:1|2|4|8|16))?|3|4(?:x(?:1|2|4|8|16))?|8(?:x(?:1|2|4|8|16))?)?|default|do|else|enum|extern|for|goto|if|imaginary|inline|packed|pipe|register|restrict|return|signed|sizeof|static|struct|switch|typedef|uniform|union|unsigned|void|volatile|while)\\b/,\n // Extracted from http://streamcomputing.eu/downloads/?opencl.lang (opencl-const)\n // Math Constants: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/mathConstants.html\n // Macros and Limits: https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/macroLimits.html\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[fuhl]{0,4}/i,\n boolean: /\\b(?:false|true)\\b/,\n 'constant-opencl-kernel': {\n pattern:\n /\\b(?:CHAR_(?:BIT|MAX|MIN)|CLK_(?:ADDRESS_(?:CLAMP(?:_TO_EDGE)?|NONE|REPEAT)|FILTER_(?:LINEAR|NEAREST)|(?:GLOBAL|LOCAL)_MEM_FENCE|NORMALIZED_COORDS_(?:FALSE|TRUE))|CL_(?:BGRA|(?:HALF_)?FLOAT|INTENSITY|LUMINANCE|A?R?G?B?[Ax]?|(?:(?:UN)?SIGNED|[US]NORM)_(?:INT(?:8|16|32))|UNORM_(?:INT_101010|SHORT_(?:555|565)))|(?:DBL|FLT|HALF)_(?:DIG|EPSILON|(?:MAX|MIN)(?:(?:_10)?_EXP)?|MANT_DIG)|FLT_RADIX|HUGE_VALF?|(?:INT|LONG|SCHAR|SHRT)_(?:MAX|MIN)|INFINITY|MAXFLOAT|M_(?:[12]_PI|2_SQRTPI|E|LN(?:2|10)|LOG(?:2|10)E?|PI(?:_[24])?|SQRT(?:1_2|2))(?:_F|_H)?|NAN|(?:UCHAR|UINT|ULONG|USHRT)_MAX)\\b/,\n alias: 'constant'\n }\n })\n Prism.languages.insertBefore('opencl', 'class-name', {\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/scalarDataTypes.html\n // https://www.khronos.org/registry/OpenCL/sdk/2.1/docs/man/xhtml/otherDataTypes.html\n 'builtin-type': {\n pattern:\n /\\b(?:_cl_(?:command_queue|context|device_id|event|kernel|mem|platform_id|program|sampler)|cl_(?:image_format|mem_fence_flags)|clk_event_t|event_t|image(?:1d_(?:array_|buffer_)?t|2d_(?:array_(?:depth_|msaa_depth_|msaa_)?|depth_|msaa_depth_|msaa_)?t|3d_t)|intptr_t|ndrange_t|ptrdiff_t|queue_t|reserve_id_t|sampler_t|size_t|uintptr_t)\\b/,\n alias: 'keyword'\n }\n })\n var attributes = {\n // Extracted from http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-types and opencl-host)\n 'type-opencl-host': {\n pattern:\n /\\b(?:cl_(?:GLenum|GLint|GLuin|addressing_mode|bitfield|bool|buffer_create_type|build_status|channel_(?:order|type)|(?:u?(?:char|int|long|short)|double|float)(?:2|3|4|8|16)?|command_(?:queue(?:_info|_properties)?|type)|context(?:_info|_properties)?|device_(?:exec_capabilities|fp_config|id|info|local_mem_type|mem_cache_type|type)|(?:event|sampler)(?:_info)?|filter_mode|half|image_info|kernel(?:_info|_work_group_info)?|map_flags|mem(?:_flags|_info|_object_type)?|platform_(?:id|info)|profiling_info|program(?:_build_info|_info)?))\\b/,\n alias: 'keyword'\n },\n 'boolean-opencl-host': {\n pattern: /\\bCL_(?:FALSE|TRUE)\\b/,\n alias: 'boolean'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-const)\n 'constant-opencl-host': {\n pattern:\n /\\bCL_(?:A|ABGR|ADDRESS_(?:CLAMP(?:_TO_EDGE)?|MIRRORED_REPEAT|NONE|REPEAT)|ARGB|BGRA|BLOCKING|BUFFER_CREATE_TYPE_REGION|BUILD_(?:ERROR|IN_PROGRESS|NONE|PROGRAM_FAILURE|SUCCESS)|COMMAND_(?:ACQUIRE_GL_OBJECTS|BARRIER|COPY_(?:BUFFER(?:_RECT|_TO_IMAGE)?|IMAGE(?:_TO_BUFFER)?)|FILL_(?:BUFFER|IMAGE)|MAP(?:_BUFFER|_IMAGE)|MARKER|MIGRATE(?:_SVM)?_MEM_OBJECTS|NATIVE_KERNEL|NDRANGE_KERNEL|READ_(?:BUFFER(?:_RECT)?|IMAGE)|RELEASE_GL_OBJECTS|SVM_(?:FREE|MAP|MEMCPY|MEMFILL|UNMAP)|TASK|UNMAP_MEM_OBJECT|USER|WRITE_(?:BUFFER(?:_RECT)?|IMAGE))|COMPILER_NOT_AVAILABLE|COMPILE_PROGRAM_FAILURE|COMPLETE|CONTEXT_(?:DEVICES|INTEROP_USER_SYNC|NUM_DEVICES|PLATFORM|PROPERTIES|REFERENCE_COUNT)|DEPTH(?:_STENCIL)?|DEVICE_(?:ADDRESS_BITS|AFFINITY_DOMAIN_(?:L[1-4]_CACHE|NEXT_PARTITIONABLE|NUMA)|AVAILABLE|BUILT_IN_KERNELS|COMPILER_AVAILABLE|DOUBLE_FP_CONFIG|ENDIAN_LITTLE|ERROR_CORRECTION_SUPPORT|EXECUTION_CAPABILITIES|EXTENSIONS|GLOBAL_(?:MEM_(?:CACHELINE_SIZE|CACHE_SIZE|CACHE_TYPE|SIZE)|VARIABLE_PREFERRED_TOTAL_SIZE)|HOST_UNIFIED_MEMORY|IL_VERSION|IMAGE(?:2D_MAX_(?:HEIGHT|WIDTH)|3D_MAX_(?:DEPTH|HEIGHT|WIDTH)|_BASE_ADDRESS_ALIGNMENT|_MAX_ARRAY_SIZE|_MAX_BUFFER_SIZE|_PITCH_ALIGNMENT|_SUPPORT)|LINKER_AVAILABLE|LOCAL_MEM_SIZE|LOCAL_MEM_TYPE|MAX_(?:CLOCK_FREQUENCY|COMPUTE_UNITS|CONSTANT_ARGS|CONSTANT_BUFFER_SIZE|GLOBAL_VARIABLE_SIZE|MEM_ALLOC_SIZE|NUM_SUB_GROUPS|ON_DEVICE_(?:EVENTS|QUEUES)|PARAMETER_SIZE|PIPE_ARGS|READ_IMAGE_ARGS|READ_WRITE_IMAGE_ARGS|SAMPLERS|WORK_GROUP_SIZE|WORK_ITEM_DIMENSIONS|WORK_ITEM_SIZES|WRITE_IMAGE_ARGS)|MEM_BASE_ADDR_ALIGN|MIN_DATA_TYPE_ALIGN_SIZE|NAME|NATIVE_VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT)|NOT_(?:AVAILABLE|FOUND)|OPENCL_C_VERSION|PARENT_DEVICE|PARTITION_(?:AFFINITY_DOMAIN|BY_AFFINITY_DOMAIN|BY_COUNTS|BY_COUNTS_LIST_END|EQUALLY|FAILED|MAX_SUB_DEVICES|PROPERTIES|TYPE)|PIPE_MAX_(?:ACTIVE_RESERVATIONS|PACKET_SIZE)|PLATFORM|PREFERRED_(?:GLOBAL_ATOMIC_ALIGNMENT|INTEROP_USER_SYNC|LOCAL_ATOMIC_ALIGNMENT|PLATFORM_ATOMIC_ALIGNMENT|VECTOR_WIDTH_(?:CHAR|DOUBLE|FLOAT|HALF|INT|LONG|SHORT))|PRINTF_BUFFER_SIZE|PROFILE|PROFILING_TIMER_RESOLUTION|QUEUE_(?:ON_(?:DEVICE_(?:MAX_SIZE|PREFERRED_SIZE|PROPERTIES)|HOST_PROPERTIES)|PROPERTIES)|REFERENCE_COUNT|SINGLE_FP_CONFIG|SUB_GROUP_INDEPENDENT_FORWARD_PROGRESS|SVM_(?:ATOMICS|CAPABILITIES|COARSE_GRAIN_BUFFER|FINE_GRAIN_BUFFER|FINE_GRAIN_SYSTEM)|TYPE(?:_ACCELERATOR|_ALL|_CPU|_CUSTOM|_DEFAULT|_GPU)?|VENDOR(?:_ID)?|VERSION)|DRIVER_VERSION|EVENT_(?:COMMAND_(?:EXECUTION_STATUS|QUEUE|TYPE)|CONTEXT|REFERENCE_COUNT)|EXEC_(?:KERNEL|NATIVE_KERNEL|STATUS_ERROR_FOR_EVENTS_IN_WAIT_LIST)|FILTER_(?:LINEAR|NEAREST)|FLOAT|FP_(?:CORRECTLY_ROUNDED_DIVIDE_SQRT|DENORM|FMA|INF_NAN|ROUND_TO_INF|ROUND_TO_NEAREST|ROUND_TO_ZERO|SOFT_FLOAT)|GLOBAL|HALF_FLOAT|IMAGE_(?:ARRAY_SIZE|BUFFER|DEPTH|ELEMENT_SIZE|FORMAT|FORMAT_MISMATCH|FORMAT_NOT_SUPPORTED|HEIGHT|NUM_MIP_LEVELS|NUM_SAMPLES|ROW_PITCH|SLICE_PITCH|WIDTH)|INTENSITY|INVALID_(?:ARG_INDEX|ARG_SIZE|ARG_VALUE|BINARY|BUFFER_SIZE|BUILD_OPTIONS|COMMAND_QUEUE|COMPILER_OPTIONS|CONTEXT|DEVICE|DEVICE_PARTITION_COUNT|DEVICE_QUEUE|DEVICE_TYPE|EVENT|EVENT_WAIT_LIST|GLOBAL_OFFSET|GLOBAL_WORK_SIZE|GL_OBJECT|HOST_PTR|IMAGE_DESCRIPTOR|IMAGE_FORMAT_DESCRIPTOR|IMAGE_SIZE|KERNEL|KERNEL_ARGS|KERNEL_DEFINITION|KERNEL_NAME|LINKER_OPTIONS|MEM_OBJECT|MIP_LEVEL|OPERATION|PIPE_SIZE|PLATFORM|PROGRAM|PROGRAM_EXECUTABLE|PROPERTY|QUEUE_PROPERTIES|SAMPLER|VALUE|WORK_DIMENSION|WORK_GROUP_SIZE|WORK_ITEM_SIZE)|KERNEL_(?:ARG_(?:ACCESS_(?:NONE|QUALIFIER|READ_ONLY|READ_WRITE|WRITE_ONLY)|ADDRESS_(?:CONSTANT|GLOBAL|LOCAL|PRIVATE|QUALIFIER)|INFO_NOT_AVAILABLE|NAME|TYPE_(?:CONST|NAME|NONE|PIPE|QUALIFIER|RESTRICT|VOLATILE))|ATTRIBUTES|COMPILE_NUM_SUB_GROUPS|COMPILE_WORK_GROUP_SIZE|CONTEXT|EXEC_INFO_SVM_FINE_GRAIN_SYSTEM|EXEC_INFO_SVM_PTRS|FUNCTION_NAME|GLOBAL_WORK_SIZE|LOCAL_MEM_SIZE|LOCAL_SIZE_FOR_SUB_GROUP_COUNT|MAX_NUM_SUB_GROUPS|MAX_SUB_GROUP_SIZE_FOR_NDRANGE|NUM_ARGS|PREFERRED_WORK_GROUP_SIZE_MULTIPLE|PRIVATE_MEM_SIZE|PROGRAM|REFERENCE_COUNT|SUB_GROUP_COUNT_FOR_NDRANGE|WORK_GROUP_SIZE)|LINKER_NOT_AVAILABLE|LINK_PROGRAM_FAILURE|LOCAL|LUMINANCE|MAP_(?:FAILURE|READ|WRITE|WRITE_INVALIDATE_REGION)|MEM_(?:ALLOC_HOST_PTR|ASSOCIATED_MEMOBJECT|CONTEXT|COPY_HOST_PTR|COPY_OVERLAP|FLAGS|HOST_NO_ACCESS|HOST_PTR|HOST_READ_ONLY|HOST_WRITE_ONLY|KERNEL_READ_AND_WRITE|MAP_COUNT|OBJECT_(?:ALLOCATION_FAILURE|BUFFER|IMAGE1D|IMAGE1D_ARRAY|IMAGE1D_BUFFER|IMAGE2D|IMAGE2D_ARRAY|IMAGE3D|PIPE)|OFFSET|READ_ONLY|READ_WRITE|REFERENCE_COUNT|SIZE|SVM_ATOMICS|SVM_FINE_GRAIN_BUFFER|TYPE|USES_SVM_POINTER|USE_HOST_PTR|WRITE_ONLY)|MIGRATE_MEM_OBJECT_(?:CONTENT_UNDEFINED|HOST)|MISALIGNED_SUB_BUFFER_OFFSET|NONE|NON_BLOCKING|OUT_OF_(?:HOST_MEMORY|RESOURCES)|PIPE_(?:MAX_PACKETS|PACKET_SIZE)|PLATFORM_(?:EXTENSIONS|HOST_TIMER_RESOLUTION|NAME|PROFILE|VENDOR|VERSION)|PROFILING_(?:COMMAND_(?:COMPLETE|END|QUEUED|START|SUBMIT)|INFO_NOT_AVAILABLE)|PROGRAM_(?:BINARIES|BINARY_SIZES|BINARY_TYPE(?:_COMPILED_OBJECT|_EXECUTABLE|_LIBRARY|_NONE)?|BUILD_(?:GLOBAL_VARIABLE_TOTAL_SIZE|LOG|OPTIONS|STATUS)|CONTEXT|DEVICES|IL|KERNEL_NAMES|NUM_DEVICES|NUM_KERNELS|REFERENCE_COUNT|SOURCE)|QUEUED|QUEUE_(?:CONTEXT|DEVICE|DEVICE_DEFAULT|ON_DEVICE|ON_DEVICE_DEFAULT|OUT_OF_ORDER_EXEC_MODE_ENABLE|PROFILING_ENABLE|PROPERTIES|REFERENCE_COUNT|SIZE)|R|RA|READ_(?:ONLY|WRITE)_CACHE|RG|RGB|RGBA|RGBx|RGx|RUNNING|Rx|SAMPLER_(?:ADDRESSING_MODE|CONTEXT|FILTER_MODE|LOD_MAX|LOD_MIN|MIP_FILTER_MODE|NORMALIZED_COORDS|REFERENCE_COUNT)|(?:UN)?SIGNED_INT(?:8|16|32)|SNORM_INT(?:8|16)|SUBMITTED|SUCCESS|UNORM_INT(?:8|16|24|_101010|_101010_2)|UNORM_SHORT_(?:555|565)|VERSION_(?:1_0|1_1|1_2|2_0|2_1)|sBGRA|sRGB|sRGBA|sRGBx)\\b/,\n alias: 'constant'\n },\n // Extracted from cl.h (2.0) and http://streamcomputing.eu/downloads/?opencl_host.lang (opencl-host)\n 'function-opencl-host': {\n pattern:\n /\\bcl(?:BuildProgram|CloneKernel|CompileProgram|Create(?:Buffer|CommandQueue(?:WithProperties)?|Context|ContextFromType|Image|Image2D|Image3D|Kernel|KernelsInProgram|Pipe|ProgramWith(?:Binary|BuiltInKernels|IL|Source)|Sampler|SamplerWithProperties|SubBuffer|SubDevices|UserEvent)|Enqueue(?:(?:Barrier|Marker)(?:WithWaitList)?|Copy(?:Buffer(?:Rect|ToImage)?|Image(?:ToBuffer)?)|(?:Fill|Map)(?:Buffer|Image)|MigrateMemObjects|NDRangeKernel|NativeKernel|(?:Read|Write)(?:Buffer(?:Rect)?|Image)|SVM(?:Free|Map|MemFill|Memcpy|MigrateMem|Unmap)|Task|UnmapMemObject|WaitForEvents)|Finish|Flush|Get(?:CommandQueueInfo|ContextInfo|Device(?:AndHostTimer|IDs|Info)|Event(?:Profiling)?Info|ExtensionFunctionAddress(?:ForPlatform)?|HostTimer|ImageInfo|Kernel(?:ArgInfo|Info|SubGroupInfo|WorkGroupInfo)|MemObjectInfo|PipeInfo|Platform(?:IDs|Info)|Program(?:Build)?Info|SamplerInfo|SupportedImageFormats)|LinkProgram|(?:Release|Retain)(?:CommandQueue|Context|Device|Event|Kernel|MemObject|Program|Sampler)|SVM(?:Alloc|Free)|Set(?:CommandQueueProperty|DefaultDeviceCommandQueue|EventCallback|Kernel|Kernel(?:Arg(?:SVMPointer)?|ExecInfo)|MemObjectDestructorCallback|UserEventStatus)|Unload(?:Platform)?Compiler|WaitForEvents)\\b/,\n alias: 'function'\n }\n }\n\n /* OpenCL host API */\n Prism.languages.insertBefore('c', 'keyword', attributes)\n\n // C++ includes everything from the OpenCL C host API plus the classes defined in cl2.h\n if (Prism.languages.cpp) {\n // Extracted from doxygen class list http://github.khronos.org/OpenCL-CLHPP/annotated.html\n attributes['type-opencl-host-cpp'] = {\n pattern:\n /\\b(?:Buffer|BufferGL|BufferRenderGL|CommandQueue|Context|Device|DeviceCommandQueue|EnqueueArgs|Event|Image|Image1D|Image1DArray|Image1DBuffer|Image2D|Image2DArray|Image2DGL|Image3D|Image3DGL|ImageFormat|ImageGL|Kernel|KernelFunctor|LocalSpaceArg|Memory|NDRange|Pipe|Platform|Program|SVMAllocator|SVMTraitAtomic|SVMTraitCoarse|SVMTraitFine|SVMTraitReadOnly|SVMTraitReadWrite|SVMTraitWriteOnly|Sampler|UserEvent)\\b/,\n alias: 'keyword'\n }\n Prism.languages.insertBefore('cpp', 'keyword', attributes)\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nopenqasm.displayName = 'openqasm'\nopenqasm.aliases = ['qasm']\n\n/** @param {Refractor} Prism */\nexport default function openqasm(Prism) {\n // https://qiskit.github.io/openqasm/grammar/index.html\n\n Prism.languages.openqasm = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"[^\"\\r\\n\\t]*\"|'[^'\\r\\n\\t]*'/,\n greedy: true\n },\n keyword:\n /\\b(?:CX|OPENQASM|U|barrier|boxas|boxto|break|const|continue|ctrl|def|defcal|defcalgrammar|delay|else|end|for|gate|gphase|if|in|include|inv|kernel|lengthof|let|measure|pow|reset|return|rotary|stretchinf|while)\\b|#pragma\\b/,\n 'class-name':\n /\\b(?:angle|bit|bool|creg|fixed|float|int|length|qreg|qubit|stretch|uint)\\b/,\n function: /\\b(?:cos|exp|ln|popcount|rotl|rotr|sin|sqrt|tan)\\b(?=\\s*\\()/,\n constant: /\\b(?:euler|pi|tau)\\b|π|𝜏|ℇ/,\n number: {\n pattern:\n /(^|[^.\\w$])(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?(?:dt|ns|us|µs|ms|s)?/i,\n lookbehind: true\n },\n operator: /->|>>=?|<<=?|&&|\\|\\||\\+\\+|--|[!=<>&|~^+\\-*/%]=?|@/,\n punctuation: /[(){}\\[\\];,:.]/\n }\n Prism.languages.qasm = Prism.languages.openqasm\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\noz.displayName = 'oz'\noz.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function oz(Prism) {\n Prism.languages.oz = {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n greedy: true\n },\n atom: {\n pattern: /'(?:[^'\\\\]|\\\\[\\s\\S])*'/,\n greedy: true,\n alias: 'builtin'\n },\n keyword:\n /\\$|\\[\\]|\\b(?:_|at|attr|case|catch|choice|class|cond|declare|define|dis|else(?:case|if)?|end|export|fail|false|feat|finally|from|fun|functor|if|import|in|local|lock|meth|nil|not|of|or|prepare|proc|prop|raise|require|self|skip|then|thread|true|try|unit)\\b/,\n function: [\n /\\b[a-z][A-Za-z\\d]*(?=\\()/,\n {\n pattern: /(\\{)[A-Z][A-Za-z\\d]*\\b/,\n lookbehind: true\n }\n ],\n number:\n /\\b(?:0[bx][\\da-f]+|\\d+(?:\\.\\d*)?(?:e~?\\d+)?)\\b|&(?:[^\\\\]|\\\\(?:\\d{3}|.))/i,\n variable: /`(?:[^`\\\\]|\\\\.)+`/,\n 'attr-name': /\\b\\w+(?=[ \\t]*:(?![:=]))/,\n operator:\n /:(?:=|::?)|<[-:=]?|=(?:=|<?:?)|>=?:?|\\\\=:?|!!?|[|#+\\-*\\/,~^@]|\\b(?:andthen|div|mod|orelse)\\b/,\n punctuation: /[\\[\\](){}.:;?]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nparigp.displayName = 'parigp'\nparigp.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function parigp(Prism) {\n Prism.languages.parigp = {\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\\\\\\\.*/,\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n greedy: true\n },\n // PARI/GP does not care about white spaces at all\n // so let's process the keywords to build an appropriate regexp\n // (e.g. \"b *r *e *a *k\", etc.)\n keyword: (function () {\n var keywords = [\n 'breakpoint',\n 'break',\n 'dbg_down',\n 'dbg_err',\n 'dbg_up',\n 'dbg_x',\n 'forcomposite',\n 'fordiv',\n 'forell',\n 'forpart',\n 'forprime',\n 'forstep',\n 'forsubgroup',\n 'forvec',\n 'for',\n 'iferr',\n 'if',\n 'local',\n 'my',\n 'next',\n 'return',\n 'until',\n 'while'\n ]\n keywords = keywords\n .map(function (keyword) {\n return keyword.split('').join(' *')\n })\n .join('|')\n return RegExp('\\\\b(?:' + keywords + ')\\\\b')\n })(),\n function: /\\b\\w(?:[\\w ]*\\w)?(?= *\\()/,\n number: {\n // The lookbehind and the negative lookahead prevent from breaking the .. operator\n pattern:\n /((?:\\. *\\. *)?)(?:\\b\\d(?: *\\d)*(?: *(?!\\. *\\.)\\.(?: *\\d)*)?|\\. *\\d(?: *\\d)*)(?: *e *(?:[+-] *)?\\d(?: *\\d)*)?/i,\n lookbehind: true\n },\n operator:\n /\\. *\\.|[*\\/!](?: *=)?|%(?: *=|(?: *#)?(?: *')*)?|\\+(?: *[+=])?|-(?: *[-=>])?|<(?: *>|(?: *<)?(?: *=)?)?|>(?: *>)?(?: *=)?|=(?: *=){0,2}|\\\\(?: *\\/)?(?: *=)?|&(?: *&)?|\\| *\\||['#~^]/,\n punctuation: /[\\[\\]{}().,:;|]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nparser.displayName = 'parser'\nparser.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function parser(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n var parser = (Prism.languages.parser = Prism.languages.extend('markup', {\n keyword: {\n pattern:\n /(^|[^^])(?:\\^(?:case|eval|for|if|switch|throw)\\b|@(?:BASE|CLASS|GET(?:_DEFAULT)?|OPTIONS|SET_DEFAULT|USE)\\b)/,\n lookbehind: true\n },\n variable: {\n pattern: /(^|[^^])\\B\\$(?:\\w+|(?=[.{]))(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n punctuation: /\\.|:+/\n }\n },\n function: {\n pattern: /(^|[^^])\\B[@^]\\w+(?:(?:\\.|::?)\\w+)*(?:\\.|::?)?/,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /(^@)(?:GET_|SET_)/,\n lookbehind: true\n },\n punctuation: /\\.|:+/\n }\n },\n escape: {\n pattern: /\\^(?:[$^;@()\\[\\]{}\"':]|#[a-f\\d]*)/i,\n alias: 'builtin'\n },\n punctuation: /[\\[\\](){};]/\n }))\n parser = Prism.languages.insertBefore('parser', 'keyword', {\n 'parser-comment': {\n pattern: /(\\s)#.*/,\n lookbehind: true,\n alias: 'comment'\n },\n expression: {\n // Allow for 3 levels of depth\n pattern: /(^|[^^])\\((?:[^()]|\\((?:[^()]|\\((?:[^()])*\\))*\\))*\\)/,\n greedy: true,\n lookbehind: true,\n inside: {\n string: {\n pattern: /(^|[^^])([\"'])(?:(?!\\2)[^^]|\\^[\\s\\S])*\\2/,\n lookbehind: true\n },\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?)\\b/i,\n escape: parser.escape,\n operator:\n /[~+*\\/\\\\%]|!(?:\\|\\|?|=)?|&&?|\\|\\|?|==|<[<=]?|>[>=]?|-[fd]?|\\b(?:def|eq|ge|gt|in|is|le|lt|ne)\\b/,\n punctuation: parser.punctuation\n }\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n expression: parser.expression,\n keyword: parser.keyword,\n variable: parser.variable,\n function: parser.function,\n escape: parser.escape,\n 'parser-punctuation': {\n pattern: parser.punctuation,\n alias: 'punctuation'\n }\n },\n parser['tag'].inside['attr-value']\n )\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npascal.displayName = 'pascal'\npascal.aliases = ['objectpascal']\n\n/** @param {Refractor} Prism */\nexport default function pascal(Prism) {\n // Based on Free Pascal\n\n /* TODO\nSupport inline asm ?\n*/\n\n Prism.languages.pascal = {\n directive: {\n pattern: /\\{\\$[\\s\\S]*?\\}/,\n greedy: true,\n alias: ['marco', 'property']\n },\n comment: {\n pattern: /\\(\\*[\\s\\S]*?\\*\\)|\\{[\\s\\S]*?\\}|\\/\\/.*/,\n greedy: true\n },\n string: {\n pattern: /(?:'(?:''|[^'\\r\\n])*'(?!')|#[&$%]?[a-f\\d]+)+|\\^[a-z]/i,\n greedy: true\n },\n asm: {\n pattern: /(\\basm\\b)[\\s\\S]+?(?=\\bend\\s*[;[])/i,\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n keyword: [\n {\n // Turbo Pascal\n pattern:\n /(^|[^&])\\b(?:absolute|array|asm|begin|case|const|constructor|destructor|do|downto|else|end|file|for|function|goto|if|implementation|inherited|inline|interface|label|nil|object|of|operator|packed|procedure|program|record|reintroduce|repeat|self|set|string|then|to|type|unit|until|uses|var|while|with)\\b/i,\n lookbehind: true\n },\n {\n // Free Pascal\n pattern: /(^|[^&])\\b(?:dispose|exit|false|new|true)\\b/i,\n lookbehind: true\n },\n {\n // Object Pascal\n pattern:\n /(^|[^&])\\b(?:class|dispinterface|except|exports|finalization|finally|initialization|inline|library|on|out|packed|property|raise|resourcestring|threadvar|try)\\b/i,\n lookbehind: true\n },\n {\n // Modifiers\n pattern:\n /(^|[^&])\\b(?:absolute|abstract|alias|assembler|bitpacked|break|cdecl|continue|cppdecl|cvar|default|deprecated|dynamic|enumerator|experimental|export|external|far|far16|forward|generic|helper|implements|index|interrupt|iochecks|local|message|name|near|nodefault|noreturn|nostackframe|oldfpccall|otherwise|overload|override|pascal|platform|private|protected|public|published|read|register|reintroduce|result|safecall|saveregisters|softfloat|specialize|static|stdcall|stored|strict|unaligned|unimplemented|varargs|virtual|write)\\b/i,\n lookbehind: true\n }\n ],\n number: [\n // Hexadecimal, octal and binary\n /(?:[&%]\\d+|\\$[a-f\\d]+)/i,\n // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?/i\n ],\n operator: [\n /\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=]/,\n {\n pattern:\n /(^|[^&])\\b(?:and|as|div|exclude|in|include|is|mod|not|or|shl|shr|xor)\\b/,\n lookbehind: true\n }\n ],\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.]/\n }\n Prism.languages.pascal.asm.inside = Prism.languages.extend('pascal', {\n asm: undefined,\n keyword: undefined,\n operator: undefined\n })\n Prism.languages.objectpascal = Prism.languages.pascal\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npascaligo.displayName = 'pascaligo'\npascaligo.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function pascaligo(Prism) {\n ;(function (Prism) {\n // Pascaligo is a layer 2 smart contract language for the tezos blockchain\n\n var braces = /\\((?:[^()]|\\((?:[^()]|\\([^()]*\\))*\\))*\\)/.source\n var type = /(?:\\b\\w+(?:<braces>)?|<braces>)/.source.replace(\n /<braces>/g,\n function () {\n return braces\n }\n )\n var pascaligo = (Prism.languages.pascaligo = {\n comment: /\\(\\*[\\s\\S]+?\\*\\)|\\/\\/.*/,\n string: {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|\\^[a-z]/i,\n greedy: true\n },\n 'class-name': [\n {\n pattern: RegExp(\n /(\\btype\\s+\\w+\\s+is\\s+)<type>/.source.replace(\n /<type>/g,\n function () {\n return type\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n pattern: RegExp(\n /<type>(?=\\s+is\\b)/.source.replace(/<type>/g, function () {\n return type\n }),\n 'i'\n ),\n inside: null // see below\n },\n {\n pattern: RegExp(\n /(:\\s*)<type>/.source.replace(/<type>/g, function () {\n return type\n })\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n keyword: {\n pattern:\n /(^|[^&])\\b(?:begin|block|case|const|else|end|fail|for|from|function|if|is|nil|of|remove|return|skip|then|type|var|while|with)\\b/i,\n lookbehind: true\n },\n boolean: {\n pattern: /(^|[^&])\\b(?:False|True)\\b/i,\n lookbehind: true\n },\n builtin: {\n pattern: /(^|[^&])\\b(?:bool|int|list|map|nat|record|string|unit)\\b/i,\n lookbehind: true\n },\n function: /\\b\\w+(?=\\s*\\()/,\n number: [\n // Hexadecimal, octal and binary\n /%[01]+|&[0-7]+|\\$[a-f\\d]+/i,\n // Decimal\n /\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?(?:mtz|n)?/i\n ],\n operator:\n /->|=\\/=|\\.\\.|\\*\\*|:=|<[<=>]?|>[>=]?|[+\\-*\\/]=?|[@^=|]|\\b(?:and|mod|or)\\b/,\n punctuation: /\\(\\.|\\.\\)|[()\\[\\]:;,.{}]/\n })\n var classNameInside = [\n 'comment',\n 'keyword',\n 'builtin',\n 'operator',\n 'punctuation'\n ].reduce(function (accum, key) {\n accum[key] = pascaligo[key]\n return accum\n }, {})\n pascaligo['class-name'].forEach(function (p) {\n p.inside = classNameInside\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npsl.displayName = 'psl'\npsl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function psl(Prism) {\n Prism.languages.psl = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true,\n inside: {\n symbol: /\\\\[ntrbA-Z\"\\\\]/\n }\n },\n 'heredoc-string': {\n pattern: /<<<([a-zA-Z_]\\w*)[\\r\\n](?:.*[\\r\\n])*?\\1\\b/,\n alias: 'string',\n greedy: true\n },\n keyword:\n /\\b(?:__multi|__single|case|default|do|else|elsif|exit|export|for|foreach|function|if|last|line|local|next|requires|return|switch|until|while|word)\\b/,\n constant:\n /\\b(?:ALARM|CHART_ADD_GRAPH|CHART_DELETE_GRAPH|CHART_DESTROY|CHART_LOAD|CHART_PRINT|EOF|OFFLINE|OK|PSL_PROF_LOG|R_CHECK_HORIZ|R_CHECK_VERT|R_CLICKER|R_COLUMN|R_FRAME|R_ICON|R_LABEL|R_LABEL_CENTER|R_LIST_MULTIPLE|R_LIST_MULTIPLE_ND|R_LIST_SINGLE|R_LIST_SINGLE_ND|R_MENU|R_POPUP|R_POPUP_SCROLLED|R_RADIO_HORIZ|R_RADIO_VERT|R_ROW|R_SCALE_HORIZ|R_SCALE_VERT|R_SEP_HORIZ|R_SEP_VERT|R_SPINNER|R_TEXT_FIELD|R_TEXT_FIELD_LABEL|R_TOGGLE|TRIM_LEADING|TRIM_LEADING_AND_TRAILING|TRIM_REDUNDANT|TRIM_TRAILING|VOID|WARN)\\b/,\n boolean: /\\b(?:FALSE|False|NO|No|TRUE|True|YES|Yes|false|no|true|yes)\\b/,\n variable: /\\b(?:PslDebug|errno|exit_status)\\b/,\n builtin: {\n pattern:\n /\\b(?:PslExecute|PslFunctionCall|PslFunctionExists|PslSetOptions|_snmp_debug|acos|add_diary|annotate|annotate_get|ascii_to_ebcdic|asctime|asin|atan|atexit|batch_set|blackout|cat|ceil|chan_exists|change_state|close|code_cvt|cond_signal|cond_wait|console_type|convert_base|convert_date|convert_locale_date|cos|cosh|create|date|dcget_text|destroy|destroy_lock|dget_text|difference|dump_hist|ebcdic_to_ascii|encrypt|event_archive|event_catalog_get|event_check|event_query|event_range_manage|event_range_query|event_report|event_schedule|event_trigger|event_trigger2|execute|exists|exp|fabs|file|floor|fmod|fopen|fseek|ftell|full_discovery|get|get_chan_info|get_ranges|get_text|get_vars|getenv|gethostinfo|getpid|getpname|grep|history|history_get_retention|in_transition|index|int|internal|intersection|is_var|isnumber|join|kill|length|lines|lock|lock_info|log|log10|loge|matchline|msg_check|msg_get_format|msg_get_severity|msg_printf|msg_sprintf|ntharg|nthargf|nthline|nthlinef|num_bytes|num_consoles|pconfig|popen|poplines|pow|print|printf|proc_exists|process|random|read|readln|refresh_parameters|remote_check|remote_close|remote_event_query|remote_event_trigger|remote_file_send|remote_open|remove|replace|rindex|sec_check_priv|sec_store_get|sec_store_set|set|set_alarm_ranges|set_locale|share|sin|sinh|sleep|snmp_agent_config|snmp_agent_start|snmp_agent_stop|snmp_close|snmp_config|snmp_get|snmp_get_next|snmp_h_get|snmp_h_get_next|snmp_h_set|snmp_open|snmp_set|snmp_trap_ignore|snmp_trap_listen|snmp_trap_raise_std_trap|snmp_trap_receive|snmp_trap_register_im|snmp_trap_send|snmp_walk|sopen|sort|splitline|sprintf|sqrt|srandom|str_repeat|strcasecmp|subset|substr|system|tail|tan|tanh|text_domain|time|tmpnam|tolower|toupper|trace_psl_process|trim|union|unique|unlock|unset|va_arg|va_start|write)\\b/,\n alias: 'builtin-function'\n },\n 'foreach-variable': {\n pattern:\n /(\\bforeach\\s+(?:(?:\\w+\\b|\"(?:\\\\.|[^\\\\\"])*\")\\s+){0,2})[_a-zA-Z]\\w*(?=\\s*\\()/,\n lookbehind: true,\n greedy: true\n },\n function: /\\b[_a-z]\\w*\\b(?=\\s*\\()/i,\n number: /\\b(?:0x[0-9a-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator: /--|\\+\\+|&&=?|\\|\\|=?|<<=?|>>=?|[=!]~|[-+*/%&|^!=<>]=?|\\.|[:?]/,\n punctuation: /[(){}\\[\\];,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npcaxis.displayName = 'pcaxis'\npcaxis.aliases = ['px']\n\n/** @param {Refractor} Prism */\nexport default function pcaxis(Prism) {\n Prism.languages.pcaxis = {\n string: /\"[^\"]*\"/,\n keyword: {\n pattern:\n /((?:^|;)\\s*)[-A-Z\\d]+(?:\\s*\\[[-\\w]+\\])?(?:\\s*\\(\"[^\"]*\"(?:,\\s*\"[^\"]*\")*\\))?(?=\\s*=)/,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^[-A-Z\\d]+/,\n language: {\n pattern: /^(\\s*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n property: /[-\\w]+/\n }\n },\n 'sub-key': {\n pattern: /^(\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n inside: {\n parameter: {\n pattern: /\"[^\"]*\"/,\n alias: 'property'\n },\n punctuation: /^\\(|\\)$|,/\n }\n }\n }\n },\n operator: /=/,\n tlist: {\n pattern:\n /TLIST\\s*\\(\\s*\\w+(?:(?:\\s*,\\s*\"[^\"]*\")+|\\s*,\\s*\"[^\"]*\"-\"[^\"]*\")?\\s*\\)/,\n greedy: true,\n inside: {\n function: /^TLIST/,\n property: {\n pattern: /^(\\s*\\(\\s*)\\w+/,\n lookbehind: true\n },\n string: /\"[^\"]*\"/,\n punctuation: /[(),]/,\n operator: /-/\n }\n },\n punctuation: /[;,]/,\n number: {\n pattern: /(^|\\s)\\d+(?:\\.\\d+)?(?!\\S)/,\n lookbehind: true\n },\n boolean: /NO|YES/\n }\n Prism.languages.px = Prism.languages.pcaxis\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npeoplecode.displayName = 'peoplecode'\npeoplecode.aliases = ['pcode']\n\n/** @param {Refractor} Prism */\nexport default function peoplecode(Prism) {\n Prism.languages.peoplecode = {\n comment: RegExp(\n [\n // C-style multiline comments\n /\\/\\*[\\s\\S]*?\\*\\//.source,\n // REM comments\n /\\bREM[^;]*;/.source,\n // Nested <* *> comments\n /<\\*(?:[^<*]|\\*(?!>)|<(?!\\*)|<\\*(?:(?!\\*>)[\\s\\S])*\\*>)*\\*>/.source,\n // /+ +/ comments\n /\\/\\+[\\s\\S]*?\\+\\//.source\n ].join('|')\n ),\n string: {\n pattern: /'(?:''|[^'\\r\\n])*'(?!')|\"(?:\"\"|[^\"\\r\\n])*\"(?!\")/,\n greedy: true\n },\n variable: /%\\w+/,\n 'function-definition': {\n pattern: /((?:^|[^\\w-])(?:function|method)\\s+)\\w+/i,\n lookbehind: true,\n alias: 'function'\n },\n 'class-name': {\n pattern:\n /((?:^|[^-\\w])(?:as|catch|class|component|create|extends|global|implements|instance|local|of|property|returns)\\s+)\\w+(?::\\w+)*/i,\n lookbehind: true,\n inside: {\n punctuation: /:/\n }\n },\n keyword:\n /\\b(?:abstract|alias|as|catch|class|component|constant|create|declare|else|end-(?:class|evaluate|for|function|get|if|method|set|try|while)|evaluate|extends|for|function|get|global|if|implements|import|instance|library|local|method|null|of|out|peopleCode|private|program|property|protected|readonly|ref|repeat|returns?|set|step|then|throw|to|try|until|value|when(?:-other)?|while)\\b/i,\n 'operator-keyword': {\n pattern: /\\b(?:and|not|or)\\b/i,\n alias: 'operator'\n },\n function: /[_a-z]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/i,\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n operator: /<>|[<>]=?|!=|\\*\\*|[-+*/|=@]/,\n punctuation: /[:.;,()[\\]]/\n }\n Prism.languages.pcode = Prism.languages.peoplecode\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nperl.displayName = 'perl'\nperl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function perl(Prism) {\n ;(function (Prism) {\n var brackets =\n /(?:\\((?:[^()\\\\]|\\\\[\\s\\S])*\\)|\\{(?:[^{}\\\\]|\\\\[\\s\\S])*\\}|\\[(?:[^[\\]\\\\]|\\\\[\\s\\S])*\\]|<(?:[^<>\\\\]|\\\\[\\s\\S])*>)/\n .source\n Prism.languages.perl = {\n comment: [\n {\n // POD\n pattern: /(^\\s*)=\\w[\\s\\S]*?=cut.*/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\$])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // TODO Could be nice to handle Heredoc too.\n string: [\n {\n pattern: RegExp(\n /\\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // q/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n // q a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n // q(...)\n // q{...}\n // q[...]\n // q<...>\n brackets\n ].join('|') +\n ')'\n ),\n greedy: true\n },\n // \"...\", `...`\n {\n pattern: /(\"|`)(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/,\n greedy: true\n },\n // '...'\n // FIXME Multi-line single-quoted strings are not supported as they would break variables containing '\n {\n pattern: /'(?:[^'\\\\\\r\\n]|\\\\.)*'/,\n greedy: true\n }\n ],\n regex: [\n {\n pattern: RegExp(\n /\\b(?:m|qr)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // m/.../\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[\\s\\S])*\\1/.source,\n // m a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/.source,\n // m(...)\n // m{...}\n // m[...]\n // m<...>\n brackets\n ].join('|') +\n ')' +\n /[msixpodualngc]*/.source\n ),\n greedy: true\n },\n // The lookbehinds prevent -s from breaking\n {\n pattern: RegExp(\n /(^|[^-])\\b(?:s|tr|y)(?![a-zA-Z0-9])\\s*/.source +\n '(?:' +\n [\n // s/.../.../\n // eslint-disable-next-line regexp/strict\n /([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2/\n .source,\n // s a...a...a\n // eslint-disable-next-line regexp/strict\n /([a-zA-Z0-9])(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3(?:(?!\\3)[^\\\\]|\\\\[\\s\\S])*\\3/\n .source,\n // s(...)(...)\n // s{...}{...}\n // s[...][...]\n // s<...><...>\n // s(...)[...]\n brackets + /\\s*/.source + brackets\n ].join('|') +\n ')' +\n /[msixpodualngcer]*/.source\n ),\n lookbehind: true,\n greedy: true\n },\n // /.../\n // The look-ahead tries to prevent two divisions on\n // the same line from being highlighted as regex.\n // This does not support multi-line regex.\n {\n pattern:\n /\\/(?:[^\\/\\\\\\r\\n]|\\\\.)*\\/[msixpodualngc]*(?=\\s*(?:$|[\\r\\n,.;})&|\\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\\b))/,\n greedy: true\n }\n ],\n // FIXME Not sure about the handling of ::, ', and #\n variable: [\n // ${^POSTMATCH}\n /[&*$@%]\\{\\^[A-Z]+\\}/,\n // $^V\n /[&*$@%]\\^[A-Z_]/,\n // ${...}\n /[&*$@%]#?(?=\\{)/,\n // $foo\n /[&*$@%]#?(?:(?:::)*'?(?!\\d)[\\w$]+(?![\\w$]))+(?:::)*/,\n // $1\n /[&*$@%]\\d+/,\n // $_, @_, %!\n // The negative lookahead prevents from breaking the %= operator\n /(?!%=)[$@%][!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~]/\n ],\n filehandle: {\n // <>, <FOO>, _\n pattern: /<(?![<=])\\S*?>|\\b_\\b/,\n alias: 'symbol'\n },\n 'v-string': {\n // v1.2, 1.2.3\n pattern: /v\\d+(?:\\.\\d+)*|\\d+(?:\\.\\d+){2,}/,\n alias: 'string'\n },\n function: {\n pattern: /(\\bsub[ \\t]+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\\b/,\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)\\b/,\n operator:\n /-[rwxoRWXOezsfdlpSbctugkTBMAC]\\b|\\+[+=]?|-[-=>]?|\\*\\*?=?|\\/\\/?=?|=[=~>]?|~[~=]?|\\|\\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\\.(?:=|\\.\\.?)?|[\\\\?]|\\bx(?:=|\\b)|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\\b/,\n punctuation: /[{}[\\];(),:]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavadoclike from './javadoclike.js'\nimport refractorPhp from './php.js'\nphpdoc.displayName = 'phpdoc'\nphpdoc.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function phpdoc(Prism) {\n Prism.register(refractorJavadoclike)\n Prism.register(refractorPhp)\n ;(function (Prism) {\n var typeExpression = /(?:\\b[a-zA-Z]\\w*|[|\\\\[\\]])+/.source\n Prism.languages.phpdoc = Prism.languages.extend('javadoclike', {\n parameter: {\n pattern: RegExp(\n '(@(?:global|param|property(?:-read|-write)?|var)\\\\s+(?:' +\n typeExpression +\n '\\\\s+)?)\\\\$\\\\w+'\n ),\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('phpdoc', 'keyword', {\n 'class-name': [\n {\n pattern: RegExp(\n '(@(?:global|package|param|property(?:-read|-write)?|return|subpackage|throws|var)\\\\s+)' +\n typeExpression\n ),\n lookbehind: true,\n inside: {\n keyword:\n /\\b(?:array|bool|boolean|callback|double|false|float|int|integer|mixed|null|object|resource|self|string|true|void)\\b/,\n punctuation: /[|\\\\[\\]()]/\n }\n }\n ]\n })\n Prism.languages.javadoclike.addSupport('php', Prism.languages.phpdoc)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorPhp from './php.js'\nphpExtras.displayName = 'php-extras'\nphpExtras.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function phpExtras(Prism) {\n Prism.register(refractorPhp)\n Prism.languages.insertBefore('php', 'variable', {\n this: {\n pattern: /\\$this\\b/,\n alias: 'keyword'\n },\n global:\n /\\$(?:GLOBALS|HTTP_RAW_POST_DATA|_(?:COOKIE|ENV|FILES|GET|POST|REQUEST|SERVER|SESSION)|argc|argv|http_response_header|php_errormsg)\\b/,\n scope: {\n pattern: /\\b[\\w\\\\]+::/,\n inside: {\n keyword: /\\b(?:parent|self|static)\\b/,\n punctuation: /::|\\\\/\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nplantUml.displayName = 'plant-uml'\nplantUml.aliases = ['plantuml']\n\n/** @param {Refractor} Prism */\nexport default function plantUml(Prism) {\n ;(function (Prism) {\n var variable = /\\$\\w+|%[a-z]+%/\n var arrowAttr = /\\[[^[\\]]*\\]/.source\n var arrowDirection = /(?:[drlu]|do|down|le|left|ri|right|up)/.source\n var arrowBody =\n '(?:-+' +\n arrowDirection +\n '-+|\\\\.+' +\n arrowDirection +\n '\\\\.+|-+(?:' +\n arrowAttr +\n '-*)?|' +\n arrowAttr +\n '-+|\\\\.+(?:' +\n arrowAttr +\n '\\\\.*)?|' +\n arrowAttr +\n '\\\\.+)'\n var arrowLeft = /(?:<{1,2}|\\/{1,2}|\\\\{1,2}|<\\||[#*^+}xo])/.source\n var arrowRight = /(?:>{1,2}|\\/{1,2}|\\\\{1,2}|\\|>|[#*^+{xo])/.source\n var arrowPrefix = /[[?]?[ox]?/.source\n var arrowSuffix = /[ox]?[\\]?]?/.source\n var arrow =\n arrowPrefix +\n '(?:' +\n arrowBody +\n arrowRight +\n '|' +\n arrowLeft +\n arrowBody +\n '(?:' +\n arrowRight +\n ')?' +\n ')' +\n arrowSuffix\n Prism.languages['plant-uml'] = {\n comment: {\n pattern: /(^[ \\t]*)(?:'.*|\\/'[\\s\\S]*?'\\/)/m,\n lookbehind: true,\n greedy: true\n },\n preprocessor: {\n pattern: /(^[ \\t]*)!.*/m,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n variable: variable\n }\n },\n delimiter: {\n pattern: /(^[ \\t]*)@(?:end|start)uml\\b/m,\n lookbehind: true,\n greedy: true,\n alias: 'punctuation'\n },\n arrow: {\n pattern: RegExp(\n /(^|[^-.<>?|\\\\[\\]ox])/.source + arrow + /(?![-.<>?|\\\\\\]ox])/.source\n ),\n lookbehind: true,\n greedy: true,\n alias: 'operator',\n inside: {\n expression: {\n pattern: /(\\[)[^[\\]]+(?=\\])/,\n lookbehind: true,\n inside: null // see below\n },\n punctuation: /\\[(?=$|\\])|^\\]/\n }\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n text: {\n pattern: /(\\[[ \\t]*[\\r\\n]+(?![\\r\\n]))[^\\]]*(?=\\])/,\n lookbehind: true,\n greedy: true,\n alias: 'string'\n },\n keyword: [\n {\n pattern:\n /^([ \\t]*)(?:abstract\\s+class|end\\s+(?:box|fork|group|merge|note|ref|split|title)|(?:fork|split)(?:\\s+again)?|activate|actor|agent|alt|annotation|artifact|autoactivate|autonumber|backward|binary|boundary|box|break|caption|card|case|circle|class|clock|cloud|collections|component|concise|control|create|critical|database|deactivate|destroy|detach|diamond|else|elseif|end|end[hr]note|endif|endswitch|endwhile|entity|enum|file|folder|footer|frame|group|[hr]?note|header|hexagon|hide|if|interface|label|legend|loop|map|namespace|network|newpage|node|nwdiag|object|opt|package|page|par|participant|person|queue|rectangle|ref|remove|repeat|restore|return|robust|scale|set|show|skinparam|stack|start|state|stop|storage|switch|title|together|usecase|usecase\\/|while)(?=\\s|$)/m,\n lookbehind: true,\n greedy: true\n },\n /\\b(?:elseif|equals|not|while)(?=\\s*\\()/,\n /\\b(?:as|is|then)\\b/\n ],\n divider: {\n pattern: /^==.+==$/m,\n greedy: true,\n alias: 'important'\n },\n time: {\n pattern: /@(?:\\d+(?:[:/]\\d+){2}|[+-]?\\d+|:[a-z]\\w*(?:[+-]\\d+)?)\\b/i,\n greedy: true,\n alias: 'number'\n },\n color: {\n pattern: /#(?:[a-z_]+|[a-fA-F0-9]+)\\b/,\n alias: 'symbol'\n },\n variable: variable,\n punctuation: /[:,;()[\\]{}]|\\.{3}/\n }\n Prism.languages['plant-uml'].arrow.inside.expression.inside =\n Prism.languages['plant-uml']\n Prism.languages['plantuml'] = Prism.languages['plant-uml']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorSql from './sql.js'\nplsql.displayName = 'plsql'\nplsql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function plsql(Prism) {\n Prism.register(refractorSql)\n Prism.languages.plsql = Prism.languages.extend('sql', {\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|--.*/,\n greedy: true\n },\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-reserved-words-keywords.html\n keyword:\n /\\b(?:A|ACCESSIBLE|ADD|AGENT|AGGREGATE|ALL|ALTER|AND|ANY|ARRAY|AS|ASC|AT|ATTRIBUTE|AUTHID|AVG|BEGIN|BETWEEN|BFILE_BASE|BINARY|BLOB_BASE|BLOCK|BODY|BOTH|BOUND|BULK|BY|BYTE|C|CALL|CALLING|CASCADE|CASE|CHAR|CHARACTER|CHARSET|CHARSETFORM|CHARSETID|CHAR_BASE|CHECK|CLOB_BASE|CLONE|CLOSE|CLUSTER|CLUSTERS|COLAUTH|COLLECT|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPILED|COMPRESS|CONNECT|CONSTANT|CONSTRUCTOR|CONTEXT|CONTINUE|CONVERT|COUNT|CRASH|CREATE|CREDENTIAL|CURRENT|CURSOR|CUSTOMDATUM|DANGLING|DATA|DATE|DATE_BASE|DAY|DECLARE|DEFAULT|DEFINE|DELETE|DESC|DETERMINISTIC|DIRECTORY|DISTINCT|DOUBLE|DROP|DURATION|ELEMENT|ELSE|ELSIF|EMPTY|END|ESCAPE|EXCEPT|EXCEPTION|EXCEPTIONS|EXCLUSIVE|EXECUTE|EXISTS|EXIT|EXTERNAL|FETCH|FINAL|FIRST|FIXED|FLOAT|FOR|FORALL|FORCE|FROM|FUNCTION|GENERAL|GOTO|GRANT|GROUP|HASH|HAVING|HEAP|HIDDEN|HOUR|IDENTIFIED|IF|IMMEDIATE|IMMUTABLE|IN|INCLUDING|INDEX|INDEXES|INDICATOR|INDICES|INFINITE|INSERT|INSTANTIABLE|INT|INTERFACE|INTERSECT|INTERVAL|INTO|INVALIDATE|IS|ISOLATION|JAVA|LANGUAGE|LARGE|LEADING|LENGTH|LEVEL|LIBRARY|LIKE|LIKE2|LIKE4|LIKEC|LIMIT|LIMITED|LOCAL|LOCK|LONG|LOOP|MAP|MAX|MAXLEN|MEMBER|MERGE|MIN|MINUS|MINUTE|MOD|MODE|MODIFY|MONTH|MULTISET|MUTABLE|NAME|NAN|NATIONAL|NATIVE|NCHAR|NEW|NOCOMPRESS|NOCOPY|NOT|NOWAIT|NULL|NUMBER_BASE|OBJECT|OCICOLL|OCIDATE|OCIDATETIME|OCIDURATION|OCIINTERVAL|OCILOBLOCATOR|OCINUMBER|OCIRAW|OCIREF|OCIREFCURSOR|OCIROWID|OCISTRING|OCITYPE|OF|OLD|ON|ONLY|OPAQUE|OPEN|OPERATOR|OPTION|OR|ORACLE|ORADATA|ORDER|ORGANIZATION|ORLANY|ORLVARY|OTHERS|OUT|OVERLAPS|OVERRIDING|PACKAGE|PARALLEL_ENABLE|PARAMETER|PARAMETERS|PARENT|PARTITION|PASCAL|PERSISTABLE|PIPE|PIPELINED|PLUGGABLE|POLYMORPHIC|PRAGMA|PRECISION|PRIOR|PRIVATE|PROCEDURE|PUBLIC|RAISE|RANGE|RAW|READ|RECORD|REF|REFERENCE|RELIES_ON|REM|REMAINDER|RENAME|RESOURCE|RESULT|RESULT_CACHE|RETURN|RETURNING|REVERSE|REVOKE|ROLLBACK|ROW|SAMPLE|SAVE|SAVEPOINT|SB1|SB2|SB4|SECOND|SEGMENT|SELECT|SELF|SEPARATE|SEQUENCE|SERIALIZABLE|SET|SHARE|SHORT|SIZE|SIZE_T|SOME|SPARSE|SQL|SQLCODE|SQLDATA|SQLNAME|SQLSTATE|STANDARD|START|STATIC|STDDEV|STORED|STRING|STRUCT|STYLE|SUBMULTISET|SUBPARTITION|SUBSTITUTABLE|SUBTYPE|SUM|SYNONYM|TABAUTH|TABLE|TDO|THE|THEN|TIME|TIMESTAMP|TIMEZONE_ABBR|TIMEZONE_HOUR|TIMEZONE_MINUTE|TIMEZONE_REGION|TO|TRAILING|TRANSACTION|TRANSACTIONAL|TRUSTED|TYPE|UB1|UB2|UB4|UNDER|UNION|UNIQUE|UNPLUG|UNSIGNED|UNTRUSTED|UPDATE|USE|USING|VALIST|VALUE|VALUES|VARIABLE|VARIANCE|VARRAY|VARYING|VIEW|VIEWS|VOID|WHEN|WHERE|WHILE|WITH|WORK|WRAPPED|WRITE|YEAR|ZONE)\\b/i,\n // https://docs.oracle.com/en/database/oracle/oracle-database/21/lnpls/plsql-language-fundamentals.html#GUID-96A42F7C-7A71-4B90-8255-CA9C8BD9722E\n operator: /:=?|=>|[<>^~!]=|\\.\\.|\\|\\||\\*\\*|[-+*/%<>=@]/\n })\n Prism.languages.insertBefore('plsql', 'operator', {\n label: {\n pattern: /<<\\s*\\w+\\s*>>/,\n alias: 'symbol'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npowerquery.displayName = 'powerquery'\npowerquery.aliases = ['mscript', 'pq']\n\n/** @param {Refractor} Prism */\nexport default function powerquery(Prism) {\n // https://docs.microsoft.com/en-us/powerquery-m/power-query-m-language-specification\n\n Prism.languages.powerquery = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n 'quoted-identifier': {\n pattern: /#\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n string: {\n pattern: /(?:#!)?\"(?:[^\"\\r\\n]|\"\")*\"(?!\")/,\n greedy: true\n },\n constant: [\n /\\bDay\\.(?:Friday|Monday|Saturday|Sunday|Thursday|Tuesday|Wednesday)\\b/,\n /\\bTraceLevel\\.(?:Critical|Error|Information|Verbose|Warning)\\b/,\n /\\bOccurrence\\.(?:All|First|Last)\\b/,\n /\\bOrder\\.(?:Ascending|Descending)\\b/,\n /\\bRoundingMode\\.(?:AwayFromZero|Down|ToEven|TowardZero|Up)\\b/,\n /\\bMissingField\\.(?:Error|Ignore|UseNull)\\b/,\n /\\bQuoteStyle\\.(?:Csv|None)\\b/,\n /\\bJoinKind\\.(?:FullOuter|Inner|LeftAnti|LeftOuter|RightAnti|RightOuter)\\b/,\n /\\bGroupKind\\.(?:Global|Local)\\b/,\n /\\bExtraValues\\.(?:Error|Ignore|List)\\b/,\n /\\bJoinAlgorithm\\.(?:Dynamic|LeftHash|LeftIndex|PairwiseHash|RightHash|RightIndex|SortMerge)\\b/,\n /\\bJoinSide\\.(?:Left|Right)\\b/,\n /\\bPrecision\\.(?:Decimal|Double)\\b/,\n /\\bRelativePosition\\.From(?:End|Start)\\b/,\n /\\bTextEncoding\\.(?:Ascii|BigEndianUnicode|Unicode|Utf16|Utf8|Windows)\\b/,\n /\\b(?:Any|Binary|Date|DateTime|DateTimeZone|Duration|Function|Int16|Int32|Int64|Int8|List|Logical|None|Number|Record|Table|Text|Time)\\.Type\\b/,\n /\\bnull\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n keyword:\n /\\b(?:and|as|each|else|error|if|in|is|let|meta|not|nullable|optional|or|otherwise|section|shared|then|try|type)\\b|#(?:binary|date|datetime|datetimezone|duration|infinity|nan|sections|shared|table|time)\\b/,\n function: {\n pattern: /(^|[^#\\w.])[a-z_][\\w.]*(?=\\s*\\()/i,\n lookbehind: true\n },\n 'data-type': {\n pattern:\n /\\b(?:any|anynonnull|binary|date|datetime|datetimezone|duration|function|list|logical|none|number|record|table|text|time)\\b/,\n alias: 'class-name'\n },\n number: {\n pattern:\n /\\b0x[\\da-f]+\\b|(?:[+-]?(?:\\b\\d+\\.)?\\b\\d+|[+-]\\.\\d+|(^|[^.])\\B\\.\\d+)(?:e[+-]?\\d+)?\\b/i,\n lookbehind: true\n },\n operator: /[-+*\\/&?@^]|<(?:=>?|>)?|>=?|=>?|\\.\\.\\.?/,\n punctuation: /[,;\\[\\](){}]/\n }\n Prism.languages.pq = Prism.languages['powerquery']\n Prism.languages.mscript = Prism.languages['powerquery']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npowershell.displayName = 'powershell'\npowershell.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function powershell(Prism) {\n ;(function (Prism) {\n var powershell = (Prism.languages.powershell = {\n comment: [\n {\n pattern: /(^|[^`])<#[\\s\\S]*?#>/,\n lookbehind: true\n },\n {\n pattern: /(^|[^`])#.*/,\n lookbehind: true\n }\n ],\n string: [\n {\n pattern: /\"(?:`[\\s\\S]|[^`\"])*\"/,\n greedy: true,\n inside: null // see below\n },\n {\n pattern: /'(?:[^']|'')*'/,\n greedy: true\n }\n ],\n // Matches name spaces as well as casts, attribute decorators. Force starting with letter to avoid matching array indices\n // Supports two levels of nested brackets (e.g. `[OutputType([System.Collections.Generic.List[int]])]`)\n namespace: /\\[[a-z](?:\\[(?:\\[[^\\]]*\\]|[^\\[\\]])*\\]|[^\\[\\]])*\\]/i,\n boolean: /\\$(?:false|true)\\b/i,\n variable: /\\$\\w+\\b/,\n // Cmdlets and aliases. Aliases should come last, otherwise \"write\" gets preferred over \"write-host\" for example\n // Get-Command | ?{ $_.ModuleName -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n // Get-Alias | ?{ $_.ReferencedCommand.Module.Name -match \"Microsoft.PowerShell.(Util|Core|Management)\" }\n function: [\n /\\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\\b/i,\n /\\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\\b/i\n ],\n // per http://technet.microsoft.com/en-us/library/hh847744.aspx\n keyword:\n /\\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\\b/i,\n operator: {\n pattern:\n /(^|\\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\\b|-[-=]?|\\+[+=]?|[*\\/%]=?)/i,\n lookbehind: true\n },\n punctuation: /[|{}[\\];(),.]/\n })\n\n // Variable interpolation inside strings, and nested expressions\n powershell.string[0].inside = {\n function: {\n // Allow for one level of nesting\n pattern: /(^|[^`])\\$\\((?:\\$\\([^\\r\\n()]*\\)|(?!\\$\\()[^\\r\\n)])*\\)/,\n lookbehind: true,\n inside: powershell\n },\n boolean: powershell.boolean,\n variable: powershell.variable\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nprocessing.displayName = 'processing'\nprocessing.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function processing(Prism) {\n Prism.register(refractorClike)\n Prism.languages.processing = Prism.languages.extend('clike', {\n keyword:\n /\\b(?:break|case|catch|class|continue|default|else|extends|final|for|if|implements|import|new|null|private|public|return|static|super|switch|this|try|void|while)\\b/,\n // Spaces are allowed between function name and parenthesis\n function: /\\b\\w+(?=\\s*\\()/,\n operator: /<[<=]?|>[>=]?|&&?|\\|\\|?|[%?]|[!=+\\-*\\/]=?/\n })\n Prism.languages.insertBefore('processing', 'number', {\n // Special case: XML is a type\n constant: /\\b(?!XML\\b)[A-Z][A-Z\\d_]+\\b/,\n type: {\n pattern: /\\b(?:boolean|byte|char|color|double|float|int|[A-Z]\\w*)\\b/,\n alias: 'class-name'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nprolog.displayName = 'prolog'\nprolog.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function prolog(Prism) {\n Prism.languages.prolog = {\n // Syntax depends on the implementation\n comment: {\n pattern: /\\/\\*[\\s\\S]*?\\*\\/|%.*/,\n greedy: true\n },\n // Depending on the implementation, strings may allow escaped newlines and quote-escape\n string: {\n pattern: /([\"'])(?:\\1\\1|\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1(?!\\1)/,\n greedy: true\n },\n builtin: /\\b(?:fx|fy|xf[xy]?|yfx?)\\b/,\n // FIXME: Should we list all null-ary predicates (not followed by a parenthesis) like halt, trace, etc.?\n function: /\\b[a-z]\\w*(?:(?=\\()|\\/\\d+)/,\n number: /\\b\\d+(?:\\.\\d*)?/,\n // Custom operators are allowed\n operator: /[:\\\\=><\\-?*@\\/;+^|!$.]+|\\b(?:is|mod|not|xor)\\b/,\n punctuation: /[(){}\\[\\],]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npromql.displayName = 'promql'\npromql.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function promql(Prism) {\n // Thanks to: https://github.com/prometheus-community/monaco-promql/blob/master/src/promql/promql.ts\n // As well as: https://kausal.co/blog/slate-prism-add-new-syntax-promql/\n\n ;(function (Prism) {\n // PromQL Aggregation Operators\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators)\n var aggregations = [\n 'sum',\n 'min',\n 'max',\n 'avg',\n 'group',\n 'stddev',\n 'stdvar',\n 'count',\n 'count_values',\n 'bottomk',\n 'topk',\n 'quantile'\n ]\n\n // PromQL vector matching + the by and without clauses\n // (https://prometheus.io/docs/prometheus/latest/querying/operators/#vector-matching)\n var vectorMatching = [\n 'on',\n 'ignoring',\n 'group_right',\n 'group_left',\n 'by',\n 'without'\n ]\n\n // PromQL offset modifier\n // (https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier)\n var offsetModifier = ['offset']\n var keywords = aggregations.concat(vectorMatching, offsetModifier)\n Prism.languages.promql = {\n comment: {\n pattern: /(^[ \\t]*)#.*/m,\n lookbehind: true\n },\n 'vector-match': {\n // Match the comma-separated label lists inside vector matching:\n pattern: new RegExp(\n '((?:' + vectorMatching.join('|') + ')\\\\s*)\\\\([^)]*\\\\)'\n ),\n lookbehind: true,\n inside: {\n 'label-key': {\n pattern: /\\b[^,]+\\b/,\n alias: 'attr-name'\n },\n punctuation: /[(),]/\n }\n },\n 'context-labels': {\n pattern: /\\{[^{}]*\\}/,\n inside: {\n 'label-key': {\n pattern: /\\b[a-z_]\\w*(?=\\s*(?:=|![=~]))/,\n alias: 'attr-name'\n },\n 'label-value': {\n pattern: /([\"'`])(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true,\n alias: 'attr-value'\n },\n punctuation: /\\{|\\}|=~?|![=~]|,/\n }\n },\n 'context-range': [\n {\n pattern: /\\[[\\w\\s:]+\\]/,\n // [1m]\n inside: {\n punctuation: /\\[|\\]|:/,\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n },\n {\n pattern: /(\\boffset\\s+)\\w+/,\n // offset 1m\n lookbehind: true,\n inside: {\n 'range-duration': {\n pattern: /\\b(?:\\d+(?:[smhdwy]|ms))+\\b/i,\n alias: 'number'\n }\n }\n }\n ],\n keyword: new RegExp('\\\\b(?:' + keywords.join('|') + ')\\\\b', 'i'),\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n number:\n /[-+]?(?:(?:\\b\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[-+]?\\d+)?\\b|\\b(?:0x[0-9a-f]+|nan|inf)\\b)/i,\n operator: /[\\^*/%+-]|==|!=|<=|<|>=|>|\\b(?:and|or|unless)\\b/i,\n punctuation: /[{};()`,.[\\]]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nproperties.displayName = 'properties'\nproperties.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function properties(Prism) {\n Prism.languages.properties = {\n comment: /^[ \\t]*[#!].*$/m,\n value: {\n pattern:\n /(^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?: *[=:] *(?! )| ))(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n])+/m,\n lookbehind: true,\n alias: 'attr-value'\n },\n key: {\n pattern: /^[ \\t]*(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\s:=])+(?= *[=:]| )/m,\n alias: 'attr-name'\n },\n punctuation: /[=:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nprotobuf.displayName = 'protobuf'\nprotobuf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function protobuf(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var builtinTypes =\n /\\b(?:bool|bytes|double|s?fixed(?:32|64)|float|[su]?int(?:32|64)|string)\\b/\n Prism.languages.protobuf = Prism.languages.extend('clike', {\n 'class-name': [\n {\n pattern:\n /(\\b(?:enum|extend|message|service)\\s+)[A-Za-z_]\\w*(?=\\s*\\{)/,\n lookbehind: true\n },\n {\n pattern:\n /(\\b(?:rpc\\s+\\w+|returns)\\s*\\(\\s*(?:stream\\s+)?)\\.?[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*(?=\\s*\\))/,\n lookbehind: true\n }\n ],\n keyword:\n /\\b(?:enum|extend|extensions|import|message|oneof|option|optional|package|public|repeated|required|reserved|returns|rpc(?=\\s+\\w)|service|stream|syntax|to)\\b(?!\\s*=\\s*\\d)/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i\n })\n Prism.languages.insertBefore('protobuf', 'operator', {\n map: {\n pattern: /\\bmap<\\s*[\\w.]+\\s*,\\s*[\\w.]+\\s*>(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /[<>.,]/,\n builtin: builtinTypes\n }\n },\n builtin: builtinTypes,\n 'positional-class-name': {\n pattern: /(?:\\b|\\B\\.)[a-z_]\\w*(?:\\.[a-z_]\\w*)*(?=\\s+[a-z_]\\w*\\s*[=;])/i,\n alias: 'class-name',\n inside: {\n punctuation: /\\./\n }\n },\n annotation: {\n pattern: /(\\[\\s*)[a-z_]\\w*(?=\\s*=)/i,\n lookbehind: true\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nstylus.displayName = 'stylus'\nstylus.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function stylus(Prism) {\n ;(function (Prism) {\n var unit = {\n pattern: /(\\b\\d+)(?:%|[a-z]+)/,\n lookbehind: true\n }\n // 123 -123 .123 -.123 12.3 -12.3\n var number = {\n pattern: /(^|[^\\w.-])-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)/,\n lookbehind: true\n }\n var inside = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true\n },\n url: {\n pattern: /\\burl\\(([\"']?).*?\\1\\)/i,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:(?!\\1)[^\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\\1/,\n greedy: true\n },\n interpolation: null,\n // See below\n func: null,\n // See below\n important: /\\B!(?:important|optional)\\b/i,\n keyword: {\n pattern: /(^|\\s+)(?:(?:else|for|if|return|unless)(?=\\s|$)|@[\\w-]+)/,\n lookbehind: true\n },\n hexcode: /#[\\da-f]{3,6}/i,\n color: [\n /\\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\\b/i,\n {\n pattern:\n /\\b(?:hsl|rgb)\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*\\)\\B|\\b(?:hsl|rgb)a\\(\\s*\\d{1,3}\\s*,\\s*\\d{1,3}%?\\s*,\\s*\\d{1,3}%?\\s*,\\s*(?:0|0?\\.\\d+|1)\\s*\\)\\B/i,\n inside: {\n unit: unit,\n number: number,\n function: /[\\w-]+(?=\\()/,\n punctuation: /[(),]/\n }\n }\n ],\n entity: /\\\\[\\da-f]{1,8}/i,\n unit: unit,\n boolean: /\\b(?:false|true)\\b/,\n operator: [\n // We want non-word chars around \"-\" because it is\n // accepted in property names.\n /~|[+!\\/%<>?=]=?|[-:]=|\\*[*=]?|\\.{2,3}|&&|\\|\\||\\B-\\B|\\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\\b/\n ],\n number: number,\n punctuation: /[{}()\\[\\];:,]/\n }\n inside['interpolation'] = {\n pattern: /\\{[^\\r\\n}:]+\\}/,\n alias: 'variable',\n inside: {\n delimiter: {\n pattern: /^\\{|\\}$/,\n alias: 'punctuation'\n },\n rest: inside\n }\n }\n inside['func'] = {\n pattern: /[\\w-]+\\([^)]*\\).*/,\n inside: {\n function: /^[^(]+/,\n rest: inside\n }\n }\n Prism.languages.stylus = {\n 'atrule-declaration': {\n pattern: /(^[ \\t]*)@.+/m,\n lookbehind: true,\n inside: {\n atrule: /^@[\\w-]+/,\n rest: inside\n }\n },\n 'variable-declaration': {\n pattern: /(^[ \\t]*)[\\w$-]+\\s*.?=[ \\t]*(?:\\{[^{}]*\\}|\\S.*|$)/m,\n lookbehind: true,\n inside: {\n variable: /^\\S+/,\n rest: inside\n }\n },\n statement: {\n pattern: /(^[ \\t]*)(?:else|for|if|return|unless)[ \\t].+/m,\n lookbehind: true,\n inside: {\n keyword: /^\\S+/,\n rest: inside\n }\n },\n // A property/value pair cannot end with a comma or a brace\n // It cannot have indented content unless it ended with a semicolon\n 'property-declaration': {\n pattern:\n /((?:^|\\{)([ \\t]*))(?:[\\w-]|\\{[^}\\r\\n]+\\})+(?:\\s*:\\s*|[ \\t]+)(?!\\s)[^{\\r\\n]*(?:;|[^{\\r\\n,]$(?!(?:\\r?\\n|\\r)(?:\\{|\\2[ \\t])))/m,\n lookbehind: true,\n inside: {\n property: {\n pattern: /^[^\\s:]+/,\n inside: {\n interpolation: inside.interpolation\n }\n },\n rest: inside\n }\n },\n // A selector can contain parentheses only as part of a pseudo-element\n // It can span multiple lines.\n // It must end with a comma or an accolade or have indented content.\n selector: {\n pattern:\n /(^[ \\t]*)(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)(?:(?:\\r?\\n|\\r)(?:\\1(?:(?=\\S)(?:[^{}\\r\\n:()]|::?[\\w-]+(?:\\([^)\\r\\n]*\\)|(?![\\w-]))|\\{[^}\\r\\n]+\\})+)))*(?:,$|\\{|(?=(?:\\r?\\n|\\r)(?:\\{|\\1[ \\t])))/m,\n lookbehind: true,\n inside: {\n interpolation: inside.interpolation,\n comment: inside.comment,\n punctuation: /[{},]/\n }\n },\n func: inside.func,\n string: inside.string,\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*)/,\n lookbehind: true,\n greedy: true\n },\n interpolation: inside.interpolation,\n punctuation: /[{}()\\[\\];:.]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\ntwig.displayName = 'twig'\ntwig.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function twig(Prism) {\n Prism.register(refractorMarkupTemplating)\n Prism.languages.twig = {\n comment: /^\\{#[\\s\\S]*?#\\}$/,\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n }\n },\n keyword: /\\b(?:even|if|odd)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n Prism.hooks.add('before-tokenize', function (env) {\n if (env.language !== 'twig') {\n return\n }\n var pattern = /\\{(?:#[\\s\\S]*?#|%[\\s\\S]*?%|\\{[\\s\\S]*?\\})\\}/g\n Prism.languages['markup-templating'].buildPlaceholders(env, 'twig', pattern)\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'twig')\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nimport refractorMarkup from './markup.js'\npug.displayName = 'pug'\npug.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function pug(Prism) {\n Prism.register(refractorJavascript)\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n // TODO:\n // - Add CSS highlighting inside <style> tags\n // - Add support for multi-line code blocks\n // - Add support for interpolation #{} and !{}\n // - Add support for tag interpolation #[]\n // - Add explicit support for plain text using |\n // - Add support for markup embedded in plain text\n\n Prism.languages.pug = {\n // Multiline stuff should appear before the rest\n\n // This handles both single-line and multi-line comments\n comment: {\n pattern: /(^([\\t ]*))\\/\\/.*(?:(?:\\r?\\n|\\r)\\2[\\t ].+)*/m,\n lookbehind: true\n },\n // All the tag-related part is in lookbehind\n // so that it can be highlighted by the \"tag\" pattern\n 'multiline-script': {\n pattern:\n /(^([\\t ]*)script\\b.*\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n // See at the end of the file for known filters\n filter: {\n pattern:\n /(^([\\t ]*)):.+(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: /\\S[\\s\\S]*/\n }\n },\n 'multiline-plain-text': {\n pattern:\n /(^([\\t ]*)[\\w\\-#.]+\\.[\\t ]*)(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/m,\n lookbehind: true\n },\n markup: {\n pattern: /(^[\\t ]*)<.+/m,\n lookbehind: true,\n inside: Prism.languages.markup\n },\n doctype: {\n pattern: /((?:^|\\n)[\\t ]*)doctype(?: .+)?/,\n lookbehind: true\n },\n // This handle all conditional and loop keywords\n 'flow-control': {\n pattern:\n /(^[\\t ]*)(?:case|default|each|else|if|unless|when|while)\\b(?: .+)?/m,\n lookbehind: true,\n inside: {\n each: {\n pattern: /^each .+? in\\b/,\n inside: {\n keyword: /\\b(?:each|in)\\b/,\n punctuation: /,/\n }\n },\n branch: {\n pattern: /^(?:case|default|else|if|unless|when|while)\\b/,\n alias: 'keyword'\n },\n rest: Prism.languages.javascript\n }\n },\n keyword: {\n pattern: /(^[\\t ]*)(?:append|block|extends|include|prepend)\\b.+/m,\n lookbehind: true\n },\n mixin: [\n // Declaration\n {\n pattern: /(^[\\t ]*)mixin .+/m,\n lookbehind: true,\n inside: {\n keyword: /^mixin/,\n function: /\\w+(?=\\s*\\(|\\s*$)/,\n punctuation: /[(),.]/\n }\n },\n // Usage\n {\n pattern: /(^[\\t ]*)\\+.+/m,\n lookbehind: true,\n inside: {\n name: {\n pattern: /^\\+\\w+/,\n alias: 'function'\n },\n rest: Prism.languages.javascript\n }\n }\n ],\n script: {\n pattern: /(^[\\t ]*script(?:(?:&[^(]+)?\\([^)]+\\))*[\\t ]).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'plain-text': {\n pattern:\n /(^[\\t ]*(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?[\\t ]).+/m,\n lookbehind: true\n },\n tag: {\n pattern: /(^[\\t ]*)(?!-)[\\w\\-#.]*[\\w\\-](?:(?:&[^(]+)?\\([^)]+\\))*\\/?:?/m,\n lookbehind: true,\n inside: {\n attributes: [\n {\n pattern: /&[^(]+\\([^)]+\\)/,\n inside: Prism.languages.javascript\n },\n {\n pattern: /\\([^)]+\\)/,\n inside: {\n 'attr-value': {\n pattern: /(=\\s*(?!\\s))(?:\\{[^}]*\\}|[^,)\\r\\n]+)/,\n lookbehind: true,\n inside: Prism.languages.javascript\n },\n 'attr-name': /[\\w-]+(?=\\s*!?=|\\s*[,)])/,\n punctuation: /[!=(),]+/\n }\n }\n ],\n punctuation: /:/,\n 'attr-id': /#[\\w\\-]+/,\n 'attr-class': /\\.[\\w\\-]+/\n }\n },\n code: [\n {\n pattern: /(^[\\t ]*(?:-|!?=)).+/m,\n lookbehind: true,\n inside: Prism.languages.javascript\n }\n ],\n punctuation: /[.\\-!=|]+/\n }\n var filter_pattern =\n /(^([\\t ]*)):<filter_name>(?:(?:\\r?\\n|\\r(?!\\n))(?:\\2[\\t ].+|\\s*?(?=\\r?\\n|\\r)))+/\n .source\n\n // Non exhaustive list of available filters and associated languages\n var filters = [\n {\n filter: 'atpl',\n language: 'twig'\n },\n {\n filter: 'coffee',\n language: 'coffeescript'\n },\n 'ejs',\n 'handlebars',\n 'less',\n 'livescript',\n 'markdown',\n {\n filter: 'sass',\n language: 'scss'\n },\n 'stylus'\n ]\n var all_filters = {}\n for (var i = 0, l = filters.length; i < l; i++) {\n var filter = filters[i]\n filter =\n typeof filter === 'string'\n ? {\n filter: filter,\n language: filter\n }\n : filter\n if (Prism.languages[filter.language]) {\n all_filters['filter-' + filter.filter] = {\n pattern: RegExp(\n filter_pattern.replace('<filter_name>', function () {\n return filter.filter\n }),\n 'm'\n ),\n lookbehind: true,\n inside: {\n 'filter-name': {\n pattern: /^:[\\w-]+/,\n alias: 'variable'\n },\n text: {\n pattern: /\\S[\\s\\S]*/,\n alias: [filter.language, 'language-' + filter.language],\n inside: Prism.languages[filter.language]\n }\n }\n }\n }\n }\n Prism.languages.insertBefore('pug', 'filter', all_filters)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npuppet.displayName = 'puppet'\npuppet.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function puppet(Prism) {\n ;(function (Prism) {\n Prism.languages.puppet = {\n heredoc: [\n // Matches the content of a quoted heredoc string (subject to interpolation)\n {\n pattern:\n /(@\\(\"([^\"\\r\\n\\/):]+)\"(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/\n // See interpolation below\n }\n },\n // Matches the content of an unquoted heredoc string (no interpolation)\n {\n pattern:\n /(@\\(([^\"\\r\\n\\/):]+)(?:\\/[nrts$uL]*)?\\).*(?:\\r?\\n|\\r))(?:.*(?:\\r?\\n|\\r(?!\\n)))*?[ \\t]*(?:\\|[ \\t]*)?(?:-[ \\t]*)?\\2/,\n lookbehind: true,\n greedy: true,\n alias: 'string',\n inside: {\n // Matches the end tag\n punctuation: /(?=\\S).*\\S(?= *$)/\n }\n },\n // Matches the start tag of heredoc strings\n {\n pattern: /@\\(\"?(?:[^\"\\r\\n\\/):]+)\"?(?:\\/[nrts$uL]*)?\\)/,\n alias: 'string',\n inside: {\n punctuation: {\n pattern: /(\\().+?(?=\\))/,\n lookbehind: true\n }\n }\n }\n ],\n 'multiline-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n regex: {\n // Must be prefixed with the keyword \"node\" or a non-word char\n pattern:\n /((?:\\bnode\\s+|[~=\\(\\[\\{,]\\s*|[=+]>\\s*|^\\s*))\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/(?:[imx]+\\b|\\B)/,\n lookbehind: true,\n greedy: true,\n inside: {\n // Extended regexes must have the x flag. They can contain single-line comments.\n 'extended-regex': {\n pattern: /^\\/(?:[^\\/\\\\]|\\\\[\\s\\S])+\\/[im]*x[im]*$/,\n inside: {\n comment: /#.*/\n }\n }\n }\n },\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n string: {\n // Allow for one nested level of double quotes inside interpolation\n pattern:\n /([\"'])(?:\\$\\{(?:[^'\"}]|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}|\\$(?!\\{)|(?!\\1)[^\\\\$]|\\\\[\\s\\S])*\\1/,\n greedy: true,\n inside: {\n 'double-quoted': {\n pattern: /^\"[\\s\\S]*\"$/,\n inside: {\n // See interpolation below\n }\n }\n }\n },\n variable: {\n pattern: /\\$(?:::)?\\w+(?:::\\w+)*/,\n inside: {\n punctuation: /::/\n }\n },\n 'attr-name': /(?:\\b\\w+|\\*)(?=\\s*=>)/,\n function: [\n {\n pattern: /(\\.)(?!\\d)\\w+/,\n lookbehind: true\n },\n /\\b(?:contain|debug|err|fail|include|info|notice|realize|require|tag|warning)\\b|\\b(?!\\d)\\w+(?=\\()/\n ],\n number: /\\b(?:0x[a-f\\d]+|\\d+(?:\\.\\d+)?(?:e-?\\d+)?)\\b/i,\n boolean: /\\b(?:false|true)\\b/,\n // Includes words reserved for future use\n keyword:\n /\\b(?:application|attr|case|class|consumes|default|define|else|elsif|function|if|import|inherits|node|private|produces|type|undef|unless)\\b/,\n datatype: {\n pattern:\n /\\b(?:Any|Array|Boolean|Callable|Catalogentry|Class|Collection|Data|Default|Enum|Float|Hash|Integer|NotUndef|Numeric|Optional|Pattern|Regexp|Resource|Runtime|Scalar|String|Struct|Tuple|Type|Undef|Variant)\\b/,\n alias: 'symbol'\n },\n operator:\n /=[=~>]?|![=~]?|<(?:<\\|?|[=~|-])?|>[>=]?|->?|~>|\\|>?>?|[*\\/%+?]|\\b(?:and|in|or)\\b/,\n punctuation: /[\\[\\]{}().,;]|:+/\n }\n var interpolation = [\n {\n // Allow for one nested level of braces inside interpolation\n pattern:\n /(^|[^\\\\])\\$\\{(?:[^'\"{}]|\\{[^}]*\\}|([\"'])(?:(?!\\2)[^\\\\]|\\\\[\\s\\S])*\\2)+\\}/,\n lookbehind: true,\n inside: {\n 'short-variable': {\n // Negative look-ahead prevent wrong highlighting of functions\n pattern: /(^\\$\\{)(?!\\w+\\()(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n },\n delimiter: {\n pattern: /^\\$/,\n alias: 'variable'\n },\n rest: Prism.languages.puppet\n }\n },\n {\n pattern: /(^|[^\\\\])\\$(?:::)?\\w+(?:::\\w+)*/,\n lookbehind: true,\n alias: 'variable',\n inside: {\n punctuation: /::/\n }\n }\n ]\n Prism.languages.puppet['heredoc'][0].inside.interpolation = interpolation\n Prism.languages.puppet['string'].inside[\n 'double-quoted'\n ].inside.interpolation = interpolation\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npure.displayName = 'pure'\npure.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function pure(Prism) {\n ;(function (Prism) {\n // https://agraef.github.io/pure-docs/pure.html#lexical-matters\n\n Prism.languages.pure = {\n comment: [\n {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true\n },\n /#!.+/\n ],\n 'inline-lang': {\n pattern: /%<[\\s\\S]+?%>/,\n greedy: true,\n inside: {\n lang: {\n pattern: /(^%< *)-\\*-.+?-\\*-/,\n lookbehind: true,\n alias: 'comment'\n },\n delimiter: {\n pattern: /^%<.*|%>$/,\n alias: 'punctuation'\n }\n }\n },\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n number: {\n // The look-behind prevents wrong highlighting of the .. operator\n pattern:\n /((?:\\.\\.)?)(?:\\b(?:inf|nan)\\b|\\b0x[\\da-f]+|(?:\\b(?:0b)?\\d+(?:\\.\\d+)?|\\B\\.\\d+)(?:e[+-]?\\d+)?L?)/i,\n lookbehind: true\n },\n keyword:\n /\\b(?:NULL|ans|break|bt|case|catch|cd|clear|const|def|del|dump|else|end|exit|extern|false|force|help|if|infix[lr]?|interface|let|ls|mem|namespace|nonfix|of|otherwise|outfix|override|postfix|prefix|private|public|pwd|quit|run|save|show|stats|then|throw|trace|true|type|underride|using|when|with)\\b/,\n function:\n /\\b(?:abs|add_(?:addr|constdef|(?:fundef|interface|macdef|typedef)(?:_at)?|vardef)|all|any|applp?|arity|bigintp?|blob(?:_crc|_size|p)?|boolp?|byte_c?string(?:_pointer)?|byte_(?:matrix|pointer)|calloc|cat|catmap|ceil|char[ps]?|check_ptrtag|chr|clear_sentry|clearsym|closurep?|cmatrixp?|cols?|colcat(?:map)?|colmap|colrev|colvector(?:p|seq)?|complex(?:_float_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\\b/,\n special: {\n pattern: /\\b__[a-z]+__\\b/i,\n alias: 'builtin'\n },\n // Any combination of operator chars can be an operator\n // eslint-disable-next-line no-misleading-character-class\n operator:\n /(?:[!\"#$%&'*+,\\-.\\/:<=>?@\\\\^`|~\\u00a1-\\u00bf\\u00d7-\\u00f7\\u20d0-\\u2bff]|\\b_+\\b)+|\\b(?:and|div|mod|not|or)\\b/,\n // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone?\n punctuation: /[(){}\\[\\];,|]/\n }\n var inlineLanguages = [\n 'c',\n {\n lang: 'c++',\n alias: 'cpp'\n },\n 'fortran'\n ]\n var inlineLanguageRe = /%< *-\\*- *<lang>\\d* *-\\*-[\\s\\S]+?%>/.source\n inlineLanguages.forEach(function (lang) {\n var alias = lang\n if (typeof lang !== 'string') {\n alias = lang.alias\n lang = lang.lang\n }\n if (Prism.languages[alias]) {\n var o = {}\n o['inline-lang-' + alias] = {\n pattern: RegExp(\n inlineLanguageRe.replace(\n '<lang>',\n lang.replace(/([.+*?\\/\\\\(){}\\[\\]])/g, '\\\\$1')\n ),\n 'i'\n ),\n inside: Prism.util.clone(Prism.languages.pure['inline-lang'].inside)\n }\n o['inline-lang-' + alias].inside.rest = Prism.util.clone(\n Prism.languages[alias]\n )\n Prism.languages.insertBefore('pure', 'inline-lang', o)\n }\n })\n\n // C is the default inline language\n if (Prism.languages.c) {\n Prism.languages.pure['inline-lang'].inside.rest = Prism.util.clone(\n Prism.languages.c\n )\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\npurebasic.displayName = 'purebasic'\npurebasic.aliases = ['pbfasm']\n\n/** @param {Refractor} Prism */\nexport default function purebasic(Prism) {\n Prism.register(refractorClike)\n /*\nOriginal Code by Bas Groothedde\n!!MANY THANKS!! I never would have made this, regex and me will never be best friends ;)\n==> https://codepen.io/ImagineProgramming/details/JYydBy/\nslightly changed to pass all tests\n*/\n\n // PureBasic support, steal stuff from ansi-c\n Prism.languages.purebasic = Prism.languages.extend('clike', {\n comment: /;.*/,\n keyword:\n /\\b(?:align|and|as|break|calldebugger|case|compilercase|compilerdefault|compilerelse|compilerelseif|compilerendif|compilerendselect|compilererror|compilerif|compilerselect|continue|data|datasection|debug|debuglevel|declare|declarec|declarecdll|declaredll|declaremodule|default|define|dim|disableasm|disabledebugger|disableexplicit|else|elseif|enableasm|enabledebugger|enableexplicit|end|enddatasection|enddeclaremodule|endenumeration|endif|endimport|endinterface|endmacro|endmodule|endprocedure|endselect|endstructure|endstructureunion|endwith|enumeration|extends|fakereturn|for|foreach|forever|global|gosub|goto|if|import|importc|includebinary|includefile|includepath|interface|macro|module|newlist|newmap|next|not|or|procedure|procedurec|procedurecdll|proceduredll|procedurereturn|protected|prototype|prototypec|read|redim|repeat|restore|return|runtime|select|shared|static|step|structure|structureunion|swap|threaded|to|until|wend|while|with|xincludefile|xor)\\b/i,\n function: /\\b\\w+(?:\\.\\w+)?\\s*(?=\\()/,\n number: /(?:\\$[\\da-f]+|\\b-?(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e[+-]?\\d+)?)\\b/i,\n operator:\n /(?:@\\*?|\\?|\\*)\\w+\\$?|-[>-]?|\\+\\+?|!=?|<<?=?|>>?=?|==?|&&?|\\|?\\||[~^%?*/@]/\n })\n Prism.languages.insertBefore('purebasic', 'keyword', {\n tag: /#\\w+\\$?/,\n asm: {\n pattern: /(^[\\t ]*)!.*/m,\n lookbehind: true,\n alias: 'tag',\n inside: {\n comment: /;.*/,\n string: {\n pattern: /([\"'`])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n // Anonymous label references, i.e.: jmp @b\n 'label-reference-anonymous': {\n pattern: /(!\\s*j[a-z]+\\s+)@[fb]/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n // Named label reference, i.e.: jne label1\n 'label-reference-addressed': {\n pattern: /(!\\s*j[a-z]+\\s+)[A-Z._?$@][\\w.?$@~#]*/i,\n lookbehind: true,\n alias: 'fasm-label'\n },\n keyword: [\n /\\b(?:extern|global)\\b[^;\\r\\n]*/i,\n /\\b(?:CPU|DEFAULT|FLOAT)\\b.*/\n ],\n function: {\n pattern: /^([\\t ]*!\\s*)[\\da-z]+(?=\\s|$)/im,\n lookbehind: true\n },\n 'function-inline': {\n pattern: /(:\\s*)[\\da-z]+(?=\\s)/i,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n pattern: /^([\\t ]*!\\s*)[A-Za-z._?$@][\\w.?$@~#]*(?=:)/m,\n lookbehind: true,\n alias: 'fasm-label'\n },\n register:\n /\\b(?:st\\d|[xyz]mm\\d\\d?|[cdt]r\\d|r\\d\\d?[bwd]?|[er]?[abcd]x|[abcd][hl]|[er]?(?:bp|di|si|sp)|[cdefgs]s|mm\\d+)\\b/i,\n number:\n /(?:\\b|-|(?=\\$))(?:0[hx](?:[\\da-f]*\\.)?[\\da-f]+(?:p[+-]?\\d+)?|\\d[\\da-f]+[hx]|\\$\\d[\\da-f]*|0[oq][0-7]+|[0-7]+[oq]|0[by][01]+|[01]+[by]|0[dt]\\d+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:\\.?e[+-]?\\d+)?[dt]?)\\b/i,\n operator: /[\\[\\]*+\\-/%<>=&|$!,.:]/\n }\n }\n })\n delete Prism.languages.purebasic['class-name']\n delete Prism.languages.purebasic['boolean']\n Prism.languages.pbfasm = Prism.languages['purebasic']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorHaskell from './haskell.js'\npurescript.displayName = 'purescript'\npurescript.aliases = ['purs']\n\n/** @param {Refractor} Prism */\nexport default function purescript(Prism) {\n Prism.register(refractorHaskell)\n Prism.languages.purescript = Prism.languages.extend('haskell', {\n keyword:\n /\\b(?:ado|case|class|data|derive|do|else|forall|if|in|infixl|infixr|instance|let|module|newtype|of|primitive|then|type|where)\\b|∀/,\n 'import-statement': {\n // The imported or hidden names are not included in this import\n // statement. This is because we want to highlight those exactly like\n // we do for the names in the program.\n pattern:\n /(^[\\t ]*)import\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*(?:\\s+as\\s+[A-Z][\\w']*(?:\\.[A-Z][\\w']*)*)?(?:\\s+hiding\\b)?/m,\n lookbehind: true,\n inside: {\n keyword: /\\b(?:as|hiding|import)\\b/,\n punctuation: /\\./\n }\n },\n // These are builtin functions only. Constructors are highlighted later as a constant.\n builtin:\n /\\b(?:absurd|add|ap|append|apply|between|bind|bottom|clamp|compare|comparing|compose|conj|const|degree|discard|disj|div|eq|flap|flip|gcd|identity|ifM|join|lcm|liftA1|liftM1|map|max|mempty|min|mod|mul|negate|not|notEq|one|otherwise|recip|show|sub|top|unit|unless|unlessM|void|when|whenM|zero)\\b/,\n operator: [\n // Infix operators\n Prism.languages.haskell.operator[0],\n // ASCII operators\n Prism.languages.haskell.operator[2],\n // All UTF16 Unicode operator symbols\n // This regex is equivalent to /(?=[\\x80-\\uFFFF])[\\p{gc=Math_Symbol}\\p{gc=Currency_Symbol}\\p{Modifier_Symbol}\\p{Other_Symbol}]/u\n // See https://github.com/PrismJS/prism/issues/3006 for more details.\n /[\\xa2-\\xa6\\xa8\\xa9\\xac\\xae-\\xb1\\xb4\\xb8\\xd7\\xf7\\u02c2-\\u02c5\\u02d2-\\u02df\\u02e5-\\u02eb\\u02ed\\u02ef-\\u02ff\\u0375\\u0384\\u0385\\u03f6\\u0482\\u058d-\\u058f\\u0606-\\u0608\\u060b\\u060e\\u060f\\u06de\\u06e9\\u06fd\\u06fe\\u07f6\\u07fe\\u07ff\\u09f2\\u09f3\\u09fa\\u09fb\\u0af1\\u0b70\\u0bf3-\\u0bfa\\u0c7f\\u0d4f\\u0d79\\u0e3f\\u0f01-\\u0f03\\u0f13\\u0f15-\\u0f17\\u0f1a-\\u0f1f\\u0f34\\u0f36\\u0f38\\u0fbe-\\u0fc5\\u0fc7-\\u0fcc\\u0fce\\u0fcf\\u0fd5-\\u0fd8\\u109e\\u109f\\u1390-\\u1399\\u166d\\u17db\\u1940\\u19de-\\u19ff\\u1b61-\\u1b6a\\u1b74-\\u1b7c\\u1fbd\\u1fbf-\\u1fc1\\u1fcd-\\u1fcf\\u1fdd-\\u1fdf\\u1fed-\\u1fef\\u1ffd\\u1ffe\\u2044\\u2052\\u207a-\\u207c\\u208a-\\u208c\\u20a0-\\u20bf\\u2100\\u2101\\u2103-\\u2106\\u2108\\u2109\\u2114\\u2116-\\u2118\\u211e-\\u2123\\u2125\\u2127\\u2129\\u212e\\u213a\\u213b\\u2140-\\u2144\\u214a-\\u214d\\u214f\\u218a\\u218b\\u2190-\\u2307\\u230c-\\u2328\\u232b-\\u2426\\u2440-\\u244a\\u249c-\\u24e9\\u2500-\\u2767\\u2794-\\u27c4\\u27c7-\\u27e5\\u27f0-\\u2982\\u2999-\\u29d7\\u29dc-\\u29fb\\u29fe-\\u2b73\\u2b76-\\u2b95\\u2b97-\\u2bff\\u2ce5-\\u2cea\\u2e50\\u2e51\\u2e80-\\u2e99\\u2e9b-\\u2ef3\\u2f00-\\u2fd5\\u2ff0-\\u2ffb\\u3004\\u3012\\u3013\\u3020\\u3036\\u3037\\u303e\\u303f\\u309b\\u309c\\u3190\\u3191\\u3196-\\u319f\\u31c0-\\u31e3\\u3200-\\u321e\\u322a-\\u3247\\u3250\\u3260-\\u327f\\u328a-\\u32b0\\u32c0-\\u33ff\\u4dc0-\\u4dff\\ua490-\\ua4c6\\ua700-\\ua716\\ua720\\ua721\\ua789\\ua78a\\ua828-\\ua82b\\ua836-\\ua839\\uaa77-\\uaa79\\uab5b\\uab6a\\uab6b\\ufb29\\ufbb2-\\ufbc1\\ufdfc\\ufdfd\\ufe62\\ufe64-\\ufe66\\ufe69\\uff04\\uff0b\\uff1c-\\uff1e\\uff3e\\uff40\\uff5c\\uff5e\\uffe0-\\uffe6\\uffe8-\\uffee\\ufffc\\ufffd]/\n ]\n })\n Prism.languages.purs = Prism.languages.purescript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\npython.displayName = 'python'\npython.aliases = ['py']\n\n/** @param {Refractor} Prism */\nexport default function python(Prism) {\n Prism.languages.python = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true,\n greedy: true\n },\n 'string-interpolation': {\n pattern:\n /(?:f|fr|rf)(?:(\"\"\"|''')[\\s\\S]*?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\\\r\\n])*\\2)/i,\n greedy: true,\n inside: {\n interpolation: {\n // \"{\" <expression> <optional \"!s\", \"!r\", or \"!a\"> <optional \":\" format specifier> \"}\"\n pattern:\n /((?:^|[^{])(?:\\{\\{)*)\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}]|\\{(?!\\{)(?:[^{}])+\\})+\\})+\\}/,\n lookbehind: true,\n inside: {\n 'format-spec': {\n pattern: /(:)[^:(){}]+(?=\\}$)/,\n lookbehind: true\n },\n 'conversion-option': {\n pattern: /![sra](?=[:}]$)/,\n alias: 'punctuation'\n },\n rest: null\n }\n },\n string: /[\\s\\S]+/\n }\n },\n 'triple-quoted-string': {\n pattern: /(?:[rub]|br|rb)?(\"\"\"|''')[\\s\\S]*?\\1/i,\n greedy: true,\n alias: 'string'\n },\n string: {\n pattern: /(?:[rub]|br|rb)?(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/i,\n greedy: true\n },\n function: {\n pattern: /((?:^|\\s)def[ \\t]+)[a-zA-Z_]\\w*(?=\\s*\\()/g,\n lookbehind: true\n },\n 'class-name': {\n pattern: /(\\bclass\\s+)\\w+/i,\n lookbehind: true\n },\n decorator: {\n pattern: /(^[\\t ]*)@\\w+(?:\\.\\w+)*/m,\n lookbehind: true,\n alias: ['annotation', 'punctuation'],\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:_(?=\\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\\b/,\n builtin:\n /\\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\\b/,\n boolean: /\\b(?:False|None|True)\\b/,\n number:\n /\\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\\b|(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:e[+-]?\\d+(?:_\\d+)*)?j?(?!\\w)/i,\n operator: /[-+%=]=?|!=|:=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.python['string-interpolation'].inside[\n 'interpolation'\n ].inside.rest = Prism.languages.python\n Prism.languages.py = Prism.languages.python\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nqsharp.displayName = 'qsharp'\nqsharp.aliases = ['qs']\n\n/** @param {Refractor} Prism */\nexport default function qsharp(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n /**\n * Replaces all placeholders \"<<n>>\" of given pattern with the n-th replacement (zero based).\n *\n * Note: This is a simple text based replacement. Be careful when using backreferences!\n *\n * @param {string} pattern the given pattern.\n * @param {string[]} replacements a list of replacement which can be inserted into the given pattern.\n * @returns {string} the pattern with all placeholders replaced with their corresponding replacements.\n * @example replace(/a<<0>>a/.source, [/b+/.source]) === /a(?:b+)a/.source\n */\n function replace(pattern, replacements) {\n return pattern.replace(/<<(\\d+)>>/g, function (m, index) {\n return '(?:' + replacements[+index] + ')'\n })\n }\n /**\n * @param {string} pattern\n * @param {string[]} replacements\n * @param {string} [flags]\n * @returns {RegExp}\n */\n function re(pattern, replacements, flags) {\n return RegExp(replace(pattern, replacements), flags || '')\n }\n\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<<self>>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern.replace(/<<self>>/g, '[^\\\\s\\\\S]')\n }\n\n // https://docs.microsoft.com/en-us/azure/quantum/user-guide/language/typesystem/\n // https://github.com/microsoft/qsharp-language/tree/main/Specifications/Language/5_Grammar\n var keywordKinds = {\n // keywords which represent a return or variable type\n type: 'Adj BigInt Bool Ctl Double false Int One Pauli PauliI PauliX PauliY PauliZ Qubit Range Result String true Unit Zero',\n // all other keywords\n other:\n 'Adjoint adjoint apply as auto body borrow borrowing Controlled controlled distribute elif else fail fixup for function if in internal intrinsic invert is let mutable namespace new newtype open operation repeat return self set until use using while within'\n }\n // keywords\n function keywordsToPattern(words) {\n return '\\\\b(?:' + words.trim().replace(/ /g, '|') + ')\\\\b'\n }\n var keywords = RegExp(\n keywordsToPattern(keywordKinds.type + ' ' + keywordKinds.other)\n )\n\n // types\n var identifier = /\\b[A-Za-z_]\\w*\\b/.source\n var qualifiedName = replace(/<<0>>(?:\\s*\\.\\s*<<0>>)*/.source, [identifier])\n var typeInside = {\n keyword: keywords,\n punctuation: /[<>()?,.:[\\]]/\n }\n\n // strings\n var regularString = /\"(?:\\\\.|[^\\\\\"])*\"/.source\n Prism.languages.qsharp = Prism.languages.extend('clike', {\n comment: /\\/\\/.*/,\n string: [\n {\n pattern: re(/(^|[^$\\\\])<<0>>/.source, [regularString]),\n lookbehind: true,\n greedy: true\n }\n ],\n 'class-name': [\n {\n // open Microsoft.Quantum.Canon;\n // open Microsoft.Quantum.Canon as CN;\n pattern: re(/(\\b(?:as|open)\\s+)<<0>>(?=\\s*(?:;|as\\b))/.source, [\n qualifiedName\n ]),\n lookbehind: true,\n inside: typeInside\n },\n {\n // namespace Quantum.App1;\n pattern: re(/(\\bnamespace\\s+)<<0>>(?=\\s*\\{)/.source, [qualifiedName]),\n lookbehind: true,\n inside: typeInside\n }\n ],\n keyword: keywords,\n number:\n /(?:\\b0(?:x[\\da-f]+|b[01]+|o[0-7]+)|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d*)?)(?:e[-+]?\\d+)?)l?\\b/i,\n operator:\n /\\band=|\\bor=|\\band\\b|\\bnot\\b|\\bor\\b|<[-=]|[-=]>|>>>=?|<<<=?|\\^\\^\\^=?|\\|\\|\\|=?|&&&=?|w\\/=?|~~~|[*\\/+\\-^=!%]=?/,\n punctuation: /::|[{}[\\];(),.:]/\n })\n Prism.languages.insertBefore('qsharp', 'number', {\n range: {\n pattern: /\\.\\./,\n alias: 'operator'\n }\n })\n\n // single line\n var interpolationExpr = nested(\n replace(/\\{(?:[^\"{}]|<<0>>|<<self>>)*\\}/.source, [regularString]),\n 2\n )\n Prism.languages.insertBefore('qsharp', 'string', {\n 'interpolation-string': {\n pattern: re(/\\$\"(?:\\\\.|<<0>>|[^\\\\\"{])*\"/.source, [interpolationExpr]),\n greedy: true,\n inside: {\n interpolation: {\n pattern: re(/((?:^|[^\\\\])(?:\\\\\\\\)*)<<0>>/.source, [\n interpolationExpr\n ]),\n lookbehind: true,\n inside: {\n punctuation: /^\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n alias: 'language-qsharp',\n inside: Prism.languages.qsharp\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n })(Prism)\n Prism.languages.qs = Prism.languages.qsharp\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nq.displayName = 'q'\nq.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function q(Prism) {\n Prism.languages.q = {\n string: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n comment: [\n // From http://code.kx.com/wiki/Reference/Slash:\n // When / is following a space (or a right parenthesis, bracket, or brace), it is ignored with the rest of the line.\n {\n pattern: /([\\t )\\]}])\\/.*/,\n lookbehind: true,\n greedy: true\n },\n // From http://code.kx.com/wiki/Reference/Slash:\n // A line which has / as its first character and contains at least one other non-whitespace character is a whole-line comment and is ignored entirely.\n // A / on a line by itself begins a multiline comment which is terminated by the next \\ on a line by itself.\n // If a / is not matched by a \\, the multiline comment is unterminated and continues to end of file.\n // The / and \\ must be the first char on the line, but may be followed by any amount of whitespace.\n {\n pattern:\n /(^|\\r?\\n|\\r)\\/[\\t ]*(?:(?:\\r?\\n|\\r)(?:.*(?:\\r?\\n|\\r(?!\\n)))*?(?:\\\\(?=[\\t ]*(?:\\r?\\n|\\r))|$)|\\S.*)/,\n lookbehind: true,\n greedy: true\n },\n // From http://code.kx.com/wiki/Reference/Slash:\n // A \\ on a line by itself with no preceding matching / will comment to end of file.\n {\n pattern: /^\\\\[\\t ]*(?:\\r?\\n|\\r)[\\s\\S]+/m,\n greedy: true\n },\n {\n pattern: /^#!.+/m,\n greedy: true\n }\n ],\n symbol: /`(?::\\S+|[\\w.]*)/,\n datetime: {\n pattern:\n /0N[mdzuvt]|0W[dtz]|\\d{4}\\.\\d\\d(?:m|\\.\\d\\d(?:T(?:\\d\\d(?::\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?)?)?)?[dz]?)|\\d\\d:\\d\\d(?::\\d\\d(?:[.:]\\d\\d\\d)?)?[uvt]?/,\n alias: 'number'\n },\n // The negative look-ahead prevents bad highlighting\n // of verbs 0: and 1:\n number:\n /\\b(?![01]:)(?:0N[hje]?|0W[hj]?|0[wn]|0x[\\da-fA-F]+|\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?[hjfeb]?)/,\n keyword:\n /\\\\\\w+\\b|\\b(?:abs|acos|aj0?|all|and|any|asc|asin|asof|atan|attr|avgs?|binr?|by|ceiling|cols|cor|cos|count|cov|cross|csv|cut|delete|deltas|desc|dev|differ|distinct|div|do|dsave|ej|enlist|eval|except|exec|exit|exp|fby|fills|first|fkeys|flip|floor|from|get|getenv|group|gtime|hclose|hcount|hdel|hopen|hsym|iasc|identity|idesc|if|ij|in|insert|inter|inv|keys?|last|like|list|ljf?|load|log|lower|lsq|ltime|ltrim|mavg|maxs?|mcount|md5|mdev|med|meta|mins?|mmax|mmin|mmu|mod|msum|neg|next|not|null|or|over|parse|peach|pj|plist|prds?|prev|prior|rand|rank|ratios|raze|read0|read1|reciprocal|reval|reverse|rload|rotate|rsave|rtrim|save|scan|scov|sdev|select|set|setenv|show|signum|sin|sqrt|ssr?|string|sublist|sums?|sv|svar|system|tables|tan|til|trim|txf|type|uj|ungroup|union|update|upper|upsert|value|var|views?|vs|wavg|where|while|within|wj1?|wsum|ww|xasc|xbar|xcols?|xdesc|xexp|xgroup|xkey|xlog|xprev|xrank)\\b/,\n adverb: {\n pattern: /['\\/\\\\]:?|\\beach\\b/,\n alias: 'function'\n },\n verb: {\n pattern: /(?:\\B\\.\\B|\\b[01]:|<[=>]?|>=?|[:+\\-*%,!?~=|$&#@^]):?|\\b_\\b:?/,\n alias: 'operator'\n },\n punctuation: /[(){}\\[\\];.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nqml.displayName = 'qml'\nqml.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function qml(Prism) {\n Prism.register(refractorJavascript)\n ;(function (Prism) {\n var jsString = /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|'(?:\\\\.|[^\\\\'\\r\\n])*'/.source\n var jsComment = /\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\//.source\n var jsExpr =\n /(?:[^\\\\()[\\]{}\"'/]|<string>|\\/(?![*/])|<comment>|\\(<expr>*\\)|\\[<expr>*\\]|\\{<expr>*\\}|\\\\[\\s\\S])/.source\n .replace(/<string>/g, function () {\n return jsString\n })\n .replace(/<comment>/g, function () {\n return jsComment\n })\n\n // the pattern will blow up, so only a few iterations\n for (var i = 0; i < 2; i++) {\n jsExpr = jsExpr.replace(/<expr>/g, function () {\n return jsExpr\n })\n }\n jsExpr = jsExpr.replace(/<expr>/g, '[^\\\\s\\\\S]')\n Prism.languages.qml = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n 'javascript-function': {\n pattern: RegExp(\n /((?:^|;)[ \\t]*)function\\s+(?!\\s)[_$a-zA-Z\\xA0-\\uFFFF](?:(?!\\s)[$\\w\\xA0-\\uFFFF])*\\s*\\(<js>*\\)\\s*\\{<js>*\\}/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n 'class-name': {\n pattern: /((?:^|[:;])[ \\t]*)(?!\\d)\\w+(?=[ \\t]*\\{|[ \\t]+on\\b)/m,\n lookbehind: true\n },\n property: [\n {\n pattern: /((?:^|[;{])[ \\t]*)(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true\n },\n {\n pattern:\n /((?:^|[;{])[ \\t]*)property[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*[ \\t]+(?!\\d)\\w+(?:\\.\\w+)*(?=[ \\t]*:)/m,\n lookbehind: true,\n inside: {\n keyword: /^property/,\n property: /\\w+(?:\\.\\w+)*/\n }\n }\n ],\n 'javascript-expression': {\n pattern: RegExp(\n /(:[ \\t]*)(?![\\s;}[])(?:(?!$|[;}])<js>)+/.source.replace(\n /<js>/g,\n function () {\n return jsExpr\n }\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'language-javascript',\n inside: Prism.languages.javascript\n },\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n keyword: /\\b(?:as|import|on)\\b/,\n punctuation: /[{}[\\]:;,]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nqore.displayName = 'qore'\nqore.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function qore(Prism) {\n Prism.register(refractorClike)\n Prism.languages.qore = Prism.languages.extend('clike', {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:\\/\\/|#).*)/,\n lookbehind: true\n },\n // Overridden to allow unescaped multi-line strings\n string: {\n pattern: /(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1/,\n greedy: true\n },\n keyword:\n /\\b(?:abstract|any|assert|binary|bool|boolean|break|byte|case|catch|char|class|code|const|continue|data|default|do|double|else|enum|extends|final|finally|float|for|goto|hash|if|implements|import|inherits|instanceof|int|interface|long|my|native|new|nothing|null|object|our|own|private|reference|rethrow|return|short|soft(?:bool|date|float|int|list|number|string)|static|strictfp|string|sub|super|switch|synchronized|this|throw|throws|transient|try|void|volatile|while)\\b/,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\$?\\b(?!\\d)\\w+(?=\\()/,\n number:\n /\\b(?:0b[01]+|0x(?:[\\da-f]*\\.)?[\\da-fp\\-]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:e\\d+)?[df]|(?:\\d+(?:\\.\\d+)?|\\.\\d+))\\b/i,\n operator: {\n pattern:\n /(^|[^.])(?:\\+[+=]?|-[-=]?|[!=](?:==?|~)?|>>?=?|<(?:=>?|<=?)?|&[&=]?|\\|[|=]?|[*\\/%^]=?|[~?])/,\n lookbehind: true\n },\n variable: /\\$(?!\\d)\\w+\\b/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nr.displayName = 'r'\nr.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function r(Prism) {\n Prism.languages.r = {\n comment: /#.*/,\n string: {\n pattern: /(['\"])(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n 'percent-operator': {\n // Includes user-defined operators\n // and %%, %*%, %/%, %in%, %o%, %x%\n pattern: /%[^%\\s]*%/,\n alias: 'operator'\n },\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n ellipsis: /\\.\\.(?:\\.|\\d+)/,\n number: [\n /\\b(?:Inf|NaN)\\b/,\n /(?:\\b0x[\\dA-Fa-f]+(?:\\.\\d*)?|\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[EePp][+-]?\\d+)?[iL]?/\n ],\n keyword:\n /\\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\\b/,\n operator: /->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\\|\\|?|[+*\\/^$@~]/,\n punctuation: /[(){}\\[\\],;]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorScheme from './scheme.js'\nracket.displayName = 'racket'\nracket.aliases = ['rkt']\n\n/** @param {Refractor} Prism */\nexport default function racket(Prism) {\n Prism.register(refractorScheme)\n Prism.languages.racket = Prism.languages.extend('scheme', {\n 'lambda-parameter': {\n // the racket lambda syntax is a lot more complex, so we won't even attempt to capture it.\n // this will just prevent false positives of the `function` pattern\n pattern: /([(\\[]lambda\\s+[(\\[])[^()\\[\\]'\\s]+/,\n lookbehind: true\n }\n })\n Prism.languages.insertBefore('racket', 'string', {\n lang: {\n pattern: /^#lang.+/m,\n greedy: true,\n alias: 'keyword'\n }\n })\n Prism.languages.rkt = Prism.languages.racket\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCsharp from './csharp.js'\nimport refractorMarkup from './markup.js'\ncshtml.displayName = 'cshtml'\ncshtml.aliases = ['razor']\n\n/** @param {Refractor} Prism */\nexport default function cshtml(Prism) {\n Prism.register(refractorCsharp)\n Prism.register(refractorMarkup)\n // Docs:\n // https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio\n // https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-5.0\n\n ;(function (Prism) {\n var commentLike = /\\/(?![/*])|\\/\\/.*[\\r\\n]|\\/\\*[^*]*(?:\\*(?!\\/)[^*]*)*\\*\\//\n .source\n var stringLike =\n /@(?!\")|\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|@\"(?:[^\\\\\"]|\"\"|\\\\[\\s\\S])*\"(?!\")/.source +\n '|' +\n /'(?:(?:[^\\r\\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'|(?=[^\\\\](?!')))/.source\n\n /**\n * Creates a nested pattern where all occurrences of the string `<<self>>` are replaced with the pattern itself.\n *\n * @param {string} pattern\n * @param {number} depthLog2\n * @returns {string}\n */\n function nested(pattern, depthLog2) {\n for (var i = 0; i < depthLog2; i++) {\n pattern = pattern.replace(/<self>/g, function () {\n return '(?:' + pattern + ')'\n })\n }\n return pattern\n .replace(/<self>/g, '[^\\\\s\\\\S]')\n .replace(/<str>/g, '(?:' + stringLike + ')')\n .replace(/<comment>/g, '(?:' + commentLike + ')')\n }\n var round = nested(/\\((?:[^()'\"@/]|<str>|<comment>|<self>)*\\)/.source, 2)\n var square = nested(/\\[(?:[^\\[\\]'\"@/]|<str>|<comment>|<self>)*\\]/.source, 1)\n var curly = nested(/\\{(?:[^{}'\"@/]|<str>|<comment>|<self>)*\\}/.source, 2)\n var angle = nested(/<(?:[^<>'\"@/]|<comment>|<self>)*>/.source, 1)\n var inlineCs =\n /@/.source +\n /(?:await\\b\\s*)?/.source +\n '(?:' +\n /(?!await\\b)\\w+\\b/.source +\n '|' +\n round +\n ')' +\n '(?:' +\n /[?!]?\\.\\w+\\b/.source +\n '|' +\n '(?:' +\n angle +\n ')?' +\n round +\n '|' +\n square +\n ')*' +\n /(?![?!\\.(\\[]|<(?!\\/))/.source\n\n // Note about the above bracket patterns:\n // They all ignore HTML expressions that might be in the C# code. This is a problem because HTML (like strings and\n // comments) is parsed differently. This is a huge problem because HTML might contain brackets and quotes which\n // messes up the bracket and string counting implemented by the above patterns.\n //\n // This problem is not fixable because 1) HTML expression are highly context sensitive and very difficult to detect\n // and 2) they require one capturing group at every nested level. See the `tagRegion` pattern to admire the\n // complexity of an HTML expression.\n //\n // To somewhat alleviate the problem a bit, the patterns for characters (e.g. 'a') is very permissive, it also\n // allows invalid characters to support HTML expressions like this: <p>That's it!</p>.\n\n var tagAttrInlineCs = /@(?![\\w()])/.source + '|' + inlineCs\n var tagAttrValue =\n '(?:' +\n /\"[^\"@]*\"|'[^'@]*'|[^\\s'\"@>=]+(?=[\\s>])/.source +\n '|' +\n '[\"\\'][^\"\\'@]*(?:(?:' +\n tagAttrInlineCs +\n ')[^\"\\'@]*)+[\"\\']' +\n ')'\n var tagAttrs =\n /(?:\\s(?:\\s*[^\\s>\\/=]+(?:\\s*=\\s*<tagAttrValue>|(?=[\\s/>])))+)?/.source.replace(\n /<tagAttrValue>/,\n tagAttrValue\n )\n var tagContent = /(?!\\d)[^\\s>\\/=$<%]+/.source + tagAttrs + /\\s*\\/?>/.source\n var tagRegion =\n /\\B@?/.source +\n '(?:' +\n /<([a-zA-Z][\\w:]*)/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' +\n // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' +\n // nested start tag\n nested(\n // eslint-disable-next-line regexp/strict\n /<\\1/.source +\n tagAttrs +\n /\\s*>/.source +\n '(?:' +\n (/[^<]/.source +\n '|' +\n // all tags that are not the start tag\n // eslint-disable-next-line regexp/strict\n /<\\/?(?!\\1\\b)/.source +\n tagContent +\n '|' +\n '<self>') +\n ')*' +\n // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source,\n 2\n )) +\n ')*' +\n // eslint-disable-next-line regexp/strict\n /<\\/\\1\\s*>/.source +\n '|' +\n /</.source +\n tagContent +\n ')'\n\n // Now for the actual language definition(s):\n //\n // Razor as a language has 2 parts:\n // 1) CSHTML: A markup-like language that has been extended with inline C# code expressions and blocks.\n // 2) C#+HTML: A variant of C# that can contain CSHTML tags as expressions.\n //\n // In the below code, both CSHTML and C#+HTML will be create as separate language definitions that reference each\n // other. However, only CSHTML will be exported via `Prism.languages`.\n\n Prism.languages.cshtml = Prism.languages.extend('markup', {})\n var csharpWithHtml = Prism.languages.insertBefore(\n 'csharp',\n 'string',\n {\n html: {\n pattern: RegExp(tagRegion),\n greedy: true,\n inside: Prism.languages.cshtml\n }\n },\n {\n csharp: Prism.languages.extend('csharp', {})\n }\n )\n var cs = {\n pattern: /\\S[\\s\\S]*/,\n alias: 'language-csharp',\n inside: csharpWithHtml\n }\n var inlineValue = {\n pattern: RegExp(/(^|[^@])/.source + inlineCs),\n lookbehind: true,\n greedy: true,\n alias: 'variable',\n inside: {\n keyword: /^@/,\n csharp: cs\n }\n }\n Prism.languages.cshtml.tag.pattern = RegExp(/<\\/?/.source + tagContent)\n Prism.languages.cshtml.tag.inside['attr-value'].pattern = RegExp(\n /=\\s*/.source + tagAttrValue\n )\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n value: inlineValue\n },\n Prism.languages.cshtml.tag.inside['attr-value']\n )\n Prism.languages.insertBefore('cshtml', 'prolog', {\n 'razor-comment': {\n pattern: /@\\*[\\s\\S]*?\\*@/,\n greedy: true,\n alias: 'comment'\n },\n block: {\n pattern: RegExp(\n /(^|[^@])@/.source +\n '(?:' +\n [\n // @{ ... }\n curly,\n // @code{ ... }\n /(?:code|functions)\\s*/.source + curly,\n // @for (...) { ... }\n /(?:for|foreach|lock|switch|using|while)\\s*/.source +\n round +\n /\\s*/.source +\n curly,\n // @do { ... } while (...);\n /do\\s*/.source +\n curly +\n /\\s*while\\s*/.source +\n round +\n /(?:\\s*;)?/.source,\n // @try { ... } catch (...) { ... } finally { ... }\n /try\\s*/.source +\n curly +\n /\\s*catch\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n /\\s*finally\\s*/.source +\n curly,\n // @if (...) {...} else if (...) {...} else {...}\n /if\\s*/.source +\n round +\n /\\s*/.source +\n curly +\n '(?:' +\n /\\s*else/.source +\n '(?:' +\n /\\s+if\\s*/.source +\n round +\n ')?' +\n /\\s*/.source +\n curly +\n ')*',\n // @helper Ident(params) { ... }\n /helper\\s+\\w+\\s*/.source + round + /\\s*/.source + curly\n ].join('|') +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w*/,\n csharp: cs\n }\n },\n directive: {\n pattern:\n /^([ \\t]*)@(?:addTagHelper|attribute|implements|inherits|inject|layout|model|namespace|page|preservewhitespace|removeTagHelper|section|tagHelperPrefix|using)(?=\\s).*/m,\n lookbehind: true,\n greedy: true,\n inside: {\n keyword: /^@\\w+/,\n csharp: cs\n }\n },\n value: inlineValue,\n 'delegate-operator': {\n pattern: /(^|[^@])@(?=<)/,\n lookbehind: true,\n alias: 'operator'\n }\n })\n Prism.languages.razor = Prism.languages.cshtml\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJavascript from './javascript.js'\nimport refractorMarkup from './markup.js'\njsx.displayName = 'jsx'\njsx.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function jsx(Prism) {\n Prism.register(refractorJavascript)\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n var javascript = Prism.util.clone(Prism.languages.javascript)\n var space = /(?:\\s|\\/\\/.*(?!.)|\\/\\*(?:[^*]|\\*(?!\\/))\\*\\/)/.source\n var braces = /(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})/.source\n var spread = /(?:\\{<S>*\\.{3}(?:[^{}]|<BRACES>)*\\})/.source\n\n /**\n * @param {string} source\n * @param {string} [flags]\n */\n function re(source, flags) {\n source = source\n .replace(/<S>/g, function () {\n return space\n })\n .replace(/<BRACES>/g, function () {\n return braces\n })\n .replace(/<SPREAD>/g, function () {\n return spread\n })\n return RegExp(source, flags)\n }\n spread = re(spread).source\n Prism.languages.jsx = Prism.languages.extend('markup', javascript)\n Prism.languages.jsx.tag.pattern = re(\n /<\\/?(?:[\\w.:-]+(?:<S>+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s{'\"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\\/?)?>/\n .source\n )\n Prism.languages.jsx.tag.inside['tag'].pattern = /^<\\/?[^\\s>\\/]*/\n Prism.languages.jsx.tag.inside['attr-value'].pattern =\n /=(?!\\{)(?:\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|'(?:\\\\[\\s\\S]|[^\\\\'])*'|[^\\s'\">]+)/\n Prism.languages.jsx.tag.inside['tag'].inside['class-name'] =\n /^[A-Z]\\w*(?:\\.[A-Z]\\w*)*$/\n Prism.languages.jsx.tag.inside['comment'] = javascript['comment']\n Prism.languages.insertBefore(\n 'inside',\n 'attr-name',\n {\n spread: {\n pattern: re(/<SPREAD>/.source),\n inside: Prism.languages.jsx\n }\n },\n Prism.languages.jsx.tag\n )\n Prism.languages.insertBefore(\n 'inside',\n 'special-attr',\n {\n script: {\n // Allow for two levels of nesting\n pattern: re(/=<BRACES>/.source),\n alias: 'language-javascript',\n inside: {\n 'script-punctuation': {\n pattern: /^=(?=\\{)/,\n alias: 'punctuation'\n },\n rest: Prism.languages.jsx\n }\n }\n },\n Prism.languages.jsx.tag\n )\n\n // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (!token) {\n return ''\n }\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{'\n ) {\n // Here we might have entered a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left a JSX context inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside a JSX context.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token)\n\n // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'jsx' && env.language !== 'tsx') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJsx from './jsx.js'\nimport refractorTypescript from './typescript.js'\ntsx.displayName = 'tsx'\ntsx.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function tsx(Prism) {\n Prism.register(refractorJsx)\n Prism.register(refractorTypescript)\n ;(function (Prism) {\n var typescript = Prism.util.clone(Prism.languages.typescript)\n Prism.languages.tsx = Prism.languages.extend('jsx', typescript)\n\n // doesn't work with TS because TS is too complex\n delete Prism.languages.tsx['parameter']\n delete Prism.languages.tsx['literal-property']\n\n // This will prevent collisions between TSX tags and TS generic types.\n // Idea by https://github.com/karlhorky\n // Discussion: https://github.com/PrismJS/prism/issues/2594#issuecomment-710666928\n var tag = Prism.languages.tsx.tag\n tag.pattern = RegExp(\n /(^|[^\\w$]|(?=<\\/))/.source + '(?:' + tag.pattern.source + ')',\n tag.pattern.flags\n )\n tag.lookbehind = true\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nreason.displayName = 'reason'\nreason.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function reason(Prism) {\n Prism.register(refractorClike)\n Prism.languages.reason = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n // 'class-name' must be matched *after* 'constructor' defined below\n 'class-name': /\\b[A-Z]\\w*/,\n keyword:\n /\\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\\b/,\n operator:\n /\\.{3}|:[:=]|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/\n })\n Prism.languages.insertBefore('reason', 'class-name', {\n char: {\n pattern: /'(?:\\\\x[\\da-f]{2}|\\\\o[0-3][0-7][0-7]|\\\\\\d{3}|\\\\.|[^'\\\\\\r\\n])'/,\n greedy: true\n },\n // Negative look-ahead prevents from matching things like String.capitalize\n constructor: /\\b[A-Z]\\w*\\b(?!\\s*\\.)/,\n label: {\n pattern: /\\b[a-z]\\w*(?=::)/,\n alias: 'symbol'\n }\n })\n\n // We can't match functions property, so let's not even try.\n delete Prism.languages.reason.function\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrego.displayName = 'rego'\nrego.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function rego(Prism) {\n // https://www.openpolicyagent.org/docs/latest/policy-reference/\n\n Prism.languages.rego = {\n comment: /#.*/,\n property: {\n pattern:\n /(^|[^\\\\.])(?:\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`|\\b[a-z_]\\w*\\b)(?=\\s*:(?!=))/i,\n lookbehind: true,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:\\\\.|[^\\\\\"\\r\\n])*\"|`[^`]*`/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /\\b(?:as|default|else|import|not|null|package|set(?=\\s*\\()|some|with)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n function: {\n pattern: /\\b[a-z_]\\w*\\b(?:\\s*\\.\\s*\\b[a-z_]\\w*\\b)*(?=\\s*\\()/i,\n inside: {\n namespace: /\\b\\w+\\b(?=\\s*\\.)/,\n punctuation: /\\./\n }\n },\n number: /-?\\b\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?\\b/i,\n operator: /[-+*/%|&]|[<>:=]=?|!=|\\b_\\b/,\n punctuation: /[,;.\\[\\]{}()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrenpy.displayName = 'renpy'\nrenpy.aliases = ['rpy']\n\n/** @param {Refractor} Prism */\nexport default function renpy(Prism) {\n Prism.languages.renpy = {\n comment: {\n pattern: /(^|[^\\\\])#.+/,\n lookbehind: true\n },\n string: {\n pattern:\n /(\"\"\"|''')[\\s\\S]+?\\1|(\"|')(?:\\\\.|(?!\\2)[^\\\\])*\\2|(?:^#?(?:(?:[0-9a-fA-F]){3}|[0-9a-fA-F]{6})$)/m,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\()/i,\n property:\n /\\b(?:Update|UpdateVersion|action|activate_sound|adv_nvl_transition|after_load_transition|align|alpha|alt|anchor|antialias|area|auto|background|bar_invert|bar_resizing|bar_vertical|black_color|bold|bottom_bar|bottom_gutter|bottom_margin|bottom_padding|box_reverse|box_wrap|can_update|caret|child|color|crop|default_afm_enable|default_afm_time|default_fullscreen|default_text_cps|developer|directory_name|drag_handle|drag_joined|drag_name|drag_raise|draggable|dragged|drop_shadow|drop_shadow_color|droppable|dropped|easein|easeout|edgescroll|end_game_transition|end_splash_transition|enter_replay_transition|enter_sound|enter_transition|enter_yesno_transition|executable_name|exit_replay_transition|exit_sound|exit_transition|exit_yesno_transition|fadein|fadeout|first_indent|first_spacing|fit_first|focus|focus_mask|font|foreground|game_main_transition|get_installed_packages|google_play_key|google_play_salt|ground|has_music|has_sound|has_voice|height|help|hinting|hover|hover_background|hover_color|hover_sound|hovered|hyperlink_functions|idle|idle_color|image_style|include_update|insensitive|insensitive_background|insensitive_color|inside|intra_transition|italic|justify|kerning|keyboard_focus|language|layer_clipping|layers|layout|left_bar|left_gutter|left_margin|left_padding|length|line_leading|line_overlap_split|line_spacing|linear|main_game_transition|main_menu_music|maximum|min_width|minimum|minwidth|modal|mouse|mousewheel|name|narrator_menu|newline_indent|nvl_adv_transition|offset|order_reverse|outlines|overlay_functions|pos|position|prefix|radius|range|rest_indent|right_bar|right_gutter|right_margin|right_padding|rotate|rotate_pad|ruby_style|sample_sound|save_directory|say_attribute_transition|screen_height|screen_width|scrollbars|selected_hover|selected_hover_color|selected_idle|selected_idle_color|selected_insensitive|show_side_image|show_two_window|side_spacing|side_xpos|side_ypos|size|size_group|slow_cps|slow_cps_multiplier|spacing|strikethrough|subpixel|text_align|text_style|text_xpos|text_y_fudge|text_ypos|thumb|thumb_offset|thumb_shadow|thumbnail_height|thumbnail_width|time|top_bar|top_gutter|top_margin|top_padding|translations|underline|unscrollable|update|value|version|version_name|version_tuple|vertical|width|window_hide_transition|window_icon|window_left_padding|window_show_transition|window_title|windows_icon|xadjustment|xalign|xanchor|xanchoraround|xaround|xcenter|xfill|xinitial|xmargin|xmaximum|xminimum|xoffset|xofsset|xpadding|xpos|xsize|xzoom|yadjustment|yalign|yanchor|yanchoraround|yaround|ycenter|yfill|yinitial|ymargin|ymaximum|yminimum|yoffset|ypadding|ypos|ysize|ysizexysize|yzoom|zoom|zorder)\\b/,\n tag: /\\b(?:bar|block|button|buttoscreenn|drag|draggroup|fixed|frame|grid|[hv]box|hotbar|hotspot|image|imagebutton|imagemap|input|key|label|menu|mm_menu_frame|mousearea|nvl|parallel|screen|self|side|tag|text|textbutton|timer|vbar|viewport|window)\\b|\\$/,\n keyword:\n /\\b(?:None|add|adjustment|alignaround|allow|angle|animation|around|as|assert|behind|box_layout|break|build|cache|call|center|changed|child_size|choice|circles|class|clear|clicked|clipping|clockwise|config|contains|continue|corner1|corner2|counterclockwise|def|default|define|del|delay|disabled|disabled_text|dissolve|elif|else|event|except|exclude|exec|expression|fade|finally|for|from|function|global|gm_root|has|hide|id|if|import|in|init|is|jump|knot|lambda|left|less_rounded|mm_root|movie|music|null|on|onlayer|pass|pause|persistent|play|print|python|queue|raise|random|renpy|repeat|return|right|rounded_window|scene|scope|set|show|slow|slow_abortable|slow_done|sound|stop|store|style|style_group|substitute|suffix|theme|transform|transform_anchor|transpose|try|ui|unhovered|updater|use|voice|while|widget|widget_hover|widget_selected|widget_text|yield)\\b/,\n boolean: /\\b(?:[Ff]alse|[Tt]rue)\\b/,\n number:\n /(?:\\b(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?)|\\B\\.\\d+)(?:e[+-]?\\d+)?j?/i,\n operator:\n /[-+%=]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]|\\b(?:and|at|not|or|with)\\b/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.rpy = Prism.languages.renpy\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrescript.displayName = 'rescript'\nrescript.aliases = ['res']\n\n/** @param {Refractor} Prism */\nexport default function rescript(Prism) {\n Prism.languages.rescript = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n char: {\n pattern: /'(?:[^\\r\\n\\\\]|\\\\(?:.|\\w+))'/,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\\\\\\r\\n\"])*\"/,\n greedy: true\n },\n 'class-name': /\\b[A-Z]\\w*|@[a-z.]*|#[A-Za-z]\\w*|#\\d/,\n function: {\n pattern: /[a-zA-Z]\\w*(?=\\()|(\\.)[a-z]\\w*/,\n lookbehind: true\n },\n number:\n /(?:\\b0x(?:[\\da-f]+(?:\\.[\\da-f]*)?|\\.[\\da-f]+)(?:p[+-]?\\d+)?|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)[ful]{0,4}/i,\n boolean: /\\b(?:false|true)\\b/,\n 'attr-value': /[A-Za-z]\\w*(?==)/,\n constant: {\n pattern: /(\\btype\\s+)[a-z]\\w*/,\n lookbehind: true\n },\n tag: {\n pattern: /(<)[a-z]\\w*|(?:<\\/)[a-z]\\w*/,\n lookbehind: true,\n inside: {\n operator: /<|>|\\//\n }\n },\n keyword:\n /\\b(?:and|as|assert|begin|bool|class|constraint|do|done|downto|else|end|exception|external|float|for|fun|function|if|in|include|inherit|initializer|int|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|string|switch|then|to|try|type|when|while|with)\\b/,\n operator:\n /\\.{3}|:[:=]?|\\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\\-*\\/]\\.?|\\b(?:asr|land|lor|lsl|lsr|lxor|mod)\\b/,\n punctuation: /[(){}[\\],;.]/\n }\n Prism.languages.insertBefore('rescript', 'string', {\n 'template-string': {\n pattern:\n /`(?:\\\\[\\s\\S]|\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}|(?!\\$\\{)[^\\\\`])*`/,\n greedy: true,\n inside: {\n 'template-punctuation': {\n pattern: /^`|`$/,\n alias: 'string'\n },\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$\\{(?:[^{}]|\\{(?:[^{}]|\\{[^}]*\\})*\\})+\\}/,\n lookbehind: true,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'tag'\n },\n rest: Prism.languages.rescript\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.res = Prism.languages.rescript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrest.displayName = 'rest'\nrest.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function rest(Prism) {\n Prism.languages.rest = {\n table: [\n {\n pattern:\n /(^[\\t ]*)(?:\\+[=-]+)+\\+(?:\\r?\\n|\\r)(?:\\1[+|].+[+|](?:\\r?\\n|\\r))+\\1(?:\\+[=-]+)+\\+/m,\n lookbehind: true,\n inside: {\n punctuation: /\\||(?:\\+[=-]+)+\\+/\n }\n },\n {\n pattern:\n /(^[\\t ]*)=+ [ =]*=(?:(?:\\r?\\n|\\r)\\1.+)+(?:\\r?\\n|\\r)\\1=+ [ =]*=(?=(?:\\r?\\n|\\r){2}|\\s*$)/m,\n lookbehind: true,\n inside: {\n punctuation: /[=-]+/\n }\n }\n ],\n // Directive-like patterns\n\n 'substitution-def': {\n pattern: /(^[\\t ]*\\.\\. )\\|(?:[^|\\s](?:[^|]*[^|\\s])?)\\| [^:]+::/m,\n lookbehind: true,\n inside: {\n substitution: {\n pattern: /^\\|(?:[^|\\s]|[^|\\s][^|]*[^|\\s])\\|/,\n alias: 'attr-value',\n inside: {\n punctuation: /^\\||\\|$/\n }\n },\n directive: {\n pattern: /( )(?! )[^:]+::/,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n }\n }\n },\n 'link-target': [\n {\n pattern: /(^[\\t ]*\\.\\. )\\[[^\\]]+\\]/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]$/\n }\n },\n {\n pattern: /(^[\\t ]*\\.\\. )_(?:`[^`]+`|(?:[^:\\\\]|\\\\.)+):/m,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /^_|:$/\n }\n }\n ],\n directive: {\n pattern: /(^[\\t ]*\\.\\. )[^:]+::/m,\n lookbehind: true,\n alias: 'function',\n inside: {\n punctuation: /::$/\n }\n },\n comment: {\n // The two alternatives try to prevent highlighting of blank comments\n pattern:\n /(^[\\t ]*\\.\\.)(?:(?: .+)?(?:(?:\\r?\\n|\\r).+)+| .+)(?=(?:\\r?\\n|\\r){2}|$)/m,\n lookbehind: true\n },\n title: [\n // Overlined and underlined\n {\n pattern:\n /^(([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+)(?:\\r?\\n|\\r).+(?:\\r?\\n|\\r)\\1$/m,\n inside: {\n punctuation:\n /^[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+|[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n },\n // Underlined only\n {\n pattern:\n /(^|(?:\\r?\\n|\\r){2}).+(?:\\r?\\n|\\r)([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2+(?=\\r?\\n|\\r|$)/,\n lookbehind: true,\n inside: {\n punctuation: /[!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]+$/,\n important: /.+/\n }\n }\n ],\n hr: {\n pattern:\n /((?:\\r?\\n|\\r){2})([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\2{3,}(?=(?:\\r?\\n|\\r){2})/,\n lookbehind: true,\n alias: 'punctuation'\n },\n field: {\n pattern: /(^[\\t ]*):[^:\\r\\n]+:(?= )/m,\n lookbehind: true,\n alias: 'attr-name'\n },\n 'command-line-option': {\n pattern:\n /(^[\\t ]*)(?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?(?:, (?:[+-][a-z\\d]|(?:--|\\/)[a-z\\d-]+)(?:[ =](?:[a-z][\\w-]*|<[^<>]+>))?)*(?=(?:\\r?\\n|\\r)? {2,}\\S)/im,\n lookbehind: true,\n alias: 'symbol'\n },\n 'literal-block': {\n pattern: /::(?:\\r?\\n|\\r){2}([ \\t]+)(?![ \\t]).+(?:(?:\\r?\\n|\\r)\\1.+)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^::/,\n alias: 'punctuation'\n }\n }\n },\n 'quoted-literal-block': {\n pattern:\n /::(?:\\r?\\n|\\r){2}([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~]).*(?:(?:\\r?\\n|\\r)\\1.*)*/,\n inside: {\n 'literal-block-punctuation': {\n pattern: /^(?:::|([!\"#$%&'()*+,\\-.\\/:;<=>?@\\[\\\\\\]^_`{|}~])\\1*)/m,\n alias: 'punctuation'\n }\n }\n },\n 'list-bullet': {\n pattern:\n /(^[\\t ]*)(?:[*+\\-•‣⁃]|\\(?(?:\\d+|[a-z]|[ivxdclm]+)\\)|(?:\\d+|[a-z]|[ivxdclm]+)\\.)(?= )/im,\n lookbehind: true,\n alias: 'punctuation'\n },\n 'doctest-block': {\n pattern: /(^[\\t ]*)>>> .+(?:(?:\\r?\\n|\\r).+)*/m,\n lookbehind: true,\n inside: {\n punctuation: /^>>>/\n }\n },\n inline: [\n {\n pattern:\n /(^|[\\s\\-:\\/'\"<(\\[{])(?::[^:]+:`.*?`|`.*?`:[^:]+:|(\\*\\*?|``?|\\|)(?!\\s)(?:(?!\\2).)*\\S\\2(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$))/m,\n lookbehind: true,\n inside: {\n bold: {\n pattern: /(^\\*\\*).+(?=\\*\\*$)/,\n lookbehind: true\n },\n italic: {\n pattern: /(^\\*).+(?=\\*$)/,\n lookbehind: true\n },\n 'inline-literal': {\n pattern: /(^``).+(?=``$)/,\n lookbehind: true,\n alias: 'symbol'\n },\n role: {\n pattern: /^:[^:]+:|:[^:]+:$/,\n alias: 'function',\n inside: {\n punctuation: /^:|:$/\n }\n },\n 'interpreted-text': {\n pattern: /(^`).+(?=`$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n substitution: {\n pattern: /(^\\|).+(?=\\|$)/,\n lookbehind: true,\n alias: 'attr-value'\n },\n punctuation: /\\*\\*?|``?|\\|/\n }\n }\n ],\n link: [\n {\n pattern: /\\[[^\\[\\]]+\\]_(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/,\n alias: 'string',\n inside: {\n punctuation: /^\\[|\\]_$/\n }\n },\n {\n pattern:\n /(?:\\b[a-z\\d]+(?:[_.:+][a-z\\d]+)*_?_|`[^`]+`_?_|_`[^`]+`)(?=[\\s\\-.,:;!?\\\\\\/'\")\\]}]|$)/i,\n alias: 'string',\n inside: {\n punctuation: /^_?`|`$|`?_?_$/\n }\n }\n ],\n // Line block start,\n // quote attribution,\n // explicit markup start,\n // and anonymous hyperlink target shortcut (__)\n punctuation: {\n pattern: /(^[\\t ]*)(?:\\|(?= |$)|(?:---?|—|\\.\\.|__)(?= )|\\.\\.$)/m,\n lookbehind: true\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrip.displayName = 'rip'\nrip.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function rip(Prism) {\n Prism.languages.rip = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n char: {\n pattern: /\\B`[^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]\\b/,\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n regex: {\n pattern:\n /(^|[^/])\\/(?!\\/)(?:\\[[^\\n\\r\\]]*\\]|\\\\.|[^/\\\\\\r\\n\\[])+\\/(?=\\s*(?:$|[\\r\\n,.;})]))/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:=>|->)|\\b(?:case|catch|class|else|exit|finally|if|raise|return|switch|try)\\b/,\n builtin: /@|\\bSystem\\b/,\n boolean: /\\b(?:false|true)\\b/,\n date: /\\b\\d{4}-\\d{2}-\\d{2}\\b/,\n time: /\\b\\d{2}:\\d{2}:\\d{2}\\b/,\n datetime: /\\b\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\b/,\n symbol: /:[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/,\n number: /[+-]?\\b(?:\\d+\\.\\d+|\\d+)\\b/,\n punctuation: /(?:\\.{2,3})|[`,.:;=\\/\\\\()<>\\[\\]{}]/,\n reference: /[^\\d\\s`'\",.:;#\\/\\\\()<>\\[\\]{}][^\\s`'\",.:;#\\/\\\\()<>\\[\\]{}]*/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nroboconf.displayName = 'roboconf'\nroboconf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function roboconf(Prism) {\n Prism.languages.roboconf = {\n comment: /#.*/,\n keyword: {\n pattern:\n /(^|\\s)(?:(?:external|import)\\b|(?:facet|instance of)(?=[ \\t]+[\\w-]+[ \\t]*\\{))/,\n lookbehind: true\n },\n component: {\n pattern: /[\\w-]+(?=[ \\t]*\\{)/,\n alias: 'variable'\n },\n property: /[\\w.-]+(?=[ \\t]*:)/,\n value: {\n pattern: /(=[ \\t]*(?![ \\t]))[^,;]+/,\n lookbehind: true,\n alias: 'attr-value'\n },\n optional: {\n pattern: /\\(optional\\)/,\n alias: 'builtin'\n },\n wildcard: {\n pattern: /(\\.)\\*/,\n lookbehind: true,\n alias: 'operator'\n },\n punctuation: /[{},.;:=]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrobotframework.displayName = 'robotframework'\nrobotframework.aliases = ['robot']\n\n/** @param {Refractor} Prism */\nexport default function robotframework(Prism) {\n ;(function (Prism) {\n var comment = {\n pattern: /(^[ \\t]*| {2}|\\t)#.*/m,\n lookbehind: true,\n greedy: true\n }\n var variable = {\n pattern: /((?:^|[^\\\\])(?:\\\\{2})*)[$@&%]\\{(?:[^{}\\r\\n]|\\{[^{}\\r\\n]*\\})*\\}/,\n lookbehind: true,\n inside: {\n punctuation: /^[$@&%]\\{|\\}$/\n }\n }\n function createSection(name, inside) {\n var extendecInside = {}\n extendecInside['section-header'] = {\n pattern: /^ ?\\*{3}.+?\\*{3}/,\n alias: 'keyword'\n }\n\n // copy inside tokens\n for (var token in inside) {\n extendecInside[token] = inside[token]\n }\n extendecInside['tag'] = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)\\[[-\\w]+\\]/,\n lookbehind: true,\n inside: {\n punctuation: /\\[|\\]/\n }\n }\n extendecInside['variable'] = variable\n extendecInside['comment'] = comment\n return {\n pattern: RegExp(\n /^ ?\\*{3}[ \\t]*<name>[ \\t]*\\*{3}(?:.|[\\r\\n](?!\\*{3}))*/.source.replace(\n /<name>/g,\n function () {\n return name\n }\n ),\n 'im'\n ),\n alias: 'section',\n inside: extendecInside\n }\n }\n var docTag = {\n pattern:\n /(\\[Documentation\\](?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n }\n var testNameLike = {\n pattern: /([\\r\\n] ?)(?!#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n alias: 'function',\n inside: {\n variable: variable\n }\n }\n var testPropertyLike = {\n pattern: /([\\r\\n](?: {2}|\\t)[ \\t]*)(?!\\[|\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true,\n inside: {\n variable: variable\n }\n }\n Prism.languages['robotframework'] = {\n settings: createSection('Settings', {\n documentation: {\n pattern:\n /([\\r\\n] ?Documentation(?: {2}|\\t)[ \\t]*)(?![ \\t]|#)(?:.|(?:\\r\\n?|\\n)[ \\t]*\\.{3})+/,\n lookbehind: true,\n alias: 'string'\n },\n property: {\n pattern: /([\\r\\n] ?)(?!\\.{3}|#)(?:\\S(?:[ \\t]\\S)*)+/,\n lookbehind: true\n }\n }),\n variables: createSection('Variables'),\n 'test-cases': createSection('Test Cases', {\n 'test-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n keywords: createSection('Keywords', {\n 'keyword-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n tasks: createSection('Tasks', {\n 'task-name': testNameLike,\n documentation: docTag,\n property: testPropertyLike\n }),\n comment: comment\n }\n Prism.languages.robot = Prism.languages['robotframework']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nrust.displayName = 'rust'\nrust.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function rust(Prism) {\n ;(function (Prism) {\n var multilineComment = /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\//.source\n for (var i = 0; i < 2; i++) {\n // support 4 levels of nested comments\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return multilineComment\n })\n }\n multilineComment = multilineComment.replace(/<self>/g, function () {\n return /[^\\s\\S]/.source\n })\n Prism.languages.rust = {\n comment: [\n {\n pattern: RegExp(/(^|[^\\\\])/.source + multilineComment),\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /b?\"(?:\\\\[\\s\\S]|[^\\\\\"])*\"|b?r(#*)\"(?:[^\"]|\"(?!\\1))*\"\\1/,\n greedy: true\n },\n char: {\n pattern:\n /b?'(?:\\\\(?:x[0-7][\\da-fA-F]|u\\{(?:[\\da-fA-F]_*){1,6}\\}|.)|[^\\\\\\r\\n\\t'])'/,\n greedy: true\n },\n attribute: {\n pattern: /#!?\\[(?:[^\\[\\]\"]|\"(?:\\\\[\\s\\S]|[^\\\\\"])*\")*\\]/,\n greedy: true,\n alias: 'attr-name',\n inside: {\n string: null // see below\n }\n },\n // Closure params should not be confused with bitwise OR |\n 'closure-params': {\n pattern: /([=(,:]\\s*|\\bmove\\s*)\\|[^|]*\\||\\|[^|]*\\|(?=\\s*(?:\\{|->))/,\n lookbehind: true,\n greedy: true,\n inside: {\n 'closure-punctuation': {\n pattern: /^\\||\\|$/,\n alias: 'punctuation'\n },\n rest: null // see below\n }\n },\n 'lifetime-annotation': {\n pattern: /'\\w+/,\n alias: 'symbol'\n },\n 'fragment-specifier': {\n pattern: /(\\$\\w+:)[a-z]+/,\n lookbehind: true,\n alias: 'punctuation'\n },\n variable: /\\$\\w+/,\n 'function-definition': {\n pattern: /(\\bfn\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n 'type-definition': {\n pattern: /(\\b(?:enum|struct|trait|type|union)\\s+)\\w+/,\n lookbehind: true,\n alias: 'class-name'\n },\n 'module-declaration': [\n {\n pattern: /(\\b(?:crate|mod)\\s+)[a-z][a-z_\\d]*/,\n lookbehind: true,\n alias: 'namespace'\n },\n {\n pattern:\n /(\\b(?:crate|self|super)\\s*)::\\s*[a-z][a-z_\\d]*\\b(?:\\s*::(?:\\s*[a-z][a-z_\\d]*\\s*::)*)?/,\n lookbehind: true,\n alias: 'namespace',\n inside: {\n punctuation: /::/\n }\n }\n ],\n keyword: [\n // https://github.com/rust-lang/reference/blob/master/src/keywords.md\n /\\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\\b/,\n // primitives and str\n // https://doc.rust-lang.org/stable/rust-by-example/primitives.html\n /\\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\\b/\n ],\n // functions can technically start with an upper-case letter, but this will introduce a lot of false positives\n // and Rust's naming conventions recommend snake_case anyway.\n // https://doc.rust-lang.org/1.0.0/style/style/naming/README.html\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())/,\n macro: {\n pattern: /\\b\\w+!/,\n alias: 'property'\n },\n constant: /\\b[A-Z_][A-Z_\\d]+\\b/,\n 'class-name': /\\b[A-Z]\\w*\\b/,\n namespace: {\n pattern: /(?:\\b[a-z][a-z_\\d]*\\s*::\\s*)*\\b[a-z][a-z_\\d]*\\s*::(?!\\s*<)/,\n inside: {\n punctuation: /::/\n }\n },\n // Hex, oct, bin, dec numbers with visual separators and type suffix\n number:\n /\\b(?:0x[\\dA-Fa-f](?:_?[\\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\\d(?:_?\\d)*)?\\.)?\\d(?:_?\\d)*(?:[Ee][+-]?\\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /->|\\.\\.=|\\.{1,3}|::|[{}[\\];(),:]/,\n operator: /[-+*\\/%!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?=?|[@?]/\n }\n Prism.languages.rust['closure-params'].inside.rest = Prism.languages.rust\n Prism.languages.rust['attribute'].inside['string'] =\n Prism.languages.rust['string']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsas.displayName = 'sas'\nsas.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function sas(Prism) {\n ;(function (Prism) {\n var stringPattern = /(?:\"(?:\"\"|[^\"])*\"(?!\")|'(?:''|[^'])*'(?!'))/.source\n var number = /\\b(?:\\d[\\da-f]*x|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i\n var numericConstant = {\n pattern: RegExp(stringPattern + '[bx]'),\n alias: 'number'\n }\n var macroVariable = {\n pattern: /&[a-z_]\\w*/i\n }\n var macroKeyword = {\n pattern:\n /((?:^|\\s|=|\\())%(?:ABORT|BY|CMS|COPY|DISPLAY|DO|ELSE|END|EVAL|GLOBAL|GO|GOTO|IF|INC|INCLUDE|INDEX|INPUT|KTRIM|LENGTH|LET|LIST|LOCAL|PUT|QKTRIM|QSCAN|QSUBSTR|QSYSFUNC|QUPCASE|RETURN|RUN|SCAN|SUBSTR|SUPERQ|SYMDEL|SYMEXIST|SYMGLOBL|SYMLOCAL|SYSCALL|SYSEVALF|SYSEXEC|SYSFUNC|SYSGET|SYSRPUT|THEN|TO|TSO|UNQUOTE|UNTIL|UPCASE|WHILE|WINDOW)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var step = {\n pattern: /(^|\\s)(?:proc\\s+\\w+|data(?!=)|quit|run)\\b/i,\n alias: 'keyword',\n lookbehind: true\n }\n var comment = [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(^[ \\t]*|;\\s*)\\*[^;]*;/m,\n lookbehind: true\n }\n ]\n var string = {\n pattern: RegExp(stringPattern),\n greedy: true\n }\n var punctuation = /[$%@.(){}\\[\\];,\\\\]/\n var func = {\n pattern: /%?\\b\\w+(?=\\()/,\n alias: 'keyword'\n }\n var args = {\n function: func,\n 'arg-value': {\n pattern: /(=\\s*)[A-Z\\.]+/i,\n lookbehind: true\n },\n operator: /=/,\n 'macro-variable': macroVariable,\n arg: {\n pattern: /[A-Z]+/i,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n var format = {\n pattern: /\\b(?:format|put)\\b=?[\\w'$.]+/i,\n inside: {\n keyword: /^(?:format|put)(?==)/i,\n equals: /=/,\n format: {\n pattern: /(?:\\w|\\$\\d)+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var altformat = {\n pattern: /\\b(?:format|put)\\s+[\\w']+(?:\\s+[$.\\w]+)+(?=;)/i,\n inside: {\n keyword: /^(?:format|put)/i,\n format: {\n pattern: /[\\w$]+\\.\\d?/,\n alias: 'number'\n }\n }\n }\n var globalStatements = {\n pattern:\n /((?:^|\\s)=?)(?:catname|checkpoint execute_always|dm|endsas|filename|footnote|%include|libname|%list|lock|missing|options|page|resetline|%run|sasfile|skip|sysecho|title\\d?)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var submitStatement = {\n pattern: /(^|\\s)(?:submit(?:\\s+(?:load|norun|parseonly))?|endsubmit)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n }\n var actionSets =\n /aStore|accessControl|aggregation|audio|autotune|bayesianNetClassifier|bioMedImage|boolRule|builtins|cardinality|cdm|clustering|conditionalRandomFields|configuration|copula|countreg|dataDiscovery|dataPreprocess|dataSciencePilot|dataStep|decisionTree|deduplication|deepLearn|deepNeural|deepRnn|ds2|ecm|entityRes|espCluster|explainModel|factmac|fastKnn|fcmpact|fedSql|freqTab|gVarCluster|gam|gleam|graphSemiSupLearn|hiddenMarkovModel|hyperGroup|ica|image|iml|kernalPca|langModel|ldaTopic|loadStreams|mbc|mixed|mlTools|modelPublishing|network|neuralNet|nmf|nonParametricBayes|nonlinear|optNetwork|optimization|panel|pca|percentile|phreg|pls|qkb|qlim|quantreg|recommend|regression|reinforcementLearn|robustPca|ruleMining|sampling|sandwich|sccasl|search(?:Analytics)?|sentimentAnalysis|sequence|session(?:Prop)?|severity|simSystem|simple|smartData|sparkEmbeddedProcess|sparseML|spatialreg|spc|stabilityMonitoring|svDataDescription|svm|table|text(?:Filters|Frequency|Mining|Parse|Rule(?:Develop|Score)|Topic|Util)|timeData|transpose|tsInfo|tsReconcile|uniTimeSeries|varReduce/\n .source\n var casActions = {\n pattern: RegExp(\n /(^|\\s)(?:action\\s+)?(?:<act>)\\.[a-z]+\\b[^;]+/.source.replace(\n /<act>/g,\n function () {\n return actionSets\n }\n ),\n 'i'\n ),\n lookbehind: true,\n inside: {\n keyword: RegExp(\n /(?:<act>)\\.[a-z]+\\b/.source.replace(/<act>/g, function () {\n return actionSets\n }),\n 'i'\n ),\n action: {\n pattern: /(?:action)/i,\n alias: 'keyword'\n },\n comment: comment,\n function: func,\n 'arg-value': args['arg-value'],\n operator: args.operator,\n argument: args.arg,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n }\n var keywords = {\n pattern:\n /((?:^|\\s)=?)(?:after|analysis|and|array|barchart|barwidth|begingraph|by|call|cas|cbarline|cfill|class(?:lev)?|close|column|computed?|contains|continue|data(?==)|define|delete|describe|document|do\\s+over|do|dol|drop|dul|else|end(?:comp|source)?|entryTitle|eval(?:uate)?|exec(?:ute)?|exit|file(?:name)?|fill(?:attrs)?|flist|fnc|function(?:list)?|global|goto|group(?:by)?|headline|headskip|histogram|if|infile|keep|keylabel|keyword|label|layout|leave|legendlabel|length|libname|loadactionset|merge|midpoints|_?null_|name|noobs|nowd|ods|options|or|otherwise|out(?:put)?|over(?:lay)?|plot|print|put|raise|ranexp|rannor|rbreak|retain|return|select|session|sessref|set|source|statgraph|sum|summarize|table|temp|terminate|then\\s+do|then|title\\d?|to|var|when|where|xaxisopts|y2axisopts|yaxisopts)\\b/i,\n lookbehind: true\n }\n Prism.languages.sas = {\n datalines: {\n pattern: /^([ \\t]*)(?:cards|(?:data)?lines);[\\s\\S]+?^[ \\t]*;/im,\n lookbehind: true,\n alias: 'string',\n inside: {\n keyword: {\n pattern: /^(?:cards|(?:data)?lines)/i\n },\n punctuation: /;/\n }\n },\n 'proc-sql': {\n pattern:\n /(^proc\\s+(?:fed)?sql(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n sql: {\n pattern: RegExp(\n /^[ \\t]*(?:select|alter\\s+table|(?:create|describe|drop)\\s+(?:index|table(?:\\s+constraints)?|view)|create\\s+unique\\s+index|insert\\s+into|update)(?:<str>|[^;\"'])+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n alias: 'language-sql',\n inside: Prism.languages.sql\n },\n 'global-statements': globalStatements,\n 'sql-statements': {\n pattern:\n /(^|\\s)(?:disconnect\\s+from|begin|commit|exec(?:ute)?|reset|rollback|validate)\\b/i,\n lookbehind: true,\n alias: 'keyword'\n },\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-groovy': {\n pattern:\n /(^proc\\s+groovy(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n groovy: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-groovy',\n inside: Prism.languages.groovy\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-lua': {\n pattern:\n /(^proc\\s+lua(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|data|quit|run);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n lua: {\n pattern: RegExp(\n /(^[ \\t]*submit(?:\\s+(?:load|norun|parseonly))?)(?:<str>|[^\"'])+?(?=endsubmit;)/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n alias: 'language-lua',\n inside: Prism.languages.lua\n },\n keyword: keywords,\n 'submit-statement': submitStatement,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-cas': {\n pattern:\n /(^proc\\s+cas(?:\\s+[\\w|=]+)?;)[\\s\\S]+?(?=^(?:proc\\s+\\w+|quit|data);|(?![\\s\\S]))/im,\n lookbehind: true,\n inside: {\n comment: comment,\n 'statement-var': {\n pattern: /((?:^|\\s)=?)saveresult\\s[^;]+/im,\n lookbehind: true,\n inside: {\n statement: {\n pattern: /^saveresult\\s+\\S+/i,\n inside: {\n keyword: /^(?:saveresult)/i\n }\n },\n rest: args\n }\n },\n 'cas-actions': casActions,\n statement: {\n pattern:\n /((?:^|\\s)=?)(?:default|(?:un)?set|on|output|upload)[^;]+/im,\n lookbehind: true,\n inside: args\n },\n step: step,\n keyword: keywords,\n function: func,\n format: format,\n altformat: altformat,\n 'global-statements': globalStatements,\n number: number,\n 'numeric-constant': numericConstant,\n punctuation: punctuation,\n string: string\n }\n },\n 'proc-args': {\n pattern: RegExp(\n /(^proc\\s+\\w+\\s+)(?!\\s)(?:[^;\"']|<str>)+;/.source.replace(\n /<str>/g,\n function () {\n return stringPattern\n }\n ),\n 'im'\n ),\n lookbehind: true,\n inside: args\n },\n /*Special keywords within macros*/\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'macro-string-functions': {\n pattern:\n /((?:^|\\s|=))%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)\\(.*?(?:[^%]\\))/i,\n lookbehind: true,\n inside: {\n function: {\n pattern: /%(?:BQUOTE|NRBQUOTE|NRQUOTE|NRSTR|QUOTE|STR)/i,\n alias: 'keyword'\n },\n 'macro-keyword': macroKeyword,\n 'macro-variable': macroVariable,\n 'escaped-char': {\n pattern: /%['\"()<>=¬^~;,#]/\n },\n punctuation: punctuation\n }\n },\n 'macro-declaration': {\n pattern: /^%macro[^;]+(?=;)/im,\n inside: {\n keyword: /%macro/i\n }\n },\n 'macro-end': {\n pattern: /^%mend[^;]+(?=;)/im,\n inside: {\n keyword: /%mend/i\n }\n },\n /*%_zscore(headcir, _lhc, _mhc, _shc, headcz, headcpct, _Fheadcz); */\n macro: {\n pattern: /%_\\w+(?=\\()/,\n alias: 'keyword'\n },\n input: {\n pattern: /\\binput\\s[-\\w\\s/*.$&]+;/i,\n inside: {\n input: {\n alias: 'keyword',\n pattern: /^input/i\n },\n comment: comment,\n number: number,\n 'numeric-constant': numericConstant\n }\n },\n 'options-args': {\n pattern: /(^options)[-'\"|/\\\\<>*+=:()\\w\\s]*(?=;)/im,\n lookbehind: true,\n inside: args\n },\n 'cas-actions': casActions,\n comment: comment,\n function: func,\n format: format,\n altformat: altformat,\n 'numeric-constant': numericConstant,\n datetime: {\n // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt\n pattern: RegExp(stringPattern + '(?:dt?|t)'),\n alias: 'number'\n },\n string: string,\n step: step,\n keyword: keywords,\n // In SAS Studio syntax highlighting, these operators are styled like keywords\n 'operator-keyword': {\n pattern: /\\b(?:eq|ge|gt|in|le|lt|ne|not)\\b/i,\n alias: 'operator'\n },\n // Decimal (1.2e23), hexadecimal (0c1x)\n number: number,\n operator: /\\*\\*?|\\|\\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\\/=&]|[~¬^]=?/,\n punctuation: punctuation\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCss from './css.js'\nsass.displayName = 'sass'\nsass.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function sass(Prism) {\n Prism.register(refractorCss)\n ;(function (Prism) {\n Prism.languages.sass = Prism.languages.extend('css', {\n // Sass comments don't need to be closed, only indented\n comment: {\n pattern: /^([ \\t]*)\\/[\\/*].*(?:(?:\\r?\\n|\\r)\\1[ \\t].+)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sass', 'atrule', {\n // We want to consume the whole line\n 'atrule-line': {\n // Includes support for = and + shortcuts\n pattern: /^(?:[ \\t]*)[@+=].+/m,\n greedy: true,\n inside: {\n atrule: /(?:@[\\w-]+|[+=])/\n }\n }\n })\n delete Prism.languages.sass.atrule\n var variable = /\\$[-\\w]+|#\\{\\$[-\\w]+\\}/\n var operator = [\n /[+*\\/%]|[=!]=|<=?|>=?|\\b(?:and|not|or)\\b/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ]\n Prism.languages.insertBefore('sass', 'property', {\n // We want to consume the whole line\n 'variable-line': {\n pattern: /^[ \\t]*\\$.+/m,\n greedy: true,\n inside: {\n punctuation: /:/,\n variable: variable,\n operator: operator\n }\n },\n // We want to consume the whole line\n 'property-line': {\n pattern: /^[ \\t]*(?:[^:\\s]+ *:.*|:[^:\\s].*)/m,\n greedy: true,\n inside: {\n property: [\n /[^:\\s]+(?=\\s*:)/,\n {\n pattern: /(:)[^:\\s]+/,\n lookbehind: true\n }\n ],\n punctuation: /:/,\n variable: variable,\n operator: operator,\n important: Prism.languages.sass.important\n }\n }\n })\n delete Prism.languages.sass.property\n delete Prism.languages.sass.important\n\n // Now that whole lines for other patterns are consumed,\n // what's left should be selectors\n Prism.languages.insertBefore('sass', 'punctuation', {\n selector: {\n pattern:\n /^([ \\t]*)\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*(?:,(?:\\r?\\n|\\r)\\1[ \\t]+\\S(?:,[^,\\r\\n]+|[^,\\r\\n]*)(?:,[^,\\r\\n]+)*)*/m,\n lookbehind: true,\n greedy: true\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorBash from './bash.js'\nshellSession.displayName = 'shell-session'\nshellSession.aliases = ['sh-session', 'shellsession']\n\n/** @param {Refractor} Prism */\nexport default function shellSession(Prism) {\n Prism.register(refractorBash)\n ;(function (Prism) {\n // CAREFUL!\n // The following patterns are concatenated, so the group referenced by a back reference is non-obvious!\n\n var strings = [\n // normal string\n /\"(?:\\\\[\\s\\S]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|[^\"\\\\`$])*\"/.source,\n /'[^']*'/.source,\n /\\$'(?:[^'\\\\]|\\\\[\\s\\S])*'/.source,\n // here doc\n // 2 capturing groups\n /<<-?\\s*([\"']?)(\\w+)\\1\\s[\\s\\S]*?[\\r\\n]\\2/.source\n ].join('|')\n Prism.languages['shell-session'] = {\n command: {\n pattern: RegExp(\n // user info\n /^/.source +\n '(?:' +\n // <user> \":\" ( <path> )?\n (/[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+(?::[^\\0-\\x1F$#%*?\"<>:;|]+)?/\n .source +\n '|' +\n // <path>\n // Since the path pattern is quite general, we will require it to start with a special character to\n // prevent false positives.\n /[/~.][^\\0-\\x1F$#%*?\"<>@:;|]*/.source) +\n ')?' +\n // shell symbol\n /[$#%](?=\\s)/.source +\n // bash command\n /(?:[^\\\\\\r\\n \\t'\"<$]|[ \\t](?:(?!#)|#.*$)|\\\\(?:[^\\r]|\\r\\n?)|\\$(?!')|<(?!<)|<<str>>)+/.source.replace(\n /<<str>>/g,\n function () {\n return strings\n }\n ),\n 'm'\n ),\n greedy: true,\n inside: {\n info: {\n // foo@bar:~/files$ exit\n // foo@bar$ exit\n // ~/files$ exit\n pattern: /^[^#$%]+/,\n alias: 'punctuation',\n inside: {\n user: /^[^\\s@:$#%*!/\\\\]+@[^\\r\\n@:$#%*!/\\\\]+/,\n punctuation: /:/,\n path: /[\\s\\S]+/\n }\n },\n bash: {\n pattern: /(^[$#%]\\s*)\\S[\\s\\S]*/,\n lookbehind: true,\n alias: 'language-bash',\n inside: Prism.languages.bash\n },\n 'shell-symbol': {\n pattern: /^[$#%]/,\n alias: 'important'\n }\n }\n },\n output: /.(?:.*(?:[\\r\\n]|.$))*/\n }\n Prism.languages['sh-session'] = Prism.languages['shellsession'] =\n Prism.languages['shell-session']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsmali.displayName = 'smali'\nsmali.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function smali(Prism) {\n // Test files for the parser itself:\n // https://github.com/JesusFreke/smali/tree/master/smali/src/test/resources/LexerTest\n\n Prism.languages.smali = {\n comment: /#.*/,\n string: {\n pattern: /\"(?:[^\\r\\n\\\\\"]|\\\\.)*\"|'(?:[^\\r\\n\\\\']|\\\\(?:.|u[\\da-fA-F]{4}))'/,\n greedy: true\n },\n 'class-name': {\n pattern:\n /(^|[^L])L(?:(?:\\w+|`[^`\\r\\n]*`)\\/)*(?:[\\w$]+|`[^`\\r\\n]*`)(?=\\s*;)/,\n lookbehind: true,\n inside: {\n 'class-name': {\n pattern: /(^L|\\/)(?:[\\w$]+|`[^`\\r\\n]*`)$/,\n lookbehind: true\n },\n namespace: {\n pattern: /^(L)(?:(?:\\w+|`[^`\\r\\n]*`)\\/)+/,\n lookbehind: true,\n inside: {\n punctuation: /\\//\n }\n },\n builtin: /^L/\n }\n },\n builtin: [\n {\n // Reference: https://github.com/JesusFreke/smali/wiki/TypesMethodsAndFields#types\n pattern: /([();\\[])[BCDFIJSVZ]+/,\n lookbehind: true\n },\n {\n // e.g. .field mWifiOnUid:I\n pattern: /([\\w$>]:)[BCDFIJSVZ]/,\n lookbehind: true\n }\n ],\n keyword: [\n {\n pattern: /(\\.end\\s+)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern: /(^|[^\\w.-])\\.(?!\\d)[\\w-]+/,\n lookbehind: true\n },\n {\n pattern:\n /(^|[^\\w.-])(?:abstract|annotation|bridge|constructor|enum|final|interface|private|protected|public|runtime|static|synthetic|system|transient)(?![\\w.-])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^|[^\\w.-])(?:\\w+|<[\\w$-]+>)(?=\\()/,\n lookbehind: true\n },\n field: {\n pattern: /[\\w$]+(?=:)/,\n alias: 'variable'\n },\n register: {\n pattern: /(^|[^\\w.-])[vp]\\d(?![\\w.-])/,\n lookbehind: true,\n alias: 'variable'\n },\n boolean: {\n pattern: /(^|[^\\w.-])(?:false|true)(?![\\w.-])/,\n lookbehind: true\n },\n number: {\n pattern:\n /(^|[^/\\w.-])-?(?:NAN|INFINITY|0x(?:[\\dA-F]+(?:\\.[\\dA-F]*)?|\\.[\\dA-F]+)(?:p[+-]?[\\dA-F]+)?|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?)[dflst]?(?![\\w.-])/i,\n lookbehind: true\n },\n label: {\n pattern: /(:)\\w+/,\n lookbehind: true,\n alias: 'property'\n },\n operator: /->|\\.\\.|[\\[=]/,\n punctuation: /[{}(),;:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsmalltalk.displayName = 'smalltalk'\nsmalltalk.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function smalltalk(Prism) {\n Prism.languages.smalltalk = {\n comment: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n char: {\n pattern: /\\$./,\n greedy: true\n },\n string: {\n pattern: /'(?:''|[^'])*'/,\n greedy: true\n },\n symbol: /#[\\da-z]+|#(?:-|([+\\/\\\\*~<>=@%|&?!])\\1?)|#(?=\\()/i,\n 'block-arguments': {\n pattern: /(\\[\\s*):[^\\[|]*\\|/,\n lookbehind: true,\n inside: {\n variable: /:[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n 'temporary-variables': {\n pattern: /\\|[^|]+\\|/,\n inside: {\n variable: /[\\da-z]+/i,\n punctuation: /\\|/\n }\n },\n keyword: /\\b(?:new|nil|self|super)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: [\n /\\d+r-?[\\dA-Z]+(?:\\.[\\dA-Z]+)?(?:e-?\\d+)?/,\n /\\b\\d+(?:\\.\\d+)?(?:e-?\\d+)?/\n ],\n operator: /[<=]=?|:=|~[~=]|\\/\\/?|\\\\\\\\|>[>=]?|[!^+\\-*&|,@]/,\n punctuation: /[.;:?\\[\\](){}]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nsmarty.displayName = 'smarty'\nsmarty.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function smarty(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.smarty = {\n comment: {\n pattern: /^\\{\\*[\\s\\S]*?\\*\\}/,\n greedy: true\n },\n 'embedded-php': {\n pattern: /^\\{php\\}[\\s\\S]*?\\{\\/php\\}/,\n greedy: true,\n inside: {\n smarty: {\n pattern: /^\\{php\\}|\\{\\/php\\}$/,\n inside: null // see below\n },\n php: {\n pattern: /[\\s\\S]+/,\n alias: 'language-php',\n inside: Prism.languages.php\n }\n }\n },\n string: [\n {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\{[^{}]*\\}|`[^`]*`/,\n inside: {\n 'interpolation-punctuation': {\n pattern: /^[{`]|[`}]$/,\n alias: 'punctuation'\n },\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n variable: /\\$\\w+/\n }\n },\n {\n pattern: /'(?:\\\\.|[^'\\\\\\r\\n])*'/,\n greedy: true\n }\n ],\n keyword: {\n pattern: /(^\\{\\/?)[a-z_]\\w*\\b(?!\\()/i,\n lookbehind: true,\n greedy: true\n },\n delimiter: {\n pattern: /^\\{\\/?|\\}$/,\n greedy: true,\n alias: 'punctuation'\n },\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n variable: [\n /\\$(?!\\d)\\w+/,\n /#(?!\\d)\\w+#/,\n {\n pattern: /(\\.|->|\\w\\s*=)(?!\\d)\\w+\\b(?!\\()/,\n lookbehind: true\n },\n {\n pattern: /(\\[)(?!\\d)\\w+(?=\\])/,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(\\|\\s*)@?[a-z_]\\w*|\\b[a-z_]\\w*(?=\\()/i,\n lookbehind: true\n },\n 'attr-name': /\\b[a-z_]\\w*(?=\\s*=)/i,\n boolean: /\\b(?:false|no|off|on|true|yes)\\b/,\n punctuation: /[\\[\\](){}.,:`]|->/,\n operator: [\n /[+\\-*\\/%]|==?=?|[!<>]=?|&&|\\|\\|?/,\n /\\bis\\s+(?:not\\s+)?(?:div|even|odd)(?:\\s+by)?\\b/,\n /\\b(?:and|eq|gt?e|gt|lt?e|lt|mod|neq?|not|or)\\b/\n ]\n }\n Prism.languages.smarty['embedded-php'].inside.smarty.inside =\n Prism.languages.smarty\n Prism.languages.smarty.string[0].inside.interpolation.inside.expression.inside =\n Prism.languages.smarty\n var string = /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"|'(?:\\\\.|[^'\\\\\\r\\n])*'/\n var smartyPattern = RegExp(\n // comments\n /\\{\\*[\\s\\S]*?\\*\\}/.source +\n '|' +\n // php tags\n /\\{php\\}[\\s\\S]*?\\{\\/php\\}/.source +\n '|' +\n // smarty blocks\n /\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>|\\{(?:[^{}\"']|<str>)*\\})*\\})*\\}/.source.replace(\n /<str>/g,\n function () {\n return string.source\n }\n ),\n 'g'\n )\n\n // Tokenize all inline Smarty expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var smartyLiteralStart = '{literal}'\n var smartyLiteralEnd = '{/literal}'\n var smartyLiteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'smarty',\n smartyPattern,\n function (match) {\n // Smarty tags inside {literal} block are ignored\n if (match === smartyLiteralEnd) {\n smartyLiteralMode = false\n }\n if (!smartyLiteralMode) {\n if (match === smartyLiteralStart) {\n smartyLiteralMode = true\n }\n return true\n }\n return false\n }\n )\n })\n\n // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'smarty')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsml.displayName = 'sml'\nsml.aliases = ['smlnj']\n\n/** @param {Refractor} Prism */\nexport default function sml(Prism) {\n // https://smlfamily.github.io/sml97-defn.pdf\n // https://people.mpi-sws.org/~rossberg/sml.html\n ;(function (Prism) {\n var keywords =\n /\\b(?:abstype|and|andalso|as|case|datatype|do|else|end|eqtype|exception|fn|fun|functor|handle|if|in|include|infix|infixr|let|local|nonfix|of|op|open|orelse|raise|rec|sharing|sig|signature|struct|structure|then|type|val|where|while|with|withtype)\\b/i\n Prism.languages.sml = {\n // allow one level of nesting\n comment:\n /\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*)|\\(\\*(?:[^*(]|\\*(?!\\))|\\((?!\\*))*\\*\\))*\\*\\)/,\n string: {\n pattern: /#?\"(?:[^\"\\\\]|\\\\.)*\"/,\n greedy: true\n },\n 'class-name': [\n {\n // This is only an approximation since the real grammar is context-free\n //\n // Why the main loop so complex?\n // The main loop is approximately the same as /(?:\\s*(?:[*,]|->)\\s*<TERMINAL>)*/ which is, obviously, a lot\n // simpler. The difference is that if a comma is the last iteration of the loop, then the terminal must be\n // followed by a long identifier.\n pattern: RegExp(\n /((?:^|[^:]):\\s*)<TERMINAL>(?:\\s*(?:(?:\\*|->)\\s*<TERMINAL>|,\\s*<TERMINAL>(?:(?=<NOT-LAST>)|(?!<NOT-LAST>)\\s+<LONG-ID>)))*/.source\n .replace(/<NOT-LAST>/g, function () {\n return /\\s*(?:[*,]|->)/.source\n })\n .replace(/<TERMINAL>/g, function () {\n return /(?:'[\\w']*|<LONG-ID>|\\((?:[^()]|\\([^()]*\\))*\\)|\\{(?:[^{}]|\\{[^{}]*\\})*\\})(?:\\s+<LONG-ID>)*/\n .source\n })\n .replace(/<LONG-ID>/g, function () {\n return /(?!<KEYWORD>)[a-z\\d_][\\w'.]*/.source\n })\n .replace(/<KEYWORD>/g, function () {\n return keywords.source\n }),\n 'i'\n ),\n lookbehind: true,\n greedy: true,\n inside: null // see below\n },\n {\n pattern:\n /((?:^|[^\\w'])(?:datatype|exception|functor|signature|structure|type)\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n }\n ],\n function: {\n pattern: /((?:^|[^\\w'])fun\\s+)[a-z_][\\w'.]*/i,\n lookbehind: true\n },\n keyword: keywords,\n variable: {\n pattern: /(^|[^\\w'])'[\\w']*/,\n lookbehind: true\n },\n number: /~?\\b(?:\\d+(?:\\.\\d+)?(?:e~?\\d+)?|0x[\\da-f]+)\\b/i,\n word: {\n pattern: /\\b0w(?:\\d+|x[\\da-f]+)\\b/i,\n alias: 'constant'\n },\n boolean: /\\b(?:false|true)\\b/i,\n operator: /\\.\\.\\.|:[>=:]|=>?|->|[<>]=?|[!+\\-*/^#|@~]/,\n punctuation: /[(){}\\[\\].:,;]/\n }\n Prism.languages.sml['class-name'][0].inside = Prism.languages.sml\n Prism.languages.smlnj = Prism.languages.sml\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nsolidity.displayName = 'solidity'\nsolidity.aliases = ['sol']\n\n/** @param {Refractor} Prism */\nexport default function solidity(Prism) {\n Prism.register(refractorClike)\n Prism.languages.solidity = Prism.languages.extend('clike', {\n 'class-name': {\n pattern:\n /(\\b(?:contract|enum|interface|library|new|struct|using)\\s+)(?!\\d)[\\w$]+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:_|anonymous|as|assembly|assert|break|calldata|case|constant|constructor|continue|contract|default|delete|do|else|emit|enum|event|external|for|from|function|if|import|indexed|inherited|interface|internal|is|let|library|mapping|memory|modifier|new|payable|pragma|private|public|pure|require|returns?|revert|selfdestruct|solidity|storage|struct|suicide|switch|this|throw|using|var|view|while)\\b/,\n operator: /=>|->|:=|=:|\\*\\*|\\+\\+|--|\\|\\||&&|<<=?|>>=?|[-+*/%^&|<>!=]=?|[~?]/\n })\n Prism.languages.insertBefore('solidity', 'keyword', {\n builtin:\n /\\b(?:address|bool|byte|u?int(?:8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?|string|bytes(?:[1-9]|[12]\\d|3[0-2])?)\\b/\n })\n Prism.languages.insertBefore('solidity', 'number', {\n version: {\n pattern: /([<>]=?|\\^)\\d+\\.\\d+\\.\\d+\\b/,\n lookbehind: true,\n alias: 'number'\n }\n })\n Prism.languages.sol = Prism.languages.solidity\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsolutionFile.displayName = 'solution-file'\nsolutionFile.aliases = ['sln']\n\n/** @param {Refractor} Prism */\nexport default function solutionFile(Prism) {\n ;(function (Prism) {\n var guid = {\n // https://en.wikipedia.org/wiki/Universally_unique_identifier#Format\n pattern: /\\{[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{12}\\}/i,\n alias: 'constant',\n inside: {\n punctuation: /[{}]/\n }\n }\n Prism.languages['solution-file'] = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n greedy: true,\n inside: {\n guid: guid\n }\n },\n object: {\n // Foo\n // Bar(\"abs\") = 9\n // EndBar\n // Prop = TRUE\n // EndFoo\n pattern:\n /^([ \\t]*)(?:([A-Z]\\w*)\\b(?=.*(?:\\r\\n?|\\n)(?:\\1[ \\t].*(?:\\r\\n?|\\n))*\\1End\\2(?=[ \\t]*$))|End[A-Z]\\w*(?=[ \\t]*$))/m,\n lookbehind: true,\n greedy: true,\n alias: 'keyword'\n },\n property: {\n pattern: /^([ \\t]*)(?!\\s)[^\\r\\n\"#=()]*[^\\s\"#=()](?=\\s*=)/m,\n lookbehind: true,\n inside: {\n guid: guid\n }\n },\n guid: guid,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n boolean: /\\b(?:FALSE|TRUE)\\b/,\n operator: /=/,\n punctuation: /[(),]/\n }\n Prism.languages['sln'] = Prism.languages['solution-file']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkupTemplating from './markup-templating.js'\nsoy.displayName = 'soy'\nsoy.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function soy(Prism) {\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n var stringPattern = /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/\n var numberPattern = /\\b\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?\\b|\\b0x[\\dA-F]+\\b/\n Prism.languages.soy = {\n comment: [\n /\\/\\*[\\s\\S]*?\\*\\//,\n {\n pattern: /(\\s)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n 'command-arg': {\n pattern:\n /(\\{+\\/?\\s*(?:alias|call|delcall|delpackage|deltemplate|namespace|template)\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'string',\n inside: {\n punctuation: /\\./\n }\n },\n parameter: {\n pattern: /(\\{+\\/?\\s*@?param\\??\\s+)\\.?[\\w.]+/,\n lookbehind: true,\n alias: 'variable'\n },\n keyword: [\n {\n pattern:\n /(\\{+\\/?[^\\S\\r\\n]*)(?:\\\\[nrt]|alias|call|case|css|default|delcall|delpackage|deltemplate|else(?:if)?|fallbackmsg|for(?:each)?|if(?:empty)?|lb|let|literal|msg|namespace|nil|@?param\\??|rb|sp|switch|template|xid)/,\n lookbehind: true\n },\n /\\b(?:any|as|attributes|bool|css|float|html|in|int|js|list|map|null|number|string|uri)\\b/\n ],\n delimiter: {\n pattern: /^\\{+\\/?|\\/?\\}+$/,\n alias: 'punctuation'\n },\n property: /\\w+(?==)/,\n variable: {\n pattern: /\\$[^\\W\\d]\\w*(?:\\??(?:\\.\\w+|\\[[^\\]]+\\]))*/,\n inside: {\n string: {\n pattern: stringPattern,\n greedy: true\n },\n number: numberPattern,\n punctuation: /[\\[\\].?]/\n }\n },\n string: {\n pattern: stringPattern,\n greedy: true\n },\n function: [\n /\\w+(?=\\()/,\n {\n pattern: /(\\|[^\\S\\r\\n]*)\\w+/,\n lookbehind: true\n }\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: numberPattern,\n operator: /\\?:?|<=?|>=?|==?|!=|[+*/%-]|\\b(?:and|not|or)\\b/,\n punctuation: /[{}()\\[\\]|.,:]/\n }\n\n // Tokenize all inline Soy expressions\n Prism.hooks.add('before-tokenize', function (env) {\n var soyPattern = /\\{\\{.+?\\}\\}|\\{.+?\\}|\\s\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//g\n var soyLitteralStart = '{literal}'\n var soyLitteralEnd = '{/literal}'\n var soyLitteralMode = false\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'soy',\n soyPattern,\n function (match) {\n // Soy tags inside {literal} block are ignored\n if (match === soyLitteralEnd) {\n soyLitteralMode = false\n }\n if (!soyLitteralMode) {\n if (match === soyLitteralStart) {\n soyLitteralMode = true\n }\n return true\n }\n return false\n }\n )\n })\n\n // Re-insert the tokens after tokenizing\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'soy')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nturtle.displayName = 'turtle'\nturtle.aliases = ['trig']\n\n/** @param {Refractor} Prism */\nexport default function turtle(Prism) {\n Prism.languages.turtle = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n 'multiline-string': {\n pattern:\n /\"\"\"(?:(?:\"\"?)?(?:[^\"\\\\]|\\\\.))*\"\"\"|'''(?:(?:''?)?(?:[^'\\\\]|\\\\.))*'''/,\n greedy: true,\n alias: 'string',\n inside: {\n comment: /#.*/\n }\n },\n string: {\n pattern: /\"(?:[^\\\\\"\\r\\n]|\\\\.)*\"|'(?:[^\\\\'\\r\\n]|\\\\.)*'/,\n greedy: true\n },\n url: {\n pattern:\n /<(?:[^\\x00-\\x20<>\"{}|^`\\\\]|\\\\(?:u[\\da-fA-F]{4}|U[\\da-fA-F]{8}))*>/,\n greedy: true,\n inside: {\n punctuation: /[<>]/\n }\n },\n function: {\n pattern:\n /(?:(?![-.\\d\\xB7])[-.\\w\\xB7\\xC0-\\uFFFD]+)?:(?:(?![-.])(?:[-.:\\w\\xC0-\\uFFFD]|%[\\da-f]{2}|\\\\.)+)?/i,\n inside: {\n 'local-name': {\n pattern: /([^:]*:)[\\s\\S]+/,\n lookbehind: true\n },\n prefix: {\n pattern: /[\\s\\S]+/,\n inside: {\n punctuation: /:/\n }\n }\n }\n },\n number: /[+-]?\\b\\d+(?:\\.\\d*)?(?:e[+-]?\\d+)?/i,\n punctuation: /[{}.,;()[\\]]|\\^\\^/,\n boolean: /\\b(?:false|true)\\b/,\n keyword: [/(?:\\ba|@prefix|@base)\\b|=/, /\\b(?:base|graph|prefix)\\b/i],\n tag: {\n pattern: /@[a-z]+(?:-[a-z\\d]+)*/i,\n inside: {\n punctuation: /@/\n }\n }\n }\n Prism.languages.trig = Prism.languages['turtle']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorTurtle from './turtle.js'\nsparql.displayName = 'sparql'\nsparql.aliases = ['rq']\n\n/** @param {Refractor} Prism */\nexport default function sparql(Prism) {\n Prism.register(refractorTurtle)\n Prism.languages.sparql = Prism.languages.extend('turtle', {\n boolean: /\\b(?:false|true)\\b/i,\n variable: {\n pattern: /[?$]\\w+/,\n greedy: true\n }\n })\n Prism.languages.insertBefore('sparql', 'punctuation', {\n keyword: [\n /\\b(?:A|ADD|ALL|AS|ASC|ASK|BNODE|BY|CLEAR|CONSTRUCT|COPY|CREATE|DATA|DEFAULT|DELETE|DESC|DESCRIBE|DISTINCT|DROP|EXISTS|FILTER|FROM|GROUP|HAVING|INSERT|INTO|LIMIT|LOAD|MINUS|MOVE|NAMED|NOT|NOW|OFFSET|OPTIONAL|ORDER|RAND|REDUCED|SELECT|SEPARATOR|SERVICE|SILENT|STRUUID|UNION|USING|UUID|VALUES|WHERE)\\b/i,\n /\\b(?:ABS|AVG|BIND|BOUND|CEIL|COALESCE|CONCAT|CONTAINS|COUNT|DATATYPE|DAY|ENCODE_FOR_URI|FLOOR|GROUP_CONCAT|HOURS|IF|IRI|isBLANK|isIRI|isLITERAL|isNUMERIC|isURI|LANG|LANGMATCHES|LCASE|MAX|MD5|MIN|MINUTES|MONTH|REGEX|REPLACE|ROUND|sameTerm|SAMPLE|SECONDS|SHA1|SHA256|SHA384|SHA512|STR|STRAFTER|STRBEFORE|STRDT|STRENDS|STRLANG|STRLEN|STRSTARTS|SUBSTR|SUM|TIMEZONE|TZ|UCASE|URI|YEAR)\\b(?=\\s*\\()/i,\n /\\b(?:BASE|GRAPH|PREFIX)\\b/i\n ]\n })\n Prism.languages.rq = Prism.languages.sparql\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsplunkSpl.displayName = 'splunk-spl'\nsplunkSpl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function splunkSpl(Prism) {\n Prism.languages['splunk-spl'] = {\n comment: /`comment\\(\"(?:\\\\.|[^\\\\\"])*\"\\)`/,\n string: {\n pattern: /\"(?:\\\\.|[^\\\\\"])*\"/,\n greedy: true\n },\n // https://docs.splunk.com/Documentation/Splunk/7.3.0/SearchReference/ListOfSearchCommands\n keyword:\n /\\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\\b/i,\n 'operator-word': {\n pattern: /\\b(?:and|as|by|not|or|xor)\\b/i,\n alias: 'operator'\n },\n function: /\\b\\w+(?=\\s*\\()/,\n property: /\\b\\w+(?=\\s*=(?!=))/,\n date: {\n // MM/DD/YYYY(:HH:MM:SS)?\n pattern: /\\b\\d{1,2}\\/\\d{1,2}\\/\\d{1,4}(?:(?::\\d{1,2}){3})?\\b/,\n alias: 'number'\n },\n number: /\\b\\d+(?:\\.\\d+)?\\b/,\n boolean: /\\b(?:f|false|t|true)\\b/i,\n operator: /[<>=]=?|[-+*/%|]/,\n punctuation: /[()[\\],]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nsqf.displayName = 'sqf'\nsqf.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function sqf(Prism) {\n Prism.register(refractorClike)\n Prism.languages.sqf = Prism.languages.extend('clike', {\n string: {\n pattern: /\"(?:(?:\"\")?[^\"])*\"(?!\")|'(?:[^'])*'/,\n greedy: true\n },\n keyword:\n /\\b(?:breakOut|breakTo|call|case|catch|default|do|echo|else|execFSM|execVM|exitWith|for|forEach|forEachMember|forEachMemberAgent|forEachMemberTeam|from|goto|if|nil|preprocessFile|preprocessFileLineNumbers|private|scopeName|spawn|step|switch|then|throw|to|try|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function:\n /\\b(?:abs|accTime|acos|action|actionIDs|actionKeys|actionKeysImages|actionKeysNames|actionKeysNamesArray|actionName|actionParams|activateAddons|activatedAddons|activateKey|add3DENConnection|add3DENEventHandler|add3DENLayer|addAction|addBackpack|addBackpackCargo|addBackpackCargoGlobal|addBackpackGlobal|addCamShake|addCuratorAddons|addCuratorCameraArea|addCuratorEditableObjects|addCuratorEditingArea|addCuratorPoints|addEditorObject|addEventHandler|addForce|addForceGeneratorRTD|addGoggles|addGroupIcon|addHandgunItem|addHeadgear|addItem|addItemCargo|addItemCargoGlobal|addItemPool|addItemToBackpack|addItemToUniform|addItemToVest|addLiveStats|addMagazine|addMagazineAmmoCargo|addMagazineCargo|addMagazineCargoGlobal|addMagazineGlobal|addMagazinePool|addMagazines|addMagazineTurret|addMenu|addMenuItem|addMissionEventHandler|addMPEventHandler|addMusicEventHandler|addOwnedMine|addPlayerScores|addPrimaryWeaponItem|addPublicVariableEventHandler|addRating|addResources|addScore|addScoreSide|addSecondaryWeaponItem|addSwitchableUnit|addTeamMember|addToRemainsCollector|addTorque|addUniform|addVehicle|addVest|addWaypoint|addWeapon|addWeaponCargo|addWeaponCargoGlobal|addWeaponGlobal|addWeaponItem|addWeaponPool|addWeaponTurret|admin|agent|agents|AGLToASL|aimedAtTarget|aimPos|airDensityCurveRTD|airDensityRTD|airplaneThrottle|airportSide|AISFinishHeal|alive|all3DENEntities|allAirports|allControls|allCurators|allCutLayers|allDead|allDeadMen|allDisplays|allGroups|allMapMarkers|allMines|allMissionObjects|allow3DMode|allowCrewInImmobile|allowCuratorLogicIgnoreAreas|allowDamage|allowDammage|allowFileOperations|allowFleeing|allowGetIn|allowSprint|allPlayers|allSimpleObjects|allSites|allTurrets|allUnits|allUnitsUAV|allVariables|ammo|ammoOnPylon|animate|animateBay|animateDoor|animatePylon|animateSource|animationNames|animationPhase|animationSourcePhase|animationState|append|apply|armoryPoints|arrayIntersect|asin|ASLToAGL|ASLToATL|assert|assignAsCargo|assignAsCargoIndex|assignAsCommander|assignAsDriver|assignAsGunner|assignAsTurret|assignCurator|assignedCargo|assignedCommander|assignedDriver|assignedGunner|assignedItems|assignedTarget|assignedTeam|assignedVehicle|assignedVehicleRole|assignItem|assignTeam|assignToAirport|atan|atan2|atg|ATLToASL|attachedObject|attachedObjects|attachedTo|attachObject|attachTo|attackEnabled|backpack|backpackCargo|backpackContainer|backpackItems|backpackMagazines|backpackSpaceFor|behaviour|benchmark|binocular|blufor|boundingBox|boundingBoxReal|boundingCenter|briefingName|buildingExit|buildingPos|buldozer_EnableRoadDiag|buldozer_IsEnabledRoadDiag|buldozer_LoadNewRoads|buldozer_reloadOperMap|buttonAction|buttonSetAction|cadetMode|callExtension|camCommand|camCommit|camCommitPrepared|camCommitted|camConstuctionSetParams|camCreate|camDestroy|cameraEffect|cameraEffectEnableHUD|cameraInterest|cameraOn|cameraView|campaignConfigFile|camPreload|camPreloaded|camPrepareBank|camPrepareDir|camPrepareDive|camPrepareFocus|camPrepareFov|camPrepareFovRange|camPreparePos|camPrepareRelPos|camPrepareTarget|camSetBank|camSetDir|camSetDive|camSetFocus|camSetFov|camSetFovRange|camSetPos|camSetRelPos|camSetTarget|camTarget|camUseNVG|canAdd|canAddItemToBackpack|canAddItemToUniform|canAddItemToVest|cancelSimpleTaskDestination|canFire|canMove|canSlingLoad|canStand|canSuspend|canTriggerDynamicSimulation|canUnloadInCombat|canVehicleCargo|captive|captiveNum|cbChecked|cbSetChecked|ceil|channelEnabled|cheatsEnabled|checkAIFeature|checkVisibility|civilian|className|clear3DENAttribute|clear3DENInventory|clearAllItemsFromBackpack|clearBackpackCargo|clearBackpackCargoGlobal|clearForcesRTD|clearGroupIcons|clearItemCargo|clearItemCargoGlobal|clearItemPool|clearMagazineCargo|clearMagazineCargoGlobal|clearMagazinePool|clearOverlay|clearRadio|clearVehicleInit|clearWeaponCargo|clearWeaponCargoGlobal|clearWeaponPool|clientOwner|closeDialog|closeDisplay|closeOverlay|collapseObjectTree|collect3DENHistory|collectiveRTD|combatMode|commandArtilleryFire|commandChat|commander|commandFire|commandFollow|commandFSM|commandGetOut|commandingMenu|commandMove|commandRadio|commandStop|commandSuppressiveFire|commandTarget|commandWatch|comment|commitOverlay|compile|compileFinal|completedFSM|composeText|configClasses|configFile|configHierarchy|configName|configNull|configProperties|configSourceAddonList|configSourceMod|configSourceModList|confirmSensorTarget|connectTerminalToUAV|controlNull|controlsGroupCtrl|copyFromClipboard|copyToClipboard|copyWaypoints|cos|count|countEnemy|countFriendly|countSide|countType|countUnknown|create3DENComposition|create3DENEntity|createAgent|createCenter|createDialog|createDiaryLink|createDiaryRecord|createDiarySubject|createDisplay|createGearDialog|createGroup|createGuardedPoint|createLocation|createMarker|createMarkerLocal|createMenu|createMine|createMissionDisplay|createMPCampaignDisplay|createSimpleObject|createSimpleTask|createSite|createSoundSource|createTask|createTeam|createTrigger|createUnit|createVehicle|createVehicleCrew|createVehicleLocal|crew|ctAddHeader|ctAddRow|ctClear|ctCurSel|ctData|ctFindHeaderRows|ctFindRowHeader|ctHeaderControls|ctHeaderCount|ctRemoveHeaders|ctRemoveRows|ctrlActivate|ctrlAddEventHandler|ctrlAngle|ctrlAutoScrollDelay|ctrlAutoScrollRewind|ctrlAutoScrollSpeed|ctrlChecked|ctrlClassName|ctrlCommit|ctrlCommitted|ctrlCreate|ctrlDelete|ctrlEnable|ctrlEnabled|ctrlFade|ctrlHTMLLoaded|ctrlIDC|ctrlIDD|ctrlMapAnimAdd|ctrlMapAnimClear|ctrlMapAnimCommit|ctrlMapAnimDone|ctrlMapCursor|ctrlMapMouseOver|ctrlMapScale|ctrlMapScreenToWorld|ctrlMapWorldToScreen|ctrlModel|ctrlModelDirAndUp|ctrlModelScale|ctrlParent|ctrlParentControlsGroup|ctrlPosition|ctrlRemoveAllEventHandlers|ctrlRemoveEventHandler|ctrlScale|ctrlSetActiveColor|ctrlSetAngle|ctrlSetAutoScrollDelay|ctrlSetAutoScrollRewind|ctrlSetAutoScrollSpeed|ctrlSetBackgroundColor|ctrlSetChecked|ctrlSetDisabledColor|ctrlSetEventHandler|ctrlSetFade|ctrlSetFocus|ctrlSetFont|ctrlSetFontH1|ctrlSetFontH1B|ctrlSetFontH2|ctrlSetFontH2B|ctrlSetFontH3|ctrlSetFontH3B|ctrlSetFontH4|ctrlSetFontH4B|ctrlSetFontH5|ctrlSetFontH5B|ctrlSetFontH6|ctrlSetFontH6B|ctrlSetFontHeight|ctrlSetFontHeightH1|ctrlSetFontHeightH2|ctrlSetFontHeightH3|ctrlSetFontHeightH4|ctrlSetFontHeightH5|ctrlSetFontHeightH6|ctrlSetFontHeightSecondary|ctrlSetFontP|ctrlSetFontPB|ctrlSetFontSecondary|ctrlSetForegroundColor|ctrlSetModel|ctrlSetModelDirAndUp|ctrlSetModelScale|ctrlSetPixelPrecision|ctrlSetPosition|ctrlSetScale|ctrlSetStructuredText|ctrlSetText|ctrlSetTextColor|ctrlSetTextColorSecondary|ctrlSetTextSecondary|ctrlSetTooltip|ctrlSetTooltipColorBox|ctrlSetTooltipColorShade|ctrlSetTooltipColorText|ctrlShow|ctrlShown|ctrlText|ctrlTextHeight|ctrlTextSecondary|ctrlTextWidth|ctrlType|ctrlVisible|ctRowControls|ctRowCount|ctSetCurSel|ctSetData|ctSetHeaderTemplate|ctSetRowTemplate|ctSetValue|ctValue|curatorAddons|curatorCamera|curatorCameraArea|curatorCameraAreaCeiling|curatorCoef|curatorEditableObjects|curatorEditingArea|curatorEditingAreaType|curatorMouseOver|curatorPoints|curatorRegisteredObjects|curatorSelected|curatorWaypointCost|current3DENOperation|currentChannel|currentCommand|currentMagazine|currentMagazineDetail|currentMagazineDetailTurret|currentMagazineTurret|currentMuzzle|currentNamespace|currentTask|currentTasks|currentThrowable|currentVisionMode|currentWaypoint|currentWeapon|currentWeaponMode|currentWeaponTurret|currentZeroing|cursorObject|cursorTarget|customChat|customRadio|cutFadeOut|cutObj|cutRsc|cutText|damage|date|dateToNumber|daytime|deActivateKey|debriefingText|debugFSM|debugLog|deg|delete3DENEntities|deleteAt|deleteCenter|deleteCollection|deleteEditorObject|deleteGroup|deleteGroupWhenEmpty|deleteIdentity|deleteLocation|deleteMarker|deleteMarkerLocal|deleteRange|deleteResources|deleteSite|deleteStatus|deleteTeam|deleteVehicle|deleteVehicleCrew|deleteWaypoint|detach|detectedMines|diag_activeMissionFSMs|diag_activeScripts|diag_activeSQFScripts|diag_activeSQSScripts|diag_captureFrame|diag_captureFrameToFile|diag_captureSlowFrame|diag_codePerformance|diag_drawMode|diag_dynamicSimulationEnd|diag_enable|diag_enabled|diag_fps|diag_fpsMin|diag_frameNo|diag_lightNewLoad|diag_list|diag_log|diag_logSlowFrame|diag_mergeConfigFile|diag_recordTurretLimits|diag_setLightNew|diag_tickTime|diag_toggle|dialog|diarySubjectExists|didJIP|didJIPOwner|difficulty|difficultyEnabled|difficultyEnabledRTD|difficultyOption|direction|directSay|disableAI|disableCollisionWith|disableConversation|disableDebriefingStats|disableMapIndicators|disableNVGEquipment|disableRemoteSensors|disableSerialization|disableTIEquipment|disableUAVConnectability|disableUserInput|displayAddEventHandler|displayCtrl|displayNull|displayParent|displayRemoveAllEventHandlers|displayRemoveEventHandler|displaySetEventHandler|dissolveTeam|distance|distance2D|distanceSqr|distributionRegion|do3DENAction|doArtilleryFire|doFire|doFollow|doFSM|doGetOut|doMove|doorPhase|doStop|doSuppressiveFire|doTarget|doWatch|drawArrow|drawEllipse|drawIcon|drawIcon3D|drawLine|drawLine3D|drawLink|drawLocation|drawPolygon|drawRectangle|drawTriangle|driver|drop|dynamicSimulationDistance|dynamicSimulationDistanceCoef|dynamicSimulationEnabled|dynamicSimulationSystemEnabled|east|edit3DENMissionAttributes|editObject|editorSetEventHandler|effectiveCommander|emptyPositions|enableAI|enableAIFeature|enableAimPrecision|enableAttack|enableAudioFeature|enableAutoStartUpRTD|enableAutoTrimRTD|enableCamShake|enableCaustics|enableChannel|enableCollisionWith|enableCopilot|enableDebriefingStats|enableDiagLegend|enableDynamicSimulation|enableDynamicSimulationSystem|enableEndDialog|enableEngineArtillery|enableEnvironment|enableFatigue|enableGunLights|enableInfoPanelComponent|enableIRLasers|enableMimics|enablePersonTurret|enableRadio|enableReload|enableRopeAttach|enableSatNormalOnDetail|enableSaving|enableSentences|enableSimulation|enableSimulationGlobal|enableStamina|enableStressDamage|enableTeamSwitch|enableTraffic|enableUAVConnectability|enableUAVWaypoints|enableVehicleCargo|enableVehicleSensor|enableWeaponDisassembly|endl|endLoadingScreen|endMission|engineOn|enginesIsOnRTD|enginesPowerRTD|enginesRpmRTD|enginesTorqueRTD|entities|environmentEnabled|estimatedEndServerTime|estimatedTimeLeft|evalObjectArgument|everyBackpack|everyContainer|exec|execEditorScript|exp|expectedDestination|exportJIPMessages|eyeDirection|eyePos|face|faction|fadeMusic|fadeRadio|fadeSound|fadeSpeech|failMission|fillWeaponsFromPool|find|findCover|findDisplay|findEditorObject|findEmptyPosition|findEmptyPositionReady|findIf|findNearestEnemy|finishMissionInit|finite|fire|fireAtTarget|firstBackpack|flag|flagAnimationPhase|flagOwner|flagSide|flagTexture|fleeing|floor|flyInHeight|flyInHeightASL|fog|fogForecast|fogParams|forceAddUniform|forceAtPositionRTD|forcedMap|forceEnd|forceFlagTexture|forceFollowRoad|forceGeneratorRTD|forceMap|forceRespawn|forceSpeed|forceWalk|forceWeaponFire|forceWeatherChange|forgetTarget|format|formation|formationDirection|formationLeader|formationMembers|formationPosition|formationTask|formatText|formLeader|freeLook|fromEditor|fuel|fullCrew|gearIDCAmmoCount|gearSlotAmmoCount|gearSlotData|get3DENActionState|get3DENAttribute|get3DENCamera|get3DENConnections|get3DENEntity|get3DENEntityID|get3DENGrid|get3DENIconsVisible|get3DENLayerEntities|get3DENLinesVisible|get3DENMissionAttribute|get3DENMouseOver|get3DENSelected|getAimingCoef|getAllEnvSoundControllers|getAllHitPointsDamage|getAllOwnedMines|getAllSoundControllers|getAmmoCargo|getAnimAimPrecision|getAnimSpeedCoef|getArray|getArtilleryAmmo|getArtilleryComputerSettings|getArtilleryETA|getAssignedCuratorLogic|getAssignedCuratorUnit|getBackpackCargo|getBleedingRemaining|getBurningValue|getCameraViewDirection|getCargoIndex|getCenterOfMass|getClientState|getClientStateNumber|getCompatiblePylonMagazines|getConnectedUAV|getContainerMaxLoad|getCursorObjectParams|getCustomAimCoef|getDammage|getDescription|getDir|getDirVisual|getDLCAssetsUsage|getDLCAssetsUsageByName|getDLCs|getDLCUsageTime|getEditorCamera|getEditorMode|getEditorObjectScope|getElevationOffset|getEngineTargetRpmRTD|getEnvSoundController|getFatigue|getFieldManualStartPage|getForcedFlagTexture|getFriend|getFSMVariable|getFuelCargo|getGroupIcon|getGroupIconParams|getGroupIcons|getHideFrom|getHit|getHitIndex|getHitPointDamage|getItemCargo|getMagazineCargo|getMarkerColor|getMarkerPos|getMarkerSize|getMarkerType|getMass|getMissionConfig|getMissionConfigValue|getMissionDLCs|getMissionLayerEntities|getMissionLayers|getModelInfo|getMousePosition|getMusicPlayedTime|getNumber|getObjectArgument|getObjectChildren|getObjectDLC|getObjectMaterials|getObjectProxy|getObjectTextures|getObjectType|getObjectViewDistance|getOxygenRemaining|getPersonUsedDLCs|getPilotCameraDirection|getPilotCameraPosition|getPilotCameraRotation|getPilotCameraTarget|getPlateNumber|getPlayerChannel|getPlayerScores|getPlayerUID|getPlayerUIDOld|getPos|getPosASL|getPosASLVisual|getPosASLW|getPosATL|getPosATLVisual|getPosVisual|getPosWorld|getPylonMagazines|getRelDir|getRelPos|getRemoteSensorsDisabled|getRepairCargo|getResolution|getRotorBrakeRTD|getShadowDistance|getShotParents|getSlingLoad|getSoundController|getSoundControllerResult|getSpeed|getStamina|getStatValue|getSuppression|getTerrainGrid|getTerrainHeightASL|getText|getTotalDLCUsageTime|getTrimOffsetRTD|getUnitLoadout|getUnitTrait|getUserMFDText|getUserMFDValue|getVariable|getVehicleCargo|getWeaponCargo|getWeaponSway|getWingsOrientationRTD|getWingsPositionRTD|getWPPos|glanceAt|globalChat|globalRadio|goggles|group|groupChat|groupFromNetId|groupIconSelectable|groupIconsVisible|groupId|groupOwner|groupRadio|groupSelectedUnits|groupSelectUnit|grpNull|gunner|gusts|halt|handgunItems|handgunMagazine|handgunWeapon|handsHit|hasInterface|hasPilotCamera|hasWeapon|hcAllGroups|hcGroupParams|hcLeader|hcRemoveAllGroups|hcRemoveGroup|hcSelected|hcSelectGroup|hcSetGroup|hcShowBar|hcShownBar|headgear|hideBody|hideObject|hideObjectGlobal|hideSelection|hint|hintC|hintCadet|hintSilent|hmd|hostMission|htmlLoad|HUDMovementLevels|humidity|image|importAllGroups|importance|in|inArea|inAreaArray|incapacitatedState|independent|inflame|inflamed|infoPanel|infoPanelComponentEnabled|infoPanelComponents|infoPanels|inGameUISetEventHandler|inheritsFrom|initAmbientLife|inPolygon|inputAction|inRangeOfArtillery|insertEditorObject|intersect|is3DEN|is3DENMultiplayer|isAbleToBreathe|isAgent|isAimPrecisionEnabled|isArray|isAutoHoverOn|isAutonomous|isAutoStartUpEnabledRTD|isAutotest|isAutoTrimOnRTD|isBleeding|isBurning|isClass|isCollisionLightOn|isCopilotEnabled|isDamageAllowed|isDedicated|isDLCAvailable|isEngineOn|isEqualTo|isEqualType|isEqualTypeAll|isEqualTypeAny|isEqualTypeArray|isEqualTypeParams|isFilePatchingEnabled|isFlashlightOn|isFlatEmpty|isForcedWalk|isFormationLeader|isGroupDeletedWhenEmpty|isHidden|isInRemainsCollector|isInstructorFigureEnabled|isIRLaserOn|isKeyActive|isKindOf|isLaserOn|isLightOn|isLocalized|isManualFire|isMarkedForCollection|isMultiplayer|isMultiplayerSolo|isNil|isNull|isNumber|isObjectHidden|isObjectRTD|isOnRoad|isPipEnabled|isPlayer|isRealTime|isRemoteExecuted|isRemoteExecutedJIP|isServer|isShowing3DIcons|isSimpleObject|isSprintAllowed|isStaminaEnabled|isSteamMission|isStreamFriendlyUIEnabled|isStressDamageEnabled|isText|isTouchingGround|isTurnedOut|isTutHintsEnabled|isUAVConnectable|isUAVConnected|isUIContext|isUniformAllowed|isVehicleCargo|isVehicleRadarOn|isVehicleSensorEnabled|isWalking|isWeaponDeployed|isWeaponRested|itemCargo|items|itemsWithMagazines|join|joinAs|joinAsSilent|joinSilent|joinString|kbAddDatabase|kbAddDatabaseTargets|kbAddTopic|kbHasTopic|kbReact|kbRemoveTopic|kbTell|kbWasSaid|keyImage|keyName|knowsAbout|land|landAt|landResult|language|laserTarget|lbAdd|lbClear|lbColor|lbColorRight|lbCurSel|lbData|lbDelete|lbIsSelected|lbPicture|lbPictureRight|lbSelection|lbSetColor|lbSetColorRight|lbSetCurSel|lbSetData|lbSetPicture|lbSetPictureColor|lbSetPictureColorDisabled|lbSetPictureColorSelected|lbSetPictureRight|lbSetPictureRightColor|lbSetPictureRightColorDisabled|lbSetPictureRightColorSelected|lbSetSelectColor|lbSetSelectColorRight|lbSetSelected|lbSetText|lbSetTextRight|lbSetTooltip|lbSetValue|lbSize|lbSort|lbSortByValue|lbText|lbTextRight|lbValue|leader|leaderboardDeInit|leaderboardGetRows|leaderboardInit|leaderboardRequestRowsFriends|leaderboardRequestRowsGlobal|leaderboardRequestRowsGlobalAroundUser|leaderboardsRequestUploadScore|leaderboardsRequestUploadScoreKeepBest|leaderboardState|leaveVehicle|libraryCredits|libraryDisclaimers|lifeState|lightAttachObject|lightDetachObject|lightIsOn|lightnings|limitSpeed|linearConversion|lineBreak|lineIntersects|lineIntersectsObjs|lineIntersectsSurfaces|lineIntersectsWith|linkItem|list|listObjects|listRemoteTargets|listVehicleSensors|ln|lnbAddArray|lnbAddColumn|lnbAddRow|lnbClear|lnbColor|lnbColorRight|lnbCurSelRow|lnbData|lnbDeleteColumn|lnbDeleteRow|lnbGetColumnsPosition|lnbPicture|lnbPictureRight|lnbSetColor|lnbSetColorRight|lnbSetColumnsPos|lnbSetCurSelRow|lnbSetData|lnbSetPicture|lnbSetPictureColor|lnbSetPictureColorRight|lnbSetPictureColorSelected|lnbSetPictureColorSelectedRight|lnbSetPictureRight|lnbSetText|lnbSetTextRight|lnbSetValue|lnbSize|lnbSort|lnbSortByValue|lnbText|lnbTextRight|lnbValue|load|loadAbs|loadBackpack|loadFile|loadGame|loadIdentity|loadMagazine|loadOverlay|loadStatus|loadUniform|loadVest|local|localize|locationNull|locationPosition|lock|lockCameraTo|lockCargo|lockDriver|locked|lockedCargo|lockedDriver|lockedTurret|lockIdentity|lockTurret|lockWP|log|logEntities|logNetwork|logNetworkTerminate|lookAt|lookAtPos|magazineCargo|magazines|magazinesAllTurrets|magazinesAmmo|magazinesAmmoCargo|magazinesAmmoFull|magazinesDetail|magazinesDetailBackpack|magazinesDetailUniform|magazinesDetailVest|magazinesTurret|magazineTurretAmmo|mapAnimAdd|mapAnimClear|mapAnimCommit|mapAnimDone|mapCenterOnCamera|mapGridPosition|markAsFinishedOnSteam|markerAlpha|markerBrush|markerColor|markerDir|markerPos|markerShape|markerSize|markerText|markerType|max|members|menuAction|menuAdd|menuChecked|menuClear|menuCollapse|menuData|menuDelete|menuEnable|menuEnabled|menuExpand|menuHover|menuPicture|menuSetAction|menuSetCheck|menuSetData|menuSetPicture|menuSetValue|menuShortcut|menuShortcutText|menuSize|menuSort|menuText|menuURL|menuValue|min|mineActive|mineDetectedBy|missionConfigFile|missionDifficulty|missionName|missionNamespace|missionStart|missionVersion|modelToWorld|modelToWorldVisual|modelToWorldVisualWorld|modelToWorldWorld|modParams|moonIntensity|moonPhase|morale|move|move3DENCamera|moveInAny|moveInCargo|moveInCommander|moveInDriver|moveInGunner|moveInTurret|moveObjectToEnd|moveOut|moveTime|moveTo|moveToCompleted|moveToFailed|musicVolume|name|nameSound|nearEntities|nearestBuilding|nearestLocation|nearestLocations|nearestLocationWithDubbing|nearestObject|nearestObjects|nearestTerrainObjects|nearObjects|nearObjectsReady|nearRoads|nearSupplies|nearTargets|needReload|netId|netObjNull|newOverlay|nextMenuItemIndex|nextWeatherChange|nMenuItems|numberOfEnginesRTD|numberToDate|objectCurators|objectFromNetId|objectParent|objNull|objStatus|onBriefingGear|onBriefingGroup|onBriefingNotes|onBriefingPlan|onBriefingTeamSwitch|onCommandModeChanged|onDoubleClick|onEachFrame|onGroupIconClick|onGroupIconOverEnter|onGroupIconOverLeave|onHCGroupSelectionChanged|onMapSingleClick|onPlayerConnected|onPlayerDisconnected|onPreloadFinished|onPreloadStarted|onShowNewObject|onTeamSwitch|openCuratorInterface|openDLCPage|openDSInterface|openMap|openSteamApp|openYoutubeVideo|opfor|orderGetIn|overcast|overcastForecast|owner|param|params|parseNumber|parseSimpleArray|parseText|parsingNamespace|particlesQuality|pi|pickWeaponPool|pitch|pixelGrid|pixelGridBase|pixelGridNoUIScale|pixelH|pixelW|playableSlotsNumber|playableUnits|playAction|playActionNow|player|playerRespawnTime|playerSide|playersNumber|playGesture|playMission|playMove|playMoveNow|playMusic|playScriptedMission|playSound|playSound3D|position|positionCameraToWorld|posScreenToWorld|posWorldToScreen|ppEffectAdjust|ppEffectCommit|ppEffectCommitted|ppEffectCreate|ppEffectDestroy|ppEffectEnable|ppEffectEnabled|ppEffectForceInNVG|precision|preloadCamera|preloadObject|preloadSound|preloadTitleObj|preloadTitleRsc|primaryWeapon|primaryWeaponItems|primaryWeaponMagazine|priority|processDiaryLink|processInitCommands|productVersion|profileName|profileNamespace|profileNameSteam|progressLoadingScreen|progressPosition|progressSetPosition|publicVariable|publicVariableClient|publicVariableServer|pushBack|pushBackUnique|putWeaponPool|queryItemsPool|queryMagazinePool|queryWeaponPool|rad|radioChannelAdd|radioChannelCreate|radioChannelRemove|radioChannelSetCallSign|radioChannelSetLabel|radioVolume|rain|rainbow|random|rank|rankId|rating|rectangular|registeredTasks|registerTask|reload|reloadEnabled|remoteControl|remoteExec|remoteExecCall|remoteExecutedOwner|remove3DENConnection|remove3DENEventHandler|remove3DENLayer|removeAction|removeAll3DENEventHandlers|removeAllActions|removeAllAssignedItems|removeAllContainers|removeAllCuratorAddons|removeAllCuratorCameraAreas|removeAllCuratorEditingAreas|removeAllEventHandlers|removeAllHandgunItems|removeAllItems|removeAllItemsWithMagazines|removeAllMissionEventHandlers|removeAllMPEventHandlers|removeAllMusicEventHandlers|removeAllOwnedMines|removeAllPrimaryWeaponItems|removeAllWeapons|removeBackpack|removeBackpackGlobal|removeCuratorAddons|removeCuratorCameraArea|removeCuratorEditableObjects|removeCuratorEditingArea|removeDrawIcon|removeDrawLinks|removeEventHandler|removeFromRemainsCollector|removeGoggles|removeGroupIcon|removeHandgunItem|removeHeadgear|removeItem|removeItemFromBackpack|removeItemFromUniform|removeItemFromVest|removeItems|removeMagazine|removeMagazineGlobal|removeMagazines|removeMagazinesTurret|removeMagazineTurret|removeMenuItem|removeMissionEventHandler|removeMPEventHandler|removeMusicEventHandler|removeOwnedMine|removePrimaryWeaponItem|removeSecondaryWeaponItem|removeSimpleTask|removeSwitchableUnit|removeTeamMember|removeUniform|removeVest|removeWeapon|removeWeaponAttachmentCargo|removeWeaponCargo|removeWeaponGlobal|removeWeaponTurret|reportRemoteTarget|requiredVersion|resetCamShake|resetSubgroupDirection|resistance|resize|resources|respawnVehicle|restartEditorCamera|reveal|revealMine|reverse|reversedMouseY|roadAt|roadsConnectedTo|roleDescription|ropeAttachedObjects|ropeAttachedTo|ropeAttachEnabled|ropeAttachTo|ropeCreate|ropeCut|ropeDestroy|ropeDetach|ropeEndPosition|ropeLength|ropes|ropeUnwind|ropeUnwound|rotorsForcesRTD|rotorsRpmRTD|round|runInitScript|safeZoneH|safeZoneW|safeZoneWAbs|safeZoneX|safeZoneXAbs|safeZoneY|save3DENInventory|saveGame|saveIdentity|saveJoysticks|saveOverlay|saveProfileNamespace|saveStatus|saveVar|savingEnabled|say|say2D|say3D|score|scoreSide|screenshot|screenToWorld|scriptDone|scriptName|scriptNull|scudState|secondaryWeapon|secondaryWeaponItems|secondaryWeaponMagazine|select|selectBestPlaces|selectDiarySubject|selectedEditorObjects|selectEditorObject|selectionNames|selectionPosition|selectLeader|selectMax|selectMin|selectNoPlayer|selectPlayer|selectRandom|selectRandomWeighted|selectWeapon|selectWeaponTurret|sendAUMessage|sendSimpleCommand|sendTask|sendTaskResult|sendUDPMessage|serverCommand|serverCommandAvailable|serverCommandExecutable|serverName|serverTime|set|set3DENAttribute|set3DENAttributes|set3DENGrid|set3DENIconsVisible|set3DENLayer|set3DENLinesVisible|set3DENLogicType|set3DENMissionAttribute|set3DENMissionAttributes|set3DENModelsVisible|set3DENObjectType|set3DENSelected|setAccTime|setActualCollectiveRTD|setAirplaneThrottle|setAirportSide|setAmmo|setAmmoCargo|setAmmoOnPylon|setAnimSpeedCoef|setAperture|setApertureNew|setArmoryPoints|setAttributes|setAutonomous|setBehaviour|setBleedingRemaining|setBrakesRTD|setCameraInterest|setCamShakeDefParams|setCamShakeParams|setCamUseTI|setCaptive|setCenterOfMass|setCollisionLight|setCombatMode|setCompassOscillation|setConvoySeparation|setCuratorCameraAreaCeiling|setCuratorCoef|setCuratorEditingAreaType|setCuratorWaypointCost|setCurrentChannel|setCurrentTask|setCurrentWaypoint|setCustomAimCoef|setCustomWeightRTD|setDamage|setDammage|setDate|setDebriefingText|setDefaultCamera|setDestination|setDetailMapBlendPars|setDir|setDirection|setDrawIcon|setDriveOnPath|setDropInterval|setDynamicSimulationDistance|setDynamicSimulationDistanceCoef|setEditorMode|setEditorObjectScope|setEffectCondition|setEngineRpmRTD|setFace|setFaceAnimation|setFatigue|setFeatureType|setFlagAnimationPhase|setFlagOwner|setFlagSide|setFlagTexture|setFog|setForceGeneratorRTD|setFormation|setFormationTask|setFormDir|setFriend|setFromEditor|setFSMVariable|setFuel|setFuelCargo|setGroupIcon|setGroupIconParams|setGroupIconsSelectable|setGroupIconsVisible|setGroupId|setGroupIdGlobal|setGroupOwner|setGusts|setHideBehind|setHit|setHitIndex|setHitPointDamage|setHorizonParallaxCoef|setHUDMovementLevels|setIdentity|setImportance|setInfoPanel|setLeader|setLightAmbient|setLightAttenuation|setLightBrightness|setLightColor|setLightDayLight|setLightFlareMaxDistance|setLightFlareSize|setLightIntensity|setLightnings|setLightUseFlare|setLocalWindParams|setMagazineTurretAmmo|setMarkerAlpha|setMarkerAlphaLocal|setMarkerBrush|setMarkerBrushLocal|setMarkerColor|setMarkerColorLocal|setMarkerDir|setMarkerDirLocal|setMarkerPos|setMarkerPosLocal|setMarkerShape|setMarkerShapeLocal|setMarkerSize|setMarkerSizeLocal|setMarkerText|setMarkerTextLocal|setMarkerType|setMarkerTypeLocal|setMass|setMimic|setMousePosition|setMusicEffect|setMusicEventHandler|setName|setNameSound|setObjectArguments|setObjectMaterial|setObjectMaterialGlobal|setObjectProxy|setObjectTexture|setObjectTextureGlobal|setObjectViewDistance|setOvercast|setOwner|setOxygenRemaining|setParticleCircle|setParticleClass|setParticleFire|setParticleParams|setParticleRandom|setPilotCameraDirection|setPilotCameraRotation|setPilotCameraTarget|setPilotLight|setPiPEffect|setPitch|setPlateNumber|setPlayable|setPlayerRespawnTime|setPos|setPosASL|setPosASL2|setPosASLW|setPosATL|setPosition|setPosWorld|setPylonLoadOut|setPylonsPriority|setRadioMsg|setRain|setRainbow|setRandomLip|setRank|setRectangular|setRepairCargo|setRotorBrakeRTD|setShadowDistance|setShotParents|setSide|setSimpleTaskAlwaysVisible|setSimpleTaskCustomData|setSimpleTaskDescription|setSimpleTaskDestination|setSimpleTaskTarget|setSimpleTaskType|setSimulWeatherLayers|setSize|setSkill|setSlingLoad|setSoundEffect|setSpeaker|setSpeech|setSpeedMode|setStamina|setStaminaScheme|setStatValue|setSuppression|setSystemOfUnits|setTargetAge|setTaskMarkerOffset|setTaskResult|setTaskState|setTerrainGrid|setText|setTimeMultiplier|setTitleEffect|setToneMapping|setToneMappingParams|setTrafficDensity|setTrafficDistance|setTrafficGap|setTrafficSpeed|setTriggerActivation|setTriggerArea|setTriggerStatements|setTriggerText|setTriggerTimeout|setTriggerType|setType|setUnconscious|setUnitAbility|setUnitLoadout|setUnitPos|setUnitPosWeak|setUnitRank|setUnitRecoilCoefficient|setUnitTrait|setUnloadInCombat|setUserActionText|setUserMFDText|setUserMFDValue|setVariable|setVectorDir|setVectorDirAndUp|setVectorUp|setVehicleAmmo|setVehicleAmmoDef|setVehicleArmor|setVehicleCargo|setVehicleId|setVehicleInit|setVehicleLock|setVehiclePosition|setVehicleRadar|setVehicleReceiveRemoteTargets|setVehicleReportOwnPosition|setVehicleReportRemoteTargets|setVehicleTIPars|setVehicleVarName|setVelocity|setVelocityModelSpace|setVelocityTransformation|setViewDistance|setVisibleIfTreeCollapsed|setWantedRpmRTD|setWaves|setWaypointBehaviour|setWaypointCombatMode|setWaypointCompletionRadius|setWaypointDescription|setWaypointForceBehaviour|setWaypointFormation|setWaypointHousePosition|setWaypointLoiterRadius|setWaypointLoiterType|setWaypointName|setWaypointPosition|setWaypointScript|setWaypointSpeed|setWaypointStatements|setWaypointTimeout|setWaypointType|setWaypointVisible|setWeaponReloadingTime|setWind|setWindDir|setWindForce|setWindStr|setWingForceScaleRTD|setWPPos|show3DIcons|showChat|showCinemaBorder|showCommandingMenu|showCompass|showCuratorCompass|showGPS|showHUD|showLegend|showMap|shownArtilleryComputer|shownChat|shownCompass|shownCuratorCompass|showNewEditorObject|shownGPS|shownHUD|shownMap|shownPad|shownRadio|shownScoretable|shownUAVFeed|shownWarrant|shownWatch|showPad|showRadio|showScoretable|showSubtitles|showUAVFeed|showWarrant|showWatch|showWaypoint|showWaypoints|side|sideAmbientLife|sideChat|sideEmpty|sideEnemy|sideFriendly|sideLogic|sideRadio|sideUnknown|simpleTasks|simulationEnabled|simulCloudDensity|simulCloudOcclusion|simulInClouds|simulWeatherSync|sin|size|sizeOf|skill|skillFinal|skipTime|sleep|sliderPosition|sliderRange|sliderSetPosition|sliderSetRange|sliderSetSpeed|sliderSpeed|slingLoadAssistantShown|soldierMagazines|someAmmo|sort|soundVolume|speaker|speed|speedMode|splitString|sqrt|squadParams|stance|startLoadingScreen|stop|stopEngineRTD|stopped|str|sunOrMoon|supportInfo|suppressFor|surfaceIsWater|surfaceNormal|surfaceType|swimInDepth|switchableUnits|switchAction|switchCamera|switchGesture|switchLight|switchMove|synchronizedObjects|synchronizedTriggers|synchronizedWaypoints|synchronizeObjectsAdd|synchronizeObjectsRemove|synchronizeTrigger|synchronizeWaypoint|systemChat|systemOfUnits|tan|targetKnowledge|targets|targetsAggregate|targetsQuery|taskAlwaysVisible|taskChildren|taskCompleted|taskCustomData|taskDescription|taskDestination|taskHint|taskMarkerOffset|taskNull|taskParent|taskResult|taskState|taskType|teamMember|teamMemberNull|teamName|teams|teamSwitch|teamSwitchEnabled|teamType|terminate|terrainIntersect|terrainIntersectASL|terrainIntersectAtASL|text|textLog|textLogFormat|tg|time|timeMultiplier|titleCut|titleFadeOut|titleObj|titleRsc|titleText|toArray|toFixed|toLower|toString|toUpper|triggerActivated|triggerActivation|triggerArea|triggerAttachedVehicle|triggerAttachObject|triggerAttachVehicle|triggerDynamicSimulation|triggerStatements|triggerText|triggerTimeout|triggerTimeoutCurrent|triggerType|turretLocal|turretOwner|turretUnit|tvAdd|tvClear|tvCollapse|tvCollapseAll|tvCount|tvCurSel|tvData|tvDelete|tvExpand|tvExpandAll|tvPicture|tvPictureRight|tvSetColor|tvSetCurSel|tvSetData|tvSetPicture|tvSetPictureColor|tvSetPictureColorDisabled|tvSetPictureColorSelected|tvSetPictureRight|tvSetPictureRightColor|tvSetPictureRightColorDisabled|tvSetPictureRightColorSelected|tvSetSelectColor|tvSetText|tvSetTooltip|tvSetValue|tvSort|tvSortByValue|tvText|tvTooltip|tvValue|type|typeName|typeOf|UAVControl|uiNamespace|uiSleep|unassignCurator|unassignItem|unassignTeam|unassignVehicle|underwater|uniform|uniformContainer|uniformItems|uniformMagazines|unitAddons|unitAimPosition|unitAimPositionVisual|unitBackpack|unitIsUAV|unitPos|unitReady|unitRecoilCoefficient|units|unitsBelowHeight|unlinkItem|unlockAchievement|unregisterTask|updateDrawIcon|updateMenuItem|updateObjectTree|useAIOperMapObstructionTest|useAISteeringComponent|useAudioTimeForMoves|userInputDisabled|vectorAdd|vectorCos|vectorCrossProduct|vectorDiff|vectorDir|vectorDirVisual|vectorDistance|vectorDistanceSqr|vectorDotProduct|vectorFromTo|vectorMagnitude|vectorMagnitudeSqr|vectorModelToWorld|vectorModelToWorldVisual|vectorMultiply|vectorNormalized|vectorUp|vectorUpVisual|vectorWorldToModel|vectorWorldToModelVisual|vehicle|vehicleCargoEnabled|vehicleChat|vehicleRadio|vehicleReceiveRemoteTargets|vehicleReportOwnPosition|vehicleReportRemoteTargets|vehicles|vehicleVarName|velocity|velocityModelSpace|verifySignature|vest|vestContainer|vestItems|vestMagazines|viewDistance|visibleCompass|visibleGPS|visibleMap|visiblePosition|visiblePositionASL|visibleScoretable|visibleWatch|waitUntil|waves|waypointAttachedObject|waypointAttachedVehicle|waypointAttachObject|waypointAttachVehicle|waypointBehaviour|waypointCombatMode|waypointCompletionRadius|waypointDescription|waypointForceBehaviour|waypointFormation|waypointHousePosition|waypointLoiterRadius|waypointLoiterType|waypointName|waypointPosition|waypoints|waypointScript|waypointsEnabledUAV|waypointShow|waypointSpeed|waypointStatements|waypointTimeout|waypointTimeoutCurrent|waypointType|waypointVisible|weaponAccessories|weaponAccessoriesCargo|weaponCargo|weaponDirection|weaponInertia|weaponLowered|weapons|weaponsItems|weaponsItemsCargo|weaponState|weaponsTurret|weightRTD|west|WFSideText|wind|windDir|windRTD|windStr|wingsForcesRTD|worldName|worldSize|worldToModel|worldToModelVisual|worldToScreen)\\b/i,\n number:\n /(?:\\$|\\b0x)[\\da-f]+\\b|(?:\\B\\.\\d+|\\b\\d+(?:\\.\\d+)?)(?:e[+-]?\\d+)?\\b/i,\n operator: /##|>>|&&|\\|\\||[!=<>]=?|[-+*/%#^]|\\b(?:and|mod|not|or)\\b/i,\n 'magic-variable': {\n pattern:\n /\\b(?:this|thisList|thisTrigger|_exception|_fnc_scriptName|_fnc_scriptNameParent|_forEachIndex|_this|_thisEventHandler|_thisFSM|_thisScript|_x)\\b/i,\n alias: 'keyword'\n },\n constant: /\\bDIK(?:_[a-z\\d]+)+\\b/i\n })\n Prism.languages.insertBefore('sqf', 'string', {\n macro: {\n pattern: /(^[ \\t]*)#[a-z](?:[^\\r\\n\\\\]|\\\\(?:\\r\\n|[\\s\\S]))*/im,\n lookbehind: true,\n greedy: true,\n alias: 'property',\n inside: {\n directive: {\n pattern: /#[a-z]+\\b/i,\n alias: 'keyword'\n },\n comment: Prism.languages.sqf.comment\n }\n }\n })\n delete Prism.languages.sqf['class-name']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nsquirrel.displayName = 'squirrel'\nsquirrel.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function squirrel(Prism) {\n Prism.register(refractorClike)\n Prism.languages.squirrel = Prism.languages.extend('clike', {\n comment: [\n Prism.languages.clike['comment'][0],\n {\n pattern: /(^|[^\\\\:])(?:\\/\\/|#).*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\\\\\"'@])(?:@\"(?:[^\"]|\"\")*\"(?!\")|\"(?:[^\\\\\\r\\n\"]|\\\\.)*\")/,\n lookbehind: true,\n greedy: true\n },\n 'class-name': {\n pattern: /(\\b(?:class|enum|extends|instanceof)\\s+)\\w+(?:\\.\\w+)*/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n keyword:\n /\\b(?:__FILE__|__LINE__|base|break|case|catch|class|clone|const|constructor|continue|default|delete|else|enum|extends|for|foreach|function|if|in|instanceof|local|null|resume|return|static|switch|this|throw|try|typeof|while|yield)\\b/,\n number: /\\b(?:0x[0-9a-fA-F]+|\\d+(?:\\.(?:\\d+|[eE][+-]?\\d+))?)\\b/,\n operator: /\\+\\+|--|<=>|<[-<]|>>>?|&&?|\\|\\|?|[-+*/%!=<>]=?|[~^]|::?/,\n punctuation: /[(){}\\[\\],;.]/\n })\n Prism.languages.insertBefore('squirrel', 'string', {\n char: {\n pattern: /(^|[^\\\\\"'])'(?:[^\\\\']|\\\\(?:[xuU][0-9a-fA-F]{0,8}|[\\s\\S]))'/,\n lookbehind: true,\n greedy: true\n }\n })\n Prism.languages.insertBefore('squirrel', 'operator', {\n 'attribute-punctuation': {\n pattern: /<\\/|\\/>/,\n alias: 'important'\n },\n lambda: {\n pattern: /@(?=\\()/,\n alias: 'operator'\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nstan.displayName = 'stan'\nstan.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function stan(Prism) {\n ;(function (Prism) {\n // https://mc-stan.org/docs/2_28/reference-manual/bnf-grammars.html\n\n var higherOrderFunctions =\n /\\b(?:algebra_solver|algebra_solver_newton|integrate_1d|integrate_ode|integrate_ode_bdf|integrate_ode_rk45|map_rect|ode_(?:adams|bdf|ckrk|rk45)(?:_tol)?|ode_adjoint_tol_ctl|reduce_sum|reduce_sum_static)\\b/\n Prism.languages.stan = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\/|#(?!include).*/,\n string: {\n // String literals can contain spaces and any printable ASCII characters except for \" and \\\n // https://mc-stan.org/docs/2_24/reference-manual/print-statements-section.html#string-literals\n pattern: /\"[\\x20\\x21\\x23-\\x5B\\x5D-\\x7E]*\"/,\n greedy: true\n },\n directive: {\n pattern: /^([ \\t]*)#include\\b.*/m,\n lookbehind: true,\n alias: 'property'\n },\n 'function-arg': {\n pattern: RegExp(\n '(' +\n higherOrderFunctions.source +\n /\\s*\\(\\s*/.source +\n ')' +\n /[a-zA-Z]\\w*/.source\n ),\n lookbehind: true,\n alias: 'function'\n },\n constraint: {\n pattern: /(\\b(?:int|matrix|real|row_vector|vector)\\s*)<[^<>]*>/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /(=\\s*)\\S(?:\\S|\\s+(?!\\s))*?(?=\\s*(?:>$|,\\s*\\w+\\s*=))/,\n lookbehind: true,\n inside: null // see below\n },\n property: /\\b[a-z]\\w*(?=\\s*=)/i,\n operator: /=/,\n punctuation: /^<|>$|,/\n }\n },\n keyword: [\n {\n pattern:\n /\\bdata(?=\\s*\\{)|\\b(?:functions|generated|model|parameters|quantities|transformed)\\b/,\n alias: 'program-block'\n },\n /\\b(?:array|break|cholesky_factor_corr|cholesky_factor_cov|complex|continue|corr_matrix|cov_matrix|data|else|for|if|in|increment_log_prob|int|matrix|ordered|positive_ordered|print|real|reject|return|row_vector|simplex|target|unit_vector|vector|void|while)\\b/,\n // these are functions that are known to take another function as their first argument.\n higherOrderFunctions\n ],\n function: /\\b[a-z]\\w*(?=\\s*\\()/i,\n number:\n /(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:E[+-]?\\d+(?:_\\d+)*)?i?(?!\\w)/i,\n boolean: /\\b(?:false|true)\\b/,\n operator: /<-|\\.[*/]=?|\\|\\|?|&&|[!=<>+\\-*/]=?|['^%~?:]/,\n punctuation: /[()\\[\\]{},;]/\n }\n Prism.languages.stan.constraint.inside.expression.inside =\n Prism.languages.stan\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorJava from './java.js'\nimport refractorMata from './mata.js'\nimport refractorPython from './python.js'\nstata.displayName = 'stata'\nstata.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function stata(Prism) {\n Prism.register(refractorJava)\n Prism.register(refractorMata)\n Prism.register(refractorPython)\n // https://www.stata.com/manuals/u.pdf\n // https://www.stata.com/manuals/p.pdf\n\n Prism.languages.stata = {\n comment: [\n {\n pattern: /(^[ \\t]*)\\*.*/m,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|\\s)\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n greedy: true\n }\n ],\n 'string-literal': {\n pattern: /\"[^\"\\r\\n]*\"|[‘`']\".*?\"[’`']/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$\\{[^{}]*\\}|[‘`']\\w[^’`'\\r\\n]*[’`']/,\n inside: {\n punctuation: /^\\$\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: null // see below\n }\n }\n },\n string: /[\\s\\S]+/\n }\n },\n mata: {\n pattern: /(^[ \\t]*mata[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n lookbehind: true,\n greedy: true,\n alias: 'language-mata',\n inside: Prism.languages.mata\n },\n java: {\n pattern: /(^[ \\t]*java[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n lookbehind: true,\n greedy: true,\n alias: 'language-java',\n inside: Prism.languages.java\n },\n python: {\n pattern: /(^[ \\t]*python[ \\t]*:)[\\s\\S]+?(?=^end\\b)/m,\n lookbehind: true,\n greedy: true,\n alias: 'language-python',\n inside: Prism.languages.python\n },\n command: {\n pattern:\n /(^[ \\t]*(?:\\.[ \\t]+)?(?:(?:bayes|bootstrap|by|bysort|capture|collect|fmm|fp|frame|jackknife|mfp|mi|nestreg|noisily|permute|quietly|rolling|simulate|statsby|stepwise|svy|version|xi)\\b[^:\\r\\n]*:[ \\t]*|(?:capture|noisily|quietly|version)[ \\t]+)?)[a-zA-Z]\\w*/m,\n lookbehind: true,\n greedy: true,\n alias: 'keyword'\n },\n variable: /\\$\\w+|[‘`']\\w[^’`'\\r\\n]*[’`']/,\n keyword:\n /\\b(?:bayes|bootstrap|by|bysort|capture|clear|collect|fmm|fp|frame|if|in|jackknife|mi[ \\t]+estimate|mfp|nestreg|noisily|of|permute|quietly|rolling|simulate|sort|statsby|stepwise|svy|varlist|version|xi)\\b/,\n boolean: /\\b(?:off|on)\\b/,\n number: /\\b\\d+(?:\\.\\d+)?\\b|\\B\\.\\d+/,\n function: /\\b[a-z_]\\w*(?=\\()/i,\n operator: /\\+\\+|--|##?|[<>!=~]=?|[+\\-*^&|/]/,\n punctuation: /[(){}[\\],:]/\n }\n Prism.languages.stata[\n 'string-literal'\n ].inside.interpolation.inside.expression.inside = Prism.languages.stata\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\niecst.displayName = 'iecst'\niecst.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function iecst(Prism) {\n Prism.languages.iecst = {\n comment: [\n {\n pattern:\n /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?(?:\\*\\/|$)|\\(\\*[\\s\\S]*?(?:\\*\\)|$)|\\{[\\s\\S]*?(?:\\}|$))/,\n lookbehind: true,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n keyword: [\n /\\b(?:END_)?(?:PROGRAM|CONFIGURATION|INTERFACE|FUNCTION_BLOCK|FUNCTION|ACTION|TRANSITION|TYPE|STRUCT|(?:INITIAL_)?STEP|NAMESPACE|LIBRARY|CHANNEL|FOLDER|RESOURCE|VAR_(?:ACCESS|CONFIG|EXTERNAL|GLOBAL|INPUT|IN_OUT|OUTPUT|TEMP)|VAR|METHOD|PROPERTY)\\b/i,\n /\\b(?:AT|BY|(?:END_)?(?:CASE|FOR|IF|REPEAT|WHILE)|CONSTANT|CONTINUE|DO|ELSE|ELSIF|EXIT|EXTENDS|FROM|GET|GOTO|IMPLEMENTS|JMP|NON_RETAIN|OF|PRIVATE|PROTECTED|PUBLIC|RETAIN|RETURN|SET|TASK|THEN|TO|UNTIL|USING|WITH|__CATCH|__ENDTRY|__FINALLY|__TRY)\\b/\n ],\n 'class-name':\n /\\b(?:ANY|ARRAY|BOOL|BYTE|U?(?:D|L|S)?INT|(?:D|L)?WORD|DATE(?:_AND_TIME)?|DT|L?REAL|POINTER|STRING|TIME(?:_OF_DAY)?|TOD)\\b/,\n address: {\n pattern: /%[IQM][XBWDL][\\d.]*|%[IQ][\\d.]*/,\n alias: 'symbol'\n },\n number:\n /\\b(?:16#[\\da-f]+|2#[01_]+|0x[\\da-f]+)\\b|\\b(?:D|DT|T|TOD)#[\\d_shmd:]*|\\b[A-Z]*#[\\d.,_]*|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n boolean: /\\b(?:FALSE|NULL|TRUE)\\b/,\n operator:\n /S?R?:?=>?|&&?|\\*\\*?|<[=>]?|>=?|[-:^/+#]|\\b(?:AND|EQ|EXPT|GE|GT|LE|LT|MOD|NE|NOT|OR|XOR)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n punctuation: /[()[\\].,;]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsupercollider.displayName = 'supercollider'\nsupercollider.aliases = ['sclang']\n\n/** @param {Refractor} Prism */\nexport default function supercollider(Prism) {\n Prism.languages.supercollider = {\n comment: {\n pattern:\n /\\/\\/.*|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\//,\n greedy: true\n },\n string: {\n pattern: /(^|[^\\\\])\"(?:[^\"\\\\]|\\\\[\\s\\S])*\"/,\n lookbehind: true,\n greedy: true\n },\n char: {\n pattern: /\\$(?:[^\\\\\\r\\n]|\\\\.)/,\n greedy: true\n },\n symbol: {\n pattern: /(^|[^\\\\])'(?:[^'\\\\]|\\\\[\\s\\S])*'|\\\\\\w+/,\n lookbehind: true,\n greedy: true\n },\n keyword: /\\b(?:_|arg|classvar|const|nil|var|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n label: {\n pattern: /\\b[a-z_]\\w*(?=\\s*:)/,\n alias: 'property'\n },\n number:\n /\\b(?:inf|pi|0x[0-9a-fA-F]+|\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(?:pi)?|\\d+r[0-9a-zA-Z]+(?:\\.[0-9a-zA-Z]+)?|\\d+[sb]{1,4}\\d*)\\b/,\n 'class-name': /\\b[A-Z]\\w*\\b/,\n operator:\n /\\.{2,3}|#(?![[{])|&&|[!=]==?|\\+>>|\\+{1,3}|-[->]|=>|>>|\\?\\?|@\\|?@|\\|(?:@|[!=]=)?\\||!\\?|<[!=>]|\\*{1,2}|<{2,3}\\*?|[-!%&/<>?@|=`]/,\n punctuation: /[{}()[\\].:,;]|#[[{]/\n }\n Prism.languages.sclang = Prism.languages.supercollider\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nswift.displayName = 'swift'\nswift.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function swift(Prism) {\n Prism.languages.swift = {\n comment: {\n // Nested comments are supported up to 2 levels\n pattern:\n /(^|[^\\\\:])(?:\\/\\/.*|\\/\\*(?:[^/*]|\\/(?!\\*)|\\*(?!\\/)|\\/\\*(?:[^*]|\\*(?!\\/))*\\*\\/)*\\*\\/)/,\n lookbehind: true,\n greedy: true\n },\n 'string-literal': [\n // https://docs.swift.org/swift-book/LanguageGuide/StringsAndCharacters.html\n {\n pattern: RegExp(\n /(^|[^\"#])/.source +\n '(?:' +\n // single-line string\n /\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^(])|[^\\\\\\r\\n\"])*\"/\n .source +\n '|' +\n // multi-line string\n /\"\"\"(?:\\\\(?:\\((?:[^()]|\\([^()]*\\))*\\)|[^(])|[^\\\\\"]|\"(?!\"\"))*\"\"\"/\n .source +\n ')' +\n /(?![\"#])/.source\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\\\($/,\n alias: 'punctuation'\n },\n punctuation: /\\\\(?=[\\r\\n])/,\n string: /[\\s\\S]+/\n }\n },\n {\n pattern: RegExp(\n /(^|[^\"#])(#+)/.source +\n '(?:' +\n // single-line string\n /\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|\\r\\n|[^#])|[^\\\\\\r\\n])*?\"/\n .source +\n '|' +\n // multi-line string\n /\"\"\"(?:\\\\(?:#+\\((?:[^()]|\\([^()]*\\))*\\)|[^#])|[^\\\\])*?\"\"\"/.source +\n ')' +\n '\\\\2'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /(\\\\#+\\()(?:[^()]|\\([^()]*\\))*(?=\\))/,\n lookbehind: true,\n inside: null // see below\n },\n 'interpolation-punctuation': {\n pattern: /^\\)|\\\\#+\\($/,\n alias: 'punctuation'\n },\n string: /[\\s\\S]+/\n }\n }\n ],\n directive: {\n // directives with conditions\n pattern: RegExp(\n /#/.source +\n '(?:' +\n (/(?:elseif|if)\\b/.source +\n '(?:[ \\t]*' +\n // This regex is a little complex. It's equivalent to this:\n // (?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*<round>)?|<round>)(?:[ \\t]*(?:&&|\\|\\|))?\n // where <round> is a general parentheses expression.\n /(?:![ \\t]*)?(?:\\b\\w+\\b(?:[ \\t]*\\((?:[^()]|\\([^()]*\\))*\\))?|\\((?:[^()]|\\([^()]*\\))*\\))(?:[ \\t]*(?:&&|\\|\\|))?/\n .source +\n ')+') +\n '|' +\n /(?:else|endif)\\b/.source +\n ')'\n ),\n alias: 'property',\n inside: {\n 'directive-name': /^#\\w+/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b\\d+(?:\\.\\d+)*\\b/,\n operator: /!|&&|\\|\\||[<>]=?/,\n punctuation: /[(),]/\n }\n },\n literal: {\n pattern:\n /#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\\b/,\n alias: 'constant'\n },\n 'other-directive': {\n pattern: /#\\w+\\b/,\n alias: 'property'\n },\n attribute: {\n pattern: /@\\w+/,\n alias: 'atrule'\n },\n 'function-definition': {\n pattern: /(\\bfunc\\s+)\\w+/,\n lookbehind: true,\n alias: 'function'\n },\n label: {\n // https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID141\n pattern:\n /\\b(break|continue)\\s+\\w+|\\b[a-zA-Z_]\\w*(?=\\s*:\\s*(?:for|repeat|while)\\b)/,\n lookbehind: true,\n alias: 'important'\n },\n keyword:\n /\\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n nil: {\n pattern: /\\bnil\\b/,\n alias: 'constant'\n },\n 'short-argument': /\\$\\d+\\b/,\n omit: {\n pattern: /\\b_\\b/,\n alias: 'keyword'\n },\n number:\n /\\b(?:[\\d_]+(?:\\.[\\de_]+)?|0x[a-f0-9_]+(?:\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b/i,\n // A class name must start with an upper-case letter and be either 1 letter long or contain a lower-case letter.\n 'class-name': /\\b[A-Z](?:[A-Z_\\d]*[a-z]\\w*)?\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n constant: /\\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\\b/,\n // Operators are generic in Swift. Developers can even create new operators (e.g. +++).\n // https://docs.swift.org/swift-book/ReferenceManual/zzSummaryOfTheGrammar.html#ID481\n // This regex only supports ASCII operators.\n operator: /[-+*/%=!<>&|^~?]+|\\.[.\\-+*/%=!<>&|^~?]+/,\n punctuation: /[{}[\\]();,.:\\\\]/\n }\n Prism.languages.swift['string-literal'].forEach(function (rule) {\n rule.inside['interpolation'].inside = Prism.languages.swift\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nsystemd.displayName = 'systemd'\nsystemd.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function systemd(Prism) {\n // https://www.freedesktop.org/software/systemd/man/systemd.syntax.html\n\n ;(function (Prism) {\n var comment = {\n pattern: /^[;#].*/m,\n greedy: true\n }\n var quotesSource = /\"(?:[^\\r\\n\"\\\\]|\\\\(?:[^\\r]|\\r\\n?))*\"(?!\\S)/.source\n Prism.languages.systemd = {\n comment: comment,\n section: {\n pattern: /^\\[[^\\n\\r\\[\\]]*\\](?=[ \\t]*$)/m,\n greedy: true,\n inside: {\n punctuation: /^\\[|\\]$/,\n 'section-name': {\n pattern: /[\\s\\S]+/,\n alias: 'selector'\n }\n }\n },\n key: {\n pattern: /^[^\\s=]+(?=[ \\t]*=)/m,\n greedy: true,\n alias: 'attr-name'\n },\n value: {\n // This pattern is quite complex because of two properties:\n // 1) Quotes (strings) must be preceded by a space. Since we can't use lookbehinds, we have to \"resolve\"\n // the lookbehind. You will see this in the main loop where spaces are handled separately.\n // 2) Line continuations.\n // After line continuations, empty lines and comments are ignored so we have to consume them.\n pattern: RegExp(\n /(=[ \\t]*(?!\\s))/.source +\n // the value either starts with quotes or not\n '(?:' +\n quotesSource +\n '|(?=[^\"\\r\\n]))' +\n // main loop\n '(?:' +\n (/[^\\s\\\\]/.source +\n // handle spaces separately because of quotes\n '|' +\n '[ \\t]+(?:(?![ \\t\"])|' +\n quotesSource +\n ')' +\n // line continuation\n '|' +\n /\\\\[\\r\\n]+(?:[#;].*[\\r\\n]+)*(?![#;])/.source) +\n ')*'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'attr-value',\n inside: {\n comment: comment,\n quoted: {\n pattern: RegExp(/(^|\\s)/.source + quotesSource),\n lookbehind: true,\n greedy: true\n },\n punctuation: /\\\\$/m,\n boolean: {\n pattern: /^(?:false|no|off|on|true|yes)$/,\n greedy: true\n }\n }\n },\n punctuation: /=/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nt4Templating.displayName = 't4-templating'\nt4Templating.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function t4Templating(Prism) {\n ;(function (Prism) {\n function createBlock(prefix, inside, contentAlias) {\n return {\n pattern: RegExp('<#' + prefix + '[\\\\s\\\\S]*?#>'),\n alias: 'block',\n inside: {\n delimiter: {\n pattern: RegExp('^<#' + prefix + '|#>$'),\n alias: 'important'\n },\n content: {\n pattern: /[\\s\\S]+/,\n inside: inside,\n alias: contentAlias\n }\n }\n }\n }\n function createT4(insideLang) {\n var grammar = Prism.languages[insideLang]\n var className = 'language-' + insideLang\n return {\n block: {\n pattern: /<#[\\s\\S]+?#>/,\n inside: {\n directive: createBlock('@', {\n 'attr-value': {\n pattern: /=(?:(\"|')(?:\\\\[\\s\\S]|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/,\n inside: {\n punctuation: /^=|^[\"']|[\"']$/\n }\n },\n keyword: /\\b\\w+(?=\\s)/,\n 'attr-name': /\\b\\w+/\n }),\n expression: createBlock('=', grammar, className),\n 'class-feature': createBlock('\\\\+', grammar, className),\n standard: createBlock('', grammar, className)\n }\n }\n }\n }\n Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', {\n value: createT4\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorCsharp from './csharp.js'\nimport refractorT4Templating from './t4-templating.js'\nt4Cs.displayName = 't4-cs'\nt4Cs.aliases = ['t4']\n\n/** @param {Refractor} Prism */\nexport default function t4Cs(Prism) {\n Prism.register(refractorCsharp)\n Prism.register(refractorT4Templating)\n Prism.languages.t4 = Prism.languages['t4-cs'] =\n Prism.languages['t4-templating'].createT4('csharp')\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorBasic from './basic.js'\nvbnet.displayName = 'vbnet'\nvbnet.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function vbnet(Prism) {\n Prism.register(refractorBasic)\n Prism.languages.vbnet = Prism.languages.extend('basic', {\n comment: [\n {\n pattern: /(?:!|REM\\b).+/i,\n inside: {\n keyword: /^REM/i\n }\n },\n {\n pattern: /(^|[^\\\\:])'.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n string: {\n pattern: /(^|[^\"])\"(?:\"\"|[^\"])*\"(?!\")/,\n lookbehind: true,\n greedy: true\n },\n keyword:\n /(?:\\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\\$|\\b)/i,\n punctuation: /[,;:(){}]/\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorT4Templating from './t4-templating.js'\nimport refractorVbnet from './vbnet.js'\nt4Vb.displayName = 't4-vb'\nt4Vb.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function t4Vb(Prism) {\n Prism.register(refractorT4Templating)\n Prism.register(refractorVbnet)\n Prism.languages['t4-vb'] = Prism.languages['t4-templating'].createT4('vbnet')\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorYaml from './yaml.js'\ntap.displayName = 'tap'\ntap.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function tap(Prism) {\n Prism.register(refractorYaml)\n // https://en.wikipedia.org/wiki/Test_Anything_Protocol\n\n Prism.languages.tap = {\n fail: /not ok[^#{\\n\\r]*/,\n pass: /ok[^#{\\n\\r]*/,\n pragma: /pragma [+-][a-z]+/,\n bailout: /bail out!.*/i,\n version: /TAP version \\d+/i,\n plan: /\\b\\d+\\.\\.\\d+(?: +#.*)?/,\n subtest: {\n pattern: /# Subtest(?:: .*)?/,\n greedy: true\n },\n punctuation: /[{}]/,\n directive: /#.*/,\n yamlish: {\n pattern: /(^[ \\t]*)---[\\s\\S]*?[\\r\\n][ \\t]*\\.\\.\\.$/m,\n lookbehind: true,\n inside: Prism.languages.yaml,\n alias: 'language-yaml'\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ntcl.displayName = 'tcl'\ntcl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function tcl(Prism) {\n Prism.languages.tcl = {\n comment: {\n pattern: /(^|[^\\\\])#.*/,\n lookbehind: true\n },\n string: {\n pattern: /\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n greedy: true\n },\n variable: [\n {\n pattern: /(\\$)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/,\n lookbehind: true\n },\n {\n pattern: /(\\$)\\{[^}]+\\}/,\n lookbehind: true\n },\n {\n pattern: /(^[\\t ]*set[ \\t]+)(?:::)?(?:[a-zA-Z0-9]+::)*\\w+/m,\n lookbehind: true\n }\n ],\n function: {\n pattern: /(^[\\t ]*proc[ \\t]+)\\S+/m,\n lookbehind: true\n },\n builtin: [\n {\n pattern:\n /(^[\\t ]*)(?:break|class|continue|error|eval|exit|for|foreach|if|proc|return|switch|while)\\b/m,\n lookbehind: true\n },\n /\\b(?:else|elseif)\\b/\n ],\n scope: {\n pattern: /(^[\\t ]*)(?:global|upvar|variable)\\b/m,\n lookbehind: true,\n alias: 'constant'\n },\n keyword: {\n pattern:\n /(^[\\t ]*|\\[)(?:Safe_Base|Tcl|after|append|apply|array|auto_(?:execok|import|load|mkindex|qualify|reset)|automkindex_old|bgerror|binary|catch|cd|chan|clock|close|concat|dde|dict|encoding|eof|exec|expr|fblocked|fconfigure|fcopy|file(?:event|name)?|flush|gets|glob|history|http|incr|info|interp|join|lappend|lassign|lindex|linsert|list|llength|load|lrange|lrepeat|lreplace|lreverse|lsearch|lset|lsort|math(?:func|op)|memory|msgcat|namespace|open|package|parray|pid|pkg_mkIndex|platform|puts|pwd|re_syntax|read|refchan|regexp|registry|regsub|rename|scan|seek|set|socket|source|split|string|subst|tcl(?:_endOfWord|_findLibrary|startOf(?:Next|Previous)Word|test|vars|wordBreak(?:After|Before))|tell|time|tm|trace|unknown|unload|unset|update|uplevel|vwait)\\b/m,\n lookbehind: true\n },\n operator:\n /!=?|\\*\\*?|==|&&?|\\|\\|?|<[=<]?|>[=>]?|[-+~\\/%?^]|\\b(?:eq|in|ne|ni)\\b/,\n punctuation: /[{}()\\[\\]]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nimport refractorMarkupTemplating from './markup-templating.js'\ntt2.displayName = 'tt2'\ntt2.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function tt2(Prism) {\n Prism.register(refractorClike)\n Prism.register(refractorMarkupTemplating)\n ;(function (Prism) {\n Prism.languages.tt2 = Prism.languages.extend('clike', {\n comment: /#.*|\\[%#[\\s\\S]*?%\\]/,\n keyword:\n /\\b(?:BLOCK|CALL|CASE|CATCH|CLEAR|DEBUG|DEFAULT|ELSE|ELSIF|END|FILTER|FINAL|FOREACH|GET|IF|IN|INCLUDE|INSERT|LAST|MACRO|META|NEXT|PERL|PROCESS|RAWPERL|RETURN|SET|STOP|SWITCH|TAGS|THROW|TRY|UNLESS|USE|WHILE|WRAPPER)\\b/,\n punctuation: /[[\\]{},()]/\n })\n Prism.languages.insertBefore('tt2', 'number', {\n operator: /=[>=]?|!=?|<=?|>=?|&&|\\|\\|?|\\b(?:and|not|or)\\b/,\n variable: {\n pattern: /\\b[a-z]\\w*(?:\\s*\\.\\s*(?:\\d+|\\$?[a-z]\\w*))*\\b/i\n }\n })\n Prism.languages.insertBefore('tt2', 'keyword', {\n delimiter: {\n pattern: /^(?:\\[%|%%)-?|-?%\\]$/,\n alias: 'punctuation'\n }\n })\n Prism.languages.insertBefore('tt2', 'string', {\n 'single-quoted-string': {\n pattern: /'[^\\\\']*(?:\\\\[\\s\\S][^\\\\']*)*'/,\n greedy: true,\n alias: 'string'\n },\n 'double-quoted-string': {\n pattern: /\"[^\\\\\"]*(?:\\\\[\\s\\S][^\\\\\"]*)*\"/,\n greedy: true,\n alias: 'string',\n inside: {\n variable: {\n pattern: /\\$(?:[a-z]\\w*(?:\\.(?:\\d+|\\$?[a-z]\\w*))*)/i\n }\n }\n }\n })\n\n // The different types of TT2 strings \"replace\" the C-like standard string\n delete Prism.languages.tt2.string\n Prism.hooks.add('before-tokenize', function (env) {\n var tt2Pattern = /\\[%[\\s\\S]+?%\\]/g\n Prism.languages['markup-templating'].buildPlaceholders(\n env,\n 'tt2',\n tt2Pattern\n )\n })\n Prism.hooks.add('after-tokenize', function (env) {\n Prism.languages['markup-templating'].tokenizePlaceholders(env, 'tt2')\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ntoml.displayName = 'toml'\ntoml.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function toml(Prism) {\n ;(function (Prism) {\n var key = /(?:[\\w-]+|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\")/.source\n\n /**\n * @param {string} pattern\n */\n function insertKey(pattern) {\n return pattern.replace(/__/g, function () {\n return key\n })\n }\n Prism.languages.toml = {\n comment: {\n pattern: /#.*/,\n greedy: true\n },\n table: {\n pattern: RegExp(\n insertKey(\n /(^[\\t ]*\\[\\s*(?:\\[\\s*)?)__(?:\\s*\\.\\s*__)*(?=\\s*\\])/.source\n ),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'class-name'\n },\n key: {\n pattern: RegExp(\n insertKey(/(^[\\t ]*|[{,]\\s*)__(?:\\s*\\.\\s*__)*(?=\\s*=)/.source),\n 'm'\n ),\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n string: {\n pattern:\n /\"\"\"(?:\\\\[\\s\\S]|[^\\\\])*?\"\"\"|'''[\\s\\S]*?'''|'[^'\\n\\r]*'|\"(?:\\\\.|[^\\\\\"\\r\\n])*\"/,\n greedy: true\n },\n date: [\n {\n // Offset Date-Time, Local Date-Time, Local Date\n pattern:\n /\\b\\d{4}-\\d{2}-\\d{2}(?:[T\\s]\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})?)?\\b/i,\n alias: 'number'\n },\n {\n // Local Time\n pattern: /\\b\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?\\b/,\n alias: 'number'\n }\n ],\n number:\n /(?:\\b0(?:x[\\da-zA-Z]+(?:_[\\da-zA-Z]+)*|o[0-7]+(?:_[0-7]+)*|b[10]+(?:_[10]+)*))\\b|[-+]?\\b\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?(?:[eE][+-]?\\d+(?:_\\d+)*)?\\b|[-+]?\\b(?:inf|nan)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n punctuation: /[.,=[\\]{}]/\n }\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ntremor.displayName = 'tremor'\ntremor.aliases = ['trickle', 'troy']\n\n/** @param {Refractor} Prism */\nexport default function tremor(Prism) {\n ;(function (Prism) {\n Prism.languages.tremor = {\n comment: {\n pattern: /(^|[^\\\\])(?:\\/\\*[\\s\\S]*?\\*\\/|(?:--|\\/\\/|#).*)/,\n lookbehind: true\n },\n 'interpolated-string': null,\n // see below\n extractor: {\n pattern: /\\b[a-z_]\\w*\\|(?:[^\\r\\n\\\\|]|\\\\(?:\\r\\n|[\\s\\S]))*\\|/i,\n greedy: true,\n inside: {\n regex: {\n pattern: /(^re)\\|[\\s\\S]+/,\n lookbehind: true\n },\n function: /^\\w+/,\n value: /\\|[\\s\\S]+/\n }\n },\n identifier: {\n pattern: /`[^`]*`/,\n greedy: true\n },\n function: /\\b[a-z_]\\w*(?=\\s*(?:::\\s*<|\\())\\b/,\n keyword:\n /\\b(?:args|as|by|case|config|connect|connector|const|copy|create|default|define|deploy|drop|each|emit|end|erase|event|flow|fn|for|from|group|having|insert|into|intrinsic|let|links|match|merge|mod|move|of|operator|patch|pipeline|recur|script|select|set|sliding|state|stream|to|tumbling|update|use|when|where|window|with)\\b/,\n boolean: /\\b(?:false|null|true)\\b/i,\n number:\n /\\b(?:0b[01_]*|0x[0-9a-fA-F_]*|\\d[\\d_]*(?:\\.\\d[\\d_]*)?(?:[Ee][+-]?[\\d_]+)?)\\b/,\n 'pattern-punctuation': {\n pattern: /%(?=[({[])/,\n alias: 'punctuation'\n },\n operator:\n /[-+*\\/%~!^]=?|=[=>]?|&[&=]?|\\|[|=]?|<<?=?|>>?>?=?|(?:absent|and|not|or|present|xor)\\b/,\n punctuation: /::|[;\\[\\]()\\{\\},.:]/\n }\n var interpolationPattern =\n /#\\{(?:[^\"{}]|\\{[^{}]*\\}|\"(?:[^\"\\\\\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\")*\\}/.source\n Prism.languages.tremor['interpolated-string'] = {\n pattern: RegExp(\n /(^|[^\\\\])/.source +\n '(?:' +\n '\"\"\"(?:' +\n /[^\"\\\\#]|\\\\[\\s\\S]|\"(?!\"\")|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"\"\"' +\n '|' +\n '\"(?:' +\n /[^\"\\\\\\r\\n#]|\\\\(?:\\r\\n|[\\s\\S])|#(?!\\{)/.source +\n '|' +\n interpolationPattern +\n ')*\"' +\n ')'\n ),\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n pattern: RegExp(interpolationPattern),\n inside: {\n punctuation: /^#\\{|\\}$/,\n expression: {\n pattern: /[\\s\\S]+/,\n inside: Prism.languages.tremor\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n Prism.languages.troy = Prism.languages['tremor']\n Prism.languages.trickle = Prism.languages['tremor']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\ntyposcript.displayName = 'typoscript'\ntyposcript.aliases = ['tsconfig']\n\n/** @param {Refractor} Prism */\nexport default function typoscript(Prism) {\n ;(function (Prism) {\n var keywords =\n /\\b(?:ACT|ACTIFSUB|CARRAY|CASE|CLEARGIF|COA|COA_INT|CONSTANTS|CONTENT|CUR|EDITPANEL|EFFECT|EXT|FILE|FLUIDTEMPLATE|FORM|FRAME|FRAMESET|GIFBUILDER|GMENU|GMENU_FOLDOUT|GMENU_LAYERS|GP|HMENU|HRULER|HTML|IENV|IFSUB|IMAGE|IMGMENU|IMGMENUITEM|IMGTEXT|IMG_RESOURCE|INCLUDE_TYPOSCRIPT|JSMENU|JSMENUITEM|LLL|LOAD_REGISTER|NO|PAGE|RECORDS|RESTORE_REGISTER|TEMPLATE|TEXT|TMENU|TMENUITEM|TMENU_LAYERS|USER|USER_INT|_GIFBUILDER|global|globalString|globalVar)\\b/\n Prism.languages.typoscript = {\n comment: [\n {\n // multiline comments /* */\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n lookbehind: true\n },\n {\n // double-slash comments - ignored when backslashes or colon is found in front\n // also ignored whenever directly after an equal-sign, because it would probably be an url without protocol\n pattern: /(^|[^\\\\:= \\t]|(?:^|[^= \\t])[ \\t]+)\\/\\/.*/,\n lookbehind: true,\n greedy: true\n },\n {\n // hash comments - ignored when leading quote is found for hex colors in strings\n pattern: /(^|[^\"'])#.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n function: [\n {\n // old include style\n pattern:\n /<INCLUDE_TYPOSCRIPT:\\s*source\\s*=\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')\\s*>/,\n inside: {\n string: {\n pattern: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/,\n inside: {\n keyword: keywords\n }\n },\n keyword: {\n pattern: /INCLUDE_TYPOSCRIPT/\n }\n }\n },\n {\n // new include style\n pattern: /@import\\s*(?:\"[^\"\\r\\n]*\"|'[^'\\r\\n]*')/,\n inside: {\n string: /\"[^\"\\r\\n]*\"|'[^'\\r\\n]*'/\n }\n }\n ],\n string: {\n pattern: /^([^=]*=[< ]?)(?:(?!\\]\\n).)*/,\n lookbehind: true,\n inside: {\n function: /\\{\\$.*\\}/,\n // constants include\n keyword: keywords,\n number: /^\\d+$/,\n punctuation: /[,|:]/\n }\n },\n keyword: keywords,\n number: {\n // special highlighting for indexes of arrays in tags\n pattern: /\\b\\d+\\s*[.{=]/,\n inside: {\n operator: /[.{=]/\n }\n },\n tag: {\n pattern: /\\.?[-\\w\\\\]+\\.?/,\n inside: {\n punctuation: /\\./\n }\n },\n punctuation: /[{}[\\];(),.:|]/,\n operator: /[<>]=?|[!=]=?=?|--?|\\+\\+?|&&?|\\|\\|?|[?*/~^%]/\n }\n Prism.languages.tsconfig = Prism.languages.typoscript\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nunrealscript.displayName = 'unrealscript'\nunrealscript.aliases = ['uc', 'uscript']\n\n/** @param {Refractor} Prism */\nexport default function unrealscript(Prism) {\n Prism.languages.unrealscript = {\n comment: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern: /([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n greedy: true\n },\n category: {\n pattern:\n /(\\b(?:(?:autoexpand|hide|show)categories|var)\\s*\\()[^()]+(?=\\))/,\n lookbehind: true,\n greedy: true,\n alias: 'property'\n },\n metadata: {\n pattern: /(\\w\\s*)<\\s*\\w+\\s*=[^<>|=\\r\\n]+(?:\\|\\s*\\w+\\s*=[^<>|=\\r\\n]+)*>/,\n lookbehind: true,\n greedy: true,\n inside: {\n property: /\\b\\w+(?=\\s*=)/,\n operator: /=/,\n punctuation: /[<>|]/\n }\n },\n macro: {\n pattern: /`\\w+/,\n alias: 'property'\n },\n 'class-name': {\n pattern:\n /(\\b(?:class|enum|extends|interface|state(?:\\(\\))?|struct|within)\\s+)\\w+/,\n lookbehind: true\n },\n keyword:\n /\\b(?:abstract|actor|array|auto|autoexpandcategories|bool|break|byte|case|class|classgroup|client|coerce|collapsecategories|config|const|continue|default|defaultproperties|delegate|dependson|deprecated|do|dontcollapsecategories|editconst|editinlinenew|else|enum|event|exec|export|extends|final|float|for|forcescriptorder|foreach|function|goto|guid|hidecategories|hidedropdown|if|ignores|implements|inherits|input|int|interface|iterator|latent|local|material|name|native|nativereplication|noexport|nontransient|noteditinlinenew|notplaceable|operator|optional|out|pawn|perobjectconfig|perobjectlocalized|placeable|postoperator|preoperator|private|protected|reliable|replication|return|server|showcategories|simulated|singular|state|static|string|struct|structdefault|structdefaultproperties|switch|texture|transient|travel|unreliable|until|var|vector|while|within)\\b/,\n function: /\\b[a-z_]\\w*(?=\\s*\\()/i,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?/i,\n // https://docs.unrealengine.com/udk/Three/UnrealScriptExpressions.html\n operator:\n />>|<<|--|\\+\\+|\\*\\*|[-+*/~!=<>$@]=?|&&?|\\|\\|?|\\^\\^?|[?:%]|\\b(?:ClockwiseFrom|Cross|Dot)\\b/,\n punctuation: /[()[\\]{};,.]/\n }\n Prism.languages.uc = Prism.languages.uscript = Prism.languages.unrealscript\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nuorazor.displayName = 'uorazor'\nuorazor.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function uorazor(Prism) {\n Prism.languages.uorazor = {\n 'comment-hash': {\n pattern: /#.*/,\n alias: 'comment',\n greedy: true\n },\n 'comment-slash': {\n pattern: /\\/\\/.*/,\n alias: 'comment',\n greedy: true\n },\n string: {\n pattern: /(\"|')(?:\\\\.|(?!\\1)[^\\\\\\r\\n])*\\1/,\n inside: {\n punctuation: /^['\"]|['\"]$/\n },\n greedy: true\n },\n 'source-layers': {\n pattern:\n /\\b(?:arms|backpack|blue|bracelet|cancel|clear|cloak|criminal|earrings|enemy|facialhair|friend|friendly|gloves|gray|grey|ground|hair|head|innerlegs|innertorso|innocent|lefthand|middletorso|murderer|neck|nonfriendly|onehandedsecondary|outerlegs|outertorso|pants|red|righthand|ring|self|shirt|shoes|talisman|waist)\\b/i,\n alias: 'function'\n },\n 'source-commands': {\n pattern:\n /\\b(?:alliance|attack|cast|clearall|clearignore|clearjournal|clearlist|clearsysmsg|createlist|createtimer|dclick|dclicktype|dclickvar|dress|dressconfig|drop|droprelloc|emote|getlabel|guild|gumpclose|gumpresponse|hotkey|ignore|lasttarget|lift|lifttype|menu|menuresponse|msg|org|organize|organizer|overhead|pause|poplist|potion|promptresponse|pushlist|removelist|removetimer|rename|restock|say|scav|scavenger|script|setability|setlasttarget|setskill|settimer|setvar|sysmsg|target|targetloc|targetrelloc|targettype|undress|unignore|unsetvar|useobject|useonce|useskill|usetype|virtue|wait|waitforgump|waitformenu|waitforprompt|waitforstat|waitforsysmsg|waitfortarget|walk|wfsysmsg|wft|whisper|yell)\\b/,\n alias: 'function'\n },\n 'tag-name': {\n pattern: /(^\\{%-?\\s*)\\w+/,\n lookbehind: true,\n alias: 'keyword'\n },\n delimiter: {\n pattern: /^\\{[{%]-?|-?[%}]\\}$/,\n alias: 'punctuation'\n },\n function:\n /\\b(?:atlist|close|closest|count|counter|counttype|dead|dex|diffhits|diffmana|diffstam|diffweight|find|findbuff|finddebuff|findlayer|findtype|findtypelist|followers|gumpexists|hidden|hits|hp|hue|human|humanoid|ingump|inlist|insysmessage|insysmsg|int|invul|lhandempty|list|listexists|mana|maxhits|maxhp|maxmana|maxstam|maxweight|monster|mounted|name|next|noto|paralyzed|poisoned|position|prev|previous|queued|rand|random|rhandempty|skill|stam|str|targetexists|timer|timerexists|varexist|warmode|weight)\\b/,\n keyword:\n /\\b(?:and|as|break|continue|else|elseif|endfor|endif|endwhile|for|if|loop|not|or|replay|stop|while)\\b/,\n boolean: /\\b(?:false|null|true)\\b/,\n number: /\\b0x[\\dA-Fa-f]+|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:[Ee][-+]?\\d+)?/,\n operator: [\n {\n pattern:\n /(\\s)(?:and|b-and|b-or|b-xor|ends with|in|is|matches|not|or|same as|starts with)(?=\\s)/,\n lookbehind: true\n },\n /[=<>]=?|!=|\\*\\*?|\\/\\/?|\\?:?|[-+~%|]/\n ],\n punctuation: /[()\\[\\]{}:.,]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nv.displayName = 'v'\nv.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function v(Prism) {\n Prism.register(refractorClike)\n ;(function (Prism) {\n var interpolationExpr = {\n pattern: /[\\s\\S]+/,\n inside: null\n }\n Prism.languages.v = Prism.languages.extend('clike', {\n string: {\n pattern: /r?([\"'])(?:\\\\(?:\\r\\n|[\\s\\S])|(?!\\1)[^\\\\\\r\\n])*\\1/,\n alias: 'quoted-string',\n greedy: true,\n inside: {\n interpolation: {\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)\\$(?:\\{[^{}]*\\}|\\w+(?:\\.\\w+(?:\\([^\\(\\)]*\\))?|\\[[^\\[\\]]+\\])*)/,\n lookbehind: true,\n inside: {\n 'interpolation-variable': {\n pattern: /^\\$\\w[\\s\\S]*$/,\n alias: 'variable'\n },\n 'interpolation-punctuation': {\n pattern: /^\\$\\{|\\}$/,\n alias: 'punctuation'\n },\n 'interpolation-expression': interpolationExpr\n }\n }\n }\n },\n 'class-name': {\n pattern: /(\\b(?:enum|interface|struct|type)\\s+)(?:C\\.)?\\w+/,\n lookbehind: true\n },\n keyword:\n /(?:\\b(?:__global|as|asm|assert|atomic|break|chan|const|continue|defer|else|embed|enum|fn|for|go(?:to)?|if|import|in|interface|is|lock|match|module|mut|none|or|pub|return|rlock|select|shared|sizeof|static|struct|type(?:of)?|union|unsafe)|\\$(?:else|for|if)|#(?:flag|include))\\b/,\n number:\n /\\b(?:0x[a-f\\d]+(?:_[a-f\\d]+)*|0b[01]+(?:_[01]+)*|0o[0-7]+(?:_[0-7]+)*|\\d+(?:_\\d+)*(?:\\.\\d+(?:_\\d+)*)?)\\b/i,\n operator:\n /~|\\?|[*\\/%^!=]=?|\\+[=+]?|-[=-]?|\\|[=|]?|&(?:=|&|\\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\\.\\.\\.?/,\n builtin:\n /\\b(?:any(?:_float|_int)?|bool|byte(?:ptr)?|charptr|f(?:32|64)|i(?:8|16|64|128|nt)|rune|size_t|string|u(?:16|32|64|128)|voidptr)\\b/\n })\n interpolationExpr.inside = Prism.languages.v\n Prism.languages.insertBefore('v', 'string', {\n char: {\n pattern: /`(?:\\\\`|\\\\?[^`]{1,2})`/,\n // using {1,2} instead of `u` flag for compatibility\n alias: 'rune'\n }\n })\n Prism.languages.insertBefore('v', 'operator', {\n attribute: {\n pattern:\n /(^[\\t ]*)\\[(?:deprecated|direct_array_access|flag|inline|live|ref_only|typedef|unsafe_fn|windows_stdcall)\\]/m,\n lookbehind: true,\n alias: 'annotation',\n inside: {\n punctuation: /[\\[\\]]/,\n keyword: /\\w+/\n }\n },\n generic: {\n pattern: /<\\w+>(?=\\s*[\\)\\{])/,\n inside: {\n punctuation: /[<>]/,\n 'class-name': /\\w+/\n }\n }\n })\n Prism.languages.insertBefore('v', 'function', {\n 'generic-function': {\n // e.g. foo<T>( ...\n pattern: /\\b\\w+\\s*<\\w+>(?=\\()/,\n inside: {\n function: /^\\w+/,\n generic: {\n pattern: /<\\w+>/,\n inside: Prism.languages.v.generic.inside\n }\n }\n }\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorClike from './clike.js'\nvala.displayName = 'vala'\nvala.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function vala(Prism) {\n Prism.register(refractorClike)\n Prism.languages.vala = Prism.languages.extend('clike', {\n // Classes copied from prism-csharp\n 'class-name': [\n {\n // (Foo bar, Bar baz)\n pattern: /\\b[A-Z]\\w*(?:\\.\\w+)*\\b(?=(?:\\?\\s+|\\*?\\s+\\*?)\\w)/,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // [Foo]\n pattern: /(\\[)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo : Bar\n pattern:\n /(\\b(?:class|interface)\\s+[A-Z]\\w*(?:\\.\\w+)*\\s*:\\s*)[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n },\n {\n // class Foo\n pattern:\n /((?:\\b(?:class|enum|interface|new|struct)\\s+)|(?:catch\\s+\\())[A-Z]\\w*(?:\\.\\w+)*\\b/,\n lookbehind: true,\n inside: {\n punctuation: /\\./\n }\n }\n ],\n keyword:\n /\\b(?:abstract|as|assert|async|base|bool|break|case|catch|char|class|const|construct|continue|default|delegate|delete|do|double|dynamic|else|ensures|enum|errordomain|extern|finally|float|for|foreach|get|if|in|inline|int|int16|int32|int64|int8|interface|internal|is|lock|long|namespace|new|null|out|override|owned|params|private|protected|public|ref|requires|return|set|short|signal|sizeof|size_t|ssize_t|static|string|struct|switch|this|throw|throws|try|typeof|uchar|uint|uint16|uint32|uint64|uint8|ulong|unichar|unowned|ushort|using|value|var|virtual|void|volatile|weak|while|yield)\\b/i,\n function: /\\b\\w+(?=\\s*\\()/,\n number:\n /(?:\\b0x[\\da-f]+\\b|(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:e[+-]?\\d+)?)(?:f|u?l?)?/i,\n operator:\n /\\+\\+|--|&&|\\|\\||<<=?|>>=?|=>|->|~|[+\\-*\\/%&^|=!<>]=?|\\?\\??|\\.\\.\\./,\n punctuation: /[{}[\\];(),.:]/,\n constant: /\\b[A-Z0-9_]+\\b/\n })\n Prism.languages.insertBefore('vala', 'string', {\n 'raw-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n 'template-string': {\n pattern: /@\"[\\s\\S]*?\"/,\n greedy: true,\n inside: {\n interpolation: {\n pattern: /\\$(?:\\([^)]*\\)|[a-zA-Z]\\w*)/,\n inside: {\n delimiter: {\n pattern: /^\\$\\(?|\\)$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.vala\n }\n },\n string: /[\\s\\S]+/\n }\n }\n })\n Prism.languages.insertBefore('vala', 'keyword', {\n regex: {\n pattern:\n /\\/(?:\\[(?:[^\\]\\\\\\r\\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\\r\\n])+\\/[imsx]{0,4}(?=\\s*(?:$|[\\r\\n,.;})\\]]))/,\n greedy: true,\n inside: {\n 'regex-source': {\n pattern: /^(\\/)[\\s\\S]+(?=\\/[a-z]*$)/,\n lookbehind: true,\n alias: 'language-regex',\n inside: Prism.languages.regex\n },\n 'regex-delimiter': /^\\//,\n 'regex-flags': /^[a-z]+$/\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nvelocity.displayName = 'velocity'\nvelocity.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function velocity(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n Prism.languages.velocity = Prism.languages.extend('markup', {})\n var velocity = {\n variable: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)\\$!?(?:[a-z][\\w-]*(?:\\([^)]*\\))?(?:\\.[a-z][\\w-]*(?:\\([^)]*\\))?|\\[[^\\]]+\\])*|\\{[^}]+\\})/i,\n lookbehind: true,\n inside: {} // See below\n },\n string: {\n pattern: /\"[^\"]*\"|'[^']*'/,\n greedy: true\n },\n number: /\\b\\d+\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /[=!<>]=?|[+*/%-]|&&|\\|\\||\\.\\.|\\b(?:eq|g[et]|l[et]|n(?:e|ot))\\b/,\n punctuation: /[(){}[\\]:,.]/\n }\n velocity.variable.inside = {\n string: velocity['string'],\n function: {\n pattern: /([^\\w-])[a-z][\\w-]*(?=\\()/,\n lookbehind: true\n },\n number: velocity['number'],\n boolean: velocity['boolean'],\n punctuation: velocity['punctuation']\n }\n Prism.languages.insertBefore('velocity', 'comment', {\n unparsed: {\n pattern: /(^|[^\\\\])#\\[\\[[\\s\\S]*?\\]\\]#/,\n lookbehind: true,\n greedy: true,\n inside: {\n punctuation: /^#\\[\\[|\\]\\]#$/\n }\n },\n 'velocity-comment': [\n {\n pattern: /(^|[^\\\\])#\\*[\\s\\S]*?\\*#/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n },\n {\n pattern: /(^|[^\\\\])##.*/,\n lookbehind: true,\n greedy: true,\n alias: 'comment'\n }\n ],\n directive: {\n pattern:\n /(^|[^\\\\](?:\\\\\\\\)*)#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})(?:\\s*\\((?:[^()]|\\([^()]*\\))*\\))?/i,\n lookbehind: true,\n inside: {\n keyword: {\n pattern: /^#@?(?:[a-z][\\w-]*|\\{[a-z][\\w-]*\\})|\\bin\\b/,\n inside: {\n punctuation: /[{}]/\n }\n },\n rest: velocity\n }\n },\n variable: velocity['variable']\n })\n Prism.languages.velocity['tag'].inside['attr-value'].inside.rest =\n Prism.languages.velocity\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nverilog.displayName = 'verilog'\nverilog.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function verilog(Prism) {\n Prism.languages.verilog = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"(?:\\\\(?:\\r\\n|[\\s\\S])|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n 'kernel-function': {\n // support for any kernel function (ex: $display())\n pattern: /\\B\\$\\w+\\b/,\n alias: 'property'\n },\n // support for user defined constants (ex: `define)\n constant: /\\B`\\w+\\b/,\n function: /\\b\\w+(?=\\()/,\n // support for verilog and system verilog keywords\n keyword:\n /\\b(?:alias|and|assert|assign|assume|automatic|before|begin|bind|bins|binsof|bit|break|buf|bufif0|bufif1|byte|case|casex|casez|cell|chandle|class|clocking|cmos|config|const|constraint|context|continue|cover|covergroup|coverpoint|cross|deassign|default|defparam|design|disable|dist|do|edge|else|end|endcase|endclass|endclocking|endconfig|endfunction|endgenerate|endgroup|endinterface|endmodule|endpackage|endprimitive|endprogram|endproperty|endsequence|endspecify|endtable|endtask|enum|event|expect|export|extends|extern|final|first_match|for|force|foreach|forever|fork|forkjoin|function|generate|genvar|highz0|highz1|if|iff|ifnone|ignore_bins|illegal_bins|import|incdir|include|initial|inout|input|inside|instance|int|integer|interface|intersect|join|join_any|join_none|large|liblist|library|local|localparam|logic|longint|macromodule|matches|medium|modport|module|nand|negedge|new|nmos|nor|noshowcancelled|not|notif0|notif1|null|or|output|package|packed|parameter|pmos|posedge|primitive|priority|program|property|protected|pull0|pull1|pulldown|pullup|pulsestyle_ondetect|pulsestyle_onevent|pure|rand|randc|randcase|randsequence|rcmos|real|realtime|ref|reg|release|repeat|return|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|sequence|shortint|shortreal|showcancelled|signed|small|solve|specify|specparam|static|string|strong0|strong1|struct|super|supply0|supply1|table|tagged|task|this|throughout|time|timeprecision|timeunit|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|type|typedef|union|unique|unsigned|use|uwire|var|vectored|virtual|void|wait|wait_order|wand|weak0|weak1|while|wildcard|wire|with|within|wor|xnor|xor)\\b/,\n // bold highlighting for all verilog and system verilog logic blocks\n important: /\\b(?:always|always_comb|always_ff|always_latch)\\b(?: *@)?/,\n // support for time ticks, vectors, and real numbers\n number:\n /\\B##?\\d+|(?:\\b\\d+)?'[odbh] ?[\\da-fzx_?]+|\\b(?:\\d*[._])?\\d+(?:e[-+]?\\d+)?/i,\n operator: /[-+{}^~%*\\/?=!<>&|]+/,\n punctuation: /[[\\];(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nvhdl.displayName = 'vhdl'\nvhdl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function vhdl(Prism) {\n Prism.languages.vhdl = {\n comment: /--.+/,\n // support for all logic vectors\n 'vhdl-vectors': {\n pattern: /\\b[oxb]\"[\\da-f_]+\"|\"[01uxzwlh-]+\"/i,\n alias: 'number'\n },\n // support for operator overloading included\n 'quoted-function': {\n pattern: /\"\\S+?\"(?=\\()/,\n alias: 'function'\n },\n string: /\"(?:[^\\\\\"\\r\\n]|\\\\(?:\\r\\n|[\\s\\S]))*\"/,\n attribute: {\n pattern: /\\b'\\w+/,\n alias: 'attr-name'\n },\n // support for predefined attributes included\n keyword:\n /\\b(?:access|after|alias|all|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|new|next|null|of|on|open|others|out|package|port|postponed|private|procedure|process|pure|range|record|register|reject|report|return|select|severity|shared|signal|subtype|then|to|transport|type|unaffected|units|until|use|variable|view|wait|when|while|with)\\b/i,\n boolean: /\\b(?:false|true)\\b/i,\n function: /\\w+(?=\\()/,\n // decimal, based, physical, and exponential numbers supported\n number: /'[01uxzwlh-]'|\\b(?:\\d+#[\\da-f_.]+#|\\d[\\d_.]*)(?:e[-+]?\\d+)?/i,\n operator:\n /[<>]=?|:=|[-+*/&=]|\\b(?:abs|and|mod|nand|nor|not|or|rem|rol|ror|sla|sll|sra|srl|xnor|xor)\\b/i,\n punctuation: /[{}[\\];(),.:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nvim.displayName = 'vim'\nvim.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function vim(Prism) {\n Prism.languages.vim = {\n string: /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\r\\n]|'')*'/,\n comment: /\".*/,\n function: /\\b\\w+(?=\\()/,\n keyword:\n /\\b(?:N|Next|P|Print|X|XMLent|XMLns|ab|abbreviate|abc|abclear|abo|aboveleft|al|all|ar|arga|argadd|argd|argdelete|argdo|arge|argedit|argg|argglobal|argl|arglocal|args|argu|argument|as|ascii|b|bN|bNext|ba|bad|badd|ball|bd|bdelete|be|bel|belowright|bf|bfirst|bl|blast|bm|bmodified|bn|bnext|bo|botright|bp|bprevious|br|brea|break|breaka|breakadd|breakd|breakdel|breakl|breaklist|brewind|bro|browse|bufdo|buffer|buffers|bun|bunload|bw|bwipeout|c|cN|cNext|cNfcNfile|ca|cabbrev|cabc|cabclear|cad|caddb|caddbuffer|caddexpr|caddf|caddfile|cal|call|cat|catch|cb|cbuffer|cc|ccl|cclose|cd|ce|center|cex|cexpr|cf|cfile|cfir|cfirst|cg|cgetb|cgetbuffer|cgete|cgetexpr|cgetfile|change|changes|chd|chdir|che|checkpath|checkt|checktime|cl|cla|clast|clist|clo|close|cmapc|cmapclear|cn|cnew|cnewer|cnext|cnf|cnfile|cnorea|cnoreabbrev|co|col|colder|colo|colorscheme|comc|comclear|comp|compiler|con|conf|confirm|continue|cope|copen|copy|cp|cpf|cpfile|cprevious|cq|cquit|cr|crewind|cu|cuna|cunabbrev|cunmap|cw|cwindow|d|debugg|debuggreedy|delc|delcommand|delete|delf|delfunction|delm|delmarks|di|diffg|diffget|diffoff|diffpatch|diffpu|diffput|diffsplit|diffthis|diffu|diffupdate|dig|digraphs|display|dj|djump|dl|dlist|dr|drop|ds|dsearch|dsp|dsplit|e|earlier|echoe|echoerr|echom|echomsg|echon|edit|el|else|elsei|elseif|em|emenu|en|endf|endfo|endfor|endfun|endfunction|endif|endt|endtry|endw|endwhile|ene|enew|ex|exi|exit|exu|exusage|f|file|files|filetype|fin|fina|finally|find|fini|finish|fir|first|fix|fixdel|fo|fold|foldc|foldclose|foldd|folddoc|folddoclosed|folddoopen|foldo|foldopen|for|fu|fun|function|go|goto|gr|grep|grepa|grepadd|h|ha|hardcopy|help|helpf|helpfind|helpg|helpgrep|helpt|helptags|hid|hide|his|history|ia|iabbrev|iabc|iabclear|if|ij|ijump|il|ilist|imapc|imapclear|in|inorea|inoreabbrev|isearch|isp|isplit|iu|iuna|iunabbrev|iunmap|j|join|ju|jumps|k|kee|keepalt|keepj|keepjumps|keepmarks|l|lN|lNext|lNf|lNfile|la|lad|laddb|laddbuffer|laddexpr|laddf|laddfile|lan|language|last|later|lb|lbuffer|lc|lcd|lch|lchdir|lcl|lclose|left|lefta|leftabove|let|lex|lexpr|lf|lfile|lfir|lfirst|lg|lgetb|lgetbuffer|lgete|lgetexpr|lgetfile|lgr|lgrep|lgrepa|lgrepadd|lh|lhelpgrep|list|ll|lla|llast|lli|llist|lm|lmak|lmake|lmap|lmapc|lmapclear|ln|lne|lnew|lnewer|lnext|lnf|lnfile|lnoremap|lo|loadview|loc|lockmarks|lockv|lockvar|lol|lolder|lop|lopen|lp|lpf|lpfile|lprevious|lr|lrewind|ls|lt|ltag|lu|lunmap|lv|lvimgrep|lvimgrepa|lvimgrepadd|lw|lwindow|m|ma|mak|make|mark|marks|mat|match|menut|menutranslate|mk|mkexrc|mks|mksession|mksp|mkspell|mkv|mkvie|mkview|mkvimrc|mod|mode|move|mz|mzf|mzfile|mzscheme|n|nbkey|new|next|nmapc|nmapclear|noh|nohlsearch|norea|noreabbrev|nu|number|nun|nunmap|o|omapc|omapclear|on|only|open|opt|options|ou|ounmap|p|pc|pclose|pe|ped|pedit|perl|perld|perldo|po|pop|popu|popup|pp|ppop|pre|preserve|prev|previous|print|prof|profd|profdel|profile|promptf|promptfind|promptr|promptrepl|ps|psearch|ptN|ptNext|pta|ptag|ptf|ptfirst|ptj|ptjump|ptl|ptlast|ptn|ptnext|ptp|ptprevious|ptr|ptrewind|pts|ptselect|pu|put|pw|pwd|py|pyf|pyfile|python|q|qa|qall|quit|quita|quitall|r|read|rec|recover|red|redi|redir|redo|redr|redraw|redraws|redrawstatus|reg|registers|res|resize|ret|retab|retu|return|rew|rewind|ri|right|rightb|rightbelow|ru|rub|ruby|rubyd|rubydo|rubyf|rubyfile|runtime|rv|rviminfo|sN|sNext|sa|sal|sall|san|sandbox|sargument|sav|saveas|sb|sbN|sbNext|sba|sball|sbf|sbfirst|sbl|sblast|sbm|sbmodified|sbn|sbnext|sbp|sbprevious|sbr|sbrewind|sbuffer|scrip|scripte|scriptencoding|scriptnames|se|set|setf|setfiletype|setg|setglobal|setl|setlocal|sf|sfind|sfir|sfirst|sh|shell|sign|sil|silent|sim|simalt|sl|sla|slast|sleep|sm|smagic|smap|smapc|smapclear|sme|smenu|sn|snext|sni|sniff|sno|snomagic|snor|snoremap|snoreme|snoremenu|so|sor|sort|source|sp|spe|spelld|spelldump|spellgood|spelli|spellinfo|spellr|spellrepall|spellu|spellundo|spellw|spellwrong|split|spr|sprevious|sre|srewind|st|sta|stag|star|startg|startgreplace|startinsert|startr|startreplace|stj|stjump|stop|stopi|stopinsert|sts|stselect|sun|sunhide|sunm|sunmap|sus|suspend|sv|sview|syncbind|t|tN|tNext|ta|tab|tabN|tabNext|tabc|tabclose|tabd|tabdo|tabe|tabedit|tabf|tabfind|tabfir|tabfirst|tabl|tablast|tabm|tabmove|tabn|tabnew|tabnext|tabo|tabonly|tabp|tabprevious|tabr|tabrewind|tabs|tag|tags|tc|tcl|tcld|tcldo|tclf|tclfile|te|tearoff|tf|tfirst|th|throw|tj|tjump|tl|tlast|tm|tmenu|tn|tnext|to|topleft|tp|tprevious|tr|trewind|try|ts|tselect|tu|tunmenu|u|una|unabbreviate|undo|undoj|undojoin|undol|undolist|unh|unhide|unlet|unlo|unlockvar|unm|unmap|up|update|ve|verb|verbose|version|vert|vertical|vi|vie|view|vim|vimgrep|vimgrepa|vimgrepadd|visual|viu|viusage|vmapc|vmapclear|vne|vnew|vs|vsplit|vu|vunmap|w|wN|wNext|wa|wall|wh|while|win|winc|wincmd|windo|winp|winpos|winsize|wn|wnext|wp|wprevious|wq|wqa|wqall|write|ws|wsverb|wv|wviminfo|x|xa|xall|xit|xm|xmap|xmapc|xmapclear|xme|xmenu|xn|xnoremap|xnoreme|xnoremenu|xu|xunmap|y|yank)\\b/,\n builtin:\n /\\b(?:acd|ai|akm|aleph|allowrevins|altkeymap|ambiwidth|ambw|anti|antialias|arab|arabic|arabicshape|ari|arshape|autochdir|autocmd|autoindent|autoread|autowrite|autowriteall|aw|awa|background|backspace|backup|backupcopy|backupdir|backupext|backupskip|balloondelay|ballooneval|balloonexpr|bdir|bdlay|beval|bex|bexpr|bg|bh|bin|binary|biosk|bioskey|bk|bkc|bomb|breakat|brk|browsedir|bs|bsdir|bsk|bt|bufhidden|buflisted|buftype|casemap|ccv|cdpath|cedit|cfu|ch|charconvert|ci|cin|cindent|cink|cinkeys|cino|cinoptions|cinw|cinwords|clipboard|cmdheight|cmdwinheight|cmp|cms|columns|com|comments|commentstring|compatible|complete|completefunc|completeopt|consk|conskey|copyindent|cot|cpo|cpoptions|cpt|cscopepathcomp|cscopeprg|cscopequickfix|cscopetag|cscopetagorder|cscopeverbose|cspc|csprg|csqf|cst|csto|csverb|cuc|cul|cursorcolumn|cursorline|cwh|debug|deco|def|define|delcombine|dex|dg|dict|dictionary|diff|diffexpr|diffopt|digraph|dip|dir|directory|dy|ea|ead|eadirection|eb|ed|edcompatible|ef|efm|ei|ek|enc|encoding|endofline|eol|ep|equalalways|equalprg|errorbells|errorfile|errorformat|esckeys|et|eventignore|expandtab|exrc|fcl|fcs|fdc|fde|fdi|fdl|fdls|fdm|fdn|fdo|fdt|fen|fenc|fencs|fex|ff|ffs|fileencoding|fileencodings|fileformat|fileformats|fillchars|fk|fkmap|flp|fml|fmr|foldcolumn|foldenable|foldexpr|foldignore|foldlevel|foldlevelstart|foldmarker|foldmethod|foldminlines|foldnestmax|foldtext|formatexpr|formatlistpat|formatoptions|formatprg|fp|fs|fsync|ft|gcr|gd|gdefault|gfm|gfn|gfs|gfw|ghr|gp|grepformat|grepprg|gtl|gtt|guicursor|guifont|guifontset|guifontwide|guiheadroom|guioptions|guipty|guitablabel|guitabtooltip|helpfile|helpheight|helplang|hf|hh|hi|hidden|highlight|hk|hkmap|hkmapp|hkp|hl|hlg|hls|hlsearch|ic|icon|iconstring|ignorecase|im|imactivatekey|imak|imc|imcmdline|imd|imdisable|imi|iminsert|ims|imsearch|inc|include|includeexpr|incsearch|inde|indentexpr|indentkeys|indk|inex|inf|infercase|insertmode|invacd|invai|invakm|invallowrevins|invaltkeymap|invanti|invantialias|invar|invarab|invarabic|invarabicshape|invari|invarshape|invautochdir|invautoindent|invautoread|invautowrite|invautowriteall|invaw|invawa|invbackup|invballooneval|invbeval|invbin|invbinary|invbiosk|invbioskey|invbk|invbl|invbomb|invbuflisted|invcf|invci|invcin|invcindent|invcompatible|invconfirm|invconsk|invconskey|invcopyindent|invcp|invcscopetag|invcscopeverbose|invcst|invcsverb|invcuc|invcul|invcursorcolumn|invcursorline|invdeco|invdelcombine|invdg|invdiff|invdigraph|invdisable|invea|inveb|inved|invedcompatible|invek|invendofline|inveol|invequalalways|inverrorbells|invesckeys|invet|invex|invexpandtab|invexrc|invfen|invfk|invfkmap|invfoldenable|invgd|invgdefault|invguipty|invhid|invhidden|invhk|invhkmap|invhkmapp|invhkp|invhls|invhlsearch|invic|invicon|invignorecase|invim|invimc|invimcmdline|invimd|invincsearch|invinf|invinfercase|invinsertmode|invis|invjoinspaces|invjs|invlazyredraw|invlbr|invlinebreak|invlisp|invlist|invloadplugins|invlpl|invlz|invma|invmacatsui|invmagic|invmh|invml|invmod|invmodeline|invmodifiable|invmodified|invmore|invmousef|invmousefocus|invmousehide|invnu|invnumber|invodev|invopendevice|invpaste|invpi|invpreserveindent|invpreviewwindow|invprompt|invpvw|invreadonly|invremap|invrestorescreen|invrevins|invri|invrightleft|invrightleftcmd|invrl|invrlc|invro|invrs|invru|invruler|invsb|invsc|invscb|invscrollbind|invscs|invsecure|invsft|invshellslash|invshelltemp|invshiftround|invshortname|invshowcmd|invshowfulltag|invshowmatch|invshowmode|invsi|invsm|invsmartcase|invsmartindent|invsmarttab|invsmd|invsn|invsol|invspell|invsplitbelow|invsplitright|invspr|invsr|invssl|invsta|invstartofline|invstmp|invswapfile|invswf|invta|invtagbsearch|invtagrelative|invtagstack|invtbi|invtbidi|invtbs|invtermbidi|invterse|invtextauto|invtextmode|invtf|invtgst|invtildeop|invtimeout|invtitle|invto|invtop|invtr|invttimeout|invttybuiltin|invttyfast|invtx|invvb|invvisualbell|invwa|invwarn|invwb|invweirdinvert|invwfh|invwfw|invwildmenu|invwinfixheight|invwinfixwidth|invwiv|invwmnu|invwrap|invwrapscan|invwrite|invwriteany|invwritebackup|invws|isf|isfname|isi|isident|isk|iskeyword|isprint|joinspaces|js|key|keymap|keymodel|keywordprg|km|kmp|kp|langmap|langmenu|laststatus|lazyredraw|lbr|lcs|linebreak|lines|linespace|lisp|lispwords|listchars|loadplugins|lpl|lsp|lz|macatsui|magic|makeef|makeprg|matchpairs|matchtime|maxcombine|maxfuncdepth|maxmapdepth|maxmem|maxmempattern|maxmemtot|mco|mef|menuitems|mfd|mh|mis|mkspellmem|ml|mls|mm|mmd|mmp|mmt|modeline|modelines|modifiable|modified|more|mouse|mousef|mousefocus|mousehide|mousem|mousemodel|mouses|mouseshape|mouset|mousetime|mp|mps|msm|mzq|mzquantum|nf|noacd|noai|noakm|noallowrevins|noaltkeymap|noanti|noantialias|noar|noarab|noarabic|noarabicshape|noari|noarshape|noautochdir|noautoindent|noautoread|noautowrite|noautowriteall|noaw|noawa|nobackup|noballooneval|nobeval|nobin|nobinary|nobiosk|nobioskey|nobk|nobl|nobomb|nobuflisted|nocf|noci|nocin|nocindent|nocompatible|noconfirm|noconsk|noconskey|nocopyindent|nocp|nocscopetag|nocscopeverbose|nocst|nocsverb|nocuc|nocul|nocursorcolumn|nocursorline|nodeco|nodelcombine|nodg|nodiff|nodigraph|nodisable|noea|noeb|noed|noedcompatible|noek|noendofline|noeol|noequalalways|noerrorbells|noesckeys|noet|noex|noexpandtab|noexrc|nofen|nofk|nofkmap|nofoldenable|nogd|nogdefault|noguipty|nohid|nohidden|nohk|nohkmap|nohkmapp|nohkp|nohls|noic|noicon|noignorecase|noim|noimc|noimcmdline|noimd|noincsearch|noinf|noinfercase|noinsertmode|nois|nojoinspaces|nojs|nolazyredraw|nolbr|nolinebreak|nolisp|nolist|noloadplugins|nolpl|nolz|noma|nomacatsui|nomagic|nomh|noml|nomod|nomodeline|nomodifiable|nomodified|nomore|nomousef|nomousefocus|nomousehide|nonu|nonumber|noodev|noopendevice|nopaste|nopi|nopreserveindent|nopreviewwindow|noprompt|nopvw|noreadonly|noremap|norestorescreen|norevins|nori|norightleft|norightleftcmd|norl|norlc|noro|nors|noru|noruler|nosb|nosc|noscb|noscrollbind|noscs|nosecure|nosft|noshellslash|noshelltemp|noshiftround|noshortname|noshowcmd|noshowfulltag|noshowmatch|noshowmode|nosi|nosm|nosmartcase|nosmartindent|nosmarttab|nosmd|nosn|nosol|nospell|nosplitbelow|nosplitright|nospr|nosr|nossl|nosta|nostartofline|nostmp|noswapfile|noswf|nota|notagbsearch|notagrelative|notagstack|notbi|notbidi|notbs|notermbidi|noterse|notextauto|notextmode|notf|notgst|notildeop|notimeout|notitle|noto|notop|notr|nottimeout|nottybuiltin|nottyfast|notx|novb|novisualbell|nowa|nowarn|nowb|noweirdinvert|nowfh|nowfw|nowildmenu|nowinfixheight|nowinfixwidth|nowiv|nowmnu|nowrap|nowrapscan|nowrite|nowriteany|nowritebackup|nows|nrformats|numberwidth|nuw|odev|oft|ofu|omnifunc|opendevice|operatorfunc|opfunc|osfiletype|pa|para|paragraphs|paste|pastetoggle|patchexpr|patchmode|path|pdev|penc|pex|pexpr|pfn|ph|pheader|pi|pm|pmbcs|pmbfn|popt|preserveindent|previewheight|previewwindow|printdevice|printencoding|printexpr|printfont|printheader|printmbcharset|printmbfont|printoptions|prompt|pt|pumheight|pvh|pvw|qe|quoteescape|readonly|remap|report|restorescreen|revins|rightleft|rightleftcmd|rl|rlc|ro|rs|rtp|ruf|ruler|rulerformat|runtimepath|sbo|sc|scb|scr|scroll|scrollbind|scrolljump|scrolloff|scrollopt|scs|sect|sections|secure|sel|selection|selectmode|sessionoptions|sft|shcf|shellcmdflag|shellpipe|shellquote|shellredir|shellslash|shelltemp|shelltype|shellxquote|shiftround|shiftwidth|shm|shortmess|shortname|showbreak|showcmd|showfulltag|showmatch|showmode|showtabline|shq|si|sidescroll|sidescrolloff|siso|sj|slm|smartcase|smartindent|smarttab|smc|smd|softtabstop|sol|spc|spell|spellcapcheck|spellfile|spelllang|spellsuggest|spf|spl|splitbelow|splitright|sps|sr|srr|ss|ssl|ssop|stal|startofline|statusline|stl|stmp|su|sua|suffixes|suffixesadd|sw|swapfile|swapsync|swb|swf|switchbuf|sws|sxq|syn|synmaxcol|syntax|t_AB|t_AF|t_AL|t_CS|t_CV|t_Ce|t_Co|t_Cs|t_DL|t_EI|t_F1|t_F2|t_F3|t_F4|t_F5|t_F6|t_F7|t_F8|t_F9|t_IE|t_IS|t_K1|t_K3|t_K4|t_K5|t_K6|t_K7|t_K8|t_K9|t_KA|t_KB|t_KC|t_KD|t_KE|t_KF|t_KG|t_KH|t_KI|t_KJ|t_KK|t_KL|t_RI|t_RV|t_SI|t_Sb|t_Sf|t_WP|t_WS|t_ZH|t_ZR|t_al|t_bc|t_cd|t_ce|t_cl|t_cm|t_cs|t_da|t_db|t_dl|t_fs|t_k1|t_k2|t_k3|t_k4|t_k5|t_k6|t_k7|t_k8|t_k9|t_kB|t_kD|t_kI|t_kN|t_kP|t_kb|t_kd|t_ke|t_kh|t_kl|t_kr|t_ks|t_ku|t_le|t_mb|t_md|t_me|t_mr|t_ms|t_nd|t_op|t_se|t_so|t_sr|t_te|t_ti|t_ts|t_ue|t_us|t_ut|t_vb|t_ve|t_vi|t_vs|t_xs|tabline|tabpagemax|tabstop|tagbsearch|taglength|tagrelative|tagstack|tal|tb|tbi|tbidi|tbis|tbs|tenc|term|termbidi|termencoding|terse|textauto|textmode|textwidth|tgst|thesaurus|tildeop|timeout|timeoutlen|title|titlelen|titleold|titlestring|toolbar|toolbariconsize|top|tpm|tsl|tsr|ttimeout|ttimeoutlen|ttm|tty|ttybuiltin|ttyfast|ttym|ttymouse|ttyscroll|ttytype|tw|tx|uc|ul|undolevels|updatecount|updatetime|ut|vb|vbs|vdir|verbosefile|vfile|viewdir|viewoptions|viminfo|virtualedit|visualbell|vop|wak|warn|wb|wc|wcm|wd|weirdinvert|wfh|wfw|whichwrap|wi|wig|wildchar|wildcharm|wildignore|wildmenu|wildmode|wildoptions|wim|winaltkeys|window|winfixheight|winfixwidth|winheight|winminheight|winminwidth|winwidth|wiv|wiw|wm|wmh|wmnu|wmw|wop|wrap|wrapmargin|wrapscan|writeany|writebackup|writedelay|ww)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?)\\b/i,\n operator:\n /\\|\\||&&|[-+.]=?|[=!](?:[=~][#?]?)?|[<>]=?[#?]?|[*\\/%?]|\\b(?:is(?:not)?)\\b/,\n punctuation: /[{}[\\](),;:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nvisualBasic.displayName = 'visual-basic'\nvisualBasic.aliases = ['vb', 'vba']\n\n/** @param {Refractor} Prism */\nexport default function visualBasic(Prism) {\n Prism.languages['visual-basic'] = {\n comment: {\n pattern: /(?:['‘’]|REM\\b)(?:[^\\r\\n_]|_(?:\\r\\n?|\\n)?)*/i,\n inside: {\n keyword: /^REM/i\n }\n },\n directive: {\n pattern:\n /#(?:Const|Else|ElseIf|End|ExternalChecksum|ExternalSource|If|Region)(?:\\b_[ \\t]*(?:\\r\\n?|\\n)|.)+/i,\n alias: 'property',\n greedy: true\n },\n string: {\n pattern: /\\$?[\"“”](?:[\"“”]{2}|[^\"“”])*[\"“”]C?/i,\n greedy: true\n },\n date: {\n pattern:\n /#[ \\t]*(?:\\d+([/-])\\d+\\1\\d+(?:[ \\t]+(?:\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?))?|\\d+[ \\t]*(?:AM|PM)|\\d+:\\d+(?::\\d+)?(?:[ \\t]*(?:AM|PM))?)[ \\t]*#/i,\n alias: 'number'\n },\n number:\n /(?:(?:\\b\\d+(?:\\.\\d+)?|\\.\\d+)(?:E[+-]?\\d+)?|&[HO][\\dA-F]+)(?:[FRD]|U?[ILS])?/i,\n boolean: /\\b(?:False|Nothing|True)\\b/i,\n keyword:\n /\\b(?:AddHandler|AddressOf|Alias|And(?:Also)?|As|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|C(?:Bool|Byte|Char|Date|Dbl|Dec|Int|Lng|Obj|SByte|Short|Sng|Str|Type|UInt|ULng|UShort)|Char|Class|Const|Continue|Currency|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else(?:If)?|End(?:If)?|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get(?:Type|XMLNamespace)?|Global|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|IsNot|Let|Lib|Like|Long|Loop|Me|Mod|Module|Must(?:Inherit|Override)|My(?:Base|Class)|Namespace|Narrowing|New|Next|Not(?:Inheritable|Overridable)?|Object|Of|On|Operator|Option(?:al)?|Or(?:Else)?|Out|Overloads|Overridable|Overrides|ParamArray|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|SByte|Select|Set|Shadows|Shared|short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TryCast|Type|TypeOf|U(?:Integer|Long|Short)|Until|Using|Variant|Wend|When|While|Widening|With(?:Events)?|WriteOnly|Xor)\\b/i,\n operator: /[+\\-*/\\\\^<=>&#@$%!]|\\b_(?=[ \\t]*[\\r\\n])/,\n punctuation: /[{}().,:?]/\n }\n Prism.languages.vb = Prism.languages['visual-basic']\n Prism.languages.vba = Prism.languages['visual-basic']\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwarpscript.displayName = 'warpscript'\nwarpscript.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function warpscript(Prism) {\n Prism.languages.warpscript = {\n comment: /#.*|\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n string: {\n pattern:\n /\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"|'(?:[^'\\\\\\r\\n]|\\\\.)*'|<'(?:[^\\\\']|'(?!>)|\\\\.)*'>/,\n greedy: true\n },\n variable: /\\$\\S+/,\n macro: {\n pattern: /@\\S+/,\n alias: 'property'\n },\n // WarpScript doesn't have any keywords, these are all functions under the control category\n // https://www.warp10.io/tags/control\n keyword:\n /\\b(?:BREAK|CHECKMACRO|CONTINUE|CUDF|DEFINED|DEFINEDMACRO|EVAL|FAIL|FOR|FOREACH|FORSTEP|IFT|IFTE|MSGFAIL|NRETURN|RETHROW|RETURN|SWITCH|TRY|UDF|UNTIL|WHILE)\\b/,\n number:\n /[+-]?\\b(?:NaN|Infinity|\\d+(?:\\.\\d*)?(?:[Ee][+-]?\\d+)?|0x[\\da-fA-F]+|0b[01]+)\\b/,\n boolean: /\\b(?:F|T|false|true)\\b/,\n punctuation: /<%|%>|[{}[\\]()]/,\n // Some operators from the \"operators\" category\n // https://www.warp10.io/tags/operators\n operator:\n /==|&&?|\\|\\|?|\\*\\*?|>>>?|<<|[<>!~]=?|[-/%^]|\\+!?|\\b(?:AND|NOT|OR)\\b/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwasm.displayName = 'wasm'\nwasm.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function wasm(Prism) {\n Prism.languages.wasm = {\n comment: [\n /\\(;[\\s\\S]*?;\\)/,\n {\n pattern: /;;.*/,\n greedy: true\n }\n ],\n string: {\n pattern: /\"(?:\\\\[\\s\\S]|[^\"\\\\])*\"/,\n greedy: true\n },\n keyword: [\n {\n pattern: /\\b(?:align|offset)=/,\n inside: {\n operator: /=/\n }\n },\n {\n pattern:\n /\\b(?:(?:f32|f64|i32|i64)(?:\\.(?:abs|add|and|ceil|clz|const|convert_[su]\\/i(?:32|64)|copysign|ctz|demote\\/f64|div(?:_[su])?|eqz?|extend_[su]\\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\\/f32|reinterpret\\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\\/f(?:32|64))?|wrap\\/i64|xor))?|memory\\.(?:grow|size))\\b/,\n inside: {\n punctuation: /\\./\n }\n },\n /\\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\\b/\n ],\n variable: /\\$[\\w!#$%&'*+\\-./:<=>?@\\\\^`|~]+/,\n number:\n /[+-]?\\b(?:\\d(?:_?\\d)*(?:\\.\\d(?:_?\\d)*)?(?:[eE][+-]?\\d(?:_?\\d)*)?|0x[\\da-fA-F](?:_?[\\da-fA-F])*(?:\\.[\\da-fA-F](?:_?[\\da-fA-D])*)?(?:[pP][+-]?\\d(?:_?\\d)*)?)\\b|\\binf\\b|\\bnan(?::0x[\\da-fA-F](?:_?[\\da-fA-D])*)?\\b/,\n punctuation: /[()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwebIdl.displayName = 'web-idl'\nwebIdl.aliases = ['webidl']\n\n/** @param {Refractor} Prism */\nexport default function webIdl(Prism) {\n ;(function (Prism) {\n var id = /(?:\\B-|\\b_|\\b)[A-Za-z][\\w-]*(?![\\w-])/.source\n var type =\n '(?:' +\n /\\b(?:unsigned\\s+)?long\\s+long(?![\\w-])/.source +\n '|' +\n /\\b(?:unrestricted|unsigned)\\s+[a-z]+(?![\\w-])/.source +\n '|' +\n /(?!(?:unrestricted|unsigned)\\b)/.source +\n id +\n /(?:\\s*<(?:[^<>]|<[^<>]*>)*>)?/.source +\n ')' +\n /(?:\\s*\\?)?/.source\n var typeInside = {}\n Prism.languages['web-idl'] = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?\\*\\//,\n greedy: true\n },\n string: {\n pattern: /\"[^\"]*\"/,\n greedy: true\n },\n namespace: {\n pattern: RegExp(/(\\bnamespace\\s+)/.source + id),\n lookbehind: true\n },\n 'class-name': [\n {\n pattern:\n /(^|[^\\w-])(?:iterable|maplike|setlike)\\s*<(?:[^<>]|<[^<>]*>)*>/,\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:attribute|const|deleter|getter|optional|setter)\\s+)/.source +\n type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // callback return type\n pattern: RegExp(\n '(' + /\\bcallback\\s+/.source + id + /\\s*=\\s*/.source + ')' + type\n ),\n lookbehind: true,\n inside: typeInside\n },\n {\n // typedef\n pattern: RegExp(/(\\btypedef\\b\\s*)/.source + type),\n lookbehind: true,\n inside: typeInside\n },\n {\n pattern: RegExp(\n /(\\b(?:callback|dictionary|enum|interface(?:\\s+mixin)?)\\s+)(?!(?:interface|mixin)\\b)/\n .source + id\n ),\n lookbehind: true\n },\n {\n // inheritance\n pattern: RegExp(/(:\\s*)/.source + id),\n lookbehind: true\n },\n // includes and implements\n RegExp(id + /(?=\\s+(?:implements|includes)\\b)/.source),\n {\n pattern: RegExp(/(\\b(?:implements|includes)\\s+)/.source + id),\n lookbehind: true\n },\n {\n // function return type, parameter types, and dictionary members\n pattern: RegExp(\n type +\n '(?=' +\n /\\s*(?:\\.{3}\\s*)?/.source +\n id +\n /\\s*[(),;=]/.source +\n ')'\n ),\n inside: typeInside\n }\n ],\n builtin:\n /\\b(?:ArrayBuffer|BigInt64Array|BigUint64Array|ByteString|DOMString|DataView|Float32Array|Float64Array|FrozenArray|Int16Array|Int32Array|Int8Array|ObservableArray|Promise|USVString|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray)\\b/,\n keyword: [\n /\\b(?:async|attribute|callback|const|constructor|deleter|dictionary|enum|getter|implements|includes|inherit|interface|mixin|namespace|null|optional|or|partial|readonly|required|setter|static|stringifier|typedef|unrestricted)\\b/,\n // type keywords\n /\\b(?:any|bigint|boolean|byte|double|float|iterable|long|maplike|object|octet|record|sequence|setlike|short|symbol|undefined|unsigned|void)\\b/\n ],\n boolean: /\\b(?:false|true)\\b/,\n number: {\n pattern:\n /(^|[^\\w-])-?(?:0x[0-9a-f]+|(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?|NaN|Infinity)(?![\\w-])/i,\n lookbehind: true\n },\n operator: /\\.{3}|[=:?<>-]/,\n punctuation: /[(){}[\\].,;]/\n }\n for (var key in Prism.languages['web-idl']) {\n if (key !== 'class-name') {\n typeInside[key] = Prism.languages['web-idl'][key]\n }\n }\n Prism.languages['webidl'] = Prism.languages['web-idl']\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwgsl.displayName = 'wgsl'\nwgsl.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function wgsl(Prism) {\n Prism.languages.wgsl = {\n comment: {\n pattern: /\\/\\/.*|\\/\\*[\\s\\S]*?(?:\\*\\/|$)/,\n greedy: true\n },\n 'builtin-attribute': {\n pattern: /(@)builtin\\(.*?\\)/,\n lookbehind: true,\n inside: {\n attribute: {\n pattern: /^builtin/,\n alias: 'attr-name'\n },\n punctuation: /[(),]/,\n 'built-in-values': {\n pattern:\n /\\b(?:frag_depth|front_facing|global_invocation_id|instance_index|local_invocation_id|local_invocation_index|num_workgroups|position|sample_index|sample_mask|vertex_index|workgroup_id)\\b/,\n alias: 'attr-value'\n }\n }\n },\n attributes: {\n pattern:\n /(@)(?:align|binding|compute|const|fragment|group|id|interpolate|invariant|location|size|vertex|workgroup_size)/i,\n lookbehind: true,\n alias: 'attr-name'\n },\n functions: {\n pattern: /\\b(fn\\s+)[_a-zA-Z]\\w*(?=[(<])/,\n lookbehind: true,\n alias: 'function'\n },\n keyword:\n /\\b(?:bitcast|break|case|const|continue|continuing|default|discard|else|enable|fallthrough|fn|for|function|if|let|loop|private|return|storage|struct|switch|type|uniform|var|while|workgroup)\\b/,\n builtin:\n /\\b(?:abs|acos|acosh|all|any|array|asin|asinh|atan|atan2|atanh|atomic|atomicAdd|atomicAnd|atomicCompareExchangeWeak|atomicExchange|atomicLoad|atomicMax|atomicMin|atomicOr|atomicStore|atomicSub|atomicXor|bool|ceil|clamp|cos|cosh|countLeadingZeros|countOneBits|countTrailingZeros|cross|degrees|determinant|distance|dot|dpdx|dpdxCoarse|dpdxFine|dpdy|dpdyCoarse|dpdyFine|exp|exp2|extractBits|f32|f64|faceForward|firstLeadingBit|floor|fma|fract|frexp|fwidth|fwidthCoarse|fwidthFine|i32|i64|insertBits|inverseSqrt|ldexp|length|log|log2|mat[2-4]x[2-4]|max|min|mix|modf|normalize|override|pack2x16float|pack2x16snorm|pack2x16unorm|pack4x8snorm|pack4x8unorm|pow|ptr|quantizeToF16|radians|reflect|refract|reverseBits|round|sampler|sampler_comparison|select|shiftLeft|shiftRight|sign|sin|sinh|smoothstep|sqrt|staticAssert|step|storageBarrier|tan|tanh|textureDimensions|textureGather|textureGatherCompare|textureLoad|textureNumLayers|textureNumLevels|textureNumSamples|textureSample|textureSampleBias|textureSampleCompare|textureSampleCompareLevel|textureSampleGrad|textureSampleLevel|textureStore|texture_1d|texture_2d|texture_2d_array|texture_3d|texture_cube|texture_cube_array|texture_depth_2d|texture_depth_2d_array|texture_depth_cube|texture_depth_cube_array|texture_depth_multisampled_2d|texture_multisampled_2d|texture_storage_1d|texture_storage_2d|texture_storage_2d_array|texture_storage_3d|transpose|trunc|u32|u64|unpack2x16float|unpack2x16snorm|unpack2x16unorm|unpack4x8snorm|unpack4x8unorm|vec[2-4]|workgroupBarrier)\\b/,\n 'function-calls': {\n pattern: /\\b[_a-z]\\w*(?=\\()/i,\n alias: 'function'\n },\n 'class-name': /\\b(?:[A-Z][A-Za-z0-9]*)\\b/,\n 'bool-literal': {\n pattern: /\\b(?:false|true)\\b/,\n alias: 'boolean'\n },\n 'hex-int-literal': {\n pattern: /\\b0[xX][0-9a-fA-F]+[iu]?\\b(?![.pP])/,\n alias: 'number'\n },\n 'hex-float-literal': {\n pattern: /\\b0[xX][0-9a-fA-F]*(?:\\.[0-9a-fA-F]*)?(?:[pP][+-]?\\d+[fh]?)?/,\n alias: 'number'\n },\n 'decimal-float-literal': [\n {\n pattern: /\\d*\\.\\d+(?:[eE](?:\\+|-)?\\d+)?[fh]?/,\n alias: 'number'\n },\n {\n pattern: /\\d+\\.\\d*(?:[eE](?:\\+|-)?\\d+)?[fh]?/,\n alias: 'number'\n },\n {\n pattern: /\\d+[eE](?:\\+|-)?\\d+[fh]?/,\n alias: 'number'\n },\n {\n pattern: /\\b\\d+[fh]\\b/,\n alias: 'number'\n }\n ],\n 'int-literal': {\n pattern: /\\b\\d+[iu]?\\b/,\n alias: 'number'\n },\n operator: [\n {\n pattern: /(?:\\^|~|\\|(?!\\|)|\\|\\||&&|<<|>>|!)(?!=)/\n },\n {\n pattern: /&(?![&=])/\n },\n {\n pattern: /(?:\\+=|-=|\\*=|\\/=|%=|\\^=|&=|\\|=|<<=|>>=)/\n },\n {\n pattern: /(^|[^<>=!])=(?![=>])/,\n lookbehind: true\n },\n {\n pattern: /(?:==|!=|<=|\\+\\+|--|(^|[^=])>=)/,\n lookbehind: true\n },\n {\n pattern: /(?:(?:[+%]|(?:\\*(?!\\w)))(?!=))|(?:-(?!>))|(?:\\/(?!\\/))/\n },\n {\n pattern: /->/\n }\n ],\n punctuation: /[@(){}[\\],;<>:.]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nwiki.displayName = 'wiki'\nwiki.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function wiki(Prism) {\n Prism.register(refractorMarkup)\n Prism.languages.wiki = Prism.languages.extend('markup', {\n 'block-comment': {\n pattern: /(^|[^\\\\])\\/\\*[\\s\\S]*?\\*\\//,\n lookbehind: true,\n alias: 'comment'\n },\n heading: {\n pattern: /^(=+)[^=\\r\\n].*?\\1/m,\n inside: {\n punctuation: /^=+|=+$/,\n important: /.+/\n }\n },\n emphasis: {\n // TODO Multi-line\n pattern: /('{2,5}).+?\\1/,\n inside: {\n 'bold-italic': {\n pattern: /(''''').+?(?=\\1)/,\n lookbehind: true,\n alias: ['bold', 'italic']\n },\n bold: {\n pattern: /(''')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n italic: {\n pattern: /('')[^'](?:.*?[^'])?(?=\\1)/,\n lookbehind: true\n },\n punctuation: /^''+|''+$/\n }\n },\n hr: {\n pattern: /^-{4,}/m,\n alias: 'punctuation'\n },\n url: [\n /ISBN +(?:97[89][ -]?)?(?:\\d[ -]?){9}[\\dx]\\b|(?:PMID|RFC) +\\d+/i,\n /\\[\\[.+?\\]\\]|\\[.+?\\]/\n ],\n variable: [\n /__[A-Z]+__/,\n // FIXME Nested structures should be handled\n // {{formatnum:{{#expr:{{{3}}}}}}}\n /\\{{3}.+?\\}{3}/,\n /\\{\\{.+?\\}\\}/\n ],\n symbol: [/^#redirect/im, /~{3,5}/],\n // Handle table attrs:\n // {|\n // ! style=\"text-align:left;\"| Item\n // |}\n 'table-tag': {\n pattern: /((?:^|[|!])[|!])[^|\\r\\n]+\\|(?!\\|)/m,\n lookbehind: true,\n inside: {\n 'table-bar': {\n pattern: /\\|$/,\n alias: 'punctuation'\n },\n rest: Prism.languages.markup['tag'].inside\n }\n },\n punctuation: /^(?:\\{\\||\\|\\}|\\|-|[*#:;!|])|\\|\\||!!/m\n })\n Prism.languages.insertBefore('wiki', 'tag', {\n // Prevent highlighting inside <nowiki>, <source> and <pre> tags\n nowiki: {\n pattern: /<(nowiki|pre|source)\\b[^>]*>[\\s\\S]*?<\\/\\1>/i,\n inside: {\n tag: {\n pattern: /<(?:nowiki|pre|source)\\b[^>]*>|<\\/(?:nowiki|pre|source)>/i,\n inside: Prism.languages.markup['tag'].inside\n }\n }\n }\n })\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwolfram.displayName = 'wolfram'\nwolfram.aliases = ['mathematica', 'nb', 'wl']\n\n/** @param {Refractor} Prism */\nexport default function wolfram(Prism) {\n Prism.languages.wolfram = {\n comment:\n // Allow one level of nesting - note: regex taken from applescipt\n /\\(\\*(?:\\(\\*(?:[^*]|\\*(?!\\)))*\\*\\)|(?!\\(\\*)[\\s\\S])*?\\*\\)/,\n string: {\n pattern: /\"(?:\\\\.|[^\"\\\\\\r\\n])*\"/,\n greedy: true\n },\n keyword:\n /\\b(?:Abs|AbsArg|Accuracy|Block|Do|For|Function|If|Manipulate|Module|Nest|NestList|None|Return|Switch|Table|Which|While)\\b/,\n context: {\n pattern: /\\b\\w+`+\\w*/,\n alias: 'class-name'\n },\n blank: {\n pattern: /\\b\\w+_\\b/,\n alias: 'regex'\n },\n 'global-variable': {\n pattern: /\\$\\w+/,\n alias: 'variable'\n },\n boolean: /\\b(?:False|True)\\b/,\n number:\n /(?:\\b(?=\\d)|\\B(?=\\.))(?:0[bo])?(?:(?:\\d|0x[\\da-f])[\\da-f]*(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?j?\\b/i,\n operator:\n /\\/\\.|;|=\\.|\\^=|\\^:=|:=|<<|>>|<\\||\\|>|:>|\\|->|->|<-|@@@|@@|@|\\/@|=!=|===|==|=|\\+|-|\\[\\/-+%=\\]=?|!=|\\*\\*?=?|\\/\\/?=?|<[<=>]?|>[=>]?|[&|^~]/,\n punctuation: /[{}[\\];(),.:]/\n }\n Prism.languages.mathematica = Prism.languages.wolfram\n Prism.languages.wl = Prism.languages.wolfram\n Prism.languages.nb = Prism.languages.wolfram\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nwren.displayName = 'wren'\nwren.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function wren(Prism) {\n // https://wren.io/\n\n Prism.languages.wren = {\n // Multiline comments in Wren can have nested multiline comments\n // Comments: // and /* */\n comment: [\n {\n // support 3 levels of nesting\n // regex: \\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|<self>)*\\*\\/\n pattern:\n /\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*)|\\/\\*(?:[^*/]|\\*(?!\\/)|\\/(?!\\*))*\\*\\/)*\\*\\/)*\\*\\//,\n greedy: true\n },\n {\n pattern: /(^|[^\\\\:])\\/\\/.*/,\n lookbehind: true,\n greedy: true\n }\n ],\n // Triple quoted strings are multiline but cannot have interpolation (raw strings)\n // Based on prism-python.js\n 'triple-quoted-string': {\n pattern: /\"\"\"[\\s\\S]*?\"\"\"/,\n greedy: true,\n alias: 'string'\n },\n // see below\n 'string-literal': null,\n // #!/usr/bin/env wren on the first line\n hashbang: {\n pattern: /^#!\\/.+/,\n greedy: true,\n alias: 'comment'\n },\n // Attributes are special keywords to add meta data to classes\n attribute: {\n // #! attributes are stored in class properties\n // #!myvar = true\n // #attributes are not stored and dismissed at compilation\n pattern: /#!?[ \\t\\u3000]*\\w+/,\n alias: 'keyword'\n },\n 'class-name': [\n {\n // class definition\n // class Meta {}\n pattern: /(\\bclass\\s+)\\w+/,\n lookbehind: true\n },\n // A class must always start with an uppercase.\n // File.read\n /\\b[A-Z][a-z\\d_]*\\b/\n ],\n // A constant can be a variable, class, property or method. Just named in all uppercase letters\n constant: /\\b[A-Z][A-Z\\d_]*\\b/,\n null: {\n pattern: /\\bnull\\b/,\n alias: 'keyword'\n },\n keyword:\n /\\b(?:as|break|class|construct|continue|else|for|foreign|if|import|in|is|return|static|super|this|var|while)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n number: /\\b(?:0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)\\b/i,\n // Functions can be Class.method()\n function: /\\b[a-z_]\\w*(?=\\s*[({])/i,\n operator: /<<|>>|[=!<>]=?|&&|\\|\\||[-+*/%~^&|?:]|\\.{2,3}/,\n punctuation: /[\\[\\](){}.,;]/\n }\n Prism.languages.wren['string-literal'] = {\n // A single quote string is multiline and can have interpolation (similar to JS backticks ``)\n pattern:\n /(^|[^\\\\\"])\"(?:[^\\\\\"%]|\\\\[\\s\\S]|%(?!\\()|%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\))*\"/,\n lookbehind: true,\n greedy: true,\n inside: {\n interpolation: {\n // \"%(interpolation)\"\n pattern:\n /((?:^|[^\\\\])(?:\\\\{2})*)%\\((?:[^()]|\\((?:[^()]|\\([^)]*\\))*\\))*\\)/,\n lookbehind: true,\n inside: {\n expression: {\n pattern: /^(%\\()[\\s\\S]+(?=\\)$)/,\n lookbehind: true,\n inside: Prism.languages.wren\n },\n 'interpolation-punctuation': {\n pattern: /^%\\(|\\)$/,\n alias: 'punctuation'\n }\n }\n },\n string: /[\\s\\S]+/\n }\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nxeora.displayName = 'xeora'\nxeora.aliases = ['xeoracube']\n\n/** @param {Refractor} Prism */\nexport default function xeora(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n Prism.languages.xeora = Prism.languages.extend('markup', {\n constant: {\n pattern: /\\$(?:DomainContents|PageRenderDuration)\\$/,\n inside: {\n punctuation: {\n pattern: /\\$/\n }\n }\n },\n variable: {\n pattern: /\\$@?(?:#+|[-+*~=^])?[\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[$.]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n 'function-inline': {\n pattern:\n /\\$F:[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\$/,\n inside: {\n variable: {\n pattern: /(?:[,|])@?(?:#+|[-+*~=^])?[\\w.]+/,\n inside: {\n punctuation: {\n pattern: /[,.|]/\n },\n operator: {\n pattern: /#+|[-+*~=^@]/\n }\n }\n },\n punctuation: {\n pattern: /\\$\\w:|[$:?.,|]/\n }\n },\n alias: 'function'\n },\n 'function-block': {\n pattern:\n /\\$XF:\\{[-\\w.]+\\?[-\\w.]+(?:,(?:(?:@[-#]*\\w+\\.[\\w+.]\\.*)*\\|)*(?:(?:[\\w+]|[-#*.~^]+[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*|(?:@[-#]*\\w+\\.[\\w+.]\\.*)+(?:(?:[\\w+]|[-#*~^][-#*.~^]*[\\w+]|=\\S)(?:[^$=]|=+[^=])*=*)?)?)?\\}:XF\\$/,\n inside: {\n punctuation: {\n pattern: /[$:{}?.,|]/\n }\n },\n alias: 'function'\n },\n 'directive-inline': {\n pattern: /\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\/\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n }\n },\n alias: 'function'\n },\n 'directive-block-open': {\n pattern:\n /\\$\\w+:\\{|\\$\\w(?:#\\d+\\+?)?(?:\\[[-\\w.]+\\])?:[-\\w.]+:\\{(?:![A-Z]+)?/,\n inside: {\n punctuation: {\n pattern: /\\$(?:\\w:|C(?:\\[|#\\d))?|[:{[\\]]/,\n inside: {\n tag: {\n pattern: /#\\d/\n }\n }\n },\n attribute: {\n pattern: /![A-Z]+$/,\n inside: {\n punctuation: {\n pattern: /!/\n }\n },\n alias: 'keyword'\n }\n },\n alias: 'function'\n },\n 'directive-block-separator': {\n pattern: /\\}:[-\\w.]+:\\{/,\n inside: {\n punctuation: {\n pattern: /[:{}]/\n }\n },\n alias: 'function'\n },\n 'directive-block-close': {\n pattern: /\\}:[-\\w.]+\\$/,\n inside: {\n punctuation: {\n pattern: /[:{}$]/\n }\n },\n alias: 'function'\n }\n })\n Prism.languages.insertBefore(\n 'inside',\n 'punctuation',\n {\n variable: Prism.languages.xeora['function-inline'].inside['variable']\n },\n Prism.languages.xeora['function-block']\n )\n Prism.languages.xeoracube = Prism.languages.xeora\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nxmlDoc.displayName = 'xml-doc'\nxmlDoc.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function xmlDoc(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n /**\n * If the given language is present, it will insert the given doc comment grammar token into it.\n *\n * @param {string} lang\n * @param {any} docComment\n */\n function insertDocComment(lang, docComment) {\n if (Prism.languages[lang]) {\n Prism.languages.insertBefore(lang, 'comment', {\n 'doc-comment': docComment\n })\n }\n }\n var tag = Prism.languages.markup.tag\n var slashDocComment = {\n pattern: /\\/\\/\\/.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n var tickDocComment = {\n pattern: /'''.*/,\n greedy: true,\n alias: 'comment',\n inside: {\n tag: tag\n }\n }\n insertDocComment('csharp', slashDocComment)\n insertDocComment('fsharp', slashDocComment)\n insertDocComment('vbnet', tickDocComment)\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nxojo.displayName = 'xojo'\nxojo.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function xojo(Prism) {\n Prism.languages.xojo = {\n comment: {\n pattern: /(?:'|\\/\\/|Rem\\b).+/i,\n greedy: true\n },\n string: {\n pattern: /\"(?:\"\"|[^\"])*\"/,\n greedy: true\n },\n number: [/(?:\\b\\d+(?:\\.\\d*)?|\\B\\.\\d+)(?:E[+-]?\\d+)?/i, /&[bchou][a-z\\d]+/i],\n directive: {\n pattern: /#(?:Else|ElseIf|Endif|If|Pragma)\\b/i,\n alias: 'property'\n },\n keyword:\n /\\b(?:AddHandler|App|Array|As(?:signs)?|Auto|Boolean|Break|By(?:Ref|Val)|Byte|Call|Case|Catch|CFStringRef|CGFloat|Class|Color|Const|Continue|CString|Currency|CurrentMethodName|Declare|Delegate|Dim|Do(?:uble|wnTo)?|Each|Else(?:If)?|End|Enumeration|Event|Exception|Exit|Extends|False|Finally|For|Function|Get|GetTypeInfo|Global|GOTO|If|Implements|In|Inherits|Int(?:8|16|32|64|eger|erface)?|Lib|Loop|Me|Module|Next|Nil|Object|Optional|OSType|ParamArray|Private|Property|Protected|PString|Ptr|Raise(?:Event)?|ReDim|RemoveHandler|Return|Select(?:or)?|Self|Set|Shared|Short|Single|Soft|Static|Step|String|Sub|Super|Text|Then|To|True|Try|Ubound|UInt(?:8|16|32|64|eger)?|Until|Using|Var(?:iant)?|Wend|While|WindowPtr|WString)\\b/i,\n operator:\n /<[=>]?|>=?|[+\\-*\\/\\\\^=]|\\b(?:AddressOf|And|Ctype|IsA?|Mod|New|Not|Or|WeakAddressOf|Xor)\\b/i,\n punctuation: /[.,;:()]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nimport refractorMarkup from './markup.js'\nxquery.displayName = 'xquery'\nxquery.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function xquery(Prism) {\n Prism.register(refractorMarkup)\n ;(function (Prism) {\n Prism.languages.xquery = Prism.languages.extend('markup', {\n 'xquery-comment': {\n pattern: /\\(:[\\s\\S]*?:\\)/,\n greedy: true,\n alias: 'comment'\n },\n string: {\n pattern: /([\"'])(?:\\1\\1|(?!\\1)[\\s\\S])*\\1/,\n greedy: true\n },\n extension: {\n pattern: /\\(#.+?#\\)/,\n alias: 'symbol'\n },\n variable: /\\$[-\\w:]+/,\n axis: {\n pattern:\n /(^|[^-])(?:ancestor(?:-or-self)?|attribute|child|descendant(?:-or-self)?|following(?:-sibling)?|parent|preceding(?:-sibling)?|self)(?=::)/,\n lookbehind: true,\n alias: 'operator'\n },\n 'keyword-operator': {\n pattern:\n /(^|[^:-])\\b(?:and|castable as|div|eq|except|ge|gt|idiv|instance of|intersect|is|le|lt|mod|ne|or|union)\\b(?=$|[^:-])/,\n lookbehind: true,\n alias: 'operator'\n },\n keyword: {\n pattern:\n /(^|[^:-])\\b(?:as|ascending|at|base-uri|boundary-space|case|cast as|collation|construction|copy-namespaces|declare|default|descending|else|empty (?:greatest|least)|encoding|every|external|for|function|if|import|in|inherit|lax|let|map|module|namespace|no-inherit|no-preserve|option|order(?: by|ed|ing)?|preserve|return|satisfies|schema|some|stable|strict|strip|then|to|treat as|typeswitch|unordered|validate|variable|version|where|xquery)\\b(?=$|[^:-])/,\n lookbehind: true\n },\n function: /[\\w-]+(?::[\\w-]+)*(?=\\s*\\()/,\n 'xquery-element': {\n pattern: /(element\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'tag'\n },\n 'xquery-attribute': {\n pattern: /(attribute\\s+)[\\w-]+(?::[\\w-]+)*/,\n lookbehind: true,\n alias: 'attr-name'\n },\n builtin: {\n pattern:\n /(^|[^:-])\\b(?:attribute|comment|document|element|processing-instruction|text|xs:(?:ENTITIES|ENTITY|ID|IDREFS?|NCName|NMTOKENS?|NOTATION|Name|QName|anyAtomicType|anyType|anyURI|base64Binary|boolean|byte|date|dateTime|dayTimeDuration|decimal|double|duration|float|gDay|gMonth|gMonthDay|gYear|gYearMonth|hexBinary|int|integer|language|long|negativeInteger|nonNegativeInteger|nonPositiveInteger|normalizedString|positiveInteger|short|string|time|token|unsigned(?:Byte|Int|Long|Short)|untyped(?:Atomic)?|yearMonthDuration))\\b(?=$|[^:-])/,\n lookbehind: true\n },\n number: /\\b\\d+(?:\\.\\d+)?(?:E[+-]?\\d+)?/,\n operator: [\n /[+*=?|@]|\\.\\.?|:=|!=|<[=<]?|>[=>]?/,\n {\n pattern: /(\\s)-(?=\\s)/,\n lookbehind: true\n }\n ],\n punctuation: /[[\\](){},;:/]/\n })\n Prism.languages.xquery.tag.pattern =\n /<\\/?(?!\\d)[^\\s>\\/=$<%]+(?:\\s+[^\\s>\\/=]+(?:=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+))?)*\\s*\\/?>/\n Prism.languages.xquery['tag'].inside['attr-value'].pattern =\n /=(?:(\"|')(?:\\\\[\\s\\S]|\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}|(?!\\1)[^\\\\])*\\1|[^\\s'\">=]+)/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['punctuation'] =\n /^=\"|\"$/\n Prism.languages.xquery['tag'].inside['attr-value'].inside['expression'] = {\n // Allow for two levels of nesting\n pattern: /\\{(?!\\{)(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])+\\}/,\n inside: Prism.languages.xquery,\n alias: 'language-xquery'\n }\n\n // The following will handle plain text inside tags\n var stringifyToken = function (token) {\n if (typeof token === 'string') {\n return token\n }\n if (typeof token.content === 'string') {\n return token.content\n }\n return token.content.map(stringifyToken).join('')\n }\n var walkTokens = function (tokens) {\n var openedTags = []\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i]\n var notTagNorBrace = false\n if (typeof token !== 'string') {\n if (\n token.type === 'tag' &&\n token.content[0] &&\n token.content[0].type === 'tag'\n ) {\n // We found a tag, now find its kind\n\n if (token.content[0].content[0].content === '</') {\n // Closing tag\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].tagName ===\n stringifyToken(token.content[0].content[1])\n ) {\n // Pop matching opening tag\n openedTags.pop()\n }\n } else {\n if (token.content[token.content.length - 1].content === '/>') {\n // Autoclosed tag, ignore\n } else {\n // Opening tag\n openedTags.push({\n tagName: stringifyToken(token.content[0].content[1]),\n openedBraces: 0\n })\n }\n }\n } else if (\n openedTags.length > 0 &&\n token.type === 'punctuation' &&\n token.content === '{' &&\n // Ignore `{{`\n (!tokens[i + 1] ||\n tokens[i + 1].type !== 'punctuation' ||\n tokens[i + 1].content !== '{') &&\n (!tokens[i - 1] ||\n tokens[i - 1].type !== 'plain-text' ||\n tokens[i - 1].content !== '{')\n ) {\n // Here we might have entered an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces++\n } else if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces > 0 &&\n token.type === 'punctuation' &&\n token.content === '}'\n ) {\n // Here we might have left an XQuery expression inside a tag\n openedTags[openedTags.length - 1].openedBraces--\n } else if (token.type !== 'comment') {\n notTagNorBrace = true\n }\n }\n if (notTagNorBrace || typeof token === 'string') {\n if (\n openedTags.length > 0 &&\n openedTags[openedTags.length - 1].openedBraces === 0\n ) {\n // Here we are inside a tag, and not inside an XQuery expression.\n // That's plain text: drop any tokens matched.\n var plainText = stringifyToken(token)\n\n // And merge text with adjacent text\n if (\n i < tokens.length - 1 &&\n (typeof tokens[i + 1] === 'string' ||\n tokens[i + 1].type === 'plain-text')\n ) {\n plainText += stringifyToken(tokens[i + 1])\n tokens.splice(i + 1, 1)\n }\n if (\n i > 0 &&\n (typeof tokens[i - 1] === 'string' ||\n tokens[i - 1].type === 'plain-text')\n ) {\n plainText = stringifyToken(tokens[i - 1]) + plainText\n tokens.splice(i - 1, 1)\n i--\n }\n if (/^\\s+$/.test(plainText)) {\n tokens[i] = plainText\n } else {\n tokens[i] = new Prism.Token(\n 'plain-text',\n plainText,\n null,\n plainText\n )\n }\n }\n }\n if (token.content && typeof token.content !== 'string') {\n walkTokens(token.content)\n }\n }\n }\n Prism.hooks.add('after-tokenize', function (env) {\n if (env.language !== 'xquery') {\n return\n }\n walkTokens(env.tokens)\n })\n })(Prism)\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nyang.displayName = 'yang'\nyang.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function yang(Prism) {\n Prism.languages.yang = {\n // https://tools.ietf.org/html/rfc6020#page-34\n // http://www.yang-central.org/twiki/bin/view/Main/YangExamples\n comment: /\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/,\n string: {\n pattern: /\"(?:[^\\\\\"]|\\\\.)*\"|'[^']*'/,\n greedy: true\n },\n keyword: {\n pattern: /(^|[{};\\r\\n][ \\t]*)[a-z_][\\w.-]*/i,\n lookbehind: true\n },\n namespace: {\n pattern: /(\\s)[a-z_][\\w.-]*(?=:)/i,\n lookbehind: true\n },\n boolean: /\\b(?:false|true)\\b/,\n operator: /\\+/,\n punctuation: /[{};:]/\n }\n}\n","// @ts-nocheck\n/**\n * @import {Refractor} from '../lib/core.js'\n */\nzig.displayName = 'zig'\nzig.aliases = []\n\n/** @param {Refractor} Prism */\nexport default function zig(Prism) {\n ;(function (Prism) {\n function literal(str) {\n return function () {\n return str\n }\n }\n var keyword =\n /\\b(?:align|allowzero|and|anyframe|anytype|asm|async|await|break|cancel|catch|comptime|const|continue|defer|else|enum|errdefer|error|export|extern|fn|for|if|inline|linksection|nakedcc|noalias|nosuspend|null|or|orelse|packed|promise|pub|resume|return|stdcallcc|struct|suspend|switch|test|threadlocal|try|undefined|union|unreachable|usingnamespace|var|volatile|while)\\b/\n var IDENTIFIER = '\\\\b(?!' + keyword.source + ')(?!\\\\d)\\\\w+\\\\b'\n var ALIGN = /align\\s*\\((?:[^()]|\\([^()]*\\))*\\)/.source\n var PREFIX_TYPE_OP =\n /(?:\\?|\\bpromise->|(?:\\[[^[\\]]*\\]|\\*(?!\\*)|\\*\\*)(?:\\s*<ALIGN>|\\s*const\\b|\\s*volatile\\b|\\s*allowzero\\b)*)/.source.replace(\n /<ALIGN>/g,\n literal(ALIGN)\n )\n var SUFFIX_EXPR =\n /(?:\\bpromise\\b|(?:\\berror\\.)?<ID>(?:\\.<ID>)*(?!\\s+<ID>))/.source.replace(\n /<ID>/g,\n literal(IDENTIFIER)\n )\n var TYPE =\n '(?!\\\\s)(?:!?\\\\s*(?:' + PREFIX_TYPE_OP + '\\\\s*)*' + SUFFIX_EXPR + ')+'\n\n /*\n * A simplified grammar for Zig compile time type literals:\n *\n * TypeExpr = ( \"!\"? PREFIX_TYPE_OP* SUFFIX_EXPR )+\n *\n * SUFFIX_EXPR = ( \\b \"promise\" \\b | ( \\b \"error\" \".\" )? IDENTIFIER ( \".\" IDENTIFIER )* (?! \\s+ IDENTIFIER ) )\n *\n * PREFIX_TYPE_OP = \"?\"\n * | \\b \"promise\" \"->\"\n * | ( \"[\" [^\\[\\]]* \"]\" | \"*\" | \"**\" ) ( ALIGN | \"const\" \\b | \"volatile\" \\b | \"allowzero\" \\b )*\n *\n * ALIGN = \"align\" \"(\" ( [^()] | \"(\" [^()]* \")\" )* \")\"\n *\n * IDENTIFIER = \\b (?! KEYWORD ) [a-zA-Z_] \\w* \\b\n *\n */\n\n Prism.languages.zig = {\n comment: [\n {\n pattern: /\\/\\/[/!].*/,\n alias: 'doc-comment'\n },\n /\\/{2}.*/\n ],\n string: [\n {\n // \"string\" and c\"string\"\n pattern: /(^|[^\\\\@])c?\"(?:[^\"\\\\\\r\\n]|\\\\.)*\"/,\n lookbehind: true,\n greedy: true\n },\n {\n // multiline strings and c-strings\n pattern: /([\\r\\n])([ \\t]+c?\\\\{2}).*(?:(?:\\r\\n?|\\n)\\2.*)*/,\n lookbehind: true,\n greedy: true\n }\n ],\n char: {\n // characters 'a', '\\n', '\\xFF', '\\u{10FFFF}'\n pattern:\n /(^|[^\\\\])'(?:[^'\\\\\\r\\n]|[\\uD800-\\uDFFF]{2}|\\\\(?:.|x[a-fA-F\\d]{2}|u\\{[a-fA-F\\d]{1,6}\\}))'/,\n lookbehind: true,\n greedy: true\n },\n builtin: /\\B@(?!\\d)\\w+(?=\\s*\\()/,\n label: {\n pattern:\n /(\\b(?:break|continue)\\s*:\\s*)\\w+\\b|\\b(?!\\d)\\w+\\b(?=\\s*:\\s*(?:\\{|while\\b))/,\n lookbehind: true\n },\n 'class-name': [\n // const Foo = struct {};\n /\\b(?!\\d)\\w+(?=\\s*=\\s*(?:(?:extern|packed)\\s+)?(?:enum|struct|union)\\s*[({])/,\n {\n // const x: i32 = 9;\n // var x: Bar;\n // fn foo(x: bool, y: f32) void {}\n pattern: RegExp(\n /(:\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?[=;,)])|<TYPE>(?=\\s*(?:<ALIGN>\\s*)?\\{)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n },\n {\n // extern fn foo(x: f64) f64; (optional alignment)\n pattern: RegExp(\n /(\\)\\s*)<TYPE>(?=\\s*(?:<ALIGN>\\s*)?;)/.source\n .replace(/<TYPE>/g, literal(TYPE))\n .replace(/<ALIGN>/g, literal(ALIGN))\n ),\n lookbehind: true,\n inside: null // see below\n }\n ],\n 'builtin-type': {\n pattern:\n /\\b(?:anyerror|bool|c_u?(?:int|long|longlong|short)|c_longdouble|c_void|comptime_(?:float|int)|f(?:16|32|64|128)|[iu](?:8|16|32|64|128|size)|noreturn|type|void)\\b/,\n alias: 'keyword'\n },\n keyword: keyword,\n function: /\\b(?!\\d)\\w+(?=\\s*\\()/,\n number:\n /\\b(?:0b[01]+|0o[0-7]+|0x[a-fA-F\\d]+(?:\\.[a-fA-F\\d]*)?(?:[pP][+-]?[a-fA-F\\d]+)?|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\b/,\n boolean: /\\b(?:false|true)\\b/,\n operator:\n /\\.[*?]|\\.{2,3}|[-=]>|\\*\\*|\\+\\+|\\|\\||(?:<<|>>|[-+*]%|[-+*/%^&|<>!=])=?|[?~]/,\n punctuation: /[.:,;(){}[\\]]/\n }\n Prism.languages.zig['class-name'].forEach(function (obj) {\n if (obj.inside === null) {\n obj.inside = Prism.languages.zig\n }\n })\n })(Prism)\n}\n","/**\n * @typedef {import('./core.js').Syntax} Syntax\n */\n\nimport markup from '../lang/markup.js'\nimport css from '../lang/css.js'\nimport clike from '../lang/clike.js'\nimport regex from '../lang/regex.js'\nimport javascript from '../lang/javascript.js'\nimport abap from '../lang/abap.js'\nimport abnf from '../lang/abnf.js'\nimport actionscript from '../lang/actionscript.js'\nimport ada from '../lang/ada.js'\nimport agda from '../lang/agda.js'\nimport al from '../lang/al.js'\nimport antlr4 from '../lang/antlr4.js'\nimport apacheconf from '../lang/apacheconf.js'\nimport sql from '../lang/sql.js'\nimport apex from '../lang/apex.js'\nimport apl from '../lang/apl.js'\nimport applescript from '../lang/applescript.js'\nimport aql from '../lang/aql.js'\nimport c from '../lang/c.js'\nimport cpp from '../lang/cpp.js'\nimport arduino from '../lang/arduino.js'\nimport arff from '../lang/arff.js'\nimport armasm from '../lang/armasm.js'\nimport bash from '../lang/bash.js'\nimport yaml from '../lang/yaml.js'\nimport markdown from '../lang/markdown.js'\nimport arturo from '../lang/arturo.js'\nimport asciidoc from '../lang/asciidoc.js'\nimport csharp from '../lang/csharp.js'\nimport aspnet from '../lang/aspnet.js'\nimport asm6502 from '../lang/asm6502.js'\nimport asmatmel from '../lang/asmatmel.js'\nimport autohotkey from '../lang/autohotkey.js'\nimport autoit from '../lang/autoit.js'\nimport avisynth from '../lang/avisynth.js'\nimport avroIdl from '../lang/avro-idl.js'\nimport awk from '../lang/awk.js'\nimport basic from '../lang/basic.js'\nimport batch from '../lang/batch.js'\nimport bbcode from '../lang/bbcode.js'\nimport bbj from '../lang/bbj.js'\nimport bicep from '../lang/bicep.js'\nimport birb from '../lang/birb.js'\nimport bison from '../lang/bison.js'\nimport bnf from '../lang/bnf.js'\nimport bqn from '../lang/bqn.js'\nimport brainfuck from '../lang/brainfuck.js'\nimport brightscript from '../lang/brightscript.js'\nimport bro from '../lang/bro.js'\nimport bsl from '../lang/bsl.js'\nimport cfscript from '../lang/cfscript.js'\nimport chaiscript from '../lang/chaiscript.js'\nimport cil from '../lang/cil.js'\nimport cilkc from '../lang/cilkc.js'\nimport cilkcpp from '../lang/cilkcpp.js'\nimport clojure from '../lang/clojure.js'\nimport cmake from '../lang/cmake.js'\nimport cobol from '../lang/cobol.js'\nimport coffeescript from '../lang/coffeescript.js'\nimport concurnas from '../lang/concurnas.js'\nimport csp from '../lang/csp.js'\nimport cooklang from '../lang/cooklang.js'\nimport coq from '../lang/coq.js'\nimport ruby from '../lang/ruby.js'\nimport crystal from '../lang/crystal.js'\nimport cssExtras from '../lang/css-extras.js'\nimport csv from '../lang/csv.js'\nimport cue from '../lang/cue.js'\nimport cypher from '../lang/cypher.js'\nimport d from '../lang/d.js'\nimport dart from '../lang/dart.js'\nimport dataweave from '../lang/dataweave.js'\nimport dax from '../lang/dax.js'\nimport dhall from '../lang/dhall.js'\nimport diff from '../lang/diff.js'\nimport markupTemplating from '../lang/markup-templating.js'\nimport django from '../lang/django.js'\nimport dnsZoneFile from '../lang/dns-zone-file.js'\nimport docker from '../lang/docker.js'\nimport dot from '../lang/dot.js'\nimport ebnf from '../lang/ebnf.js'\nimport editorconfig from '../lang/editorconfig.js'\nimport eiffel from '../lang/eiffel.js'\nimport ejs from '../lang/ejs.js'\nimport elixir from '../lang/elixir.js'\nimport elm from '../lang/elm.js'\nimport lua from '../lang/lua.js'\nimport etlua from '../lang/etlua.js'\nimport erb from '../lang/erb.js'\nimport erlang from '../lang/erlang.js'\nimport excelFormula from '../lang/excel-formula.js'\nimport fsharp from '../lang/fsharp.js'\nimport factor from '../lang/factor.js'\nimport $false from '../lang/false.js'\nimport firestoreSecurityRules from '../lang/firestore-security-rules.js'\nimport flow from '../lang/flow.js'\nimport fortran from '../lang/fortran.js'\nimport ftl from '../lang/ftl.js'\nimport gml from '../lang/gml.js'\nimport gap from '../lang/gap.js'\nimport gcode from '../lang/gcode.js'\nimport gdscript from '../lang/gdscript.js'\nimport gedcom from '../lang/gedcom.js'\nimport gettext from '../lang/gettext.js'\nimport gherkin from '../lang/gherkin.js'\nimport git from '../lang/git.js'\nimport glsl from '../lang/glsl.js'\nimport gn from '../lang/gn.js'\nimport linkerScript from '../lang/linker-script.js'\nimport go from '../lang/go.js'\nimport goModule from '../lang/go-module.js'\nimport gradle from '../lang/gradle.js'\nimport graphql from '../lang/graphql.js'\nimport groovy from '../lang/groovy.js'\nimport less from '../lang/less.js'\nimport scss from '../lang/scss.js'\nimport textile from '../lang/textile.js'\nimport haml from '../lang/haml.js'\nimport handlebars from '../lang/handlebars.js'\nimport haskell from '../lang/haskell.js'\nimport haxe from '../lang/haxe.js'\nimport hcl from '../lang/hcl.js'\nimport hlsl from '../lang/hlsl.js'\nimport hoon from '../lang/hoon.js'\nimport hpkp from '../lang/hpkp.js'\nimport hsts from '../lang/hsts.js'\nimport json from '../lang/json.js'\nimport uri from '../lang/uri.js'\nimport http from '../lang/http.js'\nimport ichigojam from '../lang/ichigojam.js'\nimport icon from '../lang/icon.js'\nimport icuMessageFormat from '../lang/icu-message-format.js'\nimport idris from '../lang/idris.js'\nimport ignore from '../lang/ignore.js'\nimport inform7 from '../lang/inform7.js'\nimport ini from '../lang/ini.js'\nimport io from '../lang/io.js'\nimport j from '../lang/j.js'\nimport java from '../lang/java.js'\nimport php from '../lang/php.js'\nimport javadoclike from '../lang/javadoclike.js'\nimport scala from '../lang/scala.js'\nimport javadoc from '../lang/javadoc.js'\nimport javastacktrace from '../lang/javastacktrace.js'\nimport jexl from '../lang/jexl.js'\nimport jolie from '../lang/jolie.js'\nimport jq from '../lang/jq.js'\nimport jsTemplates from '../lang/js-templates.js'\nimport typescript from '../lang/typescript.js'\nimport jsdoc from '../lang/jsdoc.js'\nimport n4js from '../lang/n4js.js'\nimport jsExtras from '../lang/js-extras.js'\nimport json5 from '../lang/json5.js'\nimport jsonp from '../lang/jsonp.js'\nimport jsstacktrace from '../lang/jsstacktrace.js'\nimport julia from '../lang/julia.js'\nimport keepalived from '../lang/keepalived.js'\nimport keyman from '../lang/keyman.js'\nimport kotlin from '../lang/kotlin.js'\nimport kumir from '../lang/kumir.js'\nimport kusto from '../lang/kusto.js'\nimport latex from '../lang/latex.js'\nimport latte from '../lang/latte.js'\nimport scheme from '../lang/scheme.js'\nimport lilypond from '../lang/lilypond.js'\nimport liquid from '../lang/liquid.js'\nimport lisp from '../lang/lisp.js'\nimport livescript from '../lang/livescript.js'\nimport llvm from '../lang/llvm.js'\nimport log from '../lang/log.js'\nimport lolcode from '../lang/lolcode.js'\nimport magma from '../lang/magma.js'\nimport makefile from '../lang/makefile.js'\nimport mata from '../lang/mata.js'\nimport matlab from '../lang/matlab.js'\nimport maxscript from '../lang/maxscript.js'\nimport mel from '../lang/mel.js'\nimport mermaid from '../lang/mermaid.js'\nimport metafont from '../lang/metafont.js'\nimport mizar from '../lang/mizar.js'\nimport mongodb from '../lang/mongodb.js'\nimport monkey from '../lang/monkey.js'\nimport moonscript from '../lang/moonscript.js'\nimport n1ql from '../lang/n1ql.js'\nimport nand2tetrisHdl from '../lang/nand2tetris-hdl.js'\nimport naniscript from '../lang/naniscript.js'\nimport nasm from '../lang/nasm.js'\nimport neon from '../lang/neon.js'\nimport nevod from '../lang/nevod.js'\nimport nginx from '../lang/nginx.js'\nimport nim from '../lang/nim.js'\nimport nix from '../lang/nix.js'\nimport nsis from '../lang/nsis.js'\nimport objectivec from '../lang/objectivec.js'\nimport ocaml from '../lang/ocaml.js'\nimport odin from '../lang/odin.js'\nimport opencl from '../lang/opencl.js'\nimport openqasm from '../lang/openqasm.js'\nimport oz from '../lang/oz.js'\nimport parigp from '../lang/parigp.js'\nimport parser from '../lang/parser.js'\nimport pascal from '../lang/pascal.js'\nimport pascaligo from '../lang/pascaligo.js'\nimport psl from '../lang/psl.js'\nimport pcaxis from '../lang/pcaxis.js'\nimport peoplecode from '../lang/peoplecode.js'\nimport perl from '../lang/perl.js'\nimport phpdoc from '../lang/phpdoc.js'\nimport phpExtras from '../lang/php-extras.js'\nimport plantUml from '../lang/plant-uml.js'\nimport plsql from '../lang/plsql.js'\nimport powerquery from '../lang/powerquery.js'\nimport powershell from '../lang/powershell.js'\nimport processing from '../lang/processing.js'\nimport prolog from '../lang/prolog.js'\nimport promql from '../lang/promql.js'\nimport properties from '../lang/properties.js'\nimport protobuf from '../lang/protobuf.js'\nimport stylus from '../lang/stylus.js'\nimport twig from '../lang/twig.js'\nimport pug from '../lang/pug.js'\nimport puppet from '../lang/puppet.js'\nimport pure from '../lang/pure.js'\nimport purebasic from '../lang/purebasic.js'\nimport purescript from '../lang/purescript.js'\nimport python from '../lang/python.js'\nimport qsharp from '../lang/qsharp.js'\nimport q from '../lang/q.js'\nimport qml from '../lang/qml.js'\nimport qore from '../lang/qore.js'\nimport r from '../lang/r.js'\nimport racket from '../lang/racket.js'\nimport cshtml from '../lang/cshtml.js'\nimport jsx from '../lang/jsx.js'\nimport tsx from '../lang/tsx.js'\nimport reason from '../lang/reason.js'\nimport rego from '../lang/rego.js'\nimport renpy from '../lang/renpy.js'\nimport rescript from '../lang/rescript.js'\nimport rest from '../lang/rest.js'\nimport rip from '../lang/rip.js'\nimport roboconf from '../lang/roboconf.js'\nimport robotframework from '../lang/robotframework.js'\nimport rust from '../lang/rust.js'\nimport sas from '../lang/sas.js'\nimport sass from '../lang/sass.js'\nimport shellSession from '../lang/shell-session.js'\nimport smali from '../lang/smali.js'\nimport smalltalk from '../lang/smalltalk.js'\nimport smarty from '../lang/smarty.js'\nimport sml from '../lang/sml.js'\nimport solidity from '../lang/solidity.js'\nimport solutionFile from '../lang/solution-file.js'\nimport soy from '../lang/soy.js'\nimport turtle from '../lang/turtle.js'\nimport sparql from '../lang/sparql.js'\nimport splunkSpl from '../lang/splunk-spl.js'\nimport sqf from '../lang/sqf.js'\nimport squirrel from '../lang/squirrel.js'\nimport stan from '../lang/stan.js'\nimport stata from '../lang/stata.js'\nimport iecst from '../lang/iecst.js'\nimport supercollider from '../lang/supercollider.js'\nimport swift from '../lang/swift.js'\nimport systemd from '../lang/systemd.js'\nimport t4Templating from '../lang/t4-templating.js'\nimport t4Cs from '../lang/t4-cs.js'\nimport vbnet from '../lang/vbnet.js'\nimport t4Vb from '../lang/t4-vb.js'\nimport tap from '../lang/tap.js'\nimport tcl from '../lang/tcl.js'\nimport tt2 from '../lang/tt2.js'\nimport toml from '../lang/toml.js'\nimport tremor from '../lang/tremor.js'\nimport typoscript from '../lang/typoscript.js'\nimport unrealscript from '../lang/unrealscript.js'\nimport uorazor from '../lang/uorazor.js'\nimport v from '../lang/v.js'\nimport vala from '../lang/vala.js'\nimport velocity from '../lang/velocity.js'\nimport verilog from '../lang/verilog.js'\nimport vhdl from '../lang/vhdl.js'\nimport vim from '../lang/vim.js'\nimport visualBasic from '../lang/visual-basic.js'\nimport warpscript from '../lang/warpscript.js'\nimport wasm from '../lang/wasm.js'\nimport webIdl from '../lang/web-idl.js'\nimport wgsl from '../lang/wgsl.js'\nimport wiki from '../lang/wiki.js'\nimport wolfram from '../lang/wolfram.js'\nimport wren from '../lang/wren.js'\nimport xeora from '../lang/xeora.js'\nimport xmlDoc from '../lang/xml-doc.js'\nimport xojo from '../lang/xojo.js'\nimport xquery from '../lang/xquery.js'\nimport yang from '../lang/yang.js'\nimport zig from '../lang/zig.js'\nimport {refractor} from './core.js'\n\nrefractor.register(markup)\nrefractor.register(css)\nrefractor.register(clike)\nrefractor.register(regex)\nrefractor.register(javascript)\nrefractor.register(abap)\nrefractor.register(abnf)\nrefractor.register(actionscript)\nrefractor.register(ada)\nrefractor.register(agda)\nrefractor.register(al)\nrefractor.register(antlr4)\nrefractor.register(apacheconf)\nrefractor.register(sql)\nrefractor.register(apex)\nrefractor.register(apl)\nrefractor.register(applescript)\nrefractor.register(aql)\nrefractor.register(c)\nrefractor.register(cpp)\nrefractor.register(arduino)\nrefractor.register(arff)\nrefractor.register(armasm)\nrefractor.register(bash)\nrefractor.register(yaml)\nrefractor.register(markdown)\nrefractor.register(arturo)\nrefractor.register(asciidoc)\nrefractor.register(csharp)\nrefractor.register(aspnet)\nrefractor.register(asm6502)\nrefractor.register(asmatmel)\nrefractor.register(autohotkey)\nrefractor.register(autoit)\nrefractor.register(avisynth)\nrefractor.register(avroIdl)\nrefractor.register(awk)\nrefractor.register(basic)\nrefractor.register(batch)\nrefractor.register(bbcode)\nrefractor.register(bbj)\nrefractor.register(bicep)\nrefractor.register(birb)\nrefractor.register(bison)\nrefractor.register(bnf)\nrefractor.register(bqn)\nrefractor.register(brainfuck)\nrefractor.register(brightscript)\nrefractor.register(bro)\nrefractor.register(bsl)\nrefractor.register(cfscript)\nrefractor.register(chaiscript)\nrefractor.register(cil)\nrefractor.register(cilkc)\nrefractor.register(cilkcpp)\nrefractor.register(clojure)\nrefractor.register(cmake)\nrefractor.register(cobol)\nrefractor.register(coffeescript)\nrefractor.register(concurnas)\nrefractor.register(csp)\nrefractor.register(cooklang)\nrefractor.register(coq)\nrefractor.register(ruby)\nrefractor.register(crystal)\nrefractor.register(cssExtras)\nrefractor.register(csv)\nrefractor.register(cue)\nrefractor.register(cypher)\nrefractor.register(d)\nrefractor.register(dart)\nrefractor.register(dataweave)\nrefractor.register(dax)\nrefractor.register(dhall)\nrefractor.register(diff)\nrefractor.register(markupTemplating)\nrefractor.register(django)\nrefractor.register(dnsZoneFile)\nrefractor.register(docker)\nrefractor.register(dot)\nrefractor.register(ebnf)\nrefractor.register(editorconfig)\nrefractor.register(eiffel)\nrefractor.register(ejs)\nrefractor.register(elixir)\nrefractor.register(elm)\nrefractor.register(lua)\nrefractor.register(etlua)\nrefractor.register(erb)\nrefractor.register(erlang)\nrefractor.register(excelFormula)\nrefractor.register(fsharp)\nrefractor.register(factor)\nrefractor.register($false)\nrefractor.register(firestoreSecurityRules)\nrefractor.register(flow)\nrefractor.register(fortran)\nrefractor.register(ftl)\nrefractor.register(gml)\nrefractor.register(gap)\nrefractor.register(gcode)\nrefractor.register(gdscript)\nrefractor.register(gedcom)\nrefractor.register(gettext)\nrefractor.register(gherkin)\nrefractor.register(git)\nrefractor.register(glsl)\nrefractor.register(gn)\nrefractor.register(linkerScript)\nrefractor.register(go)\nrefractor.register(goModule)\nrefractor.register(gradle)\nrefractor.register(graphql)\nrefractor.register(groovy)\nrefractor.register(less)\nrefractor.register(scss)\nrefractor.register(textile)\nrefractor.register(haml)\nrefractor.register(handlebars)\nrefractor.register(haskell)\nrefractor.register(haxe)\nrefractor.register(hcl)\nrefractor.register(hlsl)\nrefractor.register(hoon)\nrefractor.register(hpkp)\nrefractor.register(hsts)\nrefractor.register(json)\nrefractor.register(uri)\nrefractor.register(http)\nrefractor.register(ichigojam)\nrefractor.register(icon)\nrefractor.register(icuMessageFormat)\nrefractor.register(idris)\nrefractor.register(ignore)\nrefractor.register(inform7)\nrefractor.register(ini)\nrefractor.register(io)\nrefractor.register(j)\nrefractor.register(java)\nrefractor.register(php)\nrefractor.register(javadoclike)\nrefractor.register(scala)\nrefractor.register(javadoc)\nrefractor.register(javastacktrace)\nrefractor.register(jexl)\nrefractor.register(jolie)\nrefractor.register(jq)\nrefractor.register(jsTemplates)\nrefractor.register(typescript)\nrefractor.register(jsdoc)\nrefractor.register(n4js)\nrefractor.register(jsExtras)\nrefractor.register(json5)\nrefractor.register(jsonp)\nrefractor.register(jsstacktrace)\nrefractor.register(julia)\nrefractor.register(keepalived)\nrefractor.register(keyman)\nrefractor.register(kotlin)\nrefractor.register(kumir)\nrefractor.register(kusto)\nrefractor.register(latex)\nrefractor.register(latte)\nrefractor.register(scheme)\nrefractor.register(lilypond)\nrefractor.register(liquid)\nrefractor.register(lisp)\nrefractor.register(livescript)\nrefractor.register(llvm)\nrefractor.register(log)\nrefractor.register(lolcode)\nrefractor.register(magma)\nrefractor.register(makefile)\nrefractor.register(mata)\nrefractor.register(matlab)\nrefractor.register(maxscript)\nrefractor.register(mel)\nrefractor.register(mermaid)\nrefractor.register(metafont)\nrefractor.register(mizar)\nrefractor.register(mongodb)\nrefractor.register(monkey)\nrefractor.register(moonscript)\nrefractor.register(n1ql)\nrefractor.register(nand2tetrisHdl)\nrefractor.register(naniscript)\nrefractor.register(nasm)\nrefractor.register(neon)\nrefractor.register(nevod)\nrefractor.register(nginx)\nrefractor.register(nim)\nrefractor.register(nix)\nrefractor.register(nsis)\nrefractor.register(objectivec)\nrefractor.register(ocaml)\nrefractor.register(odin)\nrefractor.register(opencl)\nrefractor.register(openqasm)\nrefractor.register(oz)\nrefractor.register(parigp)\nrefractor.register(parser)\nrefractor.register(pascal)\nrefractor.register(pascaligo)\nrefractor.register(psl)\nrefractor.register(pcaxis)\nrefractor.register(peoplecode)\nrefractor.register(perl)\nrefractor.register(phpdoc)\nrefractor.register(phpExtras)\nrefractor.register(plantUml)\nrefractor.register(plsql)\nrefractor.register(powerquery)\nrefractor.register(powershell)\nrefractor.register(processing)\nrefractor.register(prolog)\nrefractor.register(promql)\nrefractor.register(properties)\nrefractor.register(protobuf)\nrefractor.register(stylus)\nrefractor.register(twig)\nrefractor.register(pug)\nrefractor.register(puppet)\nrefractor.register(pure)\nrefractor.register(purebasic)\nrefractor.register(purescript)\nrefractor.register(python)\nrefractor.register(qsharp)\nrefractor.register(q)\nrefractor.register(qml)\nrefractor.register(qore)\nrefractor.register(r)\nrefractor.register(racket)\nrefractor.register(cshtml)\nrefractor.register(jsx)\nrefractor.register(tsx)\nrefractor.register(reason)\nrefractor.register(rego)\nrefractor.register(renpy)\nrefractor.register(rescript)\nrefractor.register(rest)\nrefractor.register(rip)\nrefractor.register(roboconf)\nrefractor.register(robotframework)\nrefractor.register(rust)\nrefractor.register(sas)\nrefractor.register(sass)\nrefractor.register(shellSession)\nrefractor.register(smali)\nrefractor.register(smalltalk)\nrefractor.register(smarty)\nrefractor.register(sml)\nrefractor.register(solidity)\nrefractor.register(solutionFile)\nrefractor.register(soy)\nrefractor.register(turtle)\nrefractor.register(sparql)\nrefractor.register(splunkSpl)\nrefractor.register(sqf)\nrefractor.register(squirrel)\nrefractor.register(stan)\nrefractor.register(stata)\nrefractor.register(iecst)\nrefractor.register(supercollider)\nrefractor.register(swift)\nrefractor.register(systemd)\nrefractor.register(t4Templating)\nrefractor.register(t4Cs)\nrefractor.register(vbnet)\nrefractor.register(t4Vb)\nrefractor.register(tap)\nrefractor.register(tcl)\nrefractor.register(tt2)\nrefractor.register(toml)\nrefractor.register(tremor)\nrefractor.register(typoscript)\nrefractor.register(unrealscript)\nrefractor.register(uorazor)\nrefractor.register(v)\nrefractor.register(vala)\nrefractor.register(velocity)\nrefractor.register(verilog)\nrefractor.register(vhdl)\nrefractor.register(vim)\nrefractor.register(visualBasic)\nrefractor.register(warpscript)\nrefractor.register(wasm)\nrefractor.register(webIdl)\nrefractor.register(wgsl)\nrefractor.register(wiki)\nrefractor.register(wolfram)\nrefractor.register(wren)\nrefractor.register(xeora)\nrefractor.register(xmlDoc)\nrefractor.register(xojo)\nrefractor.register(xquery)\nrefractor.register(yang)\nrefractor.register(zig)\n\nexport {refractor} from './core.js'\n","import highlight from \"./highlight.js\";\nimport defaultStyle from \"./styles/prism/prism.js\";\nimport { refractor } from 'refractor/all';\nimport supportedLanguages from \"./languages/prism/supported-languages.js\";\nvar highlighter = highlight(refractor, defaultStyle);\nhighlighter.supportedLanguages = supportedLanguages;\nexport default highlighter;","export default {\n \"code[class*=\\\"language-\\\"]\": {\n \"background\": \"hsl(230, 1%, 98%)\",\n \"color\": \"hsl(230, 8%, 24%)\",\n \"fontFamily\": \"\\\"Fira Code\\\", \\\"Fira Mono\\\", Menlo, Consolas, \\\"DejaVu Sans Mono\\\", monospace\",\n \"direction\": \"ltr\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"2\",\n \"OTabSize\": \"2\",\n \"tabSize\": \"2\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\"\n },\n \"pre[class*=\\\"language-\\\"]\": {\n \"background\": \"hsl(230, 1%, 98%)\",\n \"color\": \"hsl(230, 8%, 24%)\",\n \"fontFamily\": \"\\\"Fira Code\\\", \\\"Fira Mono\\\", Menlo, Consolas, \\\"DejaVu Sans Mono\\\", monospace\",\n \"direction\": \"ltr\",\n \"textAlign\": \"left\",\n \"whiteSpace\": \"pre\",\n \"wordSpacing\": \"normal\",\n \"wordBreak\": \"normal\",\n \"lineHeight\": \"1.5\",\n \"MozTabSize\": \"2\",\n \"OTabSize\": \"2\",\n \"tabSize\": \"2\",\n \"WebkitHyphens\": \"none\",\n \"MozHyphens\": \"none\",\n \"msHyphens\": \"none\",\n \"hyphens\": \"none\",\n \"padding\": \"1em\",\n \"margin\": \"0.5em 0\",\n \"overflow\": \"auto\",\n \"borderRadius\": \"0.3em\"\n },\n \"code[class*=\\\"language-\\\"]::-moz-selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \"code[class*=\\\"language-\\\"] *::-moz-selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \"pre[class*=\\\"language-\\\"] *::-moz-selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \"code[class*=\\\"language-\\\"]::selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \"code[class*=\\\"language-\\\"] *::selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \"pre[class*=\\\"language-\\\"] *::selection\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"inherit\"\n },\n \":not(pre) > code[class*=\\\"language-\\\"]\": {\n \"padding\": \"0.2em 0.3em\",\n \"borderRadius\": \"0.3em\",\n \"whiteSpace\": \"normal\"\n },\n \"comment\": {\n \"color\": \"hsl(230, 4%, 64%)\",\n \"fontStyle\": \"italic\"\n },\n \"prolog\": {\n \"color\": \"hsl(230, 4%, 64%)\"\n },\n \"cdata\": {\n \"color\": \"hsl(230, 4%, 64%)\"\n },\n \"doctype\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"punctuation\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"entity\": {\n \"color\": \"hsl(230, 8%, 24%)\",\n \"cursor\": \"help\"\n },\n \"attr-name\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"class-name\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"boolean\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"constant\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"number\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"atrule\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \"keyword\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \"property\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"tag\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"symbol\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"deleted\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"important\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"selector\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"string\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"char\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"builtin\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"inserted\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"regex\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"attr-value\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"attr-value > .token.punctuation\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \"variable\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \"operator\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \"function\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \"url\": {\n \"color\": \"hsl(198, 99%, 37%)\"\n },\n \"attr-value > .token.punctuation.attr-equals\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"special-attr > .token.attr-value > .token.value.css\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-css .token.selector\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".language-css .token.property\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-css .token.function\": {\n \"color\": \"hsl(198, 99%, 37%)\"\n },\n \".language-css .token.url > .token.function\": {\n \"color\": \"hsl(198, 99%, 37%)\"\n },\n \".language-css .token.url > .token.string.url\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \".language-css .token.important\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".language-css .token.atrule .token.rule\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".language-javascript .token.operator\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".language-javascript .token.template-string > .token.interpolation > .token.interpolation-punctuation.punctuation\": {\n \"color\": \"hsl(344, 84%, 43%)\"\n },\n \".language-json .token.operator\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-json .token.null.keyword\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \".language-markdown .token.url\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-markdown .token.url > .token.operator\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-markdown .token.url-reference.url > .token.string\": {\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".language-markdown .token.url > .token.content\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \".language-markdown .token.url > .token.url\": {\n \"color\": \"hsl(198, 99%, 37%)\"\n },\n \".language-markdown .token.url-reference.url\": {\n \"color\": \"hsl(198, 99%, 37%)\"\n },\n \".language-markdown .token.blockquote.punctuation\": {\n \"color\": \"hsl(230, 4%, 64%)\",\n \"fontStyle\": \"italic\"\n },\n \".language-markdown .token.hr.punctuation\": {\n \"color\": \"hsl(230, 4%, 64%)\",\n \"fontStyle\": \"italic\"\n },\n \".language-markdown .token.code-snippet\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \".language-markdown .token.bold .token.content\": {\n \"color\": \"hsl(35, 99%, 36%)\"\n },\n \".language-markdown .token.italic .token.content\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".language-markdown .token.strike .token.content\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".language-markdown .token.strike .token.punctuation\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".language-markdown .token.list.punctuation\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".language-markdown .token.title.important > .token.punctuation\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \"bold\": {\n \"fontWeight\": \"bold\"\n },\n \"italic\": {\n \"fontStyle\": \"italic\"\n },\n \"namespace\": {\n \"Opacity\": \"0.8\"\n },\n \"token.tab:not(:empty):before\": {\n \"color\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \"token.cr:before\": {\n \"color\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \"token.lf:before\": {\n \"color\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \"token.space:before\": {\n \"color\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item\": {\n \"marginRight\": \"0.4em\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"hsl(230, 6%, 44%)\",\n \"padding\": \"0.1em 0.4em\",\n \"borderRadius\": \"0.3em\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"hsl(230, 6%, 44%)\",\n \"padding\": \"0.1em 0.4em\",\n \"borderRadius\": \"0.3em\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"hsl(230, 6%, 44%)\",\n \"padding\": \"0.1em 0.4em\",\n \"borderRadius\": \"0.3em\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:hover\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > button:focus\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:hover\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > a:focus\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:hover\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \"div.code-toolbar > .toolbar.toolbar > .toolbar-item > span:focus\": {\n \"background\": \"hsl(230, 1%, 78%)\",\n \"color\": \"hsl(230, 8%, 24%)\"\n },\n \".line-highlight.line-highlight\": {\n \"background\": \"hsla(230, 8%, 24%, 0.05)\"\n },\n \".line-highlight.line-highlight:before\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"hsl(230, 8%, 24%)\",\n \"padding\": \"0.1em 0.6em\",\n \"borderRadius\": \"0.3em\",\n \"boxShadow\": \"0 2px 0 0 rgba(0, 0, 0, 0.2)\"\n },\n \".line-highlight.line-highlight[data-end]:after\": {\n \"background\": \"hsl(230, 1%, 90%)\",\n \"color\": \"hsl(230, 8%, 24%)\",\n \"padding\": \"0.1em 0.6em\",\n \"borderRadius\": \"0.3em\",\n \"boxShadow\": \"0 2px 0 0 rgba(0, 0, 0, 0.2)\"\n },\n \"pre[id].linkable-line-numbers.linkable-line-numbers span.line-numbers-rows > span:hover:before\": {\n \"backgroundColor\": \"hsla(230, 8%, 24%, 0.05)\"\n },\n \".line-numbers.line-numbers .line-numbers-rows\": {\n \"borderRightColor\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \".command-line .command-line-prompt\": {\n \"borderRightColor\": \"hsla(230, 8%, 24%, 0.2)\"\n },\n \".line-numbers .line-numbers-rows > span:before\": {\n \"color\": \"hsl(230, 1%, 62%)\"\n },\n \".command-line .command-line-prompt > span:before\": {\n \"color\": \"hsl(230, 1%, 62%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-1\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-5\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-9\": {\n \"color\": \"hsl(5, 74%, 59%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-2\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-6\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-10\": {\n \"color\": \"hsl(119, 34%, 47%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-3\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-7\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-11\": {\n \"color\": \"hsl(221, 87%, 60%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-4\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-8\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \".rainbow-braces .token.token.punctuation.brace-level-12\": {\n \"color\": \"hsl(301, 63%, 40%)\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"hsla(353, 100%, 66%, 0.15)\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix)\": {\n \"backgroundColor\": \"hsla(353, 100%, 66%, 0.15)\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix)::-moz-selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::-moz-selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix)::-moz-selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::-moz-selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix)::selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.deleted:not(.prefix) *::selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix)::selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.deleted:not(.prefix) *::selection\": {\n \"backgroundColor\": \"hsla(353, 95%, 66%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"hsla(137, 100%, 55%, 0.15)\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix)\": {\n \"backgroundColor\": \"hsla(137, 100%, 55%, 0.15)\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix)::-moz-selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::-moz-selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix)::-moz-selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::-moz-selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix)::selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre.diff-highlight > code .token.token.inserted:not(.prefix) *::selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix)::selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \"pre > code.diff-highlight .token.token.inserted:not(.prefix) *::selection\": {\n \"backgroundColor\": \"hsla(135, 73%, 55%, 0.25)\"\n },\n \".prism-previewer.prism-previewer:before\": {\n \"borderColor\": \"hsl(0, 0, 95%)\"\n },\n \".prism-previewer-gradient.prism-previewer-gradient div\": {\n \"borderColor\": \"hsl(0, 0, 95%)\",\n \"borderRadius\": \"0.3em\"\n },\n \".prism-previewer-color.prism-previewer-color:before\": {\n \"borderRadius\": \"0.3em\"\n },\n \".prism-previewer-easing.prism-previewer-easing:before\": {\n \"borderRadius\": \"0.3em\"\n },\n \".prism-previewer.prism-previewer:after\": {\n \"borderTopColor\": \"hsl(0, 0, 95%)\"\n },\n \".prism-previewer-flipped.prism-previewer-flipped.after\": {\n \"borderBottomColor\": \"hsl(0, 0, 95%)\"\n },\n \".prism-previewer-angle.prism-previewer-angle:before\": {\n \"background\": \"hsl(0, 0%, 100%)\"\n },\n \".prism-previewer-time.prism-previewer-time:before\": {\n \"background\": \"hsl(0, 0%, 100%)\"\n },\n \".prism-previewer-easing.prism-previewer-easing\": {\n \"background\": \"hsl(0, 0%, 100%)\"\n },\n \".prism-previewer-angle.prism-previewer-angle circle\": {\n \"stroke\": \"hsl(230, 8%, 24%)\",\n \"strokeOpacity\": \"1\"\n },\n \".prism-previewer-time.prism-previewer-time circle\": {\n \"stroke\": \"hsl(230, 8%, 24%)\",\n \"strokeOpacity\": \"1\"\n },\n \".prism-previewer-easing.prism-previewer-easing circle\": {\n \"stroke\": \"hsl(230, 8%, 24%)\",\n \"fill\": \"transparent\"\n },\n \".prism-previewer-easing.prism-previewer-easing path\": {\n \"stroke\": \"hsl(230, 8%, 24%)\"\n },\n \".prism-previewer-easing.prism-previewer-easing line\": {\n \"stroke\": \"hsl(230, 8%, 24%)\"\n }\n};"],"names":["ownKeys","r","t","o","_objectSpread","_defineProperty","powerSetPermutations","arr","arrLength","classNameCombinations","getClassNameCombinations","classNames","key","createStyleObject","elementStyle","stylesheet","nonTokenClassNames","className","classNamesCombinations","styleObject","createClassNameString","createChildren","useInlineStyles","childrenCount","children","child","i","createElement","_ref","node","_ref$style","style","properties","type","TagName","value","childrenCreator","props","allStylesheetSelectors","classes","selector","startingClassName","React","_extends","checkForListedLanguage","astGenerator","language","langs","_excluded","newLineRegex","getNewLines","str","getAllLineNumbers","lines","startingLineNumber","_","number","AllLineNumbers","_ref2","codeString","codeStyle","_ref2$containerStyle","containerStyle","_ref2$numberStyle","numberStyle","getEmWidthOfNumber","num","getInlineLineNumber","lineNumber","inlineLineNumberStyle","assembleLineNumberStyles","lineNumberStyle","largestLineNumber","defaultLineNumberStyle","customLineNumberStyle","assembledStyle","createLineElement","_ref3","showInlineLineNumbers","_ref3$lineProps","lineProps","_ref3$className","showLineNumbers","wrapLongLines","_ref3$wrapLines","wrapLines","_toConsumableArray","flattenCodeTree","tree","newTree","_node$properties","processLines","codeTree","_ref4","lastLineBreakIndex","index","createWrappedLine","createUnwrappedLine","createLine","_loop","newLines","splitValue","text","newChild","_children","_line","stringChild","lastLineInPreviousSpan","newElem","_children2","_line2","_children3","_line3","line","defaultRenderer","_ref5","rows","isHighlightJs","getCodeTree","_ref6","code","defaultCodeValue","hasLanguage","highlight$1","defaultAstGenerator","defaultStyle","_ref7","_code$match$length","_code$match","_ref7$style","_ref7$customStyle","customStyle","_ref7$codeTagProps","codeTagProps","_ref7$useInlineStyles","_ref7$showLineNumbers","_ref7$showInlineLineN","_ref7$startingLineNum","lineNumberContainerStyle","_ref7$lineNumberStyle","_ref7$wrapLongLines","_ref7$lineProps","renderer","_ref7$PreTag","PreTag","_ref7$CodeTag","CodeTag","_ref7$code","rest","_objectWithoutProperties","allLineNumbers","defaultPreStyle","generatorClassName","preProps","lineBreakCount","supportedLanguages","uniqueId","plainTextGrammar","obj","deepClone","visited","clone","id","v","redef","lang","inside","before","insert","root","grammar","ret","token","newToken","old","DFS","callback","objId","property","propertyType","env","Token","tokenList","LinkedList","addAfter","matchGrammar","toArray","name","hooks","callbacks","content","alias","matchedStr","matchPattern","pattern","pos","lookbehind","match","lookbehindLength","startNode","startPos","rematch","patterns","j","patternObj","greedy","flags","currentNode","removeCount","from","to","p","k","matchStr","after","reach","removeFrom","removeRange","wrapped","nestedRematch","head","tail","list","next","newNode","count","array","Prism","Refractor","refractor","highlight","register","registered","listLanguages","encode","stringify","syntax","languages","map","aliasOrLanguage","result","h","attributes","tokens","record","parseEntities","markup","tagName","includedCdataInside","def","attrName","css","string","clike","regex","specialEscape","escape","charSet","charSetWithoutDot","rangeChar","range","groupName","javascript","refractorClike","abap","abnf","coreRules","actionscript","refractorJavascript","ada","agda","al","antlr4","apacheconf","sql","apex","refractorSql","keywords","insertClassName","classNameInside","apl","applescript","aql","c","cpp","refractorC","keyword","modName","arduino","refractorCpp","arff","armasm","bash","envVars","commandAfterHeredoc","insideString","toBeCopied","yaml","anchorOrAlias","tag","plainKey","createValuePattern","markdown","refractorMarkup","inner","createInline","tableCell","tableRow","tableLine","walkTokens","l","codeLang","codeBlock","cls","ele","arturo","createLanguageString","asciidoc","copyFromAsciiDoc","keys","csharp","replace","replacements","m","re","nested","depthLog2","keywordKinds","keywordsToPattern","words","typeDeclarationKeywords","nonTypeKeywords","nonContextualKeywords","generic","nestedRound","genericName","identifier","typeExpressionWithoutTuple","tupleElement","tuple","typeExpression","typeInside","character","regularString","verbatimString","regularStringOrCharacter","regularStringCharacterOrComment","roundExpression","attrTarget","attr","formatString","mInterpolationRound","mInterpolation","sInterpolationRound","sInterpolation","createInterpolationInside","interpolation","interpolationRound","aspnet","refractorCsharp","asm6502","asmatmel","autohotkey","autoit","avisynth","types","internals","filters","allinternals","avroIdl","awk","basic","batch","variable","parameter","bbcode","bbj","bicep","birb","bison","bnf","bqn","brainfuck","brightscript","bro","bsl","cfscript","chaiscript","cil","cilkc","cilkcpp","clojure","cmake","cobol","coffeescript","comment","concurnas","csp","source","cooklang","single_token_suffix","multi_token_infix","multi_token_suffix","multi_token","timer_units","amount_group_impl","coq","commentSource","ruby","percentExpression","symbolName","crystal","refractorRuby","cssExtras","refractorCss","selectorInside","unit","csv","cue","stringEscape","stringTypes","stringLiteral","cypher","d","dart","packagePrefix","dataweave","dax","dhall","diff","PREFIXES","prefix","markupTemplating","getPlaceholder","placeholderPattern","replaceFilter","tokenStack","placeholder","s","middle","replacement","django","refractorMarkupTemplating","dnsZoneFile","docker","spaceAfterBackSlash","space","option","stringRule","commentRule","dot","ID","IDInside","withID","ebnf","editorconfig","eiffel","ejs","ejsPattern","elixir","elm","lua","etlua","refractorLua","erb","erbPattern","erlang","excelFormula","fsharp","factor","comment_inside","string_inside","arrToWordsRegExp","builtins","combinators","$false","firestoreSecurityRules","flow","fortran","ftl","FTL_EXPR","gml","gap","gcode","gdscript","gedcom","gettext","gherkin","git","glsl","gn","linkerScript","go","goModule","gradle","graphql","validTokens","currentIndex","getToken","offset","isTokenType","findClosingBracket","open","close","stackHeight","addAlias","aliases","startToken","inputVariables","definitionEnd","mutationEnd","varToken","groovy","less","scss","textile","modifierRegex","parenthesesRegex","withModifier","modifierTokens","phraseInside","nestedPatterns","phraseInlineInside","phraseTableInside","haml","filter_pattern","all_filters","filter","handlebars","handlebarsPattern","haskell","haxe","hcl","hlsl","hoon","hpkp","hsts","json","uri","http","headerValueOf","httpLanguages","suffixTypes","getSuffixPattern","contentType","suffix","suffixPattern","options","ichigojam","icon","icuMessageFormat","level","stringPattern","argumentSource","nestedMessage","idris","refractorHaskell","ignore","inform7","ini","io","java","classNamePrefix","php","constant","operator","punctuation","string_interpolation","phpPattern","javadoclike","javaDocLike","docCommentSupport","tokenName","definition","addSupport","docLanguage","scala","refractorJava","javadoc","refractorJavadoclike","codeLinePattern","memberReference","reference","javastacktrace","jexl","jolie","jq","stringInterpolation","jsTemplates","templateString","templateLiteralPattern","interpolationObject","interpolationPunctuationObject","interpolationPattern","createTemplate","counter","tokenizeWithHooks","tokenizeInterpolationExpression","expression","tempGrammar","args","tokenizeEmbedded","_tokens","placeholderCounter","placeholderMap","embeddedCode","interpolationExpression","embeddedTokens","placeholders","afterTokens","findTemplateStrings","embedded","stringContent","typescript","jsdoc","refractorTypescript","parameterPrefix","n4js","jsExtras","withId","maybeClassNameTokens","json5","refractorJson","jsonp","jsstacktrace","julia","keepalived","keyman","kotlin","interpolationInside","kumir","nonId","wrapId","kusto","latex","funcPattern","insideEqu","latte","refractorPhp","markupLatte","lattePattern","scheme","SortedBNF","lilypond","refractorScheme","schemeExpression","recursivenessLog2","liquid","liquidPattern","insideRaw","tagMatch","lisp","simple_form","primitive","symbol","marker","par","endpar","nestedPar","arg","forms","arglist","livescript","llvm","log","lolcode","magma","makefile","mata","orgType","matlab","maxscript","mel","mermaid","metafont","mizar","mongodb","operators","builtinFunctions","operatorsSource","monkey","moonscript","n1ql","nand2tetrisHdl","naniscript","expressionDef","params","getTextContent","isBracketsBalanced","input","brackets","stack","bracket","bracketsIndex","nasm","neon","nevod","nginx","nim","nix","nsis","objectivec","ocaml","odin","escapes","opencl","openqasm","oz","parigp","parser","pascal","pascaligo","braces","accum","psl","pcaxis","peoplecode","perl","phpdoc","phpExtras","plantUml","arrowAttr","arrowDirection","arrowBody","arrowLeft","arrowRight","arrowPrefix","arrowSuffix","arrow","plsql","powerquery","powershell","processing","prolog","promql","aggregations","vectorMatching","offsetModifier","protobuf","builtinTypes","stylus","twig","pug","puppet","pure","inlineLanguages","inlineLanguageRe","purebasic","purescript","python","qsharp","qualifiedName","interpolationExpr","q","qml","jsString","jsComment","jsExpr","qore","racket","cshtml","commentLike","stringLike","round","square","curly","angle","inlineCs","tagAttrInlineCs","tagAttrValue","tagAttrs","tagContent","tagRegion","csharpWithHtml","cs","inlineValue","jsx","spread","stringifyToken","openedTags","notTagNorBrace","plainText","tsx","refractorJsx","reason","rego","renpy","rescript","rip","roboconf","robotframework","createSection","extendecInside","docTag","testNameLike","testPropertyLike","rust","multilineComment","sas","numericConstant","macroVariable","macroKeyword","step","func","format","altformat","globalStatements","submitStatement","actionSets","casActions","sass","shellSession","refractorBash","strings","smali","smalltalk","smarty","smartyPattern","smartyLiteralStart","smartyLiteralEnd","smartyLiteralMode","sml","solidity","solutionFile","guid","soy","numberPattern","soyPattern","soyLitteralStart","soyLitteralEnd","soyLitteralMode","turtle","sparql","refractorTurtle","splunkSpl","sqf","squirrel","stan","higherOrderFunctions","stata","refractorMata","refractorPython","iecst","supercollider","swift","rule","systemd","quotesSource","t4Templating","createBlock","contentAlias","createT4","insideLang","t4Cs","refractorT4Templating","vbnet","refractorBasic","t4Vb","refractorVbnet","tap","refractorYaml","tcl","tt2","tt2Pattern","toml","insertKey","tremor","typoscript","unrealscript","uorazor","vala","velocity","verilog","vhdl","vim","visualBasic","warpscript","wasm","webIdl","wgsl","wiki","wolfram","wren","xeora","xmlDoc","insertDocComment","docComment","slashDocComment","tickDocComment","xojo","xquery","yang","zig","literal","IDENTIFIER","ALIGN","PREFIX_TYPE_OP","SUFFIX_EXPR","TYPE","highlighter","oneLight"],"mappings":"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G,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAAC,CAAC,EAAG,GAAG,OAAOA,EAAI,CAAC,EAAG,GAAG,EAAE,OAAOA,EAAI,CAA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WAAc,OACd,WAAc,SAClB,EACE,4CAA+C,CAC7C,WAAc,OACd,WAAc,SAClB,EACE,qCAAwC,CACtC,WAAc,OACd,WAAc,SAClB,EACE,sCAAyC,CACvC,WAAc,OACd,WAAc,SAClB,EACE,sCAAyC,CACvC,WAAc,OACd,WAAc,SAClB,EACE,uCAA0C,CACxC,WAAc,OACd,WAAc,SAClB,EACE,uCAA0C,CACxC,WAAc,UACd,QAAW,OACX,aAAgB,OAChB,WAAc,QAClB,EACE,QAAW,CACT,MAAS,WACb,EACE,OAAU,CACR,MAAS,WACb,EACE,QAAW,CACT,MAAS,WACb,EACE,MAAS,CACP,MAAS,WACb,EACE,YAAe,CACb,MAAS,MACb,EACE,UAAa,CACX,QAAW,IACf,EACE,SAAY,CACV,MAAS,MACb,EACE,IAAO,CACL,MAAS,MACb,EACE,QAAW,CACT,MAAS,MACb,EACE,OAAU,CACR,MAAS,MACb,EACE,SAAY,CACV,MAAS,MACb,EACE,OAAU,CACR,MAAS,MACb,EACE,QAAW,CACT,MAAS,MACb,EACE,SAAY,CACV,MAAS,MACb,EACE,YAAa,CACX,MAAS,MACb,EACE,OAAU,CACR,MAAS,MACb,EACE,KAAQ,CACN,MAAS,MACb,EACE,QAAW,CACT,MAAS,MACb,EACE,SAAY,CACV,MAAS,MACb,EACE,SAAY,CACV,MAAS,UACT,WAAc,uBAClB,EACE,OAAU,CACR,MAAS,UACT,WAAc,wBACd,OAAU,MACd,EACE,IAAO,CACL,MAAS,UACT,WAAc,uBAClB,EACE,8BAA+B,CAC7B,MAAS,UACT,WAAc,uBAClB,EACE,uBAAwB,CACtB,MAAS,UACT,WAAc,uBAClB,EACE,OAAU,CACR,MAAS,MACb,EACE,aAAc,CACZ,MAAS,MACb,EACE,QAAW,CACT,MAAS,MACb,EACE,SAAY,CACV,MAAS,SACb,EACE,aAAc,CACZ,MAAS,SACb,EACE,MAAS,CACP,MAAS,MACb,EACE,UAAa,CACX,MAAS,OACT,WAAc,MAClB,EACE,SAAY,CACV,MAAS,MACb,EACE,KAAQ,CACN,WAAc,MAClB,EACE,OAAU,C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B,CACvB,QAAS,uBACT,WAAY,GACZ,MAAO,UACf,EAEM,gCAAiC,CAC/B,CAEE,QAAS,wBACT,WAAY,GACZ,MAAO,UACjB,EACQ,CAEE,QAAS,iBACT,WAAY,GACZ,MAAO,UACjB,CACA,EAEM,sBAAuB,CACrB,CAEE,QAAS,iBACT,WAAY,GACZ,MAAO,UACjB,EACQ,CAEE,QAAS,iBACT,WAAY,GACZ,MAAO,UACjB,CACA,EACM,cAAe,CACb,QAAS,0BACT,WAAY,EACpB,EAgBM,OAAQ,CACN,QAAS,qBACT,OAAQ,GACR,OAAQA,CAChB,CACA,EACQvN,EAAS,SAAU7M,EAAK,CAC1B,OAAQA,EAAM,IAAI,QAAQ,4BAA6B,MAAM,CAC/D,EACIqa,EAAmB,SAAUjd,EAAK,CACpC,OAAO,IAAI,OAAO,aAAeA,EAAI,IAAIyP,CAAM,EAAE,KAAK,GAAG,EAAI,YAAY,CAC3E,EACIyN,EAAW,CACb,iBAAkB,CAChB,KACA,QACA,QACA,OACA,UACA,MACA,WACA,kBACA,MACA,OACA,YACA,aACA,OACA,WACA,OACA,OACA,QACA,WACA,OACA,QACA,OACA,MACA,IACA,IACA,QACA,QACA,QACA,OACA,kBACA,MACA,SACA,MACA,QACA,OACA,QACA,SACA,OACA,UACA,UACA,OACA,UACA,MACA,gBACA,WACA,QACA,QACA,QACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,QACA,UACA,YACA,OACA,QACA,OACA,SACA,gBACA,SACA,QACA,YACA,WACA,oBACA,kBACA,OACA,YACA,MACA,QACA,MACA,QACA,MACA,iBACA,SACR,EACM,uBAAwB,CAEtB,UACA,YACA,YACA,KACA,SACA,MACA,IACA,WACA,KACA,SACA,QACA,SACA,YACA,aACA,WACA,SACA,UACA,gBACA,oBACA,YACA,UACA,mBACA,KACA,WAEA,IACA,KACA,IACR,EACM,oBAAqB,CACnB,aACA,WACA,SACA,mBACA,SACA,aACA,aACA,YACA,mBACA,kBACA,WACA,aACA,OACA,WACA,UACA,aACA,YACA,WACA,OACA,OACA,MACA,WACA,UACA,SACA,UACA,aACA,aACA,SACA,QACA,UACA,oBACA,aACA,cACA,OACA,SACA,gBACA,oBACA,gCACA,iCACA,YACA,UACA,WACA,SACA,aACA,aACA,UACA,SACA,OACA,eACA,eACA,QACA,OACA,SACA,YACA,UACA,QACA,WACA,cACA,WACA,QACA,YACA,aACA,aACA,qBACA,SACA,SACA,WACA,eACA,UACA,aACA,OACA,UACA,QACA,SACA,SACA,OACA,aACA,WACA,YACA,MACA,aACA,UACA,aACA,SACA,cACA,YACA,OACA,YACA,SACA,YACA,iBACA,UACA,eACA,UACA,gBACA,eACA,YACA,mBACA,UACA,SACA,WACA,OACA,aACA,oBACA,YACA,UACA,UACA,YACA,WACA,WACA,aACA,OACA,cACA,iBACA,QACA,UACA,YACA,gBACA,cACA,oBACA,MACA,UACA,OACA,SACA,OACA,sBACA,aACA,aACA,mBACA,UACA,cACA,SACA,aACA,WACA,kBACA,OACA,OACA,QACA,QACA,QACA,YACA,SACA,eACA,eACA,WACA,WACA,MACA,aACA,YACA,WACA,QACA,oBACA,eACA,OACA,cACA,QACA,UACA,UACA,OACA,cACA,SACA,OACA,gBACA,YACA,aACR,EACM,eAAgB,CACd,UACA,kBACA,MACA,cACA,iBACA,aACA,UACA,eACA,UACA,WACA,cACA,MACA,IACA,IACA,cACA,IACA,MACA,IACA,KACA,SACA,cACA,wBACA,OACA,IACA,OACA,IACA,WACA,SACA,cACA,KACA,QACA,aACA,SACA,QACA,SACA,QACA,QACA,QACA,UACA,SACA,UACA,WACA,KACA,iBACA,KACA,MACA,UACA,aACA,KACA,KACA,MACA,QACA,WACA,SACA,KACA,UACA,UACA,MACA,SACA,KACA,SACA,QACA,OACA,WACA,aACA,UACA,WACA,OACA,YACA,cACA,QACA,MACA,iBACA,YACA,yBACA,aACA,QACA,aACA,QACA,UACA,MACA,SACA,wBACA,MACA,OACA,KACA,OACA,WACA,QACA,YACA,WACR,CAEA,EACI,OAAO,KAAKA,CAAQ,EAAE,QAAQ,SAAUrQ,EAAG,CACzCiQ,EAAOjQ,CAAC,EAAE,QAAUoQ,EAAiBC,EAASrQ,CAAC,CAAC,CAClD,CAAC,EACD,IAAIsQ,EAAc,CAEhB,MACA,QACA,OACA,MACA,OACA,QACA,QACA,OACA,QACA,UACA,MACA,MACA,OACA,QACA,QACA,UACA,SACA,OACA,OACA,QACA,QACA,MACA,SACA,KACA,UACA,YACA,MACA,OACA,YACA,QACA,OACA,QACA,OACA,QACA,UACA,KACA,QACA,OACA,SACA,aACA,aACA,WACA,QACA,UACA,OACA,KACA,OACA,SACA,QACA,OACA,SACA,MACA,OACA,SACA,MACA,WACA,YAEA,iBACA,kBACA,SACA,YACA,QACA,YACA,YACA,WACA,cACA,UACA,YACA,gBACA,mBACA,SACA,MACA,UACA,cACA,aACA,SACA,cACA,OACA,eACA,YACA,UACA,eACA,eACA,aACA,kBACA,QACA,aACA,SACA,eACA,YACA,eACA,WACA,SACA,WACA,aACA,OACA,YACA,gBACA,eACA,OACA,UACA,UACA,YACA,gBACA,iBACA,kBACA,gBACA,UACA,OACA,YACA,cACA,UACA,cACA,aACA,OACA,aACA,iBACA,aACA,OACA,eACA,cACA,WACA,gBACA,YACA,UACA,QACA,aACA,QACA,OACA,aACA,UACA,aACA,aACA,QACA,OACA,YACA,iBACA,YAEA,UACA,eACA,cACA,iBACA,YACA,oBACA,kBACA,QACA,iBACA,eACA,gBAEA,kBACA,cACA,gBACA,gBACA,kBACA,cAEA,OACA,UACA,YACA,YACA,UACA,eACA,iBACA,aACA,OACA,SACA,cACA,qBACA,SACA,mBAEA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MAEA,gBACA,cACA,iBACA,cACA,eACA,aACA,cACA,WACA,iBACA,oBACA,cACA,qBACA,WACA,eACA,mBACA,oBACA,iBACA,UACA,iBACA,iBACA,cACA,SACA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QACE,yOACF,WAAY,GACZ,OAAQ,EAChB,EACM,CACE,QACE,2KACF,WAAY,GACZ,OAAQ,EAChB,CACA,EACI,OAAQ,cACR,SAAU,CACR,QAAS,gCACT,WAAY,EAClB,EACI,YAAa,SACjB,CACA,CCrHA+b,GAAS,YAAc,WACvBA,GAAS,QAAU,CAAA,EAGJ,SAASA,GAAS/b,EAAO,CACtCA,EAAM,UAAU,SAAW,CAEzB,QAAS,CACP,QAAS,MACT,OAAQ,EACd,EACI,OAAQ,CACN,QAAS,cACT,OAAQ,EACd,EACI,OAAQ,YACR,QAAS,qBACT,YAAa,CACX,SACA,CACE,QAAS,6BACT,WAAY,EACpB,EACM,CACE,QAAS,mBACT,WAAY,EACpB,EACM,CACE,QAAS,oBACT,WAAY,EACpB,CACA,EACI,SAAU,CACR,CACE,QAAS,0BACT,WAAY,EACpB,EACM,CACE,QAAS,mCACT,WAAY,EACpB,EACM,mPACN,EACI,SAAU,CACR,QACE,8hBACF,MAAO,SACb,EACI,QAAS,CACP,QACE,mTACF,MAAO,SACb,EACI,SAAU,CACR,CACE,QACE,2GACF,WAAY,EACpB,EACM,CACE,QAAS,4CACT,WAAY,EACpB,EACM,CACE,QAAS,sCACT,WAAY,EACpB,EACM,CACE,QAAS,4BACT,WAAY,EACpB,EACM,CACE,QAAS,yBACT,WAAY,EACpB,EACM,oBACN,EACI,MAAO,CACL,QACE,2xCACF,MAAO,UACb,EACI,QACE,kVACF,QACE,sbACF,KAAM,CACJ,QACE,6GACF,MAAO,UACb,EACI,SAAU,CACR,QACE,+MACF,WAAY,EAClB,CACA,CACA,CCjGAgc,GAAM,YAAc,QACpBA,GAAM,QAAU,CAAA,EAGD,SAASA,GAAMhc,EAAO,CACnCA,EAAM,UAAU,MAAQ,CACtB,QAAS,OACT,QACE,s0BACF,UAAW,CACT,QAAS,cACT,MAAO,UACb,EACI,SAAU,aACV,OAAQ,gBACR,SAAU,mBACV,YAAa,uBACjB,CACA,CCjBAic,GAAQ,YAAc,UACtBA,GAAQ,QAAU,CAAA,EAGH,SAASA,GAAQjc,EAAO,CACrCA,EAAM,SAASyC,CAAmB,EAChC,SAAUzC,EAAO,CACjB,IAAIkc,EAAY,CAEd,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,OACA,OACA,OACA,MACA,UACA,QACA,QACA,cACA,OACA,SACA,QACA,SACA,iBACA,aACA,QACA,cACA,OACA,aACA,QACA,gBACA,cACA,gBACA,cACA,WACA,aACA,QACA,SAEA,eACA,OACA,OACA,OACA,OACA,UACA,OACA,eACA,SACA,YACA,OACA,QACA,QACA,WACA,QACA,YACA,SACA,QACA,OAEA,aACA,UACA,cACA,aACA,SACA,aACA,SACA,WACA,eACA,SACA,cACA,SACA,qBACA,gBACA,UACA,SACA,SACA,OACA,kBACA,WACA,UACA,eACA,eACA,UACA,OACA,QACA,QACA,eACA,aACA,SACA,UACA,mBAEA,OACA,eACA,QACA,SACA,OACA,YACA,mBACA,OACA,kBACA,eACA,iBACA,QACA,SACA,QACA,SACA,SACA,OACA,cACA,YACA,QACA,OACA,UACA,gBACA,QACA,WACA,OACA,iBACA,eACA,kBACA,gBACA,cACA,aACA,aACA,oBACA,UACA,MACA,OACA,UACA,SACA,SACA,YACA,MACA,OACA,QACA,UACA,MACA,gBACA,gBACA,aACA,WACA,YACA,gBACA,WACA,eACA,QACA,QACA,OACA,WACA,MACA,OACA,SACA,MACA,OACA,SACA,OACA,OACA,gBACA,QACA,OACA,eACA,UACA,OACA,SACA,YACA,MACA,OACA,iBACA,MACA,OACA,QACA,oBACA,SACA,UACA,aACA,gBACA,cACA,cACA,cACA,gBACA,SACA,SACA,UACA,iBACA,aACA,mBACA,eACA,YACA,QACA,OACA,SACA,SACA,QACA,aACA,cACA,cACA,eACA,YACA,UACA,eACA,YACA,YACA,OACA,UACA,OACA,UACA,UACA,aACA,YACA,SACA,UACA,cACA,YACA,WACA,WACA,QACA,SACA,QACA,QACA,QACA,OACA,SACA,WACA,YACA,gBACA,aACA,YACA,QACA,cACA,YACA,cA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AQ,CACN,eAAgB,aACxB,CACA,EACI,UAAW,CACT,QAAS,0CACT,WAAY,EAClB,EACI,QAAS,CACP,QACE,qHACF,WAAY,GACZ,OAAQ,CACN,eAAgB,CACd,QAAS,qBACT,MAAO,YACjB,EACQ,OAAQ,CACN,QAAS,SACT,OAAQ,CACN,aAAc,CACZ,QAAS,kBACT,MAAO,UACrB,EACY,YAAa,QACb,SAAU,CACR,QAAS,IACT,MAAO,mBACrB,CACA,CACA,CACA,CACA,EACI,OAAQ,CACN,QAAS,iDACT,MAAO,WACP,WAAY,EAClB,EACI,QACE,sEACF,mBAAoB,CAClB,QACE,kIACF,OAAQ,CACN,wBAAyB,CACvB,QAAS,mBACT,MAAO,SACjB,EACQ,WAAY,CACV,QAAS,mCACT,MAAO,QACjB,EACQ,wBAAyB,CACvB,QAAS,kBACT,MAAO,SACjB,EACQ,YAAa,OACrB,CACA,EACI,WAAY,CACV,QAAS,mCACT,MAAO,QACb,EACI,SAAU,CACR,CACE,QAAS,IACT,MAAO,aACf,EACM,CACE,QAAS,IACT,MAAO,aACf,EACM,CACE,QAAS,IACT,MAAO,WACf,EACM,CACE,QAAS,KACT,MAAO,aACf,EACM,CACE,QAAS,QACT,MAAO,YACf,EACM,CACE,QAAS,OACT,MAAO,WACf,EACM,CACE,QAAS,OACT,MAAO,UACf,EACM,CACE,QAAS,UACT,MAAO,MACf,CACA,EACI,gBAAiB,CACf,CACE,QACE,2HACF,WAAY,GACZ,OAAQ,CACN,aAAc,CACZ,QAAS,kBACT,MAAO,UACnB,EACU,MAAO,GACjB,CACA,EACM,CACE,QAAS,sBACT,OAAQ,CACN,aAAc,CACZ,QAAS,kBACT,MAAO,UACnB,EACU,MAAO,GACjB,CACA,CACA,EACI,YAAa,UACb,KAAM,iBACV,CACA,CCtIAsd,GAAM,YAAc,QACpBA,GAAM,QAAU,CAAA,EAGD,SAASA,GAAMtd,EAAO,EACjC,SAAUA,EAAO,CACjB,IAAIkJ,EACF,gEACFlJ,EAAM,UAAU,MAAQ,CACtB,QAAS,CACP,QAAS,iBACT,WAAY,GACZ,OAAQ,EAChB,EACM,UAAW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Cb,EACE,4CAA+C,CAC7C,WAAc,oBACd,MAAS,SACb,EACE,sCAAyC,CACvC,WAAc,oBACd,MAAS,SACb,EACE,wCAA2C,CACzC,WAAc,oBACd,MAAS,SACb,EACE,uCAA0C,CACxC,WAAc,oBACd,MAAS,SACb,EACE,uCAA0C,CACxC,QAAW,cACX,aAAgB,QAChB,WAAc,QAClB,EACE,QAAW,CACT,MAAS,oBACT,UAAa,QACjB,EACE,OAAU,CACR,MAAS,mBACb,EACE,MAAS,CACP,MAAS,mBACb,EACE,QAAW,CACT,MAAS,mBACb,EACE,YAAe,CACb,MAAS,mBACb,EACE,OAAU,CACR,MAAS,oBACT,OAAU,MACd,EACE,YAAa,CACX,MAAS,mBACb,EACE,aAAc,CACZ,MAAS,mBACb,EACE,QAAW,CACT,MAAS,mBACb,EACE,SAAY,CACV,MAAS,mBACb,EACE,OAAU,CACR,MAAS,mBACb,EACE,OAAU,CACR,MAAS,mBACb,EACE,QAAW,CACT,MAAS,oBACb,EACE,SAAY,CACV,MAAS,kBACb,EACE,IAAO,CACL,MAAS,kBACb,EACE,OAAU,CACR,MAAS,kBACb,EACE,QAAW,CACT,MAAS,kBACb,EACE,UAAa,CACX,MAAS,kBACb,EACE,SAAY,CACV,MAAS,oBACb,EACE,OAAU,CACR,MAAS,oBACb,EACE,KAAQ,CACN,MAAS,oBACb,EACE,QAAW,CACT,MAAS,oBACb,EACE,SAAY,CACV,MAAS,oBACb,EACE,MAAS,CACP,MAAS,oBACb,EACE,aAAc,CACZ,MAAS,oBACb,EACE,kCAAmC,CACjC,MAAS,oBACb,EACE,SAAY,CACV,MAAS,oBACb,EACE,SAAY,CACV,MAAS,oBACb,EACE,SAAY,CACV,MAAS,oBACb,EACE,IAAO,CACL,MAAS,oBACb,EACE,8CAA+C,CAC7C,MAAS,mBACb,EACE,sDAAuD,CACrD,MAAS,mBACb,EACE,gCAAiC,CAC/B,MAAS,kBACb,EACE,gCAAiC,CAC/B,MAAS,mBACb,EACE,gCAAiC,CAC/B,MAAS,oBACb,EACE,6CAA8C,CAC5C,MAAS,oBACb,EACE,+CAAgD,CAC9C,MAAS,oBACb,EACE,iCAAkC,CAChC,MAAS,oBACb,EACE,0CAA2C,CACzC,MAAS,oBACb,EACE,uCAAwC,CACtC,MAAS,oBACb,EACE,oHAAqH,CACnH,MAAS,oBACb,EACE,iCAAkC,CAChC,MAAS,mBACb,EACE,qCAAsC,CACpC,MAAS,mBACb,EACE,gCAAiC,CAC/B,MAAS,mBACb,EACE,kDAAmD,CACjD,MAAS,mBACb,EACE,8DAA+D,CAC7D,MAAS,mBACb,EACE,iDAAkD,CAChD,MAAS,oBACb,EACE,6CAA8C,CAC5C,MAAS,oBACb,EACE,8CAA+C,CAC7C,MAAS,oBACb,EACE,mDAAoD,CAClD,MAAS,oBACT,UAAa,QACjB,EACE,2CAA4C,CAC1C,MAAS,oBACT,UAAa,QACjB,EACE,yCAA0C,CACxC,MAAS,oBACb,EACE,gDAAiD,CAC/C,MAAS,mBACb,EACE,kDAAmD,CACjD,MAAS,oBACb,EACE,kDAAmD,CACjD,MAAS,kBACb,EACE,sDAAuD,CACrD,MAAS,kBACb,EACE,6CAA8C,CAC5C,MAAS,kBACb,EACE,iEAAkE,CAChE,MAAS,kBACb,EACE,KAAQ,CACN,WAAc,MAClB,EACE,OAAU,CACR,UAAa,QACjB,EACE,UAAa,CACX,QAAW,KACf,EACE,+BAAgC,CAC9B,MAAS,yBACb,EACE,kBAAmB,CACjB,MAAS,yBACb,EACE,kBAAmB,CACjB,MAAS,yBACb,EACE,qBAAsB,CACpB,MAAS,yBACb,EACE,sDAAuD,CACrD,YAAe,OACnB,EACE,+DAAgE,CAC9D,WAAc,oBACd,MAAS,oBACT,QAAW,cACX,aAAgB,OACpB,EACE,0DAA2D,CACzD,WAAc,oBACd,MAAS,oBACT,QAAW,cACX,aAAgB,OACpB,EACE,6DAA8D,CAC5D,WAAc,oBACd,MAAS,oBACT,QAAW,cACX,aAAgB,OACpB,EACE,qEAAsE,CACpE,WAAc,oBACd,MAAS,mBACb,EACE,qEAAsE,CACpE,WAAc,oBACd,MAAS,mBACb,EACE,gEAAiE,CAC/D,WAAc,oBACd,MAAS,mBACb,EACE,gEAAiE,CAC/D,WAAc,oBACd,MAAS,mBACb,EACE,mEAAoE,CAClE,WAAc,oBACd,MAAS,mBACb,EACE,mEAAoE,CAClE,WAAc,oBACd,MAAS,mBACb,EACE,iCAAkC,CAChC,WAAc,0BAClB,EACE,wCAAyC,CACvC,WAAc,oBACd,MAAS,oBACT,QAAW,cACX,aAAgB,QAChB,UAAa,8BACjB,EACE,iDAAkD,CAChD,WAAc,oBACd,MAAS,oBACT,QAAW,cACX,aAAgB,QAChB,UAAa,8BACjB,EACE,iGAAkG,CAChG,gBAAmB,0BACvB,EACE,gDAAiD,CAC/C,iBAAoB,yBACxB,EACE,qCAAsC,CACpC,iBAAoB,yBACxB,EACE,iDAAkD,CAChD,MAAS,mBACb,EACE,mDAAoD,CAClD,MAAS,mBACb,EACE,yDAA0D,CACxD,MAAS,kBACb,EACE,yDAA0D,CACxD,MAAS,kBACb,EACE,yDAA0D,CACxD,MAAS,kBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,0DAA2D,CACzD,MAAS,oBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,0DAA2D,CACzD,MAAS,oBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,yDAA0D,CACxD,MAAS,oBACb,EACE,0DAA2D,CACzD,MAAS,oBACb,EACE,8DAA+D,CAC7D,gBAAmB,4BACvB,EACE,8DAA+D,CAC7D,gBAAmB,4BACvB,EACE,8EAA+E,CAC7E,gBAAmB,2BACvB,EACE,gFAAiF,CAC/E,gBAAmB,2BACvB,EACE,8EAA+E,CAC7E,gBAAmB,2BACvB,EACE,gFAAiF,CAC/E,gBAAmB,2BACvB,EACE,yEAA0E,CACxE,gBAAmB,2BACvB,EACE,2EAA4E,CAC1E,gBAAmB,2BACvB,EACE,yEAA0E,CACxE,gBAAmB,2BACvB,EACE,2EAA4E,CAC1E,gBAAmB,2BACvB,EACE,+DAAgE,CAC9D,gBAAmB,4BACvB,EACE,+DAAgE,CAC9D,gBAAmB,4BACvB,EACE,+EAAgF,CAC9E,gBAAmB,2BACvB,EACE,iFAAkF,CAChF,gBAAmB,2BACvB,EACE,+EAAgF,CAC9E,gBAAmB,2BACvB,EACE,iFAAkF,CAChF,gBAAmB,2BACvB,EACE,0EAA2E,CACzE,gBAAmB,2BACvB,EACE,4EAA6E,CAC3E,gBAAmB,2BACvB,EACE,0EAA2E,CACzE,gBAAmB,2BACvB,EACE,4EAA6E,CAC3E,gBAAmB,2BACvB,EACE,0CAA2C,CACzC,YAAe,gBACnB,EACE,yDAA0D,CACxD,YAAe,iBACf,aAAgB,OACpB,EACE,sDAAuD,CACrD,aAAgB,OACpB,EACE,wDAAyD,CACvD,aAAgB,OACpB,EACE,yCAA0C,CACxC,eAAkB,gBACtB,EACE,yDAA0D,CACxD,kBAAqB,gBACzB,EACE,sDAAuD,CACrD,WAAc,kBAClB,EACE,oDAAqD,CACnD,WAAc,kBAClB,EACE,iDAAkD,CAChD,WAAc,kBAClB,EACE,sDAAuD,CACrD,OAAU,oBACV,cAAiB,GACrB,EACE,oDAAqD,CACnD,OAAU,oBACV,cAAiB,GACrB,EACE,wDAAyD,CACvD,OAAU,oBACV,KAAQ,aACZ,EACE,sDAAuD,CACrD,OAAU,mBACd,EACE,sDAAuD,CACrD,OAAU,mBACd,CACA","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,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306]}