@hienlh/ppm 0.18.14 → 0.18.15

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 (539) hide show
  1. package/.rdtest2-cf.out +0 -0
  2. package/CHANGELOG.md +18 -0
  3. package/CLAUDE.md +3 -0
  4. package/assets/skills/ppm/SKILL.md +1 -1
  5. package/assets/skills/ppm/references/cli-reference.md +22 -4
  6. package/assets/skills/ppm/references/http-api.md +8 -1
  7. package/dist/web/assets/{adaptive-context-menu-DCZtgOL7.js → adaptive-context-menu-ChBZWLLq.js} +1 -1
  8. package/dist/web/assets/{ai-resource-editor-D5CPBg06.js → ai-resource-editor-C8aAY8Po.js} +1 -1
  9. package/dist/web/assets/{ai-settings-section-DY-t1bK8.js → ai-settings-section-ERu1WiZc.js} +1 -1
  10. package/dist/web/assets/{angular-html-CTvM4ulF.js → angular-html-CXgHIQ2U.js} +1 -1
  11. package/dist/web/assets/{angular-ts-B_vSkjco.js → angular-ts-C8renMV9.js} +1 -1
  12. package/dist/web/assets/api-client-WpZ2FDHg.js +1 -0
  13. package/dist/web/assets/api-settings-BgSEE6et.js +1 -0
  14. package/dist/web/assets/{api-settings-B2iNXQ0c.js → api-settings-R59c66DE.js} +1 -1
  15. package/dist/web/assets/{api-themes-DrWnJbhs.js → api-themes-DKxrwJda.js} +1 -1
  16. package/dist/web/assets/{apl-DywzTry0.js → apl-DkGH8laI.js} +1 -1
  17. package/dist/web/assets/architecture-PBZL5I3N-CCalSKAt.js +1 -0
  18. package/dist/web/assets/{astro-1JaRgaSb.js → astro-tHUd8Zlg.js} +1 -1
  19. package/dist/web/assets/{audio-preview-DAuGvOiK.js → audio-preview-B_C6Dpvz.js} +1 -1
  20. package/dist/web/assets/{blade-CDeeJWBb.js → blade-BbKpjIYK.js} +1 -1
  21. package/dist/web/assets/{bsl-BfgoPVYR.js → bsl-DA0UYto0.js} +1 -1
  22. package/dist/web/assets/{button-tNy0ba3y.js → button-DBSpDPS0.js} +1 -1
  23. package/dist/web/assets/{cairo-C26gNwWW.js → cairo-79ayucbB.js} +1 -1
  24. package/dist/web/assets/chat-tab-BraiJsYG.js +15 -0
  25. package/dist/web/assets/{cobol-D92nBnON.js → cobol-DSS2EOYo.js} +1 -1
  26. package/dist/web/assets/code-editor-lhmLNhXu.js +10 -0
  27. package/dist/web/assets/{coffee-CIWH40R1.js → coffee-DvSxq2iD.js} +1 -1
  28. package/dist/web/assets/{conflict-editor-CDp0I3mD.js → conflict-editor-C4VCv51R.js} +1 -1
  29. package/dist/web/assets/{context-menu-BO1c9jKy.js → context-menu-BpwUny-o.js} +1 -1
  30. package/dist/web/assets/{cpp-DOrBqXCn.js → cpp-BhWZ-FSn.js} +1 -1
  31. package/dist/web/assets/{crystal-BNKqmHux.js → crystal-yP2OeF-f.js} +1 -1
  32. package/dist/web/assets/{csv-preview-D4svNDAq.js → csv-preview-D46W_icb.js} +1 -1
  33. package/dist/web/assets/{data-grid-overlay-editor-BqV0AxZg.js → data-grid-overlay-editor-DeGkPYtA.js} +1 -1
  34. package/dist/web/assets/{database-viewer-BCvv_Bwf.js → database-viewer-DFI4YtrH.js} +1 -1
  35. package/dist/web/assets/{dialog-DcLGDwaX.js → dialog-RIpeb87v.js} +1 -1
  36. package/dist/web/assets/{diff-viewer-D41fCFAi.js → diff-viewer-eaNOLcBL.js} +1 -1
  37. package/dist/web/assets/{docx-preview-DfaQn9v7.js → docx-preview-Cbj-pOK3.js} +1 -1
  38. package/dist/web/assets/{edge-Dbjp42Pt.js → edge-D3K9cd-p.js} +1 -1
  39. package/dist/web/assets/{edit-diff-preview-BqcUuFCc.js → edit-diff-preview-DDqy3KLA.js} +1 -1
  40. package/dist/web/assets/{elixir-na3b1pYy.js → elixir-D4PBmsLp.js} +1 -1
  41. package/dist/web/assets/{elm-_Nalil1R.js → elm-DSpXjuaH.js} +1 -1
  42. package/dist/web/assets/{erb-CW_7dubf.js → erb-CaYZMTJW.js} +1 -1
  43. package/dist/web/assets/{erlang-DmZ7Zzb0.js → erlang-DX5BFqJj.js} +1 -1
  44. package/dist/web/assets/{esm-CwyBetO1.js → esm-Cv7HsFnk.js} +1 -1
  45. package/dist/web/assets/explorer-body-BxbSttfl.js +2 -0
  46. package/dist/web/assets/explorer-window-content-DUqQCC7A.js +1 -0
  47. package/dist/web/assets/{extension-store-DUaZINyC.js → extension-store-B1EClUAr.js} +1 -1
  48. package/dist/web/assets/{extension-webview-BW_mccb3.js → extension-webview-BaGvDk8v.js} +1 -1
  49. package/dist/web/assets/{file-store-yReVbR8q.js → file-store-m9crh6uq.js} +1 -1
  50. package/dist/web/assets/{fortran-fixed-form-DB2A8L4-.js → fortran-fixed-form-B0bAufUe.js} +1 -1
  51. package/dist/web/assets/{fsharp-BYHrti7z.js → fsharp-C2AL2b1M.js} +1 -1
  52. package/dist/web/assets/{gdresource-D5GBin40.js → gdresource-DRQsDMNI.js} +1 -1
  53. package/dist/web/assets/{git-commit-CUiOBoIL.js → git-commit-GtBdnrzk.js} +1 -1
  54. package/dist/web/assets/{git-log-panel-C1QDkmgl.js → git-log-panel-hwV1flSO.js} +1 -1
  55. package/dist/web/assets/{git-rebase-DOxGnpdw.js → git-rebase-h_0CGA6F.js} +1 -1
  56. package/dist/web/assets/gitGraph-HDMCJU4V-DAUrJCqi.js +1 -0
  57. package/dist/web/assets/glide-data-grid-YsN-xm6x.js +138 -0
  58. package/dist/web/assets/{glimmer-js-Begy4UT7.js → glimmer-js-Bxwu93bS.js} +1 -1
  59. package/dist/web/assets/{glimmer-ts-rPApRY8N.js → glimmer-ts-CIUYdR4E.js} +1 -1
  60. package/dist/web/assets/{glsl-wrbPvrBL.js → glsl-CfxLI5jn.js} +1 -1
  61. package/dist/web/assets/{graphql-Cu4-NR__.js → graphql-CstqDPde.js} +1 -1
  62. package/dist/web/assets/group-chat-tab-B7mJO1gG.js +1 -0
  63. package/dist/web/assets/{hack-Ddo93XKD.js → hack-Bjqnssb5.js} +1 -1
  64. package/dist/web/assets/{haml-BFX_1i8j.js → haml-lVc-DfbM.js} +1 -1
  65. package/dist/web/assets/hand-x0ejq3fS.js +1 -0
  66. package/dist/web/assets/{handlebars-5gFKA4H5.js → handlebars-Yy6fPQI_.js} +1 -1
  67. package/dist/web/assets/{html-derivative-e5JLAFZF.js → html-derivative-CchzCY1z.js} +1 -1
  68. package/dist/web/assets/{html-C06I-zeO.js → html-lqtcy6-2.js} +1 -1
  69. package/dist/web/assets/{http-CrAAhSU7.js → http-ChclRrko.js} +1 -1
  70. package/dist/web/assets/{hurl-T1V3SX9T.js → hurl-CoOK7sXa.js} +1 -1
  71. package/dist/web/assets/{hxml-B056LLKN.js → hxml-fZSZ7Iyt.js} +1 -1
  72. package/dist/web/assets/{image-preview-DWyuCYT3.js → image-preview-ClAcqDlL.js} +1 -1
  73. package/dist/web/assets/index-CtJbMNNI.css +2 -0
  74. package/dist/web/assets/index-H_gScEOk.js +52 -0
  75. package/dist/web/assets/info-3K5VOQVL-Cx1ZfJbp.js +1 -0
  76. package/dist/web/assets/{input-DouJ9Zvt.js → input-DXPgUtxi.js} +1 -1
  77. package/dist/web/assets/{jinja-DGdtRh43.js → jinja-Y0w_KBdE.js} +1 -1
  78. package/dist/web/assets/{jison-Ah6QobPS.js → jison-BILj3F2e.js} +1 -1
  79. package/dist/web/assets/{julia-BJeGOK0K.js → julia-DRfOPDts.js} +1 -1
  80. package/dist/web/assets/{just-iw9oRs7j.js → just-n3U_oODO.js} +1 -1
  81. package/dist/web/assets/keybindings-store-BqctreaI.js +1 -0
  82. package/dist/web/assets/{keybindings-store-0Wqfa7Qp.js → keybindings-store-D-CHdq-G.js} +1 -1
  83. package/dist/web/assets/keyboard-DBBaoQSu.js +1 -0
  84. package/dist/web/assets/{latex-DHjj5hyN.js → latex-D6gztEOL.js} +1 -1
  85. package/dist/web/assets/{liquid-B-FFecDc.js → liquid-DPqCEVb9.js} +1 -1
  86. package/dist/web/assets/{lua-DDianJp_.js → lua-I40KPUm-.js} +1 -1
  87. package/dist/web/assets/markdown-renderer-BwOkiZC1.js +1 -0
  88. package/dist/web/assets/{markdown-renderer-BHiUhQN8.js → markdown-renderer-oJ9jPdQ2.js} +3 -3
  89. package/dist/web/assets/{marko-BW5SBVng.js → marko-DMjsThSW.js} +1 -1
  90. package/dist/web/assets/{mdc-B9gL9bjl.js → mdc-CN2alsbo.js} +1 -1
  91. package/dist/web/assets/{media-url-DUK-k0bB.js → media-url-COUvasjn.js} +1 -1
  92. package/dist/web/assets/mobile-bottom-sheet-Cj1YBq-c.js +1 -0
  93. package/dist/web/assets/mobile-explorer-sheet-D1nM0Ik1.js +1 -0
  94. package/dist/web/assets/{nextflow-dTluY6qy.js → nextflow-CGa4JeZ6.js} +1 -1
  95. package/dist/web/assets/{nginx-DlwghGI-.js → nginx-CmqrIj84.js} +1 -1
  96. package/dist/web/assets/{nim-N9jddb5D.js → nim-CqhmTeMa.js} +1 -1
  97. package/dist/web/assets/notification-store-n-XEQ5pH.js +1 -0
  98. package/dist/web/assets/{number-overlay-editor-BVXM7aAs.js → number-overlay-editor-BEzJ1YeD.js} +1 -1
  99. package/dist/web/assets/{overview-panel-DCCDmtCQ.js → overview-panel-Bf9Gn8qV.js} +1 -1
  100. package/dist/web/assets/packet-RMMSAZCW-Bqwiy7dz.js +1 -0
  101. package/dist/web/assets/{panel-store-B4rijFKN.js → panel-store-UWCH6B-_.js} +1 -1
  102. package/dist/web/assets/{pdf-preview-D7yLmAZW.js → pdf-preview-BMHM5cR2.js} +1 -1
  103. package/dist/web/assets/{perl-CkmpYKa_.js → perl-BOwpb6Tb.js} +1 -1
  104. package/dist/web/assets/{php-BwZ3KDPo.js → php-wT9fVxxu.js} +1 -1
  105. package/dist/web/assets/pie-UPGHQEXC-BXSJ2God.js +1 -0
  106. package/dist/web/assets/{postgres-viewer--CRN1fvO.js → postgres-viewer-D8rfEY5b.js} +3 -3
  107. package/dist/web/assets/process-table-CsQ-hDJr.js +1 -0
  108. package/dist/web/assets/{project-store-BuY7rxn_.js → project-store-CKAOr23O.js} +1 -1
  109. package/dist/web/assets/{pug-B3rBPqQo.js → pug-DdlNnj-p.js} +1 -1
  110. package/dist/web/assets/{qml-BfDbWFmg.js → qml-C5zBdydf.js} +1 -1
  111. package/dist/web/assets/radar-KQ55EAFF-D6XrM7HH.js +1 -0
  112. package/dist/web/assets/{razor-B1ww1r38.js → razor-DqcJX4iq.js} +1 -1
  113. package/dist/web/assets/remote-desktop-mobile-sheet-CTiipn4k.js +2 -0
  114. package/dist/web/assets/remote-desktop-mobile-view-Cf5B0dKo.js +1 -0
  115. package/dist/web/assets/remote-desktop-stats-overlay-vhJBIW7s.js +1 -0
  116. package/dist/web/assets/remote-desktop-window-content-wCJUfI6G.js +1 -0
  117. package/dist/web/assets/{rst-C0MSq6m-.js → rst-DiMiMYUO.js} +1 -1
  118. package/dist/web/assets/{ruby-ClIZ1wb3.js → ruby-DK62iflA.js} +1 -1
  119. package/dist/web/assets/{run-in-terminal-4efbW2Xv.js → run-in-terminal-DJSL6nwZ.js} +1 -1
  120. package/dist/web/assets/{sas-DR0j3o4_.js → sas-6QPGJRa5.js} +1 -1
  121. package/dist/web/assets/{scroll-area-ZP8wcwTI.js → scroll-area-DXGXeiRz.js} +1 -1
  122. package/dist/web/assets/{scss-Vh3JLayR.js → scss-DmUqh48_.js} +1 -1
  123. package/dist/web/assets/{send-to-chat-BNrEpAyC.js → send-to-chat-BOony0sO.js} +1 -1
  124. package/dist/web/assets/settings-store-BpcY5aYE.js +2 -0
  125. package/dist/web/assets/settings-tab-BVqRO01j.js +1 -0
  126. package/dist/web/assets/settings-tab-FH581A_i.js +3 -0
  127. package/dist/web/assets/{shaderlab-0rHRnQ18.js → shaderlab-DopFR1mi.js} +1 -1
  128. package/dist/web/assets/{shellsession-Dxdw6D8c.js → shellsession-Bp_TGuXb.js} +1 -1
  129. package/dist/web/assets/{soy-BHlSNj1y.js → soy-DEB9KEFb.js} +1 -1
  130. package/dist/web/assets/{sparql-B2QaPpni.js → sparql-C8lEwO1p.js} +1 -1
  131. package/dist/web/assets/{sql-query-editor-R_iKjPP9.js → sql-query-editor-MMfk0Kbz.js} +1 -1
  132. package/dist/web/assets/{sqlite-viewer-b2onA0SP.js → sqlite-viewer-vglzrgnZ.js} +1 -1
  133. package/dist/web/assets/{stata-CwIxjsEJ.js → stata-DVep4apN.js} +1 -1
  134. package/dist/web/assets/{surrealql-C6vo-rp-.js → surrealql-fSlJApOA.js} +1 -1
  135. package/dist/web/assets/{svelte-LLdJ6rlH.js → svelte-DezWBEDi.js} +1 -1
  136. package/dist/web/assets/{switch-DV-BDjyk.js → switch-DqL_ZjB_.js} +1 -1
  137. package/dist/web/assets/system-monitor-body-BYUfyF8f.js +2 -0
  138. package/dist/web/assets/system-monitor-tab-CKGXB8lH.js +1 -0
  139. package/dist/web/assets/{system-monitor-window-content-BPif0azo.js → system-monitor-window-content-CiJ2yIsr.js} +1 -1
  140. package/dist/web/assets/{tab-host-window-content-BnAN6m4K.js → tab-host-window-content-DYlXR0cg.js} +1 -1
  141. package/dist/web/assets/{tab-store-tFnyPmm4.js → tab-store-D2thn4Vv.js} +1 -1
  142. package/dist/web/assets/team-member-sheet-Bnygu7Xw.js +2 -0
  143. package/dist/web/assets/{team-member-window-content-BSyU-5Uc.js → team-member-window-content-qrgFTC96.js} +1 -1
  144. package/dist/web/assets/{templ-CJGvhEP5.js → templ-D0zB42a9.js} +1 -1
  145. package/dist/web/assets/{terminal-tab-Ncor0Rfu.js → terminal-tab-D_-R5rGm.js} +3 -3
  146. package/dist/web/assets/{tex-psXWhc4t.js → tex-BJiPijcH.js} +1 -1
  147. package/dist/web/assets/{tool-cards-DdVP1wrD.js → tool-cards-BW7Xc20J.js} +4 -4
  148. package/dist/web/assets/treemap-KZPCXAKY-BobWhcHN.js +1 -0
  149. package/dist/web/assets/{ts-tags-D5Ar_ZCO.js → ts-tags-Dcr4u6y5.js} +1 -1
  150. package/dist/web/assets/{twig-vJgGC-qY.js → twig-B-SQU0bg.js} +1 -1
  151. package/dist/web/assets/{use-blob-url-BOVGWg9F.js → use-blob-url-BtPlqwLr.js} +1 -1
  152. package/dist/web/assets/{use-monaco-theme-BshnLXoY.js → use-monaco-theme-DQY1ZSaf.js} +1 -1
  153. package/dist/web/assets/{use-open-team-member-CY3wOdWL.js → use-open-team-member-C5LQ_TCM.js} +1 -1
  154. package/dist/web/assets/use-visual-viewport-pVxLfE5B.js +1 -0
  155. package/dist/web/assets/{use-websocket-B7xjNsyD.js → use-websocket-l39Odhlp.js} +1 -1
  156. package/dist/web/assets/{vendor-mermaid-999ksD45.js → vendor-mermaid-CtDsSxbM.js} +1 -1
  157. package/dist/web/assets/{video-preview-7F72sRwf.js → video-preview-C5AhkIDl.js} +1 -1
  158. package/dist/web/assets/{vue-BWngFyav.js → vue-Cw10Sfbh.js} +1 -1
  159. package/dist/web/assets/{vue-html-BN5ZLu-H.js → vue-html-Cc5C_Z_w.js} +1 -1
  160. package/dist/web/assets/{vue-vine-BZHnO8yV.js → vue-vine-BuNMlnvu.js} +1 -1
  161. package/dist/web/assets/{window-pip-registry-BnYU83LE.js → window-pip-registry-C7oz3Dfy.js} +1 -1
  162. package/dist/web/assets/window-store-B5ZswdYg.js +1 -0
  163. package/dist/web/assets/{xml-DS2beZHp.js → xml-DqT1wkky.js} +1 -1
  164. package/dist/web/assets/{xsl-Ciiku1Bq.js → xsl-DLkge3A2.js} +1 -1
  165. package/dist/web/index.html +45 -43
  166. package/dist/web/sw.js +1 -1
  167. package/docs/architecture/ai-chat-and-providers.md +3 -0
  168. package/package.json +1 -1
  169. package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
  170. package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
  171. package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
  172. package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
  173. package/src/cli/commands/backup-cmd.ts +119 -0
  174. package/src/index.ts +3 -0
  175. package/src/providers/claude-agent-sdk.ts +29 -1
  176. package/src/server/index.ts +42 -15
  177. package/src/server/routes/accounts.ts +30 -2
  178. package/src/server/routes/chat.ts +8 -1
  179. package/src/server/routes/named-tunnel.ts +5 -2
  180. package/src/server/routes/remote-desktop.ts +64 -0
  181. package/src/server/routes/settings.ts +1 -0
  182. package/src/server/ws/chat.ts +126 -7
  183. package/src/server/ws/remote-desktop.ts +86 -0
  184. package/src/services/account.service.ts +106 -23
  185. package/src/services/db-backup/db-backup-paths.ts +66 -0
  186. package/src/services/db-backup/db-backup-restore.ts +105 -0
  187. package/src/services/db-backup/db-backup-retention.ts +96 -0
  188. package/src/services/db-backup/db-backup-sync.ts +113 -0
  189. package/src/services/db-backup/db-backup.service.ts +61 -0
  190. package/src/services/db.service.ts +29 -1
  191. package/src/services/edge-forwarder.ts +191 -191
  192. package/src/services/fs-credential-path-guard.ts +19 -1
  193. package/src/services/named-tunnel/cloudflared-login.service.ts +2 -2
  194. package/src/services/nested-subagent-spy.ts +206 -0
  195. package/src/services/remote-desktop/access-unit-assembler.ts +90 -0
  196. package/src/services/remote-desktop/avc1-codec-string.ts +18 -0
  197. package/src/services/remote-desktop/nal-splitter.ts +100 -0
  198. package/src/services/remote-desktop/remote-desktop-capture.ts +120 -0
  199. package/src/services/remote-desktop/remote-desktop-encoder-args.ts +42 -0
  200. package/src/services/remote-desktop/remote-desktop-flag.ts +10 -0
  201. package/src/services/remote-desktop/remote-desktop-input.ts +217 -0
  202. package/src/services/remote-desktop/remote-desktop-nonce.ts +38 -0
  203. package/src/services/remote-desktop/remote-desktop-session.ts +189 -0
  204. package/src/services/remote-desktop/remote-desktop-vk-map.ts +41 -0
  205. package/src/services/subagent-transcript-merger.ts +92 -75
  206. package/src/services/subprocess-retention.ts +29 -6
  207. package/src/services/supervisor.ts +58 -0
  208. package/src/services/team-member-activity/subagent-transcript-index.ts +56 -0
  209. package/src/services/windows-process-tree.ts +351 -351
  210. package/src/types/chat.ts +2 -0
  211. package/src/web/app.tsx +8 -0
  212. package/src/web/components/chat/account-dialogs.tsx +11 -4
  213. package/src/web/components/chat/question-card.tsx +9 -2
  214. package/src/web/components/chat/usage-badge.tsx +17 -3
  215. package/src/web/components/floating-window/window-content-registry.ts +2 -0
  216. package/src/web/components/floating-window/window-store-types.ts +1 -1
  217. package/src/web/components/layout/mobile-drawer.tsx +38 -27
  218. package/src/web/components/layout/nav-section-rail.tsx +10 -2
  219. package/src/web/components/remote-desktop/open-remote-desktop.ts +26 -0
  220. package/src/web/components/remote-desktop/remote-desktop-coords.ts +98 -0
  221. package/src/web/components/remote-desktop/remote-desktop-frame-timestamp.ts +21 -0
  222. package/src/web/components/remote-desktop/remote-desktop-gesture-classifiers.ts +56 -0
  223. package/src/web/components/remote-desktop/remote-desktop-mobile-key-bar.tsx +131 -0
  224. package/src/web/components/remote-desktop/remote-desktop-mobile-sheet.tsx +43 -0
  225. package/src/web/components/remote-desktop/remote-desktop-mobile-toolbar.tsx +79 -0
  226. package/src/web/components/remote-desktop/remote-desktop-mobile-view.tsx +190 -0
  227. package/src/web/components/remote-desktop/remote-desktop-stats-overlay.tsx +54 -0
  228. package/src/web/components/remote-desktop/remote-desktop-stats.ts +37 -0
  229. package/src/web/components/remote-desktop/remote-desktop-touch-gesture-tracker.ts +195 -0
  230. package/src/web/components/remote-desktop/remote-desktop-window-content.tsx +72 -0
  231. package/src/web/components/remote-desktop/remote-desktop-ws-url.ts +22 -0
  232. package/src/web/components/remote-desktop/use-h264-canvas-decoder.ts +175 -0
  233. package/src/web/components/remote-desktop/use-remote-desktop-available.ts +29 -0
  234. package/src/web/components/remote-desktop/use-remote-desktop-connection.ts +147 -0
  235. package/src/web/components/remote-desktop/use-remote-desktop-mobile-open-state.ts +18 -0
  236. package/src/web/components/remote-desktop/use-remote-desktop-touch.ts +224 -0
  237. package/src/web/components/remote-desktop/use-remote-desktop-virtual-keyboard.ts +50 -0
  238. package/src/web/components/remote-desktop/use-remote-input-capture.ts +92 -0
  239. package/src/web/components/tunnels/named-tunnel/named-tunnel-copy.ts +59 -59
  240. package/src/web/components/tunnels/named-tunnel/named-tunnel-section.tsx +2 -2
  241. package/src/web/hooks/use-notification-badge.ts +19 -11
  242. package/src/web/lib/feature-badges.ts +2 -0
  243. package/src/web/stores/settings-store.ts +13 -0
  244. package/src/web/stores/streaming-store.ts +21 -2
  245. package/dist/web/assets/api-client-BogqsFna.js +0 -1
  246. package/dist/web/assets/api-settings-DRF9oYkn.js +0 -1
  247. package/dist/web/assets/architecture-PBZL5I3N-nw5-j_I_.js +0 -1
  248. package/dist/web/assets/chat-tab-IcnU3nqQ.js +0 -15
  249. package/dist/web/assets/code-editor-Dno5Srkm.js +0 -10
  250. package/dist/web/assets/explorer-body-DB1L30pa.js +0 -2
  251. package/dist/web/assets/explorer-window-content-Cwlt3C3I.js +0 -1
  252. package/dist/web/assets/gitGraph-HDMCJU4V-C1xf87gN.js +0 -1
  253. package/dist/web/assets/glide-data-grid-Dz8lx6n2.js +0 -138
  254. package/dist/web/assets/group-chat-tab-DFwr-pig.js +0 -1
  255. package/dist/web/assets/index-DWpNR3nB.css +0 -2
  256. package/dist/web/assets/index-oUKV5nIA.js +0 -52
  257. package/dist/web/assets/info-3K5VOQVL-C2z7FTDe.js +0 -1
  258. package/dist/web/assets/keybindings-store-d54pv2NK.js +0 -1
  259. package/dist/web/assets/markdown-renderer-CnE36_gd.js +0 -1
  260. package/dist/web/assets/mobile-bottom-sheet-CJ7ApOkI.js +0 -1
  261. package/dist/web/assets/mobile-explorer-sheet-BzjlS1Xn.js +0 -1
  262. package/dist/web/assets/notification-store-C7UBqxYP.js +0 -1
  263. package/dist/web/assets/packet-RMMSAZCW-DQUxN0wU.js +0 -1
  264. package/dist/web/assets/pie-UPGHQEXC-BOr9ek4Q.js +0 -1
  265. package/dist/web/assets/process-table-CXC10GSy.js +0 -1
  266. package/dist/web/assets/radar-KQ55EAFF-DSErxZFb.js +0 -1
  267. package/dist/web/assets/settings-store-OLJE7dPH.js +0 -2
  268. package/dist/web/assets/settings-tab-B1rvHFc6.js +0 -3
  269. package/dist/web/assets/settings-tab-BUlmPJ2w.js +0 -1
  270. package/dist/web/assets/system-monitor-body-DPYQlBEt.js +0 -2
  271. package/dist/web/assets/system-monitor-tab-CPQdWv27.js +0 -1
  272. package/dist/web/assets/team-member-sheet-Bu2wG1sm.js +0 -2
  273. package/dist/web/assets/treemap-KZPCXAKY-C17p0LQw.js +0 -1
  274. package/dist/web/assets/window-store-CQ1lghvv.js +0 -1
  275. /package/dist/web/assets/{abap-CjzrhAS2.js → abap-CKgBNk5K.js} +0 -0
  276. /package/dist/web/assets/{actionscript-3-B59Kbl-9.js → actionscript-3-oARhAY6c.js} +0 -0
  277. /package/dist/web/assets/{ada-B7gItKAE.js → ada-2vi8ASy3.js} +0 -0
  278. /package/dist/web/assets/{andromeeda-Dy5zcy0Q.js → andromeeda-B3vMjPKd.js} +0 -0
  279. /package/dist/web/assets/{apache-B6T9jrc0.js → apache-DnIEr338.js} +0 -0
  280. /package/dist/web/assets/{apex-CTsIxDQw.js → apex-B7Qs5AY5.js} +0 -0
  281. /package/dist/web/assets/{api-client-oY1tC3tM.js → api-client-BkGKTjsq.js} +0 -0
  282. /package/dist/web/assets/{applescript-DuycKmmb.js → applescript-EbQNUCWb.js} +0 -0
  283. /package/dist/web/assets/{apply-theme-r8tKDrCR.js → apply-theme-Dd_cqGa-.js} +0 -0
  284. /package/dist/web/assets/{ara-CISL3599.js → ara-CtHdhFRw.js} +0 -0
  285. /package/dist/web/assets/{asciidoc-BXyE2Lpr.js → asciidoc-BH6qin_O.js} +0 -0
  286. /package/dist/web/assets/{asm-y258phtP.js → asm-D1XU1ACk.js} +0 -0
  287. /package/dist/web/assets/{aurora-x-Dq3Jc78M.js → aurora-x-BkhcxkuS.js} +0 -0
  288. /package/dist/web/assets/{awk-DxL6XSJv.js → awk-DijzB6o7.js} +0 -0
  289. /package/dist/web/assets/{ayu-dark-DjoK6Evo.js → ayu-dark-tysG77WC.js} +0 -0
  290. /package/dist/web/assets/{ayu-light-CKKXBLMI.js → ayu-light-Dg0WMETC.js} +0 -0
  291. /package/dist/web/assets/{ayu-mirage-DGXSrrXB.js → ayu-mirage--RsJCjC4.js} +0 -0
  292. /package/dist/web/assets/{ballerina-DZSXFmUf.js → ballerina-DT_5-l82.js} +0 -0
  293. /package/dist/web/assets/{bat-BNsZk6nY.js → bat-BRpDlkv0.js} +0 -0
  294. /package/dist/web/assets/{beancount-cPl4gJct.js → beancount--8Df-WGG.js} +0 -0
  295. /package/dist/web/assets/{berry-DGAodERk.js → berry-Bc9fo35J.js} +0 -0
  296. /package/dist/web/assets/{bibtex-DftVoRif.js → bibtex-CwyBpp9X.js} +0 -0
  297. /package/dist/web/assets/{bicep-Suioyyzh.js → bicep-DiyH2Bs7.js} +0 -0
  298. /package/dist/web/assets/{bird2-DjU24I2P.js → bird2-CHgK4a2A.js} +0 -0
  299. /package/dist/web/assets/{c-DFi8Y_nN.js → c-BM1qL6-f.js} +0 -0
  300. /package/dist/web/assets/{c3-1eSHnH5V.js → c3-D2oOjrP7.js} +0 -0
  301. /package/dist/web/assets/{cadence-DLLsFwQP.js → cadence-nS45wqF6.js} +0 -0
  302. /package/dist/web/assets/{can-open-in-ppm-in727eFQ.js → can-open-in-ppm-DwP9KU8o.js} +0 -0
  303. /package/dist/web/assets/{catppuccin-frappe-DDj0JEiY.js → catppuccin-frappe-BpnJHiCj.js} +0 -0
  304. /package/dist/web/assets/{catppuccin-latte-DPyANHyR.js → catppuccin-latte-Bb95Wj3h.js} +0 -0
  305. /package/dist/web/assets/{catppuccin-macchiato-CO-h8VTT.js → catppuccin-macchiato-Btx8c17W.js} +0 -0
  306. /package/dist/web/assets/{catppuccin-mocha-BCmbN2IZ.js → catppuccin-mocha-B4DZOUGI.js} +0 -0
  307. /package/dist/web/assets/{clarity-C0pYsZjs.js → clarity-1ps69jU6.js} +0 -0
  308. /package/dist/web/assets/{clipboard-DBLGKMrH.js → clipboard-CrHX8AYw.js} +0 -0
  309. /package/dist/web/assets/{clojure-JFr6s8iZ.js → clojure-BklC0hKV.js} +0 -0
  310. /package/dist/web/assets/{cmake-EEcLEgVy.js → cmake-B573LYAQ.js} +0 -0
  311. /package/dist/web/assets/{codeowners-Deh3Lx0u.js → codeowners-BoYeX89M.js} +0 -0
  312. /package/dist/web/assets/{codeql-C317igT5.js → codeql-7Dhf5Udk.js} +0 -0
  313. /package/dist/web/assets/{common-lisp-DepbATZs.js → common-lisp-m1nxlthv.js} +0 -0
  314. /package/dist/web/assets/{coq-MxgxU5ya.js → coq-DNhGmd4a.js} +0 -0
  315. /package/dist/web/assets/{csharp-eEFXdsAq.js → csharp-P-nAurtS.js} +0 -0
  316. /package/dist/web/assets/{css-Db-syWW9.js → css-LYbSeh3-.js} +0 -0
  317. /package/dist/web/assets/{csv-DHeYcbaq.js → csv-DHZZZm7X.js} +0 -0
  318. /package/dist/web/assets/{csv-parser-_JWMLGl3.js → csv-parser-CY9Ggtg5.js} +0 -0
  319. /package/dist/web/assets/{cue-BmUNowrt.js → cue-D8yLUOle.js} +0 -0
  320. /package/dist/web/assets/{cypher-XjXHgCNS.js → cypher-9cbW8RYA.js} +0 -0
  321. /package/dist/web/assets/{d-BWJnZtig.js → d-ZihzhxqI.js} +0 -0
  322. /package/dist/web/assets/{dark-plus-Db7umas1.js → dark-plus-C8xIA1u3.js} +0 -0
  323. /package/dist/web/assets/{dart-DSI4HYh1.js → dart-CBm6jKc7.js} +0 -0
  324. /package/dist/web/assets/{data-grid-types-CfVHh9gv.js → data-grid-types-DkEQ-Na9.js} +0 -0
  325. /package/dist/web/assets/{dax-yw1JsAni.js → dax-B3cx6YeV.js} +0 -0
  326. /package/dist/web/assets/{desktop-C2QO4RvD.js → desktop-C03SpXth.js} +0 -0
  327. /package/dist/web/assets/{diff-Drt8aEyp.js → diff-D8LnnvFY.js} +0 -0
  328. /package/dist/web/assets/{dist-DNRvhVdz.js → dist-C4XoS_zo.js} +0 -0
  329. /package/dist/web/assets/{dist-VBxOHLmN.js → dist-Do3fljss.js} +0 -0
  330. /package/dist/web/assets/{docker-ByDKbmLl.js → docker-DwFiOQWW.js} +0 -0
  331. /package/dist/web/assets/{dotenv-BkfOLytR.js → dotenv-CVJ_vFSQ.js} +0 -0
  332. /package/dist/web/assets/{dracula-DAmrm-Un.js → dracula-DMw8UACY.js} +0 -0
  333. /package/dist/web/assets/{dracula-soft-BUOEnKqR.js → dracula-soft-BnB3nDrA.js} +0 -0
  334. /package/dist/web/assets/{dream-maker-DQBIfSiO.js → dream-maker-2riXUQXo.js} +0 -0
  335. /package/dist/web/assets/{emacs-lisp-Blh5kBD3.js → emacs-lisp-BQdYaiB5.js} +0 -0
  336. /package/dist/web/assets/{everforest-dark-CEzhDxHq.js → everforest-dark-C2FPIWdj.js} +0 -0
  337. /package/dist/web/assets/{everforest-light-CPk_5Khm.js → everforest-light-DMOWf9sD.js} +0 -0
  338. /package/dist/web/assets/{fennel-B1MT_EBZ.js → fennel-JtSHp0vW.js} +0 -0
  339. /package/dist/web/assets/{fish-C_HGcewt.js → fish-CflDcRfe.js} +0 -0
  340. /package/dist/web/assets/{fluent-Dp1Iclmx.js → fluent-D4eu6Vac.js} +0 -0
  341. /package/dist/web/assets/{format-bytes-53WBtyi2.js → format-bytes-DR3228bu.js} +0 -0
  342. /package/dist/web/assets/{fortran-free-form-B_-UA4XC.js → fortran-free-form-hO4RuC9Z.js} +0 -0
  343. /package/dist/web/assets/{gdscript-Bm_JpjS_.js → gdscript-D7n3a8VM.js} +0 -0
  344. /package/dist/web/assets/{gdshader-C_PNmfYU.js → gdshader-BhUmrlzG.js} +0 -0
  345. /package/dist/web/assets/{genie-B5rmR2TF.js → genie-VbyftqBp.js} +0 -0
  346. /package/dist/web/assets/{gherkin-BTJ34TJ9.js → gherkin-BZzhvUUb.js} +0 -0
  347. /package/dist/web/assets/{github-dark-DOkNVj9H.js → github-dark-C4q41woW.js} +0 -0
  348. /package/dist/web/assets/{github-dark-default-DTsmiyVo.js → github-dark-default-CMNi7dQX.js} +0 -0
  349. /package/dist/web/assets/{github-dark-dimmed-CjbxAe9s.js → github-dark-dimmed-BRf_-LlY.js} +0 -0
  350. /package/dist/web/assets/{github-dark-high-contrast-r_M8F_k7.js → github-dark-high-contrast-xanKBsRI.js} +0 -0
  351. /package/dist/web/assets/{github-light-BzfxyMyb.js → github-light-BEQeNQCs.js} +0 -0
  352. /package/dist/web/assets/{github-light-default-BOqiBIy5.js → github-light-default-ceQrtdXg.js} +0 -0
  353. /package/dist/web/assets/{github-light-high-contrast-DQzBrDM4.js → github-light-high-contrast-doKbXzgW.js} +0 -0
  354. /package/dist/web/assets/{gleam-BWmuAtD8.js → gleam-Chzqf4fT.js} +0 -0
  355. /package/dist/web/assets/{gn-CNQPjiZW.js → gn-CCN_-6fp.js} +0 -0
  356. /package/dist/web/assets/{gnuplot-BlHjcPMe.js → gnuplot-CIplgwwP.js} +0 -0
  357. /package/dist/web/assets/{go-Bn8Ba9uz.js → go-Cjj-9dRs.js} +0 -0
  358. /package/dist/web/assets/{groovy-C1Y1_F4V.js → groovy-PqD4K7X1.js} +0 -0
  359. /package/dist/web/assets/{gruvbox-dark-hard-DueOsHav.js → gruvbox-dark-hard-BAbpUSF-.js} +0 -0
  360. /package/dist/web/assets/{gruvbox-dark-medium-DaQjD538.js → gruvbox-dark-medium-BWcWXDBB.js} +0 -0
  361. /package/dist/web/assets/{gruvbox-dark-soft-CbbX2WOm.js → gruvbox-dark-soft-Dkx1okkk.js} +0 -0
  362. /package/dist/web/assets/{gruvbox-light-hard-E2M70ljZ.js → gruvbox-light-hard-WVsDK0MM.js} +0 -0
  363. /package/dist/web/assets/{gruvbox-light-medium-B_DDLY6h.js → gruvbox-light-medium-tiR9t7gr.js} +0 -0
  364. /package/dist/web/assets/{gruvbox-light-soft-2SZmyC1F.js → gruvbox-light-soft-HzHohaX6.js} +0 -0
  365. /package/dist/web/assets/{haskell-D8DeoXtG.js → haskell-B1eIZfr6.js} +0 -0
  366. /package/dist/web/assets/{haxe-BmZm7B0W.js → haxe-BcDdi5xr.js} +0 -0
  367. /package/dist/web/assets/{hcl-CKnBM3ng.js → hcl-Dq-HKVni.js} +0 -0
  368. /package/dist/web/assets/{hjson-Ct9t4-ci.js → hjson-Dr9D9WVU.js} +0 -0
  369. /package/dist/web/assets/{hlsl-BZSASBqS.js → hlsl-Bo8t2FuZ.js} +0 -0
  370. /package/dist/web/assets/{horizon-CzX1AZ08.js → horizon-DWG5IXc-.js} +0 -0
  371. /package/dist/web/assets/{horizon-bright-CCVNeRIP.js → horizon-bright-DFr9wTTx.js} +0 -0
  372. /package/dist/web/assets/{houston-DBlJN7xc.js → houston-NAVNhkup.js} +0 -0
  373. /package/dist/web/assets/{hy-Dyc6h6Xb.js → hy-DnyvUk3B.js} +0 -0
  374. /package/dist/web/assets/{image-gallery-DujlrjOC.js → image-gallery-DoFdNF9i.js} +0 -0
  375. /package/dist/web/assets/{imba-Bauru7s2.js → imba-CPbR5W_A.js} +0 -0
  376. /package/dist/web/assets/{ini-SjdwtaTp.js → ini-lc8_Lt0y.js} +0 -0
  377. /package/dist/web/assets/{java-D2r0ocpf.js → java-B0KCo2vK.js} +0 -0
  378. /package/dist/web/assets/{javascript-y-lof7iP.js → javascript-YqEbNRpd.js} +0 -0
  379. /package/dist/web/assets/{json-DO4LSx5A.js → json-Co0WtOlh.js} +0 -0
  380. /package/dist/web/assets/{json5-BEwWf-W3.js → json5-2Jhb0QUN.js} +0 -0
  381. /package/dist/web/assets/{jsonc-OBEFv7gP.js → jsonc-e72F11nU.js} +0 -0
  382. /package/dist/web/assets/{jsonl-DOyW4Mg3.js → jsonl-Bff8IPye.js} +0 -0
  383. /package/dist/web/assets/{jsonnet-BL5R2CpP.js → jsonnet-DRCkb-_H.js} +0 -0
  384. /package/dist/web/assets/{jssm-ksPusAyg.js → jssm-C6UiwVEm.js} +0 -0
  385. /package/dist/web/assets/{jsx-B6XEu6O-.js → jsx-u1aZlnfA.js} +0 -0
  386. /package/dist/web/assets/{kanagawa-dragon-JBVe_ji_.js → kanagawa-dragon-De-RQFV3.js} +0 -0
  387. /package/dist/web/assets/{kanagawa-lotus-ChprO68_.js → kanagawa-lotus-K8elE4QU.js} +0 -0
  388. /package/dist/web/assets/{kanagawa-wave-D_uB_R0Q.js → kanagawa-wave-BrStl_zx.js} +0 -0
  389. /package/dist/web/assets/{kdl-pf5B8N_m.js → kdl-CLCfMeZy.js} +0 -0
  390. /package/dist/web/assets/{kotlin-BdF0METC.js → kotlin-DEEC3pNh.js} +0 -0
  391. /package/dist/web/assets/{kusto-BneVP-OU.js → kusto-DTqRhCup.js} +0 -0
  392. /package/dist/web/assets/{laserwave-C4-UPIyG.js → laserwave-DsgpUSbA.js} +0 -0
  393. /package/dist/web/assets/{lean-BN6Jdymq.js → lean-Dl9MI0Y3.js} +0 -0
  394. /package/dist/web/assets/{less-Cx-fdlDC.js → less-Bg21rao6.js} +0 -0
  395. /package/dist/web/assets/{lib-CMuBa85c.js → lib-CXUwxw1M.js} +0 -0
  396. /package/dist/web/assets/{libesm-BB74PRsH.js → libesm-CVkncAQz.js} +0 -0
  397. /package/dist/web/assets/{light-plus-DFnnn_iL.js → light-plus-DGNbbK1V.js} +0 -0
  398. /package/dist/web/assets/{llvm-BGxtW0Nw.js → llvm-91_ZX3p-.js} +0 -0
  399. /package/dist/web/assets/{loader-circle-Dpqcv0eS.js → loader-circle-DouKgIXy.js} +0 -0
  400. /package/dist/web/assets/{lock-DldbT31x.js → lock-CNxUGpTk.js} +0 -0
  401. /package/dist/web/assets/{log-kQb4eJnj.js → log-DSXzbq8u.js} +0 -0
  402. /package/dist/web/assets/{logo-DqAzaq7s.js → logo-BQRNd4tc.js} +0 -0
  403. /package/dist/web/assets/{luau-Dc2cp-zS.js → luau-BE-TMpiZ.js} +0 -0
  404. /package/dist/web/assets/{make-DYg9dwaJ.js → make-ePYGKTpc.js} +0 -0
  405. /package/dist/web/assets/{markdown-O4EPpS3K.js → markdown-Cst3wgMW.js} +0 -0
  406. /package/dist/web/assets/{material-theme-ClP8yfQ2.js → material-theme-9XyvnNLb.js} +0 -0
  407. /package/dist/web/assets/{material-theme-darker-LOK55hGu.js → material-theme-darker-H1VN4MTS.js} +0 -0
  408. /package/dist/web/assets/{material-theme-lighter-j72tzZqi.js → material-theme-lighter-DAreBbuF.js} +0 -0
  409. /package/dist/web/assets/{material-theme-ocean-C19LKClA.js → material-theme-ocean-BpTR-3II.js} +0 -0
  410. /package/dist/web/assets/{material-theme-palenight-DJ5tN2ax.js → material-theme-palenight-DUNzX711.js} +0 -0
  411. /package/dist/web/assets/{matlab-DQNZ_NU8.js → matlab-BpYNufBU.js} +0 -0
  412. /package/dist/web/assets/{mdx-CJayB7XK.js → mdx-BYjfe1DK.js} +0 -0
  413. /package/dist/web/assets/{mermaid-Cb0TRX92.js → mermaid-DPCcIW9B.js} +0 -0
  414. /package/dist/web/assets/{min-dark-CWM8Bo-m.js → min-dark-DnGOAGCo.js} +0 -0
  415. /package/dist/web/assets/{min-light-BBR1sjS2.js → min-light-CwV-o31y.js} +0 -0
  416. /package/dist/web/assets/{mipsasm-Jc7u7YSS.js → mipsasm-DdeCPC97.js} +0 -0
  417. /package/dist/web/assets/{mojo-CTB0cutd.js → mojo-BmxxZ3iM.js} +0 -0
  418. /package/dist/web/assets/{monitor-4vWfqzuN.js → monitor-C835ucWH.js} +0 -0
  419. /package/dist/web/assets/{monokai-CvM_YNKx.js → monokai-Cx6cQ-MA.js} +0 -0
  420. /package/dist/web/assets/{moonbit-CbFEfYYM.js → moonbit-D2-Gj5vj.js} +0 -0
  421. /package/dist/web/assets/{move-BT38p0kT.js → move-DSWGoQa8.js} +0 -0
  422. /package/dist/web/assets/{narrat-55QZ_kOG.js → narrat-D9TnZSSu.js} +0 -0
  423. /package/dist/web/assets/{nextflow-groovy-Bg8peyqg.js → nextflow-groovy-BbL-8PwD.js} +0 -0
  424. /package/dist/web/assets/{night-owl-DzS77iPK.js → night-owl-CZitKm5d.js} +0 -0
  425. /package/dist/web/assets/{night-owl-light-DER7fGnx.js → night-owl-light-DJVX1Pno.js} +0 -0
  426. /package/dist/web/assets/{nix-BSI8YesN.js → nix-R6hr3oln.js} +0 -0
  427. /package/dist/web/assets/{nord-9bn7iNWo.js → nord-ChGHya3l.js} +0 -0
  428. /package/dist/web/assets/{nushell-qDVZn_lw.js → nushell-QQWB-GWx.js} +0 -0
  429. /package/dist/web/assets/{objective-c-Blf-ATos.js → objective-c-C0pZ6y73.js} +0 -0
  430. /package/dist/web/assets/{objective-cpp-Bz8bAq47.js → objective-cpp-BdzVM31a.js} +0 -0
  431. /package/dist/web/assets/{ocaml-B9heAsc3.js → ocaml-D4KktNlS.js} +0 -0
  432. /package/dist/web/assets/{odin-BaFYnOwO.js → odin-Y-fypmGT.js} +0 -0
  433. /package/dist/web/assets/{one-dark-pro-D6B_hSe-.js → one-dark-pro-BwecIxQL.js} +0 -0
  434. /package/dist/web/assets/{one-light-Ba-f0wyk.js → one-light-Cz7UVzLU.js} +0 -0
  435. /package/dist/web/assets/{openscad-UvYyL2MK.js → openscad-DtRe3qYD.js} +0 -0
  436. /package/dist/web/assets/{pascal-B4-qvEoG.js → pascal-Ck6I1fGG.js} +0 -0
  437. /package/dist/web/assets/{pkl-B146nqGx.js → pkl-DdFK94VW.js} +0 -0
  438. /package/dist/web/assets/{plastic-L38t-Id3.js → plastic-BQSAzZwR.js} +0 -0
  439. /package/dist/web/assets/{play-CpCAoQRZ.js → play-CJlWpVMw.js} +0 -0
  440. /package/dist/web/assets/{plsql-ItOG5Cca.js → plsql-DjXg_CP0.js} +0 -0
  441. /package/dist/web/assets/{po-imiCTaNX.js → po-Bw2SuM4r.js} +0 -0
  442. /package/dist/web/assets/{poimandres-Bu6sIba9.js → poimandres-YMK6c5VN.js} +0 -0
  443. /package/dist/web/assets/{polar-CTeGoFxV.js → polar-BMu17-O0.js} +0 -0
  444. /package/dist/web/assets/{portal-container-context-a399Hd9F.js → portal-container-context-DSGdlXrJ.js} +0 -0
  445. /package/dist/web/assets/{postcss-jvFe6GNE.js → postcss-DWib10RZ.js} +0 -0
  446. /package/dist/web/assets/{powerquery-D9Dw1hJp.js → powerquery-Dht4CK0b.js} +0 -0
  447. /package/dist/web/assets/{powershell-CZqvYQtg.js → powershell-DvrCg8ji.js} +0 -0
  448. /package/dist/web/assets/{prisma-B4D2nO_7.js → prisma-DbodYvCM.js} +0 -0
  449. /package/dist/web/assets/{prolog-CQbyUcCF.js → prolog-DZ-m6ysB.js} +0 -0
  450. /package/dist/web/assets/{proto-Cwpo0cW1.js → proto-HHpG3tGO.js} +0 -0
  451. /package/dist/web/assets/{puppet-CKxCwBod.js → puppet-BljHe_75.js} +0 -0
  452. /package/dist/web/assets/{purescript-B-MyXMMp.js → purescript-DzCiFR0B.js} +0 -0
  453. /package/dist/web/assets/{python-D6QbSR2S.js → python-B5BQ27cC.js} +0 -0
  454. /package/dist/web/assets/{qmldir-BpTSVcw_.js → qmldir-CYlcXrnn.js} +0 -0
  455. /package/dist/web/assets/{qss-DBc4gbpe.js → qss-Ce7T_TEg.js} +0 -0
  456. /package/dist/web/assets/{r-i9jMMi0s.js → r-Bku-2Jp_.js} +0 -0
  457. /package/dist/web/assets/{racket-BWNaxU7C.js → racket-DtfSL3WR.js} +0 -0
  458. /package/dist/web/assets/{raku-fqTZLn7L.js → raku-CnDLsBJr.js} +0 -0
  459. /package/dist/web/assets/{react-X4jUntEf.js → react-Dfio3PfK.js} +0 -0
  460. /package/dist/web/assets/{red-D-JEcuzA.js → red-vbqcE9b-.js} +0 -0
  461. /package/dist/web/assets/{refresh-cw-B9iv7csb.js → refresh-cw-84mz8aOE.js} +0 -0
  462. /package/dist/web/assets/{reg-BbirlU1S.js → reg-DIDLT8-A.js} +0 -0
  463. /package/dist/web/assets/{regexp-D8VTFrtg.js → regexp-CB4h-VPu.js} +0 -0
  464. /package/dist/web/assets/{rel-ByQGKiNM.js → rel-CiQEnWXa.js} +0 -0
  465. /package/dist/web/assets/{resolve-theme-Cqb9zWYc.js → resolve-theme-DPTQHAy1.js} +0 -0
  466. /package/dist/web/assets/{riscv-B5nqCfLE.js → riscv-R78iq5Rf.js} +0 -0
  467. /package/dist/web/assets/{ron-DOVh_iZR.js → ron-DhYENxc4.js} +0 -0
  468. /package/dist/web/assets/{rose-pine-jp51ZUzi.js → rose-pine-5wBeyjfJ.js} +0 -0
  469. /package/dist/web/assets/{rose-pine-dawn-B7hkmmWy.js → rose-pine-dawn-FpKtPCuH.js} +0 -0
  470. /package/dist/web/assets/{rose-pine-moon-Ff063yLj.js → rose-pine-moon-BwcIYc7C.js} +0 -0
  471. /package/dist/web/assets/{rosmsg-Cyk7Il8z.js → rosmsg-DWIGAYMl.js} +0 -0
  472. /package/dist/web/assets/{rotate-ccw-DnuPzJRE.js → rotate-ccw-CNTk2J7l.js} +0 -0
  473. /package/dist/web/assets/{rust-DRNM5epF.js → rust-DU_ofKgt.js} +0 -0
  474. /package/dist/web/assets/{sass-D_cB0-M1.js → sass-U9SUuYEy.js} +0 -0
  475. /package/dist/web/assets/{save-DxonD4y1.js → save-CtW9ojKk.js} +0 -0
  476. /package/dist/web/assets/{scala-Crl-1kKS.js → scala-op4gjA6j.js} +0 -0
  477. /package/dist/web/assets/{scheme-DCaWyEJ0.js → scheme-tEjkR8rL.js} +0 -0
  478. /package/dist/web/assets/{sdbl-BbXNqwtX.js → sdbl-C6SSRmZg.js} +0 -0
  479. /package/dist/web/assets/{send-B-t5Mz26.js → send-C_sLFt56.js} +0 -0
  480. /package/dist/web/assets/{shallow-4zAfs2KW.js → shallow-C1YoJQA-.js} +0 -0
  481. /package/dist/web/assets/{shellscript-BAgksBhW.js → shellscript-Bf2KiwQj.js} +0 -0
  482. /package/dist/web/assets/{shield-check-CdTiK1j2.js → shield-check-Du6HKYn9.js} +0 -0
  483. /package/dist/web/assets/{shield-off-DuetkXKM.js → shield-off-CWKb1MQL.js} +0 -0
  484. /package/dist/web/assets/{slack-dark-GB-ElUW_.js → slack-dark-oGgCey8r.js} +0 -0
  485. /package/dist/web/assets/{slack-ochin-tU6CFD3S.js → slack-ochin-CemlB8cE.js} +0 -0
  486. /package/dist/web/assets/{smalltalk-DSVGUbtL.js → smalltalk-CTE-6jrZ.js} +0 -0
  487. /package/dist/web/assets/{snazzy-light-DZhi3PoS.js → snazzy-light-DoEIGnmz.js} +0 -0
  488. /package/dist/web/assets/{solarized-dark-D6AMCco7.js → solarized-dark-CStiJyBg.js} +0 -0
  489. /package/dist/web/assets/{solarized-light-DepuTWSE.js → solarized-light-CfuNycS9.js} +0 -0
  490. /package/dist/web/assets/{solidity-CsxN618l.js → solidity-DL6sO5rd.js} +0 -0
  491. /package/dist/web/assets/{splunk-CF1m0Kkv.js → splunk-yK4ZUFBB.js} +0 -0
  492. /package/dist/web/assets/{sql-DvyMDgrB.js → sql-Lw03eoN8.js} +0 -0
  493. /package/dist/web/assets/{ssh-config-a8sDo-Q8.js → ssh-config-DeRp25TR.js} +0 -0
  494. /package/dist/web/assets/{stylus-DCJ-6AjT.js → stylus-D8OMsPh-.js} +0 -0
  495. /package/dist/web/assets/{swift-c-ZFxyPP.js → swift-nsl9stPV.js} +0 -0
  496. /package/dist/web/assets/{synthwave-84-9NPgBcuv.js → synthwave-84-exAgsgpf.js} +0 -0
  497. /package/dist/web/assets/{system-verilog-DPD02IOo.js → system-verilog-DBWf00T6.js} +0 -0
  498. /package/dist/web/assets/{systemd-BUr5HRtU.js → systemd-nhu27Dw5.js} +0 -0
  499. /package/dist/web/assets/{table-FLU8ei8b.js → table-GAR4upb6.js} +0 -0
  500. /package/dist/web/assets/{talonscript-BNBQV5YJ.js → talonscript-CNOEcGDc.js} +0 -0
  501. /package/dist/web/assets/{tasl-BETjpSyu.js → tasl-CjYZenSH.js} +0 -0
  502. /package/dist/web/assets/{tcl-Clp_AZiC.js → tcl-BVA09RDz.js} +0 -0
  503. /package/dist/web/assets/{terraform-B0kZ0lim.js → terraform-C5EloH1q.js} +0 -0
  504. /package/dist/web/assets/{text-wrap-B05VGRa-.js → text-wrap-D71Jqz5U.js} +0 -0
  505. /package/dist/web/assets/{tokyo-night-oOJ0a7Dk.js → tokyo-night-D764DdhO.js} +0 -0
  506. /package/dist/web/assets/{toml-DOPCSumy.js → toml-CCDYblSB.js} +0 -0
  507. /package/dist/web/assets/{trash-2-CTXlTflF.js → trash-2-C08fhIg1.js} +0 -0
  508. /package/dist/web/assets/{triangle-alert-BRq0VAfd.js → triangle-alert-85BQgs3T.js} +0 -0
  509. /package/dist/web/assets/{tsv-D6qUGf84.js → tsv-BZ4sA05e.js} +0 -0
  510. /package/dist/web/assets/{tsx-B6qYhT6O.js → tsx-DPLBzAt5.js} +0 -0
  511. /package/dist/web/assets/{turtle-C0Rjzw73.js → turtle-CwGHCq40.js} +0 -0
  512. /package/dist/web/assets/{typescript-BiydShEu.js → typescript-CUH0vBAl.js} +0 -0
  513. /package/dist/web/assets/{typespec-DjmF6Aww.js → typespec-Bq31Vq4u.js} +0 -0
  514. /package/dist/web/assets/{typst-CPuscfcL.js → typst-MD9BR9W5.js} +0 -0
  515. /package/dist/web/assets/{use-is-mobile-b94q8RvF.js → use-is-mobile-DUuki97q.js} +0 -0
  516. /package/dist/web/assets/{utils-C9OjCrou.js → utils-u2fbYPrY.js} +0 -0
  517. /package/dist/web/assets/{v-DE4vpLLQ.js → v-DZV7IxIT.js} +0 -0
  518. /package/dist/web/assets/{vala-CmUF2pS5.js → vala-urd1zi9S.js} +0 -0
  519. /package/dist/web/assets/{vb-BvcRoX4b.js → vb-DIZU3zbJ.js} +0 -0
  520. /package/dist/web/assets/{vendor-xterm-K8kpLxdb.js → vendor-xterm-DCj0zgSC.js} +0 -0
  521. /package/dist/web/assets/{verilog-BGIzyH3R.js → verilog-Ndz_ciTA.js} +0 -0
  522. /package/dist/web/assets/{vesper-CG7IrHQQ.js → vesper-C86M7LJp.js} +0 -0
  523. /package/dist/web/assets/{vhdl-DMSumomw.js → vhdl-_klwDUjd.js} +0 -0
  524. /package/dist/web/assets/{viml-Drt7AEmU.js → viml-DzRXWoQh.js} +0 -0
  525. /package/dist/web/assets/{vitesse-black-DmsjfN0b.js → vitesse-black-TWZ20_3U.js} +0 -0
  526. /package/dist/web/assets/{vitesse-dark-Dl55_WeJ.js → vitesse-dark-Dl7R6fy9.js} +0 -0
  527. /package/dist/web/assets/{vitesse-light-Crbv9aGg.js → vitesse-light-Cs0Dt2_n.js} +0 -0
  528. /package/dist/web/assets/{vyper-CB7psEJj.js → vyper-qnCVj8ia.js} +0 -0
  529. /package/dist/web/assets/{wasm-Dck8KPgP.js → wasm-Ckx9jBPe.js} +0 -0
  530. /package/dist/web/assets/{wasm-BY1tuM5m.js → wasm-Dy-SJ3W9.js} +0 -0
  531. /package/dist/web/assets/{wenyan-DhewQ68b.js → wenyan-DTEy2Lx-.js} +0 -0
  532. /package/dist/web/assets/{wgsl-DlmiP456.js → wgsl-DC7n63Sy.js} +0 -0
  533. /package/dist/web/assets/{wikitext-cQCnqNgE.js → wikitext-1zFoZiW6.js} +0 -0
  534. /package/dist/web/assets/{wit-S5MaCngB.js → wit-DtTfCRph.js} +0 -0
  535. /package/dist/web/assets/{wolfram-Bh8n_9zr.js → wolfram-B2Bgu1KL.js} +0 -0
  536. /package/dist/web/assets/{x-YDu4m2Iq.js → x-CeN0Qybc.js} +0 -0
  537. /package/dist/web/assets/{yaml-BoK_17l9.js → yaml-B-Jxk0IQ.js} +0 -0
  538. /package/dist/web/assets/{zenscript-DB3ZFwNJ.js → zenscript-BWRfvNER.js} +0 -0
  539. /package/dist/web/assets/{zig-Bv1BWmfT.js → zig-CkwuvETm.js} +0 -0
@@ -0,0 +1 @@
1
+ import{I as e}from"./vendor-mermaid-CtDsSxbM.js";export{e as createRadarServices};
@@ -1 +1 @@
1
- import{t as e}from"./html-C06I-zeO.js";import t from"./csharp-eEFXdsAq.js";var n=Object.freeze(JSON.parse(`{"displayName":"ASP.NET Razor","fileTypes":["razor","cshtml"],"injections":{"source.cs":{"patterns":[{"include":"#inline-template"}]},"string.quoted.double.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]},"string.quoted.single.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]}},"name":"razor","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}],"repository":{"addTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.addTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(addTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"attribute-directive":{"begin":"(@)(attribute)\\\\b\\\\s+","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.attribute"}},"end":"(?<=])|$","name":"meta.directive","patterns":[{"include":"source.cs#attribute-section"}]},"await-prefix":{"match":"(await)\\\\s+","name":"keyword.other.await.cs"},"balanced-brackets-csharp":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"name":"razor.test.balanced.brackets","patterns":[{"include":"source.cs"}]},"balanced-parenthesis-csharp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"name":"razor.test.balanced.parenthesis","patterns":[{"include":"source.cs"}]},"catch-clause":{"begin":"(?:^|(?<=}))\\\\s*(catch)\\\\b\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.try.catch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.catch.razor","patterns":[{"include":"#catch-condition"},{"include":"source.cs#when-clause"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"catch-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cs#type"}]},"6":{"name":"entity.name.variable.local.cs"}},"match":"(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?"}]},"code-directive":{"begin":"(@)(code)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.code"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"csharp-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"csharp-condition":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"source.cs#local-variable-declaration"},{"include":"source.cs#expression"},{"include":"source.cs#punctuation-comma"},{"include":"source.cs#punctuation-semicolon"}]},"directive-codeblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.codeblock","patterns":[{"include":"source.cs#class-or-struct-members"}]},"directive-markupblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.markblock","patterns":[{"include":"$self"}]},"directives":{"patterns":[{"include":"#code-directive"},{"include":"#functions-directive"},{"include":"#page-directive"},{"include":"#addTagHelper-directive"},{"include":"#removeTagHelper-directive"},{"include":"#tagHelperPrefix-directive"},{"include":"#model-directive"},{"include":"#inherits-directive"},{"include":"#implements-directive"},{"include":"#namespace-directive"},{"include":"#inject-directive"},{"include":"#attribute-directive"},{"include":"#section-directive"},{"include":"#layout-directive"},{"include":"#using-directive"},{"include":"#rendermode-directive"},{"include":"#preservewhitespace-directive"},{"include":"#typeparam-directive"}]},"do-statement":{"begin":"(@)(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"do-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"else-part":{"begin":"(?:^|(?<=}))\\\\s*(else)\\\\b\\\\s*?(?: (if))?\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.conditional.else.cs"},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.else.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"escaped-transition":{"match":"@@","name":"constant.character.escape.razor.transition"},"explicit-razor-expression":{"begin":"(@)\\\\(","beginCaptures":{"0":{"name":"keyword.control.cshtml"},"1":{"patterns":[{"include":"#transition"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.cshtml"}},"name":"meta.expression.explicit.cshtml","patterns":[{"include":"source.cs#expression"}]},"finally-clause":{"begin":"(?:^|(?<=}))\\\\s*(finally)\\\\b\\\\s*?(?=[\\\\n{])","beginCaptures":{"1":{"name":"keyword.control.try.finally.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.finally.razor","patterns":[{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement":{"begin":"(@)(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#type"}]},"7":{"name":"entity.name.variable.local.cs"},"8":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b|(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?<tuple>\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"source.cs#expression"}]},"foreach-statement":{"begin":"(@)(await\\\\s+)?(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@)(await\\\\s+)?)(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"functions-directive":{"begin":"(@)(functions)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.functions"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"if-statement":{"begin":"(@)(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"if-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"implements-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.implements"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(implements)\\\\s+([^$]+)?","name":"meta.directive"},"implicit-expression":{"begin":"(?<![[:alpha:][:alnum:]])(@)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]}},"contentName":"source.cs","end":"(?=[]\\"')<>{}\\\\s])","name":"meta.expression.implicit.cshtml","patterns":[{"include":"#await-prefix"},{"include":"#implicit-expression-body"}]},"implicit-expression-accessor":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*","name":"variable.other.object.property.cs"},"implicit-expression-accessor-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"variable.other.object.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-body":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-invocation-start"},{"include":"#implicit-expression-accessor-start"}]},"implicit-expression-continuation":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#balanced-parenthesis-csharp"},{"include":"#balanced-brackets-csharp"},{"include":"#implicit-expression-invocation"},{"include":"#implicit-expression-accessor"},{"include":"#implicit-expression-extension"}]},"implicit-expression-dot-operator":{"captures":{"1":{"name":"punctuation.accessor.cs"}},"match":"(\\\\.)(?=[_[:alpha:]][_[:alnum:]]*)"},"implicit-expression-invocation":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*(?=\\\\()","name":"entity.name.function.cs"},"implicit-expression-invocation-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-null-conditional-operator":{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"}},"match":"(\\\\?)(?=[.\\\\[])"},"implicit-expression-null-forgiveness-operator":{"captures":{"1":{"name":"keyword.operator.logical.cs"}},"match":"(!)(?=\\\\.[_[:alpha:]][_[:alnum:]]*|[(?\\\\[])"},"implicit-expression-operator":{"patterns":[{"include":"#implicit-expression-dot-operator"},{"include":"#implicit-expression-null-conditional-operator"},{"include":"#implicit-expression-null-forgiveness-operator"}]},"inherits-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inherits"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(inherits)\\\\s+([^$]+)?","name":"meta.directive"},"inject-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inject"},"3":{"patterns":[{"include":"source.cs#type"}]},"4":{"name":"entity.name.variable.property.cs"}},"match":"(@)(inject)\\\\s*([\\\\S\\\\s]+?)?\\\\s*([_[:alpha:]][_[:alnum:]]*)?\\\\s*(?=$)","name":"meta.directive"},"inline-template":{"patterns":[{"include":"#inline-template-void-tag"},{"include":"#inline-template-non-void-tag"}]},"inline-template-non-void-tag":{"begin":"(@)(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"(</)(\\\\4)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(?<=>)(?!$)","end":"(?=</)","patterns":[{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-control-structures"}]},{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"inline-template-void-tag":{"begin":"(?i)(@)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$4.void.html","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"layout-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.layout"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(layout)\\\\s+([^$]+)?","name":"meta.directive"},"lock-statement":{"begin":"(@)(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"lock-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"model-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.model"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(model)\\\\s+([^$]+)?","name":"meta.directive"},"namespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.namespace"},"3":{"patterns":[{"include":"#namespace-directive-argument"}]}},"match":"(@)(namespace)\\\\s+(\\\\S+)?","name":"meta.directive"},"namespace-directive-argument":{"captures":{"1":{"name":"entity.name.type.namespace.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)(\\\\.)?"},"non-void-tag":{"begin":"(?=<(!)?([^/>\\\\s]+)(\\\\s|/?>))","end":"(</)(\\\\2)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"(?=/?>)","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"end":"(?=</)","patterns":[{"include":"#wellformed-html"},{"include":"$self"}]}]},"optionally-transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement-with-optional-transition"},{"include":"#if-statement-with-optional-transition"},{"include":"#else-part"},{"include":"#foreach-statement-with-optional-transition"},{"include":"#for-statement-with-optional-transition"},{"include":"#while-statement"},{"include":"#switch-statement-with-optional-transition"},{"include":"#lock-statement-with-optional-transition"},{"include":"#do-statement-with-optional-transition"},{"include":"#try-statement-with-optional-transition"}]},"optionally-transitioned-razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#optionally-transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"page-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.page"},"3":{"patterns":[{"include":"source.cs#string-literal"}]}},"match":"(@)(page)\\\\s+([^$]+)?","name":"meta.directive"},"preservewhitespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.preservewhitespace"},"3":{"patterns":[{"include":"source.cs#boolean-literal"}]}},"match":"(@)(preservewhitespace)\\\\s+([^$]+)?","name":"meta.directive"},"razor-codeblock":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"razor-codeblock-body":{"patterns":[{"include":"#text-tag"},{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-single-line-markup"},{"include":"#optionally-transitioned-razor-control-structures"},{"include":"source.cs"}]},"razor-comment":{"begin":"(@)(\\\\*)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.comment.star"}},"contentName":"comment.block.razor","end":"(\\\\*)(@)","endCaptures":{"1":{"name":"keyword.control.razor.comment.star"},"2":{"patterns":[{"include":"#transition"}]}},"name":"meta.comment.razor"},"razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"razor-single-line-markup":{"captures":{"1":{"name":"keyword.control.razor.singleLineMarkup"},"2":{"patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}]}},"match":"(@:)([^$]*)$"},"removeTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.removeTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(removeTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"rendermode-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.rendermode"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(rendermode)\\\\s+([^$]+)?","name":"meta.directive"},"section-directive":{"begin":"(@)(section)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)?","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.section"},"3":{"name":"variable.other.razor.directive.sectionName"}},"end":"(?<=})","name":"meta.directive.block","patterns":[{"include":"#directive-markupblock"}]},"switch-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock.switch","patterns":[{"include":"source.cs#switch-label"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement":{"begin":"(@)(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"tagHelper-directive-argument":{"patterns":[{"include":"source.cs#string-literal"},{"include":"#unquoted-string-argument"}]},"tagHelperPrefix-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.tagHelperPrefix"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(tagHelperPrefix)\\\\s+([^$]+)?","name":"meta.directive"},"text-tag":{"begin":"(<text\\\\s*>)","beginCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.open"}},"end":"(</text>)","endCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.close"}},"patterns":[{"include":"#wellformed-html"},{"include":"$self"}]},"transition":{"match":"@","name":"keyword.control.cshtml.transition"},"transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#foreach-statement"},{"include":"#for-statement"},{"include":"#while-statement"},{"include":"#switch-statement"},{"include":"#lock-statement"},{"include":"#do-statement"},{"include":"#try-statement"}]},"try-block":{"begin":"(@)(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-block-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"try-statement-with-optional-transition":{"patterns":[{"include":"#try-block-with-optional-transition"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"typeparam-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.typeparam"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(typeparam)\\\\s+([^$]+)?","name":"meta.directive"},"unquoted-string-argument":{"match":"[^$]+","name":"string.quoted.double.cs"},"using-alias-directive":{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"keyword.operator.assignment.cs"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*(.+)\\\\s*"},"using-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"},"3":{"patterns":[{"include":"#using-static-directive"},{"include":"#using-alias-directive"},{"include":"#using-standard-directive"}]},"4":{"name":"keyword.control.razor.optionalSemicolon"}},"match":"(@)(using)\\\\b\\\\s+(?![(\\\\s])(.+?)?(;)?$","name":"meta.directive"},"using-standard-directive":{"captures":{"1":{"name":"entity.name.type.namespace.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\s*"},"using-statement":{"begin":"(@)(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-static-directive":{"captures":{"1":{"name":"keyword.other.static.cs"},"2":{"patterns":[{"include":"source.cs#type"}]}},"match":"(static)\\\\b\\\\s+(.+)"},"void-tag":{"begin":"(?i)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$3.void.html","patterns":[{"include":"text.html.basic#attribute"}]},"wellformed-html":{"patterns":[{"include":"#void-tag"},{"include":"#non-void-tag"}]},"while-statement":{"begin":"(?:(@)|^\\\\s*|(?<=})\\\\s*)(while)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.while.cs"}},"end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cs"}},"name":"meta.statement.while.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]}},"scopeName":"text.aspnetcorerazor","embeddedLangs":["html","csharp"]}`)),r=[...e,...t,n];export{r as default};
1
+ import{t as e}from"./html-lqtcy6-2.js";import t from"./csharp-P-nAurtS.js";var n=Object.freeze(JSON.parse(`{"displayName":"ASP.NET Razor","fileTypes":["razor","cshtml"],"injections":{"source.cs":{"patterns":[{"include":"#inline-template"}]},"string.quoted.double.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]},"string.quoted.single.html":{"patterns":[{"include":"#explicit-razor-expression"},{"include":"#implicit-expression"}]}},"name":"razor","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}],"repository":{"addTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.addTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(addTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"attribute-directive":{"begin":"(@)(attribute)\\\\b\\\\s+","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.attribute"}},"end":"(?<=])|$","name":"meta.directive","patterns":[{"include":"source.cs#attribute-section"}]},"await-prefix":{"match":"(await)\\\\s+","name":"keyword.other.await.cs"},"balanced-brackets-csharp":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.squarebracket.open.cs"}},"end":"(])","endCaptures":{"1":{"name":"punctuation.squarebracket.close.cs"}},"name":"razor.test.balanced.brackets","patterns":[{"include":"source.cs"}]},"balanced-parenthesis-csharp":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"name":"razor.test.balanced.parenthesis","patterns":[{"include":"source.cs"}]},"catch-clause":{"begin":"(?:^|(?<=}))\\\\s*(catch)\\\\b\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.try.catch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.catch.razor","patterns":[{"include":"#catch-condition"},{"include":"source.cs#when-clause"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"catch-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"patterns":[{"include":"source.cs#type"}]},"6":{"name":"entity.name.variable.local.cs"}},"match":"(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*)\\\\s*(?:(\\\\g<identifier>)\\\\b)?"}]},"code-directive":{"begin":"(@)(code)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.code"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"csharp-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"csharp-condition":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.parenthesis.open.cs"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"include":"source.cs#local-variable-declaration"},{"include":"source.cs#expression"},{"include":"source.cs#punctuation-comma"},{"include":"source.cs#punctuation-semicolon"}]},"directive-codeblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.codeblock","patterns":[{"include":"source.cs#class-or-struct-members"}]},"directive-markupblock":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.open"}},"end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.directive.markblock","patterns":[{"include":"$self"}]},"directives":{"patterns":[{"include":"#code-directive"},{"include":"#functions-directive"},{"include":"#page-directive"},{"include":"#addTagHelper-directive"},{"include":"#removeTagHelper-directive"},{"include":"#tagHelperPrefix-directive"},{"include":"#model-directive"},{"include":"#inherits-directive"},{"include":"#implements-directive"},{"include":"#namespace-directive"},{"include":"#inject-directive"},{"include":"#attribute-directive"},{"include":"#section-directive"},{"include":"#layout-directive"},{"include":"#using-directive"},{"include":"#rendermode-directive"},{"include":"#preservewhitespace-directive"},{"include":"#typeparam-directive"}]},"do-statement":{"begin":"(@)(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"do-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(do)\\\\b\\\\s","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.do.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.do.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"else-part":{"begin":"(?:^|(?<=}))\\\\s*(else)\\\\b\\\\s*?(?: (if))?\\\\s*?(?=[\\\\n({])","beginCaptures":{"1":{"name":"keyword.control.conditional.else.cs"},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.else.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"escaped-transition":{"match":"@@","name":"constant.character.escape.razor.transition"},"explicit-razor-expression":{"begin":"(@)\\\\(","beginCaptures":{"0":{"name":"keyword.control.cshtml"},"1":{"patterns":[{"include":"#transition"}]}},"end":"\\\\)","endCaptures":{"0":{"name":"keyword.control.cshtml"}},"name":"meta.expression.explicit.cshtml","patterns":[{"include":"source.cs#expression"}]},"finally-clause":{"begin":"(?:^|(?<=}))\\\\s*(finally)\\\\b\\\\s*?(?=[\\\\n{])","beginCaptures":{"1":{"name":"keyword.control.try.finally.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.finally.razor","patterns":[{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement":{"begin":"(@)(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"for-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(for)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.for.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.for.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-condition":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.open.cs"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.close.cs"}},"patterns":[{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#type"}]},"7":{"name":"entity.name.variable.local.cs"},"8":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b|(?<type-name>(?:(?:(?<identifier>@?[_[:alpha:]][_[:alnum:]]*)\\\\s*::\\\\s*)?(?<name-and-type-args>\\\\g<identifier>\\\\s*(?<type-args>\\\\s*<(?:[^<>]|\\\\g<type-args>)+>\\\\s*)?)(?:\\\\s*\\\\.\\\\s*\\\\g<name-and-type-args>)*|(?<tuple>\\\\s*\\\\((?:[^()]|\\\\g<tuple>)+\\\\)))(?:\\\\s*\\\\?\\\\s*)?(?:\\\\s*\\\\[(?:\\\\s*,\\\\s*)*]\\\\s*)*))\\\\s+(\\\\g<identifier>)\\\\s+\\\\b(in)\\\\b"},{"captures":{"1":{"name":"keyword.other.var.cs"},"2":{"patterns":[{"include":"source.cs#tuple-declaration-deconstruction-element-list"}]},"3":{"name":"keyword.control.loop.in.cs"}},"match":"(?:\\\\b(var)\\\\b\\\\s*)?(?<tuple>\\\\((?:[^()]|\\\\g<tuple>)+\\\\))\\\\s+\\\\b(in)\\\\b"},{"include":"source.cs#expression"}]},"foreach-statement":{"begin":"(@)(await\\\\s+)?(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"foreach-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@)(await\\\\s+)?)(foreach)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"patterns":[{"include":"#await-prefix"}]},"3":{"name":"keyword.control.loop.foreach.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.foreach.razor","patterns":[{"include":"#foreach-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"functions-directive":{"begin":"(@)(functions)((?=\\\\{)|\\\\s+)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.functions"}},"end":"(?<=})|\\\\s","patterns":[{"include":"#directive-codeblock"}]},"if-statement":{"begin":"(@)(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"if-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(if)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.conditional.if.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.if.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"implements-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.implements"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(implements)\\\\s+([^$]+)?","name":"meta.directive"},"implicit-expression":{"begin":"(?<![[:alpha:][:alnum:]])(@)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]}},"contentName":"source.cs","end":"(?=[]\\"')<>{}\\\\s])","name":"meta.expression.implicit.cshtml","patterns":[{"include":"#await-prefix"},{"include":"#implicit-expression-body"}]},"implicit-expression-accessor":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*","name":"variable.other.object.property.cs"},"implicit-expression-accessor-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)","beginCaptures":{"1":{"name":"variable.other.object.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-body":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-invocation-start"},{"include":"#implicit-expression-accessor-start"}]},"implicit-expression-continuation":{"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#balanced-parenthesis-csharp"},{"include":"#balanced-brackets-csharp"},{"include":"#implicit-expression-invocation"},{"include":"#implicit-expression-accessor"},{"include":"#implicit-expression-extension"}]},"implicit-expression-dot-operator":{"captures":{"1":{"name":"punctuation.accessor.cs"}},"match":"(\\\\.)(?=[_[:alpha:]][_[:alnum:]]*)"},"implicit-expression-invocation":{"match":"(?<=\\\\.)[_[:alpha:]][_[:alnum:]]*(?=\\\\()","name":"entity.name.function.cs"},"implicit-expression-invocation-start":{"begin":"([_[:alpha:]][_[:alnum:]]*)(?=\\\\()","beginCaptures":{"1":{"name":"entity.name.function.cs"}},"end":"(?=[]\\"')<>{}\\\\s])","patterns":[{"include":"#implicit-expression-continuation"}]},"implicit-expression-null-conditional-operator":{"captures":{"1":{"name":"keyword.operator.null-conditional.cs"}},"match":"(\\\\?)(?=[.\\\\[])"},"implicit-expression-null-forgiveness-operator":{"captures":{"1":{"name":"keyword.operator.logical.cs"}},"match":"(!)(?=\\\\.[_[:alpha:]][_[:alnum:]]*|[(?\\\\[])"},"implicit-expression-operator":{"patterns":[{"include":"#implicit-expression-dot-operator"},{"include":"#implicit-expression-null-conditional-operator"},{"include":"#implicit-expression-null-forgiveness-operator"}]},"inherits-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inherits"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(inherits)\\\\s+([^$]+)?","name":"meta.directive"},"inject-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.inject"},"3":{"patterns":[{"include":"source.cs#type"}]},"4":{"name":"entity.name.variable.property.cs"}},"match":"(@)(inject)\\\\s*([\\\\S\\\\s]+?)?\\\\s*([_[:alpha:]][_[:alnum:]]*)?\\\\s*(?=$)","name":"meta.directive"},"inline-template":{"patterns":[{"include":"#inline-template-void-tag"},{"include":"#inline-template-non-void-tag"}]},"inline-template-non-void-tag":{"begin":"(@)(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"(</)(\\\\4)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(?<=>)(?!$)","end":"(?=</)","patterns":[{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-control-structures"}]},{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"inline-template-void-tag":{"begin":"(?i)(@)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"punctuation.definition.tag.begin.html"},"3":{"name":"constant.character.escape.razor.tagHelperOptOut"},"4":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$4.void.html","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},"layout-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.layout"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(layout)\\\\s+([^$]+)?","name":"meta.directive"},"lock-statement":{"begin":"(@)(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"lock-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(lock)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.lock.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.lock.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"model-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.model"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(model)\\\\s+([^$]+)?","name":"meta.directive"},"namespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.namespace"},"3":{"patterns":[{"include":"#namespace-directive-argument"}]}},"match":"(@)(namespace)\\\\s+(\\\\S+)?","name":"meta.directive"},"namespace-directive-argument":{"captures":{"1":{"name":"entity.name.type.namespace.cs"},"2":{"name":"punctuation.accessor.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)(\\\\.)?"},"non-void-tag":{"begin":"(?=<(!)?([^/>\\\\s]+)(\\\\s|/?>))","end":"(</)(\\\\2)\\\\s*(>)|(/>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"entity.name.tag.html"},"3":{"name":"punctuation.definition.tag.end.html"},"4":{"name":"punctuation.definition.tag.end.html"}},"patterns":[{"begin":"(<)(!)?([^/>\\\\s]+)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"(?=/?>)","patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic#attribute"}]},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"end":"(?=</)","patterns":[{"include":"#wellformed-html"},{"include":"$self"}]}]},"optionally-transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement-with-optional-transition"},{"include":"#if-statement-with-optional-transition"},{"include":"#else-part"},{"include":"#foreach-statement-with-optional-transition"},{"include":"#for-statement-with-optional-transition"},{"include":"#while-statement"},{"include":"#switch-statement-with-optional-transition"},{"include":"#lock-statement-with-optional-transition"},{"include":"#do-statement-with-optional-transition"},{"include":"#try-statement-with-optional-transition"}]},"optionally-transitioned-razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#optionally-transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"page-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.page"},"3":{"patterns":[{"include":"source.cs#string-literal"}]}},"match":"(@)(page)\\\\s+([^$]+)?","name":"meta.directive"},"preservewhitespace-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.preservewhitespace"},"3":{"patterns":[{"include":"source.cs#boolean-literal"}]}},"match":"(@)(preservewhitespace)\\\\s+([^$]+)?","name":"meta.directive"},"razor-codeblock":{"begin":"(@)(\\\\{)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.codeblock.open"}},"contentName":"source.cs","end":"(})","endCaptures":{"1":{"name":"keyword.control.razor.directive.codeblock.close"}},"name":"meta.structure.razor.codeblock","patterns":[{"include":"#razor-codeblock-body"}]},"razor-codeblock-body":{"patterns":[{"include":"#text-tag"},{"include":"#inline-template"},{"include":"#wellformed-html"},{"include":"#razor-single-line-markup"},{"include":"#optionally-transitioned-razor-control-structures"},{"include":"source.cs"}]},"razor-comment":{"begin":"(@)(\\\\*)","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.comment.star"}},"contentName":"comment.block.razor","end":"(\\\\*)(@)","endCaptures":{"1":{"name":"keyword.control.razor.comment.star"},"2":{"patterns":[{"include":"#transition"}]}},"name":"meta.comment.razor"},"razor-control-structures":{"patterns":[{"include":"#razor-comment"},{"include":"#razor-codeblock"},{"include":"#explicit-razor-expression"},{"include":"#escaped-transition"},{"include":"#directives"},{"include":"#transitioned-csharp-control-structures"},{"include":"#implicit-expression"}]},"razor-single-line-markup":{"captures":{"1":{"name":"keyword.control.razor.singleLineMarkup"},"2":{"patterns":[{"include":"#razor-control-structures"},{"include":"text.html.basic"}]}},"match":"(@:)([^$]*)$"},"removeTagHelper-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.removeTagHelper"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(removeTagHelper)\\\\s+([^$]+)?","name":"meta.directive"},"rendermode-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.rendermode"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(rendermode)\\\\s+([^$]+)?","name":"meta.directive"},"section-directive":{"begin":"(@)(section)\\\\b\\\\s+([_[:alpha:]][_[:alnum:]]*)?","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.section"},"3":{"name":"variable.other.razor.directive.sectionName"}},"end":"(?<=})","name":"meta.directive.block","patterns":[{"include":"#directive-markupblock"}]},"switch-code-block":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"punctuation.curlybrace.open.cs"}},"end":"(})","endCaptures":{"1":{"name":"punctuation.curlybrace.close.cs"}},"name":"meta.structure.razor.csharp.codeblock.switch","patterns":[{"include":"source.cs#switch-label"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement":{"begin":"(@)(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"switch-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(switch)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.switch.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.switch.razor","patterns":[{"include":"#csharp-condition"},{"include":"#switch-code-block"},{"include":"#razor-codeblock-body"}]},"tagHelper-directive-argument":{"patterns":[{"include":"source.cs#string-literal"},{"include":"#unquoted-string-argument"}]},"tagHelperPrefix-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.tagHelperPrefix"},"3":{"patterns":[{"include":"#tagHelper-directive-argument"}]}},"match":"(@)(tagHelperPrefix)\\\\s+([^$]+)?","name":"meta.directive"},"text-tag":{"begin":"(<text\\\\s*>)","beginCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.open"}},"end":"(</text>)","endCaptures":{"1":{"name":"keyword.control.cshtml.transition.textTag.close"}},"patterns":[{"include":"#wellformed-html"},{"include":"$self"}]},"transition":{"match":"@","name":"keyword.control.cshtml.transition"},"transitioned-csharp-control-structures":{"patterns":[{"include":"#using-statement"},{"include":"#if-statement"},{"include":"#else-part"},{"include":"#foreach-statement"},{"include":"#for-statement"},{"include":"#while-statement"},{"include":"#switch-statement"},{"include":"#lock-statement"},{"include":"#do-statement"},{"include":"#try-statement"}]},"try-block":{"begin":"(@)(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-block-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(try)\\\\b\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.try.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.try.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"try-statement":{"patterns":[{"include":"#try-block"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"try-statement-with-optional-transition":{"patterns":[{"include":"#try-block-with-optional-transition"},{"include":"#catch-clause"},{"include":"#finally-clause"}]},"typeparam-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.razor.directive.typeparam"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"(@)(typeparam)\\\\s+([^$]+)?","name":"meta.directive"},"unquoted-string-argument":{"match":"[^$]+","name":"string.quoted.double.cs"},"using-alias-directive":{"captures":{"1":{"name":"entity.name.type.alias.cs"},"2":{"name":"keyword.operator.assignment.cs"},"3":{"patterns":[{"include":"source.cs#type"}]}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\b\\\\s*(=)\\\\s*(.+)\\\\s*"},"using-directive":{"captures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"},"3":{"patterns":[{"include":"#using-static-directive"},{"include":"#using-alias-directive"},{"include":"#using-standard-directive"}]},"4":{"name":"keyword.control.razor.optionalSemicolon"}},"match":"(@)(using)\\\\b\\\\s+(?![(\\\\s])(.+?)?(;)?$","name":"meta.directive"},"using-standard-directive":{"captures":{"1":{"name":"entity.name.type.namespace.cs"}},"match":"([_[:alpha:]][_[:alnum:]]*)\\\\s*"},"using-statement":{"begin":"(@)(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-statement-with-optional-transition":{"begin":"(?:^\\\\s*|(@))(using)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.other.using.cs"}},"end":"(?<=})|(?<=;)|(?=^\\\\s*})","name":"meta.statement.using.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]},"using-static-directive":{"captures":{"1":{"name":"keyword.other.static.cs"},"2":{"patterns":[{"include":"source.cs#type"}]}},"match":"(static)\\\\b\\\\s+(.+)"},"void-tag":{"begin":"(?i)(<)(!)?(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)(?=\\\\s|/?>)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.html"},"2":{"name":"constant.character.escape.razor.tagHelperOptOut"},"3":{"name":"entity.name.tag.html"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.html"}},"name":"meta.tag.structure.$3.void.html","patterns":[{"include":"text.html.basic#attribute"}]},"wellformed-html":{"patterns":[{"include":"#void-tag"},{"include":"#non-void-tag"}]},"while-statement":{"begin":"(?:(@)|^\\\\s*|(?<=})\\\\s*)(while)\\\\b\\\\s*(?=\\\\()","beginCaptures":{"1":{"patterns":[{"include":"#transition"}]},"2":{"name":"keyword.control.loop.while.cs"}},"end":"(?<=})|(;)","endCaptures":{"1":{"name":"punctuation.terminator.statement.cs"}},"name":"meta.statement.while.razor","patterns":[{"include":"#csharp-condition"},{"include":"#csharp-code-block"},{"include":"#razor-codeblock-body"}]}},"scopeName":"text.aspnetcorerazor","embeddedLangs":["html","csharp"]}`)),r=[...e,...t,n];export{r as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/remote-desktop-mobile-view-Cf5B0dKo.js","assets/rolldown-runtime-FhOqtrmT.js","assets/index-H_gScEOk.js","assets/vendor-mermaid-CtDsSxbM.js","assets/vendor-ui-CaeeFO0B.js","assets/vendor-markdown-Ls5AcU91.js","assets/button-DBSpDPS0.js","assets/utils-u2fbYPrY.js","assets/settings-tab-FH581A_i.js","assets/createLucideIcon-D8pyde1A.js","assets/eye-off-CUdzgmX8.js","assets/bot-D6sx11y0.js","assets/pencil-BlIIg6RH.js","assets/ai-settings-section-ERu1WiZc.js","assets/context-menu-BpwUny-o.js","assets/chevron-right-De-Wz5Lz.js","assets/circle-BCy0AUCo.js","assets/portal-container-context-DSGdlXrJ.js","assets/chevron-down-Dp0rpHb8.js","assets/upload-BNlX8D07.js","assets/download-DG3_9xXy.js","assets/external-link-B6Hl0U4X.js","assets/loader-circle-DouKgIXy.js","assets/refresh-cw-84mz8aOE.js","assets/trash-2-C08fhIg1.js","assets/api-client-BkGKTjsq.js","assets/input-DXPgUtxi.js","assets/switch-DqL_ZjB_.js","assets/api-settings-R59c66DE.js","assets/clock-C1CQUQPZ.js","assets/copy-BewHj66E.js","assets/plus-BR0qewJI.js","assets/folder-symlink-Dx1hOk8X.js","assets/send-C_sLFt56.js","assets/keyboard-DBBaoQSu.js","assets/lock-CNxUGpTk.js","assets/monitor-C835ucWH.js","assets/play-CJlWpVMw.js","assets/rotate-ccw-CNTk2J7l.js","assets/text-wrap-D71Jqz5U.js","assets/triangle-alert-85BQgs3T.js","assets/x-CeN0Qybc.js","assets/shallow-C1YoJQA-.js","assets/file-store-m9crh6uq.js","assets/react-Dfio3PfK.js","assets/adaptive-context-menu-ChBZWLLq.js","assets/mobile-bottom-sheet-Cj1YBq-c.js","assets/use-visual-viewport-pVxLfE5B.js","assets/use-is-mobile-DUuki97q.js","assets/dialog-RIpeb87v.js","assets/scroll-area-DXGXeiRz.js","assets/clipboard-CrHX8AYw.js","assets/project-store-CKAOr23O.js","assets/extension-store-B1EClUAr.js","assets/keybindings-store-D-CHdq-G.js","assets/settings-store-BpcY5aYE.js","assets/resolve-theme-DPTQHAy1.js","assets/sparkles-Dh-_J2Rd.js","assets/database-Y3ESDK4-.js","assets/use-coarse-long-press-BmI_GVW5.js","assets/window-store-B5ZswdYg.js","assets/window-pip-registry-C7oz3Dfy.js","assets/panel-store-UWCH6B-_.js","assets/tab-store-D2thn4Vv.js","assets/apply-theme-Dd_cqGa-.js","assets/index-CtJbMNNI.css","assets/remote-desktop-stats-overlay-vhJBIW7s.js","assets/hand-x0ejq3fS.js"])))=>i.map(i=>d[i]);
2
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import{ft as r}from"./vendor-ui-CaeeFO0B.js";import{q as i}from"./vendor-mermaid-CtDsSxbM.js";import{n as a}from"./portal-container-context-DSGdlXrJ.js";import{_ as o}from"./index-H_gScEOk.js";var s=e(t(),1),c=e(r(),1),l=n(),u=(0,s.lazy)(()=>i(()=>import(`./remote-desktop-mobile-view-Cf5B0dKo.js`),__vite__mapDeps([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])));function d(){let e=o(e=>e.isOpen),t=o(e=>e.close),n=a();return e?(0,c.createPortal)((0,l.jsx)(`div`,{className:`fixed inset-0 z-[45] bg-black`,"data-testid":`remote-desktop-mobile-sheet`,children:(0,l.jsx)(s.Suspense,{fallback:(0,l.jsx)(`div`,{className:`flex h-full items-center justify-center text-sm text-text-2`,children:`Loading…`}),children:(0,l.jsx)(u,{onClose:t})})}),n??document.getElementById(`root`)??document.body):null}export{d as RemoteDesktopMobileSheet};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{a as i,i as a,o,r as s,s as c,t as l}from"./remote-desktop-stats-overlay-vhJBIW7s.js";import{t as u}from"./hand-x0ejq3fS.js";import{t as d}from"./keyboard-DBBaoQSu.js";import{t as f}from"./x-CeN0Qybc.js";import"./api-client-BkGKTjsq.js";import"./vendor-mermaid-CtDsSxbM.js";import{t as p}from"./settings-store-BpcY5aYE.js";import{n as m}from"./utils-u2fbYPrY.js";import{t as h}from"./use-visual-viewport-pVxLfE5B.js";import{Bt as g,en as _}from"./index-H_gScEOk.js";var v=r(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),y=e(t(),1);function b(e,t,n=10,r=300){let i=Math.hypot(t.x-e.x,t.y-e.y),a=t.t-e.t;return i<=n&&a<=r}function x(e,t,n=15){return Math.abs(t-e)>n?`pinch`:`scroll`}function S(e,t){return Math.hypot(t.x-e.x,t.y-e.y)}function C(e,t){return{x:(e.x+t.x)/2,y:(e.y+t.y)/2}}function w(e,t,n){return Math.min(Math.max(e,t),n)}function T(e,t,n){return[{type:`pointer`,xFrac:e,yFrac:t,button:n,down:!0},{type:`pointer`,xFrac:e,yFrac:t,button:n,down:!1}]}function E(e,t,n){return{start:{x:e,y:t,t:performance.now()},last:{x:e,y:t},moved:!1,rect:n}}function D(e,t,n,r,i,a){let o=Math.hypot(t-e.start.x,n-e.start.y);if(r===`touch`){if(!e.moved&&o>10){e.moved=!0;let r=s(e.start.x,e.start.y,e.rect,i);return e.last={x:t,y:n},{message:{type:`pointer`,xFrac:r.xFrac,yFrac:r.yFrac,button:`left`,down:!0}}}if(e.last={x:t,y:n},!e.moved)return{};let r=s(t,n,e.rect,i);return{message:{type:`pointer`,xFrac:r.xFrac,yFrac:r.yFrac,button:null,down:null}}}let c=(t-e.last.x)/i.scale,l=(n-e.last.y)/i.scale;return o>10&&(e.moved=!0),e.last={x:t,y:n},{cursor:{xFrac:w(a.xFrac+c/e.rect.width,0,1),yFrac:w(a.yFrac+l/e.rect.height,0,1)},sendCursorMove:!0}}function O(e,t,n,r,i,a){let o={x:t,y:n,t:performance.now()},c=b(e.start,o,10,300);if(r===`touch`){let r=s(t,n,e.rect,i);return!e.moved&&c?T(r.xFrac,r.yFrac,`left`):e.moved?[{type:`pointer`,xFrac:r.xFrac,yFrac:r.yFrac,button:`left`,down:!1}]:[]}return!e.moved&&c?T(a.xFrac,a.yFrac,`left`):[]}function k(e,t,n){let r=C(e,t);return{startDistance:S(e,t),startMid:r,lastMid:r,startScale:n,startTime:performance.now(),gesture:null}}function A(e,t,n,r){let i=S(t,n),a=C(t,n);if(e.gesture===null){let t=Math.abs(i-e.startDistance),n=S(e.startMid,a);if(t>15)e.gesture=x(e.startDistance,i,15);else if(n>15)e.gesture=`scroll`;else return e.lastMid=a,{}}let o;if(e.gesture===`pinch`)o={transform:{scale:w(e.startScale*(i/e.startDistance),1,4),panX:r.panX,panY:r.panY}};else if(r.scale>1.01){let t=a.x-e.lastMid.x,n=a.y-e.lastMid.y;o={transform:{scale:r.scale,panX:r.panX+t,panY:r.panY+n}}}else o={wheelDeltaPx:a.y-e.lastMid.y};return e.lastMid=a,o}function j(e,t,n){if(e.gesture===null&&performance.now()-e.startTime<=300){let r=s(e.lastMid.x,e.lastMid.y,t,n);return T(r.xFrac,r.yFrac,`right`)}return[]}var M={scale:1,panX:0,panY:0},N=40,P=120;function F({containerRef:e,canvasRef:t,mode:n,sendMessage:r,enabled:i}){let[o,s]=(0,y.useState)(M),[c,l]=(0,y.useState)({xFrac:.5,yFrac:.5}),u=(0,y.useRef)(o),d=(0,y.useRef)(c),f=(0,y.useRef)(n);f.current=n;let p=(0,y.useRef)({transform:null,cursor:null,sendCursorMove:!1,wheelPx:0}),m=(0,y.useRef)(0),h=(0,y.useCallback)(()=>{m.current=0;let e=p.current;e.transform&&=(u.current=e.transform,s(e.transform),null),e.cursor&&(d.current=e.cursor,l(e.cursor),e.sendCursorMove&&r({type:`pointer`,xFrac:e.cursor.xFrac,yFrac:e.cursor.yFrac,button:null,down:null}),e.cursor=null,e.sendCursorMove=!1),e.wheelPx!==0&&(r({type:`wheel`,dy:-(e.wheelPx/N)*P}),e.wheelPx=0)},[r]),g=(0,y.useCallback)(()=>{m.current||=requestAnimationFrame(h)},[h]),_=(0,y.useCallback)(()=>{u.current=M,s(M)},[]);return(0,y.useEffect)(()=>{let n=e.current;if(!n||!i)return;let o=null,s=null,c=e=>e.forEach(r),l=()=>{let e=n.getBoundingClientRect(),r=t.current;return!r||!r.width||!r.height?e:a(e,r.width,r.height)},h=e=>{e.preventDefault(),e.stopPropagation();let t=l();if(e.touches.length===1){s=null;let n=e.touches[0];o=E(n.clientX,n.clientY,t)}else if(e.touches.length===2){o=null;let[t,n]=[e.touches[0],e.touches[1]];s=k({x:t.clientX,y:t.clientY},{x:n.clientX,y:n.clientY},u.current.scale)}else o=null,s=null},_=e=>{if(e.preventDefault(),e.stopPropagation(),o&&e.touches.length===1){let t=e.touches[0],n=D(o,t.clientX,t.clientY,f.current,u.current,d.current);n.message&&r(n.message),n.cursor&&(d.current=n.cursor,p.current.cursor=n.cursor,p.current.sendCursorMove=!!n.sendCursorMove,g());return}if(s&&e.touches.length===2){let[t,n]=[e.touches[0],e.touches[1]],r=A(s,{x:t.clientX,y:t.clientY},{x:n.clientX,y:n.clientY},u.current);r.transform&&(u.current=r.transform,p.current.transform=r.transform,g()),r.wheelDeltaPx&&(p.current.wheelPx+=r.wheelDeltaPx,g())}},v=e=>{e.preventDefault(),e.stopPropagation();let t=e.changedTouches[0];if(o){let e=t?t.clientX:o.last.x,n=t?t.clientY:o.last.y;c(O(o,e,n,f.current,u.current,d.current)),o=null}s&&=(c(j(s,l(),u.current)),null)},y=e=>{e.stopPropagation(),o?.moved&&f.current===`touch`&&c(O(o,o.last.x,o.last.y,`touch`,u.current,d.current)),o=null,s=null};return n.addEventListener(`touchstart`,h,{passive:!1}),n.addEventListener(`touchmove`,_,{passive:!1}),n.addEventListener(`touchend`,v,{passive:!1}),n.addEventListener(`touchcancel`,y,{passive:!1}),()=>{m.current&&cancelAnimationFrame(m.current),n.removeEventListener(`touchstart`,h),n.removeEventListener(`touchmove`,_),n.removeEventListener(`touchend`,v),n.removeEventListener(`touchcancel`,y)}},[e,t,i,r,g]),{transform:o,virtualCursor:n===`mouse`?c:null,resetZoom:_}}function I(e,t){let n=(0,y.useRef)(null);return(0,y.useEffect)(()=>{let r=n.current;if(!r||!t)return;let i=()=>e({type:`releaseAll`}),a=t=>{t.preventDefault(),e({type:`key`,code:t.code,down:!0})},o=t=>{t.preventDefault(),e({type:`key`,code:t.code,down:!1})},s=()=>i(),c=()=>{document.hidden&&i()};return r.addEventListener(`keydown`,a),r.addEventListener(`keyup`,o),r.addEventListener(`blur`,s),document.addEventListener(`visibilitychange`,c),()=>{r.removeEventListener(`keydown`,a),r.removeEventListener(`keyup`,o),r.removeEventListener(`blur`,s),document.removeEventListener(`visibilitychange`,c),i()}},[t,e]),{inputRef:n,show:(0,y.useCallback)(()=>n.current?.focus(),[])}}var L=n();function R({onClick:e,label:t,active:n,children:r}){return(0,L.jsxs)(`button`,{type:`button`,onClick:e,"aria-label":t,className:m(`flex min-h-11 min-w-11 flex-1 flex-col items-center justify-center gap-0.5 rounded-lg py-1.5 text-[10px]`,`text-white/80 active:bg-white/10 transition-colors`,n&&`bg-white/15 text-white`),children:[r,(0,L.jsx)(`span`,{children:t})]})}function z({mode:e,onToggleMode:t,onOpenKeyboard:n,onResetZoom:r,onClose:i}){let a=p(e=>e.remoteDesktopStatsVisible),o=p(e=>e.toggleRemoteDesktopStatsVisible);return(0,L.jsxs)(`div`,{className:`flex shrink-0 items-stretch gap-1 border-t border-white/10 bg-black/90 px-2 pb-[max(0.375rem,env(safe-area-inset-bottom))] pt-1.5`,"data-testid":`remote-desktop-mobile-toolbar`,children:[(0,L.jsx)(R,{onClick:t,label:e===`mouse`?`Mouse`:`Touch`,active:!0,children:e===`mouse`?(0,L.jsx)(v,{className:`size-5`}):(0,L.jsx)(u,{className:`size-5`})}),(0,L.jsx)(R,{onClick:n,label:`Keyboard`,children:(0,L.jsx)(d,{className:`size-5`})}),(0,L.jsx)(R,{onClick:r,label:`Reset zoom`,children:(0,L.jsx)(g,{className:`size-5`})}),(0,L.jsx)(R,{onClick:o,label:`Stats`,active:a,children:(0,L.jsx)(c,{className:`size-5`})}),(0,L.jsx)(R,{onClick:i,label:`Close`,children:(0,L.jsx)(f,{className:`size-5`})})]})}var B=[{label:`Ctrl`,code:`ControlLeft`},{label:`Alt`,code:`AltLeft`},{label:`Shift`,code:`ShiftLeft`},{label:`Win`,code:`MetaLeft`}],V=[{label:`Esc`,code:`Escape`},{label:`Tab`,code:`Tab`},{label:`←`,code:`ArrowLeft`},{label:`↑`,code:`ArrowUp`},{label:`↓`,code:`ArrowDown`},{label:`→`,code:`ArrowRight`}],H=[{label:`Ctrl+C`,codes:[`ControlLeft`,`KeyC`]},{label:`Ctrl+V`,codes:[`ControlLeft`,`KeyV`]},{label:`Ctrl+Z`,codes:[`ControlLeft`,`KeyZ`]},{label:`Ctrl+A`,codes:[`ControlLeft`,`KeyA`]},{label:`Alt+Tab`,codes:[`AltLeft`,`Tab`]},{label:`Ctrl+Alt+Del`,codes:[`ControlLeft`,`AltLeft`,`Delete`]}];function U({onClick:e,active:t,className:n,children:r}){return(0,L.jsx)(`button`,{type:`button`,onClick:e,className:m(`min-h-11 min-w-11 shrink-0 whitespace-nowrap rounded-md px-2.5 text-xs font-medium text-white/80`,`active:bg-white/15 transition-colors`,t&&`bg-primary text-primary-foreground`,n),children:r})}function W({sendMessage:e}){let[t,n]=(0,y.useState)(new Set),r=(0,y.useRef)(t);r.current=t,(0,y.useEffect)(()=>()=>{r.current.forEach(t=>e({type:`key`,code:t,down:!1}))},[e]);let i=(0,y.useCallback)(t=>{n(n=>{let r=n.has(t);e({type:`key`,code:t,down:!r});let i=new Set(n);return r?i.delete(t):i.add(t),i})},[e]),a=(0,y.useCallback)(t=>{e({type:`key`,code:t,down:!0}),e({type:`key`,code:t,down:!1})},[e]),o=(0,y.useCallback)(t=>{t.forEach(t=>e({type:`key`,code:t,down:!0})),[...t].reverse().forEach(t=>e({type:`key`,code:t,down:!1}))},[e]);return(0,L.jsxs)(`div`,{className:`flex shrink-0 gap-1 overflow-x-auto border-t border-white/10 bg-black/90 px-2 py-1.5`,"data-testid":`remote-desktop-mobile-key-bar`,children:[B.map(e=>(0,L.jsx)(U,{onClick:()=>i(e.code),active:t.has(e.code),children:e.label},e.code)),(0,L.jsx)(`div`,{className:`mx-0.5 w-px shrink-0 bg-white/10`}),V.map(e=>(0,L.jsx)(U,{onClick:()=>a(e.code),children:e.label},e.code)),(0,L.jsx)(`div`,{className:`mx-0.5 w-px shrink-0 bg-white/10`}),H.map(e=>(0,L.jsx)(U,{onClick:()=>o(e.codes),children:e.label},e.label))]})}function G({onClose:e}){let t=(0,y.useRef)(null),n=(0,y.useRef)(null),[r,s]=(0,y.useState)(`mouse`),[c,u]=(0,y.useState)(!1),{connState:d,errorMessage:f,decoderStatus:p,decoderErrorMessage:m,sendMessage:g,reconnect:v,getTotalBytes:b,getFrameCount:x}=i(n),S=d===`streaming`,{transform:C,virtualCursor:w,resetZoom:T}=F({containerRef:t,canvasRef:n,mode:r,sendMessage:g,enabled:S}),{inputRef:E,show:D}=I(g,S),O=h(!0)?.keyboardInset??0,k=(0,y.useCallback)(()=>s(e=>e===`mouse`?`touch`:`mouse`),[]),A=(0,y.useCallback)(()=>{D(),u(!0)},[D]),j=p===`unsupported`?m:d===`error`?f:d===`closed`?`Disconnected`:d===`connecting`?`Connecting…`:null,M={transform:`translate(${C.panX}px, ${C.panY}px) scale(${C.scale})`},N=`${(w?.xFrac??.5)*100}%`,P=`${(w?.yFrac??.5)*100}%`;if(w&&t.current&&n.current?.width&&n.current.height){let e=t.current.getBoundingClientRect(),r=a({left:0,top:0,width:e.width,height:e.height},n.current.width,n.current.height);N=`${r.left+w.xFrac*r.width}px`,P=`${r.top+w.yFrac*r.height}px`}return(0,L.jsxs)(`div`,{className:`relative h-full w-full bg-black`,"data-testid":`remote-desktop-mobile-view`,"data-conn-state":d,children:[(0,L.jsxs)(`div`,{ref:t,className:`absolute inset-x-0 top-0 flex items-center justify-center overflow-hidden`,style:{touchAction:`none`,bottom:O},"data-testid":`remote-desktop-mobile-stage-container`,children:[(0,L.jsxs)(`div`,{className:`relative flex h-full w-full items-center justify-center`,style:M,children:[(0,L.jsx)(`canvas`,{ref:n,"data-testid":`remote-desktop-canvas`,className:`block h-full w-full min-h-0 min-w-0 object-contain outline-none`}),r===`mouse`&&w&&S&&(0,L.jsx)(`div`,{className:`pointer-events-none absolute rounded-full border-2 border-white bg-primary shadow-[0_0_0_1px_rgba(0,0,0,0.6)]`,style:{left:N,top:P,width:14,height:14,transform:`translate(-50%, -50%) scale(${1/C.scale})`},"data-testid":`remote-desktop-virtual-cursor`})]}),j&&(0,L.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-black/70 text-sm text-white`,children:[(0,L.jsx)(o,{className:`size-6 opacity-70`}),(0,L.jsx)(`span`,{className:`max-w-sm px-4 text-center`,children:j}),(d===`error`||d===`closed`)&&p!==`unsupported`&&(0,L.jsxs)(`button`,{onClick:v,className:`flex items-center gap-1.5 rounded-md bg-white/10 px-3 py-1.5 hover:bg-white/20`,children:[(0,L.jsx)(_,{className:`size-3.5`}),` Reconnect`]})]}),(0,L.jsx)(`input`,{ref:E,type:`text`,autoComplete:`off`,autoCapitalize:`off`,autoCorrect:`off`,spellCheck:!1,className:`absolute size-px opacity-0`,"aria-hidden":`true`,tabIndex:-1,onBlur:()=>u(!1),"data-testid":`remote-desktop-virtual-keyboard-input`})]}),(0,L.jsxs)(`div`,{className:`absolute inset-x-0 bottom-0`,style:O>0?{transform:`translateY(-${O}px)`}:void 0,"data-testid":`remote-desktop-mobile-bottom-bar`,children:[c&&(0,L.jsx)(W,{sendMessage:g}),(0,L.jsx)(z,{mode:r,onToggleMode:k,onOpenKeyboard:A,onResetZoom:T,onClose:e})]}),(0,L.jsx)(l,{canvasRef:n,getFrameCount:x,getTotalBytes:b,positionClassName:`left-1 top-[calc(env(safe-area-inset-top,0px)+2.75rem)]`})]})}export{G as default};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import{t as r}from"./createLucideIcon-D8pyde1A.js";import{n as i}from"./api-client-BkGKTjsq.js";import{t as a}from"./settings-store-BpcY5aYE.js";import{a as o}from"./index-H_gScEOk.js";var s=r(`gauge`,[[`path`,{d:`m12 14 4-4`,key:`9kzdfg`}],[`path`,{d:`M3.34 19a10 10 0 1 1 17.32 0`,key:`19p75a`}]]),c=r(`monitor-x`,[[`path`,{d:`m14.5 12.5-5-5`,key:`1jahn5`}],[`path`,{d:`m9.5 12.5 5-5`,key:`1k2t7b`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`path`,{d:`M12 17v4`,key:`1riwvh`}],[`path`,{d:`M8 21h8`,key:`1ev6f3`}]]);function l(e,t,n=`8081`){let r=o(`/ws/remote-desktop`),i=e.protocol===`https:`?`wss:`:`ws:`;return t&&e.protocol!==`https:`?`ws://${e.hostname}:${n}${r}`:`${i}//${e.host}${r}`}var u=30;function d(e,t=u){return Math.round(e*1e6/t)}var f=e(t(),1);function p(e,t){return t||e}function m(e){let[t,n]=(0,f.useState)(`idle`),[r,i]=(0,f.useState)(null),a=(0,f.useRef)(null),o=(0,f.useRef)(null),s=(0,f.useRef)(!1),c=(0,f.useRef)(0),l=(0,f.useRef)(0),u=(0,f.useRef)(null),m=(0,f.useRef)(!1),h=(0,f.useCallback)(e=>{n(`error`),i(e)},[]),g=(0,f.useCallback)(async t=>{if(u.current=t,typeof VideoDecoder>`u`){n(`unsupported`),i(`This browser has no WebCodecs VideoDecoder — try Chrome, Edge, or Safari 16.4+.`);return}let r={codec:t,optimizeForLatency:!0};try{if(!(await VideoDecoder.isConfigSupported(r)).supported){n(`unsupported`),i(`This browser's decoder does not support ${t}.`);return}}catch(e){h(e.message);return}a.current?.close(),s.current=!1,l.current=0;let d=new VideoDecoder({output:t=>{c.current+=1;let n=e.current;n&&((n.width!==t.displayWidth||n.height!==t.displayHeight)&&(n.width=t.displayWidth,n.height=t.displayHeight),o.current||=n.getContext(`2d`),o.current?.drawImage(t,0,0,n.width,n.height)),t.close()},error:e=>_(e.message)});try{d.configure(r)}catch(e){h(e.message);return}a.current=d,m.current=!0,n(`ready`),i(null)},[e,h]),_=(0,f.useCallback)(e=>{if(!m.current)return;let t=u.current;if(!t){h(e);return}try{a.current?.close()}catch{}a.current=null,g(t)},[g,h]);return{status:t,errorMessage:r,configure:g,decodeAccessUnit:(0,f.useCallback)((e,t)=>{let n=a.current;if(!(!n||n.state!==`configured`)&&p(s.current,t)){t&&(s.current=!0);try{n.decode(new EncodedVideoChunk({type:t?`key`:`delta`,timestamp:d(l.current++),data:e}))}catch(e){_(e.message)}}},[_]),reset:(0,f.useCallback)(()=>{m.current=!1;try{a.current?.close()}catch{}a.current=null,s.current=!1,c.current=0,l.current=0,n(`idle`),i(null)},[]),getFrameCount:(0,f.useCallback)(()=>c.current,[])}}var h=5e3;function g(e){let t=(0,f.useRef)(null),n=(0,f.useRef)(0),[r,a]=(0,f.useState)(`connecting`),[o,s]=(0,f.useState)(null),[c,u]=(0,f.useState)(0),d=m(e),p=(0,f.useCallback)(e=>{let n=t.current;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify(e))},[]);(0,f.useEffect)(()=>{let e=!1,r=null;a(`connecting`),s(null),n.current=0,d.reset(),(async()=>{let o;try{o=(await i.post(`/api/remote-desktop/session`)).nonce}catch(t){e||(a(`error`),s(t.message));return}if(e)return;let c=l(window.location,!1,void 0),u=new WebSocket(c);u.binaryType=`arraybuffer`,t.current=u,u.onopen=()=>{u.send(JSON.stringify({type:`auth`,nonce:o})),r=setInterval(()=>p({type:`ping`}),h)},u.onmessage=t=>{if(typeof t.data==`string`){let n;try{n=JSON.parse(t.data)}catch{return}n.type===`config`&&typeof n.codec==`string`?d.configure(n.codec).then(()=>{e||a(`streaming`)}):n.type===`error`&&(a(`error`),s(typeof n.message==`string`?n.message:`Server error`));return}let r=new Uint8Array(t.data);r.length<1||(n.current+=r.length,d.decodeAccessUnit(r.subarray(1),r[0]===1))},u.onerror=()=>{e||(a(`error`),s(`WebSocket error`))},u.onclose=()=>{e||a(e=>e===`error`?e:`closed`)}})();let o=()=>{if(document.hidden||e)return;let n=t.current;n&&n.readyState===WebSocket.OPEN?n.send(JSON.stringify({type:`ping`})):u(e=>e+1)};return document.addEventListener(`visibilitychange`,o),()=>{e=!0,document.removeEventListener(`visibilitychange`,o),r&&clearInterval(r);try{t.current?.close()}catch{}t.current=null;try{d.reset()}catch{}}},[c]);let g=(0,f.useCallback)(()=>u(e=>e+1),[]),_=(0,f.useCallback)(()=>n.current,[]);return{connState:r,errorMessage:o,decoderStatus:d.status,decoderErrorMessage:d.errorMessage,sendMessage:p,reconnect:g,getTotalBytes:_,getFrameCount:d.getFrameCount}}function _(e){return Math.min(Math.max(e,0),1)}function v(e,t,n){let r=n.width>0?(e-n.left)/n.width:0,i=n.height>0?(t-n.top)/n.height:0;return{xFrac:_(r),yFrac:_(i)}}function y(e,t,n,r){let i=r.scale||1,a=n.left+n.width/2,o=n.top+n.height/2;return v(a+(e-a-r.panX)/i,o+(t-o-r.panY)/i,n)}function b(e,t,n){if(t<=0||n<=0||e.width<=0||e.height<=0)return e;let r=e.width/e.height,i=t/n;if(i>r){let t=e.width/i;return{left:e.left,top:e.top+(e.height-t)/2,width:e.width,height:t}}let a=e.height*i;return{left:e.left+(e.width-a)/2,top:e.top,width:a,height:e.height}}var x={fps:0,kbps:0};function S(e,t){let n=t.atMs-e.atMs;if(n<=0)return x;let r=n/1e3,i=Math.max(0,t.frameCount-e.frameCount),a=Math.max(0,t.totalBytes-e.totalBytes);return{fps:i/r,kbps:a/1024/r}}var C=n(),w=500;function T({canvasRef:e,getFrameCount:t,getTotalBytes:n,positionClassName:r=`left-1 top-1`}){let i=a(e=>e.remoteDesktopStatsVisible),[o,s]=(0,f.useState)({fps:0,kbps:0,width:0,height:0}),c=(0,f.useRef)({frameCount:0,totalBytes:0,atMs:0});return(0,f.useEffect)(()=>{if(!i)return;c.current={frameCount:t(),totalBytes:n(),atMs:performance.now()};let r=setInterval(()=>{let r={frameCount:t(),totalBytes:n(),atMs:performance.now()},{fps:i,kbps:a}=S(c.current,r);c.current=r;let o=e.current;s({fps:i,kbps:a,width:o?.width??0,height:o?.height??0})},w);return()=>clearInterval(r)},[i,e,t,n]),i?(0,C.jsxs)(`div`,{className:`pointer-events-none absolute z-40 rounded bg-black/60 px-1.5 py-0.5 font-mono text-[10px] text-white/80 ${r}`,"data-testid":`remote-desktop-stats-overlay`,children:[Math.round(o.fps),` fps · `,Math.round(o.kbps),` KB/s · `,o.width,`×`,o.height]}):null}export{g as a,b as i,v as n,c as o,y as r,s,T as t};
@@ -0,0 +1 @@
1
+ import{o as e}from"./rolldown-runtime-FhOqtrmT.js";import{S as t,x as n}from"./vendor-markdown-Ls5AcU91.js";import"./vendor-ui-CaeeFO0B.js";import{a as r,n as i,o as a,s as o,t as s}from"./remote-desktop-stats-overlay-vhJBIW7s.js";import"./api-client-BkGKTjsq.js";import"./vendor-mermaid-CtDsSxbM.js";import{t as c}from"./settings-store-BpcY5aYE.js";import{n as l}from"./utils-u2fbYPrY.js";import{en as u}from"./index-H_gScEOk.js";var d=e(t(),1);function f(e,t,n){let r=(0,d.useCallback)((n,r,a,o)=>{let s=e.current;if(!s)return;let{xFrac:c,yFrac:l}=i(n,r,s.getBoundingClientRect());t({type:`pointer`,xFrac:c,yFrac:l,button:a,down:o})},[e,t]);(0,d.useEffect)(()=>{let i=e.current;if(!i||!n)return;let a=e=>e===0?`left`:e===2?`right`:null,o=()=>t({type:`releaseAll`}),s=null,c=0,l=()=>{c=0,s&&=(r(s.x,s.y,null,null),null)},u=()=>{c&&=(cancelAnimationFrame(c),0),s&&=(r(s.x,s.y,null,null),null)},d=e=>{e.preventDefault(),i.setPointerCapture(e.pointerId),i.focus(),u(),r(e.clientX,e.clientY,a(e.button),!0)},f=e=>{s={x:e.clientX,y:e.clientY},c||=requestAnimationFrame(l)},p=e=>{u(),r(e.clientX,e.clientY,a(e.button),!1)},m=e=>e.preventDefault(),h=e=>{e.preventDefault(),t({type:`key`,code:e.code,down:!0})},g=e=>{e.preventDefault(),t({type:`key`,code:e.code,down:!1})},_=()=>{document.hidden&&o()};return i.tabIndex=0,i.addEventListener(`pointerdown`,d),i.addEventListener(`pointermove`,f),i.addEventListener(`pointerup`,p),i.addEventListener(`contextmenu`,m),i.addEventListener(`keydown`,h),i.addEventListener(`keyup`,g),i.addEventListener(`blur`,o),document.addEventListener(`visibilitychange`,_),()=>{c&&cancelAnimationFrame(c),i.removeEventListener(`pointerdown`,d),i.removeEventListener(`pointermove`,f),i.removeEventListener(`pointerup`,p),i.removeEventListener(`contextmenu`,m),i.removeEventListener(`keydown`,h),i.removeEventListener(`keyup`,g),i.removeEventListener(`blur`,o),document.removeEventListener(`visibilitychange`,_)}},[e,n,r,t])}var p=n();function m(e){let t=(0,d.useRef)(null),{connState:n,errorMessage:i,decoderStatus:m,decoderErrorMessage:h,sendMessage:g,reconnect:_,getFrameCount:v,getTotalBytes:y}=r(t),b=c(e=>e.remoteDesktopStatsVisible),x=c(e=>e.toggleRemoteDesktopStatsVisible);f(t,g,n===`streaming`);let S=m===`unsupported`?h:n===`error`?i:n===`closed`?`Disconnected`:n===`connecting`?`Connecting…`:null;return(0,p.jsxs)(`div`,{className:`relative flex h-full w-full items-center justify-center bg-black`,"data-testid":`remote-desktop-window`,"data-conn-state":n,children:[(0,p.jsx)(`canvas`,{ref:t,"data-testid":`remote-desktop-canvas`,className:`max-h-full max-w-full outline-none`}),(0,p.jsx)(s,{canvasRef:t,getFrameCount:v,getTotalBytes:y}),(0,p.jsx)(`button`,{type:`button`,onClick:x,"aria-label":`Toggle stats overlay`,"aria-pressed":b,className:l(`absolute right-1 top-1 z-40 flex size-6 items-center justify-center rounded bg-black/40 text-white/70 hover:bg-black/60 hover:text-white`,b&&`bg-primary/70 text-primary-foreground hover:bg-primary/80`),children:(0,p.jsx)(o,{className:`size-3.5`})}),S&&(0,p.jsxs)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center gap-3 bg-black/70 text-sm text-white`,children:[(0,p.jsx)(a,{className:`size-6 opacity-70`}),(0,p.jsx)(`span`,{className:`max-w-sm text-center px-4`,children:S}),(n===`error`||n===`closed`)&&m!==`unsupported`&&(0,p.jsxs)(`button`,{onClick:_,className:`flex items-center gap-1.5 rounded-md bg-white/10 px-3 py-1.5 hover:bg-white/20`,children:[(0,p.jsx)(u,{className:`size-3.5`}),` Reconnect`]})]})]})}export{m as default};
@@ -1 +1 @@
1
- import{t as e}from"./javascript-y-lof7iP.js";import t from"./html-derivative-e5JLAFZF.js";import n from"./python-D6QbSR2S.js";import r from"./cmake-EEcLEgVy.js";import{t as i}from"./cpp-DOrBqXCn.js";import{t as a}from"./shellscript-BAgksBhW.js";import{t as o}from"./yaml-BoK_17l9.js";import s from"./ruby-ClIZ1wb3.js";var c=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),l=[...t,...i,...n,...e,...a,...o,...r,...s,c];export{l as default};
1
+ import{t as e}from"./javascript-YqEbNRpd.js";import t from"./html-derivative-CchzCY1z.js";import n from"./python-B5BQ27cC.js";import r from"./cmake-B573LYAQ.js";import{t as i}from"./cpp-BhWZ-FSn.js";import{t as a}from"./shellscript-Bf2KiwQj.js";import{t as o}from"./yaml-B-Jxk0IQ.js";import s from"./ruby-DK62iflA.js";var c=Object.freeze(JSON.parse('{"displayName":"reStructuredText","name":"rst","patterns":[{"include":"#body"}],"repository":{"anchor":{"match":"^\\\\.{2}\\\\s+(_[^:]+:)\\\\s*","name":"entity.name.tag.anchor"},"block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+\\\\S+::)(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable"}},"end":"^(?!\\\\1\\\\s|\\\\s*$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"block-comment":{"begin":"^(\\\\s*)\\\\.{2}(\\\\s+|$)","end":"^(?:(?=\\\\S)|\\\\s*$)","name":"comment.block","patterns":[{"begin":"^\\\\s{3,}(?=\\\\S)","name":"comment.block","while":"^(?:\\\\s{3}.*|\\\\s*$)"}]},"block-param":{"patterns":[{"captures":{"1":{"name":"keyword.control"},"2":{"name":"variable.parameter"}},"match":"(:param\\\\s+(.+?):)(?:\\\\s|$)"},{"captures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"match":"\\\\b(0x[A-Fa-f\\\\d]+|\\\\d+)\\\\b","name":"constant.numeric"},{"include":"#inline-markup"}]}},"match":"(:.+?:)(?:$|\\\\s+(.*))"}]},"blocks":{"patterns":[{"include":"#domains"},{"include":"#doctest"},{"include":"#code-block-cpp"},{"include":"#code-block-py"},{"include":"#code-block-console"},{"include":"#code-block-javascript"},{"include":"#code-block-yaml"},{"include":"#code-block-cmake"},{"include":"#code-block-kconfig"},{"include":"#code-block-ruby"},{"include":"#code-block-dts"},{"include":"#code-block"},{"include":"#doctest-block"},{"include":"#raw-html"},{"include":"#block"},{"include":"#literal-block"},{"include":"#block-comment"}]},"body":{"patterns":[{"include":"#title"},{"include":"#inline-markup"},{"include":"#anchor"},{"include":"#line-block"},{"include":"#replace-include"},{"include":"#footnote"},{"include":"#substitution"},{"include":"#blocks"},{"include":"#table"},{"include":"#simple-table"},{"include":"#options-list"}]},"bold":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*{2}[^*\\\\s]","end":"\\\\*{2}|^\\\\s*$","name":"markup.bold"},"citation":{"applyEndPatternLast":0,"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)`[^`\\\\s]","end":"`_{0,2}|^\\\\s*$","name":"entity.name.tag"},"code-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cmake":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(cmake)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cmake"}},"patterns":[{"include":"#block-param"},{"include":"source.cmake"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-console":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(console|shell|bash)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.console"}},"patterns":[{"include":"#block-param"},{"include":"source.shell"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(c|c\\\\+\\\\+|cpp|C|C\\\\+\\\\+|CPP|Cpp)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.cpp"}},"patterns":[{"include":"#block-param"},{"include":"source.cpp"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-dts":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(dts|DTS|devicetree)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.dts"}},"patterns":[{"include":"#block-param"},{"include":"source.dts"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-javascript":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(javascript)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.js"}},"patterns":[{"include":"#block-param"},{"include":"source.js"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-kconfig":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*([Kk]config)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.kconfig"}},"patterns":[{"include":"#block-param"},{"include":"source.kconfig"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(python)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.py"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-ruby":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ruby)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.ruby"}},"patterns":[{"include":"#block-param"},{"include":"source.ruby"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"code-block-yaml":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+(code(?:|-block))::)\\\\s*(ya?ml)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"4":{"name":"variable.parameter.codeblock.yaml"}},"patterns":[{"include":"#block-param"},{"include":"source.yaml"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"doctest":{"begin":"^(>>>)\\\\s*(.*)","beginCaptures":{"1":{"name":"keyword.control"},"2":{"patterns":[{"include":"source.python"}]}},"end":"^\\\\s*$"},"doctest-block":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+doctest::)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"}},"patterns":[{"include":"#block-param"},{"include":"source.python"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-auto":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+auto(?:class|module|exception|function|decorator|data|method|attribute|property)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control.py"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-cpp":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+c(?:pp|):(?:class|struct|function|member|var|type|enum|enum-struct|enum-class|enumerator|union|concept)::)\\\\s*(?:(@\\\\w+)|(.*))","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"entity.name.tag"},"4":{"patterns":[{"include":"source.cpp"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domain-js":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+js:\\\\w+::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.js"}]}},"end":"^(?!\\\\1[\\\\t ]|$)","patterns":[{"include":"#block-param"},{"include":"#body"}]},"domain-py":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+py:(?:module|function|data|exception|class|attribute|property|method|staticmethod|classmethod|decorator|decoratormethod)::)\\\\s*(.*)","beginCaptures":{"2":{"name":"keyword.control"},"3":{"patterns":[{"include":"source.python"}]}},"patterns":[{"include":"#block-param"},{"include":"#body"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"domains":{"patterns":[{"include":"#domain-cpp"},{"include":"#domain-py"},{"include":"#domain-auto"},{"include":"#domain-js"}]},"escaped":{"match":"\\\\\\\\.","name":"constant.character.escape"},"footnote":{"match":"^\\\\s*\\\\.{2}\\\\s+\\\\[(?:[-.\\\\w]+|[#*]|#\\\\w+)]\\\\s+","name":"entity.name.tag"},"footnote-ref":{"match":"\\\\[(?:[-.\\\\w]+|[#*])]_","name":"entity.name.tag"},"ignore":{"patterns":[{"match":"\'[*`]+\'"},{"match":"<[*`]+>"},{"match":"\\\\{[*`]+}"},{"match":"\\\\([*`]+\\\\)"},{"match":"\\\\[[*`]+]"},{"match":"\\"[*`]+\\""}]},"inline-markup":{"patterns":[{"include":"#escaped"},{"include":"#ignore"},{"include":"#ref"},{"include":"#literal"},{"include":"#monospaced"},{"include":"#citation"},{"include":"#bold"},{"include":"#italic"},{"include":"#list"},{"include":"#macro"},{"include":"#reference"},{"include":"#footnote-ref"}]},"italic":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)\\\\*[^*\\\\s]","end":"\\\\*|^\\\\s*$","name":"markup.italic"},"line-block":{"match":"^\\\\|\\\\s+","name":"keyword.control"},"list":{"match":"^\\\\s*(\\\\d+\\\\.|\\\\* -|[#A-Za-z]\\\\.|[CIMVXcimvx]+\\\\.|\\\\(\\\\d+\\\\)|\\\\d+\\\\)|[-*+])\\\\s+","name":"keyword.control"},"literal":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"}},"match":"(:\\\\S+:)(`.*?`\\\\\\\\?)"},"literal-block":{"begin":"^(\\\\s*)(.*)(::)\\\\s*$","beginCaptures":{"2":{"patterns":[{"include":"#inline-markup"}]},"3":{"name":"keyword.control"}},"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"macro":{"match":"\\\\|[^|]+\\\\|","name":"entity.name.tag"},"monospaced":{"begin":"(?<=[\\"\'(<\\\\[{\\\\s]|^)``[^`\\\\s]","end":"``|^\\\\s*$","name":"string.interpolated"},"options-list":{"match":"(?:(?:^|,\\\\s+)(?:[-+]\\\\w|--?[A-Za-z][-\\\\w]+|/\\\\w+)(?:[ =](?:\\\\w+|<[^<>]+?>))?)+(?= |\\\\t|$)","name":"variable.parameter"},"raw-html":{"begin":"^(\\\\s*)(\\\\.{2}\\\\s+raw\\\\s*::)\\\\s+(html)\\\\s*$","beginCaptures":{"2":{"name":"keyword.control"},"3":{"name":"variable.parameter.html"}},"patterns":[{"include":"#block-param"},{"include":"text.html.derivative"}],"while":"^(?:\\\\1(?=\\\\s)|\\\\s*$)"},"ref":{"begin":"(:ref:)`","beginCaptures":{"1":{"name":"keyword.control"}},"end":"`|^\\\\s*$","name":"entity.name.tag","patterns":[{"match":"<.*?>","name":"markup.underline.link"}]},"reference":{"match":"[-\\\\w]*[-A-Za-z\\\\d]__?\\\\b","name":"entity.name.tag"},"replace-include":{"captures":{"1":{"name":"keyword.control"},"2":{"name":"entity.name.tag"},"3":{"name":"keyword.control"}},"match":"^\\\\s*(\\\\.{2})\\\\s+(\\\\|[^|]+\\\\|)\\\\s+(replace::)"},"simple-table":{"match":"^[=\\\\s]+$","name":"keyword.control.table"},"substitution":{"match":"^\\\\.{2}\\\\s*\\\\|([^|]+)\\\\|","name":"entity.name.tag"},"table":{"begin":"^\\\\s*\\\\+[-+=]+\\\\+\\\\s*$","beginCaptures":{"0":{"name":"keyword.control.table"}},"end":"^(?![+|])","patterns":[{"match":"[-+=|]","name":"keyword.control.table"}]},"title":{"match":"^(\\\\*{3,}|#{3,}|={3,}|~{3,}|\\\\+{3,}|-{3,}|`{3,}|\\\\^{3,}|:{3,}|\\"{3,}|_{3,}|\'{3,})$","name":"markup.heading"}},"scopeName":"source.rst","embeddedLangs":["html-derivative","cpp","python","javascript","shellscript","yaml","cmake","ruby"]}')),l=[...t,...i,...n,...e,...a,...o,...r,...s,c];export{l as default};