@loicngr/kobo 2.1.28 → 2.1.30

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 (207) hide show
  1. package/AGENTS.md +60 -11
  2. package/CHANGELOG.md +20 -1
  3. package/CONFIGURATION.md +140 -35
  4. package/CONTRIBUTING.md +2 -2
  5. package/DESIGN.md +1 -1
  6. package/README.md +12 -9
  7. package/SECURITY.md +7 -2
  8. package/dist/server/db/memory-schema.js +5 -5
  9. package/dist/server/db/migrations.js +2 -0
  10. package/dist/server/db/mistral-memory-migration.js +40 -0
  11. package/dist/server/routes/engines.js +14 -0
  12. package/dist/server/routes/environment.js +1 -1
  13. package/dist/server/routes/health.js +14 -3
  14. package/dist/server/routes/settings.js +7 -1
  15. package/dist/server/routes/workspaces.js +116 -9
  16. package/dist/server/services/agent/engines/claude-code/capabilities.js +2 -0
  17. package/dist/server/services/agent/engines/claude-code/engine.js +3 -0
  18. package/dist/server/services/agent/engines/claude-code/resolve-binary.js +1 -1
  19. package/dist/server/services/agent/engines/codex/capabilities.js +2 -0
  20. package/dist/server/services/agent/engines/codex/engine.js +3 -0
  21. package/dist/server/services/agent/engines/configuration.js +14 -0
  22. package/dist/server/services/agent/engines/mistral-vibe/capabilities.js +13 -0
  23. package/dist/server/services/agent/engines/mistral-vibe/client.js +64 -0
  24. package/dist/server/services/agent/engines/mistral-vibe/configuration.js +76 -0
  25. package/dist/server/services/agent/engines/mistral-vibe/engine.js +361 -0
  26. package/dist/server/services/agent/engines/mistral-vibe/event-mapper.js +297 -0
  27. package/dist/server/services/agent/engines/mistral-vibe/options-builder.js +35 -0
  28. package/dist/server/services/agent/engines/mistral-vibe/server-requests.js +278 -0
  29. package/dist/server/services/agent/engines/mistral-vibe/spawn.js +176 -0
  30. package/dist/server/services/agent/engines/registry.js +2 -0
  31. package/dist/server/services/agent/engines/types.js +6 -0
  32. package/dist/server/services/agent/orchestrator.js +88 -25
  33. package/dist/server/services/agent/session-controller.js +5 -0
  34. package/dist/server/services/auto-loop-final-review-service.js +10 -3
  35. package/dist/server/services/dev-server-service.js +68 -4
  36. package/dist/server/services/environment-check-service.js +9 -3
  37. package/dist/server/services/memory-service.js +1 -1
  38. package/dist/server/services/mistral-options-service.js +145 -0
  39. package/dist/server/services/pr-watcher-service.js +40 -11
  40. package/dist/server/services/review-service.js +33 -9
  41. package/dist/server/services/session-handoff-service.js +28 -2
  42. package/dist/server/services/settings-defaults.js +1 -0
  43. package/dist/server/services/settings-service.js +19 -1
  44. package/dist/server/services/workspace-creation-mcp-service.js +50 -8
  45. package/dist/server/services/workspace-dialogue-service.js +2 -0
  46. package/dist/server/services/workspace-message-service.js +19 -1
  47. package/dist/server/services/workspace-permission-policy-service.js +24 -0
  48. package/dist/server/utils/bounded-process.js +1 -1
  49. package/dist/shared/launch-instructions.js +18 -7
  50. package/dist/shared/memory.js +1 -1
  51. package/dist/shared/mistral-models.js +9 -0
  52. package/dist/shared/mistral-options.js +1 -0
  53. package/dist/shared/question-selections.js +16 -0
  54. package/dist/shared/workspace-creation-tools.js +8 -2
  55. package/dist/shared/workspace-dialogue-tools.js +15 -4
  56. package/docs/deployment-vps.md +10 -3
  57. package/docs/getting-started.md +4 -3
  58. package/docs/troubleshooting.md +2 -2
  59. package/package.json +20 -14
  60. package/src/client/dist/pwa/assets/ActivityFeed-C5stmHXP.js +2 -0
  61. package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-CIDSX32d.css +1 -0
  62. package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-DG32W_0G.js +1 -0
  63. package/src/client/dist/pwa/assets/{ChangelogPage-CAAUEn5X.js → ChangelogPage-_vItY8vA.js} +1 -1
  64. package/src/client/dist/pwa/assets/{ClosePopup-CRV2hxHS.js → ClosePopup-rU8Bm-mC.js} +1 -1
  65. package/src/client/dist/pwa/assets/{ComparisonPanel-BCb7vB5E.js → ComparisonPanel-B3BMzQH0.js} +2 -2
  66. package/src/client/dist/pwa/assets/CreatePage-FlGrfmjX.js +2 -0
  67. package/src/client/dist/pwa/assets/CreatePage-oh8ihVC4.css +1 -0
  68. package/src/client/dist/pwa/assets/{DashboardPage-XE52EABP.js → DashboardPage-lJGwWQYQ.js} +1 -1
  69. package/src/client/dist/pwa/assets/DiffViewer-DIaQH3lA.js +8 -0
  70. package/src/client/dist/pwa/assets/{DocumentsPanel-L4pbQfz1.js → DocumentsPanel-Ct-nm4fX.js} +1 -1
  71. package/src/client/dist/pwa/assets/{DrawerToggleButton-DiOJm5he.js → DrawerToggleButton-M5qv4Io-.js} +1 -1
  72. package/src/client/dist/pwa/assets/GitPanel-BaHCgb3p.js +3 -0
  73. package/src/client/dist/pwa/assets/GitPanel-C8vw2qvW.css +1 -0
  74. package/src/client/dist/pwa/assets/HealthPage-DR3wa6iD.js +1 -0
  75. package/src/client/dist/pwa/assets/HealthPage-Dbn4J_DT.css +1 -0
  76. package/src/client/dist/pwa/assets/{MainLayout-DoAEgANU.css → MainLayout-CHi8qP1D.css} +1 -1
  77. package/src/client/dist/pwa/assets/MainLayout-WJabICsA.js +2 -0
  78. package/src/client/dist/pwa/assets/{MemoryPanel-DtEvh_b7.js → MemoryPanel-CRpWdfc0.js} +1 -1
  79. package/src/client/dist/pwa/assets/MemoryProposalList-DGz3lDbL.js +1 -0
  80. package/src/client/dist/pwa/assets/{QBadge-CW3Lw-kL.js → QBadge-DiwbRpte.js} +1 -1
  81. package/src/client/dist/pwa/assets/{QBanner-BT2ZemYu.js → QBanner-Cw89HSjk.js} +1 -1
  82. package/src/client/dist/pwa/assets/QBtn-kfhHFy7Q.js +1 -0
  83. package/src/client/dist/pwa/assets/{QBtnDropdown-CWPIugs8.js → QBtnDropdown-tt8rUNNR.js} +1 -1
  84. package/src/client/dist/pwa/assets/{QBtnGroup-CnM4vSJA.js → QBtnGroup-Bioxjp9q.js} +1 -1
  85. package/src/client/dist/pwa/assets/{QBtnToggle-DccOOtbh.js → QBtnToggle-Bod-x9im.js} +1 -1
  86. package/src/client/dist/pwa/assets/{QChip-Be16M4Ig.js → QChip-DvhtPv_L.js} +1 -1
  87. package/src/client/dist/pwa/assets/{QExpansionItem-D-EGL2b3.js → QExpansionItem-BkrI3UPL.js} +1 -1
  88. package/src/client/dist/pwa/assets/{QItemSection-MdJ1_ZK7.js → QItemSection-ahqRK4JF.js} +1 -1
  89. package/src/client/dist/pwa/assets/{QList-Cx1UfaUm.js → QList-CAUl0v66.js} +1 -1
  90. package/src/client/dist/pwa/assets/{QMarkupTable-UhP7fVUp.js → QMarkupTable-B4LLAly-.js} +1 -1
  91. package/src/client/dist/pwa/assets/{QPage-CqkGHokx.js → QPage-DIy_mRoT.js} +1 -1
  92. package/src/client/dist/pwa/assets/{QScrollArea-BMrqK-xd.js → QScrollArea-BvgnY-oA.js} +1 -1
  93. package/src/client/dist/pwa/assets/QSelect-BtZB1wrB.js +1 -0
  94. package/src/client/dist/pwa/assets/{QSpinnerDots-xdWyaE1i.js → QSpinnerDots-Bea6hAuJ.js} +1 -1
  95. package/src/client/dist/pwa/assets/{QTooltip-Bk8dLUtU.js → QTooltip-CDH6p745.js} +1 -1
  96. package/src/client/dist/pwa/assets/{SchedulePanel-CuxmxCKi.js → SchedulePanel-C2rWlh7l.js} +1 -1
  97. package/src/client/dist/pwa/assets/{SearchPage-DKnQPUqY.js → SearchPage-BFd4NQwJ.js} +1 -1
  98. package/src/client/dist/pwa/assets/{SettingsPage-B4rmd2WX.css → SettingsPage-Bm0TcarK.css} +1 -1
  99. package/src/client/dist/pwa/assets/SettingsPage-DDQCgnjL.js +9 -0
  100. package/src/client/dist/pwa/assets/{SplitWorkspacePage-WhQyX8fn.js → SplitWorkspacePage-DKCtOZO4.js} +1 -1
  101. package/src/client/dist/pwa/assets/TerminalPanel-BE_MSZF0.js +16 -0
  102. package/src/client/dist/pwa/assets/{ToolCallItem-DYubi-J0.js → ToolCallItem-BEYaOtgh.js} +4 -4
  103. package/src/client/dist/pwa/assets/{TouchPan-DDotyYLN.js → TouchPan-DeYoOjX5.js} +1 -1
  104. package/src/client/dist/pwa/assets/{TourReplayButton-kAnEMcy2.js → TourReplayButton-D5lMwIKt.js} +1 -1
  105. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-BHEAsIoo.js +1 -0
  106. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-v7ein__H.css +1 -0
  107. package/src/client/dist/pwa/assets/WorkspacePage-5_wsJPaJ.js +4 -0
  108. package/src/client/dist/pwa/assets/WorkspacePage-CtUXz0Cq.css +1 -0
  109. package/src/client/dist/pwa/assets/{browser-DVYLH8vl.js → browser-ogy_9LVv.js} +2 -2
  110. package/src/client/dist/pwa/assets/build-path-tree-CRXxaYkA.js +1 -0
  111. package/src/client/dist/pwa/assets/custom-sounds-iLTkCd_i.js +1 -0
  112. package/src/client/dist/pwa/assets/de-BqDU7iZH.js +17 -0
  113. package/src/client/dist/pwa/assets/detached-fullscreen-CHqMxB-8.js +1 -0
  114. package/src/client/dist/pwa/assets/dom-CRPVbmiy.js +2 -0
  115. package/src/client/dist/pwa/assets/ecl-94qehhXe.js +1 -0
  116. package/src/client/dist/pwa/assets/{editor.api-BC38eXAS.js → editor.api-Dx6TbfZG.js} +9 -9
  117. package/src/client/dist/pwa/assets/editor.worker-xrHNhPSq.js +33 -0
  118. package/src/client/dist/pwa/assets/efforts-DnJh2fW_.js +9 -0
  119. package/src/client/dist/pwa/assets/es-D4VMXQRk.js +17 -0
  120. package/src/client/dist/pwa/assets/expand-template-PUEVWny3.js +1 -0
  121. package/src/client/dist/pwa/assets/{format-OwxXBnDJ.js → format-yf9XM3dV.js} +48 -48
  122. package/src/client/dist/pwa/assets/{formatters-YgaCZcwJ.js → formatters-D0sXu9Oe.js} +1 -1
  123. package/src/client/dist/pwa/assets/fr-DIyaCFB3.js +17 -0
  124. package/src/client/dist/pwa/assets/{freemarker2-l7R42fI2.js → freemarker2-l_xIHxRf.js} +1 -1
  125. package/src/client/dist/pwa/assets/{handlebars-DFmPrgjH.js → handlebars-CYgq99yQ.js} +1 -1
  126. package/src/client/dist/pwa/assets/{html-CERIAlPM.js → html-C28GatN_.js} +1 -1
  127. package/src/client/dist/pwa/assets/i18n-2AmHIUy0.js +1 -0
  128. package/src/client/dist/pwa/assets/index-C0MApoXN.css +1 -0
  129. package/src/client/dist/pwa/assets/index-MMYMztJ_.js +20 -0
  130. package/src/client/dist/pwa/assets/it-CF6_4OS0.js +17 -0
  131. package/src/client/dist/pwa/assets/{javascript-BBYncplF.js → javascript-YCSueyyk.js} +1 -1
  132. package/src/client/dist/pwa/assets/{liquid-C1HqYyYU.js → liquid-CUBn90Gs.js} +1 -1
  133. package/src/client/dist/pwa/assets/{mdx-E74dsP22.js → mdx-C5WOHShJ.js} +1 -1
  134. package/src/client/dist/pwa/assets/monaco-contributions-DYwqbh7m.js +53 -0
  135. package/src/client/dist/pwa/assets/{monaco.contribution-DYdn9CwR.js → monaco.contribution-CoFzrPQl.js} +2 -2
  136. package/src/client/dist/pwa/assets/network-auth-BpJ6Noax.js +1 -0
  137. package/src/client/dist/pwa/assets/notify-theme-NPq4-Tup.js +1 -0
  138. package/src/client/dist/pwa/assets/permissionModes-Bbl901Hx.js +36 -0
  139. package/src/client/dist/pwa/assets/{private.use-form-DY1BkePL.js → private.use-form-BcspuzM9.js} +1 -1
  140. package/src/client/dist/pwa/assets/{project-color-_snXWYUp.js → project-color-gNyhKJlV.js} +1 -1
  141. package/src/client/dist/pwa/assets/{python-DNAAGBcX.js → python-lhKUZdPj.js} +1 -1
  142. package/src/client/dist/pwa/assets/{razor-CB3g5p_T.js → razor-Chi44rEL.js} +1 -1
  143. package/src/client/dist/pwa/assets/reactivity.esm-bundler-Dplx1ILy.js +1 -0
  144. package/src/client/dist/pwa/assets/render-chat-markdown-C9ihAYBt.js +67 -0
  145. package/src/client/dist/pwa/assets/runtime-core.esm-bundler-BAUgNzMK.js +1 -0
  146. package/src/client/dist/pwa/assets/{typescript-0kpz8bqP.js → typescript-CU2TXVm6.js} +1 -1
  147. package/src/client/dist/pwa/assets/{use-checkbox-v4aAbE6K.js → use-checkbox-DUxgXR4e.js} +1 -1
  148. package/src/client/dist/pwa/assets/{use-id-BrdYXce0.js → use-id-B7ieAx2m.js} +1 -1
  149. package/src/client/dist/pwa/assets/use-is-mobile-CHmaewI1.js +1 -0
  150. package/src/client/dist/pwa/assets/{use-search-index-status-D38yFOD_.js → use-search-index-status-CQ9S05G7.js} +1 -1
  151. package/src/client/dist/pwa/assets/use-slide-transition-BJh9xGMa.js +1 -0
  152. package/src/client/dist/pwa/assets/use-tours-BmrZbHjz.js +2 -0
  153. package/src/client/dist/pwa/assets/use-tours-CU5oA7cz.css +1 -0
  154. package/src/client/dist/pwa/assets/use-worktree-restore-DcucRlLh.js +1 -0
  155. package/src/client/dist/pwa/assets/{workspace-templates-D-lPJQ4G.js → workspace-templates-DaG42EEt.js} +1 -1
  156. package/src/client/dist/pwa/assets/{xml-BbOuqdUe.js → xml-CPO5LI6F.js} +1 -1
  157. package/src/client/dist/pwa/assets/{yaml-gasFQtfk.js → yaml-CoYs82jI.js} +1 -1
  158. package/src/client/dist/pwa/index.html +10 -10
  159. package/src/client/dist/pwa/sw.js +1 -1
  160. package/src/mcp-server/README.md +18 -6
  161. package/src/client/dist/pwa/assets/ActivityFeed-D58VS9o2.js +0 -2
  162. package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-CK3r_fVB.js +0 -1
  163. package/src/client/dist/pwa/assets/AutoLoopFinalReviewSettings-Q-OlSQ1c.css +0 -1
  164. package/src/client/dist/pwa/assets/CreatePage-DasH1Uk4.js +0 -2
  165. package/src/client/dist/pwa/assets/CreatePage-DxOes_cF.css +0 -1
  166. package/src/client/dist/pwa/assets/DiffViewer-CncKlXne.js +0 -8
  167. package/src/client/dist/pwa/assets/GitPanel-WJlzy2VJ.js +0 -3
  168. package/src/client/dist/pwa/assets/GitPanel-yHvU38dp.css +0 -1
  169. package/src/client/dist/pwa/assets/HealthPage-Cnlhrn--.css +0 -1
  170. package/src/client/dist/pwa/assets/HealthPage-hJY5MurK.js +0 -1
  171. package/src/client/dist/pwa/assets/MainLayout-DgWElK7w.js +0 -2
  172. package/src/client/dist/pwa/assets/MemoryProposalList-kgFCm9zz.js +0 -1
  173. package/src/client/dist/pwa/assets/QBtn-BUSdPaf4.js +0 -1
  174. package/src/client/dist/pwa/assets/QSelect-DFWyDWCE.js +0 -1
  175. package/src/client/dist/pwa/assets/SettingsPage-CO3vIpPd.js +0 -9
  176. package/src/client/dist/pwa/assets/TerminalPanel-BY0lPq6k.js +0 -16
  177. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-B9LE8HtU.css +0 -1
  178. package/src/client/dist/pwa/assets/WorkspaceAttentionLabels-DiYt3rP3.js +0 -1
  179. package/src/client/dist/pwa/assets/WorkspacePage-BEBwwr81.css +0 -1
  180. package/src/client/dist/pwa/assets/WorkspacePage-K-1ce50d.js +0 -4
  181. package/src/client/dist/pwa/assets/build-path-tree-DEuOdIIk.js +0 -1
  182. package/src/client/dist/pwa/assets/custom-sounds-Ggw6V9iF.js +0 -1
  183. package/src/client/dist/pwa/assets/de-Bk3zQrin.js +0 -17
  184. package/src/client/dist/pwa/assets/detached-fullscreen-Du3TcYdX.js +0 -1
  185. package/src/client/dist/pwa/assets/dom-BtYTvLeN.js +0 -2
  186. package/src/client/dist/pwa/assets/ecl-D05T4iGw.js +0 -1
  187. package/src/client/dist/pwa/assets/editor.worker-BLJF_oQx.js +0 -33
  188. package/src/client/dist/pwa/assets/efforts-TGacUPcJ.js +0 -9
  189. package/src/client/dist/pwa/assets/es-f3xuAWA9.js +0 -17
  190. package/src/client/dist/pwa/assets/expand-template-DM8gq3Mo.js +0 -1
  191. package/src/client/dist/pwa/assets/fr-B6c21SG3.js +0 -17
  192. package/src/client/dist/pwa/assets/i18n-WaE4cZK9.js +0 -1
  193. package/src/client/dist/pwa/assets/index-C8zAZ-k-.css +0 -1
  194. package/src/client/dist/pwa/assets/index-CpWBGKdM.js +0 -20
  195. package/src/client/dist/pwa/assets/it-DUstDpC2.js +0 -17
  196. package/src/client/dist/pwa/assets/monaco-contributions-DHvm-kp5.js +0 -53
  197. package/src/client/dist/pwa/assets/network-auth-DTZUKbny.js +0 -1
  198. package/src/client/dist/pwa/assets/notify-theme-FuTL7HuS.js +0 -1
  199. package/src/client/dist/pwa/assets/permissionModes-D-Nexnoo.js +0 -36
  200. package/src/client/dist/pwa/assets/reactivity.esm-bundler-DY1JkAEA.js +0 -1
  201. package/src/client/dist/pwa/assets/render-chat-markdown-CafzCcmu.js +0 -69
  202. package/src/client/dist/pwa/assets/runtime-core.esm-bundler-Bqg71Vll.js +0 -1
  203. package/src/client/dist/pwa/assets/use-is-mobile-CDB_rzM9.js +0 -1
  204. package/src/client/dist/pwa/assets/use-slide-transition-B_Nu6u-t.js +0 -1
  205. package/src/client/dist/pwa/assets/use-tours-BWkHp34X.js +0 -2
  206. package/src/client/dist/pwa/assets/use-tours-CTZuBZOi.css +0 -1
  207. package/src/client/dist/pwa/assets/use-worktree-restore-DUjZr44N.js +0 -1
@@ -1,9 +1,9 @@
1
- import{$a as e,$d as t,$f as n,$i as r,$m as i,$n as a,$o as o,$r as s,$t as c,$u as l,A as u,Ac as d,Af as f,Am as p,Ap as ee,At as m,B as h,Ba as g,Bc as _,Bi as v,Bm as te,Bn as y,Bp as ne,Bs as re,Cc as ie,Cd as b,Ch as ae,Cm as oe,Cn as se,Cp as ce,Cu as x,D as le,Dc as ue,Dd as S,Di as de,Dl as fe,Dm as pe,Dn as me,Dp as he,Dr as ge,Ds as _e,Du as ve,Eh as ye,Ei as be,Em as xe,En as Se,Ep as Ce,Er as we,Es as Te,Eu as Ee,Fc as De,Ff as Oe,Fh as ke,Fi as Ae,Fm as je,Fn as Me,Fo as Ne,Fp as Pe,Fr as Fe,Fs as Ie,G as Le,Gf as Re,Gh as ze,Gl as Be,Gm as C,Gs as Ve,Gt as He,Gu as Ue,H as We,Ha as Ge,Hc as Ke,Hh as w,Hl as T,Hm as qe,Hn as Je,Hp as Ye,Hs as E,Hu as Xe,I as Ze,Ia as Qe,Ic as D,Ip as $e,Ir as et,Is as tt,Iu as O,J as nt,Jd as rt,Jf as it,Jm as at,Jp as ot,Jr as st,Jt as ct,Ju as lt,K as ut,Kc as dt,Kd as ft,Kf as pt,Kh as mt,Kl as ht,Km as gt,Kn as _t,Ku as vt,La as yt,Lc as bt,Lp as xt,Ls as St,Lt as Ct,Lu as k,Mc as wt,Mf as Tt,Mh as Et,Mi as Dt,Ml as Ot,Mp as kt,Mr as At,N as jt,Nf as Mt,Nh as Nt,Nm as Pt,Nn as Ft,Np as It,Nr as Lt,Oc as Rt,Oi as zt,Ol as Bt,Om as Vt,Op as Ht,Ot as Ut,Ou as Wt,Pa as Gt,Pc as Kt,Ph as qt,Pi as Jt,Pl as Yt,Pn as Xt,Pp as Zt,Pr as Qt,Pt as $t,Qa as en,Qf as tn,Qi as nn,Ql as rn,Qm as A,Qr as an,Qu as on,Rc as j,Rl as sn,Rn as cn,Rp as ln,Rs as un,Rt as dn,Ru as fn,Sd as pn,Sf as mn,Si as hn,Sn as gn,Sp as _n,Sr as vn,Su as yn,Td as bn,Th as xn,Ti as Sn,Tl as Cn,Tm as wn,Tn,To as En,Tp as Dn,Tr as On,Ts as kn,Tt as An,Tu as jn,Ua as Mn,Uc as Nn,Ud as Pn,Ui as M,Ul as Fn,Um as In,Un as Ln,Up as Rn,Us as zn,Uu as Bn,Va as Vn,Vc as Hn,Vi as Un,Vl as N,Vp as Wn,Vu as Gn,W as Kn,Wa as qn,Wd as Jn,Wf as Yn,Wh as Xn,Wl as Zn,Wm as P,Wn as Qn,Ws as $n,Wu as er,Xc as tr,Xf as nr,Xl as rr,Xm as ir,Xu as ar,Y as or,Yd as sr,Yl as cr,Yn as lr,Yp as ur,Yr as dr,Za as fr,Zd as pr,Zl as mr,Zm as F,Zr as hr,Zu as gr,_f as _r,_h as vr,_m as yr,_n as br,_p as xr,_s as Sr,_t as Cr,_u as wr,aa as Tr,ah as I,am as Er,ap as Dr,ar as Or,au as kr,bc as Ar,bd as jr,bf as Mr,bh as Nr,bn as Pr,bo as Fr,bp as Ir,br as Lr,bu as L,cc as Rr,ch as zr,cl as Br,cm as Vr,cp as Hr,ct as Ur,dd as Wr,df as Gr,di as Kr,dl as qr,dn as Jr,dp as Yr,dr as Xr,dt as Zr,ef as Qr,eg as $r,ei,en as ti,eo as ni,ep as ri,er as ii,es as ai,eu as oi,f as si,ff as ci,fh as li,fn as ui,fp as di,fr as fi,ft as pi,fu as mi,g as hi,gc as gi,gf as _i,gm as vi,go as yi,gp as bi,gr as xi,gt as Si,hd as Ci,hf as wi,hi as Ti,hm as Ei,hn as Di,hp as Oi,hr as ki,ht as Ai,ia as ji,id as Mi,ig as Ni,ih as Pi,ii as Fi,io as Ii,ip as Li,ir as Ri,it as zi,iu as Bi,jc as Vi,jf as Hi,ji as Ui,jl as Wi,jm as Gi,jn as Ki,jp as qi,js as Ji,jt as Yi,ju as Xi,kc as Zi,ki as Qi,kl as $i,kn as ea,kp as ta,ks as na,kt as ra,lg as ia,lh as aa,li as oa,ll as sa,lm as ca,ln as la,lp as ua,lr as da,lt as fa,lu as pa,m as ma,md as ha,mf as ga,mi as _a,ml as va,mm as ya,mn as ba,mp as xa,mr as Sa,ms as Ca,mt as wa,mu as Ta,na as Ea,nd as Da,nf as Oa,nh as ka,nn as Aa,no as ja,np as Ma,nr as Na,ns as Pa,nt as Fa,nu as R,od as Ia,of as La,og as Ra,oh as za,oi as Ba,ol as Va,on as Ha,op as Ua,or as Wa,ot as Ga,ou as Ka,pc as qa,pf as Ja,pl as Ya,pm as Xa,pn as Za,pp as Qa,pr as $a,ps as eo,pt as to,pu as z,q as no,qa as ro,qc as io,qd as B,qf as ao,qh as oo,ql as so,qm as co,qn as lo,qt as uo,qu as fo,ra as po,rf as mo,rg as ho,rh as go,ri as _o,rn as vo,ro as yo,rp as bo,rr as xo,ru as V,sa as So,sd as Co,sg as wo,sh as To,sl as Eo,sp as Do,sr as H,ss as Oo,su as ko,t as Ao,ta as jo,tf as Mo,tg as No,th as Po,ti as Fo,tl as Io,tm as Lo,tn as Ro,to as zo,tp as Bo,tt as Vo,tu as Ho,u as Uo,uh as Wo,ul as Go,um as Ko,un as qo,up as Jo,ur as Yo,us as Xo,ut as Zo,uu as Qo,v as $o,vd as U,vf as es,vh as ts,vm as W,vn as ns,vo as rs,vp as is,vr as as,vs as os,vu as ss,wh as cs,wm as ls,wn as us,wp as ds,ws as fs,wt as ps,wu as ms,xc as hs,xf as gs,xh as G,xl as _s,xm as vs,xp as ys,xs as bs,yc as xs,yf as Ss,yh as Cs,ym as ws,yn as Ts,yp as Es,ys as Ds,yt as Os,yu as ks,za as As,zc as K,zl as js,zm as Ms,zn as Ns,zp as Ps,zs as Fs,zt as Is}from"./format-OwxXBnDJ.js";import{n as Ls}from"./SettingsPage-CO3vIpPd.js";function Rs(e,t,n){return new zs(e,t,n)}var zs=class extends re{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function Bs(e){return Array.isArray(e)}function Vs(e){return!Bs(e)}function Hs(e){return typeof e==`string`}function Us(e){return!Hs(e)}function Ws(e){return!e}function Gs(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Ks(e){return e.replace(/[&<>'"_]/g,`-`)}function qs(e,t){console.log(`${e.languageId}: ${t}`)}function q(e,t){return Error(`${e.languageId}: ${t}`)}function Js(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return Ws(s)?Ws(c)?!Ws(l)&&l<r.length?Gs(e,r[l]):!Ws(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Ws(u)&&u<o.length?Gs(e,o[u]):``):Gs(e,n):`$`})}function Ys(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!Ws(r)&&r<i.length?Mt(Gs(e,i[r])):``})}function Xs(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Zs(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var Qs,$s,ec=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tc=function(e,t){return function(n,r){t(n,r,e)}},nc,rc=5,ic=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new ac(e,t);let n=ac.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new ac(e,t),this._entries[n]=r,r)}};Qs=ic,Qs._INSTANCE=new Qs(rc);var ac=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return ic.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return ic.create(this.parent,e)}},oc=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},sc=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new cc(e,t);let n=ac.getStackElementId(e),r=this._entries[n];return r||(r=new cc(e,null),this._entries[n]=r,r)}};$s=sc,$s._INSTANCE=new $s(rc);var cc=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:sc.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},lc=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Vr(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=ca.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new Vr(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new Ko(this._tokens,e)}},uc=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=ca.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new ot(e._merge(this._prependTokens,this._tokens,null),[],t)}},dc=nc=class extends F{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(ca.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,ca.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=ca.get(t);if(n){if(n instanceof nc){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}ca.isResolved(t)||e.push(ca.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=ic.create(null,this._lexer.start);return sc.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return St(this._languageId,n);let r=new lc,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return un(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new uc(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Xs(this._lexer,t.stack.state),!n))throw q(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!Us(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw q(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return sc.create(n.stack,new oc(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
2
- `:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,ee=d?d.groups.length:0,m=l.state,h=null,g=null,_=null,v=null,te=null;if(d){h=d.matches;let e=d.groups.shift();g=e.matched,_=e.action,v=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[m];if(!e&&(e=Xs(this._lexer,m),!e))throw q(this._lexer,`tokenizer state is not defined: `+m);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(h=t.match(n.resolveRegex(m)),h)){g=h[0],_=n.action;break}}if(h||(h=[``],g=``),_||=(u<s&&(h=[o.charAt(u)],g=h[0]),this._lexer.defaultToken),g===null)break;for(u+=g.length;Vs(_)&&Us(_)&&_.test;)_=_.test(g,h,m,u===s);let y=null;if(typeof _==`string`||Array.isArray(_))y=_;else if(_.group)y=_.group;else if(_.token!==null&&_.token!==void 0){if(y=_.tokenSubst?Js(this._lexer,_.token,g,h,m):_.token,_.nextEmbedded){if(_.nextEmbedded===`@pop`){if(!c)throw q(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw q(this._lexer,`cannot enter embedded language from within an embedded language`);else te=Js(this._lexer,_.nextEmbedded,g,h,m)}if(_.goBack&&(u=Math.max(0,u-_.goBack)),_.switchTo&&typeof _.switchTo==`string`){let e=Js(this._lexer,_.switchTo,g,h,m);if(e[0]===`@`&&(e=e.substr(1)),Xs(this._lexer,e))l=l.switchTo(e);else throw q(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(v))}else if(_.transform&&typeof _.transform==`function`)throw q(this._lexer,`action.transform not supported`);else if(_.next){if(_.next===`@push`){if(l.depth>=this._lexer.maxStack)throw q(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(m)}else if(_.next===`@pop`){if(l.depth<=1)throw q(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(v));l=l.pop()}else if(_.next===`@popall`)l=l.popall();else{let e=Js(this._lexer,_.next,g,h,m);if(e[0]===`@`&&(e=e.substr(1)),Xs(this._lexer,e))l=l.push(e);else throw q(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(v))}}_.log&&typeof _.log==`string`&&qs(this._lexer,this._lexer.languageId+`: `+Js(this._lexer,_.log,g,h,m))}if(y===null)throw q(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(v));let ne=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,sc.create(l,o),r+u,i)}return sc.create(l,o)};if(Array.isArray(y)){if(d&&d.groups.length>0)throw q(this._lexer,`groups cannot be nested: `+this._safeRuleName(v));if(h.length!==y.length+1)throw q(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(v));let e=0;for(let t=1;t<h.length;t++)e+=h[t].length;if(e!==g.length)throw q(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(v));d={rule:v,matches:h,groups:[]};for(let e=0;e<y.length;e++)d.groups[e]={action:y[e],matched:h[e+1]};u-=g.length;continue}{if(y===`@rematch`&&(u-=g.length,g=``,h=null,y=``,te!==null))return ne(te);if(g.length===0){if(s===0||p!==l.depth||m!==l.state||(d?d.groups.length:0)!==ee)continue;throw q(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(v))}let e=null;if(Hs(y)&&y.indexOf(`@brackets`)===0){let t=y.substr(9),n=fc(this._lexer,g);if(!n)throw q(this._lexer,`@brackets token returned but no bracket defined as: `+g);e=Ks(n.token+t)}else e=Ks(y===``?``:y+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(te!==null)return ne(te)}return sc.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new oc(e,tt);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),ca.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=ca.get(e);return t?new oc(e,t.getInitialState()):new oc(e,tt)}};dc=nc=ec([tc(4,K)],dc);function fc(e,t){if(!t)return null;t=Gs(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var pc=Ie(`standaloneColorizer`,{createHTML:e=>e}),mc=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=pc?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),it(t)&&(t=t.substr(1));let o=ao(t);if(!e.isRegisteredLanguageId(n))return gc(o,a,i);let s=await ca.getOrCreate(n);return s?hc(o,a,s,i):gc(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=Te.isBasicASCII(e,t),o=Te.containsRTL(e,a,n);return na(new _e(!1,!0,e,!1,a,o,0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function hc(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=_c(e,t,n,r);if(n instanceof dc){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function gc(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new Ji(i,o,n),c=Te.isBasicASCII(o,!0),l=Te.containsRTL(o,c,!0),u=na(new _e(!1,!0,o,!1,c,l,0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(u.html),r.push(`<br/>`)}return r.join(``)}function _c(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);Ji.convertToEndOffset(c.tokens,s.length);let l=new Ji(c.tokens,s,r),u=Te.isBasicASCII(s,!0),d=Te.containsRTL(s,u,!0),f=na(new _e(!1,!0,s,!1,u,d,0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(f.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var vc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yc=function(e,t){return function(n,r){t(n,r,e)}},bc=pa,xc=class extends Vn{get _targetWindow(){return O(this._target.targetElements[0])}get _targetDocumentElement(){return O(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle(`locked`,this._isLocked))}addMouseTrackingElement(e){return this._lockMouseTracker.addElement(e)}constructor(e,t,n,r,i){if(super(),this._keybindingService=t,this._configurationService=n,this._markdownRenderer=r,this._accessibilityService=i,this._messageListeners=new A,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new P),this._onRequestLayout=this._register(new P),this._linkHandler=e.linkHandler,this._target=`targetElements`in e.target?e.target:new Cc(e.target),this._anchorAlignment=e.position?.anchorAlignment??0,e.style)switch(e.style){case 1:e.appearance??={},e.appearance.compact??=!0,e.appearance.showPointer??=!0;break;case 2:e.appearance??={},e.appearance.compact??=!0}this._hoverPointer=e.appearance?.showPointer?bc(`div.workbench-hover-pointer`):void 0,this._hover=this._register(new dr(!e.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add(`workbench-hover`),e.appearance?.compact&&this._hover.containerDomNode.classList.add(`workbench-hover`,`compact`),this._hoverPointer&&this._hover.containerDomNode.classList.add(`with-pointer`),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0);let a=e.appearance?.maxHeightRatio;a!==void 0&&a>0&&a<=1&&(this._maxHeightRatioRelativeToWindow=a),this._hoverPosition=e.position?.hoverPosition===void 0?3:Nt(e.position.hoverPosition)?e.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,e=>e.stopPropagation()),this.onkeydown(this._hover.containerDomNode,e=>{e.equals(9)&&this.dispose()}),this._register(L(this._targetWindow,`blur`,()=>this.dispose()));let o=bc(`div.hover-row.markdown-hover`),s=bc(`div.hover-contents`);if(typeof e.content==`string`)s.textContent=e.content,s.style.whiteSpace=`pre-wrap`;else if(vt(e.content)){s.appendChild(e.content),s.classList.add(`html-hover-contents`);let t=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});t.observe(s),this._register(I(()=>t.disconnect()))}else{let t=e.content,{element:n}=this._register(this._markdownRenderer.render(t,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{s.classList.add(`code-hover-contents`),this.layout(),this._onRequestLayout.fire()}}));s.appendChild(n)}if(o.appendChild(s),this._hover.contentsDomNode.appendChild(o),e.actions&&e.actions.length>0){let t=bc(`div.hover-row.status-bar`),n=bc(`div.actions`);e.actions.forEach(e=>{let t=this._keybindingService.lookupKeybinding(e.commandId),r=t?t.getLabel():null;this._register(st.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},r))}),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}this._hoverContainer=bc(`div.workbench-hover-container`),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let c;if(c=e.actions&&e.actions.length>0?!1:e.persistence?.hideOnHover===void 0?typeof e.content==`string`||At(e.content)&&!e.content.value.includes(`](`)&&!e.content.value.includes(`</a>`):e.persistence.hideOnHover,e.appearance?.showHoverHint){let e=bc(`div.hover-row.status-bar`),t=bc(`div.info`);t.textContent=G(1794,`Hold {0} key to mouse over`,li?`Option`:`Alt`),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}let l=[...this._target.targetElements];c||l.push(this._hoverContainer);let u=this._mouseTracker=this._register(new Sc(l));if(this._register(u.onMouseOut(()=>{this._isLocked||this.dispose()})),c){let e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Sc(e)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=u}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;let e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){let n=on(this._hoverContainer,bc(`div`)),r=x(this._hoverContainer,bc(`div`));n.tabIndex=0,r.tabIndex=0,this._register(L(r,`focus`,t=>{e.focus(),t.preventDefault()})),this._register(L(n,`focus`,e=>{t.focus(),e.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes.item(e.childNodes.length-t-1);if(n.nodeType===n.ELEMENT_NODE){let e=n;if(typeof e.tabIndex==`number`&&e.tabIndex>=0)return e}let r=this.findLastFocusableChild(n);if(r)return r}}render(e){e.appendChild(this._hoverContainer);let t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&hr(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel());t&&kn(t),this.layout(),this.addFocusTrap()}layout(){this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker&&this._lockMouseTracker?.suppressPendingMouseOut(),this._hover.containerDomNode.classList.remove(`right-aligned`),this._hover.contentsDomNode.style.maxHeight=``,this._hover.containerDomNode.style.maxWidth=``;let e=e=>{let t=Xi(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}},{top:t,right:n,bottom:r,left:i}=this._target.targetElements.map(t=>e(t))[0],a=n-i,o=r-t,s={top:t,right:n,bottom:r,left:i,width:a,height:o,center:{x:i+a/2,y:t+o/2}};if(this.adjustHorizontalHoverPosition(s),this.adjustVerticalHoverPosition(s),this.adjustHoverMaxHeight(s),this._hoverContainer.style.padding=``,this._hoverContainer.style.margin=``,this._hoverPointer){switch(this._hoverPosition){case 1:s.left+=3,s.right+=3,this._hoverContainer.style.paddingLeft=`3px`,this._hoverContainer.style.marginLeft=`-3px`;break;case 0:s.left-=3,s.right-=3,this._hoverContainer.style.paddingRight=`3px`,this._hoverContainer.style.marginRight=`-3px`;break;case 2:s.top+=3,s.bottom+=3,this._hoverContainer.style.paddingTop=`3px`,this._hoverContainer.style.marginTop=`-3px`;break;case 3:s.top-=3,s.bottom-=3,this._hoverContainer.style.paddingBottom=`3px`,this._hoverContainer.style.marginBottom=`-3px`}s.center.x=s.left+a/2,s.center.y=s.top+o/2}this.computeXCordinate(s),this.computeYCordinate(s),this._hoverPointer&&(this._hoverPointer.classList.remove(`top`),this._hoverPointer.classList.remove(`left`),this._hoverPointer.classList.remove(`right`),this._hoverPointer.classList.remove(`bottom`),this.setHoverPointerPosition(s)),this._hover.onContentsChanged()}computeXCordinate(e){let t=this._hover.containerDomNode.clientWidth+2,n=this._targetDocumentElement.clientLeft;if(this._target.x!==void 0)this._x=this._target.x;else if(this._hoverPosition===1)this._x=e.right;else if(this._hoverPosition===0)this._x=e.left-t;else{this._x=this._anchorAlignment===1?e.right-t:this._hoverPointer?e.center.x-this._hover.containerDomNode.clientWidth/2:e.left;let r=this._targetDocumentElement.clientWidth;this._x+t>=r&&(this._hover.containerDomNode.classList.add(`right-aligned`),this._x=Math.max(r-t-2,n))}this._x<n&&(this._x=e.left+2)}computeYCordinate(e){this._y=this._target.y===void 0?this._hoverPosition===3?e.top:this._hoverPosition===2?e.bottom-2:this._hoverPointer?e.center.y+this._hover.containerDomNode.clientHeight/2:e.bottom:this._target.y,this._y>this._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;if(this._anchorAlignment===1&&(this._hoverPosition===3||this._hoverPosition===2)){let t=e.right-this._targetDocumentElement.clientLeft-2-2;this._hover.containerDomNode.clientWidth>t&&(this._hover.containerDomNode.style.maxWidth=`${Math.max(t,0)}px`);return}let t=this._hoverPointer?3:0;if(this._forcePosition){let n=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-n}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-n}px`);return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=e.left>=this._hover.containerDomNode.clientWidth+t?0:2):this._hoverPosition===0&&(e.left<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=this._targetDocumentElement.clientWidth-e.right>=this._hover.containerDomNode.clientWidth+t?1:2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;let t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.offsetHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){let n=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-n):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}this._hover.containerDomNode.style.maxHeight=``;let n=this._hover.containerDomNode.offsetHeight-this._hover.contentsDomNode.offsetHeight,r=Math.max(0,t-n);if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.style.maxHeight=`${r}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){let e=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==e&&(this._hover.contentsDomNode.style.paddingRight=e)}}setHoverPointerPosition(e){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?`right`:`left`);let t=this._hover.containerDomNode.clientHeight;t>e.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${t/2-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?`bottom`:`top`);let t=this._hover.containerDomNode.clientWidth/2-3,n=this._x+t;(n<e.left||n>e.right)&&(t=e.center.x-this._x-3),this._hoverPointer.style.left=`${t}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose()),this._isDisposed=!0}};xc=vc([yc(1,Jt),yc(2,K),yc(3,xi),yc(4,os)],xc);var Sc=class extends Vn{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e,t=200){super(),this._elements=e,this._eventDebounceDelay=t,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new i),this._onMouseOut=this._register(new P);for(let e of this._elements)this.onmouseover(e,()=>this._onTargetMouseOver()),this.onmouseleave(e,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new mo(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){!this._isMouseIn&&!this._suppressNextMouseOut&&this._onMouseOut.fire()}suppressPendingMouseOut(){this._isMouseIn||(this._suppressNextMouseOut=!0)}addElement(e){if(this._elements.includes(e))return F.None;this._elements.push(e);let t=new A;return t.add(L(e,z.MOUSE_OVER,()=>this._onTargetMouseOver())),t.add(L(e,z.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),t.add(I(()=>{let t=this._elements.indexOf(e);t>=0&&this._elements.splice(t,1)})),t}},Cc=class{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}};function wc(e){let t=e;return typeof t==`object`&&`markdown`in t&&`markdownNotSupportedFallback`in t}function Tc(e){let t=e;return typeof t==`object`&&`element`in t}var Ec=class{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){if(this._cancellationTokenSource&&=(this._cancellationTokenSource.dispose(!0),void 0),this.isDisposed)return;let r=Tc(e)&&e.contentOwnsPadding===!0,i;if(ke(e)||vt(e)||e===void 0)i=e;else{this._cancellationTokenSource=new Vt;let r=this._cancellationTokenSource.token,a;if(a=wc(e)?Et(e.markdown)?e.markdown(r).then(t=>t??e.markdownNotSupportedFallback):e.markdown??e.markdownNotSupportedFallback:e.element(r),a instanceof Promise?(this._hoverWidget||this.show(G(1795,`Loading...`),t,n,!1),i=await a):i=a,this.isDisposed||r.isCancellationRequested)return}this.show(i,t,n,r)}show(e,t,n,r){let i=this._hoverWidget;if(this.hasContent(e)){let a={content:e,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,additionalClasses:[...n?.additionalClasses??[],...r?[`managed-hover-content-owns-padding`]:[]],appearance:{showPointer:this.hoverDelegate.placement===`element`,skipFadeInAnimation:!this.fadeInAnimation||!!i,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2,anchorAlignment:n?.position?.anchorAlignment}};this._hoverWidget=this.hoverDelegate.showHover(a,t)}i?.dispose()}hasContent(e){return e?!At(e)||!!e.value:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}},Dc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Oc=function(e,t){return function(n,r){t(n,r,e)}},kc=3,Ac=class extends F{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(e){let t=vt(e)?[e]:e.targetElements;for(let e=this._hoverStack.length-1;e>=0;e--)for(let n of t)if(Gn(n,this._hoverStack[e].hover.domNode))return e;return-1}constructor(e,t,n,r,i,a){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=r,this._layoutService=i,this._accessibilityService=a,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(n.onDidShowContextMenu(()=>this.hideHover())),this._register(sn.registerCommandAndKeybindingRule({id:`workbench.action.showHover`,weight:0,primary:ls(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,n,r){let i=this._createHover(e,n);if(i)return this._showHover(i,e,t),i.hover}showDelayedHover(e,t){if(e.id===void 0&&(e.id=Mc(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(e.target)<0)return;if(jc(this._currentHoverOptions)===jc(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&jc(this._currentHoverOptions)===jc(e))return this._currentDelayedHover;let n=this._createHover(e,void 0);if(!n){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=n.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId;let r=t?.reducedDelay?this._configurationService.getValue(`workbench.hover.reducedDelay`):this._configurationService.getValue(`workbench.hover.delay`);return Gr(r).then(()=>{n.hover&&!n.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(n,e))}),n.hover}setupDelayedHover(e,t,n){return this._setupDelayedHover(e,n=>{let r={...typeof t==`function`?t():t,target:e};return r.style===2&&n&&(r.target=Rc(e,n)),r},n)}setupDelayedHoverAtMouse(e,t,n){return this._setupDelayedHover(e,n=>({...typeof t==`function`?t():t,target:n?Rc(e,n):e}),n)}_setupDelayedHover(e,t,n){let r=new A;return r.add(L(e,z.MOUSE_OVER,e=>{this.showDelayedHover(t(e),{groupId:n?.groupId,reducedDelay:n?.reducedDelay})})),n?.setupKeyboardEvents&&r.add(L(e,z.KEY_DOWN,e=>{let n=new Ja(e);(n.equals(10)||n.equals(3))&&this.showInstantHover(t(),!0)})),this._delayedHovers.set(e,{show:e=>{this.showInstantHover(t(),e)}}),r.add(I(()=>this._delayedHovers.delete(e))),r}_createHover(e,t){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,e.content===``)return;if(e.id===void 0&&(e.id=Mc(e.content)),this._getContainingHoverIndex(e.target)>=0){if(this._hoverStack.length>=kc)return}else if(this._currentHover?.isLocked||jc(this._currentHoverOptions)===jc(e))return;this._lastHoverOptions=e;let n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),r=Ee(),i;t||n&&r&&(r.classList.contains(`monaco-hover`)||(i=r));let a=new A,o=this._instantiationService.createInstance(xc,e);if(e.persistence?.sticky&&(o.isLocked=!0),e.position?.hoverPosition&&!Nt(e.position.hoverPosition)&&(e.target={targetElements:vt(e.target)?[e.target]:e.target.targetElements,x:e.position.hoverPosition.x+10}),o.onDispose(()=>{let e=this._hoverStack.findIndex(e=>e.hover===o);if(e>=0){let t=this._hoverStack[e];for(Xe(o.domNode)&&t.lastFocusedElementBeforeOpen&&t.lastFocusedElementBeforeOpen.focus();this._hoverStack.length>e+1;){let e=this._hoverStack.pop();e.contextView.dispose(),e.hover.dispose()}this._hoverStack.splice(e,1),t.contextView.dispose()}a.dispose()},void 0,a),!e.container){let t=vt(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(O(t))}if(a.add(L(O(e.container).document,z.MOUSE_DOWN,e=>{Gn(e.target,o.domNode)||this._hideHoverAndDescendants(o)})),!e.persistence?.sticky){if(`targetElements`in e.target)for(let t of e.target.targetElements)a.add(L(t,z.CLICK,()=>this._hideHoverAndDescendants(o)));else a.add(L(e.target,z.CLICK,()=>this._hideHoverAndDescendants(o)));let t=Ee();if(t){let n=O(t).document;a.add(L(t,z.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(n,z.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(t,z.KEY_UP,e=>this._keyUp(e,o))),a.add(L(n,z.KEY_UP,e=>this._keyUp(e,o)))}}if(`IntersectionObserver`in tn){let t=new IntersectionObserver(e=>this._intersectionChange(e,o),{threshold:0}),n=`targetElements`in e.target?e.target.targetElements[0]:e.target;t.observe(n),a.add(I(()=>t.disconnect()))}return{hover:o,lastFocusedElementBeforeOpen:i,store:a}}_showHover(e,t,n){let{hover:r,lastFocusedElementBeforeOpen:i,store:a}=e,o=this._getContainingHoverIndex(t.target),s=o>=0;if(!s)this._hideAllHovers();else{for(let e=this._hoverStack.length-1;e>o;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=o+1}if(s)for(let e=0;e<=o;e++)a.add(this._hoverStack[e].hover.addMouseTrackingElement(r.domNode));let c=t.container??this._layoutService.getContainer(O(vt(t.target)?t.target:t.target.targetElements[0])),l=new fi(c,1),u={hover:r,options:t,contextView:l,lastFocusedElementBeforeOpen:i};this._hoverStack.push(u);let d=new Fc(r,n,this._hoverStack.length);if(l.show(d),a.add(r.onRequestLayout(()=>l.layout())),n||t.persistence?.sticky){let e=O(c);a.add(L(e,z.RESIZE,()=>l.layout()))}if(t.onDidHide){let e=t.onDidHide;a.add(I(()=>e()))}t.onDidShow?.()}_hideHoverAndDescendants(e){let t=this._hoverStack.findIndex(t=>t.hover===e);if(t<0){e===this._currentDelayedHover&&this._cancelPendingDelayedHover();return}for(let e=this._hoverStack.length-1;e>=t;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=t}_cancelPendingDelayedHover(){this._currentDelayedHover&&!this._currentDelayedHoverWasShown&&(this._currentDelayedHover.dispose(),this._currentDelayedHover=void 0,this._currentDelayedHoverGroupId=void 0)}_hideAllHovers(){for(let e=this._hoverStack.length-1;e>=0;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=0}hideHover(e){(e||!this._currentHover?.isLocked)&&(this._cancelPendingDelayedHover(),this._hoverStack.length!==0&&this.doHideHover())}doHideHover(){let e=this._hoverStack.length;this._hoverStack[e-1]?.hover.dispose(),this._hoverStack.length=e-1}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let e=Ee();for(;e;){let t=this._delayedHovers.get(e)??this._managedHovers.get(e);if(t){t.show(!0);return}e=e.parentElement}}_keyDown(e,t,n){if(e.key===`Alt`){for(let e of this._hoverStack)e.hover.isLocked=!0;return}let r=new Ja(e);if(!(this._keybindingService.resolveKeyboardEvent(r).getSingleModifierDispatchChords().some(e=>!!e)||this._keybindingService.softDispatch(r,r.target).kind!==0)&&n&&(!this._currentHoverOptions?.trapFocus||e.key!==`Tab`)){let e=this._hoverStack.find(e=>e.hover===t);this._hideHoverAndDescendants(t),e?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(e,t){if(e.key===`Alt`){for(let e of this._hoverStack)e.options.persistence?.sticky||(e.hover.isLocked=!1);if(!this._hoverStack.some(e=>e.hover.isMouseIn)){let e=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),e?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(e,t,n,r){if(e.showNativeHover)return Pc(t,n);t.setAttribute(`custom-hover`,`true`),t.title!==``&&(console.warn(`HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.`),t.title=``);let i,a,o=(t,n)=>{let r=a!==void 0;t&&(a?.dispose(),a=void 0),n&&(i?.dispose(),i=void 0),r&&(e.onDidHideHover?.(),a=void 0)},s=(i,o,s,c)=>new mo(async()=>{(!a||a.isDisposed)&&(a=new Ec(e,s||t,i>0),await a.update(typeof n==`function`?n():n,o,{...r,trapFocus:c}))},i),c=new A,l=!1;c.add(L(t,z.MOUSE_DOWN,()=>{l=!0,o(!0,!0)},!0)),c.add(L(t,z.MOUSE_UP,()=>{l=!1},!0)),c.add(L(t,z.MOUSE_LEAVE,e=>{l=!1,o(!1,e.fromElement===t)},!0)),c.add(L(t,z.MOUSE_OVER,r=>{if(i)return;let a=new A,c={targetElements:[t],dispose:()=>{}};(e.placement===void 0||e.placement===`mouse`)&&a.add(L(t,z.MOUSE_MOVE,e=>{c.x=e.x+10,Ic(e,t)||o(!0,!0)},!0)),i=a,Ic(r,t)&&a.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c))},!0)),Bn(t)||c.add(L(t,z.FOCUS,r=>{if(l||i||(a?.isDisposed&&(a=void 0),vt(r.relatedTarget)&&r.relatedTarget.closest(`.monaco-hover`)||!r.relatedTarget)||!Ic(r,t))return;let c={targetElements:[t],dispose:()=>{}},u=new A;u.add(L(t,z.BLUR,()=>o(!0,!0),!0)),u.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c)),i=u},!0));let u={show:e=>{o(!1,!0),s(0,e,void 0,e)},hide:()=>{o(!0,!0)},update:async(e,t)=>{n=e,r=t,await a?.update(n,void 0,r)},dispose:()=>{this._managedHovers.delete(t),c.dispose(),o(!0,!0)}};return this._managedHovers.set(t,u),u}showManagedHover(e){let t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};Ac=Dc([Oc(0,V),Oc(1,K),Oc(2,an),Oc(3,Jt),Oc(4,Yo),Oc(5,os)],Ac);function jc(e){if(e!==void 0)return e?.id??e}function Mc(e){if(!vt(e))return typeof e==`string`?e.toString():e.value}function Nc(e){let t=typeof e==`function`?e():e;if(ke(t))return et(t);if(wc(t))return t.markdownNotSupportedFallback}function Pc(e,t){function n(t){t?e.setAttribute(`title`,t):e.removeAttribute(`title`)}return n(Nc(t)),{update:e=>n(Nc(e)),show:()=>{},hide:()=>{},dispose:()=>n(void 0)}}var Fc=class{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1,n=1){this._hover=e,this._focus=t,this.layer=n}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}};function Ic(e,t){return vt(e.target)&&Lc(e.target,t)===t}function Lc(e,t){for(t??=O(e).document.body;!e.hasAttribute(`custom-hover`)&&e!==t;)e=e.parentElement;return e}function Rc(e,t){return{targetElements:[e],x:t.x+10}}D(ei,Ac,1),ji((e,t)=>{let n=e.getColor(Ne);n&&(t.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))});var zc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bc=function(e,t){return function(n,r){t(n,r,e)}};function Vc(e){return e.scheme===B.file?e.fsPath:e.path}var Hc=0,Uc=class{constructor(e,t,n,r,i,a,o){this.id=++Hc,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Wc=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},Gc=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(G(2132,`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(G(2133,`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
1
+ import{$a as e,$d as t,$f as n,$i as r,$m as i,$n as a,$o as o,$r as s,$t as c,$u as l,A as u,Ac as d,Af as f,Am as p,Ap as ee,At as m,B as h,Ba as g,Bc as _,Bi as v,Bm as te,Bn as y,Bp as ne,Bs as re,Cc as ie,Cd as b,Ch as ae,Cm as oe,Cn as se,Cp as ce,Cu as x,D as le,Dc as ue,Dd as S,Di as de,Dl as fe,Dm as pe,Dn as me,Dp as he,Dr as ge,Ds as _e,Du as ve,Eh as ye,Ei as be,Em as xe,En as Se,Ep as Ce,Er as we,Es as Te,Eu as Ee,Fc as De,Ff as Oe,Fh as ke,Fi as Ae,Fm as je,Fn as Me,Fo as Ne,Fp as Pe,Fr as Fe,Fs as Ie,G as Le,Gf as Re,Gh as ze,Gl as Be,Gm as C,Gs as Ve,Gt as He,Gu as Ue,H as We,Ha as Ge,Hc as Ke,Hh as w,Hl as T,Hm as qe,Hn as Je,Hp as Ye,Hs as E,Hu as Xe,I as Ze,Ia as Qe,Ic as D,Ip as $e,Ir as et,Is as tt,Iu as O,J as nt,Jd as rt,Jf as it,Jm as at,Jp as ot,Jr as st,Jt as ct,Ju as lt,K as ut,Kc as dt,Kd as ft,Kf as pt,Kh as mt,Kl as ht,Km as gt,Kn as _t,Ku as vt,La as yt,Lc as bt,Lp as xt,Ls as St,Lt as Ct,Lu as k,Mc as wt,Mf as Tt,Mh as Et,Mi as Dt,Ml as Ot,Mp as kt,Mr as At,N as jt,Nf as Mt,Nh as Nt,Nm as Pt,Nn as Ft,Np as It,Nr as Lt,Oc as Rt,Oi as zt,Ol as Bt,Om as Vt,Op as Ht,Ot as Ut,Ou as Wt,Pa as Gt,Pc as Kt,Ph as qt,Pi as Jt,Pl as Yt,Pn as Xt,Pp as Zt,Pr as Qt,Pt as $t,Qa as en,Qf as tn,Qi as nn,Ql as rn,Qm as A,Qr as an,Qu as on,Rc as j,Rl as sn,Rn as cn,Rp as ln,Rs as un,Rt as dn,Ru as fn,Sd as pn,Sf as mn,Si as hn,Sn as gn,Sp as _n,Sr as vn,Su as yn,Td as bn,Th as xn,Ti as Sn,Tl as Cn,Tm as wn,Tn,To as En,Tp as Dn,Tr as On,Ts as kn,Tt as An,Tu as jn,Ua as Mn,Uc as Nn,Ud as Pn,Ui as M,Ul as Fn,Um as In,Un as Ln,Up as Rn,Us as zn,Uu as Bn,Va as Vn,Vc as Hn,Vi as Un,Vl as N,Vp as Wn,Vu as Gn,W as Kn,Wa as qn,Wd as Jn,Wf as Yn,Wh as Xn,Wl as Zn,Wm as P,Wn as Qn,Ws as $n,Wu as er,Xc as tr,Xf as nr,Xl as rr,Xm as ir,Xu as ar,Y as or,Yd as sr,Yl as cr,Yn as lr,Yp as ur,Yr as dr,Za as fr,Zd as pr,Zl as mr,Zm as F,Zr as hr,Zu as gr,_f as _r,_h as vr,_m as yr,_n as br,_p as xr,_s as Sr,_t as Cr,_u as wr,aa as Tr,ah as I,am as Er,ap as Dr,ar as Or,au as kr,bc as Ar,bd as jr,bf as Mr,bh as Nr,bn as Pr,bo as Fr,bp as Ir,br as Lr,bu as L,cc as Rr,ch as zr,cl as Br,cm as Vr,cp as Hr,ct as Ur,dd as Wr,df as Gr,di as Kr,dl as qr,dn as Jr,dp as Yr,dr as Xr,dt as Zr,ef as Qr,eg as $r,ei,en as ti,eo as ni,ep as ri,er as ii,es as ai,eu as oi,f as si,ff as ci,fh as li,fn as ui,fp as di,fr as fi,ft as pi,fu as mi,g as hi,gc as gi,gf as _i,gm as vi,go as yi,gp as bi,gr as xi,gt as Si,hd as Ci,hf as wi,hi as Ti,hm as Ei,hn as Di,hp as Oi,hr as ki,ht as Ai,ia as ji,id as Mi,ig as Ni,ih as Pi,ii as Fi,io as Ii,ip as Li,ir as Ri,it as zi,iu as Bi,jc as Vi,jf as Hi,ji as Ui,jl as Wi,jm as Gi,jn as Ki,jp as qi,js as Ji,jt as Yi,ju as Xi,kc as Zi,ki as Qi,kl as $i,kn as ea,kp as ta,ks as na,kt as ra,lg as ia,lh as aa,li as oa,ll as sa,lm as ca,ln as la,lp as ua,lr as da,lt as fa,lu as pa,m as ma,md as ha,mf as ga,mi as _a,ml as va,mm as ya,mn as ba,mp as xa,mr as Sa,ms as Ca,mt as wa,mu as Ta,na as Ea,nd as Da,nf as Oa,nh as ka,nn as Aa,no as ja,np as Ma,nr as Na,ns as Pa,nt as Fa,nu as R,od as Ia,of as La,og as Ra,oh as za,oi as Ba,ol as Va,on as Ha,op as Ua,or as Wa,ot as Ga,ou as Ka,pc as qa,pf as Ja,pl as Ya,pm as Xa,pn as Za,pp as Qa,pr as $a,ps as eo,pt as to,pu as z,q as no,qa as ro,qc as io,qd as B,qf as ao,qh as oo,ql as so,qm as co,qn as lo,qt as uo,qu as fo,ra as po,rf as mo,rg as ho,rh as go,ri as _o,rn as vo,ro as yo,rp as bo,rr as xo,ru as V,sa as So,sd as Co,sg as wo,sh as To,sl as Eo,sp as Do,sr as H,ss as Oo,su as ko,t as Ao,ta as jo,tf as Mo,tg as No,th as Po,ti as Fo,tl as Io,tm as Lo,tn as Ro,to as zo,tp as Bo,tt as Vo,tu as Ho,u as Uo,uh as Wo,ul as Go,um as Ko,un as qo,up as Jo,ur as Yo,us as Xo,ut as Zo,uu as Qo,v as $o,vd as U,vf as es,vh as ts,vm as W,vn as ns,vo as rs,vp as is,vr as as,vs as os,vu as ss,wh as cs,wm as ls,wn as us,wp as ds,ws as fs,wt as ps,wu as ms,xc as hs,xf as gs,xh as G,xl as _s,xm as vs,xp as ys,xs as bs,yc as xs,yf as Ss,yh as Cs,ym as ws,yn as Ts,yp as Es,ys as Ds,yt as Os,yu as ks,za as As,zc as K,zl as js,zm as Ms,zn as Ns,zp as Ps,zs as Fs,zt as Is}from"./format-yf9XM3dV.js";import{n as Ls}from"./SettingsPage-DDQCgnjL.js";function Rs(e,t,n){return new zs(e,t,n)}var zs=class extends re{constructor(e,t,n){super(n.worker,n.keepIdleModels||!1,e,t),this._foreignModuleHost=n.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function Bs(e){return Array.isArray(e)}function Vs(e){return!Bs(e)}function Hs(e){return typeof e==`string`}function Us(e){return!Hs(e)}function Ws(e){return!e}function Gs(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Ks(e){return e.replace(/[&<>'"_]/g,`-`)}function qs(e,t){console.log(`${e.languageId}: ${t}`)}function q(e,t){return Error(`${e.languageId}: ${t}`)}function Js(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return Ws(s)?Ws(c)?!Ws(l)&&l<r.length?Gs(e,r[l]):!Ws(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Ws(u)&&u<o.length?Gs(e,o[u]):``):Gs(e,n):`$`})}function Ys(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!Ws(r)&&r<i.length?Mt(Gs(e,i[r])):``})}function Xs(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Zs(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var Qs,$s,ec=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},tc=function(e,t){return function(n,r){t(n,r,e)}},nc,rc=5,ic=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new ac(e,t);let n=ac.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new ac(e,t),this._entries[n]=r,r)}};Qs=ic,Qs._INSTANCE=new Qs(rc);var ac=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return ic.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return ic.create(this.parent,e)}},oc=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},sc=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new cc(e,t);let n=ac.getStackElementId(e),r=this._entries[n];return r||(r=new cc(e,null),this._entries[n]=r,r)}};$s=sc,$s._INSTANCE=new $s(rc);var cc=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:sc.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},lc=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Vr(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=ca.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new Vr(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new Ko(this._tokens,e)}},uc=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=ca.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new ot(e._merge(this._prependTokens,this._tokens,null),[],t)}},dc=nc=class extends F{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(ca.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,ca.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=ca.get(t);if(n){if(n instanceof nc){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}}else ca.isResolved(t)||e.push(ca.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=ic.create(null,this._lexer.start);return sc.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return St(this._languageId,n);let r=new lc,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return un(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new uc(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Xs(this._lexer,t.stack.state),!n))throw q(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!Us(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw q(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return sc.create(n.stack,new oc(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
2
+ `:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,ee=d?d.groups.length:0,m=l.state,h=null,g=null,_=null,v=null,te=null;if(d){h=d.matches;let e=d.groups.shift();g=e.matched,_=e.action,v=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[m];if(!e&&(e=Xs(this._lexer,m),!e))throw q(this._lexer,`tokenizer state is not defined: `+m);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(h=t.match(n.resolveRegex(m)),h)){g=h[0],_=n.action;break}}if(h||(h=[``],g=``),_||=(u<s&&(h=[o.charAt(u)],g=h[0]),this._lexer.defaultToken),g===null)break;for(u+=g.length;Vs(_)&&Us(_)&&_.test;)_=_.test(g,h,m,u===s);let y=null;if(typeof _==`string`||Array.isArray(_))y=_;else if(_.group)y=_.group;else if(_.token!==null&&_.token!==void 0){if(y=_.tokenSubst?Js(this._lexer,_.token,g,h,m):_.token,_.nextEmbedded){if(_.nextEmbedded===`@pop`){if(!c)throw q(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw q(this._lexer,`cannot enter embedded language from within an embedded language`);else te=Js(this._lexer,_.nextEmbedded,g,h,m)}if(_.goBack&&(u=Math.max(0,u-_.goBack)),_.switchTo&&typeof _.switchTo==`string`){let e=Js(this._lexer,_.switchTo,g,h,m);if(e[0]===`@`&&(e=e.substr(1)),Xs(this._lexer,e))l=l.switchTo(e);else throw q(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(v))}else if(_.transform&&typeof _.transform==`function`)throw q(this._lexer,`action.transform not supported`);else if(_.next){if(_.next===`@push`){if(l.depth>=this._lexer.maxStack)throw q(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(m)}else if(_.next===`@pop`){if(l.depth<=1)throw q(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(v));l=l.pop()}else if(_.next===`@popall`)l=l.popall();else{let e=Js(this._lexer,_.next,g,h,m);if(e[0]===`@`&&(e=e.substr(1)),Xs(this._lexer,e))l=l.push(e);else throw q(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(v))}}_.log&&typeof _.log==`string`&&qs(this._lexer,this._lexer.languageId+`: `+Js(this._lexer,_.log,g,h,m))}if(y===null)throw q(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(v));let ne=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,sc.create(l,o),r+u,i)}return sc.create(l,o)};if(Array.isArray(y)){if(d&&d.groups.length>0)throw q(this._lexer,`groups cannot be nested: `+this._safeRuleName(v));if(h.length!==y.length+1)throw q(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(v));let e=0;for(let t=1;t<h.length;t++)e+=h[t].length;if(e!==g.length)throw q(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(v));d={rule:v,matches:h,groups:[]};for(let e=0;e<y.length;e++)d.groups[e]={action:y[e],matched:h[e+1]};u-=g.length}else{{if(y===`@rematch`&&(u-=g.length,g=``,h=null,y=``,te!==null))return ne(te);if(g.length===0){if(s===0||p!==l.depth||m!==l.state||(d?d.groups.length:0)!==ee)continue;throw q(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(v))}let e=null;if(Hs(y)&&y.indexOf(`@brackets`)===0){let t=y.substr(9),n=fc(this._lexer,g);if(!n)throw q(this._lexer,`@brackets token returned but no bracket defined as: `+g);e=Ks(n.token+t)}else e=Ks(y===``?``:y+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(te!==null)return ne(te)}}return sc.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new oc(e,tt);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),ca.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=ca.get(e);return t?new oc(e,t.getInitialState()):new oc(e,tt)}};dc=nc=ec([tc(4,K)],dc);function fc(e,t){if(!t)return null;t=Gs(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var pc=Ie(`standaloneColorizer`,{createHTML:e=>e}),mc=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=pc?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),it(t)&&(t=t.substr(1));let o=ao(t);if(!e.isRegisteredLanguageId(n))return gc(o,a,i);let s=await ca.getOrCreate(n);return s?hc(o,a,s,i):gc(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=Te.isBasicASCII(e,t),o=Te.containsRTL(e,a,n);return na(new _e(!1,!0,e,!1,a,o,0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function hc(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=_c(e,t,n,r);if(n instanceof dc){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function gc(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new Ji(i,o,n),c=Te.isBasicASCII(o,!0),l=Te.containsRTL(o,c,!0),u=na(new _e(!1,!0,o,!1,c,l,0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(u.html),r.push(`<br/>`)}return r.join(``)}function _c(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);Ji.convertToEndOffset(c.tokens,s.length);let l=new Ji(c.tokens,s,r),u=Te.isBasicASCII(s,!0),d=Te.containsRTL(s,u,!0),f=na(new _e(!1,!0,s,!1,u,d,0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(f.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var vc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yc=function(e,t){return function(n,r){t(n,r,e)}},bc=pa,xc=class extends Vn{get _targetWindow(){return O(this._target.targetElements[0])}get _targetDocumentElement(){return O(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle(`locked`,this._isLocked))}addMouseTrackingElement(e){return this._lockMouseTracker.addElement(e)}constructor(e,t,n,r,i){if(super(),this._keybindingService=t,this._configurationService=n,this._markdownRenderer=r,this._accessibilityService=i,this._messageListeners=new A,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._maxHeightRatioRelativeToWindow=.5,this._onDispose=this._register(new P),this._onRequestLayout=this._register(new P),this._linkHandler=e.linkHandler,this._target=`targetElements`in e.target?e.target:new Cc(e.target),this._anchorAlignment=e.position?.anchorAlignment??0,e.style)switch(e.style){case 1:e.appearance??={},e.appearance.compact??=!0,e.appearance.showPointer??=!0;break;case 2:e.appearance??={},e.appearance.compact??=!0}this._hoverPointer=e.appearance?.showPointer?bc(`div.workbench-hover-pointer`):void 0,this._hover=this._register(new dr(!e.appearance?.skipFadeInAnimation)),this._hover.containerDomNode.classList.add(`workbench-hover`),e.appearance?.compact&&this._hover.containerDomNode.classList.add(`workbench-hover`,`compact`),this._hoverPointer&&this._hover.containerDomNode.classList.add(`with-pointer`),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),e.position?.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0);let a=e.appearance?.maxHeightRatio;a!==void 0&&a>0&&a<=1&&(this._maxHeightRatioRelativeToWindow=a),this._hoverPosition=e.position?.hoverPosition===void 0?3:Nt(e.position.hoverPosition)?e.position.hoverPosition:2,this.onmousedown(this._hover.containerDomNode,e=>e.stopPropagation()),this.onkeydown(this._hover.containerDomNode,e=>{e.equals(9)&&this.dispose()}),this._register(L(this._targetWindow,`blur`,()=>this.dispose()));let o=bc(`div.hover-row.markdown-hover`),s=bc(`div.hover-contents`);if(typeof e.content==`string`)s.textContent=e.content,s.style.whiteSpace=`pre-wrap`;else if(vt(e.content)){s.appendChild(e.content),s.classList.add(`html-hover-contents`);let t=new ResizeObserver(()=>{this.layout(),this._onRequestLayout.fire()});t.observe(s),this._register(I(()=>t.disconnect()))}else{let t=e.content,{element:n}=this._register(this._markdownRenderer.render(t,{actionHandler:this._linkHandler,asyncRenderCallback:()=>{s.classList.add(`code-hover-contents`),this.layout(),this._onRequestLayout.fire()}}));s.appendChild(n)}if(o.appendChild(s),this._hover.contentsDomNode.appendChild(o),e.actions&&e.actions.length>0){let t=bc(`div.hover-row.status-bar`),n=bc(`div.actions`);e.actions.forEach(e=>{let t=this._keybindingService.lookupKeybinding(e.commandId),r=t?t.getLabel():null;this._register(st.render(n,{label:e.label,commandId:e.commandId,run:t=>{e.run(t),this.dispose()},iconClass:e.iconClass},r))}),t.appendChild(n),this._hover.containerDomNode.appendChild(t)}this._hoverContainer=bc(`div.workbench-hover-container`),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let c;if(c=e.actions&&e.actions.length>0?!1:e.persistence?.hideOnHover===void 0?typeof e.content==`string`||At(e.content)&&!e.content.value.includes(`](`)&&!e.content.value.includes(`</a>`):e.persistence.hideOnHover,e.appearance?.showHoverHint){let e=bc(`div.hover-row.status-bar`),t=bc(`div.info`);t.textContent=G(1794,`Hold {0} key to mouse over`,li?`Option`:`Alt`),e.appendChild(t),this._hover.containerDomNode.appendChild(e)}let l=[...this._target.targetElements];c||l.push(this._hoverContainer);let u=this._mouseTracker=this._register(new Sc(l));if(this._register(u.onMouseOut(()=>{this._isLocked||this.dispose()})),c){let e=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new Sc(e)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=u}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;let e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){let n=on(this._hoverContainer,bc(`div`)),r=x(this._hoverContainer,bc(`div`));n.tabIndex=0,r.tabIndex=0,this._register(L(r,`focus`,t=>{e.focus(),t.preventDefault()})),this._register(L(n,`focus`,e=>{t.focus(),e.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t<e.childNodes.length;t++){let n=e.childNodes.item(e.childNodes.length-t-1);if(n.nodeType===n.ELEMENT_NODE){let e=n;if(typeof e.tabIndex==`number`&&e.tabIndex>=0)return e}let r=this.findLastFocusableChild(n);if(r)return r}}render(e){e.appendChild(this._hoverContainer);let t=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&hr(this._configurationService.getValue(`accessibility.verbosity.hover`)===!0&&this._accessibilityService.isScreenReaderOptimized(),this._keybindingService.lookupKeybinding(`editor.action.accessibleView`)?.getAriaLabel());t&&kn(t),this.layout(),this.addFocusTrap()}layout(){this._mouseTracker?.suppressPendingMouseOut(),this._lockMouseTracker!==this._mouseTracker&&this._lockMouseTracker?.suppressPendingMouseOut(),this._hover.containerDomNode.classList.remove(`right-aligned`),this._hover.contentsDomNode.style.maxHeight=``,this._hover.containerDomNode.style.maxWidth=``;let e=e=>{let t=Xi(e),n=e.getBoundingClientRect();return{top:n.top*t,bottom:n.bottom*t,right:n.right*t,left:n.left*t}},{top:t,right:n,bottom:r,left:i}=this._target.targetElements.map(t=>e(t))[0],a=n-i,o=r-t,s={top:t,right:n,bottom:r,left:i,width:a,height:o,center:{x:i+a/2,y:t+o/2}};if(this.adjustHorizontalHoverPosition(s),this.adjustVerticalHoverPosition(s),this.adjustHoverMaxHeight(s),this._hoverContainer.style.padding=``,this._hoverContainer.style.margin=``,this._hoverPointer){switch(this._hoverPosition){case 1:s.left+=3,s.right+=3,this._hoverContainer.style.paddingLeft=`3px`,this._hoverContainer.style.marginLeft=`-3px`;break;case 0:s.left-=3,s.right-=3,this._hoverContainer.style.paddingRight=`3px`,this._hoverContainer.style.marginRight=`-3px`;break;case 2:s.top+=3,s.bottom+=3,this._hoverContainer.style.paddingTop=`3px`,this._hoverContainer.style.marginTop=`-3px`;break;case 3:s.top-=3,s.bottom-=3,this._hoverContainer.style.paddingBottom=`3px`,this._hoverContainer.style.marginBottom=`-3px`}s.center.x=s.left+a/2,s.center.y=s.top+o/2}this.computeXCordinate(s),this.computeYCordinate(s),this._hoverPointer&&(this._hoverPointer.classList.remove(`top`),this._hoverPointer.classList.remove(`left`),this._hoverPointer.classList.remove(`right`),this._hoverPointer.classList.remove(`bottom`),this.setHoverPointerPosition(s)),this._hover.onContentsChanged()}computeXCordinate(e){let t=this._hover.containerDomNode.clientWidth+2,n=this._targetDocumentElement.clientLeft;if(this._target.x!==void 0)this._x=this._target.x;else if(this._hoverPosition===1)this._x=e.right;else if(this._hoverPosition===0)this._x=e.left-t;else{this._x=this._anchorAlignment===1?e.right-t:this._hoverPointer?e.center.x-this._hover.containerDomNode.clientWidth/2:e.left;let r=this._targetDocumentElement.clientWidth;this._x+t>=r&&(this._hover.containerDomNode.classList.add(`right-aligned`),this._x=Math.max(r-t-2,n))}this._x<n&&(this._x=e.left+2)}computeYCordinate(e){this._y=this._target.y===void 0?this._hoverPosition===3?e.top:this._hoverPosition===2?e.bottom-2:this._hoverPointer?e.center.y+this._hover.containerDomNode.clientHeight/2:e.bottom:this._target.y,this._y>this._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;if(this._anchorAlignment===1&&(this._hoverPosition===3||this._hoverPosition===2)){let t=e.right-this._targetDocumentElement.clientLeft-2-2;this._hover.containerDomNode.clientWidth>t&&(this._hover.containerDomNode.style.maxWidth=`${Math.max(t,0)}px`);return}let t=this._hoverPointer?3:0;if(this._forcePosition){let n=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth=`${this._targetDocumentElement.clientWidth-e.right-n}px`:this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth=`${e.left-n}px`)}else this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=e.left>=this._hover.containerDomNode.clientWidth+t?0:2):this._hoverPosition===0&&(e.left<this._hover.containerDomNode.clientWidth+t&&(this._hoverPosition=this._targetDocumentElement.clientWidth-e.right>=this._hover.containerDomNode.clientWidth+t?1:2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;let t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.offsetHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight*this._maxHeightRatioRelativeToWindow;if(this._forcePosition){let n=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-n):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-n))}this._hover.containerDomNode.style.maxHeight=``;let n=this._hover.containerDomNode.offsetHeight-this._hover.contentsDomNode.offsetHeight,r=Math.max(0,t-n);if(this._hover.containerDomNode.style.maxHeight=`${t}px`,this._hover.contentsDomNode.style.maxHeight=`${r}px`,this._hover.contentsDomNode.clientHeight<this._hover.contentsDomNode.scrollHeight){let e=`${this._hover.scrollbar.options.verticalScrollbarSize}px`;this._hover.contentsDomNode.style.paddingRight!==e&&(this._hover.contentsDomNode.style.paddingRight=e)}}setHoverPointerPosition(e){if(this._hoverPointer)switch(this._hoverPosition){case 0:case 1:{this._hoverPointer.classList.add(this._hoverPosition===0?`right`:`left`);let t=this._hover.containerDomNode.clientHeight;t>e.height?this._hoverPointer.style.top=`${e.center.y-(this._y-t)-3}px`:this._hoverPointer.style.top=`${t/2-3}px`;break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?`bottom`:`top`);let t=this._hover.containerDomNode.clientWidth/2-3,n=this._x+t;(n<e.left||n>e.right)&&(t=e.center.x-this._x-3),this._hoverPointer.style.left=`${t}px`;break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._target.dispose?.(),this._hoverContainer.remove(),this._messageListeners.dispose(),super.dispose()),this._isDisposed=!0}};xc=vc([yc(1,Jt),yc(2,K),yc(3,xi),yc(4,os)],xc);var Sc=class extends Vn{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e,t=200){super(),this._elements=e,this._eventDebounceDelay=t,this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer=this._register(new i),this._onMouseOut=this._register(new P);for(let e of this._elements)this.onmouseover(e,()=>this._onTargetMouseOver()),this.onmouseleave(e,()=>this._onTargetMouseLeave())}_onTargetMouseOver(){this._isMouseIn=!0,this._suppressNextMouseOut=!1,this._mouseTimer.clear()}_onTargetMouseLeave(){this._isMouseIn=!1,this._mouseTimer.value=new mo(()=>this._fireIfMouseOutside(),this._eventDebounceDelay)}_fireIfMouseOutside(){!this._isMouseIn&&!this._suppressNextMouseOut&&this._onMouseOut.fire()}suppressPendingMouseOut(){this._isMouseIn||(this._suppressNextMouseOut=!0)}addElement(e){if(this._elements.includes(e))return F.None;this._elements.push(e);let t=new A;return t.add(L(e,z.MOUSE_OVER,()=>this._onTargetMouseOver())),t.add(L(e,z.MOUSE_LEAVE,()=>this._onTargetMouseLeave())),t.add(I(()=>{let t=this._elements.indexOf(e);t>=0&&this._elements.splice(t,1)})),t}},Cc=class{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}};function wc(e){let t=e;return typeof t==`object`&&`markdown`in t&&`markdownNotSupportedFallback`in t}function Tc(e){let t=e;return typeof t==`object`&&`element`in t}var Ec=class{constructor(e,t,n){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=n}async update(e,t,n){if(this._cancellationTokenSource&&=(this._cancellationTokenSource.dispose(!0),void 0),this.isDisposed)return;let r=Tc(e)&&e.contentOwnsPadding===!0,i;if(ke(e)||vt(e)||e===void 0)i=e;else{this._cancellationTokenSource=new Vt;let r=this._cancellationTokenSource.token,a;if(a=wc(e)?Et(e.markdown)?e.markdown(r).then(t=>t??e.markdownNotSupportedFallback):e.markdown??e.markdownNotSupportedFallback:e.element(r),a instanceof Promise?(this._hoverWidget||this.show(G(1795,`Loading...`),t,n,!1),i=await a):i=a,this.isDisposed||r.isCancellationRequested)return}this.show(i,t,n,r)}show(e,t,n,r){let i=this._hoverWidget;if(this.hasContent(e)){let a={content:e,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,additionalClasses:[...n?.additionalClasses??[],...r?[`managed-hover-content-owns-padding`]:[]],appearance:{showPointer:this.hoverDelegate.placement===`element`,skipFadeInAnimation:!this.fadeInAnimation||!!i,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2,anchorAlignment:n?.position?.anchorAlignment}};this._hoverWidget=this.hoverDelegate.showHover(a,t)}i?.dispose()}hasContent(e){return e?!At(e)||!!e.value:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}},Dc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Oc=function(e,t){return function(n,r){t(n,r,e)}},kc=3,Ac=class extends F{get _currentHover(){return this._hoverStack.at(-1)?.hover}get _currentHoverOptions(){return this._hoverStack.at(-1)?.options}_getContainingHoverIndex(e){let t=vt(e)?[e]:e.targetElements;for(let e=this._hoverStack.length-1;e>=0;e--)for(let n of t)if(Gn(n,this._hoverStack[e].hover.domNode))return e;return-1}constructor(e,t,n,r,i,a){super(),this._instantiationService=e,this._configurationService=t,this._keybindingService=r,this._layoutService=i,this._accessibilityService=a,this._hoverStack=[],this._currentDelayedHoverWasShown=!1,this._delayedHovers=new Map,this._managedHovers=new Map,this._register(n.onDidShowContextMenu(()=>this.hideHover())),this._register(sn.registerCommandAndKeybindingRule({id:`workbench.action.showHover`,weight:0,primary:ls(2089,2087),handler:()=>{this._showAndFocusHoverForActiveElement()}}))}showInstantHover(e,t,n,r){let i=this._createHover(e,n);if(i)return this._showHover(i,e,t),i.hover}showDelayedHover(e,t){if(e.id===void 0&&(e.id=Mc(e.content)),!this._currentDelayedHover||this._currentDelayedHoverWasShown){if(this._currentHover?.isLocked&&this._getContainingHoverIndex(e.target)<0)return;if(jc(this._currentHoverOptions)===jc(e))return this._currentHover;if(this._currentHover&&!this._currentHover.isDisposed&&this._currentDelayedHoverGroupId!==void 0&&this._currentDelayedHoverGroupId===t?.groupId)return this.showInstantHover({...e,appearance:{...e.appearance,skipFadeInAnimation:!0}})}else if(this._currentDelayedHover&&jc(this._currentHoverOptions)===jc(e))return this._currentDelayedHover;let n=this._createHover(e,void 0);if(!n){this._currentDelayedHover=void 0,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=void 0;return}this._currentDelayedHover=n.hover,this._currentDelayedHoverWasShown=!1,this._currentDelayedHoverGroupId=t?.groupId;let r=t?.reducedDelay?this._configurationService.getValue(`workbench.hover.reducedDelay`):this._configurationService.getValue(`workbench.hover.delay`);return Gr(r).then(()=>{n.hover&&!n.hover.isDisposed&&(this._currentDelayedHoverWasShown=!0,this._showHover(n,e))}),n.hover}setupDelayedHover(e,t,n){return this._setupDelayedHover(e,n=>{let r={...typeof t==`function`?t():t,target:e};return r.style===2&&n&&(r.target=Rc(e,n)),r},n)}setupDelayedHoverAtMouse(e,t,n){return this._setupDelayedHover(e,n=>({...typeof t==`function`?t():t,target:n?Rc(e,n):e}),n)}_setupDelayedHover(e,t,n){let r=new A;return r.add(L(e,z.MOUSE_OVER,e=>{this.showDelayedHover(t(e),{groupId:n?.groupId,reducedDelay:n?.reducedDelay})})),n?.setupKeyboardEvents&&r.add(L(e,z.KEY_DOWN,e=>{let n=new Ja(e);(n.equals(10)||n.equals(3))&&this.showInstantHover(t(),!0)})),this._delayedHovers.set(e,{show:e=>{this.showInstantHover(t(),e)}}),r.add(I(()=>this._delayedHovers.delete(e))),r}_createHover(e,t){if(this._currentDelayedHover?.dispose(),this._currentDelayedHover=void 0,e.content===``)return;if(e.id===void 0&&(e.id=Mc(e.content)),this._getContainingHoverIndex(e.target)>=0){if(this._hoverStack.length>=kc)return}else if(this._currentHover?.isLocked||jc(this._currentHoverOptions)===jc(e))return;this._lastHoverOptions=e;let n=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),r=Ee(),i;t||n&&r&&(r.classList.contains(`monaco-hover`)||(i=r));let a=new A,o=this._instantiationService.createInstance(xc,e);if(e.persistence?.sticky&&(o.isLocked=!0),e.position?.hoverPosition&&!Nt(e.position.hoverPosition)&&(e.target={targetElements:vt(e.target)?[e.target]:e.target.targetElements,x:e.position.hoverPosition.x+10}),o.onDispose(()=>{let e=this._hoverStack.findIndex(e=>e.hover===o);if(e>=0){let t=this._hoverStack[e];for(Xe(o.domNode)&&t.lastFocusedElementBeforeOpen&&t.lastFocusedElementBeforeOpen.focus();this._hoverStack.length>e+1;){let e=this._hoverStack.pop();e.contextView.dispose(),e.hover.dispose()}this._hoverStack.splice(e,1),t.contextView.dispose()}a.dispose()},void 0,a),!e.container){let t=vt(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(O(t))}if(a.add(L(O(e.container).document,z.MOUSE_DOWN,e=>{Gn(e.target,o.domNode)||this._hideHoverAndDescendants(o)})),!e.persistence?.sticky){if(`targetElements`in e.target)for(let t of e.target.targetElements)a.add(L(t,z.CLICK,()=>this._hideHoverAndDescendants(o)));else a.add(L(e.target,z.CLICK,()=>this._hideHoverAndDescendants(o)));let t=Ee();if(t){let n=O(t).document;a.add(L(t,z.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(n,z.KEY_DOWN,t=>this._keyDown(t,o,!!e.persistence?.hideOnKeyDown))),a.add(L(t,z.KEY_UP,e=>this._keyUp(e,o))),a.add(L(n,z.KEY_UP,e=>this._keyUp(e,o)))}}if(`IntersectionObserver`in tn){let t=new IntersectionObserver(e=>this._intersectionChange(e,o),{threshold:0}),n=`targetElements`in e.target?e.target.targetElements[0]:e.target;t.observe(n),a.add(I(()=>t.disconnect()))}return{hover:o,lastFocusedElementBeforeOpen:i,store:a}}_showHover(e,t,n){let{hover:r,lastFocusedElementBeforeOpen:i,store:a}=e,o=this._getContainingHoverIndex(t.target),s=o>=0;if(!s)this._hideAllHovers();else{for(let e=this._hoverStack.length-1;e>o;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=o+1}if(s)for(let e=0;e<=o;e++)a.add(this._hoverStack[e].hover.addMouseTrackingElement(r.domNode));let c=t.container??this._layoutService.getContainer(O(vt(t.target)?t.target:t.target.targetElements[0])),l=new fi(c,1),u={hover:r,options:t,contextView:l,lastFocusedElementBeforeOpen:i};this._hoverStack.push(u);let d=new Fc(r,n,this._hoverStack.length);if(l.show(d),a.add(r.onRequestLayout(()=>l.layout())),n||t.persistence?.sticky){let e=O(c);a.add(L(e,z.RESIZE,()=>l.layout()))}if(t.onDidHide){let e=t.onDidHide;a.add(I(()=>e()))}t.onDidShow?.()}_hideHoverAndDescendants(e){let t=this._hoverStack.findIndex(t=>t.hover===e);if(t<0)e===this._currentDelayedHover&&this._cancelPendingDelayedHover();else{for(let e=this._hoverStack.length-1;e>=t;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=t}}_cancelPendingDelayedHover(){this._currentDelayedHover&&!this._currentDelayedHoverWasShown&&(this._currentDelayedHover.dispose(),this._currentDelayedHover=void 0,this._currentDelayedHoverGroupId=void 0)}_hideAllHovers(){for(let e=this._hoverStack.length-1;e>=0;e--)this._hoverStack[e].hover.dispose();this._hoverStack.length=0}hideHover(e){(e||!this._currentHover?.isLocked)&&(this._cancelPendingDelayedHover(),this._hoverStack.length!==0&&this.doHideHover())}doHideHover(){let e=this._hoverStack.length;this._hoverStack[e-1]?.hover.dispose(),this._hoverStack.length=e-1}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showInstantHover(this._lastHoverOptions,!0,!0)}_showAndFocusHoverForActiveElement(){let e=Ee();for(;e;){let t=this._delayedHovers.get(e)??this._managedHovers.get(e);if(t){t.show(!0);return}e=e.parentElement}}_keyDown(e,t,n){if(e.key===`Alt`){for(let e of this._hoverStack)e.hover.isLocked=!0;return}let r=new Ja(e);if(!(this._keybindingService.resolveKeyboardEvent(r).getSingleModifierDispatchChords().some(e=>!!e)||this._keybindingService.softDispatch(r,r.target).kind!==0)&&n&&(!this._currentHoverOptions?.trapFocus||e.key!==`Tab`)){let e=this._hoverStack.find(e=>e.hover===t);this._hideHoverAndDescendants(t),e?.lastFocusedElementBeforeOpen?.focus()}}_keyUp(e,t){if(e.key===`Alt`){for(let e of this._hoverStack)e.options.persistence?.sticky||(e.hover.isLocked=!1);if(!this._hoverStack.some(e=>e.hover.isMouseIn)){let e=this._hoverStack[this._hoverStack.length-1];this._hideAllHovers(),e?.lastFocusedElementBeforeOpen?.focus()}}}setupManagedHover(e,t,n,r){if(e.showNativeHover)return Pc(t,n);t.setAttribute(`custom-hover`,`true`),t.title!==``&&(console.warn(`HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute.`),t.title=``);let i,a,o=(t,n)=>{let r=a!==void 0;t&&(a?.dispose(),a=void 0),n&&(i?.dispose(),i=void 0),r&&(e.onDidHideHover?.(),a=void 0)},s=(i,o,s,c)=>new mo(async()=>{(!a||a.isDisposed)&&(a=new Ec(e,s||t,i>0),await a.update(typeof n==`function`?n():n,o,{...r,trapFocus:c}))},i),c=new A,l=!1;c.add(L(t,z.MOUSE_DOWN,()=>{l=!0,o(!0,!0)},!0)),c.add(L(t,z.MOUSE_UP,()=>{l=!1},!0)),c.add(L(t,z.MOUSE_LEAVE,e=>{l=!1,o(!1,e.fromElement===t)},!0)),c.add(L(t,z.MOUSE_OVER,r=>{if(i)return;let a=new A,c={targetElements:[t],dispose:()=>{}};(e.placement===void 0||e.placement===`mouse`)&&a.add(L(t,z.MOUSE_MOVE,e=>{c.x=e.x+10,Ic(e,t)||o(!0,!0)},!0)),i=a,Ic(r,t)&&a.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c))},!0)),Bn(t)||c.add(L(t,z.FOCUS,r=>{if(l||i||(a?.isDisposed&&(a=void 0),vt(r.relatedTarget)&&r.relatedTarget.closest(`.monaco-hover`)||!r.relatedTarget)||!Ic(r,t))return;let c={targetElements:[t],dispose:()=>{}},u=new A;u.add(L(t,z.BLUR,()=>o(!0,!0),!0)),u.add(s(typeof e.delay==`function`?e.delay(n):e.delay,!1,c)),i=u},!0));let u={show:e=>{o(!1,!0),s(0,e,void 0,e)},hide:()=>{o(!0,!0)},update:async(e,t)=>{n=e,r=t,await a?.update(n,void 0,r)},dispose:()=>{this._managedHovers.delete(t),c.dispose(),o(!0,!0)}};return this._managedHovers.set(t,u),u}showManagedHover(e){let t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};Ac=Dc([Oc(0,V),Oc(1,K),Oc(2,an),Oc(3,Jt),Oc(4,Yo),Oc(5,os)],Ac);function jc(e){if(e!==void 0)return e?.id??e}function Mc(e){if(!vt(e))return typeof e==`string`?e.toString():e.value}function Nc(e){let t=typeof e==`function`?e():e;if(ke(t))return et(t);if(wc(t))return t.markdownNotSupportedFallback}function Pc(e,t){function n(t){t?e.setAttribute(`title`,t):e.removeAttribute(`title`)}return n(Nc(t)),{update:e=>n(Nc(e)),show:()=>{},hide:()=>{},dispose:()=>n(void 0)}}var Fc=class{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1,n=1){this._hover=e,this._focus=t,this.layer=n}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}};function Ic(e,t){return vt(e.target)&&Lc(e.target,t)===t}function Lc(e,t){for(t??=O(e).document.body;!e.hasAttribute(`custom-hover`)&&e!==t;)e=e.parentElement;return e}function Rc(e,t){return{targetElements:[e],x:t.x+10}}D(ei,Ac,1),ji((e,t)=>{let n=e.getColor(Ne);n&&(t.addRule(`.monaco-hover.workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${n.transparent(.5)}; }`),t.addRule(`.monaco-hover.workbench-hover hr { border-top: 1px solid ${n.transparent(.5)}; }`))});var zc=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bc=function(e,t){return function(n,r){t(n,r,e)}};function Vc(e){return e.scheme===B.file?e.fsPath:e.path}var Hc=0,Uc=class{constructor(e,t,n,r,i,a,o){this.id=++Hc,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},Wc=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},Gc=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(G(2132,`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(G(2133,`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
3
3
  `)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},Kc=class{constructor(e,t,n,r,i,a,o){this.id=++Hc,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==`function`}removeResource(e,t,n){this.removedResources||=new Gc,this.removedResources.has(t)||this.removedResources.set(t,new Wc(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||=new Gc,this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Wc(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?`INVALID`:` VALID`}] ${this.actual.constructor.name} - ${this.actual}`}},qc=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
4
4
  `)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(let n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(let n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){let t=[];for(let e=0,n=this._past.length;e<n;e++)t.push(this._past[e].id);for(let e=this._future.length-1;e>=0;e--)t.push(this._future[e].id);return new be(e,t)}restoreSnapshot(e){let t=e.elements.length,n=!0,r=0,i=-1;for(let a=0,o=this._past.length;a<o;a++,r++){let o=this._past[a];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,i=a),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}let a=-1;for(let i=this._future.length-1;i>=0;i--,r++){let o=this._future[i];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,a=i),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}i!==-1&&(this._past=this._past.slice(0,i)),a!==-1&&(this._future=this._future.slice(a+1)),this.versionId++}getElements(){let e=[],t=[];for(let t of this._past)e.push(t.actual);for(let e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},Jc=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;e<t;e++)this._versionIds[e]=this.editStacks[e].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}},Yc=new qc(``,``);Yc.locked=!0;var Xc=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(let t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log(`------------------------------------`),console.log(`AFTER ${e}: `);let t=[];for(let e of this._editStacks)t.push(e[1].toString());console.log(t.join(`
5
- `))}pushElement(e,t=de.None,n=zt.None){if(e.type===0){let r=Vc(e.resource),i=this.getUriComparisonKey(e.resource);this._pushElement(new Uc(e,r,i,t.id,t.nextOrder(),n.id,n.nextOrder()))}else{let r=new Set,i=[],a=[];for(let t of e.resources){let e=Vc(t),n=this.getUriComparisonKey(t);r.has(n)||(r.add(n),i.push(e),a.push(n))}i.length===1?this._pushElement(new Uc(e,i[0],a[0],t.id,t.nextOrder(),n.id,n.nextOrder())):this._pushElement(new Kc(e,i,a,t.id,t.nextOrder(),n.id,n.nextOrder()))}}_pushElement(e){for(let t=0,n=e.strResources.length;t<n;t++){let n=e.resourceLabels[t],r=e.strResources[t],i;this._editStacks.has(r)?i=this._editStacks.get(r):(i=new qc(n,r),this._editStacks.set(r,i)),i.pushElement(e)}}getLastElement(e){let t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){let e=this._editStacks.get(t);if(e.hasFutureElements())return null;let n=e.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new Uc(e,Vc(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitPastWorkspaceElement(e,r)}_splitFutureWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new Uc(e,Vc(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitFutureWorkspaceElement(e,r)}removeElements(e){let t=typeof e==`string`?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,n){let r=this.getUriComparisonKey(e);this._editStacks.has(r)&&this._editStacks.get(r).setElementsValidFlag(t,n)}createSnapshot(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new be(e,[])}restoreSnapshot(e){let t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){let n=this._editStacks.get(t);n.restoreSnapshot(e),!n.hasPastElements()&&!n.hasFutureElements()&&(n.dispose(),this._editStacks.delete(t))}}getElements(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.sourceId===e&&(!t||a.sourceOrder>t.sourceOrder)&&(t=a,n=r)}return[t,n]}canUndo(e){if(e instanceof zt){let[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){oo(e);for(let e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(let t of e.editStacks)if(t.locked)throw Error(`Cannot acquire edit stack lock`);for(let t of e.editStacks)t.locked=!0;return()=>{for(let t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,r,i){let a=this._acquireLocks(n),o;try{o=t()}catch(t){return a(),r.dispose(),this._onError(t,e)}return o?o.then(()=>(a(),r.dispose(),i()),t=>(a(),r.dispose(),this._onError(t,e))):(a(),r.dispose(),i())}async _invokeWorkspacePrepare(e){if(e.actual.prepareUndoRedo===void 0)return F.None;let t=e.actual.prepareUndoRedo();return t===void 0?F.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||e.actual.prepareUndoRedo===void 0)return t(F.None);let n=e.actual.prepareUndoRedo();return n?Pi(n)?t(n):n.then(e=>t(e)):t(F.None)}_getAffectedEditStacks(e){let t=[];for(let n of e.strResources)t.push(this._editStacks.get(n)||Yc);return new Jc(t)}_tryToSplitAndUndo(e,t,n,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(r),new Zc(this._undo(e,0,!0));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new Zc}_checkWorkspaceUndo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,G(2134,`Could not undo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,G(2135,`Could not undo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestPastElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndUndo(e,t,null,G(2136,`Could not undo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndUndo(e,t,null,G(2137,`Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,G(2138,`Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceUndo(e,t,n){let r=this._getAffectedEditStacks(t),i=this._checkWorkspaceUndo(e,t,r,!1);return i?i.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(let[,t]of this._editStacks){let n=t.getClosestPastElement();if(n){if(n===e){let n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,n,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let i;(function(e){e[e.All=0]=`All`,e[e.This=1]=`This`,e[e.Cancel=2]=`Cancel`})(i||={});let{result:a}=await this._dialogService.prompt({type:M.Info,message:G(2139,`Would you like to undo '{0}' across all files?`,t.label),buttons:[{label:G(2140,`&&Undo in {0} Files`,n.editStacks.length),run:()=>i.All},{label:G(2141,`Undo this &&File`),run:()=>i.This}],cancelButton:{run:()=>i.Cancel}});if(a===i.Cancel)return;if(a===i.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);let o=this._checkWorkspaceUndo(e,t,n,!1);if(o)return o.returnValue;r=!0}let i;try{i=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let a=this._checkWorkspaceUndo(e,t,n,!0);if(a)return i.dispose(),a.returnValue;for(let e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),n,i,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,n){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=G(2142,`Could not undo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new Jc([e]),r,()=>this._continueUndoInGroup(t.groupId,n))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.groupId===e&&(!t||a.groupOrder>t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;let[,n]=this._findClosestUndoElementInGroup(e);if(n)return this._undo(n,0,t)}undo(e){if(e instanceof zt){let[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e==`string`?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;let r=this._editStacks.get(e),i=r.getClosestPastElement();if(i){if(i.groupId){let[e,r]=this._findClosestUndoElementInGroup(i.groupId);if(i!==e&&r)return this._undo(r,t,n)}if((i.sourceId!==t||i.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,i);try{return i.type===1?this._workspaceUndo(e,i,n):this._resourceUndo(r,i,n)}finally{}}}async _confirmAndContinueUndo(e,t,n){if((await this._dialogService.confirm({message:G(2143,`Would you like to undo '{0}'?`,n.label),primaryButton:G(2144,`&&Yes`),cancelButton:G(2145,`No`)})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.sourceId===e&&(!t||a.sourceOrder<t.sourceOrder)&&(t=a,n=r)}return[t,n]}canRedo(e){if(e instanceof zt){let[,t]=this._findClosestRedoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasFutureElements():!1}_tryToSplitAndRedo(e,t,n,r){if(t.canSplit())return this._splitFutureWorkspaceElement(t,n),this._notificationService.warn(r),new Zc(this._redo(e));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new Zc}_checkWorkspaceRedo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndRedo(e,t,t.removedResources,G(2146,`Could not redo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndRedo(e,t,t.invalidatedResources,G(2147,`Could not redo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestFutureElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndRedo(e,t,null,G(2148,`Could not redo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndRedo(e,t,null,G(2149,`Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,G(2150,`Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceRedo(e,t){let n=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,n,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,n)}async _executeWorkspaceRedo(e,t,n){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let i=this._checkWorkspaceRedo(e,t,n,!0);if(i)return r.dispose(),i.returnValue;for(let e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),n,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){let e=G(2151,`Could not redo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e);return}return this._invokeResourcePrepare(t,n=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new Jc([e]),n,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.groupId===e&&(!t||a.groupOrder<t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueRedoInGroup(e){if(!e)return;let[,t]=this._findClosestRedoElementInGroup(e);if(t)return this._redo(t)}redo(e){if(e instanceof zt){let[,t]=this._findClosestRedoElementWithSource(e.id);return t?this._redo(t):void 0}return typeof e==`string`?this._redo(e):this._redo(this.getUriComparisonKey(e))}_redo(e){if(!this._editStacks.has(e))return;let t=this._editStacks.get(e),n=t.getClosestFutureElement();if(n){if(n.groupId){let[e,t]=this._findClosestRedoElementInGroup(n.groupId);if(n!==e&&t)return this._redo(t)}try{return n.type===1?this._workspaceRedo(e,n):this._resourceRedo(t,n)}finally{}}}};Xc=zc([Bc(0,da),Bc(1,v)],Xc);var Zc=class{constructor(e){this.returnValue=e}};D(Sn,Xc,1);function Qc(e){return typeof e==`string`?!1:Array.isArray(e)?e.every(Qc):!!e.exclusive}var $c=class{constructor(e,t,n,r,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r,this.recursive=i}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}},J=class e{get onDidChange(){return this._onDidChange.event}constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new P}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),I(()=>{if(n){let e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);let t=[];for(let e of this._entries)e._score>0&&t.push(e.provider);return t}allNoModel(){return this._entries.map(e=>e.provider)}ordered(e,t=!1){let n=[];return this._orderedForEach(e,t,e=>n.push(e.provider)),n}orderedGroups(e){let t=[],n,r;return this._orderedForEach(e,!1,e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))}),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(let e of this._entries)e._score>0&&n(e)}_updateScores(t,n){let r=this._notebookInfoResolver?.(t.uri),i=r?new $c(t.uri,t.getLanguageId(),r.uri,r.type,n):new $c(t.uri,t.getLanguageId(),void 0,void 0,n);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(let e of this._entries)if(e._score=_t(e.selector,i.uri,i.languageId,hs(t),i.notebookUri,i.notebookType),Qc(e.selector)&&e._score>0){if(n)e._score=0;else{for(let e of this._entries)e._score=0;e._score=1e3;break}}this._entries.sort(e._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:el(e.selector)&&!el(t.selector)?1:!el(e.selector)&&el(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}};function el(e){return typeof e==`string`?!1:Array.isArray(e)?e.some(el):!!e.isBuiltin}D(E,class{constructor(){this.referenceProvider=new J(this._score.bind(this)),this.renameProvider=new J(this._score.bind(this)),this.newSymbolNamesProvider=new J(this._score.bind(this)),this.codeActionProvider=new J(this._score.bind(this)),this.definitionProvider=new J(this._score.bind(this)),this.typeDefinitionProvider=new J(this._score.bind(this)),this.declarationProvider=new J(this._score.bind(this)),this.implementationProvider=new J(this._score.bind(this)),this.documentSymbolProvider=new J(this._score.bind(this)),this.inlayHintsProvider=new J(this._score.bind(this)),this.colorProvider=new J(this._score.bind(this)),this.codeLensProvider=new J(this._score.bind(this)),this.documentFormattingEditProvider=new J(this._score.bind(this)),this.documentRangeFormattingEditProvider=new J(this._score.bind(this)),this.onTypeFormattingEditProvider=new J(this._score.bind(this)),this.signatureHelpProvider=new J(this._score.bind(this)),this.hoverProvider=new J(this._score.bind(this)),this.documentHighlightProvider=new J(this._score.bind(this)),this.multiDocumentHighlightProvider=new J(this._score.bind(this)),this.selectionRangeProvider=new J(this._score.bind(this)),this.foldingRangeProvider=new J(this._score.bind(this)),this.linkProvider=new J(this._score.bind(this)),this.inlineCompletionsProvider=new J(this._score.bind(this)),this.completionProvider=new J(this._score.bind(this)),this.linkedEditingRangeProvider=new J(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new J(this._score.bind(this)),this.documentSemanticTokensProvider=new J(this._score.bind(this)),this.documentDropEditProvider=new J(this._score.bind(this)),this.documentPasteEditProvider=new J(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}},1);var tl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nl=function(e,t){return function(n,r){t(n,r,e)}},rl=class extends F{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new Qn(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};rl=tl([nl(0,Ea),nl(1,Eo),nl(2,j)],rl),D(Ln,rl,1);var il=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},al=function(e,t){return function(n,r){t(n,r,e)}},ol=class extends F{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new P),this._onCodeEditorAdd=this._register(new P),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new P),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new P),this._onDiffEditorAdd=this._register(new P),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new P),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ir,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null,t=this.listCodeEditors();for(let n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){let t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,n){let r=e.toString(),i;this._modelProperties.has(r)?i=this._modelProperties.get(r):(i=new Map,this._modelProperties.set(r,i)),i.set(t,n)}getModelProperty(e,t){let n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(let r of this._codeEditorOpenHandlers){let i=await r(e,t,n);if(i!==null)return i}return null}registerCodeEditorOpenHandler(e){let t=this._codeEditorOpenHandlers.unshift(e);return I(t)}};ol=il([al(0,Ea)],ol);var sl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cl=function(e,t){return function(n,r){t(n,r,e)}},ll=class extends ol{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey(`editorIsOpen`,!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(e,t,n)=>t?this.doOpenEditor(t,e):null))}_checkContextKey(){let e=!1;for(let t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){let n=t.resource.scheme;if(n===B.http||n===B.https)return Co(t.resource.toString()),e}return null}let n=t.options?t.options.selection:null;if(n){if(typeof n.endLineNumber==`number`&&typeof n.endColumn==`number`)e.setSelection(n),e.revealRangeInCenter(n,1);else{let t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}}return e}findModel(e,t){let n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};ll=sl([cl(0,T),cl(1,Ea)],ll),D(R,ll,0);var ul=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dl=function(e,t){return function(n,r){t(n,r,e)}},fl=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??tn.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return Wt(this.mainContainer)}get activeContainerDimension(){return Wt(this.activeContainer)}get containers(){return $r(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=C.None,this.onDidLayoutActiveContainer=C.None,this.onDidLayoutContainer=C.None,this.onDidChangeActiveContainer=C.None,this.onDidAddContainer=C.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};fl=ul([dl(0,R)],fl);var pl=class extends fl{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};pl=ul([dl(1,R)],pl),D(Yo,fl,1);var ml=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hl=function(e,t){return function(n,r){t(n,r,e)}},gl=class extends F{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=this._register(new P),this._onDidChangeReducedMotion=this._register(new P),this._onDidChangeReducedTransparency=this._register(new P),this._onDidChangeLinkUnderline=this._register(new P),this._accessibilityModeEnabledContext=Sr.bindTo(this._contextKeyService);let r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.accessibilitySupport`)&&(r(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration(`workbench.reduceMotion`)&&(this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`),this._onDidChangeReducedMotion.fire()),e.affectsConfiguration(`workbench.reduceTransparency`)&&(this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._onDidChangeReducedTransparency.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));let i=tn.matchMedia(`(prefers-reduced-motion: reduce)`);this._systemMotionReduced=i.matches,this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`);let a=tn.matchMedia(`(prefers-reduced-transparency: reduce)`);this._systemTransparencyReduced=a.matches,this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._linkUnderlinesEnabled=this._configurationService.getValue(`accessibility.underlineLinks`),this.initReducedMotionListeners(i),this.initReducedTransparencyListeners(a),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(L(e,`change`,()=>{this._systemMotionReduced=e.matches,this._configMotionReduced===`auto`&&this._onDidChangeReducedMotion.fire()}));let t=e=>{let t=this.isMotionReduced();e.classList.toggle(`monaco-reduce-motion`,t),e.classList.toggle(`monaco-enable-motion`,!t)},n=()=>{for(let e of this._layoutService.containers)t(e)};n(),this._register(this.onDidChangeReducedMotion(()=>n())),this._register(this._layoutService.onDidAddContainer(({container:e})=>t(e)))}initReducedTransparencyListeners(e){this._register(L(e,`change`,()=>{this._systemTransparencyReduced=e.matches,this._configTransparencyReduced===`auto`&&this._onDidChangeReducedTransparency.fire()}));let t=()=>{let e=this.isTransparencyReduced();this._layoutService.mainContainer.classList.toggle(`monaco-reduce-transparency`,e)};t(),this._register(this.onDidChangeReducedTransparency(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`accessibility.underlineLinks`)){let e=this._configurationService.getValue(`accessibility.underlineLinks`);this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}}));let e=()=>{let e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle(`underline-links`,e)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let e=this.getAccessibilitySupportConfigurationValue();return e===`on`||e===`auto`&&this._accessibilitySupport===2}getAccessibilitySupportConfigurationValue(){let e=this._configurationService.inspect(`editor.accessibilitySupport`);return e.policyValue??e.memoryValue??e.workspaceFolderValue??e.workspaceValue??e.userValue??e.applicationValue??e.defaultValue??`auto`}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let e=this._configMotionReduced;return e===`on`||e===`auto`&&this._systemMotionReduced}get onDidChangeReducedTransparency(){return this._onDidChangeReducedTransparency.event}isTransparencyReduced(){let e=this._configTransparencyReduced;return e===`on`||e===`auto`&&this._systemTransparencyReduced}getAccessibilitySupport(){return this._accessibilitySupport}};gl=ml([hl(0,T),hl(1,Yo),hl(2,K)],gl);var _l,vl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yl=function(e,t){return function(n,r){t(n,r,e)}},bl,xl=`application/vnd.code.resources`,Sl=(_l=class extends F{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText=``,this.resources=[],this.resourcesStateHash=void 0,(gs||mn)&&this.installWebKitWriteTextWorkaround(),this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>{t.add(L(e.document,`copy`,()=>this.clearResourcesState()))},{window:tn,disposables:this._store}))}triggerPaste(){this.logService.trace(`BrowserClipboardService#triggerPaste`)}installWebKitWriteTextWorkaround(){let e=()=>{let e=ve().navigator.clipboard;if(!e)return;let t=new pr;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,e.write([new ClipboardItem({"text/plain":t.p})]).catch(async e=>{(!(e instanceof Error)||e.name!==`NotAllowedError`||!t.isRejected)&&this.logService.error(e)})};this._register(C.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:n})=>{n.add(L(t,`click`,e)),n.add(L(t,`keydown`,e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.logService.trace(`BrowserClipboardService#writeText called with type:`,t,` text.length:`,e.length),this.clearResourcesState(),t){this.mapTextToType.set(t,e),this.logService.trace(`BrowserClipboardService#writeText`);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return this.logService.trace(`before navigator.clipboard.writeText`),await ve().navigator.clipboard.writeText(e)}catch(e){console.error(e)}this.fallbackWriteText(e)}fallbackWriteText(e){this.logService.trace(`BrowserClipboardService#fallbackWriteText`);let t=jn(),n=t.activeElement,r=t.body.appendChild(pa(`textarea`,{"aria-hidden":!0}));r.style.height=`1px`,r.style.width=`1px`,r.style.position=`absolute`,r.value=e,r.focus(),r.select(),t.execCommand(`copy`),vt(n)&&n.focus(),r.remove()}async readText(e){if(this.logService.trace(`BrowserClipboardService#readText called with type:`,e),e){let t=this.mapTextToType.get(e)||``;return this.logService.trace(`BrowserClipboardService#readText text.length:`,t.length),t}try{let e=await ve().navigator.clipboard.readText();return this.logService.trace(`BrowserClipboardService#readText text.length:`,e.length),e}catch(e){console.error(e)}return``}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async readResources(){try{let e=await ve().navigator.clipboard.read();for(let t of e)if(t.types.includes(`web ${xl}`)){let e=await t.getType(`web ${xl}`);return JSON.parse(await e.text()).map(e=>W.from(e))}}catch{}let e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;let e=await this.readText();return Jn(e.substring(0,bl.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},bl=_l,_l.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,_l);Sl=bl=vl([yl(0,Yo),yl(1,Eo)],Sl);function Cl(e){return Object.isFrozen(e)?e:xn(e)}var wl=class e{static createEmptyModel(t){return new e({},[],[],void 0,t)}constructor(e,t,n,r,i){this._contents=e,this._keys=t,this._overrides=n,this._raw=r,this.logService=i,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration){if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(t=>{if(t instanceof e)return t;let n=new Tl(``,this.logService);return n.parseRaw(t),n.configurationModel});this._rawConfiguration=t.reduce((e,t)=>t===e?t:e.merge(t),t[0])}else this._rawConfiguration=this}return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof e)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?Hn(this.contents,e):this.contents}inspect(t,n){let r=this;return{get value(){return Cl(r.rawConfiguration.getValue(t))},get override(){return n?Cl(r.rawConfiguration.getOverrideValue(t,n)):void 0},get merged(){return Cl(n?r.rawConfiguration.override(n).getValue(t):r.rawConfiguration.getValue(t))},get overrides(){let n=[];for(let{contents:i,identifiers:a,keys:o}of r.rawConfiguration.overrides){let s=new e(i,o,[],void 0,r.logService).getValue(t);s!==void 0&&n.push({identifiers:a,value:s})}return n.length?Cl(n):void 0}}}getOverrideValue(e,t){let n=this.getContentsForOverrideIdentifer(t);return n?e?Hn(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...t){let n=cs(this.contents),r=cs(this.overrides),i=[...this.keys],a=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let e of t)if(a.push(...e._raw?Array.isArray(e._raw)?e._raw:[e._raw]:[e]),!e.isEmpty()){this.mergeContents(n,e.contents);for(let t of e.overrides){let[e]=r.filter(e=>Ni(e.identifiers,t.identifiers));e?(this.mergeContents(e.contents,t.contents),e.keys.push(...t.keys),e.keys=ho(e.keys)):r.push(cs(t))}for(let t of e.keys)i.indexOf(t)===-1&&i.push(t)}return new e(n,i,r,!a.length||a.every(t=>t instanceof e)?void 0:a,this.logService)}createOverrideConfigurationModel(t){let n=this.getContentsForOverrideIdentifer(t);if(!n||typeof n!=`object`||!Object.keys(n).length)return this;let r={};for(let e of ho([...Object.keys(this.contents),...Object.keys(n)])){let t=this.contents[e],i=n[e];i&&(typeof t==`object`&&typeof i==`object`?(t=cs(t),this.mergeContents(t,i)):t=i),r[e]=t}return new e(r,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(let n of Object.keys(t)){if(n in e&&qt(e[n])&&qt(t[n])){this.mergeContents(e[n],t[n]);continue}e[n]=cs(t[n])}}getContentsForOverrideIdentifer(e){let t=null,n=null,r=e=>{e&&(n?this.mergeContents(n,e):n=cs(e))};for(let n of this.overrides)n.identifiers.length===1&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&r(n.contents);return r(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){let t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),Ke(this.contents,e),Vi.test(e)&&this.overrides.splice(this.overrides.findIndex(t=>Ni(t.identifiers,wt(e))),1))}updateValue(e,t,n){if(_(this.contents,e,t,e=>this.logService.error(e)),n||=this.keys.indexOf(e)===-1,n&&this.keys.push(e),Vi.test(e)){let t=this.contents[e],n=wt(e),r={identifiers:n,keys:Object.keys(t),contents:Nn(t,e=>this.logService.error(e))},i=this.overrides.findIndex(e=>Ni(e.identifiers,n));i===-1?this.overrides.push(r):this.overrides[i]=r}}},Tl=class{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||wl.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;let{contents:n,keys:r,overrides:i,restricted:a,hasExcludedProperties:o}=this.doParseRaw(e,t);this._configurationModel=new wl(n,r,i,o?[e]:void 0,this.logService),this._restrictedConfigurations=a||[]}doParseRaw(e,t){let n=js.as(d.Configuration),r=n.getConfigurationProperties(),i=n.getExcludedConfigurationProperties(),a=this.filter(e,r,i,!0,t);return e=a.raw,{contents:Nn(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),keys:Object.keys(e),overrides:this.toOverrides(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),restricted:a.restricted,hasExcludedProperties:a.hasExcludedProperties}}filter(e,t,n,r,i){let a=!1;if(!i?.scopes&&!i?.skipRestricted&&!i?.skipUnregistered&&!i?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:a};let o={},s=[];for(let c in e)if(Vi.test(c)&&r){let r=this.filter(e[c],t,n,!1,i);o[c]=r.raw,a||=r.hasExcludedProperties,s.push(...r.restricted)}else{let r=this.filterProperty(c,e[c],t,n,i);s.push(...r.restricted),a||=r.hasExcludedProperties,r.included?o[c]=r.value:a=!0}return{raw:o,restricted:s,hasExcludedProperties:a}}filterProperty(e,t,n,r,i){let a=n[e];if(a)return{included:this.shouldInclude(e,a,r,i),value:t,restricted:a.restricted?[e]:[],hasExcludedProperties:!1};if(!qt(t)||Array.isArray(t)||r[e])return{included:this.shouldInclude(e,a,r,i),value:t,restricted:[],hasExcludedProperties:!1};if(i.exclude?.includes(e))return{included:!1,value:t,restricted:[],hasExcludedProperties:!1};let o=Object.keys(t);if(o.length===0)return{included:this.shouldInclude(e,a,r,i),value:t,restricted:[],hasExcludedProperties:!1};let s={},c=[],l=!1,u=!1;for(let a of o){let o=this.filterProperty(`${e}.${a}`,t[a],n,r,i);o.restricted.length&&c.push(...o.restricted),u||=o.hasExcludedProperties,o.included?(s[a]=o.value,l=!0):u=!0}return{included:l,value:s,restricted:c,hasExcludedProperties:u}}shouldInclude(e,t,n,r){if(r.exclude?.includes(e))return!1;if(r.include?.includes(e))return!0;if(r.skipRestricted&&t?.restricted||r.skipUnregistered&&!t)return!1;let i=t??n[e],a=i?i.scope===void 0?4:i.scope:void 0;return a===void 0||r.scopes===void 0||r.scopes.includes(a)}toOverrides(e,t){let n=[];for(let r of Object.keys(e))if(Vi.test(r)){let i={},a=e[r];for(let e in a)i[e]=a[e];n.push({identifiers:wt(r),keys:Object.keys(i),contents:Nn(i,t)})}return n}},El=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){this.key=e,this.overrides=t,this._value=n,this.overrideIdentifiers=r,this.defaultConfiguration=i,this.policyConfiguration=a,this.applicationConfiguration=o,this.userConfiguration=s,this.localUserConfiguration=c,this.remoteUserConfiguration=l,this.workspaceConfiguration=u,this.folderConfigurationModel=d,this.memoryConfigurationModel=f}toInspectValue(e){return e?.value!==void 0||e?.override!==void 0||e?.overrides!==void 0?e:void 0}get defaultInspectValue(){return this._defaultInspectValue||=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get userInspectValue(){return this._userInspectValue||=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}},Dl=class e{constructor(e,t,n,r,i,a,o,s,c,l){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=r,this._remoteUserConfiguration=i,this._workspaceConfiguration=a,this._folderConfigurations=o,this._memoryConfiguration=s,this._memoryConfigurationByResource=c,this.logService=l,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new fe,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let r;n.resource?(r=this._memoryConfigurationByResource.get(n.resource),r||(r=wl.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){let r=this.getConsolidatedConfigurationModel(e,t,n),i=this.getFolderConfigurationModelForResource(t.resource,n),a=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,o=new Set;for(let t of r.overrides)for(let n of t.identifiers)r.getOverrideValue(e,n)!==void 0&&o.add(n);return new El(e,t,r.getValue(e),o.size?[...o]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,i||void 0,a)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration){if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let e=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new wl(e.contents,e.keys,e.overrides,void 0,this.logService)}}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let r=this.getConsolidatedConfigurationModelForResource(t,n);if(t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0){r=r.merge();for(let e of this._policyConfiguration.keys)r.setValue(e,this._policyConfiguration.getValue(e))}return r}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){let r=t.getFolder(e);r&&(n=this.getFolderConsolidatedConfiguration(r.uri)||n);let i=this._memoryConfigurationByResource.get(e);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){let n=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=n.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){let n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{let{contents:n,overrides:r,keys:i}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:r,keys:i}]),e},[])}}static parse(t,n){let r=this.parseConfigurationModel(t.defaults,n),i=this.parseConfigurationModel(t.policy,n),a=this.parseConfigurationModel(t.application,n),o=this.parseConfigurationModel(t.userLocal,n),s=this.parseConfigurationModel(t.userRemote,n),c=this.parseConfigurationModel(t.workspace,n),l=t.folders.reduce((e,t)=>(e.set(W.revive(t[0]),this.parseConfigurationModel(t[1],n)),e),new fe);return new e(r,i,a,o,s,c,l,wl.createEmptyModel(n),new fe,n)}static parseConfigurationModel(e,t){return new wl(e.contents,e.keys,e.overrides,e.raw,t)}},Ol=class{constructor(e,t,n,r,i){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=r,this.logService=i,this._marker=`
6
- `,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(let t of e.keys)this.affectedKeys.add(t);for(let[,t]of e.overrides)for(let e of t)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(let e of this.affectedKeys)this._affectsConfigStr+=e+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Dl.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){let n=this._marker+e,r=this._affectsConfigStr.indexOf(n);if(r<0)return!1;let i=r+n.length;if(i>=this._affectsConfigStr.length)return!1;let a=this._affectsConfigStr.charCodeAt(i);if(a!==this._markerCode1&&a!==this._markerCode2)return!1;if(t){let n=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,r=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!ye(n,r)}return!0}},kl=class extends F{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=wl.createEmptyModel(e)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=wl.createEmptyModel(this.logService);let e=js.as(d.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){let n=this.getConfigurationDefaultOverrides();for(let r of e){let e=n[r],i=t[r];e===void 0?i?this._configurationModel.setValue(r,this.getDefaultValue(r,i)):this._configurationModel.removeValue(r):this._configurationModel.setValue(r,e)}}getDefaultValue(e,t){return cs(t.default)}},Al,jl,Ml=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nl=function(e,t){return function(n,r){t(n,r,e)}},Pl=`data-keybinding-context`,Fl=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return!ye(this._value[e],t)&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){let t=this._value[e];return t===void 0&&this._parent?this._parent.getValue(e):t}},Il=class extends Fl{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}};Al=Il,Al.INSTANCE=new Al;var Ll=class e extends Fl{constructor(e,t,n){super(e,null),this._configurationService=t,this._values=cn.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(e.source===7){let e=Array.from(this._values,([e])=>e);this._values.clear(),n.fire(new Bl(e))}else{let t=[];for(let n of e.affectedKeys){let e=`config.${n}`,r=this._values.findSuperstr(e);r!==void 0&&(t.push(...za.map(r,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new Bl(t))}})}dispose(){this._listener.dispose()}getValue(t){if(t.indexOf(e._keyPrefix)!==0)return super.getValue(t);if(this._values.has(t))return this._values.get(t);let n=t.substr(e._keyPrefix.length),r=this._configurationService.getValue(n),i;switch(typeof r){case`number`:case`boolean`:case`string`:i=r;break;default:i=Array.isArray(r)?JSON.stringify(r):r}return this._values.set(t,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}};jl=Ll,jl._keyPrefix=`config.`;var Rl=class{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){this._defaultValue===void 0?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}},zl=class{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}},Bl=class{constructor(e){this.keys=e}affectsSome(e){for(let t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}},Vl=class{constructor(e){this.events=e}affectsSome(e){for(let t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}};function Hl(e,t){return e.allKeysContainedIn(new Set(Object.keys(t)))}var Ul=class extends F{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(e){super(),this._onDidChangeContext=this._register(new at({merge:e=>new Vl(e)})),this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new Rl(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new Gl(this,e)}contextMatchesRules(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);let t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;let n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new zl(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new zl(e))}getContext(e){return this._isDisposed?Il.INSTANCE:this.getContextValuesContainer(Kl(e))}dispose(){super.dispose(),this._isDisposed=!0}},Wl=class extends Ul{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=Me.bindTo(this);let t=this._register(new Ll(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t),this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>{let n=t.add(new i);t.add(L(e,z.FOCUS_IN,()=>{n.value=new A,this.updateInputContextKeys(e.document,n.value)},!0))},{window:tn,disposables:this._store}))}updateInputContextKeys(e,t){function n(){return!!e.activeElement&&Bn(e.activeElement)}let r=n();if(this.inputFocusedContext.set(r),r){let r=t.add(Ia(e.activeElement));C.once(r.onDidBlur)(()=>{ve().document===e&&this.inputFocusedContext.set(n()),r.dispose()},void 0,t)}}getContextValuesContainer(e){return this._isDisposed?Il.INSTANCE:this._contexts.get(e)||Il.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ContextKeyService has been disposed`);let t=++this._lastContextId;return this._contexts.set(t,new Fl(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};Wl=Ml([Nl(0,K)],Wl);var Gl=class extends Ul{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new i),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(Pl)){let e=``;this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(`, `)),console.error(`Element already has context attribute${e?`: `+e:``}`)}this._domNode.setAttribute(Pl,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{let t=this._parent.getContextValuesContainer(this._myContextId).value;Hl(e,t)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parentChangeListener.clear(),this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(Pl),super.dispose())}getContextValuesContainer(e){return this._isDisposed?Il.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ScopedContextKeyService has been disposed`);return this._parent.createChildContext(e)}disposeContext(e){this._parent.disposeContext(e)}};function Kl(e){for(;e;){if(e.hasAttribute(Pl)){let t=e.getAttribute(Pl);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}function ql(e,t,n){e.get(T).createKey(String(t),Jl(n))}function Jl(e){return ae(e,e=>{if(typeof e==`object`&&e.$mid===1)return W.revive(e).toString();if(e instanceof W)return e.toString()})}Be.registerCommand(`_setContext`,ql),Be.registerCommand({id:`getContextKeyInfo`,handler(){return[...Fn.all()].sort((e,t)=>e.key.localeCompare(t.key))},metadata:{description:G(1768,`A command that returns information about context keys`),args:[]}}),Be.registerCommand(`_generateContextKeyInfo`,function(){let e=[],t=new Set;for(let n of Fn.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort((e,t)=>e.key.localeCompare(t.key)),console.log(JSON.stringify(e,void 0,2))});var Yl=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Xl=/(&amp;)?(&amp;)([^\s&])/g,Zl;(function(e){e[e.Right=0]=`Right`,e[e.Left=1]=`Left`})(Zl||={});var Ql;(function(e){e[e.Above=0]=`Above`,e[e.Below=1]=`Below`})(Ql||={});var $l=class e extends vo{constructor(e,t,n,r){e.classList.add(`monaco-menu-container`),e.setAttribute(`role`,`presentation`);let i=document.createElement(`div`);i.classList.add(`monaco-menu`),i.setAttribute(`role`,`presentation`),super(i,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,a),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:`menu`,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...li||Wo?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=i,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(Mn.addTarget(i)),this._register(L(i,z.KEY_DOWN,e=>{new Ja(e).equals(2)&&e.preventDefault()})),n.enableMnemonics&&this._register(L(i,z.KEY_DOWN,e=>{let t=e.key.toLocaleLowerCase(),n=this.mnemonics.get(t);if(n!==void 0&&(mi.stop(e,!0),n.length===1&&(n[0]instanceof tu&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1)){let e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}})),Wo&&this._register(L(i,z.KEY_DOWN,e=>{let t=new Ja(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),mi.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),mi.stop(e,!0))})),this._register(L(this.domNode,z.MOUSE_OUT,e=>{let t=e.relatedTarget;Gn(t,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(L(this.actionsList,z.MOUSE_MOVE,e=>{if(e.movementX===0&&e.movementY===0)return;let t=e.target;if(t&&Gn(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;if(e!==void 0&&this.actionsList.children[e]===t)return;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})),this._register(Mn.addTarget(this.actionsList)),this._register(L(this.actionsList,Ge.Tap,e=>{let t=e.initialTarget;if(t&&Gn(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));let a={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new yt(i,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));let o=this.scrollableElement.getDomNode();o.style.position=``,this.styleScrollElement(o,r),this._register(L(i,Ge.Change,e=>{mi.stop(e,!0);let t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})})),this._register(L(o,z.MOUSE_UP,e=>{e.preventDefault()}));let s=O(e);i.style.maxHeight=`${Math.max(10,s.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((e,r)=>n.submenuIds?.has(e.id)?(console.warn(`Found submenu cycle: ${e.id}`),!1):!(e instanceof mr&&(r===t.length-1||r===0||t[r-1]instanceof mr))),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof nu)).forEach((e,t,n)=>{e.updatePositionInSet(t+1,n.length)})}initializeOrUpdateStyleSheet(t,n){this.styleSheet||(fo(t)?this.styleSheet=Ca(t):(e.globalStyleSheet||=Ca(),this.styleSheet=e.globalStyleSheet)),this.styleSheet.textContent=au(n,fo(t))}styleScrollElement(e,t){let n=t.foregroundColor??``,r=t.backgroundColor??``;e.style.borderRadius=`var(--vscode-cornerRadius-large)`,e.style.color=n,e.style.backgroundColor=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){let t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t<this.actionsList.children.length;t++)if(e===this.actionsList.children[t]){this.focusedItem=t;break}}updateFocus(e){super.updateFocus(e,!0,!0),this.focusedItem!==void 0&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(e,t,n){if(e instanceof mr)return new nu(t.context,e,{icon:!0},this.menuStyles);if(e instanceof rn){let r=new tu(e,e.actions,n,{...t,submenuIds:new Set([...t.submenuIds||[],e.id])},this.menuStyles);if(t.enableMnemonics){let e=r.getMnemonic();if(e&&r.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[r]):t.push(r)}}return r}{let n=t.getKeyBinding?.(e)?.getLabel(),r={enableMnemonics:t.enableMnemonics,useEventAsContext:t.useEventAsContext,keybinding:n},i=new eu(t.context,e,r,this.menuStyles);if(t.enableMnemonics){let e=i.getMnemonic();if(e&&i.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[i]):t.push(i)}}return i}}},eu=class extends me{constructor(e,t,n,r){if(n={...n,isMenu:!0,icon:n.icon!==void 0&&n.icon,label:n.label===void 0||n.label},super(t,t,n),this.menuStyle=r,this.options=n,this.cssClass=``,this.options.label&&n.enableMnemonics){let e=this.action.label;if(e){let t=Yl.exec(e);t&&(this.mnemonic=(t[1]?t[1]:t[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new Mo(()=>{this.element&&(this._register(L(this.element,z.MOUSE_UP,e=>{if(mi.stop(e,!0),Mr){if(new ci(O(this.element),e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(L(this.element,z.CONTEXT_MENU,e=>{mi.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=x(this.element,pa(`a.action-menu-item`)),this._action.id===mr.ID?this.item.setAttribute(`role`,`presentation`):(this.item.setAttribute(`role`,`menuitem`),this.mnemonic&&this.item.setAttribute(`aria-keyshortcuts`,`${this.mnemonic}`)),this.check=x(this.item,pa(`span.menu-item-check`+so.asCSSSelector(Xa.menuSelection))),this.check.setAttribute(`role`,`none`),this.label=x(this.item,pa(`span.action-label`)),this.options.label&&this.options.keybinding&&(x(this.item,pa(`span.keybinding`)).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute(`aria-posinset`,`${e}`),this.item.setAttribute(`aria-setsize`,`${t}`))}updateLabel(){if(this.label&&this.options.label){ms(this.label);let e=et(this.action.label);if(e){let t=ru(e);this.options.enableMnemonics||(e=t),this.label.setAttribute(`aria-label`,t.replace(/&&/g,`&`));let n=Yl.exec(e);if(n){e=Tt(e),Xl.lastIndex=0;let t=Xl.exec(e);for(;t&&t[1];)t=Xl.exec(e);let r=e=>e.replace(/&amp;&amp;/g,`&amp;`);t?this.label.append(Yn(r(e.substr(0,t.index)),` `),pa(`u`,{"aria-hidden":`true`},t[3]),pt(r(e.substr(t.index+t[0].length)),` `)):this.label.textContent=r(e).trim(),this.item?.setAttribute(`aria-keyshortcuts`,(n[1]?n[1]:n[3]).toLocaleLowerCase())}else this.label.textContent=e.replace(/&&/g,`&`).trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(` `)),this.options.icon&&this.label?(this.cssClass=this.action.class||``,this.label.classList.add(`icon`),this.cssClass&&this.label.classList.add(...this.cssClass.split(` `)),this.updateEnabled()):this.label&&this.label.classList.remove(`icon`)}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove(`disabled`),this.element.removeAttribute(`aria-disabled`)),this.item&&(this.item.classList.remove(`disabled`),this.item.removeAttribute(`aria-disabled`),this.item.tabIndex=0)):(this.element&&(this.element.classList.add(`disabled`),this.element.setAttribute(`aria-disabled`,`true`)),this.item&&(this.item.classList.add(`disabled`),this.item.setAttribute(`aria-disabled`,`true`)))}updateChecked(){if(!this.item)return;let e=this.action.checked;this.item.classList.toggle(`checked`,!!e),e===void 0?(this.item.setAttribute(`role`,`menuitem`),this.item.setAttribute(`aria-checked`,``)):(this.item.setAttribute(`role`,`menuitemcheckbox`),this.item.setAttribute(`aria-checked`,e?`true`:`false`))}getMnemonic(){return this.mnemonic}applyStyle(){let e=this.element&&this.element.classList.contains(`focused`),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:``,i=e&&this.menuStyle.selectionBorderColor?`-1px`:``;this.item&&(this.item.style.color=t??``,this.item.style.backgroundColor=n??``,this.item.style.outline=r,this.item.style.outlineOffset=i),this.check&&(this.check.style.color=t??``)}},tu=class extends eu{constructor(e,t,n,r,i){super(e,e,r,i),this.submenuActions=t,this.parentData=n,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new A),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:Zl.Right,vertical:Ql.Below},this.showScheduler=new Mo(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Mo(()=>{this.element&&!Gn(Ee(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add(`monaco-submenu-item`),this.item.tabIndex=0,this.item.setAttribute(`aria-haspopup`,`true`),this.updateAriaExpanded(`false`),this.submenuIndicator=x(this.item,pa(`span.submenu-indicator`+so.asCSSSelector(Xa.menuSubmenu))),this.submenuIndicator.setAttribute(`aria-hidden`,`true`)),this._register(L(this.element,z.KEY_UP,e=>{let t=new Ja(e);(t.equals(17)||t.equals(3))&&(mi.stop(e,!0),this.createSubmenu(!0))})),this._register(L(this.element,z.KEY_DOWN,e=>{let t=new Ja(e);Ee()===this.item&&(t.equals(17)||t.equals(3))&&mi.stop(e,!0)})),this._register(L(this.element,z.MOUSE_MOVE,e=>{(e.movementX!==0||e.movementY!==0)&&(this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule()))})),this._register(L(this.element,z.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(L(this.element,z.FOCUS_OUT,e=>{this.element&&!Gn(Ee(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){mi.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded(`false`),this.submenuContainer&&=(this.submenuDisposables.clear(),void 0)}}calculateSubmenuMenuLayout(e,t,n,r){let i={top:0,left:0};return i.left=Sa(e.width,t.width,{position:r.horizontal===Zl.Right?0:1,offset:n.left,size:n.width}).position,i.left>=n.left&&i.left<n.left+n.width&&(n.left+10+t.width<=e.width&&(i.left=n.left+10),n.top+=10,n.height=0),i.top=Sa(e.height,t.height,{position:0,offset:n.top,size:0}).position,i.top+t.height===n.top&&i.top+n.height+t.height<=e.height&&(i.top+=n.height),i}createSubmenu(e=!0){if(this.element){if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded(`true`),this.submenuContainer=x(this.element,pa(`div.monaco-submenu`)),this.submenuContainer.classList.add(`menubar-menu-items-holder`,`context-view`);let t=O(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),n=parseFloat(t.paddingTop||`0`)||0;this.submenuContainer.style.position=`fixed`,this.submenuContainer.style.top=`0`,this.submenuContainer.style.left=`0`,this.submenuContainer.style.zIndex=`1`,this.parentData.submenu=new $l(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new rr],this.submenuOptions,this.menuStyle);let r=this.element.getBoundingClientRect(),i={top:r.top-n,left:r.left,height:r.height+2*n,width:r.width},a=this.submenuContainer.getBoundingClientRect(),o=O(this.element),{top:s,left:c}=this.calculateSubmenuMenuLayout(new Qo(o.innerWidth,o.innerHeight),Qo.lift(a),i,this.expandDirection);this.submenuContainer.style.left=`${c-a.left}px`,this.submenuContainer.style.top=`${s-a.top}px`,this.submenuDisposables.add(L(this.submenuContainer,z.KEY_UP,e=>{new Ja(e).equals(15)&&(mi.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(L(this.submenuContainer,z.KEY_DOWN,e=>{new Ja(e).equals(15)&&mi.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}}updateAriaExpanded(e){this.item&&this.item?.setAttribute(`aria-expanded`,e)}applyStyle(){super.applyStyle();let e=this.element&&this.element.classList.contains(`focused`)&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??``)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&=(this.mysubmenu.dispose(),null),this.submenuContainer&&=void 0}},nu=class extends Se{constructor(e,t,n,r){super(e,t,n),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:``)}};function ru(e){let t=Yl,n=t.exec(e);if(!n)return e;let r=!n[1];return e.replace(t,r?`$2$3`:``).trim()}function iu(e){let t=ya()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}function au(e,t){let n=e.borderColor??`var(--vscode-menu-border)`,r=`var(--vscode-shadow-lg${e.shadowColor?`, 0 0 12px ${e.shadowColor}`:``})`,i=`
5
+ `))}pushElement(e,t=de.None,n=zt.None){if(e.type===0){let r=Vc(e.resource),i=this.getUriComparisonKey(e.resource);this._pushElement(new Uc(e,r,i,t.id,t.nextOrder(),n.id,n.nextOrder()))}else{let r=new Set,i=[],a=[];for(let t of e.resources){let e=Vc(t),n=this.getUriComparisonKey(t);r.has(n)||(r.add(n),i.push(e),a.push(n))}i.length===1?this._pushElement(new Uc(e,i[0],a[0],t.id,t.nextOrder(),n.id,n.nextOrder())):this._pushElement(new Kc(e,i,a,t.id,t.nextOrder(),n.id,n.nextOrder()))}}_pushElement(e){for(let t=0,n=e.strResources.length;t<n;t++){let n=e.resourceLabels[t],r=e.strResources[t],i;this._editStacks.has(r)?i=this._editStacks.get(r):(i=new qc(n,r),this._editStacks.set(r,i)),i.pushElement(e)}}getLastElement(e){let t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){let e=this._editStacks.get(t);if(e.hasFutureElements())return null;let n=e.getClosestPastElement();return n?n.actual:null}return null}_splitPastWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new Uc(e,Vc(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitPastWorkspaceElement(e,r)}_splitFutureWorkspaceElement(e,t){let n=e.actual.split(),r=new Map;for(let e of n){let t=new Uc(e,Vc(e.resource),this.getUriComparisonKey(e.resource),0,0,0,0);r.set(t.strResource,t)}for(let n of e.strResources)t&&t.has(n)||this._editStacks.get(n).splitFutureWorkspaceElement(e,r)}removeElements(e){let t=typeof e==`string`?e:this.getUriComparisonKey(e);this._editStacks.has(t)&&(this._editStacks.get(t).dispose(),this._editStacks.delete(t))}setElementsValidFlag(e,t,n){let r=this.getUriComparisonKey(e);this._editStacks.has(r)&&this._editStacks.get(r).setElementsValidFlag(t,n)}createSnapshot(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).createSnapshot(e):new be(e,[])}restoreSnapshot(e){let t=this.getUriComparisonKey(e.resource);if(this._editStacks.has(t)){let n=this._editStacks.get(t);n.restoreSnapshot(e),!n.hasPastElements()&&!n.hasFutureElements()&&(n.dispose(),this._editStacks.delete(t))}}getElements(e){let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).getElements():{past:[],future:[]}}_findClosestUndoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.sourceId===e&&(!t||a.sourceOrder>t.sourceOrder)&&(t=a,n=r)}return[t,n]}canUndo(e){if(e instanceof zt){let[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){oo(e);for(let e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(let t of e.editStacks)if(t.locked)throw Error(`Cannot acquire edit stack lock`);for(let t of e.editStacks)t.locked=!0;return()=>{for(let t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,n,r,i){let a=this._acquireLocks(n),o;try{o=t()}catch(t){return a(),r.dispose(),this._onError(t,e)}return o?o.then(()=>(a(),r.dispose(),i()),t=>(a(),r.dispose(),this._onError(t,e))):(a(),r.dispose(),i())}async _invokeWorkspacePrepare(e){if(e.actual.prepareUndoRedo===void 0)return F.None;let t=e.actual.prepareUndoRedo();return t===void 0?F.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||e.actual.prepareUndoRedo===void 0)return t(F.None);let n=e.actual.prepareUndoRedo();return n?Pi(n)?t(n):n.then(e=>t(e)):t(F.None)}_getAffectedEditStacks(e){let t=[];for(let n of e.strResources)t.push(this._editStacks.get(n)||Yc);return new Jc(t)}_tryToSplitAndUndo(e,t,n,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,n),this._notificationService.warn(r),new Zc(this._undo(e,0,!0));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new Zc}_checkWorkspaceUndo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,G(2134,`Could not undo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,G(2135,`Could not undo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestPastElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndUndo(e,t,null,G(2136,`Could not undo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndUndo(e,t,null,G(2137,`Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndUndo(e,t,null,G(2138,`Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceUndo(e,t,n){let r=this._getAffectedEditStacks(t),i=this._checkWorkspaceUndo(e,t,r,!1);return i?i.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,n)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(let[,t]of this._editStacks){let n=t.getClosestPastElement();if(n){if(n===e){let n=t.getSecondClosestPastElement();if(n&&n.groupId===e.groupId)return!0}if(n.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,n,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let i;(function(e){e[e.All=0]=`All`,e[e.This=1]=`This`,e[e.Cancel=2]=`Cancel`})(i||={});let{result:a}=await this._dialogService.prompt({type:M.Info,message:G(2139,`Would you like to undo '{0}' across all files?`,t.label),buttons:[{label:G(2140,`&&Undo in {0} Files`,n.editStacks.length),run:()=>i.All},{label:G(2141,`Undo this &&File`),run:()=>i.This}],cancelButton:{run:()=>i.Cancel}});if(a===i.Cancel)return;if(a===i.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);let o=this._checkWorkspaceUndo(e,t,n,!1);if(o)return o.returnValue;r=!0}let i;try{i=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let a=this._checkWorkspaceUndo(e,t,n,!0);if(a)return i.dispose(),a.returnValue;for(let e of n.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),n,i,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,n){if(!t.isValid)e.flushAllElements();else if(e.locked){let e=G(2142,`Could not undo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e)}else return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new Jc([e]),r,()=>this._continueUndoInGroup(t.groupId,n))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestPastElement();a&&a.groupId===e&&(!t||a.groupOrder>t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueUndoInGroup(e,t){if(!e)return;let[,n]=this._findClosestUndoElementInGroup(e);if(n)return this._undo(n,0,t)}undo(e){if(e instanceof zt){let[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e==`string`?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,n){if(!this._editStacks.has(e))return;let r=this._editStacks.get(e),i=r.getClosestPastElement();if(i){if(i.groupId){let[e,r]=this._findClosestUndoElementInGroup(i.groupId);if(i!==e&&r)return this._undo(r,t,n)}if((i.sourceId!==t||i.confirmBeforeUndo)&&!n)return this._confirmAndContinueUndo(e,t,i);try{return i.type===1?this._workspaceUndo(e,i,n):this._resourceUndo(r,i,n)}finally{}}}async _confirmAndContinueUndo(e,t,n){if((await this._dialogService.confirm({message:G(2143,`Would you like to undo '{0}'?`,n.label),primaryButton:G(2144,`&&Yes`),cancelButton:G(2145,`No`)})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.sourceId===e&&(!t||a.sourceOrder<t.sourceOrder)&&(t=a,n=r)}return[t,n]}canRedo(e){if(e instanceof zt){let[,t]=this._findClosestRedoElementWithSource(e.id);return!!t}let t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasFutureElements():!1}_tryToSplitAndRedo(e,t,n,r){if(t.canSplit())return this._splitFutureWorkspaceElement(t,n),this._notificationService.warn(r),new Zc(this._redo(e));for(let e of t.strResources)this.removeElements(e);return this._notificationService.warn(r),new Zc}_checkWorkspaceRedo(e,t,n,r){if(t.removedResources)return this._tryToSplitAndRedo(e,t,t.removedResources,G(2146,`Could not redo '{0}' across all files. {1}`,t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndRedo(e,t,t.invalidatedResources,G(2147,`Could not redo '{0}' across all files. {1}`,t.label,t.invalidatedResources.createMessage()));let i=[];for(let e of n.editStacks)e.getClosestFutureElement()!==t&&i.push(e.resourceLabel);if(i.length>0)return this._tryToSplitAndRedo(e,t,null,G(2148,`Could not redo '{0}' across all files because changes were made to {1}`,t.label,i.join(`, `)));let a=[];for(let e of n.editStacks)e.locked&&a.push(e.resourceLabel);return a.length>0?this._tryToSplitAndRedo(e,t,null,G(2149,`Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}`,t.label,a.join(`, `))):n.isValid()?null:this._tryToSplitAndRedo(e,t,null,G(2150,`Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime`,t.label))}_workspaceRedo(e,t){let n=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,n,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,n)}async _executeWorkspaceRedo(e,t,n){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}let i=this._checkWorkspaceRedo(e,t,n,!0);if(i)return r.dispose(),i.returnValue;for(let e of n.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),n,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid)e.flushAllElements();else if(e.locked){let e=G(2151,`Could not redo '{0}' because there is already an undo or redo operation running.`,t.label);this._notificationService.warn(e)}else return this._invokeResourcePrepare(t,n=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new Jc([e]),n,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,n=null;for(let[r,i]of this._editStacks){let a=i.getClosestFutureElement();a&&a.groupId===e&&(!t||a.groupOrder<t.groupOrder)&&(t=a,n=r)}return[t,n]}_continueRedoInGroup(e){if(!e)return;let[,t]=this._findClosestRedoElementInGroup(e);if(t)return this._redo(t)}redo(e){if(e instanceof zt){let[,t]=this._findClosestRedoElementWithSource(e.id);return t?this._redo(t):void 0}return typeof e==`string`?this._redo(e):this._redo(this.getUriComparisonKey(e))}_redo(e){if(!this._editStacks.has(e))return;let t=this._editStacks.get(e),n=t.getClosestFutureElement();if(n){if(n.groupId){let[e,t]=this._findClosestRedoElementInGroup(n.groupId);if(n!==e&&t)return this._redo(t)}try{return n.type===1?this._workspaceRedo(e,n):this._resourceRedo(t,n)}finally{}}}};Xc=zc([Bc(0,da),Bc(1,v)],Xc);var Zc=class{constructor(e){this.returnValue=e}};D(Sn,Xc,1);function Qc(e){return typeof e==`string`?!1:Array.isArray(e)?e.every(Qc):!!e.exclusive}var $c=class{constructor(e,t,n,r,i){this.uri=e,this.languageId=t,this.notebookUri=n,this.notebookType=r,this.recursive=i}equals(e){return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&this.notebookUri?.toString()===e.notebookUri?.toString()&&this.recursive===e.recursive}},J=class e{get onDidChange(){return this._onDidChange.event}constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new P}register(e,t){let n={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(n),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),I(()=>{if(n){let e=this._entries.indexOf(n);e>=0&&(this._entries.splice(e,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),n=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);let t=[];for(let e of this._entries)e._score>0&&t.push(e.provider);return t}allNoModel(){return this._entries.map(e=>e.provider)}ordered(e,t=!1){let n=[];return this._orderedForEach(e,t,e=>n.push(e.provider)),n}orderedGroups(e){let t=[],n,r;return this._orderedForEach(e,!1,e=>{n&&r===e._score?n.push(e.provider):(r=e._score,n=[e.provider],t.push(n))}),t}_orderedForEach(e,t,n){this._updateScores(e,t);for(let e of this._entries)e._score>0&&n(e)}_updateScores(t,n){let r=this._notebookInfoResolver?.(t.uri),i=r?new $c(t.uri,t.getLanguageId(),r.uri,r.type,n):new $c(t.uri,t.getLanguageId(),void 0,void 0,n);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(let e of this._entries)if(e._score=_t(e.selector,i.uri,i.languageId,hs(t),i.notebookUri,i.notebookType),Qc(e.selector)&&e._score>0){if(n)e._score=0;else{for(let e of this._entries)e._score=0;e._score=1e3;break}}this._entries.sort(e._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._score<t._score?1:e._score>t._score?-1:el(e.selector)&&!el(t.selector)?1:!el(e.selector)&&el(t.selector)?-1:e._time<t._time?1:e._time>t._time?-1:0}};function el(e){return typeof e==`string`?!1:Array.isArray(e)?e.some(el):!!e.isBuiltin}D(E,class{constructor(){this.referenceProvider=new J(this._score.bind(this)),this.renameProvider=new J(this._score.bind(this)),this.newSymbolNamesProvider=new J(this._score.bind(this)),this.codeActionProvider=new J(this._score.bind(this)),this.definitionProvider=new J(this._score.bind(this)),this.typeDefinitionProvider=new J(this._score.bind(this)),this.declarationProvider=new J(this._score.bind(this)),this.implementationProvider=new J(this._score.bind(this)),this.documentSymbolProvider=new J(this._score.bind(this)),this.inlayHintsProvider=new J(this._score.bind(this)),this.colorProvider=new J(this._score.bind(this)),this.codeLensProvider=new J(this._score.bind(this)),this.documentFormattingEditProvider=new J(this._score.bind(this)),this.documentRangeFormattingEditProvider=new J(this._score.bind(this)),this.onTypeFormattingEditProvider=new J(this._score.bind(this)),this.signatureHelpProvider=new J(this._score.bind(this)),this.hoverProvider=new J(this._score.bind(this)),this.documentHighlightProvider=new J(this._score.bind(this)),this.multiDocumentHighlightProvider=new J(this._score.bind(this)),this.selectionRangeProvider=new J(this._score.bind(this)),this.foldingRangeProvider=new J(this._score.bind(this)),this.linkProvider=new J(this._score.bind(this)),this.inlineCompletionsProvider=new J(this._score.bind(this)),this.completionProvider=new J(this._score.bind(this)),this.linkedEditingRangeProvider=new J(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new J(this._score.bind(this)),this.documentSemanticTokensProvider=new J(this._score.bind(this)),this.documentDropEditProvider=new J(this._score.bind(this)),this.documentPasteEditProvider=new J(this._score.bind(this))}_score(e){return this._notebookTypeResolver?.(e)}},1);var tl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},nl=function(e,t){return function(n,r){t(n,r,e)}},rl=class extends F{constructor(e,t,n){super(),this._themeService=e,this._logService=t,this._languageService=n,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new Qn(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};rl=tl([nl(0,Ea),nl(1,Eo),nl(2,j)],rl),D(Ln,rl,1);var il=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},al=function(e,t){return function(n,r){t(n,r,e)}},ol=class extends F{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new P),this._onCodeEditorAdd=this._register(new P),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new P),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new P),this._onDiffEditorAdd=this._register(new P),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new P),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new ir,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null,t=this.listCodeEditors();for(let n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){let t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,n){let r=e.toString(),i;this._modelProperties.has(r)?i=this._modelProperties.get(r):(i=new Map,this._modelProperties.set(r,i)),i.set(t,n)}getModelProperty(e,t){let n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(let r of this._codeEditorOpenHandlers){let i=await r(e,t,n);if(i!==null)return i}return null}registerCodeEditorOpenHandler(e){let t=this._codeEditorOpenHandlers.unshift(e);return I(t)}};ol=il([al(0,Ea)],ol);var sl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cl=function(e,t){return function(n,r){t(n,r,e)}},ll=class extends ol{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey(`editorIsOpen`,!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(e,t,n)=>t?this.doOpenEditor(t,e):null))}_checkContextKey(){let e=!1;for(let t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){let n=t.resource.scheme;if(n===B.http||n===B.https)return Co(t.resource.toString()),e}return null}let n=t.options?t.options.selection:null;if(n){if(typeof n.endLineNumber==`number`&&typeof n.endColumn==`number`)e.setSelection(n),e.revealRangeInCenter(n,1);else{let t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}}return e}findModel(e,t){let n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};ll=sl([cl(0,T),cl(1,Ea)],ll),D(R,ll,0);var ul=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},dl=function(e,t){return function(n,r){t(n,r,e)}},fl=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??tn.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return Wt(this.mainContainer)}get activeContainerDimension(){return Wt(this.activeContainer)}get containers(){return $r(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=C.None,this.onDidLayoutActiveContainer=C.None,this.onDidLayoutContainer=C.None,this.onDidChangeActiveContainer=C.None,this.onDidAddContainer=C.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};fl=ul([dl(0,R)],fl);var pl=class extends fl{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};pl=ul([dl(1,R)],pl),D(Yo,fl,1);var ml=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},hl=function(e,t){return function(n,r){t(n,r,e)}},gl=class extends F{constructor(e,t,n){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=n,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=this._register(new P),this._onDidChangeReducedMotion=this._register(new P),this._onDidChangeReducedTransparency=this._register(new P),this._onDidChangeLinkUnderline=this._register(new P),this._accessibilityModeEnabledContext=Sr.bindTo(this._contextKeyService);let r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.accessibilitySupport`)&&(r(),this._onDidChangeScreenReaderOptimized.fire()),e.affectsConfiguration(`workbench.reduceMotion`)&&(this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`),this._onDidChangeReducedMotion.fire()),e.affectsConfiguration(`workbench.reduceTransparency`)&&(this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._onDidChangeReducedTransparency.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));let i=tn.matchMedia(`(prefers-reduced-motion: reduce)`);this._systemMotionReduced=i.matches,this._configMotionReduced=this._configurationService.getValue(`workbench.reduceMotion`);let a=tn.matchMedia(`(prefers-reduced-transparency: reduce)`);this._systemTransparencyReduced=a.matches,this._configTransparencyReduced=this._configurationService.getValue(`workbench.reduceTransparency`),this._linkUnderlinesEnabled=this._configurationService.getValue(`accessibility.underlineLinks`),this.initReducedMotionListeners(i),this.initReducedTransparencyListeners(a),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(L(e,`change`,()=>{this._systemMotionReduced=e.matches,this._configMotionReduced===`auto`&&this._onDidChangeReducedMotion.fire()}));let t=e=>{let t=this.isMotionReduced();e.classList.toggle(`monaco-reduce-motion`,t),e.classList.toggle(`monaco-enable-motion`,!t)},n=()=>{for(let e of this._layoutService.containers)t(e)};n(),this._register(this.onDidChangeReducedMotion(()=>n())),this._register(this._layoutService.onDidAddContainer(({container:e})=>t(e)))}initReducedTransparencyListeners(e){this._register(L(e,`change`,()=>{this._systemTransparencyReduced=e.matches,this._configTransparencyReduced===`auto`&&this._onDidChangeReducedTransparency.fire()}));let t=()=>{let e=this.isTransparencyReduced();this._layoutService.mainContainer.classList.toggle(`monaco-reduce-transparency`,e)};t(),this._register(this.onDidChangeReducedTransparency(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(e=>{if(e.affectsConfiguration(`accessibility.underlineLinks`)){let e=this._configurationService.getValue(`accessibility.underlineLinks`);this._linkUnderlinesEnabled=e,this._onDidChangeLinkUnderline.fire()}}));let e=()=>{let e=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle(`underline-links`,e)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){let e=this.getAccessibilitySupportConfigurationValue();return e===`on`||e===`auto`&&this._accessibilitySupport===2}getAccessibilitySupportConfigurationValue(){let e=this._configurationService.inspect(`editor.accessibilitySupport`);return e.policyValue??e.memoryValue??e.workspaceFolderValue??e.workspaceValue??e.userValue??e.applicationValue??e.defaultValue??`auto`}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){let e=this._configMotionReduced;return e===`on`||e===`auto`&&this._systemMotionReduced}get onDidChangeReducedTransparency(){return this._onDidChangeReducedTransparency.event}isTransparencyReduced(){let e=this._configTransparencyReduced;return e===`on`||e===`auto`&&this._systemTransparencyReduced}getAccessibilitySupport(){return this._accessibilitySupport}};gl=ml([hl(0,T),hl(1,Yo),hl(2,K)],gl);var _l,vl=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},yl=function(e,t){return function(n,r){t(n,r,e)}},bl,xl=`application/vnd.code.resources`,Sl=(_l=class extends F{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText=``,this.resources=[],this.resourcesStateHash=void 0,(gs||mn)&&this.installWebKitWriteTextWorkaround(),this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>{t.add(L(e.document,`copy`,()=>this.clearResourcesState()))},{window:tn,disposables:this._store}))}triggerPaste(){this.logService.trace(`BrowserClipboardService#triggerPaste`)}installWebKitWriteTextWorkaround(){let e=()=>{let e=ve().navigator.clipboard;if(!e)return;let t=new pr;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,e.write([new ClipboardItem({"text/plain":t.p})]).catch(async e=>{e instanceof Error&&e.name===`NotAllowedError`&&t.isRejected||this.logService.error(e)})};this._register(C.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:n})=>{n.add(L(t,`click`,e)),n.add(L(t,`keydown`,e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.logService.trace(`BrowserClipboardService#writeText called with type:`,t,` text.length:`,e.length),this.clearResourcesState(),t)this.mapTextToType.set(t,e),this.logService.trace(`BrowserClipboardService#writeText`);else{if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return this.logService.trace(`before navigator.clipboard.writeText`),await ve().navigator.clipboard.writeText(e)}catch(e){console.error(e)}this.fallbackWriteText(e)}}fallbackWriteText(e){this.logService.trace(`BrowserClipboardService#fallbackWriteText`);let t=jn(),n=t.activeElement,r=t.body.appendChild(pa(`textarea`,{"aria-hidden":!0}));r.style.height=`1px`,r.style.width=`1px`,r.style.position=`absolute`,r.value=e,r.focus(),r.select(),t.execCommand(`copy`),vt(n)&&n.focus(),r.remove()}async readText(e){if(this.logService.trace(`BrowserClipboardService#readText called with type:`,e),e){let t=this.mapTextToType.get(e)||``;return this.logService.trace(`BrowserClipboardService#readText text.length:`,t.length),t}try{let e=await ve().navigator.clipboard.readText();return this.logService.trace(`BrowserClipboardService#readText text.length:`,e.length),e}catch(e){console.error(e)}return``}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async readResources(){try{let e=await ve().navigator.clipboard.read();for(let t of e)if(t.types.includes(`web ${xl}`)){let e=await t.getType(`web ${xl}`);return JSON.parse(await e.text()).map(e=>W.from(e))}}catch{}let e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;let e=await this.readText();return Jn(e.substring(0,bl.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},bl=_l,_l.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,_l);Sl=bl=vl([yl(0,Yo),yl(1,Eo)],Sl);function Cl(e){return Object.isFrozen(e)?e:xn(e)}var wl=class e{static createEmptyModel(t){return new e({},[],[],void 0,t)}constructor(e,t,n,r,i){this._contents=e,this._keys=t,this._overrides=n,this._raw=r,this.logService=i,this.overrideConfigurations=new Map}get rawConfiguration(){if(!this._rawConfiguration){if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(t=>{if(t instanceof e)return t;let n=new Tl(``,this.logService);return n.parseRaw(t),n.configurationModel});this._rawConfiguration=t.reduce((e,t)=>t===e?t:e.merge(t),t[0])}else this._rawConfiguration=this}return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof e)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?Hn(this.contents,e):this.contents}inspect(t,n){let r=this;return{get value(){return Cl(r.rawConfiguration.getValue(t))},get override(){return n?Cl(r.rawConfiguration.getOverrideValue(t,n)):void 0},get merged(){return Cl(n?r.rawConfiguration.override(n).getValue(t):r.rawConfiguration.getValue(t))},get overrides(){let n=[];for(let{contents:i,identifiers:a,keys:o}of r.rawConfiguration.overrides){let s=new e(i,o,[],void 0,r.logService).getValue(t);s!==void 0&&n.push({identifiers:a,value:s})}return n.length?Cl(n):void 0}}}getOverrideValue(e,t){let n=this.getContentsForOverrideIdentifer(t);return n?e?Hn(n,e):n:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...t){let n=cs(this.contents),r=cs(this.overrides),i=[...this.keys],a=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let e of t)if(a.push(...e._raw?Array.isArray(e._raw)?e._raw:[e._raw]:[e]),!e.isEmpty()){this.mergeContents(n,e.contents);for(let t of e.overrides){let[e]=r.filter(e=>Ni(e.identifiers,t.identifiers));e?(this.mergeContents(e.contents,t.contents),e.keys.push(...t.keys),e.keys=ho(e.keys)):r.push(cs(t))}for(let t of e.keys)i.indexOf(t)===-1&&i.push(t)}return new e(n,i,r,!a.length||a.every(t=>t instanceof e)?void 0:a,this.logService)}createOverrideConfigurationModel(t){let n=this.getContentsForOverrideIdentifer(t);if(!n||typeof n!=`object`||!Object.keys(n).length)return this;let r={};for(let e of ho([...Object.keys(this.contents),...Object.keys(n)])){let t=this.contents[e],i=n[e];i&&(typeof t==`object`&&typeof i==`object`?(t=cs(t),this.mergeContents(t,i)):t=i),r[e]=t}return new e(r,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(let n of Object.keys(t))n in e&&qt(e[n])&&qt(t[n])?this.mergeContents(e[n],t[n]):e[n]=cs(t[n])}getContentsForOverrideIdentifer(e){let t=null,n=null,r=e=>{e&&(n?this.mergeContents(n,e):n=cs(e))};for(let n of this.overrides)n.identifiers.length===1&&n.identifiers[0]===e?t=n.contents:n.identifiers.includes(e)&&r(n.contents);return r(t),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){let t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),Ke(this.contents,e),Vi.test(e)&&this.overrides.splice(this.overrides.findIndex(t=>Ni(t.identifiers,wt(e))),1))}updateValue(e,t,n){if(_(this.contents,e,t,e=>this.logService.error(e)),n||=this.keys.indexOf(e)===-1,n&&this.keys.push(e),Vi.test(e)){let t=this.contents[e],n=wt(e),r={identifiers:n,keys:Object.keys(t),contents:Nn(t,e=>this.logService.error(e))},i=this.overrides.findIndex(e=>Ni(e.identifiers,n));i===-1?this.overrides.push(r):this.overrides[i]=r}}},Tl=class{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||wl.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;let{contents:n,keys:r,overrides:i,restricted:a,hasExcludedProperties:o}=this.doParseRaw(e,t);this._configurationModel=new wl(n,r,i,o?[e]:void 0,this.logService),this._restrictedConfigurations=a||[]}doParseRaw(e,t){let n=js.as(d.Configuration),r=n.getConfigurationProperties(),i=n.getExcludedConfigurationProperties(),a=this.filter(e,r,i,!0,t);return e=a.raw,{contents:Nn(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),keys:Object.keys(e),overrides:this.toOverrides(e,e=>this.logService.error(`Conflict in settings file ${this._name}: ${e}`)),restricted:a.restricted,hasExcludedProperties:a.hasExcludedProperties}}filter(e,t,n,r,i){let a=!1;if(!i?.scopes&&!i?.skipRestricted&&!i?.skipUnregistered&&!i?.exclude?.length)return{raw:e,restricted:[],hasExcludedProperties:a};let o={},s=[];for(let c in e)if(Vi.test(c)&&r){let r=this.filter(e[c],t,n,!1,i);o[c]=r.raw,a||=r.hasExcludedProperties,s.push(...r.restricted)}else{let r=this.filterProperty(c,e[c],t,n,i);s.push(...r.restricted),a||=r.hasExcludedProperties,r.included?o[c]=r.value:a=!0}return{raw:o,restricted:s,hasExcludedProperties:a}}filterProperty(e,t,n,r,i){let a=n[e];if(a)return{included:this.shouldInclude(e,a,r,i),value:t,restricted:a.restricted?[e]:[],hasExcludedProperties:!1};if(!qt(t)||Array.isArray(t)||r[e])return{included:this.shouldInclude(e,a,r,i),value:t,restricted:[],hasExcludedProperties:!1};if(i.exclude?.includes(e))return{included:!1,value:t,restricted:[],hasExcludedProperties:!1};let o=Object.keys(t);if(o.length===0)return{included:this.shouldInclude(e,a,r,i),value:t,restricted:[],hasExcludedProperties:!1};let s={},c=[],l=!1,u=!1;for(let a of o){let o=this.filterProperty(`${e}.${a}`,t[a],n,r,i);o.restricted.length&&c.push(...o.restricted),u||=o.hasExcludedProperties,o.included?(s[a]=o.value,l=!0):u=!0}return{included:l,value:s,restricted:c,hasExcludedProperties:u}}shouldInclude(e,t,n,r){if(r.exclude?.includes(e))return!1;if(r.include?.includes(e))return!0;if(r.skipRestricted&&t?.restricted||r.skipUnregistered&&!t)return!1;let i=t??n[e],a=i?i.scope===void 0?4:i.scope:void 0;return a===void 0||r.scopes===void 0||r.scopes.includes(a)}toOverrides(e,t){let n=[];for(let r of Object.keys(e))if(Vi.test(r)){let i={},a=e[r];for(let e in a)i[e]=a[e];n.push({identifiers:wt(r),keys:Object.keys(i),contents:Nn(i,t)})}return n}},El=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){this.key=e,this.overrides=t,this._value=n,this.overrideIdentifiers=r,this.defaultConfiguration=i,this.policyConfiguration=a,this.applicationConfiguration=o,this.userConfiguration=s,this.localUserConfiguration=c,this.remoteUserConfiguration=l,this.workspaceConfiguration=u,this.folderConfigurationModel=d,this.memoryConfigurationModel=f}toInspectValue(e){return e?.value!==void 0||e?.override!==void 0||e?.overrides!==void 0?e:void 0}get defaultInspectValue(){return this._defaultInspectValue||=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get userInspectValue(){return this._userInspectValue||=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}},Dl=class e{constructor(e,t,n,r,i,a,o,s,c,l){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=n,this._localUserConfiguration=r,this._remoteUserConfiguration=i,this._workspaceConfiguration=a,this._folderConfigurations=o,this._memoryConfiguration=s,this._memoryConfigurationByResource=c,this.logService=l,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new fe,this._userConfiguration=null}getValue(e,t,n){return this.getConsolidatedConfigurationModel(e,t,n).getValue(e)}updateValue(e,t,n={}){let r;n.resource?(r=this._memoryConfigurationByResource.get(n.resource),r||(r=wl.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,n){let r=this.getConsolidatedConfigurationModel(e,t,n),i=this.getFolderConfigurationModelForResource(t.resource,n),a=t.resource&&this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration,o=new Set;for(let t of r.overrides)for(let n of t.identifiers)r.getOverrideValue(e,n)!==void 0&&o.add(n);return new El(e,t,r.getValue(e),o.size?[...o]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,i||void 0,a)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration){if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let e=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new wl(e.contents,e.keys,e.overrides,void 0,this.logService)}}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,n){let r=this.getConsolidatedConfigurationModelForResource(t,n);if(t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0){r=r.merge();for(let e of this._policyConfiguration.keys)r.setValue(e,this._policyConfiguration.getValue(e))}return r}getConsolidatedConfigurationModelForResource({resource:e},t){let n=this.getWorkspaceConsolidatedConfiguration();if(t&&e){let r=t.getFolder(e);r&&(n=this.getFolderConsolidatedConfiguration(r.uri)||n);let i=this._memoryConfigurationByResource.get(e);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){let n=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=n.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=n}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){let n=t.getFolder(e);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{let{contents:n,overrides:r,keys:i}=this._folderConfigurations.get(t);return e.push([t,{contents:n,overrides:r,keys:i}]),e},[])}}static parse(t,n){let r=this.parseConfigurationModel(t.defaults,n),i=this.parseConfigurationModel(t.policy,n),a=this.parseConfigurationModel(t.application,n),o=this.parseConfigurationModel(t.userLocal,n),s=this.parseConfigurationModel(t.userRemote,n),c=this.parseConfigurationModel(t.workspace,n),l=t.folders.reduce((e,t)=>(e.set(W.revive(t[0]),this.parseConfigurationModel(t[1],n)),e),new fe);return new e(r,i,a,o,s,c,l,wl.createEmptyModel(n),new fe,n)}static parseConfigurationModel(e,t){return new wl(e.contents,e.keys,e.overrides,e.raw,t)}},Ol=class{constructor(e,t,n,r,i){this.change=e,this.previous=t,this.currentConfiguraiton=n,this.currentWorkspace=r,this.logService=i,this._marker=`
6
+ `,this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(let t of e.keys)this.affectedKeys.add(t);for(let[,t]of e.overrides)for(let e of t)this.affectedKeys.add(e);this._affectsConfigStr=this._marker;for(let e of this.affectedKeys)this._affectsConfigStr+=e+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Dl.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){let n=this._marker+e,r=this._affectsConfigStr.indexOf(n);if(r<0)return!1;let i=r+n.length;if(i>=this._affectsConfigStr.length)return!1;let a=this._affectsConfigStr.charCodeAt(i);if(a!==this._markerCode1&&a!==this._markerCode2)return!1;if(t){let n=this.previousConfiguration?this.previousConfiguration.getValue(e,t,this.previous?.workspace):void 0,r=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!ye(n,r)}return!0}},kl=class extends F{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=wl.createEmptyModel(e)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=wl.createEmptyModel(this.logService);let e=js.as(d.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){let n=this.getConfigurationDefaultOverrides();for(let r of e){let e=n[r],i=t[r];e===void 0?i?this._configurationModel.setValue(r,this.getDefaultValue(r,i)):this._configurationModel.removeValue(r):this._configurationModel.setValue(r,e)}}getDefaultValue(e,t){return cs(t.default)}},Al,jl,Ml=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Nl=function(e,t){return function(n,r){t(n,r,e)}},Pl=`data-keybinding-context`,Fl=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return!ye(this._value[e],t)&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){let t=this._value[e];return t===void 0&&this._parent?this._parent.getValue(e):t}},Il=class extends Fl{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}};Al=Il,Al.INSTANCE=new Al;var Ll=class e extends Fl{constructor(e,t,n){super(e,null),this._configurationService=t,this._values=cn.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(e.source===7){let e=Array.from(this._values,([e])=>e);this._values.clear(),n.fire(new Bl(e))}else{let t=[];for(let n of e.affectedKeys){let e=`config.${n}`,r=this._values.findSuperstr(e);r!==void 0&&(t.push(...za.map(r,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}n.fire(new Bl(t))}})}dispose(){this._listener.dispose()}getValue(t){if(t.indexOf(e._keyPrefix)!==0)return super.getValue(t);if(this._values.has(t))return this._values.get(t);let n=t.substr(e._keyPrefix.length),r=this._configurationService.getValue(n),i;switch(typeof r){case`number`:case`boolean`:case`string`:i=r;break;default:i=Array.isArray(r)?JSON.stringify(r):r}return this._values.set(t,i),i}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}};jl=Ll,jl._keyPrefix=`config.`;var Rl=class{constructor(e,t,n){this._service=e,this._key=t,this._defaultValue=n,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){this._defaultValue===void 0?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}},zl=class{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}},Bl=class{constructor(e){this.keys=e}affectsSome(e){for(let t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}},Vl=class{constructor(e){this.events=e}affectsSome(e){for(let t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}};function Hl(e,t){return e.allKeysContainedIn(new Set(Object.keys(t)))}var Ul=class extends F{get onDidChangeContext(){return this._onDidChangeContext.event}constructor(e){super(),this._onDidChangeContext=this._register(new at({merge:e=>new Vl(e)})),this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new Rl(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);return new Gl(this,e)}contextMatchesRules(e){if(this._isDisposed)throw Error(`AbstractContextKeyService has been disposed`);let t=this.getContextValuesContainer(this._myContextId);return!e||e.evaluate(t)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;let n=this.getContextValuesContainer(this._myContextId);n&&n.setValue(e,t)&&this._onDidChangeContext.fire(new zl(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new zl(e))}getContext(e){return this._isDisposed?Il.INSTANCE:this.getContextValuesContainer(Kl(e))}dispose(){super.dispose(),this._isDisposed=!0}},Wl=class extends Ul{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0,this.inputFocusedContext=Me.bindTo(this);let t=this._register(new Ll(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t),this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>{let n=t.add(new i);t.add(L(e,z.FOCUS_IN,()=>{n.value=new A,this.updateInputContextKeys(e.document,n.value)},!0))},{window:tn,disposables:this._store}))}updateInputContextKeys(e,t){function n(){return!!e.activeElement&&Bn(e.activeElement)}let r=n();if(this.inputFocusedContext.set(r),r){let r=t.add(Ia(e.activeElement));C.once(r.onDidBlur)(()=>{ve().document===e&&this.inputFocusedContext.set(n()),r.dispose()},void 0,t)}}getContextValuesContainer(e){return this._isDisposed?Il.INSTANCE:this._contexts.get(e)||Il.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ContextKeyService has been disposed`);let t=++this._lastContextId;return this._contexts.set(t,new Fl(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};Wl=Ml([Nl(0,K)],Wl);var Gl=class extends Ul{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new i),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(Pl)){let e=``;this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(`, `)),console.error(`Element already has context attribute${e?`: `+e:``}`)}this._domNode.setAttribute(Pl,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{let t=this._parent.getContextValuesContainer(this._myContextId).value;Hl(e,t)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parentChangeListener.clear(),this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(Pl),super.dispose())}getContextValuesContainer(e){return this._isDisposed?Il.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw Error(`ScopedContextKeyService has been disposed`);return this._parent.createChildContext(e)}disposeContext(e){this._parent.disposeContext(e)}};function Kl(e){for(;e;){if(e.hasAttribute(Pl)){let t=e.getAttribute(Pl);return t?parseInt(t,10):NaN}e=e.parentElement}return 0}function ql(e,t,n){e.get(T).createKey(String(t),Jl(n))}function Jl(e){return ae(e,e=>{if(typeof e==`object`&&e.$mid===1)return W.revive(e).toString();if(e instanceof W)return e.toString()})}Be.registerCommand(`_setContext`,ql),Be.registerCommand({id:`getContextKeyInfo`,handler(){return[...Fn.all()].sort((e,t)=>e.key.localeCompare(t.key))},metadata:{description:G(1768,`A command that returns information about context keys`),args:[]}}),Be.registerCommand(`_generateContextKeyInfo`,function(){let e=[],t=new Set;for(let n of Fn.all())t.has(n.key)||(t.add(n.key),e.push(n));e.sort((e,t)=>e.key.localeCompare(t.key)),console.log(JSON.stringify(e,void 0,2))});var Yl=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Xl=/(&amp;)?(&amp;)([^\s&])/g,Zl;(function(e){e[e.Right=0]=`Right`,e[e.Left=1]=`Left`})(Zl||={});var Ql;(function(e){e[e.Above=0]=`Above`,e[e.Below=1]=`Below`})(Ql||={});var $l=class e extends vo{constructor(e,t,n,r){e.classList.add(`monaco-menu-container`),e.setAttribute(`role`,`presentation`);let i=document.createElement(`div`);i.classList.add(`monaco-menu`),i.setAttribute(`role`,`presentation`),super(i,{orientation:1,actionViewItemProvider:e=>this.doGetActionViewItem(e,n,a),context:n.context,actionRunner:n.actionRunner,ariaLabel:n.ariaLabel,ariaRole:`menu`,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...li||Wo?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=i,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(Mn.addTarget(i)),this._register(L(i,z.KEY_DOWN,e=>{new Ja(e).equals(2)&&e.preventDefault()})),n.enableMnemonics&&this._register(L(i,z.KEY_DOWN,e=>{let t=e.key.toLocaleLowerCase(),n=this.mnemonics.get(t);if(n!==void 0&&(mi.stop(e,!0),n.length===1&&(n[0]instanceof tu&&n[0].container&&this.focusItemByElement(n[0].container),n[0].onClick(e)),n.length>1)){let e=n.shift();e&&e.container&&(this.focusItemByElement(e.container),n.push(e)),this.mnemonics.set(t,n)}})),Wo&&this._register(L(i,z.KEY_DOWN,e=>{let t=new Ja(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),mi.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),mi.stop(e,!0))})),this._register(L(this.domNode,z.MOUSE_OUT,e=>{let t=e.relatedTarget;Gn(t,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(L(this.actionsList,z.MOUSE_MOVE,e=>{if(e.movementX===0&&e.movementY===0)return;let t=e.target;if(t&&Gn(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;if(e!==void 0&&this.actionsList.children[e]===t)return;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}})),this._register(Mn.addTarget(this.actionsList)),this._register(L(this.actionsList,Ge.Tap,e=>{let t=e.initialTarget;if(t&&Gn(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&t.parentElement!==null;)t=t.parentElement;if(t.classList.contains(`action-item`)){let e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));let a={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new yt(i,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));let o=this.scrollableElement.getDomNode();o.style.position=``,this.styleScrollElement(o,r),this._register(L(i,Ge.Change,e=>{mi.stop(e,!0);let t=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:t-e.translationY})})),this._register(L(o,z.MOUSE_UP,e=>{e.preventDefault()}));let s=O(e);i.style.maxHeight=`${Math.max(10,s.innerHeight-e.getBoundingClientRect().top-35)}px`,t=t.filter((e,r)=>n.submenuIds?.has(e.id)?(console.warn(`Found submenu cycle: ${e.id}`),!1):!(e instanceof mr&&(r===t.length-1||r===0||t[r-1]instanceof mr))),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof nu)).forEach((e,t,n)=>{e.updatePositionInSet(t+1,n.length)})}initializeOrUpdateStyleSheet(t,n){this.styleSheet||(fo(t)?this.styleSheet=Ca(t):(e.globalStyleSheet||=Ca(),this.styleSheet=e.globalStyleSheet)),this.styleSheet.textContent=au(n,fo(t))}styleScrollElement(e,t){let n=t.foregroundColor??``,r=t.backgroundColor??``;e.style.borderRadius=`var(--vscode-cornerRadius-large)`,e.style.color=n,e.style.backgroundColor=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){let t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t<this.actionsList.children.length;t++)if(e===this.actionsList.children[t]){this.focusedItem=t;break}}updateFocus(e){super.updateFocus(e,!0,!0),this.focusedItem!==void 0&&this.scrollableElement.setScrollPosition({scrollTop:Math.round(this.menuElement.scrollTop)})}doGetActionViewItem(e,t,n){if(e instanceof mr)return new nu(t.context,e,{icon:!0},this.menuStyles);if(e instanceof rn){let r=new tu(e,e.actions,n,{...t,submenuIds:new Set([...t.submenuIds||[],e.id])},this.menuStyles);if(t.enableMnemonics){let e=r.getMnemonic();if(e&&r.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[r]):t.push(r)}}return r}{let n=t.getKeyBinding?.(e)?.getLabel(),r={enableMnemonics:t.enableMnemonics,useEventAsContext:t.useEventAsContext,keybinding:n},i=new eu(t.context,e,r,this.menuStyles);if(t.enableMnemonics){let e=i.getMnemonic();if(e&&i.isEnabled()){let t=this.mnemonics.get(e);t===void 0?this.mnemonics.set(e,[i]):t.push(i)}}return i}}},eu=class extends me{constructor(e,t,n,r){if(n={...n,isMenu:!0,icon:n.icon!==void 0&&n.icon,label:n.label===void 0||n.label},super(t,t,n),this.menuStyle=r,this.options=n,this.cssClass=``,this.options.label&&n.enableMnemonics){let e=this.action.label;if(e){let t=Yl.exec(e);t&&(this.mnemonic=(t[1]?t[1]:t[3]).toLocaleLowerCase())}}this.runOnceToEnableMouseUp=new Mo(()=>{this.element&&(this._register(L(this.element,z.MOUSE_UP,e=>{if(mi.stop(e,!0),Mr){if(new ci(O(this.element),e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(L(this.element,z.CONTEXT_MENU,e=>{mi.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=x(this.element,pa(`a.action-menu-item`)),this._action.id===mr.ID?this.item.setAttribute(`role`,`presentation`):(this.item.setAttribute(`role`,`menuitem`),this.mnemonic&&this.item.setAttribute(`aria-keyshortcuts`,`${this.mnemonic}`)),this.check=x(this.item,pa(`span.menu-item-check`+so.asCSSSelector(Xa.menuSelection))),this.check.setAttribute(`role`,`none`),this.label=x(this.item,pa(`span.action-label`)),this.options.label&&this.options.keybinding&&(x(this.item,pa(`span.keybinding`)).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item?.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute(`aria-posinset`,`${e}`),this.item.setAttribute(`aria-setsize`,`${t}`))}updateLabel(){if(this.label&&this.options.label){ms(this.label);let e=et(this.action.label);if(e){let t=ru(e);this.options.enableMnemonics||(e=t),this.label.setAttribute(`aria-label`,t.replace(/&&/g,`&`));let n=Yl.exec(e);if(n){e=Tt(e),Xl.lastIndex=0;let t=Xl.exec(e);for(;t&&t[1];)t=Xl.exec(e);let r=e=>e.replace(/&amp;&amp;/g,`&amp;`);t?this.label.append(Yn(r(e.substr(0,t.index)),` `),pa(`u`,{"aria-hidden":`true`},t[3]),pt(r(e.substr(t.index+t[0].length)),` `)):this.label.textContent=r(e).trim(),this.item?.setAttribute(`aria-keyshortcuts`,(n[1]?n[1]:n[3]).toLocaleLowerCase())}else this.label.textContent=e.replace(/&&/g,`&`).trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(` `)),this.options.icon&&this.label?(this.cssClass=this.action.class||``,this.label.classList.add(`icon`),this.cssClass&&this.label.classList.add(...this.cssClass.split(` `)),this.updateEnabled()):this.label&&this.label.classList.remove(`icon`)}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove(`disabled`),this.element.removeAttribute(`aria-disabled`)),this.item&&(this.item.classList.remove(`disabled`),this.item.removeAttribute(`aria-disabled`),this.item.tabIndex=0)):(this.element&&(this.element.classList.add(`disabled`),this.element.setAttribute(`aria-disabled`,`true`)),this.item&&(this.item.classList.add(`disabled`),this.item.setAttribute(`aria-disabled`,`true`)))}updateChecked(){if(!this.item)return;let e=this.action.checked;this.item.classList.toggle(`checked`,!!e),e===void 0?(this.item.setAttribute(`role`,`menuitem`),this.item.setAttribute(`aria-checked`,``)):(this.item.setAttribute(`role`,`menuitemcheckbox`),this.item.setAttribute(`aria-checked`,e?`true`:`false`))}getMnemonic(){return this.mnemonic}applyStyle(){let e=this.element&&this.element.classList.contains(`focused`),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,n=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:``,i=e&&this.menuStyle.selectionBorderColor?`-1px`:``;this.item&&(this.item.style.color=t??``,this.item.style.backgroundColor=n??``,this.item.style.outline=r,this.item.style.outlineOffset=i),this.check&&(this.check.style.color=t??``)}},tu=class extends eu{constructor(e,t,n,r,i){super(e,e,r,i),this.submenuActions=t,this.parentData=n,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new A),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:Zl.Right,vertical:Ql.Below},this.showScheduler=new Mo(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Mo(()=>{this.element&&!Gn(Ee(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add(`monaco-submenu-item`),this.item.tabIndex=0,this.item.setAttribute(`aria-haspopup`,`true`),this.updateAriaExpanded(`false`),this.submenuIndicator=x(this.item,pa(`span.submenu-indicator`+so.asCSSSelector(Xa.menuSubmenu))),this.submenuIndicator.setAttribute(`aria-hidden`,`true`)),this._register(L(this.element,z.KEY_UP,e=>{let t=new Ja(e);(t.equals(17)||t.equals(3))&&(mi.stop(e,!0),this.createSubmenu(!0))})),this._register(L(this.element,z.KEY_DOWN,e=>{let t=new Ja(e);Ee()===this.item&&(t.equals(17)||t.equals(3))&&mi.stop(e,!0)})),this._register(L(this.element,z.MOUSE_MOVE,e=>{e.movementX===0&&e.movementY===0||this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(L(this.element,z.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(L(this.element,z.FOCUS_OUT,e=>{this.element&&!Gn(Ee(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){mi.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch{}this.parentData.submenu=void 0,this.updateAriaExpanded(`false`),this.submenuContainer&&=(this.submenuDisposables.clear(),void 0)}}calculateSubmenuMenuLayout(e,t,n,r){let i={top:0,left:0};return i.left=Sa(e.width,t.width,{position:r.horizontal===Zl.Right?0:1,offset:n.left,size:n.width}).position,i.left>=n.left&&i.left<n.left+n.width&&(n.left+10+t.width<=e.width&&(i.left=n.left+10),n.top+=10,n.height=0),i.top=Sa(e.height,t.height,{position:0,offset:n.top,size:0}).position,i.top+t.height===n.top&&i.top+n.height+t.height<=e.height&&(i.top+=n.height),i}createSubmenu(e=!0){if(this.element){if(this.parentData.submenu)this.parentData.submenu.focus(!1);else{this.updateAriaExpanded(`true`),this.submenuContainer=x(this.element,pa(`div.monaco-submenu`)),this.submenuContainer.classList.add(`menubar-menu-items-holder`,`context-view`);let t=O(this.parentData.parent.domNode).getComputedStyle(this.parentData.parent.domNode),n=parseFloat(t.paddingTop||`0`)||0;this.submenuContainer.style.position=`fixed`,this.submenuContainer.style.top=`0`,this.submenuContainer.style.left=`0`,this.submenuContainer.style.zIndex=`1`,this.parentData.submenu=new $l(this.submenuContainer,this.submenuActions.length?this.submenuActions:[new rr],this.submenuOptions,this.menuStyle);let r=this.element.getBoundingClientRect(),i={top:r.top-n,left:r.left,height:r.height+2*n,width:r.width},a=this.submenuContainer.getBoundingClientRect(),o=O(this.element),{top:s,left:c}=this.calculateSubmenuMenuLayout(new Qo(o.innerWidth,o.innerHeight),Qo.lift(a),i,this.expandDirection);this.submenuContainer.style.left=`${c-a.left}px`,this.submenuContainer.style.top=`${s-a.top}px`,this.submenuDisposables.add(L(this.submenuContainer,z.KEY_UP,e=>{new Ja(e).equals(15)&&(mi.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(L(this.submenuContainer,z.KEY_DOWN,e=>{new Ja(e).equals(15)&&mi.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}}updateAriaExpanded(e){this.item&&this.item?.setAttribute(`aria-expanded`,e)}applyStyle(){super.applyStyle();let e=this.element&&this.element.classList.contains(`focused`)&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e??``)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&=(this.mysubmenu.dispose(),null),this.submenuContainer&&=void 0}},nu=class extends Se{constructor(e,t,n,r){super(e,t,n),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:``)}};function ru(e){let t=Yl,n=t.exec(e);if(!n)return e;let r=!n[1];return e.replace(t,r?`$2$3`:``).trim()}function iu(e){let t=ya()[e.id];return`.codicon-${e.id}:before { content: '\\${t.toString(16)}'; }`}function au(e,t){let n=e.borderColor??`var(--vscode-menu-border)`,r=`var(--vscode-shadow-lg${e.shadowColor?`, 0 0 12px ${e.shadowColor}`:``})`,i=`
7
7
  .monaco-menu {
8
8
  font-size: 13px;
9
9
  border-radius: var(--vscode-cornerRadius-large);
@@ -400,21 +400,21 @@ ${iu(Xa.menuSubmenu)}
400
400
  background: ${a};
401
401
  }
402
402
  `)}return i}var ou=class{constructor(e,t,n,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=n,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){let t=e.getActions();if(!t.length)return;this.focusToReturn=Ee();let n,r=vt(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,closeAnimation:e.closeAnimation,layer:e.layer,render:r=>{this.lastContainer=r;let i=e.getMenuClassName?e.getMenuClassName():``;i&&(r.className+=` `+i),this.options.blockMouse&&(this.block=r.appendChild(pa(`.context-view-block`)),this.block.style.position=`fixed`,this.block.style.cursor=`initial`,this.block.style.left=`0`,this.block.style.top=`0`,this.block.style.width=`100%`,this.block.style.height=`100%`,this.block.style.zIndex=`-1`,this.blockDisposable?.dispose(),this.blockDisposable=L(this.block,z.MOUSE_DOWN,e=>e.stopPropagation()));let a=new A,o=e.actionRunner||a.add(new cr);o.onWillRun(t=>this.onActionRun(t,!e.skipTelemetry),this,a),o.onDidRun(this.onDidActionRun,this,a),n=new $l(r,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:o,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)},br),n.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),n.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);let s=O(r);return a.add(L(s,z.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(L(s,z.MOUSE_DOWN,e=>{if(e.defaultPrevented)return;let t=new ci(s,e),n=t.target;if(!t.rightButton){for(;n;){if(n===r)return;n=n.parentElement}this.contextViewService.hideContextView(!0)}})),ka(a,n)},focus:()=>{n?.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide?.(!!t),this.block&&=(this.block.remove(),null),this.blockDisposable?.dispose(),this.blockDisposable=null,this.lastContainer&&(Ee()===this.lastContainer||Gn(Ee(),this.lastContainer))&&this.focusToReturn?.focus(),this.lastContainer=null}},r,!!r,e.useWindowContainerForShadowRoot)}onActionRun(e,t){t&&this.telemetryService.publicLog2(`workbenchActionExecuted`,{id:e.action.id,from:`contextMenu`}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!mt(e.error)&&this.notificationService.error(e.error)}},su=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},cu=function(e,t){return function(n,r){t(n,r,e)}},lu=class extends F{get contextMenuHandler(){return this._contextMenuHandler||=new ou(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService),this._contextMenuHandler}constructor(e,t,n,r,i,a){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=n,this.keybindingService=r,this.menuService=i,this.contextKeyService=a,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new P),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new P),this.onDidHideContextMenu=this._onDidHideContextMenu.event}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=uu.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{e.onHide?.(t),this._onDidHideContextMenu.fire()}}),Ta.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};lu=su([cu(0,$i),cu(1,v),cu(2,s),cu(3,Jt),cu(4,Wi),cu(5,T)],lu);var uu;(function(e){function t(e){return e&&e.menuId instanceof Ot}function n(e,n,r){if(!t(e))return e;let{menuId:i,menuActionOptions:a,contextKeyService:o}=e;return{...e,getActions:()=>{let t=[];if(i){let e=n.getMenuActions(i,o??r,a);t=la(e)}return e.getActions?mr.join(e.getActions(),t):t}}}e.transform=n})(uu||={});var du=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fu=function(e,t){return function(n,r){t(n,r,e)}},pu=class extends F{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new fi(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,n,r){let i;i=t?t===this.layoutService.getContainer(O(t))?1:n?3:2:1;let a=r&&t?this.layoutService.getContainer(O(t)):t??this.layoutService.activeContainer;this.contextView.setContainer(a,i),this.contextView.show(e);let o={close:()=>{this.openContextView===o&&this.hideContextView()}};return this.openContextView=o,o}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};pu=du([fu(0,Yo)],pu);var mu=class extends pu{getContextViewElement(){return this.contextView.getViewElement()}},hu=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}},gu=class{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){let e=[];for(let t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){let n=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);n.outgoing.set(r.key,r),r.incoming.set(n.key,n)}removeNode(e){let t=this._hashFn(e);this._nodes.delete(t);for(let e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){let t=this._hashFn(e),n=this._nodes.get(t);return n||(n=new hu(t,e),this._nodes.set(t,n)),n}isEmpty(){return this._nodes.size===0}toString(){let e=[];for(let[t,n]of this._nodes)e.push(`${t}\n\t(-> incoming)[${[...n.incoming.keys()].join(`, `)}]\n\t(outgoing ->)[${[...n.outgoing.keys()].join(`,`)}]\n`);return e.join(`
403
- `)}findCycleSlow(){for(let[e,t]of this._nodes){let n=new Set([e]),r=this._findCycle(t,n);if(r)return r}}_findCycle(e,t){for(let[n,r]of e.outgoing){if(t.has(n))return[...t,n].join(` -> `);t.add(n);let e=this._findCycle(r,t);if(e)return e;t.delete(n)}}},_u,vu=!1,yu=class extends Error{constructor(e){super(`cyclic dependency between services`),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}},bu=class e{constructor(e=new Fi,t=!1,n,r=vu){this._services=e,this._strict=t,this._parent=n,this._enableTracing=r,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(V,this),this._globalGraph=r?n?._globalGraph??new gu(e=>e):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,go(this._children),this._children.clear();for(let e of this._servicesToMaybeDispose)Pi(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw Error(`InstantiationService has been disposed`)}createChild(t,n){this._throwIfDisposed();let r=this,i=new class extends e{dispose(){r._children.delete(i),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(i),n?.add(i),i}invokeFunction(e,...t){this._throwIfDisposed();let n=xu.traceInvocation(this._enableTracing,e),r=!1;try{return e({get:e=>{if(r)throw ze(`service accessor is only valid during the invocation of its target method`);let t=this._getOrCreateServiceInstance(e,n);return t||this._throwIfStrict(`[invokeFunction] unknown service '${e}'`,!1),t}},...t)}finally{r=!0,n.stop()}}createInstance(e,...t){this._throwIfDisposed();let n,r;return e instanceof bt?(n=xu.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=xu.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,n)),n.stop(),r}_createInstance(e,t=[],n){let r=Bi.getServiceDependencies(e).sort((e,t)=>e.index-t.index),i=[];for(let t of r){let r=this._getOrCreateServiceInstance(t.id,n);r||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),i.push(r)}let a=r.length>0?r[0].index:t.length;if(t.length!==a){console.trace(`[createInstance] First service dependency of ${e.name} at position ${a+1} conflicts with ${t.length} static arguments`);let n=a-t.length;t=n>0?t.concat(Array(n)):t.slice(0,a)}return Reflect.construct(e,t.concat(i))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof bt)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw Error(`illegalState - setting UNKNOWN service instance`)}_getServiceInstanceOrDescriptor(e){let t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));let n=this._getServiceInstanceOrDescriptor(e);return n instanceof bt?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){let r=new gu(e=>e.id.toString()),i=0,a=[{id:e,desc:t,_trace:n}],o=new Set;for(;a.length;){let t=a.pop();if(!o.has(String(t.id))){if(o.add(String(t.id)),r.lookupOrInsertNode(t),i++>1e3)throw new yu(r);for(let n of Bi.getServiceDependencies(t.desc.ctor)){let i=this._getServiceInstanceOrDescriptor(n.id);if(i||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(n.id)),i instanceof bt){let e={id:n.id,desc:i,_trace:t._trace.branch(n.id,!0)};r.insertEdge(t,e),a.push(e)}}}}for(;;){let e=r.roots();if(e.length===0){if(!r.isEmpty())throw new yu(r);break}for(let{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof bt){let e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}r.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],r,i){if(this._services.get(e)instanceof bt)return this._createServiceInstance(e,t,n,r,i,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,r,i);throw Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(n,r,i=[],a,o,s){if(a){let a=new e(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(n);let c=new Map,l=new t(()=>{let e=a._createInstance(r,i,o);for(let[t,n]of c){let r=e[t];if(typeof r==`function`)for(let t of n)t.disposable=r.apply(e,t.listener)}return c.clear(),s.add(e),e});return new Proxy(Object.create(null),{get(e,t){if(!l.isInitialized&&typeof t==`string`&&(t.startsWith(`onDid`)||t.startsWith(`onWill`))){let e=c.get(t);return e||(e=new ir,c.set(t,e)),(n,r,i)=>{if(l.isInitialized)return l.value[t](n,r,i);{let t={listener:[n,r,i],disposable:void 0},a=e.push(t);return I(()=>{a(),t.disposable?.dispose()})}}}if(t in e)return e[t];let n=l.value,r=n[t];return typeof r==`function`?(r=r.bind(n),e[t]=r,r):r},set(e,t,n){return l.value[t]=n,!0},getPrototypeOf(e){return r.prototype}})}{let e=this._createInstance(r,i,o);return s.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw Error(e)}},xu=class e{static traceInvocation(t,n){return t?new e(2,n.name||Error().stack.split(`
403
+ `)}findCycleSlow(){for(let[e,t]of this._nodes){let n=new Set([e]),r=this._findCycle(t,n);if(r)return r}}_findCycle(e,t){for(let[n,r]of e.outgoing){if(t.has(n))return[...t,n].join(` -> `);t.add(n);let e=this._findCycle(r,t);if(e)return e;t.delete(n)}}},_u,vu=!1,yu=class extends Error{constructor(e){super(`cyclic dependency between services`),this.message=e.findCycleSlow()??`UNABLE to detect cycle, dumping graph: \n${e.toString()}`}},bu=class e{constructor(e=new Fi,t=!1,n,r=vu){this._services=e,this._strict=t,this._parent=n,this._enableTracing=r,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(V,this),this._globalGraph=r?n?._globalGraph??new gu(e=>e):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,go(this._children),this._children.clear();for(let e of this._servicesToMaybeDispose)Pi(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw Error(`InstantiationService has been disposed`)}createChild(t,n){this._throwIfDisposed();let r=this,i=new class extends e{dispose(){r._children.delete(i),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(i),n?.add(i),i}invokeFunction(e,...t){this._throwIfDisposed();let n=xu.traceInvocation(this._enableTracing,e),r=!1;try{return e({get:e=>{if(r)throw ze(`service accessor is only valid during the invocation of its target method`);let t=this._getOrCreateServiceInstance(e,n);return t||this._throwIfStrict(`[invokeFunction] unknown service '${e}'`,!1),t}},...t)}finally{r=!0,n.stop()}}createInstance(e,...t){this._throwIfDisposed();let n,r;return e instanceof bt?(n=xu.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),n)):(n=xu.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,n)),n.stop(),r}_createInstance(e,t=[],n){let r=Bi.getServiceDependencies(e).sort((e,t)=>e.index-t.index),i=[];for(let t of r){let r=this._getOrCreateServiceInstance(t.id,n);r||this._throwIfStrict(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`,!1),i.push(r)}let a=r.length>0?r[0].index:t.length;if(t.length!==a){console.trace(`[createInstance] First service dependency of ${e.name} at position ${a+1} conflicts with ${t.length} static arguments`);let n=a-t.length;t=n>0?t.concat(Array(n)):t.slice(0,a)}return Reflect.construct(e,t.concat(i))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof bt)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw Error(`illegalState - setting UNKNOWN service instance`)}_getServiceInstanceOrDescriptor(e){let t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));let n=this._getServiceInstanceOrDescriptor(e);return n instanceof bt?this._safeCreateAndCacheServiceInstance(e,n,t.branch(e,!0)):(t.branch(e,!1),n)}_safeCreateAndCacheServiceInstance(e,t,n){if(this._activeInstantiations.has(e))throw Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,n)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,n){let r=new gu(e=>e.id.toString()),i=0,a=[{id:e,desc:t,_trace:n}],o=new Set;for(;a.length;){let t=a.pop();if(!o.has(String(t.id))){if(o.add(String(t.id)),r.lookupOrInsertNode(t),i++>1e3)throw new yu(r);for(let n of Bi.getServiceDependencies(t.desc.ctor)){let i=this._getServiceInstanceOrDescriptor(n.id);if(i||this._throwIfStrict(`[createInstance] ${e} depends on ${n.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(t.id),String(n.id)),i instanceof bt){let e={id:n.id,desc:i,_trace:t._trace.branch(n.id,!0)};r.insertEdge(t,e),a.push(e)}}}}for(;;){let e=r.roots();if(e.length===0){if(!r.isEmpty())throw new yu(r);break}for(let{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof bt){let e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setCreatedServiceInstance(t.id,e)}r.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,n=[],r,i){if(this._services.get(e)instanceof bt)return this._createServiceInstance(e,t,n,r,i,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,n,r,i);throw Error(`illegalState - creating UNKNOWN service instance ${t.name}`)}_createServiceInstance(n,r,i=[],a,o,s){if(a){let a=new e(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(n);let c=new Map,l=new t(()=>{let e=a._createInstance(r,i,o);for(let[t,n]of c){let r=e[t];if(typeof r==`function`)for(let t of n)t.disposable=r.apply(e,t.listener)}return c.clear(),s.add(e),e});return new Proxy(Object.create(null),{get(e,t){if(!l.isInitialized&&typeof t==`string`&&(t.startsWith(`onDid`)||t.startsWith(`onWill`))){let e=c.get(t);return e||(e=new ir,c.set(t,e)),(n,r,i)=>{if(l.isInitialized)return l.value[t](n,r,i);{let t={listener:[n,r,i],disposable:void 0},a=e.push(t);return I(()=>{a(),t.disposable?.dispose()})}}}if(t in e)return e[t];let n=l.value,r=n[t];return typeof r==`function`&&(r=r.bind(n),e[t]=r),r},set(e,t,n){return l.value[t]=n,!0},getPrototypeOf(e){return r.prototype}})}{let e=this._createInstance(r,i,o);return s.add(e),e}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw Error(e)}},xu=class e{static traceInvocation(t,n){return t?new e(2,n.name||Error().stack.split(`
404
404
  `).slice(3,4).join(`
405
405
  `)):e._None}static traceCreation(t,n){return t?new e(1,n.name):e._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(t,n){let r=new e(3,t.toString());return this._dep.push([t,n,r]),r}stop(){let t=Date.now()-this._start;e._totals+=t;let n=!1;function r(e,t){let i=[],a=Array(e+1).join(` `);for(let[o,s,c]of t._dep)if(s&&c){n=!0,i.push(`${a}CREATES -> ${o}`);let t=r(e+1,c);t&&i.push(t)}else i.push(`${a}uses -> ${o}`);return i.join(`
406
406
  `)}let i=[`${this.type===1?`CREATE`:`CALL`} ${this.name}`,`${r(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${e._totals.toFixed(2)}ms)`];(t>2||n)&&e.all.add(i.join(`
407
- `))}};_u=xu,_u.all=new Set,_u._None=new class extends _u{constructor(){super(0,null)}stop(){}branch(){return this}},_u._totals=0;var Su={kind:0},Cu={kind:1};function wu(e,t,n){return{kind:2,commandId:e,commandArgs:t,isBubble:n}}var Tu=class e{constructor(t,n,r){this._log=r,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(let e of t){let t=e.command;t&&t.charAt(0)!==`-`&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.handleRemovals([].concat(t,n));for(let e=0,t=this._keybindings.length;e<t;e++){let t=this._keybindings[e];if(t.chords.length===0)continue;let n=t.when?.substituteConstants();n&&n.type===0||this._addKeyPress(t.chords[0],t)}}static _isTargetedForRemoval(t,n,r){if(n){for(let e=0;e<n.length;e++)if(n[e]!==t.chords[e])return!1}if(r&&r.type!==1){if(!t.when)return!1;let n=t.when.substituteConstants(),i=r.substituteConstants();if(!e.whenIsEntirelyIncluded(n,i))return!1}return!0}static handleRemovals(e){let t=new Map;for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.command&&r.command.charAt(0)===`-`){let e=r.command.substring(1);t.has(e)?t.get(e).push(r):t.set(e,[r])}}if(t.size===0)return e;let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];if(!i.command||i.command.length===0){n.push(i);continue}if(i.command.charAt(0)===`-`)continue;let a=t.get(i.command);if(!a||!i.isDefault){n.push(i);continue}let o=!1;for(let e of a){let t=e.when;if(this._isTargetedForRemoval(i,e.chords,t)){o=!0;break}}if(!o){n.push(i);continue}}return n}_addKeyPress(t,n){let r=this._map.get(t);if(r===void 0){this._map.set(t,[n]),this._addToLookupMap(n);return}for(let t=r.length-1;t>=0;t--){let i=r[t];if(i.command===n.command)continue;let a=!0;for(let e=1;e<i.chords.length&&e<n.chords.length;e++)if(i.chords[e]!==n.chords[e]){a=!1;break}a&&e.whenIsEntirelyIncluded(i.when,n.when)&&this._removeFromLookupMap(i)}r.push(n),this._addToLookupMap(n)}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);t===void 0?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);if(t!==void 0){for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t.splice(n,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:Zn(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t,n=!1){let r=this._lookupMap.get(e);if(r===void 0||r.length===0)return null;if(r.length===1&&!n)return r[0];for(let e=r.length-1;e>=0;e--){let n=r[e];if(t.contextMatchesRules(n.when))return n}return n?null:r[r.length-1]}resolve(e,t,n){let r=[...t,n];this._log(`| Resolving ${r}`);let i=this._map.get(r[0]);if(i===void 0)return this._log(`\\ No keybinding entries.`),Su;let a=null;if(r.length<2)a=i;else{a=[];for(let e=0,t=i.length;e<t;e++){let t=i[e];if(r.length>t.chords.length)continue;let n=!0;for(let e=1;e<r.length;e++)if(t.chords[e]!==r[e]){n=!1;break}n&&a.push(t)}}let o=this._findCommand(e,a);return o?r.length<o.chords.length?(this._log(`\\ From ${a.length} keybinding entries, awaiting ${o.chords.length-r.length} more chord(s), when: ${Eu(o.when)}, source: ${Du(o)}.`),Cu):(this._log(`\\ From ${a.length} keybinding entries, matched ${o.command}, when: ${Eu(o.when)}, source: ${Du(o)}.`),wu(o.command,o.commandArgs,o.bubble)):(this._log(`\\ From ${a.length} keybinding entries, no when clauses matched the context.`),Su)}_findCommand(t,n){for(let r=n.length-1;r>=0;r--){let i=n[r];if(e._contextMatchesRules(t,i.when))return i}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}};function Eu(e){return e?`${e.serialize()}`:`no when condition`}function Du(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?`built-in`:`user`}var Ou,ku=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;function Au(e){return e.keyCode===114}var ju=class extends F{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:C.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,n,r,i){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=r,this._logService=i,this._onDidUpdateKeybindings=this._register(new P),this._currentChords=[],this._currentChordChecker=new Qr,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new mo,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t,n=!1){let r=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService,n);if(r)return r.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){if(this._log(`/ Soft dispatching keyboard event`),Au(e))return this._log(`\\ Keyboard event is part of an IME composition`),Su;let n=this.resolveKeyboardEvent(e);if(n.hasMultipleChords())return console.warn(`keyboard event should not be mapped to multiple chords`),Su;let[r]=n.getDispatchChords();if(r===null)return this._log(`\\ Keyboard event cannot be dispatched`),Su;let i=this._contextKeyService.getContext(t),a=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(i,a,r)}_scheduleLeaveChordMode(){let e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw ze(`impossible`);case 1:this._currentChordStatusMessage=this._notificationService.status(G(1796,`({0}) was pressed. Waiting for second key of chord...`,t));break;default:{let e=this._currentChords.map(({label:e})=>e).join(`, `);this._currentChordStatusMessage=this._notificationService.status(G(1797,`({0}) was pressed. Waiting for next key of chord...`,e))}}this._scheduleLeaveChordMode(),Ae.enabled&&Ae.disable()}_leaveChordMode(){this._currentChordStatusMessage&&=(this._currentChordStatusMessage.close(),null),this._currentChordChecker.cancel(),this._currentChords=[],Ae.enable()}_dispatch(e,t){return Au(e)?(this._log(`+ Ignoring keybinding dispatch because an IME composition is in progress.`),!1):this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){if(Au(e))return!1;let n=this.resolveKeyboardEvent(e),[r]=n.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(`+ Clearing single modifier due to 300ms elapsed.`),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));let[i]=n.getChords();return this._ignoreSingleModifiers=new Mu(i),this._currentSingleModifier!==null&&this._log(`+ Clearing single modifier due to other key up.`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){let r=!1;if(e.hasMultipleChords())return console.warn(`Unexpected keyboard event mapped to multiple chords`),!1;let i=null,a=null;if(n){let[t]=e.getSingleModifierDispatchChords();i=t,a=t?[t]:[]}else[i]=e.getDispatchChords(),a=this._currentChords.map(({keypress:e})=>e);if(i===null)return this._log(`\\ Keyboard event cannot be dispatched in keydown phase.`),r;let o=this._contextKeyService.getContext(t),s=e.getLabel(),c=this._getResolver().resolve(o,a,i);switch(c.kind){case 0:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ No matching keybinding ]`),this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(G(1798,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:1e4}),this._leaveChordMode(),r=!0}return r;case 1:return this._logService.trace(`KeybindingService#dispatch`,s,`[ Several keybindings match - more chords needed ]`),r=!0,this._expectAnotherChord(i,s),this._log(this._currentChords.length===1?`+ Entering multi-chord mode...`:`+ Continuing multi-chord mode...`),r;case 2:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===``){if(this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(G(1799,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:1e4}),this._leaveChordMode(),r=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(r=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{c.commandArgs===void 0?this._commandService.executeCommand(c.commandId).then(void 0,e=>this._notificationService.warn(e)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,e=>this._notificationService.warn(e))}finally{this._currentlyDispatchingCommandId=null}ku.test(c.commandId)||this._telemetryService.publicLog2(`workbenchActionExecuted`,{id:c.commandId,from:`keybinding`,detail:e.getUserSettingsLabel()??void 0})}return r}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}appendKeybinding(e,t,n,r){if(t){let i=this.lookupKeybinding(t,n,r)?.getLabel();if(i)return G(1800,`{0} ({1})`,e,i)}return e}},Mu=class{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case`ctrl`:return this._ctrlKey;case`shift`:return this._shiftKey;case`alt`:return this._altKey;case`meta`:return this._metaKey}}};Ou=Mu,Ou.EMPTY=new Ou(null);var Nu=class{constructor(e,t,n,r,i,a,o,s=!1){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?Pu(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=Pu(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=r,this.isDefault=i,this.extensionId=a,this.isBuiltinExtension=o,this.systemWide=s}};function Pu(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r)return[];t.push(r)}return t}var Fu=class extends _i{constructor(e,t){if(super(),t.length===0)throw Xn(`chords`);this._os=e,this._chords=t}getLabel(){return us.toLabel(this._os,this._chords,e=>this._getLabel(e))}getAriaLabel(){return gn.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:se.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return Tn.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new wi(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}},Iu=class e extends Fu{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return`←`;case 16:return`↑`;case 17:return`→`;case 18:return`↓`}return wn.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?``:this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?``:wn.toString(e.keyCode)}_getElectronAccelerator(e){return wn.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return``;let t=wn.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(t){return e.getDispatchStr(t)}static getDispatchStr(e){if(e.isModifierKey())return null;let t=``;return e.ctrlKey&&(t+=`ctrl+`),e.shiftKey&&(t+=`shift+`),e.altKey&&(t+=`alt+`),e.metaKey&&(t+=`meta+`),t+=wn.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?`ctrl`:e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?`shift`:e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?`alt`:e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?`meta`:null}static _scanCodeToKeyCode(e){let t=oe[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof ga)return e;let t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new ga(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(t,n){let r=Pu(t.chords.map(e=>this._toKeyCodeChord(e)));return r.length>0?[new e(r,n)]:[]}},Lu=class extends F{constructor(e,t=[]){super(),this.logger=new Go([e,...t]),this._register(e.onDidChangeLogLevel(e=>this.setLevel(e)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}},Ru=new Set([B.inMemory,B.vscodeSourceControl,B.walkThrough,B.walkThroughSnippet,B.vscodeChatCodeBlock,B.vscodeTerminal]),zu=class{constructor(){this._byResource=new fe,this._byOwner=new Map}set(e,t,n){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,n);let i=this._byOwner.get(t);i||(i=new fe,this._byOwner.set(t,i)),i.set(e,n)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let n=!1,r=!1,i=this._byResource.get(e);i&&(n=i.delete(t));let a=this._byOwner.get(t);if(a&&(r=a.delete(e)),n!==r)throw Error(`illegal state`);return n&&r}values(e){return typeof e==`string`?this._byOwner.get(e)?.values()??za.empty():W.isUri(e)?this._byResource.get(e)?.values()??za.empty():za.map(za.concat(...this._byOwner.values()),e=>e[1])}},Bu=class{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new fe,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(let t of e){let e=this._data.get(t);e&&this._substract(e);let n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){let t={errors:0,warnings:0,infos:0,unknowns:0};if(Ru.has(e.scheme))return t;for(let{severity:n}of this._service.read({resource:e}))n===ra.Error?t.errors+=1:n===ra.Warning?t.warnings+=1:n===ra.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}},Vu=class e{constructor(){this._onMarkerChanged=new co({merge:e._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new zu,this._stats=new Bu(this),this._filteredResources=new fe}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(let n of t||[])this.changeOne(e,n,[])}changeOne(t,n,r){if(Ra(r))this._data.delete(n,t)&&this._onMarkerChanged.fire([n]);else{let i=[];for(let a of r){let r=e._toMarker(t,n,a);r&&i.push(r)}this._data.set(n,t,i),this._onMarkerChanged.fire([n])}}static _toMarker(e,t,n){let{code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:ee}=n;if(a)return s=s>0?s:1,c=c>0?c:1,l=l>=s?l:s,u=u>0?u:c,{resource:t,owner:e,code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:ee}}changeAll(t,n){let r=[],i=this._data.values(t);if(i)for(let e of i){let n=za.first(e);n&&(r.push(n.resource),this._data.delete(n.resource,t))}if(wo(n)){let i=new fe;for(let{resource:a,marker:o}of n){let n=e._toMarker(t,a,o);if(!n)continue;let s=i.get(a);s?s.push(n):(i.set(a,[n]),r.push(a))}for(let[e,n]of i)this._data.set(e,t,n)}r.length>0&&this._onMarkerChanged.fire(r)}_createFilteredMarker(e,t){let n=t.length===1?G(1834,`Problems are paused because: "{0}"`,t[0]):G(1835,`Problems are paused because: "{0}" and {1} more`,t[0],t.length-1);return{owner:`markersFilter`,resource:e,severity:ra.Info,message:n,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(t=Object.create(null)){let{owner:n,resource:r,severities:i,take:a}=t;if((!a||a<0)&&(a=-1),n&&r){let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);if(o?.length)return[this._createFilteredMarker(r,o)];let s=this._data.get(r,n);if(!s)return[];let c=[];for(let n of s){if(a>0&&c.length===a)break;let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);o?.length?c.push(this._createFilteredMarker(r,o)):e._accept(n,i)&&c.push(n)}return c}{let o=!n&&!r?this._data.values():this._data.values(r??n),s=[],c=new Bt;for(let n of o)for(let r of n){if(c.has(r.resource))continue;if(a>0&&s.length===a)break;let n=t.ignoreResourceFilters?void 0:this._filteredResources.get(r.resource);n?.length?(s.push(this._createFilteredMarker(r.resource,n)),c.add(r.resource)):e._accept(r,i)&&s.push(r)}return s}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){let t=new fe;for(let n of e)for(let e of n)t.set(e,!0);return Array.from(t.keys())}},Hu=class{constructor(){this._modifierObservables=new WeakMap}readModifierKeyStatus(e,t){let n=e instanceof Window?e:O(e),r=this._modifierObservables.get(n);if(!r){let e=Ta.getInstance();r=Ci(this,e.event,()=>({ctrlKey:e.keyStatus.ctrlKey,shiftKey:e.keyStatus.shiftKey,altKey:e.keyStatus.altKey,metaKey:e.keyStatus.metaKey})),this._modifierObservables.set(n,r)}return r.read(t)}createFocusTracker(e,t){let n=t.add(Ia(e)),r=U(`isFocused`,(e=>{if(e instanceof Window)return e.document.hasFocus();let t=e.getRootNode()instanceof ShadowRoot?e.getRootNode():null,n=t?t.activeElement:e.ownerDocument.activeElement;return e.contains(n)})(e));return t.add(n.onDidFocus(()=>r.set(!0,void 0))),t.add(n.onDidBlur(()=>r.set(!1,void 0))),r}createHoverTracker(e,t){let n=U(`isHovered`,!1),r=()=>n.set(!0,void 0),i=()=>n.set(!1,void 0);return e.addEventListener(`mouseenter`,r),e.addEventListener(`mouseleave`,i),t.add({dispose:()=>{e.removeEventListener(`mouseenter`,r),e.removeEventListener(`mouseleave`,i)}}),n}createDomFocusTracker(e){return Ia(e)}};D(Dt,Hu,1);var Uu;(function(e){e[e.API=0]=`API`,e[e.USER=1]=`USER`})(Uu||={});var Wu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gu=function(e,t){return function(n,r){t(n,r,e)}},Ku=class{constructor(e){this._commandService=e}async open(e,t){if(!rt(e,B.command))return!1;if(!t?.allowCommands||(typeof e==`string`&&(e=W.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let n=[];try{n=we(decodeURIComponent(e.query))}catch{try{n=we(e.query)}catch{}}return Array.isArray(n)||(n=[n]),await this._commandService.executeCommand(e.path,...n),!0}};Ku=Wu([Gu(0,ht)],Ku);var qu=class{constructor(e){this._editorService=e}async open(e,t){typeof e==`string`&&(e=W.parse(e));let{selection:n,uri:r}=Lr(e);return e=r,e.scheme===B.file&&(e=_s(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:n,source:t?.fromUserGesture?Uu.USER:Uu.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};qu=Wu([Gu(0,R)],qu);function Ju(e,t){return!!t?.openExternal||sr(e,B.mailto,B.http,B.https,B.vsls)}function Yu(e,t){return!!t?.allowContributedOpeners&&t.allowContributedOpeners!=="default"&&Ju(e,t)}var Xu=class{constructor(e,t){this._openers=new ir,this._validators=new ir,this._resolvers=new ir,this._resolvedUriTargets=new fe(e=>e.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new ir,this._defaultExternalOpener={openExternal:async e=>(sr(e,B.http,B.https)?Co(e):tn.location.href=e,!0)},this._externalResourceOpener={open:async(e,t)=>Ju(e,t)?(await this._doOpenExternal(e,t),!0):!1},this._openers.push(this._externalResourceOpener),this._openers.push(new Ku(t)),this._openers.push(new qu(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){let n=typeof e==`string`?W.parse(e):e;if(n.scheme===B.internal)return!1;let r;if(Yu(e,t)&&(r=await this._resolveExternalUriOpenTarget(e,t),await this._openWithContributedExternalOpeners(r,t)))return!0;if(!t?.skipValidation){let i=r?.validationTarget??this._resolvedUriTargets.get(n)??e;if(!await this._validate(i,t))return!1}for(let n of this._openers){if(r&&n===this._externalResourceOpener)return this._openDefaultExternal(r);if(await n.open(e,t))return!0}return!1}async resolveExternalUri(e,t){for(let n of this._resolvers)try{let r=await n.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw Error(`Could not resolve external URI: `+e.toString())}async _resolveExternalUriOpenTarget(e,t){let n=typeof e==`string`?W.parse(e):e,r;try{r=(await this.resolveExternalUri(n,t)).resolved}catch{r=n}let i=typeof e==`string`&&n.toString()===r.toString(),a;return a=i?e:encodeURI(r.toString(!0)),{sourceUri:n,href:a,validationTarget:i?e:r}}async _openWithContributedExternalOpeners(e,t){let n=typeof t?.allowContributedOpeners==`string`?t.allowContributedOpeners:void 0;for(let t of this._externalOpeners)if(await t.openExternal(e.href,{sourceUri:e.sourceUri,preferredOpenerId:n},pe.None))return!0;return!1}_openDefaultExternal(e){return this._defaultExternalOpener.openExternal(e.href,{sourceUri:e.sourceUri},pe.None)}async _doOpenExternal(e,t){let n=await this._resolveExternalUriOpenTarget(e,t);return this._openDefaultExternal(n)}async _validate(e,t){for(let n of this._validators)if(!await n.shouldOpen(e,t))return!1;return!0}dispose(){this._validators.clear()}};Xu=Wu([Gu(0,R),Gu(1,ht)],Xu);var Zu=[],Qu=[],$u=[];function ed(e,t=!1){td(e,!1,t)}function td(e,t,n){let r=nd(e,t);Zu.push(r),r.userConfigured?$u.push(r):Qu.push(r),n&&!r.userConfigured&&Zu.forEach(e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))})}function nd(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filepatternParsed:e.filepattern?lo(e.filepattern,{ignoreCase:!0}):void 0,filepatternOnPath:e.filepattern?e.filepattern.indexOf(vs.sep)>=0:!1}}function rd(){Zu=Zu.filter(e=>e.userConfigured),Qu=[]}function id(e,t){return ad(e,t).map(e=>e.id)}function ad(e,t){let n;if(e)switch(e.scheme){case B.file:n=e.fsPath;break;case B.data:n=Ya.parseMetaData(e).get(Ya.META_DATA_LABEL);break;case B.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:`unknown`,mime:Kt.unknown}];n=n.toLowerCase();let r=ws(n),i=od(n,r,$u);if(i)return[i,{id:Zi,mime:Kt.text}];let a=od(n,r,Qu);if(a)return[a,{id:Zi,mime:Kt.text}];if(t){let e=sd(t);if(e)return[e,{id:Zi,mime:Kt.text}]}return[{id:`unknown`,mime:Kt.unknown}]}function od(e,t,n){let r,i,a;for(let o=n.length-1;o>=0;o--){let s=n[o];if(Hi(t,s.filename)){r=s;break}if(s.filepattern&&(!i||s.filepattern.length>i.filepattern.length)){let n=s.filepatternOnPath?e:t;s.filepatternParsed?.(n)&&(i=s)}s.extension&&(!a||s.extension.length>a.extension.length)&&f(t,s.extension)&&(a=s)}if(r)return r;if(i)return i;if(a)return a}function sd(e){if(it(e)&&(e=e.substring(1)),e.length>0)for(let t=Zu.length-1;t>=0;t--){let n=Zu[t];if(!n.firstline)continue;let r=e.match(n.firstline);if(r&&r.length>0)return n}}var cd,ld=Object.prototype.hasOwnProperty,ud=`vs.editor.nullLanguage`,dd=class{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(ud,0),this._register(Zi,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;let t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||ud}},fd=class e extends F{constructor(t=!0,n=!1){super(),this._onDidChange=this._register(new P),this.onDidChange=this._onDidChange.event,e.instanceCount++,this._warnOnOverwrite=n,this.languageIdCodec=new dd,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(Rt.onDidChangeLanguages(e=>{this._initializeFromRegistry()})))}dispose(){e.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},rd();let e=[].concat(Rt.getLanguages(),this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(let t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{let t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),js.as(d.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){let t=e.id,n;ld.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){let n=t.id,r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){e.extensions=t.configuration?t.extensions.concat(e.extensions):e.extensions.concat(t.extensions);for(let e of t.extensions)ed({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(let i of t.filenames)ed({id:n,mime:r,filename:i},this._warnOnOverwrite),e.filenames.push(i);if(Array.isArray(t.filenamePatterns))for(let e of t.filenamePatterns)ed({id:n,mime:r,filepattern:e},this._warnOnOverwrite);if(typeof t.firstLine==`string`&&t.firstLine.length>0){let e=t.firstLine;e.charAt(0)!==`^`&&(e=`^`+e);try{let t=new RegExp(e);Re(t)||ed({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}e.aliases.push(n);let i=null;if(t.aliases!==void 0&&Array.isArray(t.aliases)&&(i=t.aliases.length===0?[null]:t.aliases),i!==null)for(let t of i)t&&t.length!==0&&e.aliases.push(t);let a=i!==null&&i.length>0;if(!(a&&i[0]===null)){let t=(a?i[0]:null)||n;(a||!e.name)&&(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?ld.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){let t=e.toLowerCase();return ld.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&ld.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:id(e,t)}};cd=fd,cd.instanceCount=0;var pd,md=class e extends F{constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new P),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new P),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new P({leakWarningThreshold:200,leakWarningName:`LanguageService._onDidChange`})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,e.instanceCount++,this._registry=this._register(new fd(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){e.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return this._registry.guessLanguageIdByFilepathOrFirstLine(e,t).at(0)??null}createById(e){return new hd(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new hd(this.onDidChange,()=>{let n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=Zi),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),ca.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}};pd=md,pd.instanceCount=0;var hd=class{constructor(e,t){this._value=Ci(this,e,()=>t()),this.onDidChange=C.fromObservable(this._value)}get languageId(){return this._value.get()}},gd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_d=function(e,t){return function(n,r){t(n,r,e)}},vd=class extends F{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new P),this._suppressedRanges=new fe,this._markerDecorations=new fe,e.getModels().forEach(e=>this._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){let n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{let t=this._markerDecorations.get(e);t&&this._updateDecorations(t)})}_onModelAdded(e){let t=new yd(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){let t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===B.inMemory||e.uri.scheme===B.internal||e.uri.scheme===B.vscode)&&this._markerService?.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri]))}_updateDecorations(e){let t=this._markerService.read({resource:e.model.uri,take:500}),n=this._suppressedRanges.get(e.model.uri);n&&(t=t.filter(e=>!za.some(n,t=>vi.areIntersectingOrTouching(t,e)))),e.update(t)&&this._onDidChangeMarker.fire(e.model)}};vd=gd([_d(0,Ho),_d(1,Ut)],vd);var yd=class extends F{constructor(e){super(),this.model=e,this._map=new Cn,this._register(I(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){let{added:t,removed:n}=Qi(new Set(this._map.keys()),new Set(e));if(t.length===0&&n.length===0)return!1;let r=n.map(e=>this._map.get(e)),i=t.map(e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)})),a=this.model.deltaDecorations(r,i);for(let e of n)this._map.delete(e);for(let e=0;e<a.length;e++)this._map.set(t[e],a[e]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=vi.lift(t);if(t.severity===ra.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){let t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(t===1||n.endColumn>=t)return n;let r=e.getWordAtPosition(n.getStartPosition());r&&(n=new vi(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&n.startLineNumber===n.endLineNumber){let r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new vi(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,i,a,o;switch(e.severity){case ra.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?`squiggly-unnecessary`:`squiggly-hint`,i=0;break;case ra.Info:t=`squiggly-info`,n=Tr(r),i=10,o={color:Tr(rs),position:1};break;case ra.Warning:t=`squiggly-warning`,n=Tr(jo),i=20,o={color:Tr(Fr),position:1};break;case ra.Error:default:t=`squiggly-error`,n=Tr(nn),i=30,o={color:Tr(yi),position:1}}return e.tags&&(e.tags.indexOf(1)!==-1&&(a=`squiggly-inline-unnecessary`),e.tags.indexOf(2)!==-1&&(a=`squiggly-inline-deprecated`)),{description:`marker-decoration`,stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:xs.Right},minimap:o,zIndex:i,inlineClassName:a}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}},bd,xd,Sd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Cd=function(e,t){return function(n,r){t(n,r,e)}},wd;function Td(e){return e.toString()}var Ed=class{constructor(e,t,n){this.model=e,this._modelEventListeners=new A,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>n(e,t)))}dispose(){this._modelEventListeners.dispose()}},Dd=Wo||li?1:2,Od=class{constructor(e,t,n,r,i,a,o,s){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=a,this.versionId=o,this.alternativeVersionId=s}},kd=(bd=class extends F{constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new P),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new P),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new P),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=Ms.tabSize;e.editor&&e.editor.tabSize!==void 0&&(n=je(e.editor.tabSize,Ms.tabSize,1,100));let r=`tabSize`;e.editor&&e.editor.indentSize!==void 0&&e.editor.indentSize!==`tabSize`&&(r=je(e.editor.indentSize,`tabSize`,1,100));let i=Ms.insertSpaces;e.editor&&e.editor.insertSpaces!==void 0&&(i=e.editor.insertSpaces!==`false`&&!!e.editor.insertSpaces);let a=Dd,o=e.eol;o===`\r
407
+ `))}};_u=xu,_u.all=new Set,_u._None=new class extends _u{constructor(){super(0,null)}stop(){}branch(){return this}},_u._totals=0;var Su={kind:0},Cu={kind:1};function wu(e,t,n){return{kind:2,commandId:e,commandArgs:t,isBubble:n}}var Tu=class e{constructor(t,n,r){this._log=r,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(let e of t){let t=e.command;t&&t.charAt(0)!==`-`&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=e.handleRemovals([].concat(t,n));for(let e=0,t=this._keybindings.length;e<t;e++){let t=this._keybindings[e];if(t.chords.length===0)continue;let n=t.when?.substituteConstants();n&&n.type===0||this._addKeyPress(t.chords[0],t)}}static _isTargetedForRemoval(t,n,r){if(n){for(let e=0;e<n.length;e++)if(n[e]!==t.chords[e])return!1}if(r&&r.type!==1){if(!t.when)return!1;let n=t.when.substituteConstants(),i=r.substituteConstants();if(!e.whenIsEntirelyIncluded(n,i))return!1}return!0}static handleRemovals(e){let t=new Map;for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.command&&r.command.charAt(0)===`-`){let e=r.command.substring(1);t.has(e)?t.get(e).push(r):t.set(e,[r])}}if(t.size===0)return e;let n=[];for(let r=0,i=e.length;r<i;r++){let i=e[r];if(!i.command||i.command.length===0){n.push(i);continue}if(i.command.charAt(0)===`-`)continue;let a=t.get(i.command);if(!a||!i.isDefault){n.push(i);continue}let o=!1;for(let e of a){let t=e.when;if(this._isTargetedForRemoval(i,e.chords,t)){o=!0;break}}o||n.push(i)}return n}_addKeyPress(t,n){let r=this._map.get(t);if(r===void 0)this._map.set(t,[n]),this._addToLookupMap(n);else{for(let t=r.length-1;t>=0;t--){let i=r[t];if(i.command===n.command)continue;let a=!0;for(let e=1;e<i.chords.length&&e<n.chords.length;e++)if(i.chords[e]!==n.chords[e]){a=!1;break}a&&e.whenIsEntirelyIncluded(i.when,n.when)&&this._removeFromLookupMap(i)}r.push(n),this._addToLookupMap(n)}}_addToLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);t===void 0?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;let t=this._lookupMap.get(e.command);if(t!==void 0){for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t.splice(n,1);return}}}static whenIsEntirelyIncluded(e,t){return!t||t.type===1?!0:!e||e.type===1?!1:Zn(e,t)}getKeybindings(){return this._keybindings}lookupPrimaryKeybinding(e,t,n=!1){let r=this._lookupMap.get(e);if(r===void 0||r.length===0)return null;if(r.length===1&&!n)return r[0];for(let e=r.length-1;e>=0;e--){let n=r[e];if(t.contextMatchesRules(n.when))return n}return n?null:r[r.length-1]}resolve(e,t,n){let r=[...t,n];this._log(`| Resolving ${r}`);let i=this._map.get(r[0]);if(i===void 0)return this._log(`\\ No keybinding entries.`),Su;let a=null;if(r.length<2)a=i;else{a=[];for(let e=0,t=i.length;e<t;e++){let t=i[e];if(r.length>t.chords.length)continue;let n=!0;for(let e=1;e<r.length;e++)if(t.chords[e]!==r[e]){n=!1;break}n&&a.push(t)}}let o=this._findCommand(e,a);return o?r.length<o.chords.length?(this._log(`\\ From ${a.length} keybinding entries, awaiting ${o.chords.length-r.length} more chord(s), when: ${Eu(o.when)}, source: ${Du(o)}.`),Cu):(this._log(`\\ From ${a.length} keybinding entries, matched ${o.command}, when: ${Eu(o.when)}, source: ${Du(o)}.`),wu(o.command,o.commandArgs,o.bubble)):(this._log(`\\ From ${a.length} keybinding entries, no when clauses matched the context.`),Su)}_findCommand(t,n){for(let r=n.length-1;r>=0;r--){let i=n[r];if(e._contextMatchesRules(t,i.when))return i}return null}static _contextMatchesRules(e,t){return!t||t.evaluate(e)}};function Eu(e){return e?`${e.serialize()}`:`no when condition`}function Du(e){return e.extensionId?e.isBuiltinExtension?`built-in extension ${e.extensionId}`:`user extension ${e.extensionId}`:e.isDefault?`built-in`:`user`}var Ou,ku=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;function Au(e){return e.keyCode===114}var ju=class extends F{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:C.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,n,r,i){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=n,this._notificationService=r,this._logService=i,this._onDidUpdateKeybindings=this._register(new P),this._currentChords=[],this._currentChordChecker=new Qr,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new mo,this._currentlyDispatchingCommandId=null,this._logging=!1}_log(e){this._logging&&this._logService.info(`[KeybindingService]: ${e}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t,n=!1){let r=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService,n);if(r)return r.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){if(this._log(`/ Soft dispatching keyboard event`),Au(e))return this._log(`\\ Keyboard event is part of an IME composition`),Su;let n=this.resolveKeyboardEvent(e);if(n.hasMultipleChords())return console.warn(`keyboard event should not be mapped to multiple chords`),Su;let[r]=n.getDispatchChords();if(r===null)return this._log(`\\ Keyboard event cannot be dispatched`),Su;let i=this._contextKeyService.getContext(t),a=this._currentChords.map((({keypress:e})=>e));return this._getResolver().resolve(i,a,r)}_scheduleLeaveChordMode(){let e=Date.now();this._currentChordChecker.cancelAndSet(()=>{this._documentHasFocus()?Date.now()-e>5e3&&this._leaveChordMode():this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw ze(`impossible`);case 1:this._currentChordStatusMessage=this._notificationService.status(G(1796,`({0}) was pressed. Waiting for second key of chord...`,t));break;default:{let e=this._currentChords.map(({label:e})=>e).join(`, `);this._currentChordStatusMessage=this._notificationService.status(G(1797,`({0}) was pressed. Waiting for next key of chord...`,e))}}this._scheduleLeaveChordMode(),Ae.enabled&&Ae.disable()}_leaveChordMode(){this._currentChordStatusMessage&&=(this._currentChordStatusMessage.close(),null),this._currentChordChecker.cancel(),this._currentChords=[],Ae.enable()}_dispatch(e,t){return Au(e)?(this._log(`+ Ignoring keybinding dispatch because an IME composition is in progress.`),!1):this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){if(Au(e))return!1;let n=this.resolveKeyboardEvent(e),[r]=n.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log(`+ Ignoring single modifier ${r} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=Mu.EMPTY,this._currentSingleModifier===null?(this._log(`+ Storing single modifier for possible chord ${r}.`),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log(`+ Clearing single modifier due to 300ms elapsed.`),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${r} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(n,t,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${r}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));let[i]=n.getChords();return this._ignoreSingleModifiers=new Mu(i),this._currentSingleModifier!==null&&this._log(`+ Clearing single modifier due to other key up.`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,n=!1){let r=!1;if(e.hasMultipleChords())return console.warn(`Unexpected keyboard event mapped to multiple chords`),!1;let i=null,a=null;if(n){let[t]=e.getSingleModifierDispatchChords();i=t,a=t?[t]:[]}else[i]=e.getDispatchChords(),a=this._currentChords.map(({keypress:e})=>e);if(i===null)return this._log(`\\ Keyboard event cannot be dispatched in keydown phase.`),r;let o=this._contextKeyService.getContext(t),s=e.getLabel(),c=this._getResolver().resolve(o,a,i);switch(c.kind){case 0:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ No matching keybinding ]`),this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving multi-chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(G(1798,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:1e4}),this._leaveChordMode(),r=!0}return r;case 1:return this._logService.trace(`KeybindingService#dispatch`,s,`[ Several keybindings match - more chords needed ]`),r=!0,this._expectAnotherChord(i,s),this._log(this._currentChords.length===1?`+ Entering multi-chord mode...`:`+ Continuing multi-chord mode...`),r;case 2:if(this._logService.trace(`KeybindingService#dispatch`,s,`[ Will dispatch command ${c.commandId} ]`),c.commandId===null||c.commandId===``){if(this.inChordMode){let e=this._currentChords.map(({label:e})=>e).join(`, `);this._log(`+ Leaving chord mode: Nothing bound to "${e}, ${s}".`),this._notificationService.status(G(1799,`The key combination ({0}, {1}) is not a command.`,e,s),{hideAfter:1e4}),this._leaveChordMode(),r=!0}}else{this.inChordMode&&this._leaveChordMode(),c.isBubble||(r=!0),this._log(`+ Invoking command ${c.commandId}.`),this._currentlyDispatchingCommandId=c.commandId;try{c.commandArgs===void 0?this._commandService.executeCommand(c.commandId).then(void 0,e=>this._notificationService.warn(e)):this._commandService.executeCommand(c.commandId,c.commandArgs).then(void 0,e=>this._notificationService.warn(e))}finally{this._currentlyDispatchingCommandId=null}ku.test(c.commandId)||this._telemetryService.publicLog2(`workbenchActionExecuted`,{id:c.commandId,from:`keybinding`,detail:e.getUserSettingsLabel()??void 0})}return r}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}appendKeybinding(e,t,n,r){if(t){let i=this.lookupKeybinding(t,n,r)?.getLabel();if(i)return G(1800,`{0} ({1})`,e,i)}return e}},Mu=class{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case`ctrl`:return this._ctrlKey;case`shift`:return this._shiftKey;case`alt`:return this._altKey;case`meta`:return this._metaKey}}};Ou=Mu,Ou.EMPTY=new Ou(null);var Nu=class{constructor(e,t,n,r,i,a,o,s=!1){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?Pu(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=Pu(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=n,this.when=r,this.isDefault=i,this.extensionId=a,this.isBuiltinExtension=o,this.systemWide=s}};function Pu(e){let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r)return[];t.push(r)}return t}var Fu=class extends _i{constructor(e,t){if(super(),t.length===0)throw Xn(`chords`);this._os=e,this._chords=t}getLabel(){return us.toLabel(this._os,this._chords,e=>this._getLabel(e))}getAriaLabel(){return gn.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:se.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return Tn.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new wi(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}},Iu=class e extends Fu{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return`←`;case 16:return`↑`;case 17:return`→`;case 18:return`↓`}return wn.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?``:this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?``:wn.toString(e.keyCode)}_getElectronAccelerator(e){return wn.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return``;let t=wn.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(t){return e.getDispatchStr(t)}static getDispatchStr(e){if(e.isModifierKey())return null;let t=``;return e.ctrlKey&&(t+=`ctrl+`),e.shiftKey&&(t+=`shift+`),e.altKey&&(t+=`alt+`),e.metaKey&&(t+=`meta+`),t+=wn.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?`ctrl`:e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?`shift`:e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?`alt`:e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?`meta`:null}static _scanCodeToKeyCode(e){let t=oe[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof ga)return e;let t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new ga(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(t,n){let r=Pu(t.chords.map(e=>this._toKeyCodeChord(e)));return r.length>0?[new e(r,n)]:[]}},Lu=class extends F{constructor(e,t=[]){super(),this.logger=new Go([e,...t]),this._register(e.onDidChangeLogLevel(e=>this.setLevel(e)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}},Ru=new Set([B.inMemory,B.vscodeSourceControl,B.walkThrough,B.walkThroughSnippet,B.vscodeChatCodeBlock,B.vscodeTerminal]),zu=class{constructor(){this._byResource=new fe,this._byOwner=new Map}set(e,t,n){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,n);let i=this._byOwner.get(t);i||(i=new fe,this._byOwner.set(t,i)),i.set(e,n)}get(e,t){return this._byResource.get(e)?.get(t)}delete(e,t){let n=!1,r=!1,i=this._byResource.get(e);i&&(n=i.delete(t));let a=this._byOwner.get(t);if(a&&(r=a.delete(e)),n!==r)throw Error(`illegal state`);return n&&r}values(e){return typeof e==`string`?this._byOwner.get(e)?.values()??za.empty():W.isUri(e)?this._byResource.get(e)?.values()??za.empty():za.map(za.concat(...this._byOwner.values()),e=>e[1])}},Bu=class{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new fe,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(let t of e){let e=this._data.get(t);e&&this._substract(e);let n=this._resourceStats(t);this._add(n),this._data.set(t,n)}}_resourceStats(e){let t={errors:0,warnings:0,infos:0,unknowns:0};if(Ru.has(e.scheme))return t;for(let{severity:n}of this._service.read({resource:e}))n===ra.Error?t.errors+=1:n===ra.Warning?t.warnings+=1:n===ra.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}},Vu=class e{constructor(){this._onMarkerChanged=new co({merge:e._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new zu,this._stats=new Bu(this),this._filteredResources=new fe}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(let n of t||[])this.changeOne(e,n,[])}changeOne(t,n,r){if(Ra(r))this._data.delete(n,t)&&this._onMarkerChanged.fire([n]);else{let i=[];for(let a of r){let r=e._toMarker(t,n,a);r&&i.push(r)}this._data.set(n,t,i),this._onMarkerChanged.fire([n])}}static _toMarker(e,t,n){let{code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:ee}=n;if(a)return s=s>0?s:1,c=c>0?c:1,l=l>=s?l:s,u=u>0?u:c,{resource:t,owner:e,code:r,severity:i,message:a,source:o,startLineNumber:s,startColumn:c,endLineNumber:l,endColumn:u,relatedInformation:d,modelVersionId:f,tags:p,origin:ee}}changeAll(t,n){let r=[],i=this._data.values(t);if(i)for(let e of i){let n=za.first(e);n&&(r.push(n.resource),this._data.delete(n.resource,t))}if(wo(n)){let i=new fe;for(let{resource:a,marker:o}of n){let n=e._toMarker(t,a,o);if(!n)continue;let s=i.get(a);s?s.push(n):(i.set(a,[n]),r.push(a))}for(let[e,n]of i)this._data.set(e,t,n)}r.length>0&&this._onMarkerChanged.fire(r)}_createFilteredMarker(e,t){let n=t.length===1?G(1834,`Problems are paused because: "{0}"`,t[0]):G(1835,`Problems are paused because: "{0}" and {1} more`,t[0],t.length-1);return{owner:`markersFilter`,resource:e,severity:ra.Info,message:n,startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1}}read(t=Object.create(null)){let{owner:n,resource:r,severities:i,take:a}=t;if((!a||a<0)&&(a=-1),n&&r){let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);if(o?.length)return[this._createFilteredMarker(r,o)];let s=this._data.get(r,n);if(!s)return[];let c=[];for(let n of s){if(a>0&&c.length===a)break;let o=t.ignoreResourceFilters?void 0:this._filteredResources.get(r);o?.length?c.push(this._createFilteredMarker(r,o)):e._accept(n,i)&&c.push(n)}return c}{let o=!n&&!r?this._data.values():this._data.values(r??n),s=[],c=new Bt;for(let n of o)for(let r of n){if(c.has(r.resource))continue;if(a>0&&s.length===a)break;let n=t.ignoreResourceFilters?void 0:this._filteredResources.get(r.resource);n?.length?(s.push(this._createFilteredMarker(r.resource,n)),c.add(r.resource)):e._accept(r,i)&&s.push(r)}return s}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){let t=new fe;for(let n of e)for(let e of n)t.set(e,!0);return Array.from(t.keys())}},Hu=class{constructor(){this._modifierObservables=new WeakMap}readModifierKeyStatus(e,t){let n=e instanceof Window?e:O(e),r=this._modifierObservables.get(n);if(!r){let e=Ta.getInstance();r=Ci(this,e.event,()=>({ctrlKey:e.keyStatus.ctrlKey,shiftKey:e.keyStatus.shiftKey,altKey:e.keyStatus.altKey,metaKey:e.keyStatus.metaKey})),this._modifierObservables.set(n,r)}return r.read(t)}createFocusTracker(e,t){let n=t.add(Ia(e)),r=U(`isFocused`,(e=>{if(e instanceof Window)return e.document.hasFocus();let t=e.getRootNode()instanceof ShadowRoot?e.getRootNode():null,n=t?t.activeElement:e.ownerDocument.activeElement;return e.contains(n)})(e));return t.add(n.onDidFocus(()=>r.set(!0,void 0))),t.add(n.onDidBlur(()=>r.set(!1,void 0))),r}createHoverTracker(e,t){let n=U(`isHovered`,!1),r=()=>n.set(!0,void 0),i=()=>n.set(!1,void 0);return e.addEventListener(`mouseenter`,r),e.addEventListener(`mouseleave`,i),t.add({dispose:()=>{e.removeEventListener(`mouseenter`,r),e.removeEventListener(`mouseleave`,i)}}),n}createDomFocusTracker(e){return Ia(e)}};D(Dt,Hu,1);var Uu;(function(e){e[e.API=0]=`API`,e[e.USER=1]=`USER`})(Uu||={});var Wu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Gu=function(e,t){return function(n,r){t(n,r,e)}},Ku=class{constructor(e){this._commandService=e}async open(e,t){if(!rt(e,B.command))return!1;if(!t?.allowCommands||(typeof e==`string`&&(e=W.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let n=[];try{n=we(decodeURIComponent(e.query))}catch{try{n=we(e.query)}catch{}}return Array.isArray(n)||(n=[n]),await this._commandService.executeCommand(e.path,...n),!0}};Ku=Wu([Gu(0,ht)],Ku);var qu=class{constructor(e){this._editorService=e}async open(e,t){typeof e==`string`&&(e=W.parse(e));let{selection:n,uri:r}=Lr(e);return e=r,e.scheme===B.file&&(e=_s(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:n,source:t?.fromUserGesture?Uu.USER:Uu.API,...t?.editorOptions}},this._editorService.getFocusedCodeEditor(),t?.openToSide),!0}};qu=Wu([Gu(0,R)],qu);function Ju(e,t){return!!t?.openExternal||sr(e,B.mailto,B.http,B.https,B.vsls)}function Yu(e,t){return!!t?.allowContributedOpeners&&t.allowContributedOpeners!=="default"&&Ju(e,t)}var Xu=class{constructor(e,t){this._openers=new ir,this._validators=new ir,this._resolvers=new ir,this._resolvedUriTargets=new fe(e=>e.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new ir,this._defaultExternalOpener={openExternal:async e=>(sr(e,B.http,B.https)?Co(e):tn.location.href=e,!0)},this._externalResourceOpener={open:async(e,t)=>Ju(e,t)?(await this._doOpenExternal(e,t),!0):!1},this._openers.push(this._externalResourceOpener),this._openers.push(new Ku(t)),this._openers.push(new qu(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){let n=typeof e==`string`?W.parse(e):e;if(n.scheme===B.internal)return!1;let r;if(Yu(e,t)&&(r=await this._resolveExternalUriOpenTarget(e,t),await this._openWithContributedExternalOpeners(r,t)))return!0;if(!t?.skipValidation){let i=r?.validationTarget??this._resolvedUriTargets.get(n)??e;if(!await this._validate(i,t))return!1}for(let n of this._openers){if(r&&n===this._externalResourceOpener)return this._openDefaultExternal(r);if(await n.open(e,t))return!0}return!1}async resolveExternalUri(e,t){for(let n of this._resolvers)try{let r=await n.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch{}throw Error(`Could not resolve external URI: `+e.toString())}async _resolveExternalUriOpenTarget(e,t){let n=typeof e==`string`?W.parse(e):e,r;try{r=(await this.resolveExternalUri(n,t)).resolved}catch{r=n}let i=typeof e==`string`&&n.toString()===r.toString(),a;return a=i?e:encodeURI(r.toString(!0)),{sourceUri:n,href:a,validationTarget:i?e:r}}async _openWithContributedExternalOpeners(e,t){let n=typeof t?.allowContributedOpeners==`string`?t.allowContributedOpeners:void 0;for(let t of this._externalOpeners)if(await t.openExternal(e.href,{sourceUri:e.sourceUri,preferredOpenerId:n},pe.None))return!0;return!1}_openDefaultExternal(e){return this._defaultExternalOpener.openExternal(e.href,{sourceUri:e.sourceUri},pe.None)}async _doOpenExternal(e,t){let n=await this._resolveExternalUriOpenTarget(e,t);return this._openDefaultExternal(n)}async _validate(e,t){for(let n of this._validators)if(!await n.shouldOpen(e,t))return!1;return!0}dispose(){this._validators.clear()}};Xu=Wu([Gu(0,R),Gu(1,ht)],Xu);var Zu=[],Qu=[],$u=[];function ed(e,t=!1){td(e,!1,t)}function td(e,t,n){let r=nd(e,t);Zu.push(r),r.userConfigured?$u.push(r):Qu.push(r),n&&!r.userConfigured&&Zu.forEach(e=>{e.mime===r.mime||e.userConfigured||(r.extension&&e.extension===r.extension&&console.warn(`Overwriting extension <<${r.extension}>> to now point to mime <<${r.mime}>>`),r.filename&&e.filename===r.filename&&console.warn(`Overwriting filename <<${r.filename}>> to now point to mime <<${r.mime}>>`),r.filepattern&&e.filepattern===r.filepattern&&console.warn(`Overwriting filepattern <<${r.filepattern}>> to now point to mime <<${r.mime}>>`),r.firstline&&e.firstline===r.firstline&&console.warn(`Overwriting firstline <<${r.firstline}>> to now point to mime <<${r.mime}>>`))})}function nd(e,t){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:t,filepatternParsed:e.filepattern?lo(e.filepattern,{ignoreCase:!0}):void 0,filepatternOnPath:e.filepattern?e.filepattern.indexOf(vs.sep)>=0:!1}}function rd(){Zu=Zu.filter(e=>e.userConfigured),Qu=[]}function id(e,t){return ad(e,t).map(e=>e.id)}function ad(e,t){let n;if(e)switch(e.scheme){case B.file:n=e.fsPath;break;case B.data:n=Ya.parseMetaData(e).get(Ya.META_DATA_LABEL);break;case B.vscodeNotebookCell:n=void 0;break;default:n=e.path}if(!n)return[{id:`unknown`,mime:Kt.unknown}];n=n.toLowerCase();let r=ws(n),i=od(n,r,$u);if(i)return[i,{id:Zi,mime:Kt.text}];let a=od(n,r,Qu);if(a)return[a,{id:Zi,mime:Kt.text}];if(t){let e=sd(t);if(e)return[e,{id:Zi,mime:Kt.text}]}return[{id:`unknown`,mime:Kt.unknown}]}function od(e,t,n){let r,i,a;for(let o=n.length-1;o>=0;o--){let s=n[o];if(Hi(t,s.filename)){r=s;break}if(s.filepattern&&(!i||s.filepattern.length>i.filepattern.length)){let n=s.filepatternOnPath?e:t;s.filepatternParsed?.(n)&&(i=s)}s.extension&&(!a||s.extension.length>a.extension.length)&&f(t,s.extension)&&(a=s)}if(r)return r;if(i)return i;if(a)return a}function sd(e){if(it(e)&&(e=e.substring(1)),e.length>0)for(let t=Zu.length-1;t>=0;t--){let n=Zu[t];if(!n.firstline)continue;let r=e.match(n.firstline);if(r&&r.length>0)return n}}var cd,ld=Object.prototype.hasOwnProperty,ud=`vs.editor.nullLanguage`,dd=class{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(ud,0),this._register(Zi,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;let t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||ud}},fd=class e extends F{constructor(t=!0,n=!1){super(),this._onDidChange=this._register(new P),this.onDidChange=this._onDidChange.event,e.instanceCount++,this._warnOnOverwrite=n,this.languageIdCodec=new dd,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(Rt.onDidChangeLanguages(e=>{this._initializeFromRegistry()})))}dispose(){e.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},rd();let e=[].concat(Rt.getLanguages(),this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(let t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{let t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),js.as(d.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){let t=e.id,n;ld.call(this._languages,t)?n=this._languages[t]:(this.languageIdCodec.register(t),n={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=n),this._mergeLanguage(n,e)}_mergeLanguage(e,t){let n=t.id,r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r=`text/x-${n}`,e.mimetypes.push(r)),Array.isArray(t.extensions)){e.extensions=t.configuration?t.extensions.concat(e.extensions):e.extensions.concat(t.extensions);for(let e of t.extensions)ed({id:n,mime:r,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(let i of t.filenames)ed({id:n,mime:r,filename:i},this._warnOnOverwrite),e.filenames.push(i);if(Array.isArray(t.filenamePatterns))for(let e of t.filenamePatterns)ed({id:n,mime:r,filepattern:e},this._warnOnOverwrite);if(typeof t.firstLine==`string`&&t.firstLine.length>0){let e=t.firstLine;e.charAt(0)!==`^`&&(e=`^`+e);try{let t=new RegExp(e);Re(t)||ed({id:n,mime:r,firstline:t},this._warnOnOverwrite)}catch(n){console.warn(`[${t.id}]: Invalid regular expression \`${e}\`: `,n)}}e.aliases.push(n);let i=null;if(t.aliases!==void 0&&Array.isArray(t.aliases)&&(i=t.aliases.length===0?[null]:t.aliases),i!==null)for(let t of i)t&&t.length!==0&&e.aliases.push(t);let a=i!==null&&i.length>0;if(!(a&&i[0]===null)){let t=(a?i[0]:null)||n;(a||!e.name)&&(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?ld.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){let t=e.toLowerCase();return ld.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&ld.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:id(e,t)}};cd=fd,cd.instanceCount=0;var pd,md=class e extends F{constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new P),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new P),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new P({leakWarningThreshold:200,leakWarningName:`LanguageService._onDidChange`})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,e.instanceCount++,this._registry=this._register(new fd(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){e.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){return this._registry.guessLanguageIdByFilepathOrFirstLine(e,t).at(0)??null}createById(e){return new hd(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new hd(this.onDidChange,()=>{let n=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(n)})}_createAndGetLanguageIdentifier(e){return e&&this.isRegisteredLanguageId(e)||(e=Zi),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),ca.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}};pd=md,pd.instanceCount=0;var hd=class{constructor(e,t){this._value=Ci(this,e,()=>t()),this.onDidChange=C.fromObservable(this._value)}get languageId(){return this._value.get()}},gd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_d=function(e,t){return function(n,r){t(n,r,e)}},vd=class extends F{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new P),this._suppressedRanges=new fe,this._markerDecorations=new fe,e.getModels().forEach(e=>this._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){let n=this._markerDecorations.get(e);return n&&n.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{let t=this._markerDecorations.get(e);t&&this._updateDecorations(t)})}_onModelAdded(e){let t=new yd(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){let t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===B.inMemory||e.uri.scheme===B.internal||e.uri.scheme===B.vscode)&&this._markerService?.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri]))}_updateDecorations(e){let t=this._markerService.read({resource:e.model.uri,take:500}),n=this._suppressedRanges.get(e.model.uri);n&&(t=t.filter(e=>!za.some(n,t=>vi.areIntersectingOrTouching(t,e)))),e.update(t)&&this._onDidChangeMarker.fire(e.model)}};vd=gd([_d(0,Ho),_d(1,Ut)],vd);var yd=class extends F{constructor(e){super(),this.model=e,this._map=new Cn,this._register(I(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){let{added:t,removed:n}=Qi(new Set(this._map.keys()),new Set(e));if(t.length===0&&n.length===0)return!1;let r=n.map(e=>this._map.get(e)),i=t.map(e=>({range:this._createDecorationRange(this.model,e),options:this._createDecorationOption(e)})),a=this.model.deltaDecorations(r,i);for(let e of n)this._map.delete(e);for(let e=0;e<a.length;e++)this._map.set(t[e],a[e]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let n=vi.lift(t);if(t.severity===ra.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(n=n.setEndPosition(n.startLineNumber,n.startColumn+2)),n=e.validateRange(n),n.isEmpty()){let t=e.getLineLastNonWhitespaceColumn(n.startLineNumber)||e.getLineMaxColumn(n.startLineNumber);if(t===1||n.endColumn>=t)return n;let r=e.getWordAtPosition(n.getStartPosition());r&&(n=new vi(n.startLineNumber,r.startColumn,n.endLineNumber,r.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&n.startLineNumber===n.endLineNumber){let r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r<n.endColumn&&(n=new vi(n.startLineNumber,r,n.endLineNumber,n.endColumn),t.startColumn=r)}return n}_createDecorationOption(e){let t,n,i,a,o;switch(e.severity){case ra.Hint:t=this._hasMarkerTag(e,2)?void 0:this._hasMarkerTag(e,1)?`squiggly-unnecessary`:`squiggly-hint`,i=0;break;case ra.Info:t=`squiggly-info`,n=Tr(r),i=10,o={color:Tr(rs),position:1};break;case ra.Warning:t=`squiggly-warning`,n=Tr(jo),i=20,o={color:Tr(Fr),position:1};break;case ra.Error:default:t=`squiggly-error`,n=Tr(nn),i=30,o={color:Tr(yi),position:1}}return e.tags&&(e.tags.indexOf(1)!==-1&&(a=`squiggly-inline-unnecessary`),e.tags.indexOf(2)!==-1&&(a=`squiggly-inline-deprecated`)),{description:`marker-decoration`,stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:n,position:xs.Right},minimap:o,zIndex:i,inlineClassName:a}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}},bd,xd,Sd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Cd=function(e,t){return function(n,r){t(n,r,e)}},wd;function Td(e){return e.toString()}var Ed=class{constructor(e,t,n){this.model=e,this._modelEventListeners=new A,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>n(e,t)))}dispose(){this._modelEventListeners.dispose()}},Dd=Wo||li?1:2,Od=class{constructor(e,t,n,r,i,a,o,s){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=n,this.sharesUndoRedoStack=r,this.heapSize=i,this.sha1=a,this.versionId=o,this.alternativeVersionId=s}},kd=(bd=class extends F{constructor(e,t,n,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=n,this._instantiationService=r,this._onModelAdded=this._register(new P),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new P),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new P),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let n=Ms.tabSize;e.editor&&e.editor.tabSize!==void 0&&(n=je(e.editor.tabSize,Ms.tabSize,1,100));let r=`tabSize`;e.editor&&e.editor.indentSize!==void 0&&e.editor.indentSize!==`tabSize`&&(r=je(e.editor.indentSize,`tabSize`,1,100));let i=Ms.insertSpaces;e.editor&&e.editor.insertSpaces!==void 0&&(i=e.editor.insertSpaces!==`false`&&!!e.editor.insertSpaces);let a=Dd,o=e.eol;o===`\r
408
408
  `?a=2:o===`
409
409
  `&&(a=1);let s=Ms.trimAutoWhitespace;e.editor&&e.editor.trimAutoWhitespace!==void 0&&(s=e.editor.trimAutoWhitespace!==`false`&&!!e.editor.trimAutoWhitespace);let c=Ms.detectIndentation;e.editor&&e.editor.detectIndentation!==void 0&&(c=e.editor.detectIndentation!==`false`&&!!e.editor.detectIndentation);let l=Ms.largeFileOptimizations;e.editor&&e.editor.largeFileOptimizations!==void 0&&(l=e.editor.largeFileOptimizations!==`false`&&!!e.editor.largeFileOptimizations);let u=Ms.bracketPairColorizationOptions;if(e.editor?.bracketPairColorization&&typeof e.editor.bracketPairColorization==`object`){let t=e.editor.bracketPairColorization;u={enabled:!!t.enabled,independentColorPoolPerBracketType:!!t.independentColorPoolPerBracketType}}return{isForSimpleWidget:t,tabSize:n,indentSize:r,insertSpaces:i,detectIndentation:c,defaultEOL:a,trimAutoWhitespace:s,largeFileOptimizations:l,bracketPairColorizationOptions:u}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);let n=this._configurationService.getValue(`files.eol`,{overrideIdentifier:t});return n&&typeof n==`string`&&n!==`auto`?n:zr===3||zr===2?`
410
410
  `:`\r
411
- `}_shouldRestoreUndoStack(){let e=this._configurationService.getValue(`files.restoreUndoStack`);return typeof e!=`boolean`||e}getCreationOptions(e,t,n){let r=typeof e==`string`?e:e.languageId,i=this._modelCreationOptionsByLanguageAndResource[r+t];if(!i){let e=this._configurationService.getValue(`editor`,{overrideIdentifier:r,resource:t}),a=this._getEOL(t,r);i=wd._readModelOptions({editor:e,eol:a},n),this._modelCreationOptionsByLanguageAndResource[r+t]=i}return i}_updateModelOptions(e){let t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){let i=n[r],a=this._models[i],o=a.model.getLanguageId(),s=a.model.uri;if(e&&!e.affectsConfiguration(`editor`,{overrideIdentifier:o,resource:s})&&!e.affectsConfiguration(`files.eol`,{overrideIdentifier:o,resource:s}))continue;let c=t[o+s],l=this.getCreationOptions(o,s,a.model.isForSimpleWidget);wd._setModelOptionsForModel(a.model,l,c)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&ye(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(Td(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){let t=this._disposedModels.get(Td(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(Td(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){let t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){let e=t.shift();this._removeDisposedModel(e.uri),e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){let i=this.getCreationOptions(t,n,r),a=this._instantiationService.createInstance(oa,e,t,i,n);if(n&&this._disposedModels.has(Td(n))){let e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=this._getSHA1Computer(),i=r.canComputeSHA1(a)?r.computeSHA1(a)===e.sha1:!1;if(i||e.sharesUndoRedoStack){for(let e of t.past)Ti(e)&&e.matchesResource(n)&&e.setModel(a);for(let e of t.future)Ti(e)&&e.matchesResource(n)&&e.setModel(a);this._undoRedoService.setElementsValidFlag(n,!0,e=>Ti(e)&&e.matchesResource(n)),i&&(a._overwriteVersionId(e.versionId),a._overwriteAlternativeVersionId(e.alternativeVersionId),a._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}let o=Td(a.uri);if(this._models[o])throw Error(`ModelService: Cannot add model because it already exists!`);let s=new Ed(a,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=s,s}createModel(e,t,n,r=!1){let i;return i=t?this._createModelData(e,t,n,r):this._createModelData(e,Zi,n,r),this._onModelAdded.fire(i.model),i.model}getModels(){let e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._models[r].model)}return e}getModel(e){let t=Td(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===B.file||e.scheme===B.vscodeRemote||e.scheme===B.vscodeUserData||e.scheme===B.vscodeNotebookCell||e.scheme===`fake-fs`}_onWillDispose(e){let t=Td(e.uri),n=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString(),i=!1,a=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){let t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(let n of t.past)Ti(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri));for(let n of t.future)Ti(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri))}}let o=wd.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,s=this._getSHA1Computer();if(!i){if(!r){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}}else if(!r&&(a>o||!s.canComputeSHA1(e))){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}else this._ensureDisposedModelsHeapSize(o-a),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>Ti(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new Od(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),r,a,s.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){let n=t.oldLanguage,r=e.getLanguageId(),i=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),a=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);wd._setModelOptionsForModel(e,a,i),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Ad}},wd=bd,bd.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,bd);kd=wd=Sd([Cd(0,K),Cd(1,$n),Cd(2,Sn),Cd(3,V)],kd);var Ad=class e{canComputeSHA1(t){return t.getValueLength()<=e.MAX_MODEL_SIZE}computeSHA1(e){let t=new Pn,n=e.createSnapshot(),r;for(;r=n.read();)t.update(r);return t.digest()}};xd=Ad,xd.MAX_MODEL_SIZE=10485760;var jd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Md=function(e,t){return function(n,r){t(n,r,e)}},Nd=class{constructor(e){this._models=new Pd(e)}createModelReference(e){return this._acquire(e)}createSyntheticDocument(e,t){let n=W.from({scheme:B.inMemory,path:`/synthetic/${Gt()}`});return this._acquire(n,e,t)}async _acquire(e,t,n=null){let r=this._models.acquire(e.toString(),t,n);try{return await Promise.resolve(),{object:r.object.value,dispose:()=>r.dispose()}}catch(e){throw r.dispose(),e}}};Nd=jd([Md(0,Ho)],Nd);var Pd=class extends Po{constructor(e){super(),this._modelService=e}createReferencedObject(e,t,n=null){return new nr(()=>{let r=W.parse(e),i=t===void 0?this._modelService.getModel(r):this._modelService.createModel(t,n,r);if(!i)throw Error(`Model not found`);return new Fd(i,t!==void 0)})}destroyReferencedObject(e,t){t.rawValue?.dispose()}},Fd=class extends F{constructor(e,t){super(),this.textEditorModel=e,this._ownsModel=t,this._onWillDispose=this._register(new P)}dispose(){this.isDisposed()||(this._onWillDispose.fire(),super.dispose(),this._ownsModel&&this.textEditorModel.dispose())}isDisposed(){return this._store.isDisposed}},Id=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ld=function(e,t){return function(n,r){t(n,r,e)}},Rd=class extends F{constructor(e,t,n){super(),this.quickInputService=e,this.instantiationService=t,this.contextKeyService=n,this.registry=js.as(nt.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register(I(()=>{for(let e of this.mapProviderToDescriptor.values())Pi(e)&&e.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(e=``,t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){let[r,i]=this.getOrInstantiateProvider(e,n?.enabledProviderPrefixes),a=this.visibleQuickAccess,o=a?.descriptor;if(a&&i&&o===i){e!==i.prefix&&!n?.preserveValue&&(a.picker.value=e),this.adjustValueSelection(a.picker,i,n);return}if(i&&!n?.preserveValue){let t;if(a&&o&&o!==i){let e=a.value.substr(o.prefix.length);e&&(t=`${i.prefix}${e}`)}if(!t){let e=r?.defaultFilterValue;e===no.LAST?t=this.lastAcceptedPickerValues.get(i):typeof e==`string`&&(t=`${i.prefix}${e}`)}typeof t==`string`&&(e=t)}let s=a?.picker?.valueSelection,c=a?.picker?.value,l=new A,u=l.add(this.quickInputService.createQuickPick({useSeparators:!0}));u.value=e,this.adjustValueSelection(u,i,n),u.placeholder=n?.placeholder??i?.placeholder,u.quickNavigate=n?.quickNavigateConfiguration,u.hideInput=!!u.quickNavigate&&!a,(typeof n?.itemActivation==`number`||n?.quickNavigateConfiguration)&&(u.itemActivation=n?.itemActivation??xo.SECOND),u.contextKey=i?.contextKey,u.filterValue=e=>e.substring(i?i.prefix.length:0);let d;t&&(d=new pr,l.add(C.once(u.onWillAccept)(e=>{e.veto(),u.hide()}))),l.add(this.registerPickerListeners(u,r,i,e,n));let f=l.add(new Vt);if(r&&l.add(r.provide(u,f.token,n?.providerOptions)),C.once(u.onDidHide)(()=>{u.selectedItems.length===0&&f.cancel(),l.dispose(),d?.complete(u.selectedItems.slice(0))}),u.show(),s&&c===e&&(u.valueSelection=s),t)return d?.p}adjustValueSelection(e,t,n){let r;r=n?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=r}registerPickerListeners(e,t,n,r,i){let a=new A,o=this.visibleQuickAccess={picker:e,descriptor:n,value:r};return a.add(I(()=>{o===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),a.add(e.onDidChangeValue(e=>{let[n]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes);n===t?o.value=e:this.show(e,{enabledProviderPrefixes:i?.enabledProviderPrefixes,preserveValue:!0,providerOptions:i?.providerOptions})})),n&&a.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(n,e.value)})),a}getOrInstantiateProvider(e,t){let n=this.registry.getQuickAccessProvider(e,this.contextKeyService);if(!n||t&&!t?.includes(n.prefix))return[void 0,void 0];let r=this.mapProviderToDescriptor.get(n);return r||(r=this.instantiationService.createInstance(n.ctor),this.mapProviderToDescriptor.set(n,r)),[r,n]}};Rd=Id([Ld(0,Na),Ld(1,V),Ld(2,T)],Rd);var zd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bd=class{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e==`string`?e:e.label).join(``)}};zd([qn],Bd.prototype,`toString`,null);var Vd=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function Hd(e){let t=[],n=0,r;for(;r=Vd.exec(e);){r.index-n>0&&t.push(e.substring(n,r.index));let[,i,a,,o]=r;o?t.push({label:i,href:a,title:o}):t.push({label:i,href:a}),n=r.index+r[0].length}return n<e.length&&t.push(e.substring(n)),new Bd(t)}var Ud={},Wd=new ge(`quick-input-button-icon-`);function Gd(e){if(!e)return;let t,n=e.dark.toString();return Ud[n]?t=Ud[n]:(t=Wd.nextId(),eo(`.${t}, .hc-light .${t}`,`background-image: ${Xt(e.light||e.dark)}`),eo(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${Xt(e.dark)}`),Ud[n]=t),t}var Kd=class{constructor(e,t,n,r,i,a,o){this.id=e,this.label=t,this.tooltip=n,this.enabled=i,this._checked=a,this._run=o,this.class=r}get checked(){return this._checked}set checked(e){this._checked=e,this._run()}run(){return this._checked=!this._checked,this._run()}};function qd(e,t,n){let r=e.iconClass||Gd(e.iconPath);e.alwaysVisible&&(r=r?`${r} always-visible`:`always-visible`);let i=()=>(e.toggle&&(e.toggle.checked=!e.toggle.checked),n());return e.toggle?new Kd(t,e.tooltip||``,``,r,!0,e.toggle.checked,i):{id:t,label:``,tooltip:e.tooltip||``,class:r,enabled:!0,run:i}}function Jd(e,t,n){let r=[],i=[];return e.forEach((e,a)=>{let o=qd(e,`${t}-${a}`,async()=>n(e));e.label&&(o.label=e.label),e.secondary?i.push(o):r.push(o)}),{primary:r,secondary:i}}function Yd(e,t,n){l(t);let r=Hd(e),i=0;for(let e of r.nodes)if(typeof e==`string`)t.append(...On(e));else{let r=e.title;!r&&e.href.startsWith(`command:`)?r=G(1868,`Click to execute command '{0}'`,e.href.substring(8)):r||=e.href;let a=pa(`a`,{href:e.href,title:r,tabIndex:i++},e.label);a.style.textDecoration=`underline`;let o=t=>{er(t)&&mi.stop(t,!0),n.callback(e.href)},s=n.disposables.add(new Qe(a,z.CLICK)).event,c=n.disposables.add(new Qe(a,z.KEY_DOWN)).event,l=C.chain(c,e=>e.filter(e=>{let t=new Ja(e);return t.equals(10)||t.equals(3)}));n.disposables.add(Mn.addTarget(a));let u=n.disposables.add(new Qe(a,Ge.Tap)).event;C.any(s,u,l)(o,null,n.disposables),t.appendChild(a)}}var Xd,Zd,Qd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$d=function(e,t){return function(n,r){t(n,r,e)}},ef=`inQuickInput`,tf=new Fn(ef,!1,G(1845,`Whether keyboard focus is inside the quick input control`)),nf=N.has(ef),rf=new Fn(`quickInputAlignment`,`top`,G(1846,`The alignment of the quick input`)),af=`quickInputType`,of=new Fn(af,void 0,G(1847,`The type of the currently visible quick input`)),sf=`cursorAtEndOfQuickInputBox`,cf=new Fn(sf,!1,G(1848,`Whether the cursor in the quick input is at the end of the input box`)),lf=N.has(sf),uf={iconClass:so.asClassName(Xa.quickInputBack),tooltip:G(1849,`Back`)},df=class e extends F{constructor(t){super(),this.ui=t,this._visible=U(`visible`,!1),this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this._inputButtons=[],this.buttonsUpdated=!1,this.noValidationMessage=e.noPromptMessage,this._severity=M.Ignore,this.onDidTriggerButtonEmitter=this._register(new P),this.onDidHideEmitter=this._register(new P),this.onWillHideEmitter=this._register(new P),this.onDisposeEmitter=this._register(new P),this.visibleDisposables=this._register(new A),this.onDidTriggerButton=this.onDidTriggerButtonEmitter.event,this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){let t=this._ignoreFocusOut!==e&&!aa;this._ignoreFocusOut=e&&!aa,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons,...this._inputButtons]}set buttons(e){let t=[],n=[],r=[],i=[];for(let a of e)if(a===uf)t.push(a);else switch(a.location){case Or.Inline:r.push(a);break;case Or.Input:i.push(a);break;default:n.push(a)}this._leftButtons=t,this._rightButtons=n,this._inlineButtons=r,this._inputButtons=i,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Wa.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=Wa.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;let e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==`&nbsp;`&&(this.ui.title.innerText=`\xA0`);let t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this.busy&&!this.busyDelay&&(this.busyDelay=new mo,this.busyDelay.setIfNotSet(()=>{this.visible&&(this.ui.progressBar.infinite(),this.ui.progressBar.getContainer().removeAttribute(`aria-hidden`))},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.ui.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1;let e=Jd(this._leftButtons,`left-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.leftActionBar.setActions(e.primary,e.secondary);let t=Jd(this._rightButtons,`right-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.rightActionBar.setActions(t.primary,t.secondary);let n=Jd(this._inlineButtons,`inline-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.inlineActionBar.setActions(n.primary,n.secondary);let r=this._inputButtons.length*22;this.ui.countContainer.style.right=r>0?`${4+r}px`:`4px`,this.ui.inputBox.actions=this._inputButtons.map((e,t)=>qd(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)))}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,l(this.ui.message),n&&Yd(n,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():``}getDescription(){return this.description||``}getSteps(){return this.step&&this.totalSteps?G(1851,`{0}/{1}`,this.step,this.totalSteps):this.step?String(this.step):``}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==M.Ignore){let t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:``,this.ui.message.style.backgroundColor=t.background?`${t.background}`:``,this.ui.message.style.border=t.border?`1px solid ${t.border}`:``,this.ui.message.style.marginBottom=`-2px`}else this.ui.message.style.color=``,this.ui.message.style.backgroundColor=``,this.ui.message.style.border=``,this.ui.message.style.marginBottom=``}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}};Xd=df,Xd.noPromptMessage=G(1850,`Press 'Enter' to confirm your input or 'Escape' to cancel`);var ff=class e extends df{constructor(e){super(e),this._value=``,this.onDidChangeValueEmitter=this._register(new P),this.onWillAcceptEmitter=this._register(new P),this.onDidAcceptEmitter=this._register(new P),this.onDidCustomEmitter=this._register(new P),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=xo.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new P),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new P),this.onDidTriggerItemButtonEmitter=this._register(new P),this.onDidTriggerSeparatorButtonEmitter=this._register(new P),this.valueSelectionUpdated=!0,this._ok=`default`,this._customButton=!1,this._customButtonSecondary=!1,this._focusEventBufferer=new gt,this.type=`quickPick`,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event,this.noValidationMessage=void 0}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get prompt(){return this.noValidationMessage}set prompt(e){this.noValidationMessage=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Ri:this.ui.keyMods}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get customButtonSecondary(){return this._customButtonSecondary}set customButtonSecondary(e){this._customButtonSecondary=e??!1,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get okLabel(){return this._okLabel??G(1853,`OK`)}set okLabel(e){this._okLabel=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(H.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Ni(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany&&!e.some(e=>e.pickable===!1)){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&Ni(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(lt(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&Ni(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return L(this.ui.container,z.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;let t=new Ja(e),n=t.keyCode;this._quickNavigate.keybindings.some(e=>{let r=e.getChords();return r.length>1?!1:r[0].shiftKey&&n===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(r[0].altKey&&n===6||r[0].ctrlKey&&n===5||r[0].metaKey&&n===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let t=this.keepScrollPosition?this.scrollTop:0,n=!!this.description,r={title:!!this.title||!!this.step||!!this.titleButtons.length,description:n,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||n,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage||!!this.prompt,customButton:this.customButton};this.ui.setVisibilities(r),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``);let i=this.ariaLabel;!i&&r.inputBox&&(i=this.placeholder,this.title&&(i=i?`${i} - ${this.title}`:this.title),i||=e.DEFAULT_ARIA_LABEL),this.ui.list.ariaLabel!==i&&(this.ui.list.ariaLabel=i??null),this.ui.inputBox.ariaLabel!==i&&(this.ui.inputBox.ariaLabel=i??`input`),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case xo.NONE:this._itemActivation=xo.FIRST;break;case xo.SECOND:this.ui.list.focus(H.Second),this._itemActivation=xo.FIRST;break;case xo.LAST:this.ui.list.focus(H.Last),this._itemActivation=xo.FIRST;break;default:this.trySelectFirst()}})),this.ui.container.classList.contains(`show-checkboxes`)!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||``,this.ui.customButton.label=this.customLabel||``,this.ui.customButton.element.title=this.customHover||``,this.ui.customButton.secondary=this.customButtonSecondary||!1,r.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(H.First)),this.keepScrollPosition&&(this.scrollTop=t)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){(!e||this._canAcceptInBackground)&&(this.activeItems[0]&&!this._canSelectMany&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(e??!1))}};Zd=ff,Zd.DEFAULT_ARIA_LABEL=G(1852,`Type to narrow down results.`);var pf=class extends df{constructor(){super(...arguments),this._value=``,this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new P),this.onDidAcceptEmitter=this._register(new P),this.type=`inputBox`,this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||``,this.update()}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}get prompt(){return this._prompt}set prompt(e){this._prompt=e,this.noValidationMessage=e?G(1854,`{0} (Press 'Enter' to confirm or 'Escape' to cancel)`,e):df.noPromptMessage,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove(`hidden-input`);let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let t=this.ariaLabel;!t&&e.inputBox&&(t=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:`input`),this.ui.inputBox.ariaLabel!==t&&(this.ui.inputBox.ariaLabel=t||`input`)}},mf=class extends Fo{constructor(e,t){super(`mouse`,void 0,e=>this.getOverrideOptions(e),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(vt(e.content)?e.content.textContent??``:typeof e.content==`string`?e.content:e.content.value).includes(`
412
- `),skipFadeInAnimation:!0}}}};mf=Qd([$d(0,K),$d(1,ei)],mf);var hf,gf=`done`,_f=`active`,vf=`infinite`,yf=`infinite-long-running`,bf=`discrete`,xf=G(16,`Progress`),Sf=class e extends F{constructor(t,n){super(),this.progressSignal=this._register(new i),this.workedVal=0,this.showDelayedScheduler=this._register(new Mo(()=>Mi(this.element),0)),this.longRunningScheduler=this._register(new Mo(()=>this.infiniteLongRunning(),e.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,n)}create(e,t){this.element=document.createElement(`div`),this.element.classList.add(`monaco-progress-container`),this.element.setAttribute(`role`,`progressbar`),this.element.setAttribute(`aria-valuemin`,`0`),this.element.setAttribute(`aria-label`,t?.ariaLabel&&t.ariaLabel.trim()?t.ariaLabel:xf),e.appendChild(this.element),this.bit=document.createElement(`div`),this.bit.classList.add(`progress-bit`),this.bit.style.backgroundColor=t?.progressBarBackground||`#0E70C0`,this.element.appendChild(this.bit)}off(){this.bit.style.width=`inherit`,this.bit.style.opacity=`1`,this.element.classList.remove(_f,vf,yf,bf),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(gf),this.element.classList.contains(vf)?(this.bit.style.opacity=`0`,e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width=`inherit`,e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width=`2%`,this.bit.style.opacity=`1`,this.element.classList.remove(bf,gf,yf),this.element.classList.add(_f,vf),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(yf)}getContainer(){return this.element}};hf=Sf,hf.LONG_RUNNING_INFINITE_THRESHOLD=1e4;var Cf=pa,wf=class extends F{constructor(e,t,n){super(),this.parent=e,this._listFocusMode=!1,this.onDidChange=e=>this.findInput.onDidChange(e),this.container=x(this.parent,Cf(`.quick-input-box`)),this.findInput=this._register(new Is(this.container,void 0,{label:``,inputBoxStyles:t,toggleStyles:n,actionViewItemProvider:ct(n),hideHoverOnValueChange:!0}))}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute(`placeholder`)||``}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type===`password`}set password(e){this.findInput.inputBox.inputElement.type=e?`password`:`text`}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute(`readonly`,!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}set actions(e){this.setActions(e)}setActions(e,t){this.findInput.setActions(e,t)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute(`aria-label`)||``}set ariaLabel(e){this.findInput.inputBox.inputElement.setAttribute(`aria-label`,e)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.findInput.inputBox.inputElement.removeAttribute(e)}setListFocusMode(e){if(this._listFocusMode===e)return;this._listFocusMode=e;let t=this.findInput.inputBox.inputElement;e?(t.setAttribute(`aria-haspopup`,`listbox`),t.setAttribute(`aria-autocomplete`,`list`)):(t.removeAttribute(`aria-haspopup`),t.removeAttribute(`aria-autocomplete`))}showDecoration(e){e===M.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===M.Info?1:e===M.Warning?2:3,content:``})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===M.Info?1:e===M.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}setHeight(e){this.findInput.inputBox.element.style.height=e===void 0?``:`${e}px`}},Tf=new nr(()=>{let e=ie.Collator(void 0,{numeric:!0,sensitivity:`base`}).value;return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});new nr(()=>({collator:ie.Collator(void 0,{numeric:!0}).value})),new nr(()=>({collator:ie.Collator(void 0,{numeric:!0,sensitivity:`accent`}).value}));function Ef(e,t,n=!1){let r=e||``,i=t||``,a=Tf.value.collator.compare(r,i);return Tf.value.collatorIsNumeric&&a===0&&r!==i?r<i?-1:1:a}function Df(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=Of(e,t,n);if(a)return a;let o=r.endsWith(n);if(o!==i.endsWith(n))return o?-1:1;let s=Ef(r,i);return s===0?r.localeCompare(i):s}function Of(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.startsWith(n),o=i.startsWith(n);if(a!==o)return a?-1:1;if(a&&o){if(r.length<i.length)return-1;if(r.length>i.length)return 1}return 0}var kf,Af,jf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mf=function(e,t){return function(n,r){t(n,r,e)}},Nf,Pf,Ff=pa,If=class{constructor(e,t,n){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new nr(()=>{let e=n.label??``;return{saneLabel:e,saneSortLabel:Fe(e).text.trim(),saneAriaLabel:n.ariaLabel||[e,this.saneDescription,this.saneDetail].map(e=>Lt(e)).filter(e=>!!e).join(`, `)}}),this._saneDescription=n.description,this._saneTooltip=n.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}},Y=class extends If{constructor(e,t,n,r,i,a,o){super(e,n,a),this.childIndex=t,this.fireButtonTriggered=r,this._onChecked=i,this.item=a,this._separator=o,this._checked=!1,this.onChecked=n?C.map(C.filter(this._onChecked.event,e=>e.element===this),e=>e.checked):C.None,this._saneDetail=a.detail,this._labelHighlights=a.highlights?.label,this._descriptionHighlights=a.highlights?.description,this._detailHighlights=a.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}},Lf;(function(e){e[e.NONE=0]=`NONE`,e[e.MOUSE_HOVER=1]=`MOUSE_HOVER`,e[e.ACTIVE_ITEM=2]=`ACTIVE_ITEM`})(Lf||={});var Rf=class extends If{constructor(e,t,n){super(e,!1,n),this.fireSeparatorButtonTriggered=t,this.separator=n,this.children=[],this.focusInsideSeparator=Lf.NONE}},zf=class{getHeight(e){return e instanceof Rf?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof Y?Hf.ID:Uf.ID}},Bf=class{getWidgetAriaLabel(){return G(1867,`Quick Input`)}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return`listbox`}getRole(e){return e.hasCheckbox?`checkbox`:`option`}isChecked(e){if(e.hasCheckbox&&e instanceof Y)return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}},Vf=class extends F{constructor(e,t,n){super(),this.hoverDelegate=e,this.toggleStyles=t,this.contextMenuService=n,this._onDidDisposeFocusedElement=this._register(new P),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=Object.create(null);t.toDisposeElement=new A,t.toDisposeTemplate=new A,t.entry=x(e,Ff(`.quick-input-list-entry`));let n=x(t.entry,Ff(`label.quick-input-list-label`));t.outerLabel=n,t.checkbox=t.toDisposeTemplate.add(new i),t.toDisposeTemplate.add(yn(n,z.CLICK,e=>{if(t.checkbox.value&&!e.defaultPrevented&&t.checkbox.value.enabled){let e=!t.checkbox.value.checked;t.checkbox.value.checked=e,t.element.checked=e}}));let r=x(n,Ff(`.quick-input-list-rows`)),a=x(r,Ff(`.quick-input-list-row`)),o=x(r,Ff(`.quick-input-list-row`));t.label=new We(a,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=on(t.label.element,Ff(`.quick-input-list-icon`));let s=x(a,Ff(`.quick-input-list-entry-keybinding`));t.keybinding=new h(s,zr),t.toDisposeTemplate.add(t.keybinding);let c=x(o,Ff(`.quick-input-list-label-meta`));return t.detail=new We(c,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=x(t.entry,Ff(`.quick-input-list-separator`)),t.toolBar=new ut(t.entry,this.contextMenuService,{...this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0,actionViewItemProvider:ct(this.toggleStyles),icon:!0,label:!1}),t.toolBar.getElement().classList.add(`quick-input-list-entry-action-bar`),t.toDisposeTemplate.add(t.toolBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,n){Xe(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.toolBar.setActions([])}},Hf=(kf=class extends Vf{constructor(e,t,n,r){super(e,t,n),this.themeService=r,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return Nf.ID}ensureCheckbox(e,t){if(!e.hasCheckbox){t.checkbox.value?.domNode.remove(),t.checkbox.clear();return}let n=t.checkbox.value;n?n.setTitle(e.saneLabel):(n=new He(e.saneLabel,e.checked,{...ui,size:15}),t.checkbox.value=n,t.outerLabel.prepend(n.domNode),n.domNode.tabIndex=-1),e.checkboxDisabled?n.disable():n.enable(),n.checked=e.checked,t.toDisposeElement.add(e.onChecked(e=>n.checked=e)),t.toDisposeElement.add(n.onChange(()=>e.checked=n.checked))}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0;let i=r.item;r.element.classList.toggle(`not-pickable`,r.item.pickable===!1),typeof i.id==`string`?n.entry.setAttribute(`data-quick-input-id`,i.id):n.entry.removeAttribute(`data-quick-input-id`),this.ensureCheckbox(r,n);let{labelHighlights:a,descriptionHighlights:o,detailHighlights:s}=r;if(i.iconPath){let e=ro(this.themeService.getColorTheme().type)?i.iconPath.dark:i.iconPath.light??i.iconPath.dark,t=W.revive(e);n.icon.className=`quick-input-list-icon`,n.icon.style.backgroundImage=Xt(t)}else n.icon.style.backgroundImage=``,n.icon.className=i.iconClass?`quick-input-list-icon ${i.iconClass}`:``;n.icon.style.color=i.iconColor?Oo(i.iconColor.id):``;let c;!r.saneTooltip&&r.saneDescription&&(c={markdown:{value:Tt(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let l={matches:a||[],descriptionTitle:c,descriptionMatches:o||[],labelEscapeNewLines:!0};if(l.extraClasses=i.iconClasses,l.italic=i.italic,l.strikethrough=i.strikethrough,n.entry.classList.remove(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,l),n.keybinding.set(i.keybinding),r.saneDetail){let e;r.saneTooltip||(e={markdown:{value:Tt(r.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),n.detail.element.style.display=``,n.detail.setLabel(r.saneDetail,void 0,{matches:s,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display=`none`;r.separator?.label?(n.separator.textContent=r.separator.label,n.separator.style.display=``,this.addItemWithSeparator(r)):n.separator.style.display=`none`,n.entry.classList.toggle(`quick-input-list-separator-border`,!!r.separator&&r.childIndex!==0);let u=i.buttons;if(u&&u.length){let{primary:e,secondary:t}=Jd(u,`quick-input-item`,e=>r.fireButtonTriggered({button:e,item:r.item}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,n)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){let t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}},Nf=kf,kf.ID=`quickpickitem`,kf);Hf=Nf=jf([Mf(2,an),Mf(3,Ea)],Hf);var Uf=(Af=class extends Vf{constructor(e,t,n){super(e,t,n),this._visibleSeparatorsFrequency=new Map}get templateId(){return Pf.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0,r.element.classList.toggle(`focus-inside`,!!r.focusInsideSeparator);let i=r.separator,{labelHighlights:a,descriptionHighlights:o}=r;n.icon.style.backgroundImage=``,n.icon.className=``;let s;!r.saneTooltip&&r.saneDescription&&(s={markdown:{value:Tt(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let c={matches:a||[],descriptionTitle:s,descriptionMatches:o||[],labelEscapeNewLines:!0};n.entry.classList.add(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,c),n.separator.style.display=`none`,n.entry.classList.add(`quick-input-list-separator-border`);let l=i.buttons;if(l&&l.length){let{primary:e,secondary:t}=Jd(l,`quick-input-separator`,e=>r.fireSeparatorButtonTriggered({button:e,separator:r.separator}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`);this.addSeparator(r)}disposeElement(e,t,n){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove(`focus-inside`),super.disposeElement(e,t,n)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){let t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}},Pf=Af,Af.ID=`quickpickseparator`,Af);Uf=Pf=jf([Mf(2,an)],Uf);var Wf=class extends F{constructor(e,t,n,r,i,a,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=n,this.styles=i,this.accessibilityService=o,this._onLeave=this._register(new P),this.onLeave=this._onLeave.event,this._visibleCountObservable=U(`VisibleCount`,0),this.onChangedVisibleCount=C.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=U(`AllVisibleChecked`,!1),this.onChangedAllVisibleChecked=C.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=U(`CheckedCount`,0),this.onChangedCheckedCount=C.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=_a({equalsFn:Ni},[]),this.onChangedCheckedElements=C.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=this._register(new P),this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=this._register(new P),this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=this._register(new P),this._elementCheckedEventBufferer=new gt,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new A),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._shouldLoop=!0,this._container=x(this.parent,Ff(`.quick-input-list`)),this._separatorRenderer=this._register(a.createInstance(Uf,t,this.styles.toggle)),this._itemRenderer=this._register(a.createInstance(Hf,t,this.styles.toggle)),this._tree=this._register(a.createInstance($t,`QuickInput`,this._container,new zf,[this._itemRenderer,this._separatorRenderer],{filter:{filter(e){return e.hidden?0:e instanceof Rf?2:1}},sorter:{compare:(e,t)=>!this.sortByLabel||!this._lastQueryString?0:qf(e,t,this._lastQueryString.toLowerCase())},accessibilityProvider:new Bf,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Ct.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._register(this._itemRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._register(this._separatorRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._registerListeners()}get onDidChangeFocus(){return C.map(this._tree.onDidChangeFocus,e=>e.elements.filter(e=>e instanceof Y).map(e=>e.item),this._store)}get onDidChangeSelection(){return C.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(e=>e instanceof Y).map(e=>e.item),event:e.browserEvent}),this._store)}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??``}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?``:`none`}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnContainerClick(){this._register(L(this._container,z.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(L(this._container,z.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let e=this._itemElements.filter(e=>!e.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){let e=this._register(new Oa(typeof this.hoverDelegate.delay==`function`?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{if(Ue(t.browserEvent.target)){e.cancel();return}if(Ue(t.browserEvent.relatedTarget)||!Gn(t.browserEvent.relatedTarget,t.element?.element))try{await e.trigger(async()=>{t.element instanceof Y&&this.showHover(t.element)})}catch(e){if(!mt(e))throw e}})),this._register(this._tree.onMouseOut(t=>{Gn(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{let t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(let e of this._separatorRenderer.visibleSeparators){let n=e===t;!!(e.focusInsideSeparator&Lf.ACTIVE_ITEM)!==n&&(n?e.focusInsideSeparator|=Lf.ACTIVE_ITEM:e.focusInsideSeparator&=~Lf.ACTIVE_ITEM,this._tree.rerender(e))}})),this._register(this._tree.onMouseOver(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&(e.focusInsideSeparator&Lf.MOUSE_HOVER||(e.focusInsideSeparator|=Lf.MOUSE_HOVER,this._tree.rerender(e)))})),this._register(this._tree.onMouseOut(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&e.focusInsideSeparator&Lf.MOUSE_HOVER&&(e.focusInsideSeparator&=~Lf.MOUSE_HOVER,this._tree.rerender(e))}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{let t=e.elements.filter(e=>e instanceof Y);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof Rf&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&t.item.pickable!==!1&&(t.checked=e)})})}setElements(e){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains(`show-checkboxes`);let t;this._itemElements=[],this._elementTree=e.reduce((n,r,i)=>{let a;if(r.type===`separator`){if(!r.buttons)return n;t=new Rf(i,e=>this._onSeparatorButtonTriggered.fire(e),r),a=t}else{let o=i>0?e[i-1]:void 0,s;o&&o.type===`separator`&&!o.buttons&&(s=o);let c=new Y(i,t?.children?t.children.length:i,this._hasCheckboxes&&r.pickable!==!1,e=>this._onButtonTriggered.fire(e),this._elementChecked,r,s);if(this._itemElements.push(c),t)return t.children.push(c),n;a=c}return n.push(a),n},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&La(()=>{let e=this._tree.getHTMLElement().querySelector(`.monaco-list-row.focused`),t=e?.parentNode;if(e&&t){let n=e.nextSibling;e.remove(),t.insertBefore(e,n)}},0,this._elementDisposable)}setFocusedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e).filter(e=>!e.hidden);if(this._tree.setFocus(t),e.length>0){let e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}setSelectedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{let t=new Set;for(let n of e)t.add(n);for(let e of this._itemElements)e.checked=t.has(e.item)})}focus(e){if(this._itemElements.length)switch(e===H.Second&&this._itemElements.length<2&&(e=H.First),e){case H.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,e=>e.element instanceof Y);break;case H.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>t.element instanceof Y?e?!0:(e=!e,!1):!1);break}case H.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof Y);break;case H.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,e=>e.element instanceof Y&&(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,e=>{if(!(e.element instanceof Y))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.NextPage:this._tree.focusNextPage(void 0,e=>e.element instanceof Y&&(this._tree.reveal(e.element),!0));break;case H.PreviousPage:this._tree.focusPreviousPage(void 0,e=>{if(!(e.element instanceof Y))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});break;case H.NextSeparator:{let e=!1,t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,t=>{if(e)return!0;if(t.element instanceof Rf)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof Y){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1}),t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof Y));break}case H.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,n=>{if(n.element instanceof Rf)t?e||=(this._separatorRenderer.isSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),n.element.children[0]):t=!0;else if(n.element instanceof Y&&!e){if(n.element.separator)this._itemRenderer.isItemWithSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),e=n.element;else if(n.element===this._elementTree[0])return this._tree.reveal(n.element,0),!0}return!1}),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;let t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&t.type===`separator`&&!t.buttons?t:void 0)});else{let n;this._itemElements.forEach(r=>{let i;i=this.matchOnLabelMode===`fuzzy`?this.matchOnLabel?Qt(e,Fe(r.saneLabel))??void 0:void 0:this.matchOnLabel?Gf(t,Fe(r.saneLabel))??void 0:void 0;let a=this.matchOnDescription?Qt(e,Fe(r.saneDescription||``))??void 0:void 0,o=this.matchOnDetail?Qt(e,Fe(r.saneDetail||``))??void 0:void 0;if(i||a||o?(r.labelHighlights=i,r.descriptionHighlights=a,r.detailHighlights=o,r.hidden=!1):(r.labelHighlights=void 0,r.descriptionHighlights=void 0,r.detailHighlights=void 0,r.hidden=!r.item||!r.item.alwaysShow),r.item?r.separator=void 0:r.separator&&(r.hidden=!0),!this.sortByLabel){let e=r.index&&this._inputElements[r.index-1]||void 0;e?.type===`separator`&&!e.buttons&&(n=e),n&&!r.hidden&&(r.separator=n,n=void 0)}})}return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let e=this._tree.getFocus().filter(e=>e instanceof Y),t=this._allVisibleChecked(e);for(let n of e)n.checkboxDisabled||(n.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){let e=this._tree.getFocus()[0];if(!e?.saneTooltip||!(e instanceof Y))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);let t=new A;t.add(this._tree.onDidChangeFocus(e=>{e.elements[0]instanceof Y&&this.showHover(e.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){let t=[];for(let n of e)n instanceof Rf?t.push({element:n,collapsible:!1,collapsed:!1,children:n.children.map(e=>({element:e,collapsible:!1,collapsed:!1}))}):t.push({element:n,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.hidden&&r.item.pickable!==!1){if(r.checked)t=!0;else return!1}}return t}_updateCheckedObservables(){pn(e=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);let t=this._itemElements.filter(e=>e.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),e.element&&e.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};jf([qn],Wf.prototype,`onDidChangeFocus`,null),jf([qn],Wf.prototype,`onDidChangeSelection`,null),Wf=jf([Mf(5,V),Mf(6,os)],Wf);function Gf(e,t){let{text:n,iconOffsets:r}=t;if(!r||r.length===0)return Kf(e,n);let i=Yn(n,` `),a=n.length-i.length,o=Kf(e,i);if(o)for(let e of o){let t=r[e.start+a]+a;e.start+=t,e.end+=t}return o}function Kf(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function qf(e,t,n){let r=e.labelHighlights||[],i=t.labelHighlights||[];return r.length&&!i.length?-1:!r.length&&i.length?1:r.length===0&&i.length===0?0:Df(e.saneSortLabel,t.saneSortLabel,n)}function Jf(e,t={}){sn.registerCommandAndKeybindingRule({weight:200,when:nf,metadata:{description:G(1855,`Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:Xf(e.primary,e.secondary??[],t)})}function X(e,t={}){sn.registerCommandAndKeybindingRule({weight:200,when:N.and(N.or(N.equals(af,`quickPick`),N.equals(af,`quickTree`)),nf),metadata:{description:G(1856,`Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:Xf(e.primary,e.secondary??[],t)})}var Yf=li?256:2048;function Xf(e,t,n={}){return n.withAltMod&&t.push(512+e),n.withCtrlMod&&(t.push(Yf+e),n.withAltMod&&t.push(512+Yf+e)),n.withShiftMod&&(t.push(1024+e),n.withAltMod&&t.push(1536+e),n.withCtrlMod&&(t.push(Yf+1024+e),n.withAltMod&&t.push(512+Yf+1024+e))),n.withCmdMod&&li&&(t.push(2048+e),n.withCtrlMod&&t.push(2304+e),n.withAltMod&&(t.push(2560+e),n.withCtrlMod&&t.push(2816+e))),t}function Zf(e,t){return n=>{let r=n.get(Na).currentQuickInput;if(r)return t&&r.quickNavigate?r.focus(t):r.focus(e)}}X({id:`quickInput.pageNext`,primary:12,handler:Zf(H.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.pagePrevious`,primary:11,handler:Zf(H.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.first`,primary:Yf+14,handler:Zf(H.First)},{withAltMod:!0,withCmdMod:!0}),X({id:`quickInput.last`,primary:Yf+13,handler:Zf(H.Last)},{withAltMod:!0,withCmdMod:!0}),X({id:`quickInput.next`,primary:18,handler:Zf(H.Next)},{withCtrlMod:!0}),X({id:`quickInput.previous`,primary:16,handler:Zf(H.Previous)},{withCtrlMod:!0});var Qf=G(1857,`If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.`),$f=G(1858,`If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.`);li?(X({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:2066,handler:Zf(H.NextSeparator,H.Next),metadata:{description:Qf}}),X({id:`quickInput.nextSeparator`,primary:2578,secondary:[2322],handler:Zf(H.NextSeparator)},{withCtrlMod:!0}),X({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:2064,handler:Zf(H.PreviousSeparator,H.Previous),metadata:{description:$f}}),X({id:`quickInput.previousSeparator`,primary:2576,secondary:[2320],handler:Zf(H.PreviousSeparator)},{withCtrlMod:!0})):(X({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:530,handler:Zf(H.NextSeparator,H.Next),metadata:{description:Qf}}),X({id:`quickInput.nextSeparator`,primary:2578,handler:Zf(H.NextSeparator)}),X({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:528,handler:Zf(H.PreviousSeparator,H.Previous),metadata:{description:$f}}),X({id:`quickInput.previousSeparator`,primary:2576,handler:Zf(H.PreviousSeparator)})),sn.registerCommandAndKeybindingRule({id:`quickInput.accept`,primary:3,weight:200,when:N.and(N.notEquals(af,`quickWidget`),nf),metadata:{description:G(1859,`Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},handler:e=>{e.get(Na).currentQuickInput?.accept()},secondary:Xf(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0,withShiftMod:!0})}),X({id:`quickInput.acceptInBackground`,when:N.and(nf,N.equals(af,`quickPick`),N.or(Me.negate(),lf)),primary:17,weight:250,handler:e=>{e.get(Na).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),Jf({id:`quickInput.hide`,primary:9,handler:e=>{e.get(Na).currentQuickInput?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.toggleCheckbox`,when:N.and(nf,N.or(N.equals(af,`quickPick`),N.equals(af,`quickTree`)),Me.negate()),primary:10,handler:e=>{e.get(Na).toggle()}}),X({id:`quickInput.toggleHover`,primary:Yf|10,handler:e=>{e.get(Na).toggleHover()}});var ep,tp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},np=function(e,t){return function(n,r){t(n,r,e)}},rp,ip=pa,ap=class extends F{constructor(){super(...arguments),this._onDidChangeCheckboxState=this._register(new P),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event}setCheckboxState(e,t){this._onDidChangeCheckboxState.fire({item:e,checked:t})}},op=(ep=class extends F{constructor(e,t,n,r,i,a,o){super(),this._hoverDelegate=e,this._buttonTriggeredEmitter=t,this.onCheckedEvent=n,this._checkboxStateHandler=r,this._toggleStyles=i,this._contextMenuService=a,this._themeService=o,this.templateId=rp.ID,this._onDidDisposeFocusedElement=this._register(new P),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=new A,n=x(e,ip(`.quick-input-tree-entry`)),r=t.add(new uo(``,!1,{...ui,size:15}));n.appendChild(r.domNode);let i=x(n,ip(`label.quick-input-tree-label`)),a=x(i,ip(`.quick-input-tree-rows`)),o=x(a,ip(`.quick-input-tree-row`)),s=on(o,ip(`.quick-input-tree-icon`)),c=t.add(new We(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),l=t.add(new ut(n,this._contextMenuService,{actionViewItemProvider:ct(this._toggleStyles),hoverDelegate:this._hoverDelegate,icon:!0,label:!1}));return l.getElement().classList.add(`quick-input-tree-entry-action-bar`),{toDisposeTemplate:t,entry:n,checkbox:r,icon:s,label:c,actionBar:l,toDisposeElement:new A}}renderElement(e,t,n,r){let i=n.toDisposeElement,a=e.element;if(a.pickable===!1)n.checkbox.domNode.style.display=`none`;else{let e=n.checkbox;e.domNode.style.display=``,e.checked=a.checked??!1,i.add(C.filter(this.onCheckedEvent,e=>e.item===a)(t=>e.checked=t.checked)),a.disabled&&e.disable(),i.add(e.onChange(t=>this._checkboxStateHandler.setCheckboxState(a,e.checked)))}if(a.iconPath){let e=ro(this._themeService.getColorTheme().type)?a.iconPath.dark:a.iconPath.light??a.iconPath.dark,t=W.revive(e);n.icon.className=`quick-input-tree-icon`,n.icon.style.backgroundImage=Xt(t)}else n.icon.style.backgroundImage=``,n.icon.className=a.iconClass?`quick-input-tree-icon ${a.iconClass}`:``;n.icon.style.color=a.iconColor?Oo(a.iconColor.id):``;let{labelHighlights:o,descriptionHighlights:s}=e.filterData||{},c;a.description&&(c={markdown:{value:Tt(a.description),supportThemeIcons:!0},markdownNotSupportedFallback:a.description}),n.label.setLabel(a.label,a.description,{matches:o,descriptionMatches:s,extraClasses:a.iconClasses,italic:a.italic,strikethrough:a.strikethrough,labelEscapeNewLines:!0,descriptionTitle:c});let l=a.buttons;if(l&&l.length){let{primary:e,secondary:t}=Jd(l,`quick-input-tree`,e=>this._buttonTriggeredEmitter.fire({item:a,button:e}));n.actionBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.actionBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n,r){Xe(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.actionBar.setActions([])}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}},rp=ep,ep.ID=`quickInputTreeElement`,ep);op=rp=tp([np(5,an),np(6,Ea)],op);var sp=class{getHeight(e){return 22}getTemplateId(e){return op.ID}};function cp(e){let t=!1,n=!1,r=!1;for(let i of e){switch(i.element?.checked){case`mixed`:r=!0;break;case!0:t=!0;break;default:n=!0}if(t&&n&&r)break}return n?r||t?`mixed`:!1:r?`mixed`:t}var lp=class{constructor(e){this.onCheckedEvent=e}getWidgetAriaLabel(){return G(1869,`Quick Tree`)}getAriaLabel(e){return e.ariaLabel||[e.label,e.description].map(e=>Lt(e)).filter(e=>!!e).join(`, `)}getWidgetRole(){return`tree`}getRole(e){return`checkbox`}isChecked(e){return{get value(){return e.checked===`mixed`?`mixed`:!!e.checked},onDidChange:t=>C.filter(this.onCheckedEvent,t=>t.item===e)(e=>t())}}},up=class{constructor(){this.filterValue=``,this.matchOnLabel=!0,this.matchOnDescription=!1}filter(e,t){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return e.children?{visibility:2,data:{}}:{visibility:1,data:{}};let n=this.matchOnLabel?Qt(this.filterValue,Fe(e.label))??void 0:void 0,r=this.matchOnDescription?Qt(this.filterValue,Fe(e.description||``))??void 0:void 0;return{visibility:t===1||n||r?1:e.children?2:0,data:{labelHighlights:n,descriptionHighlights:r}}}},dp=class extends F{constructor(){super(...arguments),this._sortByLabel=!0}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}compare(e,t){if(!this._sortByLabel)return 0;if(e.label<t.label)return-1;if(e.label>t.label)return 1;if(e.description&&t.description){if(e.description<t.description)return-1;if(e.description>t.description)return 1}else if(e.description)return-1;else if(t.description)return 1;return 0}},fp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},pp=function(e,t){return function(n,r){t(n,r,e)}},mp=pa,hp=`quick-input-tree-flat`,gp=class{constructor(){this._elementIds=new WeakMap,this._counter=0}getId(e){let t=e.id;return t!==void 0||(t=this._elementIds.get(e),t!==void 0)?t:(t=`__generated_${this._counter++}`,this._elementIds.set(e,t),t)}},_p=class extends F{constructor(e,t,n,r){super(),this.instantiationService=r,this._onDidTriggerButton=this._register(new P),this._onDidChangeCheckboxState=this._register(new P),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new P),this.onDidChangeCheckedLeafItems=this._onDidCheckedLeafItemsChange.event,this._onLeave=this._register(new P),this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new P),this.onDidAccept=this._onDidAccept.event,this._container=x(e,mp(`.quick-input-tree`)),this._checkboxStateHandler=this._register(new ap),this._renderer=this._register(this.instantiationService.createInstance(op,t,this._onDidTriggerButton,this.onDidChangeCheckboxState,this._checkboxStateHandler,n.toggle)),this._filter=this.instantiationService.createInstance(up),this._sorter=this._register(new dp),this._tree=this._register(this.instantiationService.createInstance($t,`QuickInputTree`,this._container,new sp,[this._renderer],{accessibilityProvider:new lp(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Ct.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:this._sorter,filter:this._filter,identityProvider:new gp})),this._register(this._renderer.onDidDisposeFocusedElement(()=>{this._tree.domFocus()})),this.registerCheckboxStateListeners(),this.registerOnDidChangeFocus()}get tree(){return this._tree}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get sortByLabel(){return this._sorter.sortByLabel}set sortByLabel(e){this._sorter.sortByLabel=e,this._tree.resort(null,!0)}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}filter(e){this._filter.filterValue=e,this._tree.refilter()}updateFilterOptions(e){e.matchOnLabel!==void 0&&(this._filter.matchOnLabel=e.matchOnLabel),e.matchOnDescription!==void 0&&(this._filter.matchOnDescription=e.matchOnDescription),this._tree.refilter()}setTreeData(e){let t=!1,n=e=>{let r;return e.children&&e.children.length>0&&(t=!0,r=e.children.map(e=>n(e)),e.checked=cp(r)),{element:e,children:r,collapsible:!!r,collapsed:e.collapsed?dn.PreserveOrCollapsed:dn.PreserveOrExpanded}},r=e.map(e=>n(e));this._tree.setChildren(null,r),this._container.classList.toggle(hp,!t)}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}focus(e){switch(e){case H.First:this._tree.scrollTop=0,this._tree.focusFirst();break;case H.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>e?!0:(e=!e,!1));break}case H.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast();break;case H.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.NextPage:this._tree.focusNextPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case H.PreviousPage:this._tree.focusPreviousPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case H.NextSeparator:case H.PreviousSeparator:return}}registerCheckboxStateListeners(){this._register(this._tree.onDidOpen(e=>{let t=e.element;if(!t||t.disabled)return;if(t.pickable===!1){this._tree.setFocus([t]),this._onDidAccept.fire();return}let n=e.browserEvent?.target;n&&n.classList.contains(He.CLASS_NAME)||this.updateCheckboxState(t,t.checked===!0)})),this._register(this._checkboxStateHandler.onDidChangeCheckboxState(e=>{this.updateCheckboxState(e.item,e.checked===!0,!0),this._tree.setFocus([e.item]),this._tree.setSelection([e.item])}))}updateCheckboxState(e,t,n=!1){if((e.checked??!1)===t)return;e.checked=t,n||this._tree.rerender(e);let r=new Set,i=[...this._tree.getNode(e).children];for(;i.length;){let t=i.shift();t?.element&&!r.has(t.element)&&(r.add(t.element),(t.element.checked??!1)!==e.checked&&(t.element.checked=e.checked,this._tree.rerender(t.element)),i.push(...t.children))}let a=this._tree.getParentElement(e);for(;a;){let e=cp([...this._tree.getNode(a).children]);(a.checked??!1)!==e&&(a.checked=e,this._tree.rerender(a)),a=this._tree.getParentElement(a)}this._onDidChangeCheckboxState.fire({item:e,checked:e.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}registerOnDidChangeFocus(){this._register(this._tree.onDidChangeFocus(e=>{let t=this._tree.getFocus().findLast(e=>e!==null);this._tree.setSelection(t?[t]:[],e.browserEvent)}))}getCheckedLeafItems(){let e=new Set,t=[...this._tree.getNode().children],n=[];for(;t.length;){let r=t.shift();r?.element&&!e.has(r.element)&&r.element.checked&&(e.add(r.element),t.push(...r.children),r.element.children||n.push(r.element))}return n}getActiveItems(){return this._tree.getFocus().filter(e=>e!==null)}toggleCheckbox(){for(let e of this.getActiveItems())e.pickable!==!1&&!e.disabled&&this.updateCheckboxState(e,e.checked!==!0)}checkAll(e){let t=new Set,n=[...this._tree.getNode().children],r=!1;for(;n.length;){let i=n.shift();i?.element&&!t.has(i.element)&&i.element.checked!==e&&(r=!0,i.element.checked=e,n.push(...i.children),t.add(i.element),this._tree.rerender(i.element),this._onDidChangeCheckboxState.fire({item:i.element,checked:i.element.checked}))}r&&this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}};_p=fp([pp(3,V)],_p);var vp,yp=class e extends df{constructor(e){super(e),this.type=`quickTree`,this._value=U(`value`,``),this._ariaLabel=U(`ariaLabel`,void 0),this._placeholder=U(`placeholder`,void 0),this._matchOnDescription=U(`matchOnDescription`,!1),this._matchOnLabel=U(`matchOnLabel`,!0),this._sortByLabel=U(`sortByLabel`,!0),this._activeItems=U(`activeItems`,[]),this._itemTree=U(`itemTree`,[]),this._onDidChangeCheckedLeafItems=this._register(new P),this._onDidChangeCheckboxState=this._register(new P),this._onDidAcceptEmitter=this._register(new P),this.onDidAccept=C.any(e.onDidAccept,this._onDidAcceptEmitter.event),this._registerAutoruns(),this._register(e.tree.onDidChangeCheckedLeafItems(e=>this._onDidChangeCheckedLeafItems.fire(e))),this._register(e.tree.onDidChangeCheckboxState(e=>this._onDidChangeCheckboxState.fire(e.item))),this._register(e.tree.tree.onDidChangeFocus(t=>{this._activeItems.set(e.tree.getActiveItems(),void 0)}))}get placeholder(){return this._placeholder.get()}set placeholder(e){this._placeholder.set(e,void 0)}show(){if(!this.visible){let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,list:!1,tree:!0,message:!!this.validationMessage,customButton:!1};this.ui.setVisibilities(e),this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this._value.set(e,void 0)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckboxState(e=>{let t=cp([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==t&&(this.ui.checkAll.checked=t)})),this.visibleDisposables.add(this.ui.checkAll.onChange(e=>{let t=this.ui.checkAll.checked;this.ui.tree.checkAll(t)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckedLeafItems(e=>{this.ui.count.setCount(e.length)}))}super.show(),ts(()=>this.ui.count.setCount(this.ui.tree.getCheckedLeafItems().length));let e=cp([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==e&&(this.ui.checkAll.checked=e)}update(){if(!this.visible)return;let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,tree:!0,message:!!this.validationMessage};this.ui.setVisibilities(e),super.update()}_registerAutoruns(){this.registerVisibleAutorun(e=>{let t=this._value.read(e);this.ui.inputBox.value=t,this.ui.tree.filter(t)}),this.registerVisibleAutorun(t=>{let n=this._ariaLabel.read(t);n||(n=this.placeholder||e.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.inputBox.ariaLabel!==n&&(this.ui.inputBox.ariaLabel=n??`input`)}),this.registerVisibleAutorun(e=>{let t=this._placeholder.read(e);this.ui.inputBox.placeholder!==t&&(this.ui.inputBox.placeholder=t??``)}),this.registerVisibleAutorun(e=>{let t=this._matchOnLabel.read(e),n=this._matchOnDescription.read(e);this.ui.tree.updateFilterOptions({matchOnLabel:t,matchOnDescription:n})}),this.registerVisibleAutorun(e=>{let t=this._sortByLabel.read(e);this.ui.tree.sortByLabel=t}),this.registerVisibleAutorun(e=>{let t=this._itemTree.read(e);this.ui.tree.setTreeData(t)})}registerVisibleAutorun(e){this._register(b(t=>{this._visible.read(t)&&e(t)}))}focus(e){this.ui.tree.focus(e),this.ui.tree.tree.domFocus()}accept(e){this._onDidAcceptEmitter.fire()}};vp=yp,vp.DEFAULT_ARIA_LABEL=G(1870,`Type to narrow down results.`);var bp,xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sp=function(e,t){return function(n,r){t(n,r,e)}},Cp,wp=pa,Tp=`workbench.quickInput.viewState`,Ep=`quick-input-widget-closing`,Dp=`quick-input-widget-overlay`,Op=150,kp=[`modern-ui`,`monaco-enable-motion`],Ap=(bp=class extends F{get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,n,r,a,o){super(),this.options=e,this.layoutService=t,this.instantiationService=n,this.storageService=a,this.contextMenuService=o,this.enabled=!0,this.onDidAcceptEmitter=this._register(new P),this.onDidCustomEmitter=this._register(new P),this.onDidTriggerButtonEmitter=this._register(new P),this.keyMods={ctrlCmd:!1,alt:!1,shift:!1},this.controller=null,this.onShowEmitter=this._register(new P),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new P),this.onHide=this.onHideEmitter.event,this.closeAnimation=this._register(new i),this._alignment=U(this,`top`),this.alignment=this._alignment,this.inQuickInputContext=tf.bindTo(r),this.quickInputTypeContext=of.bindTo(r),this.endOfQuickInputBoxContext=cf.bindTo(r),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>this.registerKeyModsListeners(e,t),{window:tn,disposables:this._store})),this._register(gr(e=>{this.ui&&O(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})),this.viewState=this.loadViewState()}registerKeyModsListeners(e,t){let n=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey,this.keyMods.shift=e.shiftKey};for(let r of[z.KEY_DOWN,z.KEY_UP,z.MOUSE_DOWN])t.add(L(e,r,n,!0))}getUI(e){if(this.ui)return e&&O(this._container)!==O(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;let t=x(this._container,wp(`.quick-input-widget.show-file-icons`));t.tabIndex=-1,t.style.display=`none`;let n=Ca(t),r=x(t,wp(`.quick-input-titlebar`)),i=this._register(new ut(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));i.getElement().classList.add(`quick-input-left-action-bar`);let a=x(r,wp(`.quick-input-title`)),o=this._register(new ut(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));o.getElement().classList.add(`quick-input-right-action-bar`);let s=x(t,wp(`.quick-input-header`)),c=this._register(new uo(G(1860,`Toggle all checkboxes`),!1,{...ui,size:15}));x(s,c.domNode),this._register(c.onChange(()=>{let e=c.checked;se.setAllVisibleChecked(e===!0)})),this._register(L(c.domNode,z.CLICK,e=>{(e.x||e.y)&&f.setFocus()}));let l=x(s,wp(`.quick-input-description`)),u=x(s,wp(`.quick-input-and-message`)),d=x(u,wp(`.quick-input-filter`)),f=this._register(new wf(d,this.styles.inputBox,this.styles.toggle));f.setAttribute(`aria-describedby`,`${this.idPrefix}message`);let p=x(d,wp(`.quick-input-visible-count`));p.setAttribute(`aria-live`,`polite`),p.setAttribute(`aria-atomic`,`true`);let ee=this._register(new Kn(p,{countFormat:G(1861,`{0} Results`)},this.styles.countBadge)),m=x(d,wp(`.quick-input-count`));m.setAttribute(`aria-live`,`polite`);let h=this._register(new Kn(m,{countFormat:G(1862,`{0} Selected`)},this.styles.countBadge)),g=this._register(new ut(s,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));g.getElement().classList.add(`quick-input-inline-action-bar`);let _=x(s,wp(`.quick-input-action`)),v=this._register(new Le(_,this.styles.button));v.label=G(1863,`OK`),this._register(v.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));let te=x(s,wp(`.quick-input-action`)),y=this._register(new Le(te,{...this.styles.button,supportIcons:!0}));y.label=G(1864,`Custom`),this._register(y.onDidClick(e=>{this.onDidCustomEmitter.fire()}));let ne=x(u,wp(`#${this.idPrefix}message.quick-input-message`)),re=this._register(new Sf(t,this.styles.progressBar));re.getContainer().classList.add(`quick-input-progress`);let ie=x(t,wp(`.quick-input-html-widget`));ie.tabIndex=-1;let ae=x(t,wp(`.quick-input-description`)),oe=this.idPrefix+`list`,se=this._register(this.instantiationService.createInstance(Wf,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,oe,this.styles));f.setAttribute(`aria-controls`,oe),this._register(se.onDidChangeFocus(()=>{if(f.hasFocus()){let e=se.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(se.onChangedAllVisibleChecked(e=>{c.checked=e})),this._register(se.onChangedVisibleCount(e=>{ee.setCount(e)})),this._register(se.onChangedCheckedCount(e=>{ts(()=>h.setCount(e))})),this._register(se.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),this.controller instanceof ff&&this.controller.canSelectMany&&se.clearFocus())},0)}));let ce=this._register(this.instantiationService.createInstance(_p,t,this.options.hoverDelegate,this.styles));this._register(ce.tree.onDidChangeFocus(()=>{if(f.hasFocus()){let e=ce.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(ce.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),ce.tree.setFocus([]))},0)})),this._register(ce.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(ce.tree.onDidChangeContentHeight(()=>this.updateLayout()));let le=Ia(t);return this._register(le),this._register(L(t,z.FOCUS,e=>{let t=this.getUI();if(Gn(e.relatedTarget,t.inputContainer)){let e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}Gn(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=vt(e.relatedTarget)?e.relatedTarget:void 0)},!0)),this._register(le.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Wa.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(f.onKeyDown(e=>{let t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t),xe(e.keyCode)||(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))})),this._register(L(t,z.FOCUS,e=>{f.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(jp,this._container,t,[{node:r,includeChildren:!0,excludeNodes:[i.getElement(),o.getElement()]},{node:s,includeChildren:!1}],this.viewState)),this._register(b(e=>{let t=this.dndController?.dndViewState.read(e);t&&(this.viewState=t.top!==void 0&&t.left!==void 0?{...this.viewState,top:t.top,left:t.left}:void 0,this.updateLayout(),t.done&&this.saveViewState(this.viewState))})),this._register(b(e=>{this._alignment.set(this.dndController.alignment.read(e),void 0)})),this.ui={container:t,styleSheet:n,leftActionBar:i,titleBar:r,title:a,description1:ae,description2:l,widget:ie,rightActionBar:o,inlineActionBar:g,checkAll:c,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:ee,countContainer:m,count:h,okContainer:_,ok:v,message:ne,customButtonContainer:te,customButton:y,list:se,tree:ce,progressBar:re,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,x(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(e,t={},n=pe.None){return new Promise((r,i)=>{let a=e=>{a=r,t.onKeyMods?.(o.keyMods),r(e)};if(n.isCancellationRequested){a(void 0);return}let o=this.createQuickPick({useSeparators:!0}),s,c=[o,o.onDidAccept(()=>{if(o.canSelectMany)a(o.selectedItems.slice()),o.hide();else{let e=o.activeItems[0];e&&(a(e),o.hide())}}),o.onDidChangeActive(e=>{let n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)}),o.onDidChangeSelection(e=>{if(!o.canSelectMany){let t=e[0];t&&(a(t),o.hide())}}),o.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{let t=o.items.indexOf(e.item);if(t!==-1){let e=o.items.slice(),n=e.splice(t,1),r=o.activeItems.filter(e=>e!==n[0]),i=o.keepScrollPosition;o.keepScrollPosition=!0,o.items=e,r&&(o.activeItems=r),o.keepScrollPosition=i}}})),o.onDidTriggerSeparatorButton(e=>t.onDidTriggerSeparatorButton?.(e)),o.onDidChangeValue(e=>{s&&!e&&(o.activeItems.length!==1||o.activeItems[0]!==s)&&(o.activeItems=[s])}),n.onCancellationRequested(()=>{o.hide()}),o.onDidHide(()=>{go(c),a(void 0)})];o.title=t.title,t.value&&(o.value=t.value),o.canSelectMany=!!t.canPickMany,o.placeholder=t.placeHolder,o.prompt=t.prompt,o.ignoreFocusOut=!!t.ignoreFocusLost,o.matchOnDescription=!!t.matchOnDescription,o.matchOnDetail=!!t.matchOnDetail,t.sortByLabel!==void 0&&(o.sortByLabel=t.sortByLabel),o.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,o.quickNavigate=t.quickNavigate,o.hideInput=!!t.hideInput,o.contextKey=t.contextKey,o.anchor=t.anchor,o.anchorPosition=t.anchorPosition,o.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{s=t,o.busy=!1,o.items=e,o.canSelectMany&&(o.selectedItems=e.filter(e=>e.type!==`separator`&&e.picked)),s&&(o.activeItems=[s])}),o.show(),Promise.resolve(e).then(void 0,e=>{i(e),o.hide()})})}setValidationOnInput(e,t){t&&ke(t)?(e.severity=M.Error,e.validationMessage=t):t&&!ke(t)?(e.severity=t.severity,e.validationMessage=t.content):(e.severity=M.Ignore,e.validationMessage=void 0)}input(e={},t=pe.None){return new Promise(n=>{if(t.isCancellationRequested){n(void 0);return}let r=this.createInputBox(),i=e.validateInput||(()=>Promise.resolve(void 0)),a=C.debounce(r.onDidChangeValue,(e,t)=>t,100),o=e.value||``,s=Promise.resolve(i(o)),c=[r,a(e=>{e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{e===o&&this.setValidationOnInput(r,t)})}),r.onDidAccept(()=>{let e=r.value;e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{!t||!ke(t)&&t.severity!==M.Error?(n(e),r.hide()):e===o&&this.setValidationOnInput(r,t)})}),t.onCancellationRequested(()=>{r.hide()}),r.onDidHide(()=>{go(c),n(void 0)})];r.title=e.title,r.value=e.value||``,r.valueSelection=e.valueSelection,r.prompt=e.prompt,r.placeholder=e.placeHolder,r.password=!!e.password,r.ignoreFocusOut=!!e.ignoreFocusLost,r.show()})}createQuickPick(e={useSeparators:!1}){return new ff(this.getUI(!0))}createInputBox(){return new pf(this.getUI(!0))}show(e){this.completeCloseAnimation();let t=this.getUI(!0),n=this.controller;if(this.controller=e,n?.didHide(),vt(e.anchor)){let t=O(e.anchor);O(this._container)!==t&&this.reparentUI(this.layoutService.getContainer(t))}this.setEnabled(!0),t.leftActionBar.setActions([]),t.title.textContent=``,t.description1.textContent=``,t.description2.textContent=``,l(t.widget),t.rightActionBar.setActions([]),t.inlineActionBar.setActions([]),t.checkAll.checked=!1,t.inputBox.placeholder=``,t.inputBox.password=!1,t.inputBox.showDecoration(M.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),t.countContainer.style.right=`4px`,l(t.message),t.progressBar.stop(),t.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.tree.updateFilterOptions({matchOnDescription:!1,matchOnLabel:!0}),t.tree.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0,t.inputBox.actions=void 0,t.inputBox.setHeight(void 0);let r=this.options.backKeybindingLabel();uf.tooltip=r?G(1865,`Back ({0})`,r):G(1866,`Back`),this.overlayLayoutCorrection=void 0,t.container.classList.toggle(Dp,e.anchorPosition===`overlay`),t.container.style.display=``,this.updateLayout(),this.dndController?.setEnabled(!e.anchor),this.dndController?.layoutContainer(),e.anchor?this._alignment.set(`custom`,void 0):this._alignment.set(this.dndController?.alignment.get()??`top`,void 0),this.onShowEmitter.fire(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.controller}setVisibilities(e){let t=this.getUI();t.titleBar.style.display=e.title?``:`none`,t.title.style.display=e.title?``:`none`,t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?``:`none`,t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?``:`none`,t.checkAll.domNode.style.display=e.checkAll?``:`none`,t.inputContainer.style.display=e.inputBox?``:`none`,t.filterContainer.style.display=e.inputBox?``:`none`,t.visibleCountContainer.style.display=e.visibleCount?``:`none`,t.countContainer.style.display=e.count?``:`none`,t.okContainer.style.display=e.ok?``:`none`,t.customButtonContainer.style.display=e.customButton?``:`none`,t.message.style.display=e.message?``:`none`,t.progressBar.getContainer().style.display=e.progressBar?``:`none`,t.list.displayed=!!e.list,t.tree.displayed=!!e.tree,t.container.classList.toggle(`show-checkboxes`,!!e.checkBox),t.container.classList.toggle(`hidden-input`,!e.inputBox&&!e.description),this.overlayLayoutCorrection=void 0,this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;let t=this.getUI();for(let n=0;n<t.leftActionBar.getItemsLength();n++){let r=t.leftActionBar.getItemAction(n);r&&(r.enabled=e)}for(let n=0;n<t.rightActionBar.getItemsLength();n++){let r=t.rightActionBar.getItemAction(n);r&&(r.enabled=e)}e?t.checkAll.enable():t.checkAll.disable(),t.inputBox.enabled=e,t.ok.enabled=e,t.list.enabled=e}}hide(e){let t=this.controller;if(!t)return;t.willHide(e);let n=this.ui?.container,r=n&&!Xe(n);if(this.controller=null,this.onHideEmitter.fire(),n&&(!n.classList.contains(Dp)&&fn(n,kp)?(n.inert=!0,n.classList.add(Ep),this.closeAnimation.value=La(()=>this.completeCloseAnimation(),Op)):n.style.display=`none`),!r){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}completeCloseAnimation(){if(!this.closeAnimation.value)return;this.closeAnimation.clear();let e=this.ui?.container;e&&(e.inert=!1,e.classList.remove(Ep),e.style.display=`none`)}dispose(){this.completeCloseAnimation(),super.dispose()}toggle(){this.isVisible()&&(this.controller instanceof ff&&this.controller.canSelectMany?this.getUI().list.toggleCheckbox():this.controller instanceof yp&&this.getUI().tree.toggleCheckbox())}toggleHover(){this.isVisible()&&this.controller instanceof ff&&this.getUI().list.toggleHover()}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.overlayLayoutCorrection=void 0,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let e=this.ui.container.style,t=Math.min(this.dimension.width*.62,Cp.MAX_WIDTH);e.width=t+`px`;let n=this.dimension&&this.dimension.height*.4,r;if(this.controller?.anchor){let i=this.controller.anchor,a=vt(i)?O(i):ve(),o=this.layoutService.getContainer(a).getBoundingClientRect(),s=$a(i),c=1,l=.2,u=200;this.controller.anchorPosition===`overlay`?(r=s,this.ui.inputBox.setHeight(s.height),t=s.width,l=.4,s={...s,height:0},u=Math.min(400,o.bottom-s.top-48),c=0):t=380,n=this.dimension?Math.min(this.dimension.height*l,u):u;let d=Math.floor(n)+48,{top:f,left:p,right:ee,bottom:m,anchorAlignment:h,anchorPosition:g}=ki(o,{width:t,height:d},s,{anchorPosition:c});h===1?(e.right=`${ee}px`,e.left=`initial`):(e.left=`${p}px`,e.right=`initial`),g===1?(e.bottom=`${m}px`,e.top=`initial`):(e.top=`${f}px`,e.bottom=`initial`),e.width=`${t}px`,e.height=``}else e.top=`${this.viewState?.top===void 0?this.titleBarOffset:Math.round(this.dimension.height*this.viewState.top)}px`,e.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-t/2)}px`,e.right=``,e.bottom=``,e.height=``;r&&this.alignOverlayInput(r),this.ui.inputBox.layout(),this.ui.list.layout(n),this.ui.tree.layout(n)}}alignOverlayInput(e){let t=this.ui.container.style,n=this.overlayLayoutCorrection;if(!n||n.anchor.left!==e.left||n.anchor.top!==e.top||n.anchor.width!==e.width||n.anchor.height!==e.height){this.ui.inputBox.layout();let t=this.ui.filterContainer.getBoundingClientRect();n=this.overlayLayoutCorrection={anchor:e,left:e.left-t.left,right:t.right-(e.left+e.width),top:e.top-t.top,bottom:t.bottom-(e.top+e.height),width:e.width-t.width}}t.width=`${parseFloat(t.width)+n.width}px`,t.left===`initial`?t.right=`${parseFloat(t.right)+n.right}px`:t.left=`${parseFloat(t.left)+n.left}px`,t.top===`initial`?t.bottom=`${parseFloat(t.bottom)+n.bottom}px`:t.top=`${parseFloat(t.top)+n.top}px`}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,widgetBorder:r}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??``,this.ui.container.style.backgroundColor=t??``,this.ui.container.style.color=n??``,this.ui.container.style.border=r?`1px solid ${r}`:``,this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let i=[];this.styles.pickerGroup.pickerGroupBorder&&i.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(i.push(`.quick-input-list .monaco-keybinding > .monaco-keybinding-key {`),this.styles.keybindingLabel.keybindingLabelBackground&&i.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&i.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&i.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&i.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&i.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),i.push(`}`));let a=i.join(`
411
+ `}_shouldRestoreUndoStack(){let e=this._configurationService.getValue(`files.restoreUndoStack`);return typeof e!=`boolean`||e}getCreationOptions(e,t,n){let r=typeof e==`string`?e:e.languageId,i=this._modelCreationOptionsByLanguageAndResource[r+t];if(!i){let e=this._configurationService.getValue(`editor`,{overrideIdentifier:r,resource:t}),a=this._getEOL(t,r);i=wd._readModelOptions({editor:e,eol:a},n),this._modelCreationOptionsByLanguageAndResource[r+t]=i}return i}_updateModelOptions(e){let t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let n=Object.keys(this._models);for(let r=0,i=n.length;r<i;r++){let i=n[r],a=this._models[i],o=a.model.getLanguageId(),s=a.model.uri;if(e&&!e.affectsConfiguration(`editor`,{overrideIdentifier:o,resource:s})&&!e.affectsConfiguration(`files.eol`,{overrideIdentifier:o,resource:s}))continue;let c=t[o+s],l=this.getCreationOptions(o,s,a.model.isForSimpleWidget);wd._setModelOptionsForModel(a.model,l,c)}}static _setModelOptionsForModel(e,t,n){n&&n.defaultEOL!==t.defaultEOL&&e.getLineCount()===1&&e.setEOL(t.defaultEOL===1?0:1),!(n&&n.detectIndentation===t.detectIndentation&&n.insertSpaces===t.insertSpaces&&n.tabSize===t.tabSize&&n.indentSize===t.indentSize&&n.trimAutoWhitespace===t.trimAutoWhitespace&&ye(n.bracketPairColorizationOptions,t.bracketPairColorizationOptions))&&(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(Td(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){let t=this._disposedModels.get(Td(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(Td(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){let t=[];for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){let e=t.shift();this._removeDisposedModel(e.uri),e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,n,r){let i=this.getCreationOptions(t,n,r),a=this._instantiationService.createInstance(oa,e,t,i,n);if(n&&this._disposedModels.has(Td(n))){let e=this._removeDisposedModel(n),t=this._undoRedoService.getElements(n),r=this._getSHA1Computer(),i=r.canComputeSHA1(a)?r.computeSHA1(a)===e.sha1:!1;if(i||e.sharesUndoRedoStack){for(let e of t.past)Ti(e)&&e.matchesResource(n)&&e.setModel(a);for(let e of t.future)Ti(e)&&e.matchesResource(n)&&e.setModel(a);this._undoRedoService.setElementsValidFlag(n,!0,e=>Ti(e)&&e.matchesResource(n)),i&&(a._overwriteVersionId(e.versionId),a._overwriteAlternativeVersionId(e.alternativeVersionId),a._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else e.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}let o=Td(a.uri);if(this._models[o])throw Error(`ModelService: Cannot add model because it already exists!`);let s=new Ed(a,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=s,s}createModel(e,t,n,r=!1){let i;return i=t?this._createModelData(e,t,n,r):this._createModelData(e,Zi,n,r),this._onModelAdded.fire(i.model),i.model}getModels(){let e=[],t=Object.keys(this._models);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._models[r].model)}return e}getModel(e){let t=Td(e),n=this._models[t];return n?n.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===B.file||e.scheme===B.vscodeRemote||e.scheme===B.vscodeUserData||e.scheme===B.vscodeNotebookCell||e.scheme===`fake-fs`}_onWillDispose(e){let t=Td(e.uri),n=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString(),i=!1,a=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){let t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(let n of t.past)Ti(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri));for(let n of t.future)Ti(n)&&n.matchesResource(e.uri)&&(i=!0,a+=n.heapSize(e.uri),n.setModel(e.uri))}}let o=wd.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,s=this._getSHA1Computer();if(!i){if(!r){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}}else if(!r&&(a>o||!s.canComputeSHA1(e))){let e=n.model.getInitialUndoRedoSnapshot();e!==null&&this._undoRedoService.restoreSnapshot(e)}else this._ensureDisposedModelsHeapSize(o-a),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>Ti(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new Od(e.uri,n.model.getInitialUndoRedoSnapshot(),Date.now(),r,a,s.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));delete this._models[t],n.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){let n=t.oldLanguage,r=e.getLanguageId(),i=this.getCreationOptions(n,e.uri,e.isForSimpleWidget),a=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);wd._setModelOptionsForModel(e,a,i),this._onModelModeChanged.fire({model:e,oldLanguageId:n})}_getSHA1Computer(){return new Ad}},wd=bd,bd.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,bd);kd=wd=Sd([Cd(0,K),Cd(1,$n),Cd(2,Sn),Cd(3,V)],kd);var Ad=class e{canComputeSHA1(t){return t.getValueLength()<=e.MAX_MODEL_SIZE}computeSHA1(e){let t=new Pn,n=e.createSnapshot(),r;for(;r=n.read();)t.update(r);return t.digest()}};xd=Ad,xd.MAX_MODEL_SIZE=10485760;var jd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Md=function(e,t){return function(n,r){t(n,r,e)}},Nd=class{constructor(e){this._models=new Pd(e)}createModelReference(e){return this._acquire(e)}createSyntheticDocument(e,t){let n=W.from({scheme:B.inMemory,path:`/synthetic/${Gt()}`});return this._acquire(n,e,t)}async _acquire(e,t,n=null){let r=this._models.acquire(e.toString(),t,n);try{return await Promise.resolve(),{object:r.object.value,dispose:()=>r.dispose()}}catch(e){throw r.dispose(),e}}};Nd=jd([Md(0,Ho)],Nd);var Pd=class extends Po{constructor(e){super(),this._modelService=e}createReferencedObject(e,t,n=null){return new nr(()=>{let r=W.parse(e),i=t===void 0?this._modelService.getModel(r):this._modelService.createModel(t,n,r);if(!i)throw Error(`Model not found`);return new Fd(i,t!==void 0)})}destroyReferencedObject(e,t){t.rawValue?.dispose()}},Fd=class extends F{constructor(e,t){super(),this.textEditorModel=e,this._ownsModel=t,this._onWillDispose=this._register(new P)}dispose(){this.isDisposed()||(this._onWillDispose.fire(),super.dispose(),this._ownsModel&&this.textEditorModel.dispose())}isDisposed(){return this._store.isDisposed}},Id=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ld=function(e,t){return function(n,r){t(n,r,e)}},Rd=class extends F{constructor(e,t,n){super(),this.quickInputService=e,this.instantiationService=t,this.contextKeyService=n,this.registry=js.as(nt.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0,this._register(I(()=>{for(let e of this.mapProviderToDescriptor.values())Pi(e)&&e.dispose();this.visibleQuickAccess?.picker.dispose()}))}show(e=``,t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,n){let[r,i]=this.getOrInstantiateProvider(e,n?.enabledProviderPrefixes),a=this.visibleQuickAccess,o=a?.descriptor;if(a&&i&&o===i){e!==i.prefix&&!n?.preserveValue&&(a.picker.value=e),this.adjustValueSelection(a.picker,i,n);return}if(i&&!n?.preserveValue){let t;if(a&&o&&o!==i){let e=a.value.substr(o.prefix.length);e&&(t=`${i.prefix}${e}`)}if(!t){let e=r?.defaultFilterValue;e===no.LAST?t=this.lastAcceptedPickerValues.get(i):typeof e==`string`&&(t=`${i.prefix}${e}`)}typeof t==`string`&&(e=t)}let s=a?.picker?.valueSelection,c=a?.picker?.value,l=new A,u=l.add(this.quickInputService.createQuickPick({useSeparators:!0}));u.value=e,this.adjustValueSelection(u,i,n),u.placeholder=n?.placeholder??i?.placeholder,u.quickNavigate=n?.quickNavigateConfiguration,u.hideInput=!!u.quickNavigate&&!a,(typeof n?.itemActivation==`number`||n?.quickNavigateConfiguration)&&(u.itemActivation=n?.itemActivation??xo.SECOND),u.contextKey=i?.contextKey,u.filterValue=e=>e.substring(i?i.prefix.length:0);let d;t&&(d=new pr,l.add(C.once(u.onWillAccept)(e=>{e.veto(),u.hide()}))),l.add(this.registerPickerListeners(u,r,i,e,n));let f=l.add(new Vt);if(r&&l.add(r.provide(u,f.token,n?.providerOptions)),C.once(u.onDidHide)(()=>{u.selectedItems.length===0&&f.cancel(),l.dispose(),d?.complete(u.selectedItems.slice(0))}),u.show(),s&&c===e&&(u.valueSelection=s),t)return d?.p}adjustValueSelection(e,t,n){let r;r=n?.preserveValue?[e.value.length,e.value.length]:[t?.prefix.length??0,e.value.length],e.valueSelection=r}registerPickerListeners(e,t,n,r,i){let a=new A,o=this.visibleQuickAccess={picker:e,descriptor:n,value:r};return a.add(I(()=>{o===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),a.add(e.onDidChangeValue(e=>{let[n]=this.getOrInstantiateProvider(e,i?.enabledProviderPrefixes);n===t?o.value=e:this.show(e,{enabledProviderPrefixes:i?.enabledProviderPrefixes,preserveValue:!0,providerOptions:i?.providerOptions})})),n&&a.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(n,e.value)})),a}getOrInstantiateProvider(e,t){let n=this.registry.getQuickAccessProvider(e,this.contextKeyService);if(!n||t&&!t?.includes(n.prefix))return[void 0,void 0];let r=this.mapProviderToDescriptor.get(n);return r||(r=this.instantiationService.createInstance(n.ctor),this.mapProviderToDescriptor.set(n,r)),[r,n]}};Rd=Id([Ld(0,Na),Ld(1,V),Ld(2,T)],Rd);var zd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Bd=class{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e==`string`?e:e.label).join(``)}};zd([qn],Bd.prototype,`toString`,null);var Vd=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function Hd(e){let t=[],n=0,r;for(;r=Vd.exec(e);){r.index-n>0&&t.push(e.substring(n,r.index));let[,i,a,,o]=r;o?t.push({label:i,href:a,title:o}):t.push({label:i,href:a}),n=r.index+r[0].length}return n<e.length&&t.push(e.substring(n)),new Bd(t)}var Ud={},Wd=new ge(`quick-input-button-icon-`);function Gd(e){if(!e)return;let t,n=e.dark.toString();return Ud[n]?t=Ud[n]:(t=Wd.nextId(),eo(`.${t}, .hc-light .${t}`,`background-image: ${Xt(e.light||e.dark)}`),eo(`.vs-dark .${t}, .hc-black .${t}`,`background-image: ${Xt(e.dark)}`),Ud[n]=t),t}var Kd=class{constructor(e,t,n,r,i,a,o){this.id=e,this.label=t,this.tooltip=n,this.enabled=i,this._checked=a,this._run=o,this.class=r}get checked(){return this._checked}set checked(e){this._checked=e,this._run()}run(){return this._checked=!this._checked,this._run()}};function qd(e,t,n){let r=e.iconClass||Gd(e.iconPath);e.alwaysVisible&&(r=r?`${r} always-visible`:`always-visible`);let i=()=>(e.toggle&&(e.toggle.checked=!e.toggle.checked),n());return e.toggle?new Kd(t,e.tooltip||``,``,r,!0,e.toggle.checked,i):{id:t,label:``,tooltip:e.tooltip||``,class:r,enabled:!0,run:i}}function Jd(e,t,n){let r=[],i=[];return e.forEach((e,a)=>{let o=qd(e,`${t}-${a}`,async()=>n(e));e.label&&(o.label=e.label),e.secondary?i.push(o):r.push(o)}),{primary:r,secondary:i}}function Yd(e,t,n){l(t);let r=Hd(e),i=0;for(let e of r.nodes)if(typeof e==`string`)t.append(...On(e));else{let r=e.title;!r&&e.href.startsWith(`command:`)?r=G(1868,`Click to execute command '{0}'`,e.href.substring(8)):r||=e.href;let a=pa(`a`,{href:e.href,title:r,tabIndex:i++},e.label);a.style.textDecoration=`underline`;let o=t=>{er(t)&&mi.stop(t,!0),n.callback(e.href)},s=n.disposables.add(new Qe(a,z.CLICK)).event,c=n.disposables.add(new Qe(a,z.KEY_DOWN)).event,l=C.chain(c,e=>e.filter(e=>{let t=new Ja(e);return t.equals(10)||t.equals(3)}));n.disposables.add(Mn.addTarget(a));let u=n.disposables.add(new Qe(a,Ge.Tap)).event;C.any(s,u,l)(o,null,n.disposables),t.appendChild(a)}}var Xd,Zd,Qd=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$d=function(e,t){return function(n,r){t(n,r,e)}},ef=`inQuickInput`,tf=new Fn(ef,!1,G(1845,`Whether keyboard focus is inside the quick input control`)),nf=N.has(ef),rf=new Fn(`quickInputAlignment`,`top`,G(1846,`The alignment of the quick input`)),af=`quickInputType`,of=new Fn(af,void 0,G(1847,`The type of the currently visible quick input`)),sf=`cursorAtEndOfQuickInputBox`,cf=new Fn(sf,!1,G(1848,`Whether the cursor in the quick input is at the end of the input box`)),lf=N.has(sf),uf={iconClass:so.asClassName(Xa.quickInputBack),tooltip:G(1849,`Back`)},df=class e extends F{constructor(t){super(),this.ui=t,this._visible=U(`visible`,!1),this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this._inputButtons=[],this.buttonsUpdated=!1,this.noValidationMessage=e.noPromptMessage,this._severity=M.Ignore,this.onDidTriggerButtonEmitter=this._register(new P),this.onDidHideEmitter=this._register(new P),this.onWillHideEmitter=this._register(new P),this.onDisposeEmitter=this._register(new P),this.visibleDisposables=this._register(new A),this.onDidTriggerButton=this.onDidTriggerButtonEmitter.event,this.onDidHide=this.onDidHideEmitter.event}get visible(){return this._visible.get()}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){let t=this._ignoreFocusOut!==e&&!aa;this._ignoreFocusOut=e&&!aa,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons,...this._inputButtons]}set buttons(e){let t=[],n=[],r=[],i=[];for(let a of e)if(a===uf)t.push(a);else switch(a.location){case Or.Inline:r.push(a);break;case Or.Input:i.push(a);break;default:n.push(a)}this._leftButtons=t,this._rightButtons=n,this._inlineButtons=r,this._inputButtons=i,this.buttonsUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this._visible.set(!0,void 0),this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=Wa.Other){this._visible.set(!1,void 0),this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=Wa.Other){this.onWillHideEmitter.fire({reason:e})}update(){if(!this.visible)return;let e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==`&nbsp;`&&(this.ui.title.innerText=`\xA0`);let t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this.busy&&!this.busyDelay&&(this.busyDelay=new mo,this.busyDelay.setIfNotSet(()=>{this.visible&&(this.ui.progressBar.infinite(),this.ui.progressBar.getContainer().removeAttribute(`aria-hidden`))},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.ui.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1;let e=Jd(this._leftButtons,`left-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.leftActionBar.setActions(e.primary,e.secondary);let t=Jd(this._rightButtons,`right-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.rightActionBar.setActions(t.primary,t.secondary);let n=Jd(this._inlineButtons,`inline-button`,e=>this.onDidTriggerButtonEmitter.fire(e));this.ui.inlineActionBar.setActions(n.primary,n.secondary);let r=this._inputButtons.length*22;this.ui.countContainer.style.right=r>0?`${4+r}px`:`4px`,this.ui.inputBox.actions=this._inputButtons.map((e,t)=>qd(e,`id-${t}`,async()=>this.onDidTriggerButtonEmitter.fire(e)))}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);let n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,l(this.ui.message),n&&Yd(n,this.ui.message,{callback:e=>{this.ui.linkOpenerDelegate(e)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():``}getDescription(){return this.description||``}getSteps(){return this.step&&this.totalSteps?G(1851,`{0}/{1}`,this.step,this.totalSteps):this.step?String(this.step):``}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==M.Ignore){let t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?`${t.foreground}`:``,this.ui.message.style.backgroundColor=t.background?`${t.background}`:``,this.ui.message.style.border=t.border?`1px solid ${t.border}`:``,this.ui.message.style.marginBottom=`-2px`}else this.ui.message.style.color=``,this.ui.message.style.backgroundColor=``,this.ui.message.style.border=``,this.ui.message.style.marginBottom=``}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}};Xd=df,Xd.noPromptMessage=G(1850,`Press 'Enter' to confirm your input or 'Escape' to cancel`);var ff=class e extends df{constructor(e){super(e),this._value=``,this.onDidChangeValueEmitter=this._register(new P),this.onWillAcceptEmitter=this._register(new P),this.onDidAcceptEmitter=this._register(new P),this.onDidCustomEmitter=this._register(new P),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=xo.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new P),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new P),this.onDidTriggerItemButtonEmitter=this._register(new P),this.onDidTriggerSeparatorButtonEmitter=this._register(new P),this.valueSelectionUpdated=!0,this._ok=`default`,this._customButton=!1,this._customButtonSecondary=!1,this._focusEventBufferer=new gt,this.type=`quickPick`,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event,this.noValidationMessage=void 0}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get prompt(){return this.noValidationMessage}set prompt(e){this.noValidationMessage=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Ri:this.ui.keyMods}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get customButtonSecondary(){return this._customButtonSecondary}set customButtonSecondary(e){this._customButtonSecondary=e??!1,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get okLabel(){return this._okLabel??G(1853,`OK`)}set okLabel(e){this._okLabel=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(H.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Ni(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{this.canSelectMany&&!e.some(e=>e.pickable===!1)?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&Ni(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(lt(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&this.visible&&(this.selectedItemsToConfirm!==this._selectedItems&&Ni(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return L(this.ui.container,z.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;let t=new Ja(e),n=t.keyCode;this._quickNavigate.keybindings.some(e=>{let r=e.getChords();return r.length>1?!1:r[0].shiftKey&&n===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(r[0].altKey&&n===6||r[0].ctrlKey&&n===5||r[0].metaKey&&n===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let t=this.keepScrollPosition?this.scrollTop:0,n=!!this.description,r={title:!!this.title||!!this.step||!!this.titleButtons.length,description:n,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||n,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage||!!this.prompt,customButton:this.customButton};this.ui.setVisibilities(r),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``);let i=this.ariaLabel;!i&&r.inputBox&&(i=this.placeholder,this.title&&(i=i?`${i} - ${this.title}`:this.title),i||=e.DEFAULT_ARIA_LABEL),this.ui.list.ariaLabel!==i&&(this.ui.list.ariaLabel=i??null),this.ui.inputBox.ariaLabel!==i&&(this.ui.inputBox.ariaLabel=i??`input`),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case xo.NONE:this._itemActivation=xo.FIRST;break;case xo.SECOND:this.ui.list.focus(H.Second),this._itemActivation=xo.FIRST;break;case xo.LAST:this.ui.list.focus(H.Last),this._itemActivation=xo.FIRST;break;default:this.trySelectFirst()}})),this.ui.container.classList.contains(`show-checkboxes`)!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.ok.label=this.okLabel||``,this.ui.customButton.label=this.customLabel||``,this.ui.customButton.element.title=this.customHover||``,this.ui.customButton.secondary=this.customButtonSecondary||!1,r.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(H.First)),this.keepScrollPosition&&(this.scrollTop=t)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){(!e||this._canAcceptInBackground)&&(this.activeItems[0]&&!this._canSelectMany&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(e??!1))}};Zd=ff,Zd.DEFAULT_ARIA_LABEL=G(1852,`Type to narrow down results.`);var pf=class extends df{constructor(){super(...arguments),this._value=``,this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new P),this.onDidAcceptEmitter=this._register(new P),this.type=`inputBox`,this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||``,this.update()}get valueSelection(){let e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}get prompt(){return this._prompt}set prompt(e){this._prompt=e,this.noValidationMessage=e?G(1854,`{0} (Press 'Enter' to confirm or 'Escape' to cancel)`,e):df.noPromptMessage,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}accept(){this.onDidAcceptEmitter.fire()}update(){if(!this.visible)return;this.ui.container.classList.remove(`hidden-input`);let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||``)&&(this.ui.inputBox.placeholder=this.placeholder||``),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password);let t=this.ariaLabel;!t&&e.inputBox&&(t=this.placeholder?this.title?`${this.placeholder} - ${this.title}`:this.placeholder:this.title?this.title:`input`),this.ui.inputBox.ariaLabel!==t&&(this.ui.inputBox.ariaLabel=t||`input`)}},mf=class extends Fo{constructor(e,t){super(`mouse`,void 0,e=>this.getOverrideOptions(e),e,t)}getOverrideOptions(e){return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:(vt(e.content)?e.content.textContent??``:typeof e.content==`string`?e.content:e.content.value).includes(`
412
+ `),skipFadeInAnimation:!0}}}};mf=Qd([$d(0,K),$d(1,ei)],mf);var hf,gf=`done`,_f=`active`,vf=`infinite`,yf=`infinite-long-running`,bf=`discrete`,xf=G(16,`Progress`),Sf=class e extends F{constructor(t,n){super(),this.progressSignal=this._register(new i),this.workedVal=0,this.showDelayedScheduler=this._register(new Mo(()=>Mi(this.element),0)),this.longRunningScheduler=this._register(new Mo(()=>this.infiniteLongRunning(),e.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,n)}create(e,t){this.element=document.createElement(`div`),this.element.classList.add(`monaco-progress-container`),this.element.setAttribute(`role`,`progressbar`),this.element.setAttribute(`aria-valuemin`,`0`),this.element.setAttribute(`aria-label`,t?.ariaLabel&&t.ariaLabel.trim()?t.ariaLabel:xf),e.appendChild(this.element),this.bit=document.createElement(`div`),this.bit.classList.add(`progress-bit`),this.bit.style.backgroundColor=t?.progressBarBackground||`#0E70C0`,this.element.appendChild(this.bit)}off(){this.bit.style.width=`inherit`,this.bit.style.opacity=`1`,this.element.classList.remove(_f,vf,yf,bf),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(gf),this.element.classList.contains(vf)?(this.bit.style.opacity=`0`,e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width=`inherit`,e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width=`2%`,this.bit.style.opacity=`1`,this.element.classList.remove(bf,gf,yf),this.element.classList.add(_f,vf),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(yf)}getContainer(){return this.element}};hf=Sf,hf.LONG_RUNNING_INFINITE_THRESHOLD=1e4;var Cf=pa,wf=class extends F{constructor(e,t,n){super(),this.parent=e,this._listFocusMode=!1,this.onDidChange=e=>this.findInput.onDidChange(e),this.container=x(this.parent,Cf(`.quick-input-box`)),this.findInput=this._register(new Is(this.container,void 0,{label:``,inputBoxStyles:t,toggleStyles:n,actionViewItemProvider:ct(n),hideHoverOnValueChange:!0}))}get onKeyDown(){return this.findInput.onKeyDown}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute(`placeholder`)||``}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type===`password`}set password(e){this.findInput.inputBox.inputElement.type=e?`password`:`text`}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute(`readonly`,!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}set actions(e){this.setActions(e)}setActions(e,t){this.findInput.setActions(e,t)}get ariaLabel(){return this.findInput.inputBox.inputElement.getAttribute(`aria-label`)||``}set ariaLabel(e){this.findInput.inputBox.inputElement.setAttribute(`aria-label`,e)}hasFocus(){return this.findInput.inputBox.hasFocus()}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.findInput.inputBox.inputElement.removeAttribute(e)}setListFocusMode(e){if(this._listFocusMode===e)return;this._listFocusMode=e;let t=this.findInput.inputBox.inputElement;e?(t.setAttribute(`aria-haspopup`,`listbox`),t.setAttribute(`aria-autocomplete`,`list`)):(t.removeAttribute(`aria-haspopup`),t.removeAttribute(`aria-autocomplete`))}showDecoration(e){e===M.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===M.Info?1:e===M.Warning?2:3,content:``})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===M.Info?1:e===M.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}setHeight(e){this.findInput.inputBox.element.style.height=e===void 0?``:`${e}px`}},Tf=new nr(()=>{let e=ie.Collator(void 0,{numeric:!0,sensitivity:`base`}).value;return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});new nr(()=>({collator:ie.Collator(void 0,{numeric:!0}).value})),new nr(()=>({collator:ie.Collator(void 0,{numeric:!0,sensitivity:`accent`}).value}));function Ef(e,t,n=!1){let r=e||``,i=t||``,a=Tf.value.collator.compare(r,i);return Tf.value.collatorIsNumeric&&a===0&&r!==i?r<i?-1:1:a}function Df(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=Of(e,t,n);if(a)return a;let o=r.endsWith(n);if(o!==i.endsWith(n))return o?-1:1;let s=Ef(r,i);return s===0?r.localeCompare(i):s}function Of(e,t,n){let r=e.toLowerCase(),i=t.toLowerCase(),a=r.startsWith(n),o=i.startsWith(n);if(a!==o)return a?-1:1;if(a&&o){if(r.length<i.length)return-1;if(r.length>i.length)return 1}return 0}var kf,Af,jf=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Mf=function(e,t){return function(n,r){t(n,r,e)}},Nf,Pf,Ff=pa,If=class{constructor(e,t,n){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new nr(()=>{let e=n.label??``;return{saneLabel:e,saneSortLabel:Fe(e).text.trim(),saneAriaLabel:n.ariaLabel||[e,this.saneDescription,this.saneDetail].map(e=>Lt(e)).filter(e=>!!e).join(`, `)}}),this._saneDescription=n.description,this._saneTooltip=n.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}},Y=class extends If{constructor(e,t,n,r,i,a,o){super(e,n,a),this.childIndex=t,this.fireButtonTriggered=r,this._onChecked=i,this.item=a,this._separator=o,this._checked=!1,this.onChecked=n?C.map(C.filter(this._onChecked.event,e=>e.element===this),e=>e.checked):C.None,this._saneDetail=a.detail,this._labelHighlights=a.highlights?.label,this._descriptionHighlights=a.highlights?.description,this._detailHighlights=a.highlights?.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}},Lf;(function(e){e[e.NONE=0]=`NONE`,e[e.MOUSE_HOVER=1]=`MOUSE_HOVER`,e[e.ACTIVE_ITEM=2]=`ACTIVE_ITEM`})(Lf||={});var Rf=class extends If{constructor(e,t,n){super(e,!1,n),this.fireSeparatorButtonTriggered=t,this.separator=n,this.children=[],this.focusInsideSeparator=Lf.NONE}},zf=class{getHeight(e){return e instanceof Rf?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof Y?Hf.ID:Uf.ID}},Bf=class{getWidgetAriaLabel(){return G(1867,`Quick Input`)}getAriaLabel(e){return e.separator?.label?`${e.saneAriaLabel}, ${e.separator.label}`:e.saneAriaLabel}getWidgetRole(){return`listbox`}getRole(e){return e.hasCheckbox?`checkbox`:`option`}isChecked(e){if(e.hasCheckbox&&e instanceof Y)return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}},Vf=class extends F{constructor(e,t,n){super(),this.hoverDelegate=e,this.toggleStyles=t,this.contextMenuService=n,this._onDidDisposeFocusedElement=this._register(new P),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=Object.create(null);t.toDisposeElement=new A,t.toDisposeTemplate=new A,t.entry=x(e,Ff(`.quick-input-list-entry`));let n=x(t.entry,Ff(`label.quick-input-list-label`));t.outerLabel=n,t.checkbox=t.toDisposeTemplate.add(new i),t.toDisposeTemplate.add(yn(n,z.CLICK,e=>{if(t.checkbox.value&&!e.defaultPrevented&&t.checkbox.value.enabled){let e=!t.checkbox.value.checked;t.checkbox.value.checked=e,t.element.checked=e}}));let r=x(n,Ff(`.quick-input-list-rows`)),a=x(r,Ff(`.quick-input-list-row`)),o=x(r,Ff(`.quick-input-list-row`));t.label=new We(a,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=on(t.label.element,Ff(`.quick-input-list-icon`));let s=x(a,Ff(`.quick-input-list-entry-keybinding`));t.keybinding=new h(s,zr),t.toDisposeTemplate.add(t.keybinding);let c=x(o,Ff(`.quick-input-list-label-meta`));return t.detail=new We(c,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=x(t.entry,Ff(`.quick-input-list-separator`)),t.toolBar=new ut(t.entry,this.contextMenuService,{...this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0,actionViewItemProvider:ct(this.toggleStyles),icon:!0,label:!1}),t.toolBar.getElement().classList.add(`quick-input-list-entry-action-bar`),t.toDisposeTemplate.add(t.toolBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,n){Xe(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.toolBar.setActions([])}},Hf=(kf=class extends Vf{constructor(e,t,n,r){super(e,t,n),this.themeService=r,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return Nf.ID}ensureCheckbox(e,t){if(!e.hasCheckbox){t.checkbox.value?.domNode.remove(),t.checkbox.clear();return}let n=t.checkbox.value;n?n.setTitle(e.saneLabel):(n=new He(e.saneLabel,e.checked,{...ui,size:15}),t.checkbox.value=n,t.outerLabel.prepend(n.domNode),n.domNode.tabIndex=-1),e.checkboxDisabled?n.disable():n.enable(),n.checked=e.checked,t.toDisposeElement.add(e.onChecked(e=>n.checked=e)),t.toDisposeElement.add(n.onChange(()=>e.checked=n.checked))}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0;let i=r.item;r.element.classList.toggle(`not-pickable`,r.item.pickable===!1),typeof i.id==`string`?n.entry.setAttribute(`data-quick-input-id`,i.id):n.entry.removeAttribute(`data-quick-input-id`),this.ensureCheckbox(r,n);let{labelHighlights:a,descriptionHighlights:o,detailHighlights:s}=r;if(i.iconPath){let e=ro(this.themeService.getColorTheme().type)?i.iconPath.dark:i.iconPath.light??i.iconPath.dark,t=W.revive(e);n.icon.className=`quick-input-list-icon`,n.icon.style.backgroundImage=Xt(t)}else n.icon.style.backgroundImage=``,n.icon.className=i.iconClass?`quick-input-list-icon ${i.iconClass}`:``;n.icon.style.color=i.iconColor?Oo(i.iconColor.id):``;let c;!r.saneTooltip&&r.saneDescription&&(c={markdown:{value:Tt(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let l={matches:a||[],descriptionTitle:c,descriptionMatches:o||[],labelEscapeNewLines:!0};if(l.extraClasses=i.iconClasses,l.italic=i.italic,l.strikethrough=i.strikethrough,n.entry.classList.remove(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,l),n.keybinding.set(i.keybinding),r.saneDetail){let e;r.saneTooltip||(e={markdown:{value:Tt(r.saneDetail),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),n.detail.element.style.display=``,n.detail.setLabel(r.saneDetail,void 0,{matches:s,title:e,labelEscapeNewLines:!0})}else n.detail.element.style.display=`none`;r.separator?.label?(n.separator.textContent=r.separator.label,n.separator.style.display=``,this.addItemWithSeparator(r)):n.separator.style.display=`none`,n.entry.classList.toggle(`quick-input-list-separator-border`,!!r.separator&&r.childIndex!==0);let u=i.buttons;if(u&&u.length){let{primary:e,secondary:t}=Jd(u,`quick-input-item`,e=>r.fireButtonTriggered({button:e,item:r.item}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,n)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){let t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}},Nf=kf,kf.ID=`quickpickitem`,kf);Hf=Nf=jf([Mf(2,an),Mf(3,Ea)],Hf);var Uf=(Af=class extends Vf{constructor(e,t,n){super(e,t,n),this._visibleSeparatorsFrequency=new Map}get templateId(){return Pf.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,n){let r=e.element;n.element=r,r.element=n.entry??void 0,r.element.classList.toggle(`focus-inside`,!!r.focusInsideSeparator);let i=r.separator,{labelHighlights:a,descriptionHighlights:o}=r;n.icon.style.backgroundImage=``,n.icon.className=``;let s;!r.saneTooltip&&r.saneDescription&&(s={markdown:{value:Tt(r.saneDescription),supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});let c={matches:a||[],descriptionTitle:s,descriptionMatches:o||[],labelEscapeNewLines:!0};n.entry.classList.add(`quick-input-list-separator-as-item`),n.label.setLabel(r.saneLabel,r.saneDescription,c),n.separator.style.display=`none`,n.entry.classList.add(`quick-input-list-separator-border`);let l=i.buttons;if(l&&l.length){let{primary:e,secondary:t}=Jd(l,`quick-input-separator`,e=>r.fireSeparatorButtonTriggered({button:e,separator:r.separator}));n.toolBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.toolBar.setActions([]),n.entry.classList.remove(`has-actions`);this.addSeparator(r)}disposeElement(e,t,n){this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||e.element.element?.classList.remove(`focus-inside`),super.disposeElement(e,t,n)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){let t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}},Pf=Af,Af.ID=`quickpickseparator`,Af);Uf=Pf=jf([Mf(2,an)],Uf);var Wf=class extends F{constructor(e,t,n,r,i,a,o){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=n,this.styles=i,this.accessibilityService=o,this._onLeave=this._register(new P),this.onLeave=this._onLeave.event,this._visibleCountObservable=U(`VisibleCount`,0),this.onChangedVisibleCount=C.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=U(`AllVisibleChecked`,!1),this.onChangedAllVisibleChecked=C.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=U(`CheckedCount`,0),this.onChangedCheckedCount=C.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=_a({equalsFn:Ni},[]),this.onChangedCheckedElements=C.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=this._register(new P),this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=this._register(new P),this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=this._register(new P),this._elementCheckedEventBufferer=new gt,this._hasCheckboxes=!1,this._inputElements=[],this._elementTree=[],this._itemElements=[],this._elementDisposable=this._register(new A),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode=`fuzzy`,this._sortByLabel=!0,this._shouldLoop=!0,this._container=x(this.parent,Ff(`.quick-input-list`)),this._separatorRenderer=this._register(a.createInstance(Uf,t,this.styles.toggle)),this._itemRenderer=this._register(a.createInstance(Hf,t,this.styles.toggle)),this._tree=this._register(a.createInstance($t,`QuickInput`,this._container,new zf,[this._itemRenderer,this._separatorRenderer],{filter:{filter(e){return e.hidden?0:e instanceof Rf?2:1}},sorter:{compare:(e,t)=>!this.sortByLabel||!this._lastQueryString?0:qf(e,t,this._lastQueryString.toLowerCase())},accessibilityProvider:new Bf,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Ct.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._register(this._itemRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._register(this._separatorRenderer.onDidDisposeFocusedElement(()=>this._tree.domFocus())),this._registerListeners()}get onDidChangeFocus(){return C.map(this._tree.onDidChangeFocus,e=>e.elements.filter(e=>e instanceof Y).map(e=>e.item),this._store)}get onDidChangeSelection(){return C.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(e=>e instanceof Y).map(e=>e.item),event:e.browserEvent}),this._store)}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e??``}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?``:`none`}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnContainerClick(){this._register(L(this._container,z.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(L(this._container,z.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{let e=this._itemElements.filter(e=>!e.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){let e=this._register(new Oa(typeof this.hoverDelegate.delay==`function`?this.hoverDelegate.delay():this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{if(Ue(t.browserEvent.target))e.cancel();else if(Ue(t.browserEvent.relatedTarget)||!Gn(t.browserEvent.relatedTarget,t.element?.element))try{await e.trigger(async()=>{t.element instanceof Y&&this.showHover(t.element)})}catch(e){if(!mt(e))throw e}})),this._register(this._tree.onMouseOut(t=>{Gn(t.browserEvent.relatedTarget,t.element?.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{let t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(let e of this._separatorRenderer.visibleSeparators){let n=e===t;!!(e.focusInsideSeparator&Lf.ACTIVE_ITEM)!==n&&(n?e.focusInsideSeparator|=Lf.ACTIVE_ITEM:e.focusInsideSeparator&=~Lf.ACTIVE_ITEM,this._tree.rerender(e))}})),this._register(this._tree.onMouseOver(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&(e.focusInsideSeparator&Lf.MOUSE_HOVER||(e.focusInsideSeparator|=Lf.MOUSE_HOVER,this._tree.rerender(e)))})),this._register(this._tree.onMouseOut(e=>{let t=e.element?this._tree.getParentElement(e.element):null;for(let e of this._separatorRenderer.visibleSeparators)e===t&&e.focusInsideSeparator&Lf.MOUSE_HOVER&&(e.focusInsideSeparator&=~Lf.MOUSE_HOVER,this._tree.rerender(e))}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{let t=e.elements.filter(e=>e instanceof Y);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof Rf&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&t.item.pickable!==!1&&(t.checked=e)})})}setElements(e){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains(`show-checkboxes`);let t;this._itemElements=[],this._elementTree=e.reduce((n,r,i)=>{let a;if(r.type===`separator`){if(!r.buttons)return n;t=new Rf(i,e=>this._onSeparatorButtonTriggered.fire(e),r),a=t}else{let o=i>0?e[i-1]:void 0,s;o&&o.type===`separator`&&!o.buttons&&(s=o);let c=new Y(i,t?.children?t.children.length:i,this._hasCheckboxes&&r.pickable!==!1,e=>this._onButtonTriggered.fire(e),this._elementChecked,r,s);if(this._itemElements.push(c),t)return t.children.push(c),n;a=c}return n.push(a),n},[]),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&La(()=>{let e=this._tree.getHTMLElement().querySelector(`.monaco-list-row.focused`),t=e?.parentNode;if(e&&t){let n=e.nextSibling;e.remove(),t.insertBefore(e,n)}},0,this._elementDisposable)}setFocusedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e).filter(e=>!e.hidden);if(this._tree.setFocus(t),e.length>0){let e=this._tree.getFocus()[0];e&&this._tree.reveal(e)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}setSelectedElements(e){let t=e.map(e=>this._itemElements.find(t=>t.item===e)).filter(e=>!!e);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{let t=new Set;for(let n of e)t.add(n);for(let e of this._itemElements)e.checked=t.has(e.item)})}focus(e){if(this._itemElements.length)switch(e===H.Second&&this._itemElements.length<2&&(e=H.First),e){case H.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,e=>e.element instanceof Y);break;case H.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>t.element instanceof Y?e?!0:(e=!e,!1):!1);break}case H.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof Y);break;case H.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,e=>e.element instanceof Y&&(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,e=>{if(!(e.element instanceof Y))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.NextPage:this._tree.focusNextPage(void 0,e=>e.element instanceof Y&&(this._tree.reveal(e.element),!0));break;case H.PreviousPage:this._tree.focusPreviousPage(void 0,e=>{if(!(e.element instanceof Y))return!1;let t=this._tree.getParentElement(e.element);return t===null||t.children[0]!==e.element?this._tree.reveal(e.element):this._tree.reveal(t),!0});break;case H.NextSeparator:{let e=!1,t=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,t=>{if(e)return!0;if(t.element instanceof Rf)e=!0,this._separatorRenderer.isSeparatorVisible(t.element)?this._tree.reveal(t.element.children[0]):this._tree.reveal(t.element,0);else if(t.element instanceof Y){if(t.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(t.element)?this._tree.reveal(t.element):this._tree.reveal(t.element,0),!0;if(t.element===this._elementTree[0])return this._tree.reveal(t.element,0),!0}return!1}),t===this._tree.getFocus()[0]&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,e=>e.element instanceof Y));break}case H.PreviousSeparator:{let e,t=!!this._tree.getFocus()[0]?.separator;this._tree.focusPrevious(void 0,!0,void 0,n=>{if(n.element instanceof Rf)t?e||=(this._separatorRenderer.isSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),n.element.children[0]):t=!0;else if(n.element instanceof Y&&!e){if(n.element.separator)this._itemRenderer.isItemWithSeparatorVisible(n.element)?this._tree.reveal(n.element):this._tree.reveal(n.element,0),e=n.element;else if(n.element===this._elementTree[0])return this._tree.reveal(n.element,0),!0}return!1}),e&&this._tree.setFocus([e]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;let t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;let t=e.index&&this._inputElements[e.index-1];e.item&&(e.separator=t&&t.type===`separator`&&!t.buttons?t:void 0)});else{let n;this._itemElements.forEach(r=>{let i;i=this.matchOnLabelMode===`fuzzy`?this.matchOnLabel?Qt(e,Fe(r.saneLabel))??void 0:void 0:this.matchOnLabel?Gf(t,Fe(r.saneLabel))??void 0:void 0;let a=this.matchOnDescription?Qt(e,Fe(r.saneDescription||``))??void 0:void 0,o=this.matchOnDetail?Qt(e,Fe(r.saneDetail||``))??void 0:void 0;if(i||a||o?(r.labelHighlights=i,r.descriptionHighlights=a,r.detailHighlights=o,r.hidden=!1):(r.labelHighlights=void 0,r.descriptionHighlights=void 0,r.detailHighlights=void 0,r.hidden=!r.item||!r.item.alwaysShow),r.item?r.separator=void 0:r.separator&&(r.hidden=!0),!this.sortByLabel){let e=r.index&&this._inputElements[r.index-1]||void 0;e?.type===`separator`&&!e.buttons&&(n=e),n&&!r.hidden&&(r.separator=n,n=void 0)}})}return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{let e=this._tree.getFocus().filter(e=>e instanceof Y),t=this._allVisibleChecked(e);for(let n of e)n.checkboxDisabled||(n.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){let e=this._tree.getFocus()[0];if(!e?.saneTooltip||!(e instanceof Y))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);let t=new A;t.add(this._tree.onDidChangeFocus(e=>{e.elements[0]instanceof Y&&this.showHover(e.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){let t=[];for(let n of e)n instanceof Rf?t.push({element:n,collapsible:!1,collapsed:!1,children:n.children.map(e=>({element:e,collapsible:!1,collapsed:!1}))}):t.push({element:n,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.hidden&&r.item.pickable!==!1){if(r.checked)t=!0;else return!1}}return t}_updateCheckedObservables(){pn(e=>{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);let t=this._itemElements.filter(e=>e.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){this._lastHover&&!this._lastHover.isDisposed&&(this.hoverDelegate.onDidHideHover?.(),this._lastHover?.dispose()),e.element&&e.saneTooltip&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:e=>{this.linkOpenerDelegate(e)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};jf([qn],Wf.prototype,`onDidChangeFocus`,null),jf([qn],Wf.prototype,`onDidChangeSelection`,null),Wf=jf([Mf(5,V),Mf(6,os)],Wf);function Gf(e,t){let{text:n,iconOffsets:r}=t;if(!r||r.length===0)return Kf(e,n);let i=Yn(n,` `),a=n.length-i.length,o=Kf(e,i);if(o)for(let e of o){let t=r[e.start+a]+a;e.start+=t,e.end+=t}return o}function Kf(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function qf(e,t,n){let r=e.labelHighlights||[],i=t.labelHighlights||[];return r.length&&!i.length?-1:!r.length&&i.length?1:r.length===0&&i.length===0?0:Df(e.saneSortLabel,t.saneSortLabel,n)}function Jf(e,t={}){sn.registerCommandAndKeybindingRule({weight:200,when:nf,metadata:{description:G(1855,`Used while in the context of any kind of quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:Xf(e.primary,e.secondary??[],t)})}function X(e,t={}){sn.registerCommandAndKeybindingRule({weight:200,when:N.and(N.or(N.equals(af,`quickPick`),N.equals(af,`quickTree`)),nf),metadata:{description:G(1856,`Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},...e,secondary:Xf(e.primary,e.secondary??[],t)})}var Yf=li?256:2048;function Xf(e,t,n={}){return n.withAltMod&&t.push(512+e),n.withCtrlMod&&(t.push(Yf+e),n.withAltMod&&t.push(512+Yf+e)),n.withShiftMod&&(t.push(1024+e),n.withAltMod&&t.push(1536+e),n.withCtrlMod&&(t.push(Yf+1024+e),n.withAltMod&&t.push(512+Yf+1024+e))),n.withCmdMod&&li&&(t.push(2048+e),n.withCtrlMod&&t.push(2304+e),n.withAltMod&&(t.push(2560+e),n.withCtrlMod&&t.push(2816+e))),t}function Zf(e,t){return n=>{let r=n.get(Na).currentQuickInput;if(r)return t&&r.quickNavigate?r.focus(t):r.focus(e)}}X({id:`quickInput.pageNext`,primary:12,handler:Zf(H.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.pagePrevious`,primary:11,handler:Zf(H.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.first`,primary:Yf+14,handler:Zf(H.First)},{withAltMod:!0,withCmdMod:!0}),X({id:`quickInput.last`,primary:Yf+13,handler:Zf(H.Last)},{withAltMod:!0,withCmdMod:!0}),X({id:`quickInput.next`,primary:18,handler:Zf(H.Next)},{withCtrlMod:!0}),X({id:`quickInput.previous`,primary:16,handler:Zf(H.Previous)},{withCtrlMod:!0});var Qf=G(1857,`If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator.`),$f=G(1858,`If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.`);li?(X({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:2066,handler:Zf(H.NextSeparator,H.Next),metadata:{description:Qf}}),X({id:`quickInput.nextSeparator`,primary:2578,secondary:[2322],handler:Zf(H.NextSeparator)},{withCtrlMod:!0}),X({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:2064,handler:Zf(H.PreviousSeparator,H.Previous),metadata:{description:$f}}),X({id:`quickInput.previousSeparator`,primary:2576,secondary:[2320],handler:Zf(H.PreviousSeparator)},{withCtrlMod:!0})):(X({id:`quickInput.nextSeparatorWithQuickAccessFallback`,primary:530,handler:Zf(H.NextSeparator,H.Next),metadata:{description:Qf}}),X({id:`quickInput.nextSeparator`,primary:2578,handler:Zf(H.NextSeparator)}),X({id:`quickInput.previousSeparatorWithQuickAccessFallback`,primary:528,handler:Zf(H.PreviousSeparator,H.Previous),metadata:{description:$f}}),X({id:`quickInput.previousSeparator`,primary:2576,handler:Zf(H.PreviousSeparator)})),sn.registerCommandAndKeybindingRule({id:`quickInput.accept`,primary:3,weight:200,when:N.and(N.notEquals(af,`quickWidget`),nf),metadata:{description:G(1859,`Used while in the context of some quick input. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.`)},handler:e=>{e.get(Na).currentQuickInput?.accept()},secondary:Xf(3,[],{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0,withShiftMod:!0})}),X({id:`quickInput.acceptInBackground`,when:N.and(nf,N.equals(af,`quickPick`),N.or(Me.negate(),lf)),primary:17,weight:250,handler:e=>{e.get(Na).currentQuickInput?.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),Jf({id:`quickInput.hide`,primary:9,handler:e=>{e.get(Na).currentQuickInput?.hide()}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0}),X({id:`quickInput.toggleCheckbox`,when:N.and(nf,N.or(N.equals(af,`quickPick`),N.equals(af,`quickTree`)),Me.negate()),primary:10,handler:e=>{e.get(Na).toggle()}}),X({id:`quickInput.toggleHover`,primary:Yf|10,handler:e=>{e.get(Na).toggleHover()}});var ep,tp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},np=function(e,t){return function(n,r){t(n,r,e)}},rp,ip=pa,ap=class extends F{constructor(){super(...arguments),this._onDidChangeCheckboxState=this._register(new P),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event}setCheckboxState(e,t){this._onDidChangeCheckboxState.fire({item:e,checked:t})}},op=(ep=class extends F{constructor(e,t,n,r,i,a,o){super(),this._hoverDelegate=e,this._buttonTriggeredEmitter=t,this.onCheckedEvent=n,this._checkboxStateHandler=r,this._toggleStyles=i,this._contextMenuService=a,this._themeService=o,this.templateId=rp.ID,this._onDidDisposeFocusedElement=this._register(new P),this.onDidDisposeFocusedElement=this._onDidDisposeFocusedElement.event}renderTemplate(e){let t=new A,n=x(e,ip(`.quick-input-tree-entry`)),r=t.add(new uo(``,!1,{...ui,size:15}));n.appendChild(r.domNode);let i=x(n,ip(`label.quick-input-tree-label`)),a=x(i,ip(`.quick-input-tree-rows`)),o=x(a,ip(`.quick-input-tree-row`)),s=on(o,ip(`.quick-input-tree-icon`)),c=t.add(new We(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this._hoverDelegate})),l=t.add(new ut(n,this._contextMenuService,{actionViewItemProvider:ct(this._toggleStyles),hoverDelegate:this._hoverDelegate,icon:!0,label:!1}));return l.getElement().classList.add(`quick-input-tree-entry-action-bar`),{toDisposeTemplate:t,entry:n,checkbox:r,icon:s,label:c,actionBar:l,toDisposeElement:new A}}renderElement(e,t,n,r){let i=n.toDisposeElement,a=e.element;if(a.pickable===!1)n.checkbox.domNode.style.display=`none`;else{let e=n.checkbox;e.domNode.style.display=``,e.checked=a.checked??!1,i.add(C.filter(this.onCheckedEvent,e=>e.item===a)(t=>e.checked=t.checked)),a.disabled&&e.disable(),i.add(e.onChange(t=>this._checkboxStateHandler.setCheckboxState(a,e.checked)))}if(a.iconPath){let e=ro(this._themeService.getColorTheme().type)?a.iconPath.dark:a.iconPath.light??a.iconPath.dark,t=W.revive(e);n.icon.className=`quick-input-tree-icon`,n.icon.style.backgroundImage=Xt(t)}else n.icon.style.backgroundImage=``,n.icon.className=a.iconClass?`quick-input-tree-icon ${a.iconClass}`:``;n.icon.style.color=a.iconColor?Oo(a.iconColor.id):``;let{labelHighlights:o,descriptionHighlights:s}=e.filterData||{},c;a.description&&(c={markdown:{value:Tt(a.description),supportThemeIcons:!0},markdownNotSupportedFallback:a.description}),n.label.setLabel(a.label,a.description,{matches:o,descriptionMatches:s,extraClasses:a.iconClasses,italic:a.italic,strikethrough:a.strikethrough,labelEscapeNewLines:!0,descriptionTitle:c});let l=a.buttons;if(l&&l.length){let{primary:e,secondary:t}=Jd(l,`quick-input-tree`,e=>this._buttonTriggeredEmitter.fire({item:a,button:e}));n.actionBar.setActions(e,t),n.entry.classList.add(`has-actions`)}else n.actionBar.setActions([]),n.entry.classList.remove(`has-actions`)}disposeElement(e,t,n,r){Xe(n.entry)&&this._onDidDisposeFocusedElement.fire(),n.toDisposeElement.clear(),n.actionBar.setActions([])}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}},rp=ep,ep.ID=`quickInputTreeElement`,ep);op=rp=tp([np(5,an),np(6,Ea)],op);var sp=class{getHeight(e){return 22}getTemplateId(e){return op.ID}};function cp(e){let t=!1,n=!1,r=!1;for(let i of e){switch(i.element?.checked){case`mixed`:r=!0;break;case!0:t=!0;break;default:n=!0}if(t&&n&&r)break}return n?r||t?`mixed`:!1:r?`mixed`:t}var lp=class{constructor(e){this.onCheckedEvent=e}getWidgetAriaLabel(){return G(1869,`Quick Tree`)}getAriaLabel(e){return e.ariaLabel||[e.label,e.description].map(e=>Lt(e)).filter(e=>!!e).join(`, `)}getWidgetRole(){return`tree`}getRole(e){return`checkbox`}isChecked(e){return{get value(){return e.checked===`mixed`?`mixed`:!!e.checked},onDidChange:t=>C.filter(this.onCheckedEvent,t=>t.item===e)(e=>t())}}},up=class{constructor(){this.filterValue=``,this.matchOnLabel=!0,this.matchOnDescription=!1}filter(e,t){if(!this.filterValue||!(this.matchOnLabel||this.matchOnDescription))return e.children?{visibility:2,data:{}}:{visibility:1,data:{}};let n=this.matchOnLabel?Qt(this.filterValue,Fe(e.label))??void 0:void 0,r=this.matchOnDescription?Qt(this.filterValue,Fe(e.description||``))??void 0:void 0;return{visibility:t===1||n||r?1:e.children?2:0,data:{labelHighlights:n,descriptionHighlights:r}}}},dp=class extends F{constructor(){super(...arguments),this._sortByLabel=!0}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}compare(e,t){if(!this._sortByLabel)return 0;if(e.label<t.label)return-1;if(e.label>t.label)return 1;if(e.description&&t.description){if(e.description<t.description)return-1;if(e.description>t.description)return 1}else if(e.description)return-1;else if(t.description)return 1;return 0}},fp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},pp=function(e,t){return function(n,r){t(n,r,e)}},mp=pa,hp=`quick-input-tree-flat`,gp=class{constructor(){this._elementIds=new WeakMap,this._counter=0}getId(e){let t=e.id;return t!==void 0||(t=this._elementIds.get(e),t!==void 0)||(t=`__generated_${this._counter++}`,this._elementIds.set(e,t)),t}},_p=class extends F{constructor(e,t,n,r){super(),this.instantiationService=r,this._onDidTriggerButton=this._register(new P),this._onDidChangeCheckboxState=this._register(new P),this.onDidChangeCheckboxState=this._onDidChangeCheckboxState.event,this._onDidCheckedLeafItemsChange=this._register(new P),this.onDidChangeCheckedLeafItems=this._onDidCheckedLeafItemsChange.event,this._onLeave=this._register(new P),this.onLeave=this._onLeave.event,this._onDidAccept=this._register(new P),this.onDidAccept=this._onDidAccept.event,this._container=x(e,mp(`.quick-input-tree`)),this._checkboxStateHandler=this._register(new ap),this._renderer=this._register(this.instantiationService.createInstance(op,t,this._onDidTriggerButton,this.onDidChangeCheckboxState,this._checkboxStateHandler,n.toggle)),this._filter=this.instantiationService.createInstance(up),this._sorter=this._register(new dp),this._tree=this._register(this.instantiationService.createInstance($t,`QuickInputTree`,this._container,new sp,[this._renderer],{accessibilityProvider:new lp(this.onDidChangeCheckboxState),horizontalScrolling:!1,multipleSelectionSupport:!1,findWidgetEnabled:!1,alwaysConsumeMouseWheel:!0,hideTwistiesOfChildlessElements:!0,renderIndentGuides:Ct.None,expandOnDoubleClick:!0,expandOnlyOnTwistieClick:!0,disableExpandOnSpacebar:!0,sorter:this._sorter,filter:this._filter,identityProvider:new gp})),this._register(this._renderer.onDidDisposeFocusedElement(()=>{this._tree.domFocus()})),this.registerCheckboxStateListeners(),this.registerOnDidChangeFocus()}get tree(){return this._tree}get displayed(){return this._container.style.display!==`none`}set displayed(e){this._container.style.display=e?``:`none`}get sortByLabel(){return this._sorter.sortByLabel}set sortByLabel(e){this._sorter.sortByLabel=e,this._tree.resort(null,!0)}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute(`aria-activedescendant`)}filter(e){this._filter.filterValue=e,this._tree.refilter()}updateFilterOptions(e){e.matchOnLabel!==void 0&&(this._filter.matchOnLabel=e.matchOnLabel),e.matchOnDescription!==void 0&&(this._filter.matchOnDescription=e.matchOnDescription),this._tree.refilter()}setTreeData(e){let t=!1,n=e=>{let r;return e.children&&e.children.length>0&&(t=!0,r=e.children.map(e=>n(e)),e.checked=cp(r)),{element:e,children:r,collapsible:!!r,collapsed:e.collapsed?dn.PreserveOrCollapsed:dn.PreserveOrExpanded}},r=e.map(e=>n(e));this._tree.setChildren(null,r),this._container.classList.toggle(hp,!t)}layout(e){this._tree.getHTMLElement().style.maxHeight=e?`${Math.floor(e/44)*44+6}px`:``,this._tree.layout()}focus(e){switch(e){case H.First:this._tree.scrollTop=0,this._tree.focusFirst();break;case H.Second:{this._tree.scrollTop=0;let e=!1;this._tree.focusFirst(void 0,t=>e?!0:(e=!e,!1));break}case H.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast();break;case H.Next:{let e=this._tree.getFocus();this._tree.focusNext(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.Previous:{let e=this._tree.getFocus();this._tree.focusPrevious(void 0,!1,void 0,e=>(this._tree.reveal(e.element),!0));let t=this._tree.getFocus();e.length&&e[0]===t[0]&&this._onLeave.fire();break}case H.NextPage:this._tree.focusNextPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case H.PreviousPage:this._tree.focusPreviousPage(void 0,e=>(this._tree.reveal(e.element),!0));break;case H.NextSeparator:case H.PreviousSeparator:return}}registerCheckboxStateListeners(){this._register(this._tree.onDidOpen(e=>{let t=e.element;if(!t||t.disabled)return;if(t.pickable===!1){this._tree.setFocus([t]),this._onDidAccept.fire();return}let n=e.browserEvent?.target;n&&n.classList.contains(He.CLASS_NAME)||this.updateCheckboxState(t,t.checked===!0)})),this._register(this._checkboxStateHandler.onDidChangeCheckboxState(e=>{this.updateCheckboxState(e.item,e.checked===!0,!0),this._tree.setFocus([e.item]),this._tree.setSelection([e.item])}))}updateCheckboxState(e,t,n=!1){if((e.checked??!1)===t)return;e.checked=t,n||this._tree.rerender(e);let r=new Set,i=[...this._tree.getNode(e).children];for(;i.length;){let t=i.shift();t?.element&&!r.has(t.element)&&(r.add(t.element),(t.element.checked??!1)!==e.checked&&(t.element.checked=e.checked,this._tree.rerender(t.element)),i.push(...t.children))}let a=this._tree.getParentElement(e);for(;a;){let e=cp([...this._tree.getNode(a).children]);(a.checked??!1)!==e&&(a.checked=e,this._tree.rerender(a)),a=this._tree.getParentElement(a)}this._onDidChangeCheckboxState.fire({item:e,checked:e.checked??!1}),this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}registerOnDidChangeFocus(){this._register(this._tree.onDidChangeFocus(e=>{let t=this._tree.getFocus().findLast(e=>e!==null);this._tree.setSelection(t?[t]:[],e.browserEvent)}))}getCheckedLeafItems(){let e=new Set,t=[...this._tree.getNode().children],n=[];for(;t.length;){let r=t.shift();r?.element&&!e.has(r.element)&&r.element.checked&&(e.add(r.element),t.push(...r.children),r.element.children||n.push(r.element))}return n}getActiveItems(){return this._tree.getFocus().filter(e=>e!==null)}toggleCheckbox(){for(let e of this.getActiveItems())e.pickable!==!1&&!e.disabled&&this.updateCheckboxState(e,e.checked!==!0)}checkAll(e){let t=new Set,n=[...this._tree.getNode().children],r=!1;for(;n.length;){let i=n.shift();i?.element&&!t.has(i.element)&&i.element.checked!==e&&(r=!0,i.element.checked=e,n.push(...i.children),t.add(i.element),this._tree.rerender(i.element),this._onDidChangeCheckboxState.fire({item:i.element,checked:i.element.checked}))}r&&this._onDidCheckedLeafItemsChange.fire(this.getCheckedLeafItems())}};_p=fp([pp(3,V)],_p);var vp,yp=class e extends df{constructor(e){super(e),this.type=`quickTree`,this._value=U(`value`,``),this._ariaLabel=U(`ariaLabel`,void 0),this._placeholder=U(`placeholder`,void 0),this._matchOnDescription=U(`matchOnDescription`,!1),this._matchOnLabel=U(`matchOnLabel`,!0),this._sortByLabel=U(`sortByLabel`,!0),this._activeItems=U(`activeItems`,[]),this._itemTree=U(`itemTree`,[]),this._onDidChangeCheckedLeafItems=this._register(new P),this._onDidChangeCheckboxState=this._register(new P),this._onDidAcceptEmitter=this._register(new P),this.onDidAccept=C.any(e.onDidAccept,this._onDidAcceptEmitter.event),this._registerAutoruns(),this._register(e.tree.onDidChangeCheckedLeafItems(e=>this._onDidChangeCheckedLeafItems.fire(e))),this._register(e.tree.onDidChangeCheckboxState(e=>this._onDidChangeCheckboxState.fire(e.item))),this._register(e.tree.tree.onDidChangeFocus(t=>{this._activeItems.set(e.tree.getActiveItems(),void 0)}))}get placeholder(){return this._placeholder.get()}set placeholder(e){this._placeholder.set(e,void 0)}show(){if(!this.visible){let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,list:!1,tree:!0,message:!!this.validationMessage,customButton:!1};this.ui.setVisibilities(e),this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this._value.set(e,void 0)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckboxState(e=>{let t=cp([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==t&&(this.ui.checkAll.checked=t)})),this.visibleDisposables.add(this.ui.checkAll.onChange(e=>{let t=this.ui.checkAll.checked;this.ui.tree.checkAll(t)})),this.visibleDisposables.add(this.ui.tree.onDidChangeCheckedLeafItems(e=>{this.ui.count.setCount(e.length)}))}super.show(),ts(()=>this.ui.count.setCount(this.ui.tree.getCheckedLeafItems().length));let e=cp([...this.ui.tree.tree.getNode().children]);this.ui.checkAll.checked!==e&&(this.ui.checkAll.checked=e)}update(){if(!this.visible)return;let e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description,checkAll:!0,checkBox:!0,inputBox:!0,progressBar:!0,visibleCount:!0,count:!0,ok:!0,tree:!0,message:!!this.validationMessage};this.ui.setVisibilities(e),super.update()}_registerAutoruns(){this.registerVisibleAutorun(e=>{let t=this._value.read(e);this.ui.inputBox.value=t,this.ui.tree.filter(t)}),this.registerVisibleAutorun(t=>{let n=this._ariaLabel.read(t);n||(n=this.placeholder||e.DEFAULT_ARIA_LABEL,this.title&&(n+=` - ${this.title}`)),this.ui.list.ariaLabel!==n&&(this.ui.list.ariaLabel=n??null),this.ui.inputBox.ariaLabel!==n&&(this.ui.inputBox.ariaLabel=n??`input`)}),this.registerVisibleAutorun(e=>{let t=this._placeholder.read(e);this.ui.inputBox.placeholder!==t&&(this.ui.inputBox.placeholder=t??``)}),this.registerVisibleAutorun(e=>{let t=this._matchOnLabel.read(e),n=this._matchOnDescription.read(e);this.ui.tree.updateFilterOptions({matchOnLabel:t,matchOnDescription:n})}),this.registerVisibleAutorun(e=>{let t=this._sortByLabel.read(e);this.ui.tree.sortByLabel=t}),this.registerVisibleAutorun(e=>{let t=this._itemTree.read(e);this.ui.tree.setTreeData(t)})}registerVisibleAutorun(e){this._register(b(t=>{this._visible.read(t)&&e(t)}))}focus(e){this.ui.tree.focus(e),this.ui.tree.tree.domFocus()}accept(e){this._onDidAcceptEmitter.fire()}};vp=yp,vp.DEFAULT_ARIA_LABEL=G(1870,`Type to narrow down results.`);var bp,xp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sp=function(e,t){return function(n,r){t(n,r,e)}},Cp,wp=pa,Tp=`workbench.quickInput.viewState`,Ep=`quick-input-widget-closing`,Dp=`quick-input-widget-overlay`,Op=150,kp=[`modern-ui`,`monaco-enable-motion`],Ap=(bp=class extends F{get currentQuickInput(){return this.controller??void 0}get container(){return this._container}constructor(e,t,n,r,a,o){super(),this.options=e,this.layoutService=t,this.instantiationService=n,this.storageService=a,this.contextMenuService=o,this.enabled=!0,this.onDidAcceptEmitter=this._register(new P),this.onDidCustomEmitter=this._register(new P),this.onDidTriggerButtonEmitter=this._register(new P),this.keyMods={ctrlCmd:!1,alt:!1,shift:!1},this.controller=null,this.onShowEmitter=this._register(new P),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new P),this.onHide=this.onHideEmitter.event,this.closeAnimation=this._register(new i),this._alignment=U(this,`top`),this.alignment=this._alignment,this.inQuickInputContext=tf.bindTo(r),this.quickInputTypeContext=of.bindTo(r),this.endOfQuickInputBoxContext=cf.bindTo(r),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(C.runAndSubscribe(ar,({window:e,disposables:t})=>this.registerKeyModsListeners(e,t),{window:tn,disposables:this._store})),this._register(gr(e=>{this.ui&&O(this.ui.container)===e&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))})),this.viewState=this.loadViewState()}registerKeyModsListeners(e,t){let n=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey,this.keyMods.shift=e.shiftKey};for(let r of[z.KEY_DOWN,z.KEY_UP,z.MOUSE_DOWN])t.add(L(e,r,n,!0))}getUI(e){if(this.ui)return e&&O(this._container)!==O(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;let t=x(this._container,wp(`.quick-input-widget.show-file-icons`));t.tabIndex=-1,t.style.display=`none`;let n=Ca(t),r=x(t,wp(`.quick-input-titlebar`)),i=this._register(new ut(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));i.getElement().classList.add(`quick-input-left-action-bar`);let a=x(r,wp(`.quick-input-title`)),o=this._register(new ut(r,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));o.getElement().classList.add(`quick-input-right-action-bar`);let s=x(t,wp(`.quick-input-header`)),c=this._register(new uo(G(1860,`Toggle all checkboxes`),!1,{...ui,size:15}));x(s,c.domNode),this._register(c.onChange(()=>{let e=c.checked;se.setAllVisibleChecked(e===!0)})),this._register(L(c.domNode,z.CLICK,e=>{(e.x||e.y)&&f.setFocus()}));let l=x(s,wp(`.quick-input-description`)),u=x(s,wp(`.quick-input-and-message`)),d=x(u,wp(`.quick-input-filter`)),f=this._register(new wf(d,this.styles.inputBox,this.styles.toggle));f.setAttribute(`aria-describedby`,`${this.idPrefix}message`);let p=x(d,wp(`.quick-input-visible-count`));p.setAttribute(`aria-live`,`polite`),p.setAttribute(`aria-atomic`,`true`);let ee=this._register(new Kn(p,{countFormat:G(1861,`{0} Results`)},this.styles.countBadge)),m=x(d,wp(`.quick-input-count`));m.setAttribute(`aria-live`,`polite`);let h=this._register(new Kn(m,{countFormat:G(1862,`{0} Selected`)},this.styles.countBadge)),g=this._register(new ut(s,this.contextMenuService,{hoverDelegate:this.options.hoverDelegate,actionViewItemProvider:ct(this.styles.toggle),icon:!0,label:!1}));g.getElement().classList.add(`quick-input-inline-action-bar`);let _=x(s,wp(`.quick-input-action`)),v=this._register(new Le(_,this.styles.button));v.label=G(1863,`OK`),this._register(v.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));let te=x(s,wp(`.quick-input-action`)),y=this._register(new Le(te,{...this.styles.button,supportIcons:!0}));y.label=G(1864,`Custom`),this._register(y.onDidClick(e=>{this.onDidCustomEmitter.fire()}));let ne=x(u,wp(`#${this.idPrefix}message.quick-input-message`)),re=this._register(new Sf(t,this.styles.progressBar));re.getContainer().classList.add(`quick-input-progress`);let ie=x(t,wp(`.quick-input-html-widget`));ie.tabIndex=-1;let ae=x(t,wp(`.quick-input-description`)),oe=this.idPrefix+`list`,se=this._register(this.instantiationService.createInstance(Wf,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,oe,this.styles));f.setAttribute(`aria-controls`,oe),this._register(se.onDidChangeFocus(()=>{if(f.hasFocus()){let e=se.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(se.onChangedAllVisibleChecked(e=>{c.checked=e})),this._register(se.onChangedVisibleCount(e=>{ee.setCount(e)})),this._register(se.onChangedCheckedCount(e=>{ts(()=>h.setCount(e))})),this._register(se.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),this.controller instanceof ff&&this.controller.canSelectMany&&se.clearFocus())},0)}));let ce=this._register(this.instantiationService.createInstance(_p,t,this.options.hoverDelegate,this.styles));this._register(ce.tree.onDidChangeFocus(()=>{if(f.hasFocus()){let e=ce.getActiveDescendant();e?(f.setAttribute(`aria-activedescendant`,e),f.setListFocusMode(!0)):(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))}})),this._register(ce.onLeave(()=>{setTimeout(()=>{this.controller&&(f.setFocus(),ce.tree.setFocus([]))},0)})),this._register(ce.onDidAccept(()=>{this.onDidAcceptEmitter.fire()})),this._register(ce.tree.onDidChangeContentHeight(()=>this.updateLayout()));let le=Ia(t);return this._register(le),this._register(L(t,z.FOCUS,e=>{let t=this.getUI();if(Gn(e.relatedTarget,t.inputContainer)){let e=t.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==e&&this.endOfQuickInputBoxContext.set(e)}Gn(e.relatedTarget,t.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=vt(e.relatedTarget)?e.relatedTarget:void 0)},!0)),this._register(le.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(Wa.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(f.onKeyDown(e=>{let t=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==t&&this.endOfQuickInputBoxContext.set(t),xe(e.keyCode)||(f.removeAttribute(`aria-activedescendant`),f.setListFocusMode(!1))})),this._register(L(t,z.FOCUS,e=>{f.setFocus()})),this.dndController=this._register(this.instantiationService.createInstance(jp,this._container,t,[{node:r,includeChildren:!0,excludeNodes:[i.getElement(),o.getElement()]},{node:s,includeChildren:!1}],this.viewState)),this._register(b(e=>{let t=this.dndController?.dndViewState.read(e);t&&(this.viewState=t.top!==void 0&&t.left!==void 0?{...this.viewState,top:t.top,left:t.left}:void 0,this.updateLayout(),t.done&&this.saveViewState(this.viewState))})),this._register(b(e=>{this._alignment.set(this.dndController.alignment.read(e),void 0)})),this.ui={container:t,styleSheet:n,leftActionBar:i,titleBar:r,title:a,description1:ae,description2:l,widget:ie,rightActionBar:o,inlineActionBar:g,checkAll:c,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:ee,countContainer:m,count:h,okContainer:_,ok:v,message:ne,customButtonContainer:te,customButton:y,list:se,tree:ce,progressBar:re,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e),linkOpenerDelegate:e=>this.options.linkOpenerDelegate(e)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,x(this._container,this.ui.container),this.dndController?.reparentUI(this._container))}pick(e,t={},n=pe.None){return new Promise((r,i)=>{let a=e=>{a=r,t.onKeyMods?.(o.keyMods),r(e)};if(n.isCancellationRequested){a(void 0);return}let o=this.createQuickPick({useSeparators:!0}),s,c=[o,o.onDidAccept(()=>{if(o.canSelectMany)a(o.selectedItems.slice()),o.hide();else{let e=o.activeItems[0];e&&(a(e),o.hide())}}),o.onDidChangeActive(e=>{let n=e[0];n&&t.onDidFocus&&t.onDidFocus(n)}),o.onDidChangeSelection(e=>{if(!o.canSelectMany){let t=e[0];t&&(a(t),o.hide())}}),o.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...e,removeItem:()=>{let t=o.items.indexOf(e.item);if(t!==-1){let e=o.items.slice(),n=e.splice(t,1),r=o.activeItems.filter(e=>e!==n[0]),i=o.keepScrollPosition;o.keepScrollPosition=!0,o.items=e,r&&(o.activeItems=r),o.keepScrollPosition=i}}})),o.onDidTriggerSeparatorButton(e=>t.onDidTriggerSeparatorButton?.(e)),o.onDidChangeValue(e=>{s&&!e&&(o.activeItems.length!==1||o.activeItems[0]!==s)&&(o.activeItems=[s])}),n.onCancellationRequested(()=>{o.hide()}),o.onDidHide(()=>{go(c),a(void 0)})];o.title=t.title,t.value&&(o.value=t.value),o.canSelectMany=!!t.canPickMany,o.placeholder=t.placeHolder,o.prompt=t.prompt,o.ignoreFocusOut=!!t.ignoreFocusLost,o.matchOnDescription=!!t.matchOnDescription,o.matchOnDetail=!!t.matchOnDetail,t.sortByLabel!==void 0&&(o.sortByLabel=t.sortByLabel),o.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,o.quickNavigate=t.quickNavigate,o.hideInput=!!t.hideInput,o.contextKey=t.contextKey,o.anchor=t.anchor,o.anchorPosition=t.anchorPosition,o.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{s=t,o.busy=!1,o.items=e,o.canSelectMany&&(o.selectedItems=e.filter(e=>e.type!==`separator`&&e.picked)),s&&(o.activeItems=[s])}),o.show(),Promise.resolve(e).then(void 0,e=>{i(e),o.hide()})})}setValidationOnInput(e,t){t&&ke(t)?(e.severity=M.Error,e.validationMessage=t):t&&!ke(t)?(e.severity=t.severity,e.validationMessage=t.content):(e.severity=M.Ignore,e.validationMessage=void 0)}input(e={},t=pe.None){return new Promise(n=>{if(t.isCancellationRequested){n(void 0);return}let r=this.createInputBox(),i=e.validateInput||(()=>Promise.resolve(void 0)),a=C.debounce(r.onDidChangeValue,(e,t)=>t,100),o=e.value||``,s=Promise.resolve(i(o)),c=[r,a(e=>{e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{e===o&&this.setValidationOnInput(r,t)})}),r.onDidAccept(()=>{let e=r.value;e!==o&&(s=Promise.resolve(i(e)),o=e),s.then(t=>{!t||!ke(t)&&t.severity!==M.Error?(n(e),r.hide()):e===o&&this.setValidationOnInput(r,t)})}),t.onCancellationRequested(()=>{r.hide()}),r.onDidHide(()=>{go(c),n(void 0)})];r.title=e.title,r.value=e.value||``,r.valueSelection=e.valueSelection,r.prompt=e.prompt,r.placeholder=e.placeHolder,r.password=!!e.password,r.ignoreFocusOut=!!e.ignoreFocusLost,r.show()})}createQuickPick(e={useSeparators:!1}){return new ff(this.getUI(!0))}createInputBox(){return new pf(this.getUI(!0))}show(e){this.completeCloseAnimation();let t=this.getUI(!0),n=this.controller;if(this.controller=e,n?.didHide(),vt(e.anchor)){let t=O(e.anchor);O(this._container)!==t&&this.reparentUI(this.layoutService.getContainer(t))}this.setEnabled(!0),t.leftActionBar.setActions([]),t.title.textContent=``,t.description1.textContent=``,t.description2.textContent=``,l(t.widget),t.rightActionBar.setActions([]),t.inlineActionBar.setActions([]),t.checkAll.checked=!1,t.inputBox.placeholder=``,t.inputBox.password=!1,t.inputBox.showDecoration(M.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),t.countContainer.style.right=`4px`,l(t.message),t.progressBar.stop(),t.progressBar.getContainer().setAttribute(`aria-hidden`,`true`),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.tree.updateFilterOptions({matchOnDescription:!1,matchOnLabel:!0}),t.tree.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0,t.inputBox.actions=void 0,t.inputBox.setHeight(void 0);let r=this.options.backKeybindingLabel();uf.tooltip=r?G(1865,`Back ({0})`,r):G(1866,`Back`),this.overlayLayoutCorrection=void 0,t.container.classList.toggle(Dp,e.anchorPosition===`overlay`),t.container.style.display=``,this.updateLayout(),this.dndController?.setEnabled(!e.anchor),this.dndController?.layoutContainer(),e.anchor?this._alignment.set(`custom`,void 0):this._alignment.set(this.dndController?.alignment.get()??`top`,void 0),this.onShowEmitter.fire(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.controller}setVisibilities(e){let t=this.getUI();t.titleBar.style.display=e.title?``:`none`,t.title.style.display=e.title?``:`none`,t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?``:`none`,t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?``:`none`,t.checkAll.domNode.style.display=e.checkAll?``:`none`,t.inputContainer.style.display=e.inputBox?``:`none`,t.filterContainer.style.display=e.inputBox?``:`none`,t.visibleCountContainer.style.display=e.visibleCount?``:`none`,t.countContainer.style.display=e.count?``:`none`,t.okContainer.style.display=e.ok?``:`none`,t.customButtonContainer.style.display=e.customButton?``:`none`,t.message.style.display=e.message?``:`none`,t.progressBar.getContainer().style.display=e.progressBar?``:`none`,t.list.displayed=!!e.list,t.tree.displayed=!!e.tree,t.container.classList.toggle(`show-checkboxes`,!!e.checkBox),t.container.classList.toggle(`hidden-input`,!e.inputBox&&!e.description),this.overlayLayoutCorrection=void 0,this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;let t=this.getUI();for(let n=0;n<t.leftActionBar.getItemsLength();n++){let r=t.leftActionBar.getItemAction(n);r&&(r.enabled=e)}for(let n=0;n<t.rightActionBar.getItemsLength();n++){let r=t.rightActionBar.getItemAction(n);r&&(r.enabled=e)}e?t.checkAll.enable():t.checkAll.disable(),t.inputBox.enabled=e,t.ok.enabled=e,t.list.enabled=e}}hide(e){let t=this.controller;if(!t)return;t.willHide(e);let n=this.ui?.container,r=n&&!Xe(n);if(this.controller=null,this.onHideEmitter.fire(),n&&(!n.classList.contains(Dp)&&fn(n,kp)?(n.inert=!0,n.classList.add(Ep),this.closeAnimation.value=La(()=>this.completeCloseAnimation(),Op)):n.style.display=`none`),!r){let e=this.previousFocusElement;for(;e&&!e.offsetParent;)e=e.parentElement??void 0;e?.offsetParent?(e.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}completeCloseAnimation(){if(!this.closeAnimation.value)return;this.closeAnimation.clear();let e=this.ui?.container;e&&(e.inert=!1,e.classList.remove(Ep),e.style.display=`none`)}dispose(){this.completeCloseAnimation(),super.dispose()}toggle(){this.isVisible()&&(this.controller instanceof ff&&this.controller.canSelectMany?this.getUI().list.toggleCheckbox():this.controller instanceof yp&&this.getUI().tree.toggleCheckbox())}toggleHover(){this.isVisible()&&this.controller instanceof ff&&this.getUI().list.toggleHover()}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.overlayLayoutCorrection=void 0,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){let e=this.ui.container.style,t=Math.min(this.dimension.width*.62,Cp.MAX_WIDTH);e.width=t+`px`;let n=this.dimension&&this.dimension.height*.4,r;if(this.controller?.anchor){let i=this.controller.anchor,a=vt(i)?O(i):ve(),o=this.layoutService.getContainer(a).getBoundingClientRect(),s=$a(i),c=1,l=.2,u=200;this.controller.anchorPosition===`overlay`?(r=s,this.ui.inputBox.setHeight(s.height),t=s.width,l=.4,s={...s,height:0},u=Math.min(400,o.bottom-s.top-48),c=0):t=380,n=this.dimension?Math.min(this.dimension.height*l,u):u;let d=Math.floor(n)+48,{top:f,left:p,right:ee,bottom:m,anchorAlignment:h,anchorPosition:g}=ki(o,{width:t,height:d},s,{anchorPosition:c});h===1?(e.right=`${ee}px`,e.left=`initial`):(e.left=`${p}px`,e.right=`initial`),g===1?(e.bottom=`${m}px`,e.top=`initial`):(e.top=`${f}px`,e.bottom=`initial`),e.width=`${t}px`,e.height=``}else e.top=`${this.viewState?.top===void 0?this.titleBarOffset:Math.round(this.dimension.height*this.viewState.top)}px`,e.left=`${Math.round(this.dimension.width*(this.viewState?.left??.5)-t/2)}px`,e.right=``,e.bottom=``,e.height=``;r&&this.alignOverlayInput(r),this.ui.inputBox.layout(),this.ui.list.layout(n),this.ui.tree.layout(n)}}alignOverlayInput(e){let t=this.ui.container.style,n=this.overlayLayoutCorrection;if(!n||n.anchor.left!==e.left||n.anchor.top!==e.top||n.anchor.width!==e.width||n.anchor.height!==e.height){this.ui.inputBox.layout();let t=this.ui.filterContainer.getBoundingClientRect();n=this.overlayLayoutCorrection={anchor:e,left:e.left-t.left,right:t.right-(e.left+e.width),top:e.top-t.top,bottom:t.bottom-(e.top+e.height),width:e.width-t.width}}t.width=`${parseFloat(t.width)+n.width}px`,t.left===`initial`?t.right=`${parseFloat(t.right)+n.right}px`:t.left=`${parseFloat(t.left)+n.left}px`,t.top===`initial`?t.bottom=`${parseFloat(t.bottom)+n.bottom}px`:t.top=`${parseFloat(t.top)+n.top}px`}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){let{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:n,widgetBorder:r}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e??``,this.ui.container.style.backgroundColor=t??``,this.ui.container.style.color=n??``,this.ui.container.style.border=r?`1px solid ${r}`:``,this.ui.list.style(this.styles.list),this.ui.tree.tree.style(this.styles.list);let i=[];this.styles.pickerGroup.pickerGroupBorder&&i.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&i.push(`.quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }`),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(i.push(`.quick-input-list .monaco-keybinding > .monaco-keybinding-key {`),this.styles.keybindingLabel.keybindingLabelBackground&&i.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&i.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&i.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&i.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&i.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),i.push(`}`));let a=i.join(`
413
413
  `);a!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=a)}}loadViewState(){try{let e=JSON.parse(this.storageService.get(Tp,-1,`{}`));if(e.top!==void 0||e.left!==void 0)return e}catch{}}saveViewState(e){this.layoutService.activeContainer===this.layoutService.mainContainer&&(e===void 0?this.storageService.remove(Tp,-1):this.storageService.store(Tp,JSON.stringify(e),-1,1))}},Cp=bp,bp.MAX_WIDTH=600,bp);Ap=Cp=xp([Sp(1,Yo),Sp(2,V),Sp(3,T),Sp(4,a),Sp(5,an)],Ap);var jp=class extends F{constructor(e,t,n,r,i,a,o){super(),this._container=e,this._quickInputContainer=t,this._quickInputDragAreas=n,this._layoutService=i,this.configurationService=o,this.dndViewState=U(this,void 0),this._enabled=!0,this._snapThreshold=20,this._snapLineHorizontalRatio=.25,this._alignment=U(this,`top`),this.alignment=this._alignment,this._quickInputAlignmentContext=rf.bindTo(a);let s=qo(this.configurationService)===`custom`;this._controlsOnLeft=s&&vr===1,this._controlsOnRight=s&&(vr===3||vr===2),this._registerLayoutListener(),this.registerMouseListeners(),this.dndViewState.set({...r,done:!0},void 0),r?.top!==void 0&&r?.left!==void 0&&this._setAlignmentState(void 0)}reparentUI(e){this._container=e}layoutContainer(e=this._layoutService.activeContainerDimension){if(!this._enabled)return;let t=this.dndViewState.get(),n=this._quickInputContainer.getBoundingClientRect();if(t?.top!==void 0&&t?.left!==void 0){let r=Math.round(t.left*100)/100,i=e.width,a=n.width,o=r*i-a/2;this._layout(t.top*e.height,o)}}setEnabled(e){this._enabled=e,this._quickInputContainer.classList.toggle(`no-drag`,!e)}_setAlignmentState(e){this._quickInputAlignmentContext.set(e),this._alignment.set(e??`custom`,void 0)}_registerLayoutListener(){this._register(C.filter(this._layoutService.onDidLayoutContainer,e=>e.container===this._container)(e=>this.layoutContainer(e.dimension)))}registerMouseListeners(){let e=this._quickInputContainer;this._register(ks(e,t=>{if(!this._enabled)return;let n=new ci(O(e),t);if(n.detail!==2)return;let r=this._quickInputDragAreas.find(({node:e,includeChildren:t})=>t?Gn(n.target,e):n.target===e);r&&!r.excludeNodes?.some(e=>Gn(n.target,e))&&(this.dndViewState.set({top:void 0,left:void 0,done:!0},void 0),this._setAlignmentState(`top`))})),this._register(wr(e,e=>{if(!this._enabled)return;let t=O(this._layoutService.activeContainer),n=new ci(t,e),r=this._quickInputDragAreas.find(({node:e,includeChildren:t})=>t?Gn(n.target,e):n.target===e);if(!r||r.excludeNodes?.some(e=>Gn(n.target,e)))return;let i=this._quickInputContainer.getBoundingClientRect(),a=n.browserEvent.clientX-i.left,o=n.browserEvent.clientY-i.top,s=!1,c=ss(t,e=>{new ci(t,e).preventDefault(),s||=!0,this._layout(e.clientY-o,e.clientX-a)}),l=ks(t,e=>{if(s){let e=this.dndViewState.get();this.dndViewState.set({top:e?.top,left:e?.left,done:!0},void 0)}c.dispose(),l.dispose()})}))}_layout(e,t){let n=this._getTopSnapValue(),r=this._getCenterYSnapValue(),i=this._getCenterXSnapValue();e=Math.max(0,Math.min(e,this._container.clientHeight-this._quickInputContainer.clientHeight)),e<this._layoutService.activeContainerOffset.top&&(this._controlsOnLeft?t=Math.max(t,80/Ss(ve())):this._controlsOnRight&&(t=Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth-140/Ss(ve()))));let a=Math.abs(e-n)<this._snapThreshold;e=a?n:e;let o=Math.abs(e-r)<this._snapThreshold;e=o?r:e;let s=e/this._container.clientHeight;t=Math.max(0,Math.min(t,this._container.clientWidth-this._quickInputContainer.clientWidth));let c=Math.abs(t-i)<this._snapThreshold;t=c?i:t;let l=this._container.clientWidth,u=this._quickInputContainer.clientWidth,d=(t+u/2)/l;if(this.dndViewState.set({top:s,left:d,done:!1},void 0),c){if(a){this._setAlignmentState(`top`);return}if(o){this._setAlignmentState(`center`);return}}this._setAlignmentState(void 0)}_getTopSnapValue(){return this._layoutService.activeContainerOffset.quickPickTop}_getCenterYSnapValue(){return Math.round(this._container.clientHeight*this._snapLineHorizontalRatio)}_getCenterXSnapValue(){return Math.round(this._container.clientWidth/2)-Math.round(this._quickInputContainer.clientWidth/2)}};jp=xp([Sp(4,Yo),Sp(5,T),Sp(6,K)],jp);var Mp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Np=function(e,t){return function(n,r){t(n,r,e)}},Pp=class extends po{get controller(){return this._controller||=this._register(this.createController()),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||=this._register(this.instantiationService.createInstance(Rd)),this._quickAccess}constructor(e,t,n,r,i){super(n),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=i,this._alignment=U(this,`top`),this._onShow=this._register(new P),this._onHide=this._register(new P),this.contexts=new Map}createController(e=this.layoutService,t){let n={idPrefix:`quickInput_`,container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>void 0,setContextKey:e=>this.setContextKey(e),linkOpenerDelegate:e=>{this.instantiationService.invokeFunction(t=>{t.get(as).open(e,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(mf))},r=this._register(this.instantiationService.createInstance(Ap,{...n,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(t=>{O(e.activeContainer)===O(r.container)&&r.layout(t,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),this._register(b(e=>{this._alignment.set(r.alignment.read(e),void 0)})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new Fn(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t?.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t,n=pe.None){return this.controller.pick(e,t,n)}input(e={},t=pe.None){return this.controller.input(e,t)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}toggle(){this.controller.toggle()}toggleHover(){this.hasController&&this.controller.toggleHover()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:Oo(e),quickInputForeground:Oo(ni),quickInputTitleBackground:Oo(Ii),widgetBorder:Oo(o),widgetShadow:Oo(ai)},inputBox:ba,toggle:Ts,countBadge:Za,button:Jr,progressBar:ns,keybindingLabel:Di,list:Pr({listBackground:e,listFocusBackground:zo,listFocusForeground:ja,listInactiveFocusForeground:ja,listInactiveSelectionIconForeground:yo,listInactiveFocusBackground:zo,listInactiveSelectionBackground:zo,listInactiveSelectionForeground:ja,listFocusOutline:Pa,listInactiveFocusOutline:Pa,treeStickyScrollBackground:e}),pickerGroup:{pickerGroupBorder:Oo(fr),pickerGroupForeground:Oo(en)}}}};Pp=Mp([Np(0,V),Np(1,T),Np(2,Ea),Np(3,Yo),Np(4,K)],Pp);var Fp,Ip,Lp=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Rp=function(e,t){return function(n,r){t(n,r,e)}},zp=class extends Pp{constructor(e,t,n,r,i,a){super(t,n,r,new pl(e.getContainerDomNode(),i),a),this.host=void 0;let o=Vp.get(e);if(o){let t=o.widget;this.host={_serviceBrand:void 0,get mainContainer(){return t.getDomNode()},getContainer(){return t.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[t.getDomNode()]},get activeContainer(){return t.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return C.map(e.onDidLayoutChange,e=>({container:t.getDomNode(),dimension:e}))},get onDidChangeActiveContainer(){return C.None},get onDidAddContainer(){return C.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};zp=Lp([Rp(1,V),Rp(2,T),Rp(3,Ea),Rp(4,R),Rp(5,K)],zp);var Bp=class{get activeService(){let e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw Error(`Quick input service needs a focused editor to work.`);let t=this.mapEditorToService.get(e);if(!t){let n=t=this.instantiationService.createInstance(zp,e);this.mapEditorToService.set(e,t),To(e.onDidDispose)(()=>{n.dispose(),this.mapEditorToService.delete(e)})}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,n=pe.None){return this.activeService.pick(e,t,n)}input(e,t){return this.activeService.input(e,t)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}toggle(){return this.activeService.toggle()}toggleHover(){return this.activeService.toggleHover()}};Bp=Lp([Rp(0,V),Rp(1,R)],Bp);var Vp=class e{static get(t){return t.getContribution(e.ID)}constructor(e){this.editor=e,this.widget=new Hp(this.editor)}dispose(){this.widget.dispose()}};Fp=Vp,Fp.ID=`editor.controller.quickInput`;var Hp=class e{constructor(e){this.codeEditor=e,this.domNode=document.createElement(`div`),this.codeEditor.addOverlayWidget(this)}getId(){return e.ID}getDomNode(){return this.domNode}getPosition(){return{preference:{top:0,left:0}}}dispose(){this.codeEditor.removeOverlayWidget(this)}};Ip=Hp,Ip.ID=`editor.contrib.quickInputWidget`,Io(Vp.ID,Vp,4);var Up,Wp=class e{createWorkerClient(t){let n,r=++e._workerIdPool;return n=t instanceof Worker||Yp(t)?Promise.resolve(t):this._createWorker(t),new io(new Xp(n,r))}_createWorker(e){let t=this.getWorkerUrl(e),n=qp(e.label,t,this._getWorkerLoadingFailedErrorMessage(e));try{return Jp(Kp(n,{name:e.label,type:`module`})).finally(()=>URL.revokeObjectURL(n))}catch(e){throw URL.revokeObjectURL(n),e}}_getWorkerLoadingFailedErrorMessage(e){}getWorkerUrl(e){if(!e.esmModuleLocation)throw Error(`Missing esmModuleLocation in WebWorkerDescriptor`);return(typeof e.esmModuleLocation==`function`?e.esmModuleLocation():e.esmModuleLocation).toString(!0)}};Up=Wp,Up._workerIdPool=0;var Gp=(()=>{let e=globalThis;return typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&e.workerttPolicy!==void 0?e.workerttPolicy:Ie(`defaultWorkerFactory`,{createScriptURL:e=>e})})();function Kp(e,t){if(!e.startsWith(`blob:`))throw URIError(`Not a blob-url: `+e);return new Worker(Gp?Gp.createScriptURL(e):e,{...t,type:`module`})}function qp(e,t,n){if(!(/^((http:)|(https:)|(file:))/.test(t)&&t.substring(0,globalThis.origin.length)!==globalThis.origin)){let n=t.lastIndexOf(`?`),r=t.lastIndexOf(`#`,n),i=n>0?new URLSearchParams(t.substring(n+1,~r?r:void 0)):new URLSearchParams;ft.addSearchParam(i,!0,!0),t=i.toString()?`${t}?${i.toString()}#${e}`:`${t}#${e}`}let r=new Blob([$r([`/*${e}*/`,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(Nr())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(Cs())};`,`globalThis._VSCODE_FILE_ROOT = ${JSON.stringify(globalThis._VSCODE_FILE_ROOT)};`,`globalThis._VSCODE_PRODUCT_JSON = ${JSON.stringify(globalThis._VSCODE_PRODUCT_JSON)};`,`const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`,`globalThis.workerttPolicy = ttPolicy;`,n?`try {`:``,`await import(ttPolicy?.createScriptURL(${JSON.stringify(t)}) ?? ${JSON.stringify(t)});`,n?`} catch (err) { console.error(${JSON.stringify(n)}, err); throw err; }`:``,`globalThis.postMessage({ type: 'vscode-worker-ready' });`,`/*${e}*/`]).join(``)],{type:`application/javascript`});return URL.createObjectURL(r)}function Jp(e){return new Promise((t,n)=>{e.onmessage=function(n){n.data.type===`vscode-worker-ready`&&(e.onmessage=null,t(e))},e.onerror=n})}function Yp(e){return!!e&&typeof e.then==`function`}var Xp=class extends F{constructor(e,t){super(),this._onMessage=this._register(new P),this.onMessage=this._onMessage.event,this._onError=this._register(new P),this.onError=this._onError.event,this.id=t,this.worker=e,this.postMessage(`-please-ignore-`,[]);let n=e=>{this._onError.fire(e)};this.worker.then(e=>{e.onmessage=e=>{this._onMessage.fire(e.data)},e.onmessageerror=e=>{this._onError.fire(e)},typeof e.addEventListener==`function`&&e.addEventListener(`error`,n)}),this._register(I(()=>{this.worker?.then(e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener(`error`,n),e.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){this.worker?.then(n=>{try{n.postMessage(e,t)}catch(e){oo(e),oo(Error(`FAILED to post message to worker`,{cause:e}))}})}},Zp=class extends Wp{_createWorker(e){let t=es();if(t&&typeof t.getWorker==`function`){let n=t.getWorker(`workerMain.js`,e.label);if(n!==void 0)return Promise.resolve(n)}return super._createWorker(e)}_getWorkerLoadingFailedErrorMessage(e){return`Failed to load worker script for label: ${e.label}.
414
414
  Ensure your bundler properly bundles modules referenced by "new URL('...?esm', import.meta.url)".`}getWorkerUrl(e){let t=es();if(t&&typeof t.getWorkerUrl==`function`){let n=t.getWorkerUrl(`workerMain.js`,e.label);if(n!==void 0)return new URL(n,document.baseURI).toString()}if(!e.esmModuleLocationBundler)throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker for the worker label: ${e.label}`);return(typeof e.esmModuleLocationBundler==`function`?e.esmModuleLocationBundler():e.esmModuleLocationBundler).toString()}},Qp=class{getParserClass(){throw Error(`not implemented in StandaloneTreeSitterLibraryService`)}supportsLanguage(e,t){return!1}getLanguage(e,t,n){}getInjectionQueries(e,t){return null}getHighlightingQueries(e,t){return null}},$p,em,tm,nm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Z=function(e,t){return function(n,r){t(n,r,e)}},rm=class e{show(){return e.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}};$p=rm,$p.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};var im=class{withProgress(e,t,n){return t({report:()=>{}})}},am=class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},om=class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let n=e;return t&&(n=n+`
415
415
 
416
416
  `+(typeof t==`object`?vn(t):t)),tn.confirm(n)}async prompt(e){let t;if(this.doConfirm(e.message,e.detail)){let n=[...e.buttons??[]];e.cancelButton&&typeof e.cancelButton!=`string`&&typeof e.cancelButton!=`boolean`&&n.push(e.cancelButton),t=await n[0]?.run({checkboxChecked:!1})}return{result:t}}async error(e,t){await this.prompt({type:M.Error,message:e,detail:t})}},sm=class e{info(e){return this.notify({severity:M.Info,message:e})}warn(e){return this.notify({severity:M.Warning,message:e})}error(e){return this.notify({severity:M.Error,message:e})}notify(t){switch(t.severity){case M.Error:console.error(t.message);break;case M.Warning:console.warn(t.message);break;default:console.log(t.message)}return e.NO_OP}prompt(t,n,r,i){return e.NO_OP}status(e,t){return{close:()=>{}}}};em=sm,em.NO_OP=new Un;var cm=class{constructor(e){this._onWillExecuteCommand=new P,this._onDidExecuteCommand=new P,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){let n=Be.getCommand(e);if(!n)return Promise.reject(Error(`command '${e}' not found`));try{this._onWillExecuteCommand.fire({commandId:e,args:t});let r=this._instantiationService.invokeFunction.apply(this._instantiationService,[n.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(e){return Promise.reject(e)}}};cm=nm([Z(0,V)],cm);var lm=class extends ju{constructor(e,t,n,r,i,a){super(e,t,n,r,i),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];let o=e=>{let t=new A;t.add(L(e,z.KEY_DOWN,e=>{let t=new Ja(e);this._dispatch(t,t.target)&&(t.preventDefault(),t.stopPropagation())})),t.add(L(e,z.KEY_UP,e=>{let t=new Ja(e);this._singleModifierDispatch(t,t.target)&&t.preventDefault()})),this._domNodeListeners.push(new um(e,t))},s=e=>{for(let t=0;t<this._domNodeListeners.length;t++){let n=this._domNodeListeners[t];n.domNode===e&&(this._domNodeListeners.splice(t,1),n.dispose())}},c=e=>{e.getOption(70)||o(e.getContainerDomNode())};this._register(a.onCodeEditorAdd(c)),this._register(a.onCodeEditorRemove(e=>{e.getOption(70)||s(e.getContainerDomNode())})),a.listCodeEditors().forEach(c);let l=e=>{o(e.getContainerDomNode())};this._register(a.onDiffEditorAdd(l)),this._register(a.onDiffEditorRemove(e=>{s(e.getContainerDomNode())})),a.listDiffEditors().forEach(l)}addDynamicKeybinding(e,t,n,r){return ka(Be.registerCommand(e,n),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){let t=e.map(e=>({keybinding:_r(e.keybinding,zr),command:e.command??null,commandArgs:e.commandArgs,when:e.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),I(()=>{for(let e=0;e<this._dynamicKeybindings.length;e++)if(this._dynamicKeybindings[e]===t[0]){this._dynamicKeybindings.splice(e,t.length),this.updateResolver();return}})}updateResolver(){this._cachedResolver=null,this._onDidUpdateKeybindings.fire()}_getResolver(){if(!this._cachedResolver){let e=this._toNormalizedKeybindingItems(sn.getDefaultKeybindings(),!0),t=this._toNormalizedKeybindingItems(this._dynamicKeybindings,!1);this._cachedResolver=new Tu(e,t,e=>this._log(e))}return this._cachedResolver}_documentHasFocus(){return tn.document.hasFocus()}_toNormalizedKeybindingItems(e,t){let n=[],r=0;for(let i of e){let e=i.when||void 0,a=i.keybinding;if(!a)n[r++]=new Nu(void 0,i.command,i.commandArgs,e,t,null,!1);else{let o=Iu.resolveKeybinding(a,zr);for(let a of o)n[r++]=new Nu(a,i.command,i.commandArgs,e,t,null,!1)}}return n}resolveKeyboardEvent(e){return new Iu([new ga(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode)],zr)}};lm=nm([Z(0,T),Z(1,ht),Z(2,$i),Z(3,v),Z(4,Eo),Z(5,R)],lm);var um=class extends F{constructor(e,t){super(),this.domNode=e,this._register(t)}};function dm(e){return!!e&&typeof e==`object`&&(!e.overrideIdentifier||typeof e.overrideIdentifier==`string`)&&(!e.resource||e.resource instanceof W)}var fm=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new P,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;let t=new kl(e);this._configuration=new Dl(t.reload(),wl.createEmptyModel(e),wl.createEmptyModel(e),wl.createEmptyModel(e),wl.createEmptyModel(e),wl.createEmptyModel(e),new fe,wl.createEmptyModel(e),new fe,e),t.dispose()}getValue(e,t){let n=typeof e==`string`?e:void 0,r=dm(e)?e:dm(t)?t:{};return this._configuration.getValue(n,r,void 0)}updateValues(e){let t={data:this._configuration.toData()},n=[];for(let t of e){let[e,r]=t;this.getValue(e)!==r&&(this._configuration.updateValue(e,r),n.push(e))}if(n.length>0){let e=new Ol({keys:n,overrides:[]},t,this._configuration,void 0,this.logService);e.source=8,this._onDidChangeConfiguration.fire(e)}return Promise.resolve()}updateValue(e,t,n,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};fm=nm([Z(0,Eo)],fm);var pm=class extends F{constructor(e,t,n){super(),this.configurationService=e,this.modelService=t,this.languageService=n,this._onDidChangeConfiguration=this._register(new P),this._register(this.configurationService.onDidChangeConfiguration(e=>{this._onDidChangeConfiguration.fire({affectedKeys:e.affectedKeys,affectsConfiguration:(t,n)=>e.affectsConfiguration(n)})}))}getValue(e,t,n){let r=yr.isIPosition(t)?t:null,i=r?typeof n==`string`?n:void 0:typeof t==`string`?t:void 0,a=e?this.getLanguage(e,r):void 0;return i===void 0?this.configurationService.getValue({resource:e,overrideIdentifier:a}):this.configurationService.getValue(i,{resource:e,overrideIdentifier:a})}getLanguage(e,t){let n=this.modelService.getModel(e);return n?t?n.getLanguageIdAtPosition(t.lineNumber,t.column):n.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};pm=nm([Z(0,K),Z(1,Ho),Z(2,j)],pm);var mm=class{constructor(e){this.configurationService=e}getEOL(e,t){let n=this.configurationService.getValue(`files.eol`,{overrideIdentifier:t,resource:e});return n&&typeof n==`string`&&n!==`auto`?n:Wo||li?`
417
417
  `:`\r
418
418
  `}};mm=nm([Z(0,K)],mm);var hm=class{publicLog2(){}},gm=class e{constructor(){let t=W.from({scheme:e.SCHEME,authority:`model`,path:`/`});this.workspace={id:Cr,folders:[new Os({uri:t,name:``,index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:null}};tm=gm,tm.SCHEME=`inmemory`;function _m(e,t,n){if(!t||!(e instanceof fm))return;let r=[];Object.keys(t).forEach(e=>{fa(e)&&r.push([`editor.${e}`,t[e]]),n&&Ur(e)&&r.push([`diffEditor.${e}`,t[e]])}),r.length>0&&e.updateValues(r)}var vm=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){let n=Array.isArray(e)?e:to.convert(e),r=new Map;for(let e of n){if(!(e instanceof wa))throw Error(`bad edit - only text edits are supported`);let t=this._modelService.getModel(e.resource);if(!t)throw Error(`bad edit - model not found`);if(typeof e.versionId==`number`&&t.getVersionId()!==e.versionId)throw Error(`bad state - model changed in the meantime`);let n=r.get(t);n||(n=[],r.set(t,n)),n.push(Ga.replaceMove(vi.lift(e.textEdit.range),e.textEdit.text))}let i=0,a=0;for(let[e,t]of r)e.pushStackElement(),e.pushEditOperations([],t,()=>[]),e.pushStackElement(),a+=1,i+=t.length;return{ariaSummary:Oe(Fa.bulkEditServiceSummary,i,a),isApplied:i>0}}};vm=nm([Z(0,Ho)],vm);var ym=class{getUriLabel(e,t){return e.scheme===`file`?e.fsPath:e.path}getUriBasenameLabel(e){return va(e)}},bm=class extends mu{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n,r){if(!t){let e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n,r)}};bm=nm([Z(0,Yo),Z(1,R)],bm);var xm=class{constructor(){this._neverEmitter=new P,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},Sm=class extends md{constructor(){super()}},Cm=class extends Lu{constructor(){super(new Va)}},wm=class extends lu{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a),this.configure({blockMouse:!1})}};wm=nm([Z(0,$i),Z(1,v),Z(2,s),Z(3,Jt),Z(4,Wi),Z(5,T)],wm);var Tm=class{async playSignal(e,t){}},Em=class{constructor(){this.onDidChangeDefaultAccount=C.None}async getDefaultAccount(){return null}};D(dt,Zp,0),D(Eo,Cm,0),D(K,fm,0),D(zn,pm,0),D($n,mm,0),D(Si,gm,0),D(c,ym,0),D($i,hm,0),D(da,om,0),D(lr,am,0),D(v,sm,0),D(Ut,Vu,0),D(j,Sm,0),D(or,Ze,0),D(Ho,kd,0),D(bs,vd,0),D(T,Wl,0),D(An,im,0),D(ps,rm,0),D(a,ii,0),D(pi,vm,0),D(Ai,xm,0),D(oi,Nd,0),D(os,gl,0),D(m,Yi,0),D(ht,cm,0),D(Jt,lm,0),D(Na,Bp,0),D(s,bm,0),D(as,Xu,0),D(Ns,Sl,0),D(an,wm,0),D(Wi,y,0),D(Je,Tm,0),D(Kr,Qp,0),D(Br,qr,0),D(Ro,Aa,0),D(ti,Em,0),D(Zo,Zr,0),D(Dt,Hu,0);var Q;(function(e){let t=new Fi;for(let[e,n]of De())t.set(e,n);let n=new bu(t,!0);t.set(V,n);function r(e){i||o({});let r=t.get(e);if(!r)throw Error(`Missing service `+e);return r instanceof bt?n.invokeFunction(t=>t.get(e)):r}e.get=r;let i=!1,a=new P;function o(e){if(i)return n;i=!0;for(let[e,n]of De())t.get(e)||t.set(e,n);for(let n in e)if(e.hasOwnProperty(n)){let r=kr(n);t.get(r)instanceof bt&&t.set(r,e[n])}let r=zi();for(let e of r)try{n.createInstance(e)}catch(e){oo(e)}return a.fire(),n}e.initialize=o;function s(e){if(i)return e();let t=new A,n=t.add(a.event(()=>{n.dispose(),t.add(e())}));return t}e.withServices=s})(Q||={});var Dm,Om=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},km=function(e,t){return function(n,r){t(n,r,e)}},Am,jm=(Dm=class{constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,n){let r=Uo(n.context)?n.context:void 0,i;e?i=this._languageService.getLanguageIdByLanguageName(e):r&&(i=r.getModel()?.getLanguageId()),i||=Zi;let a=await Ba(this._languageService,t,i),o=Am._ttpTokenizer?Am._ttpTokenizer.createHTML(a)??a:a,s=document.createElement(`span`);s.innerHTML=o;let c=s.querySelector(`.monaco-tokenized-source`);return vt(c)?(ko(c,this.getFontInfo(r)),s):document.createElement(`span`)}getFontInfo(e){return e?e.getOption(59):Ds({fontFamily:this._configurationService.getValue(`editor`).fontFamily},1)}},Am=Dm,Dm._ttpTokenizer=Ie(`tokenizeToString`,{createHTML(e){return e}}),Dm);jm=Am=Om([km(0,K),km(1,j)],jm);var Mm=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$=function(e,t){return function(n,r){t(n,r,e)}},Nm=0,Pm=!1;function Fm(e){if(!e){if(Pm)return;Pm=!0}fs(e||tn.document.body)}var Im=class extends _o{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,ee){let m={...t};m.ariaLabel=m.ariaLabel||Vo.editorViewAccessibleLabel,super(e,m,{},n,r,i,a,c,l,u,d,f,ee),this._standaloneKeybindingService=s instanceof lm?s:null,Fm(m.ariaContainerElement),Ft((e,t)=>n.createInstance(Fo,e,{instantHover:t},{})),Ki(o),p.setDefaultCodeBlockRenderer(n.createInstance(jm))}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn(`Cannot add command because the editor is configured with an unrecognized KeybindingService`),null;let r=`DYNAMIC_`+ ++Nm,i=N.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,i),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),F.None;let t=e.id,n=e.label,r=N.and(N.equals(`editorId`,this.getId()),N.deserialize(e.precondition)),i=e.keybindings,a=N.and(r,N.deserialize(e.keybindingContext)),o=e.contextMenuGroupId||null,s=e.contextMenuOrder||0,c=(t,...n)=>Promise.resolve(e.run(this,...n)),l=new A,u=this.getId()+`:`+t;if(l.add(Be.registerCommand(u,c)),o){let e={command:{id:u,title:n},when:r,group:o,order:s};l.add(Yt.appendMenuItem(Ot.EditorContext,e))}if(Array.isArray(i))for(let e of i)l.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,c,a));let d=new Ui(u,n,n,void 0,r,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,d),l.add(I(()=>{this._actions.delete(t)})),l}_triggerCommand(e,t){if(this._codeEditorService instanceof ll)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};Im=Mm([$(2,V),$(3,R),$(4,ht),$(5,T),$(6,ei),$(7,Jt),$(8,Ea),$(9,v),$(10,os),$(11,ue),$(12,E),$(13,xi),$(14,Dt)],Im);var Lm=class extends Im{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,ee,m,h,g){let _={...t};_m(u,_,!1);let v=c.registerEditorContainer(e);typeof _.theme==`string`&&c.setTheme(_.theme),_.autoDetectHighContrast!==void 0&&c.setAutoDetectHighContrast(!!_.autoDetectHighContrast);let te=_.model;delete _.model,super(e,_,n,r,i,a,o,s,c,l,d,ee,m,h,g),this._configurationService=u,this._standaloneThemeService=c,this._register(v);let y;if(te===void 0){let e=p.getLanguageIdByMimeType(_.language)||_.language||`plaintext`;y=zm(f,p,_.value||``,e,void 0),this._ownsModel=!0}else y=te,this._ownsModel=!1;if(this._attachModel(y),y){let e={oldModelUrl:null,newModelUrl:y.uri};this._onDidChangeModel.fire(e)}}updateOptions(e){_m(this._configurationService,e,!1),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};Lm=Mm([$(2,V),$(3,R),$(4,ht),$(5,T),$(6,ei),$(7,Jt),$(8,or),$(9,v),$(10,K),$(11,os),$(12,Ho),$(13,j),$(14,ue),$(15,E),$(16,xi),$(17,Dt)],Lm);var Rm=class extends si{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f={...t};_m(s,f,!0);let p=a.registerEditorContainer(e);typeof f.theme==`string`&&a.setTheme(f.theme),f.autoDetectHighContrast!==void 0&&a.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},r,n,i,d,l),this._configurationService=s,this._standaloneThemeService=a,this._register(p)}updateOptions(e){_m(this._configurationService,e,!0),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(Im,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};Rm=Mm([$(2,V),$(3,T),$(4,R),$(5,or),$(6,v),$(7,K),$(8,an),$(9,ps),$(10,Ns),$(11,Je)],Rm);function zm(e,t,n,r,i){if(n||=``,!r){let r=n.indexOf(`
419
- `),a=n;return r!==-1&&(a=n.substring(0,r)),Bm(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return Bm(e,n,t.createById(r),i)}function Bm(e,t,n,r){return e.createModel(t,n,r)}Xo(`multiDiffEditor.headerBackground`,{dark:`#262626`,light:`tab.inactiveBackground`,hcDark:`tab.inactiveBackground`,hcLight:`tab.inactiveBackground`},G(161,`The background color of the diff editor's header`)),Xo(`multiDiffEditor.background`,En,G(162,`The background color of the multi file diff editor`)),Xo(`multiDiffEditor.border`,{dark:`sideBarSectionHeader.border`,light:`#cccccc`,hcDark:`sideBarSectionHeader.border`,hcLight:`#cccccc`},G(163,`The border color of the multi file diff editor`));var Vm=class extends F{constructor(e){super(),this.item=e,this._onDidDispose=this._register(new P),this.onDidDispose=this._onDidDispose.event}dispose(){this._store.isDisposed||(this._onDidDispose.fire(),super.dispose())}},Hm=class extends F{constructor(){super(...arguments),this._currentBinding=U(this,void 0),this.currentBinding=this._currentBinding,this._bindingStore=this._register(new A)}bind(e,t){if(this._currentBinding.get())throw new w(`Cannot rebind a virtualized template before disposing its current binding`);let n=this.createBinding(e,t);return this._bindingStore.clear(),this._bindingStore.add(C.once(n.onDidDispose)(()=>{if(this._currentBinding.get()!==n)throw new w(`Disposed binding does not own its virtualized template`);this._currentBinding.set(void 0,void 0)})),this._currentBinding.set(n,void 0),n}dispose(){this._currentBinding.get()?.dispose(),super.dispose()}},Um=class extends F{constructor(e,t,n){super(),this._context=t,this._delegate=n,this._pools=new Map,this.virtualizedItems=Wr(this,e,(e,t)=>t.add(new Wm(e,this,n)),e=>n.getId(e)).recomputeInitiallyAndOnChange(this._store),this._register(I(()=>{for(let e of this._pools.values())e.dispose();this._pools.clear()}))}acquire(e){let t=this._delegate.getTemplateId(e),n=this._pools.get(t);return n||(n=new Gm(()=>this._delegate.createTemplate(t,this._context)),this._pools.set(t,n)),n.acquire()}},Wm=class extends F{constructor(e,t,n){super(),this.item=e,this._manager=t,this._delegate=n,this._templateReference=U(this,void 0),this._isHidden=U(this,!1),this._didRenderFail=!1,this.template=S(this,e=>this._templateReference.read(e)?.object),this.binding=S(this,e=>this.template.read(e)?.currentBinding.read(e));let r=n.getUnboundSize(e);this.size=S(this,e=>this.binding.read(e)?.size.read(e)??r.read(e)),this.maxScroll=S(this,e=>this.binding.read(e)?.maxScroll.read(e)??{maxScroll:0}),this._register(b(e=>{let t=this.binding.read(e);t&&this._isHidden.read(e)&&!t.shouldKeepAlive.read(e)&&this._clearBinding()}))}render(e,t,n,r,i){if(this._lastRender={renderedRange:e,scrollOffset:t,width:n,renderedViewport:r,context:i},this._isHidden.set(!1,void 0),!this._didRenderFail)try{this._render(e,t,n,r,i)}catch(e){this._didRenderFail=!0,oo(e)}}_render(e,t,n,r,i){let a=this.binding.get();if(!a){let e=this._manager.acquire(this.item),t=e.object;if(t.currentBinding.get())throw e.dispose(),new w(`Virtualized template pool returned a bound template`);let n;try{if(n=t.bind(this.item,{initialSize:this.size.get(),runWithScrollAnchor:(e,t)=>{if(!i)throw new w(`Cannot preserve a virtualized item scroll anchor without a render context`);i.runWithScrollAnchor(e,t)}}),n.item!==this.item||t.currentBinding.get()!==n)throw new w(`Virtualized template returned a binding for a different item`);let r=n;pn(t=>{this._delegate.onDidBind?.(r,t),this._templateReference.set(e,t)})}catch(r){throw(t.currentBinding.get()??n)?.dispose(),e.dispose(),r}a=n}a.render(e,t,n,r)}hide(){this._isHidden.set(!0,void 0),this.binding.get()?.hide()}_clearBinding(){let e=this._templateReference.get(),t=e?.object.currentBinding.get();if(e&&t){if(pn(e=>{this._delegate.onWillUnbind?.(t,e)}),t.hide(),t.dispose(),e.object.currentBinding.get())throw new w(`Virtualized binding did not release its template when disposed`);pn(e=>{this._templateReference.set(void 0,e)}),e.dispose()}}dispose(){this._clearBinding(),super.dispose()}},Gm=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set}acquire(){let e=this._unused.values().next().value??this._create();if(this._unused.delete(e),e.currentBinding.get())throw new w(`Cannot acquire a bound virtualized template`);this._used.add(e);let t=!1;return{object:e,dispose:()=>{if(!t){if(t=!0,e.currentBinding.get())throw new w(`Cannot pool a virtualized template with a current binding`);this._used.delete(e),this._unused.size>=5?e.dispose():this._unused.add(e)}}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}},Km=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qm=function(e,t){return function(n,r){t(n,r,e)}},Jm=class extends Hm{constructor(e,t,n,r,a,o,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._variantConfiguration=r,this._optionsOverride=a,this._instantiationService=o,this._verticalStateUpdate=this._register(new i),this._observedEditorContentHeight=500,this._isSettingData=!1,this._viewModel=U(this,void 0),this._collapsed=S(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=U(this,500),this._itemHorizontalInsets=this._variantConfiguration.horizontalInsets,this.size=S(this,e=>this._collapsed.read(e)?this._headerHeight:this._editorContentHeight.read(e)+this._outerEditorHeight),this._modifiedContentWidth=U(this,0),this._modifiedWidth=U(this,0),this._originalContentWidth=U(this,0),this._originalWidth=U(this,0),this.maxScroll=S(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}});let c=G(164,`Binary file changed`);this._elements=k(`div.multiDiffEntry`,[k(`div.header@header`,[k(`div.header-content`,[k(`div.collapse-button@collapseButton`),k(`div.file-path`,[k(`div.title.modified.show-file-icons@primaryPath`,[]),k(`div.status.deleted@status`,[`R`]),k(`div.title.original.show-file-icons@secondaryPath`,[])]),k(`div.actions@actions`)])]),k(`div.editorParent`,[k(`div.editorContainer@editor`),k(`div.binary-file-placeholder@binaryFilePlaceholder`,{role:`group`,"aria-label":c},[k(`div.binary-file-placeholder-content`,[k(`span`,[c]),k(`div.binary-file-placeholder-actions@binaryFilePlaceholderActions`)])])])]),this.editor=this._register(this._instantiationService.createInstance(si,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{variant:this._variantConfiguration.diffEditorVariant,runWithOriginalEditorScrollAnchor:(e,t)=>this._runWithEditorScrollAnchor(()=>this._outerEditorHeight+this._getOriginalEditorLineTop(e),t),runWithModifiedEditorScrollAnchor:(e,t)=>this._runWithEditorScrollAnchor(()=>this._outerEditorHeight+this._getModifiedEditorLineTop(e),t)})),this.isModifedFocused=$o(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=$o(this.editor.getOriginalEditor()).isFocused,this.isBinaryFilePlaceholderFocused=U(this,!1);let l=this._register(Ia(this._elements.binaryFilePlaceholder));this._register(l.onDidFocus(()=>this.isBinaryFilePlaceholderFocused.set(!0,void 0))),this._register(l.onDidBlur(()=>this.isBinaryFilePlaceholderFocused.set(!1,void 0))),this.isFocused=S(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)||this.isBinaryFilePlaceholderFocused.read(e)),this._elements.binaryFilePlaceholder.tabIndex=0,this._workbenchUIElementFactory.openDiffEditor?(this._openBinaryDiffButton=this._register(new Le(this._elements.binaryFilePlaceholderActions,{...Jr,secondary:!0})),this._openBinaryDiffButton.label=G(165,`Open Diff`),this._register(this._openBinaryDiffButton.onDidClick(()=>{let e=this._viewModel.get();e?.originalUri&&e.modifiedUri&&this._workbenchUIElementFactory.openDiffEditor?.(e.originalUri,e.modifiedUri)}))):this._openBinaryDiffButton=void 0;let u=k(`div.multi-diff-resource-label-accessory`).root;this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath,`primary`,u)):void 0,this._elements.primaryPath.appendChild(u);let d=k(`div.multi-diff-resource-label-accessory`).root;this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath,`secondary`,d)):void 0,this._elements.secondaryPath.appendChild(d),this._dataStore=this._register(new A),this._headerHeight=this._variantConfiguration.headerHeight;let f=this._register(new Le(this._elements.collapseButton,{})),p=()=>this._viewModel.get()?.setActive(void 0);if(this._register(b(e=>{f.element.className=``,f.icon=this._collapsed.read(e)?Xa.chevronRight:Xa.chevronDown})),this._register(f.onDidClick(()=>{p(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.handleHeaderMiddleClick&&this._register(L(this._elements.header,z.AUXCLICK,e=>{if(e.button!==1)return;let t=this._viewModel.get(),n=t?.modifiedUri??t?.originalUri;n&&this._workbenchUIElementFactory.handleHeaderMiddleClick?.(n)&&mi.stop(e,!0)})),this._variantConfiguration.headerClickToCollapse){this._elements.header.tabIndex=0,this._elements.header.setAttribute(`role`,`button`),this._register(L(this._elements.header,z.MOUSE_ENTER,()=>this._elements.root.classList.add(`header-hovered`))),this._register(L(this._elements.header,z.MOUSE_LEAVE,()=>this._elements.root.classList.remove(`header-hovered`)));let e=this._register(Ia(this._elements.header));this._register(e.onDidFocus(()=>{this._elements.root.classList.add(`header-focused`),p()})),this._register(e.onDidBlur(()=>this._elements.root.classList.remove(`header-focused`))),this._register(L(this._elements.header,z.CLICK,e=>{p();let t=e.target;t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)||this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0))})),this._register(L(this._elements.header,z.KEY_DOWN,e=>{if(e.key===`Enter`||e.key===` `){p();let t=e.target;if(t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)))return;e.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}))}this._register(b(e=>{let t=this._collapsed.read(e),n=this._viewModel.read(e),r=n?.isBinary===!0,i=!!(n?.originalUri&&n.modifiedUri&&this._openBinaryDiffButton);this._elements.editor.style.display=t||r?`none`:`block`,this._elements.binaryFilePlaceholder.style.display=!t&&r?`grid`:`none`,this._elements.binaryFilePlaceholder.tabIndex=i?-1:0,this._elements.binaryFilePlaceholderActions.style.display=i?``:`none`,this._variantConfiguration.headerClickToCollapse&&this._elements.header.setAttribute(`aria-expanded`,String(!t))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{jr(e=>{this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),e),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),e)});let t=this._viewModel.get();this._isSettingData||t?.isBinary||!t?.diffEditorViewModel.isDiffUpToDate.get()||(this._observedEditorContentHeight=e.contentHeight,this._scheduleVerticalStateUpdate())})),this._register(b(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle(`active`,t);let n=this._viewModel.read(e)?.isFirst.read(e);this._elements.root.classList.toggle(`first-diff-entry`,n)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight+this._variantConfiguration.contentBottomPadding,this._contextKeyService=this._register(s.createScoped(this._elements.actions));let ee=So.multiDiffEditorItemAllUnchangedRegionsShown.bindTo(this._contextKeyService);this._register(b(e=>{ee.set(this.editor.allUnchangedRegionsShown.read(e))}));let m=this._register(this._instantiationService.createChild(new Fi([T,this._contextKeyService])));this._register(m.createInstance(hi,this._elements.actions,Ot.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ma(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),highlightToggledItems:!0,menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`navigation`)},actionViewItemProvider:(e,t)=>this._workbenchUIElementFactory.createToolbarActionViewItem?.(e,t)??Ha(m,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}getExpandedContentHeight(){return this._observedEditorContentHeight+this._outerEditorHeight}createBinding(e,t){this._bindingContext=t;try{this.setItem(e,t.initialSize)}catch(e){try{this.setItem(void 0)}finally{this._bindingContext=void 0}throw e}return new Ym(e,this)}_runWithEditorScrollAnchor(e,t){let n=this._bindingContext;if(!n)throw new w(`Cannot preserve a diff editor scroll anchor without an active item binding`);n.runWithScrollAnchor(e,e=>{t(),this._verticalStateUpdate.clear(),this._observedEditorContentHeight=this.editor.getContentHeight(),this._editorContentHeight.set(this._observedEditorContentHeight,e)})}_getOriginalEditorLineTop(e){let t=this.editor.getOriginalEditor();return e>t.getModel().getLineCount()?t.getContentHeight():t.getTopForLineNumber(e)}_getModifiedEditorLineTop(e){let t=this.editor.getModifiedEditor();return e>t.getModel().getLineCount()?t.getContentHeight():t.getTopForLineNumber(e)}setItem(e,t=0){this._verticalStateUpdate.clear();let n=this._optionsOverride,r=this._variantConfiguration.diffEditorOptions;function i(e){return{...r,...e,...n?.get(),hideOriginalLineNumbers:n?.get()?.hideOriginalLineNumbers??e.hideOriginalLineNumbers??r?.hideOriginalLineNumbers??!1,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:`hidden`,horizontal:`hidden`,handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){this._isSettingData=!0;try{jr(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()})}finally{this._isSettingData=!1}return}let a=e.documentDiffItem,o=e.isBinary?100:Math.max(0,Math.max(t,e.lastTemplateData.get().expandedContentHeight)-this._outerEditorHeight);this._observedEditorContentHeight=o,this._isSettingData=!0;try{jr(t=>{this._editorContentHeight.set(o,t),this._resourceLabel?.setUri(e.modifiedUri??e.originalUri,{strikethrough:e.modifiedUri===void 0});let n=!1,r=!1,s=!1,c=``;e.modifiedUri&&e.originalUri&&e.modifiedUri.path!==e.originalUri.path?(c=`R`,n=!0):e.modifiedUri?e.originalUri||(c=`A`,s=!0):(c=`D`,r=!0),this._elements.status.classList.toggle(`renamed`,n),this._elements.status.classList.toggle(`deleted`,r),this._elements.status.classList.toggle(`added`,s),this._elements.status.innerText=c,this._resourceLabel2?.setUri(n?e.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e,t),this.editor.updateOptions(i(a.options??{})),this.editor.setDiffModel(e.diffEditorViewModelRef,t)})}finally{this._isSettingData=!1}if(this._dataStore.add(b(t=>{if(e.isBinary)return;let n=e.diffEditorViewModel;n.isDiffUpToDate.read(t)&&((n.diff.read(t)?.mappings.length??0)>0&&n.unchangedRegions.read(t).length>0||(this._observedEditorContentHeight=this.editor.getContentHeight(),this._scheduleVerticalStateUpdate()))})),a.onOptionsDidChange&&this._dataStore.add(a.onOptionsDidChange(()=>{this.editor.updateOptions(i(a.options??{}))})),n&&this._dataStore.add(b(e=>{n.read(e),this.editor.updateOptions(i(a.options??{}))})),e.documentDiffItem.contextKeys)for(let[t,n]of Object.entries(e.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,n)}render(e,t,n,r){this._elements.root.style.visibility=`visible`,this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position=`absolute`;let i=e.length-this._headerHeight,a=Math.max(0,Math.min(r.start-e.start,i));this._elements.header.style.transform=`translateY(${a}px)`,jr(n=>{this.editor.layout({width:t-this._itemHorizontalInsets.left-this._itemHorizontalInsets.right,height:e.length-this._outerEditorHeight})}),this.editor.getOriginalEditor().setScrollTop(n),this._flushVerticalState(),this._elements.header.classList.toggle(`shadow`,a>0||n>0),this._elements.header.classList.toggle(`collapsed`,a===i)}_scheduleVerticalStateUpdate(){this._verticalStateUpdate.value||(this._verticalStateUpdate.value=Da(O(this._elements.root),()=>this._flushVerticalState()))}_flushVerticalState(){this._verticalStateUpdate.clear(),jr(e=>{this._editorContentHeight.set(this._observedEditorContentHeight,e)})}hide(){this._elements.root.classList.remove(`header-hovered`),this._elements.root.style.top=`-100000px`,this._elements.root.style.visibility=`hidden`}focusBinaryFilePlaceholder(){let e=this._viewModel.get();e?.originalUri&&e.modifiedUri&&this._openBinaryDiffButton?this._openBinaryDiffButton.focus():this._elements.binaryFilePlaceholder.focus()}unbind(e){if(this._viewModel.get()!==e)throw new w(`Cannot unbind a diff editor template from a different item`);this.setItem(void 0),this._bindingContext=void 0}};Jm=Km([qm(5,V),qm(6,T)],Jm);var Ym=class extends Vm{constructor(e,t){super(e),this._template=t,this.size=t.size,this.maxScroll=t.maxScroll,this.shouldKeepAlive=t.isFocused,this.editor=t.editor}render(e,t,n,r){this._template.render(e,n,t,r)}hide(){this._template.hide()}setScrollLeft(e){this._template.setScrollLeft(e)}getExpandedContentHeight(){return this._template.getExpandedContentHeight()}focus(){this.item.isBinary?this._template.focusBinaryFilePlaceholder():this.editor.focus()}dispose(){this._store.isDisposed||(this._template.unbind(this.item),super.dispose())}};function Xm(e){switch(e){case`noCardsNonCompact`:return{classNames:[`multiDiffEditor-standard`],horizontalInsets:{left:9,right:9},headerHeight:40,contentBottomPadding:0,headerClickToCollapse:!1};case`noCards`:return{classNames:[`multiDiffEditor-compact`],horizontalInsets:{left:0,right:0},headerHeight:32,contentBottomPadding:8,headerClickToCollapse:!0,diffEditorOptions:{hideOriginalLineNumbers:!0}};case`cards`:return{diffEditorVariant:`compact`,classNames:[`multiDiffEditor-compact`,`multiDiffEditor-card`],horizontalInsets:{left:9,right:9},headerHeight:40,contentBottomPadding:0,headerClickToCollapse:!0,diffEditorOptions:{hideOriginalLineNumbers:!0}}}}function Zm(e){return e}function Qm(e){rh(`viewportHeight`,e.viewportHeight);let t=e.leadingScrollSlack??0,n=e.trailingScrollSlack??0;rh(`leadingScrollSlack`,t),rh(`trailingScrollSlack`,n);let r=nh(e.itemHeights,e.itemGap),i=t+r+n,a=Math.max(0,i-e.viewportHeight),o=Math.max(0,Math.min(e.scrollTop,a)),s=qa.ofStartAndLength(o-t,e.viewportHeight),c=0,l=t,u=0,d=[];for(let t=0;t<e.itemHeights.length;t++){let n=e.itemHeights[t],r=Math.min(n,e.viewportHeight),i=n-r,a=qa.ofStartAndLength(c,n),o=qa.ofStartAndLength(l,r),f,p;a.isBefore(s)?(f=`before`,p=i):a.isAfter(s)?(f=`after`,p=0):(f=`visible`,p=Math.max(0,Math.min(s.start-a.start,i))),u+=p,d.push({contentRange:a,renderedRange:o,maxScrollOffset:i,scrollOffset:p,visibility:f}),t<e.itemHeights.length-1?(c+=n+e.itemGap,l+=r+e.itemGap):(c+=n,l+=r)}let f=o-u;return{revision:e.revision??Zm(0),scrollTop:o,logicalScrollHeight:r,scrollHeight:i,leadingScrollSlack:t,trailingScrollSlack:n,renderedHeight:l+n,contentViewport:s,renderedViewport:qa.ofStartAndLength(f,e.viewportHeight),hiddenContentHeightAboveViewport:u,items:d}}function $m(e,t){rh(`itemGap`,t);let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];rh(`itemHeights[${i}]`,a),n.push(qa.ofStartAndLength(r,a)),r+=a+(i<e.length-1?t:0)}return n}function eh(e,t,n,r,i,a,o){if(n.length!==r.length)throw new w(`Size edits require stable item identity and ordering`);let s=$m(n,i),c=$m(r,a),l=[];for(let e=0;e<s.length;e++)s[e].equals(c[e])||l.push({oldRange:s[e],newRange:c[e]});return{fromRevision:e,toRevision:t,edits:l,anchor:{revision:e,offset:o}}}function th(e,t){if(e.revision!==t.fromRevision)throw new w(`Cannot map layout revision ${e.revision} through revision ${t.fromRevision}`);let n=e.offset;for(let r of t.edits){if(e.offset<r.oldRange.start)break;if(r.oldRange.contains(e.offset)){let i=e.offset-r.oldRange.start;return n=i<r.newRange.length?r.newRange.start+i:r.newRange.start,{revision:t.toRevision,offset:n}}n=e.offset+r.newRange.endExclusive-r.oldRange.endExclusive}return{revision:t.toRevision,offset:n}}function nh(e,t){rh(`itemGap`,t);for(let t=0;t<e.length;t++)rh(`itemHeights[${t}]`,e[t]);return e.length===0?0:e.reduce((e,t)=>e+t,0)+t*(e.length-1)}function rh(e,t){if(!Number.isFinite(t)||t<0)throw new w(`${e} must be a finite non-negative number, got ${t}`)}var ih=100,ah=class extends F{constructor(e,t,n,r){super(),this._lastGeometryEdit=U(this,void 0),this._itemAnchorEditSignal=ha(this),this._revision=Zm(0),this._leadingScrollSlack=0,this._trailingScrollSlack=0,this._previousItemGap=0,this._lastScrollTop=0,this._clearScrollDirection=this._register(new Mo(()=>this._lastScrollDirection=void 0,ih)),this._isUpdating=!1,this.lastGeometryEdit=this._lastGeometryEdit,this._scrollableElements=k(`div.scrollContent`,[k(`div@content`,{style:{overflow:`hidden`,position:`relative`}}),k(`div.monaco-editor@overflowWidgetsDomNode`)]),this._scrollable=this._register(new g({forceIntegerValues:!1,scheduleAtNextAnimationFrame:t=>Da(O(e),t),smoothScrollDuration:100})),this._scrollableElement=this._register(new As(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.domNode=k(`div`,{},[this._scrollableElement.getDomNode()]).root,this._sizeObserver=this._register(new le(e,void 0)),this.scrollTop=Ci(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Ci(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._items=r({contentDomNode:this._scrollableElements.content,overflowWidgetsDomNode:this._scrollableElements.overflowWidgetsDomNode,scrollLeft:this.scrollLeft}),this._layout=U(this,Qm({revision:this._revision,scrollTop:0,viewportHeight:0,itemGap:0,itemHeights:[]})),this.layout=this._layout,this._scrollDimensions=U(this,{width:0,height:0,scrollWidth:0,scrollHeight:0}),this.scrollDimensions=this._scrollDimensions,this._register(b(e=>{this._sizeObserver.observe(t.read(e))})),this._register(b(e=>{this._itemAnchorEditSignal.read(e);let t=this._sizeObserver.width.read(e),r=this._sizeObserver.height.read(e),i=this._items.read(e),a=i.map(t=>t.size.read(e)),o=Rr(i,No(t=>t.maxScroll.read(e).maxScroll,ia))?.maxScroll.read(e).maxScroll??0,s=n.read(e),c=this.scrollTop.read(e);jr(e=>this._update(i,a,s,t,r,t+o,c,e))}))}setScrollPosition(e,t=!1){this._scrollableElement.setScrollPosition({...e,reuseAnimation:t})}setLogicalScrollPosition(e,t=!1){this.setScrollPosition({scrollTop:this._leadingScrollSlack+e},t)}getScrollPosition(){return this._scrollableElement.getScrollPosition()}_runWithItemScrollAnchor(e,t,n){let r=this._items.get().findIndex(t=>t===e);if(r===-1)throw new w(`Cannot anchor an item that is not in the compacted virtualized scroll view`);let i=this._layout.get().items[r].contentRange,a=t();if(!Number.isFinite(a)||a<0||a>i.length)throw new w(`Item anchor ${a} is outside item range ${i}`);let o={revision:this._revision,offset:i.start+a},s=this.getScrollPosition().scrollTop-this._leadingScrollSlack;this._runWithPendingAnchor({position:o,viewportOffset:o.offset-s,item:e,getItemOffset:t},e=>{n(e),t()!==a&&this._itemAnchorEditSignal.trigger(e)})}_runWithPendingAnchor(e,t){if(this._pendingAnchor)throw new w(`Cannot nest compacted virtualized scroll anchors`);this._pendingAnchor=e;try{jr(t)}finally{this._pendingAnchor===e&&(this._pendingAnchor=void 0)}}_update(e,t,n,r,i,a,o,s){if(!this._isUpdating){this._isUpdating=!0;try{let c=o,l=o-this._lastScrollTop;l!==0&&(this._lastScrollDirection=l<0?`up`:`down`,this._clearScrollDirection.schedule());let u=this._previousItemHeights,d=u!==void 0&&(n!==this._previousItemGap||!oh(u,t)),f=this._previousItems!==void 0&&this._previousItems.length===e.length&&this._previousItems.every((t,n)=>t===e[n]),p=this._previousItems!==void 0&&!f,ee=!1,m=!!this._pendingAnchor&&f;if(u&&(d||m)&&f){let r=nh(u,this._previousItemGap),a=o-this._leadingScrollSlack,l=this._pendingAnchor,f=this._lastScrollDirection===`up`,p=f?i:0,m=l?.item?`item`:l?`logical`:f?`viewportBottom`:`viewportTop`,h=l?.position.offset??Math.max(0,Math.min(a+p,r)),g=l?.viewportOffset??h-a,_=this._revision,v=d?Zm(_+1):_,te=eh(_,v,u,t,this._previousItemGap,n,h),y=th(te.anchor,te);if(l?.item&&l.getItemOffset){let r=e.findIndex(e=>e===l.item);if(r===-1)throw new w(`Compacted virtualized scroll anchor item was removed during its edit`);let i=$m(t,n)[r],a=l.getItemOffset();if(!Number.isFinite(a)||a<0||a>i.length)throw new w(`Mapped item anchor ${a} is outside item range ${i}`);y={revision:v,offset:i.start+a}}let ne=nh(t,n),re=y.offset-g,ie=Math.max(0,ne-i);this._leadingScrollSlack=Math.max(0,-re),this._trailingScrollSlack=Math.max(0,re-ie),c=this._leadingScrollSlack+re,this._revision=v,this._pendingAnchor=void 0,ee=!0,this._lastGeometryEdit.set({fromRevision:_,toRevision:v,edits:te.edits,anchorKind:m,anchorOffset:h,mappedAnchorOffset:y.offset,anchorViewportOffset:g,desiredScrollTop:c,appliedScrollTop:c,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack},s)}else if(d||p)d&&(this._revision=Zm(this._revision+1)),this._leadingScrollSlack=0,this._trailingScrollSlack=0,this._lastGeometryEdit.set(void 0,s);else if(l>0&&this._leadingScrollSlack>0){let e=Math.min(l,this._leadingScrollSlack);this._leadingScrollSlack-=e,c-=e}else if(l<0&&this._trailingScrollSlack>0){let e=nh(t,n),r=this._leadingScrollSlack+Math.max(0,e-i);this._trailingScrollSlack=Math.max(0,c-r)}let h=Qm({revision:this._revision,scrollTop:c,viewportHeight:i,itemGap:n,itemHeights:t,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack}),g={width:r,height:i,scrollWidth:a,scrollHeight:h.scrollHeight};this._scrollableElements.root.style.height=`${i}px`,this._scrollableElements.content.style.height=`${h.scrollHeight}px`,this._scrollable.setScrollDimensions(g,!0),(d||c!==o)&&this._scrollable.setScrollPositionNow({scrollTop:h.scrollTop});let _=this._scrollableElement.getScrollPosition().scrollTop;_!==h.scrollTop&&(h=Qm({revision:this._revision,scrollTop:_,viewportHeight:i,itemGap:n,itemHeights:t,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack}));let v=this._lastGeometryEdit.get();ee&&v&&this._lastGeometryEdit.set({...v,appliedScrollTop:_},s),this._layout.set(h,s),this._scrollDimensions.set(g,s),this._render(e,h,r),this._previousItems=e,this._previousItemHeights=t,this._previousItemGap=n,this._lastScrollTop=h.scrollTop}finally{this._isUpdating=!1}}}_render(e,t,n){for(let r=0;r<e.length;r++){let i=e[r],a=t.items[r];a.visibility===`visible`?i.render(a.renderedRange,a.scrollOffset,n,t.renderedViewport,{runWithScrollAnchor:(e,t)=>this._runWithItemScrollAnchor(i,e,t)}):i.hide()}this._scrollableElements.content.style.transform=`translateY(${-t.renderedViewport.start}px)`}};function oh(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var sh=class extends F{constructor(e){super(),this._logService=e,this._lastLoggedCollapsed=new Map,this._lastLoggedContentHeight=new Map,this._isEnabled=Ci(this,this._logService.onDidChangeLogLevel,()=>this._logService.getLevel()<=sa.Trace)}get isEnabled(){return this._isEnabled.get()}log(e,t){if(!this.isEnabled)return;let n=t?Object.entries(t).map(([e,t])=>`${e}: ${uh(t)}`).join(`, `):void 0;this._logService.trace(`[MultiDiffEditor] ${e}${n?` (${n})`:``}`)}logStateChanges(e){this._register(bn((t,n)=>{this._isEnabled.read(t)&&(n.add(I(()=>{this._lastLoggedCollapsed.clear(),this._lastLoggedContentHeight.clear()})),n.add(b(t=>{let n=e.viewModel.read(t);this.log(`view model changed`,{hasViewModel:!!n,isLoading:n?.isLoading.read(t),preserveFocusOnLoad:e.isPreserveFocusOnLoad()})})),n.add(b(t=>{let n=[];for(let r of e.items.read(t)){let e=r.collapsed.read(t),i=r.getKey();this._lastLoggedCollapsed.get(i)!==e&&(this._lastLoggedCollapsed.set(i,e),n.push(`${r.getLabel()}=${e}`))}n.length>0&&this.log(`collapsed state changed`,{changed:n})})),n.add(b(t=>{let n=e.getScrollTop(),r=[],i=0;for(let a of e.items.read(t)){let o=a.contentHeight.read(t),s=a.getKey(),c=this._lastLoggedContentHeight.get(s);if(c!==o){let e=i<n?` (above scroll offset)`:``;r.push(`${a.getLabel()}: ${c??`?`} -> ${o}${e}`),this._lastLoggedContentHeight.set(s,o)}i+=o+e.spaceBetweenPx}r.length>0&&this.log(`content height changed`,{changed:r,totalHeight:i,scrollTop:n})})))}))}};function ch(e){return e?va(e)||e.authority||e.scheme:`<none>`}function lh(e){if(e===void 0)return`<none>`;try{let[t,n]=JSON.parse(e),r=n??t;return r?ch(W.parse(r)):`<none>`}catch{return e}}function uh(e){return e===void 0?`<undefined>`:W.isUri(e)?ch(e):Array.isArray(e)?`[${e.map(uh).join(`, `)}]`:typeof e==`number`?String(Math.round(e*100)/100):typeof e==`object`?JSON.stringify(e):String(e)}var dh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fh=function(e,t){return function(n,r){t(n,r,e)}},ph=class extends F{constructor(e,t,n,r,i,a,o,s,c,l,d){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=r,this._variantConfiguration=i,this._diffLayoutOptions=a,this._diffEditorOptions=o,this._paddingBottomPx=s,this._parentContextKeyService=c,this._parentInstantiationService=l,this._preserveFocusOnLoad=!1,this._hasAppliedPendingScrollState=!1,this._logger=this._register(new sh(d)),this._optionsOverride=S(this,e=>({...this._diffEditorOptions,...this._diffLayoutOptions.read(e)})),this._spaceBetweenPx=U(this,0);let f=this._paddingBottomPx.map(this,e=>({size:ea(e),maxScroll:ea({maxScroll:0}),render(){},hide(){}})),p,ee;this._scrollView=this._register(new ah(this._element,this._dimension,this._spaceBetweenPx,e=>{let t=S(this,e=>this._viewModel.read(e)?.items.read(e)??[]),n=this._register(new Um(t,e,{getId:e=>e,getTemplateId:()=>`diffEditor`,getUnboundSize:e=>S(e,t=>{let n=this._variantConfiguration.headerHeight;return e.collapsed.read(t)?n:e.isBinary?n+this._variantConfiguration.contentBottomPadding+100:e.lastTemplateData.read(t).expandedContentHeight}),createTemplate:()=>this._instantiationService.createInstance(Jm,e.contentDomNode,e.overflowWidgetsDomNode,this._workbenchUIElementFactory,this._variantConfiguration,this._optionsOverride),onDidBind:e=>{let t=e.item.lastTemplateData.get().selections;this._logger.log(`acquired editor template`,{file:ch(e.item.modifiedUri??e.item.originalUri),collapsed:e.item.collapsed.get(),expectedExpandedContentHeight:e.item.lastTemplateData.get().expandedContentHeight,selections:t?.length??0}),t&&e.editor.setSelections(t)},onWillUnbind:(e,t)=>{this._logger.log(`releasing editor template`,{file:ch(e.item.modifiedUri??e.item.originalUri),contentHeight:e.size.get()}),e.item.lastTemplateData.set({expandedContentHeight:e.getExpandedContentHeight(),selections:e.editor.getSelections()??void 0},t)}})),r=Wr(this,n.virtualizedItems,(t,n)=>{let r=n.add(new gh(t,e.scrollLeft,this._logger)),i=this._lastDocStates?.[r.getKey()];return i&&pn(e=>r.setViewState(i,e)),r}).recomputeInitiallyAndOnChange(this._store);return p=S(this,e=>{let t=r.read(e),n=new Map(t.map(e=>[e.viewModel,e])),i=t.filter(e=>this._lastDocStates?.[e.getKey()]!==void 0).length;return this._logger.log(`view items updated`,{items:t.length,restoredDocStates:i}),{items:t,getItem:e=>n.get(e)}}),ee=p.map(this,e=>e.items),S(this,e=>[...ee.read(e),f.read(e)])})),this._viewItemsInfo=p,this._viewItems=ee,this.scrollTop=this._scrollView.scrollTop,this.scrollLeft=this._scrollView.scrollLeft,this.layoutDebugState=S(this,e=>{let t=this._scrollView.layout.read(e),n=this._viewItems.read(e),r=this._scrollView.lastGeometryEdit.read(e);return{scrollLeft:this.scrollLeft.read(e),scrollDimensions:this._scrollView.scrollDimensions.read(e),layout:{revision:t.revision,scrollTop:t.scrollTop,logicalScrollHeight:t.logicalScrollHeight,scrollHeight:t.scrollHeight,renderedHeight:t.renderedHeight,leadingScrollSlack:t.leadingScrollSlack,trailingScrollSlack:t.trailingScrollSlack,contentViewport:hh(t.contentViewport),renderedViewport:hh(t.renderedViewport),hiddenContentHeightAboveViewport:t.hiddenContentHeightAboveViewport},geometryEdit:r?{...r,edits:r.edits.map(e=>({oldRange:hh(e.oldRange),newRange:hh(e.newRange)}))}:void 0,items:n.map((n,r)=>n.getLayoutDebugState(e,t.items[r]))}});let m=this._variantConfiguration.classNames.map(e=>`.${e}`).join(``);this._elements=k(`div.monaco-component.multiDiffEditor${m}`,{},[this._scrollView.domNode,k(`div.placeholder@placeholder`,{},[k(`div`)])]),this.activeControl=S(this,e=>{let t=this._viewModel.read(e)?.activeDiffItem.read(e);if(t)return this._viewItemsInfo.read(e).getItem(t).template.read(e)?.editor}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Fi([T,this._contextKeyService]))),this._contextKeyService.createKey(So.inMultiDiffEditor.key,!0),this._register(u(So.diffEditorAutomaticRenderSideBySide,this._contextKeyService,e=>this.activeControl.read(e)?.renderSideBySideInAutomaticMode.read(e)??!0)),this._register(u(So.diffEditorTemporaryInlineMode,this._contextKeyService,e=>this.activeControl.read(e)?.temporaryInlineMode.read(e)??!1)),this._lastDocStates={},this._register(bn((e,t)=>{let n=this._viewModel.read(e);if(n&&n.contextKeys)for(let[e,r]of Object.entries(n.contextKeys)){let n=this._contextKeyService.createKey(e,void 0);n.set(r),t.add(I(()=>n.reset()))}}));let h=this._parentContextKeyService.createKey(So.multiDiffEditorAllCollapsed.key,!1);this._register(b(e=>{let t=this._viewModel.read(e);if(t){let n=t.items.read(e).every(t=>t.collapsed.read(e));h.set(n)}}));let g=this._parentContextKeyService.createKey(So.multiDiffEditorRenderSideBySide.key,!0);this._register(b(e=>{let t=this._diffLayoutOptions.read(e)?.renderSideBySide;t!==void 0&&g.set(t)})),this._logger.logStateChanges({viewModel:this._viewModel,items:this._viewItems,spaceBetweenPx:this._spaceBetweenPx.get(),getScrollTop:()=>this._scrollView.getScrollPosition().scrollTop,isPreserveFocusOnLoad:()=>this._preserveFocusOnLoad});let _=S(e=>{if(this._viewItems.read(e).length>0)return;let t=this._viewModel.read(e);return!t||t.isLoading.read(e)?G(166,`Loading...`):G(167,`No Changed Files`)});this._register(b(e=>{let t=_.read(e);this._elements.placeholder.innerText=t??``,this._elements.placeholder.classList.toggle(`visible`,!!t)})),this._register(b(e=>{this._scrollView.scrollDimensions.read(e),this._applyPendingScrollState()})),e.replaceChildren(this._elements.root),this._register(I(()=>{e.replaceChildren()})),this._register(b(e=>{let t=this._viewModel.read(e);if(t&&!t.isLoading.read(e)){let n=t.items.read(e);if(n.length===0||t.activeDiffItem.read(e)||this._restorePendingActiveDiffItem(t,n))return;this._logger.log(`no active diff item after loading, selecting first change`,{items:n.length}),this._navigateToChange(`next`,!this._preserveFocusOnLoad)}}))}setScrollState(e){this._pendingScrollState=e,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0,this._applyPendingScrollState()}_applyPendingScrollState(){let e=this._pendingScrollState;if(!e)return;let t=this._scrollView.scrollDimensions.get(),n=this._scrollView.getScrollPosition(),r=e.top===void 0?n.scrollTop:Math.min(Math.max(0,e.top),Math.max(0,t.scrollHeight-t.height)),i=e.left===void 0?n.scrollLeft:Math.min(Math.max(0,e.left),Math.max(0,t.scrollWidth-t.width)),a=this._lastPendingScrollDimensions,o=!a||a.width!==t.width||a.height!==t.height||a.scrollWidth!==t.scrollWidth||a.scrollHeight!==t.scrollHeight;if(this._hasAppliedPendingScrollState&&!o&&(n.scrollTop!==r||n.scrollLeft!==i)){this._pendingScrollState=void 0,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0;return}this._scrollView.setScrollPosition({scrollLeft:e.left,scrollTop:e.top});let s=this._scrollView.getScrollPosition(),c=e.top===void 0||s.scrollTop>=e.top,l=e.left===void 0||s.scrollLeft>=e.left;c&&l?(this._pendingScrollState=void 0,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0):(this._hasAppliedPendingScrollState=!0,this._lastPendingScrollDimensions=t),this._logger.log(`applied pending scroll state`,{requested:e,applied:{top:s.scrollTop,left:s.scrollLeft},landed:c&&l})}setPreserveFocusOnLoad(e){this._preserveFocusOnLoad=e}reveal(e,t){let n=this._viewItems.get(),r=n.findIndex(t=>t.viewModel.originalUri?.toString()===e.original?.toString()&&t.viewModel.modifiedUri?.toString()===e.modified?.toString());if(r===-1)throw new w(`Resource not found in diff editor`);let i=n[r];this._viewModel.get().activeDiffItem.setCache(i.viewModel,void 0);let a=0;for(let e=0;e<r;e++)a+=n[e].contentHeight.get()+this._spaceBetweenPx.get();this._logger.log(`reveal`,{file:i.getLabel(),index:r,scrollTop:`${this._scrollView.getScrollPosition().scrollTop} -> ${a}`,range:t?.range}),this._scrollView.setLogicalScrollPosition(a);let o=i.template.get()?.editor,s=`original`in e?o?.getOriginalEditor():o?.getModifiedEditor();s&&t?.range&&(s.revealRangeInCenter(t.range),mh(s,t.range))}getViewState(){let e={scrollState:{top:this.scrollTop.get(),left:this.scrollLeft.get()},docStates:Object.fromEntries(this._viewItems.get().map(e=>[e.getKey(),e.getViewState()])),activeDiffItemKey:this._viewModel.get()?.activeDiffItem.get()?.getKey()};if(this._logger.isEnabled){let t=Object.values(e.docStates??{});this._logger.log(`get view state`,{scrollTop:e.scrollState.top,scrollLeft:e.scrollState.left,docStates:t.length,collapsed:t.filter(e=>e.collapsed).length,activeDiffItem:lh(e.activeDiffItemKey)})}return e}setViewState(e,t){if(this._logger.isEnabled){let t=Object.values(e.docStates??{});this._logger.log(`set view state`,{scrollTop:e.scrollState.top,scrollLeft:e.scrollState.left,docStates:t.length,collapsed:t.filter(e=>e.collapsed).length,activeDiffItem:lh(e.activeDiffItemKey),viewItems:this._viewItems.get().length})}this.setScrollState(e.scrollState),this._lastDocStates=e.docStates,this._lastActiveDiffItemKey=e.activeDiffItemKey;let n=t=>{if(e.docStates)for(let n of this._viewItems.get()){let r=e.docStates[n.getKey()];r&&n.setViewState(r,t)}};t?n(t):pn(n);let r=this._viewModel.get();r&&this._restorePendingActiveDiffItem(r,r.items.get())}_restorePendingActiveDiffItem(e,t){let n=this._lastActiveDiffItemKey;if(n===void 0||t.length===0)return!1;this._lastActiveDiffItemKey=void 0;let r=t.find(e=>e.getKey()===n);return r?(this._logger.log(`restored active diff item`,{file:r.modifiedUri??r.originalUri,preserveFocus:this._preserveFocusOnLoad}),e.activeDiffItem.setCache(r,void 0),this._preserveFocusOnLoad||this._viewItemsInfo.get().getItem(r).binding.get()?.focus(),!0):(this._logger.isEnabled&&this._logger.log(`persisted active diff item not found`,{key:lh(n),availableKeys:t.map(e=>lh(e.getKey()))}),!1)}_navigateToChange(e,t=!0){let n=this._viewItems.get();if(n.length===0)return;let r=this._viewModel.get()?.activeDiffItem.get(),i=r?n.findIndex(e=>e.viewModel===r):-1;if(this._logger.log(`navigate to change`,{direction:e,focusEditor:t,currentIndex:i,items:n.length}),i===-1){this._goToFile(0,`first`,t);return}let a=n[i];a.viewModel.collapsed.get()&&(this._logger.log(`expanding collapsed item to navigate within it`,{file:a.getLabel()}),a.viewModel.collapsed.set(!1,void 0));let o=a.template.get()?.editor;if(o?.getDiffComputationResult()?.changes2?.length){let t=o.getModifiedEditor().getPosition()?.lineNumber||1,n=o.getDiffComputationResult().changes2;if(e===`next`?n.some(e=>e.modified.startLineNumber>t):n.some(e=>e.modified.endLineNumberExclusive<=t)){o.goToDiff(e);return}}let s=(i+(e===`next`?1:-1)+n.length)%n.length;this._goToFile(s,e===`next`?`first`:`last`,t)}_goToFile(e,t,n=!0){let r=this._viewItems.get()[e],i=r.viewModel.collapsed.get();this._logger.log(`go to file`,{file:r.getLabel(),index:e,position:t,focusEditor:n,wasCollapsed:i}),i&&r.viewModel.collapsed.set(!1,void 0),this.reveal({original:r.viewModel.originalUri,modified:r.viewModel.modifiedUri});let a=r.template.get()?.editor;if(a?.getDiffComputationResult()?.changes2?.length){if(t===`first`)a.revealFirstDiff();else{let e=a.getDiffComputationResult().changes2.at(-1),t=a.getModifiedEditor();t.setPosition({lineNumber:e.modified.startLineNumber,column:1}),t.revealLineInCenter(e.modified.startLineNumber)}}n&&r.binding.get()?.focus()}};ph=dh([fh(8,T),fh(9,V),fh(10,Eo)],ph);function mh(e,t){let n=e.getModel(),r=e.createDecorationsCollection([{range:t,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{e.getModel()===n&&r.clear()},350)}function hh(e){return{start:e.start,endExclusive:e.endExclusive}}var gh=class extends F{get collapsed(){return this.viewModel.collapsed}getLayoutDebugState(e,t){let n=this.binding.read(e);return{key:this.getKey(),label:this.getLabel(),originalUri:this.viewModel.originalUri?.toString()??null,modifiedUri:this.viewModel.modifiedUri?.toString()??null,collapsed:this.collapsed.read(e),hasTemplate:n!==void 0,verticalState:{contentHeight:this.size.read(e),itemViewportOffset:t.scrollOffset},maxScroll:this.maxScroll.read(e).maxScroll,layout:{contentRange:hh(t.contentRange),renderedRange:hh(t.renderedRange),maxScrollOffset:t.maxScrollOffset,scrollOffset:t.scrollOffset,visibility:t.visibility}}}constructor(e,t,n){super(),this._managedItem=e,this._scrollLeft=t,this._logger=n,this.size=e.size,this.contentHeight=this.size,this.maxScroll=e.maxScroll,this.template=e.template,this.binding=e.binding,this.viewModel=e.item,this._isFocused=S(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(b(e=>{let t=this._scrollLeft.read(e);this.binding.read(e)?.setScrollLeft(t)}))}toString(){return`VirtualViewItem(${this.viewModel.modifiedUri?.toString()??this.viewModel.originalUri?.toString()})`}getKey(){return this.viewModel.getKey()}getLabel(){return ch(this.viewModel.modifiedUri??this.viewModel.originalUri)}getViewState(){return pn(e=>{this._updateTemplateData(e)}),{collapsed:this.viewModel.collapsed.get(),selections:this.viewModel.lastTemplateData.get().selections}}setViewState(e,t){this._logger.log(`item view state restored`,{file:this.getLabel(),collapsed:e.collapsed,selections:e.selections?.length??0}),this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),r=e.selections?.map(Ei.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:r},t);let i=this.binding.get();i&&r&&i.editor.setSelections(r)}_updateTemplateData(e){let t=this.binding.get();t&&this.viewModel.lastTemplateData.set({expandedContentHeight:t.getExpandedContentHeight(),selections:t.editor.getSelections()??void 0},e)}hide(){this._managedItem.hide()}render(e,t,n,r,i){this._managedItem.render(e,t,n,r,i)}},_h=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vh=function(e,t){return function(n,r){t(n,r,e)}},yh=class extends F{constructor(e,t,n,r){super(),this._element=e,this._workbenchUIElementFactory=t,this._options=n,this._instantiationService=r,this._dimension=U(this,void 0),this._viewModel=U(this,void 0),this._diffLayoutOptions=U(this,void 0),this._paddingBottomPx=U(this,0),this._widgetImplDisposable=this._register(new i),this._variant=this._options.variant;let a=this._createWidgetImpl(ph);this._widgetImplDisposable.value=a,this._widgetImplValue=U(this,a),this._widgetImpl=this._widgetImplValue;let o=!0;this._register(b(e=>{let t=jt(ph);if(o){o=!1;return}this._replaceWidgetImpl(t)}))}_createWidgetImpl(e){return this._instantiationService.createInstance(e,this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory,Xm(this._variant),this._diffLayoutOptions,this._options.diffEditorOptions,this._paddingBottomPx)}_replaceWidgetImpl(e){let t=this._widgetImplValue.get(),n=t.getViewState(),r=this._viewModel.get(),i=t.activeControl.get(),a=i?.getOriginalEditor().hasTextFocus()?`original`:i?.getModifiedEditor().hasTextFocus()?`modified`:void 0;this._viewModel.set(void 0,void 0),this._widgetImplDisposable.clear();let o=this._createWidgetImpl(e);this._widgetImplDisposable.value=o,o.setPreserveFocusOnLoad(!0),pn(e=>{this._viewModel.set(r,e),o.setViewState(n,e)}),a===`original`?o.activeControl.get()?.getOriginalEditor().focus():a===`modified`&&o.activeControl.get()?.getModifiedEditor().focus(),o.setPreserveFocusOnLoad(!1),this._widgetImplValue.set(o,void 0)}};yh=_h([vh(3,V)],yh);function bh(e,t,n){return Q.initialize(n||{}).createInstance(Lm,e,t)}function xh(e){return Q.get(R).onCodeEditorAdd(t=>{e(t)})}function Sh(e){return Q.get(R).onDiffEditorAdd(t=>{e(t)})}function Ch(){return Q.get(R).listCodeEditors()}function wh(){return Q.get(R).listDiffEditors()}function Th(e,t,n){return Q.initialize(n||{}).createInstance(Rm,e,t)}function Eh(e,t){let n=Q.initialize(t||{});return new yh(e,{},{variant:`noCardsNonCompact`},n)}function Dh(e){if(typeof e.id!=`string`||typeof e.run!=`function`)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return Be.registerCommand(e.id,e.run)}function Oh(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=N.deserialize(e.precondition),n=(n,...r)=>tr.runEditorCommand(n,r,t,(t,n,r)=>Promise.resolve(e.run(n,...r))),r=new A;if(r.add(Be.registerCommand(e.id,n)),e.contextMenuGroupId){let n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};r.add(Yt.appendMenuItem(Ot.EditorContext,n))}if(Array.isArray(e.keybindings)){let n=Q.get(Jt);if(!(n instanceof lm))console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`);else{let i=N.and(t,N.deserialize(e.keybindingContext));r.add(n.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:i}))))}}return r}function kh(e){return Ah([e])}function Ah(e){let t=Q.get(Jt);return t instanceof lm?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:N.deserialize(e.when)}))):(console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),F.None)}function jh(e,t,n){let r=Q.get(j),i=r.getLanguageIdByMimeType(t)||t;return zm(Q.get(Ho),r,e,i,n)}function Mh(e,t){let n=Q.get(j),r=n.getLanguageIdByMimeType(t)||t||`plaintext`;e.setLanguage(n.createById(r))}function Nh(e,t,n){e&&Q.get(Ut).changeOne(t,e.uri,n)}function Ph(e){Q.get(Ut).changeAll(e,[])}function Fh(e){return Q.get(Ut).read(e)}function Ih(e){return Q.get(Ut).onMarkerChanged(e)}function Lh(e){return Q.get(Ho).getModel(e)}function Rh(){return Q.get(Ho).getModels()}function zh(e){return Q.get(Ho).onModelAdded(e)}function Bh(e){return Q.get(Ho).onModelRemoved(e)}function Vh(e){return Q.get(Ho).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function Hh(e){return Rs(Q.get(Ho),Q.get(dt),e)}function Uh(e,t){let n=Q.get(j),r=Q.get(or);return mc.colorizeElement(r,n,e,t).then(()=>{r.registerEditorContainer(e)})}function Wh(e,t,n){let r=Q.get(j);return Q.get(or).registerEditorContainer(tn.document.body),mc.colorize(r,e,t,n)}function Gh(e,t,n=4){return Q.get(or).registerEditorContainer(tn.document.body),mc.colorizeModelLine(e,t,n)}function Kh(e){return ca.get(e)||{getInitialState:()=>tt,tokenize:(t,n,r)=>St(e,r)}}function qh(e,t){ca.getOrCreate(t);let n=Kh(t),r=ao(e),i=[],a=n.getInitialState();for(let e=0,t=r.length;e<t;e++){let t=r[e],o=n.tokenize(t,!0,a);i[e]=o.tokens,a=o.endState}return i}function Jh(e,t){Q.get(or).defineTheme(e,t)}function Yh(e){Q.get(or).setTheme(e)}function Xh(){Ka.clearAllFontInfos()}function Zh(e,t){return Be.registerCommand({id:e,handler:t})}function Qh(e){return Q.get(as).registerOpener({async open(t){return typeof t==`string`&&(t=W.parse(t)),e.open(t)}})}function $h(e){return Q.get(R).registerCodeEditorOpenHandler(async(t,n,r)=>{if(!n)return null;let i=t.options?.selection,a;return i&&typeof i.endLineNumber==`number`&&typeof i.endColumn==`number`?a=i:i&&(a={lineNumber:i.startLineNumber,column:i.startColumn}),await e.openCodeEditor(n,t.resource,a)?n:null})}function eg(){return{create:bh,getEditors:Ch,getDiffEditors:wh,onDidCreateEditor:xh,onDidCreateDiffEditor:Sh,createDiffEditor:Th,addCommand:Dh,addEditorAction:Oh,addKeybindingRule:kh,addKeybindingRules:Ah,createModel:jh,setModelLanguage:Mh,setModelMarkers:Nh,getModelMarkers:Fh,removeAllMarkers:Ph,onDidChangeMarkers:Ih,getModels:Rh,getModel:Lh,onDidCreateModel:zh,onWillDisposeModel:Bh,onDidChangeModelLanguage:Vh,createWebWorker:Hh,colorizeElement:Uh,colorize:Wh,colorizeModelLine:Gh,tokenize:qh,defineTheme:Jh,setTheme:Yh,remeasureFonts:Xh,registerCommand:Zh,registerLinkOpener:Qh,registerEditorOpener:$h,AccessibilitySupport:ri,ContentWidgetPositionPreference:Ua,CursorChangeReason:Do,DefaultEndOfLine:Hr,EditorAutoIndentStrategy:Jo,EditorOption:Yr,EndOfLinePreference:di,EndOfLineSequence:Qa,MinimapPosition:_n,MinimapSectionHeaderStyle:ce,MouseTargetType:ds,OverlayWidgetPositionPreference:he,OverviewRulerLane:Ht,GlyphMarginLane:xa,RenderLineNumbersType:qi,RenderMinimap:kt,ScrollbarVisibility:Zt,ScrollType:It,TextEditorCursorBlinkingStyle:ne,TextEditorCursorStyle:Wn,TrackedRangeStickiness:Ye,WrappingIndent:Rn,InjectedTextCursorStops:xr,PositionAffinity:ee,ShowLightbulbIconMode:Pe,TextDirection:Ps,ConfigurationChangedEvent:Gi,BareFontInfo:te,FontInfo:qe,TextModelResolvedOptions:Ar,FindMatch:gi,ApplyUpdateResult:p,EditorZoom:In,createMultiFileDiffEditor:Eh,EditorType:Fs,EditorOptions:Pt}}function tg(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function ng(e,t){return typeof e==`boolean`?e:t}function rg(e,t){return typeof e==`string`?e:t}function ig(e){let t={};for(let n of e)t[n]=!0;return t}function ag(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=ig(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function og(e,t,n){t=t.replace(/@@/g,``);let r=0,i;do i=!1,t=t.replace(/@(\w+)/g,function(n,r){i=!0;let a=``;if(typeof e[r]==`string`)a=e[r];else if(e[r]&&e[r]instanceof RegExp)a=e[r].source;else if(e[r]===void 0)throw q(e,`language definition does not contain attribute '`+r+`', used at: `+t);else throw q(e,`attribute reference '`+r+`' must be a string, used at: `+t);return Ws(a)?``:`(?:`+a+`)`}),r++;while(i&&r<5);t=t.replace(/\x01/g,`@`);let a=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,r=null;return i=>r&&n===i?r:(n=i,r=new RegExp(Ys(e,t,i),a),r)}return new RegExp(t,a)}function sg(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r<e.length)return e[r]}return null}function cg(e,t,n,r){let i=-1,a=n,o=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(i=parseInt(o[3]),o[2]&&(i+=100)),a=o[4]);let s=`~`,c=a;!a||a.length===0?(s=`!=`,c=``):/^\w*$/.test(c)?s=`==`:(o=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(s=o[1],c=o[2]));let l;if((s===`~`||s===`!~`)&&/^(\w|\|)*$/.test(c)){let t=ag(c.split(`|`),e.ignoreCase);l=function(e){return s===`~`?t(e):!t(e)}}else if(s===`@`||s===`!@`){let n=e[c];if(!n)throw q(e,`the @ match target '`+c+`' is not defined, in rule: `+t);if(!tg(function(e){return typeof e==`string`},n))throw q(e,`the @ match target '`+c+`' must be an array of strings, in rule: `+t);let r=ag(n,e.ignoreCase);l=function(e){return s===`@`?r(e):!r(e)}}else if(s===`~`||s===`!~`){if(c.indexOf(`$`)<0){let t=og(e,`^`+c+`$`,!1);l=function(e){return s===`~`?t.test(e):!t.test(e)}}else l=function(t,n,r,i){return og(e,`^`+Js(e,c,n,r,i)+`$`,!1).test(t)}}else if(c.indexOf(`$`)<0){let t=Gs(e,c);l=function(e){return s===`==`?e===t:e!==t}}else{let t=Gs(e,c);l=function(n,r,i,a,o){let c=Js(e,t,r,i,a);return s===`==`?n===c:n!==c}}return i===-1?{name:n,value:r,test:function(e,t,n,r){return l(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){let a=sg(e,t,n,i);return l(a||``,e,t,n,r)}}}function lg(e,t,n){if(!n)return{token:``};if(typeof n==`string`)return n;if(n.token||n.token===``){if(typeof n.token!=`string`)throw q(e,`a 'token' attribute must be of type string, in rule: `+t);{let r={token:n.token};if(n.token.indexOf(`$`)>=0&&(r.tokenSubst=!0),typeof n.bracket==`string`){if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw q(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t)}if(n.next){if(typeof n.next!=`string`)throw q(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!Zs(e,Js(e,i,``,[],``))))throw q(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=lg(e,t,n[i]);return{group:r}}if(n.cases){let r=[],i=!1;for(let a in n.cases)if(n.cases.hasOwnProperty(a)){let o=lg(e,t,n.cases[a]);a===`@default`||a===`@`||a===``?r.push({test:void 0,value:o,name:a}):a===`@eos`?r.push({test:function(e,t,n,r){return r},value:o,name:a}):r.push(cg(e,t,a,o)),i||=!ke(o)&&(o.hasEmbeddedEndInCases||[`@pop`,`@popall`].includes(o.nextEmbedded||``))}let a=e.defaultToken;return{hasEmbeddedEndInCases:i,test:function(e,t,n,i){for(let a of r)if(!a.test||a.test(e,t,n,i))return a.value;return a}}}throw q(e,`an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: `+t)}var ug=class{constructor(e){this.regex=RegExp(``),this.action={token:``},this.matchOnlyAtLineStart=!1,this.name=``,this.name=e}setRegex(e,t){let n;if(typeof t==`string`)n=t;else if(t instanceof RegExp)n=t.source;else throw q(e,`rules must start with a match string or regular expression: `+this.name);this.matchOnlyAtLineStart=n.length>0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=og(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`,!0)}setAction(e,t){this.action=lg(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function dg(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={languageId:e,includeLF:ng(t.includeLF,!1),noThrow:!1,maxStack:100,start:typeof t.start==`string`?t.start:null,ignoreCase:ng(t.ignoreCase,!1),unicode:ng(t.unicode,!1),tokenPostfix:rg(t.tokenPostfix,`.`+e),defaultToken:rg(t.defaultToken,`source`),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw q(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw q(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new ug(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3){if(t.setRegex(r,s[0]),s.length>=3){if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw q(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e)}else t.setAction(r,s[1])}else{if(!s.regex)throw q(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=ng(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw q(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw q(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw q(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+`
419
+ `),a=n;return r!==-1&&(a=n.substring(0,r)),Bm(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return Bm(e,n,t.createById(r),i)}function Bm(e,t,n,r){return e.createModel(t,n,r)}Xo(`multiDiffEditor.headerBackground`,{dark:`#262626`,light:`tab.inactiveBackground`,hcDark:`tab.inactiveBackground`,hcLight:`tab.inactiveBackground`},G(161,`The background color of the diff editor's header`)),Xo(`multiDiffEditor.background`,En,G(162,`The background color of the multi file diff editor`)),Xo(`multiDiffEditor.border`,{dark:`sideBarSectionHeader.border`,light:`#cccccc`,hcDark:`sideBarSectionHeader.border`,hcLight:`#cccccc`},G(163,`The border color of the multi file diff editor`));var Vm=class extends F{constructor(e){super(),this.item=e,this._onDidDispose=this._register(new P),this.onDidDispose=this._onDidDispose.event}dispose(){this._store.isDisposed||(this._onDidDispose.fire(),super.dispose())}},Hm=class extends F{constructor(){super(...arguments),this._currentBinding=U(this,void 0),this.currentBinding=this._currentBinding,this._bindingStore=this._register(new A)}bind(e,t){if(this._currentBinding.get())throw new w(`Cannot rebind a virtualized template before disposing its current binding`);let n=this.createBinding(e,t);return this._bindingStore.clear(),this._bindingStore.add(C.once(n.onDidDispose)(()=>{if(this._currentBinding.get()!==n)throw new w(`Disposed binding does not own its virtualized template`);this._currentBinding.set(void 0,void 0)})),this._currentBinding.set(n,void 0),n}dispose(){this._currentBinding.get()?.dispose(),super.dispose()}},Um=class extends F{constructor(e,t,n){super(),this._context=t,this._delegate=n,this._pools=new Map,this.virtualizedItems=Wr(this,e,(e,t)=>t.add(new Wm(e,this,n)),e=>n.getId(e)).recomputeInitiallyAndOnChange(this._store),this._register(I(()=>{for(let e of this._pools.values())e.dispose();this._pools.clear()}))}acquire(e){let t=this._delegate.getTemplateId(e),n=this._pools.get(t);return n||(n=new Gm(()=>this._delegate.createTemplate(t,this._context)),this._pools.set(t,n)),n.acquire()}},Wm=class extends F{constructor(e,t,n){super(),this.item=e,this._manager=t,this._delegate=n,this._templateReference=U(this,void 0),this._isHidden=U(this,!1),this._didRenderFail=!1,this.template=S(this,e=>this._templateReference.read(e)?.object),this.binding=S(this,e=>this.template.read(e)?.currentBinding.read(e));let r=n.getUnboundSize(e);this.size=S(this,e=>this.binding.read(e)?.size.read(e)??r.read(e)),this.maxScroll=S(this,e=>this.binding.read(e)?.maxScroll.read(e)??{maxScroll:0}),this._register(b(e=>{let t=this.binding.read(e);t&&this._isHidden.read(e)&&!t.shouldKeepAlive.read(e)&&this._clearBinding()}))}render(e,t,n,r,i){if(this._lastRender={renderedRange:e,scrollOffset:t,width:n,renderedViewport:r,context:i},this._isHidden.set(!1,void 0),!this._didRenderFail)try{this._render(e,t,n,r,i)}catch(e){this._didRenderFail=!0,oo(e)}}_render(e,t,n,r,i){let a=this.binding.get();if(!a){let e=this._manager.acquire(this.item),t=e.object;if(t.currentBinding.get())throw e.dispose(),new w(`Virtualized template pool returned a bound template`);let n;try{if(n=t.bind(this.item,{initialSize:this.size.get(),runWithScrollAnchor:(e,t)=>{if(!i)throw new w(`Cannot preserve a virtualized item scroll anchor without a render context`);i.runWithScrollAnchor(e,t)}}),n.item!==this.item||t.currentBinding.get()!==n)throw new w(`Virtualized template returned a binding for a different item`);let r=n;pn(t=>{this._delegate.onDidBind?.(r,t),this._templateReference.set(e,t)})}catch(r){throw(t.currentBinding.get()??n)?.dispose(),e.dispose(),r}a=n}a.render(e,t,n,r)}hide(){this._isHidden.set(!0,void 0),this.binding.get()?.hide()}_clearBinding(){let e=this._templateReference.get(),t=e?.object.currentBinding.get();if(e&&t){if(pn(e=>{this._delegate.onWillUnbind?.(t,e)}),t.hide(),t.dispose(),e.object.currentBinding.get())throw new w(`Virtualized binding did not release its template when disposed`);pn(e=>{this._templateReference.set(void 0,e)}),e.dispose()}}dispose(){this._clearBinding(),super.dispose()}},Gm=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set}acquire(){let e=this._unused.values().next().value??this._create();if(this._unused.delete(e),e.currentBinding.get())throw new w(`Cannot acquire a bound virtualized template`);this._used.add(e);let t=!1;return{object:e,dispose:()=>{if(!t){if(t=!0,e.currentBinding.get())throw new w(`Cannot pool a virtualized template with a current binding`);this._used.delete(e),this._unused.size>=5?e.dispose():this._unused.add(e)}}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}},Km=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},qm=function(e,t){return function(n,r){t(n,r,e)}},Jm=class extends Hm{constructor(e,t,n,r,a,o,s){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._variantConfiguration=r,this._optionsOverride=a,this._instantiationService=o,this._verticalStateUpdate=this._register(new i),this._observedEditorContentHeight=500,this._isSettingData=!1,this._viewModel=U(this,void 0),this._collapsed=S(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=U(this,500),this._itemHorizontalInsets=this._variantConfiguration.horizontalInsets,this.size=S(this,e=>this._collapsed.read(e)?this._headerHeight:this._editorContentHeight.read(e)+this._outerEditorHeight),this._modifiedContentWidth=U(this,0),this._modifiedWidth=U(this,0),this._originalContentWidth=U(this,0),this._originalWidth=U(this,0),this.maxScroll=S(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}});let c=G(164,`Binary file changed`);this._elements=k(`div.multiDiffEntry`,[k(`div.header@header`,[k(`div.header-content`,[k(`div.collapse-button@collapseButton`),k(`div.file-path`,[k(`div.title.modified.show-file-icons@primaryPath`,[]),k(`div.status.deleted@status`,[`R`]),k(`div.title.original.show-file-icons@secondaryPath`,[])]),k(`div.actions@actions`)])]),k(`div.editorParent`,[k(`div.editorContainer@editor`),k(`div.binary-file-placeholder@binaryFilePlaceholder`,{role:`group`,"aria-label":c},[k(`div.binary-file-placeholder-content`,[k(`span`,[c]),k(`div.binary-file-placeholder-actions@binaryFilePlaceholderActions`)])])])]),this.editor=this._register(this._instantiationService.createInstance(si,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{variant:this._variantConfiguration.diffEditorVariant,runWithOriginalEditorScrollAnchor:(e,t)=>this._runWithEditorScrollAnchor(()=>this._outerEditorHeight+this._getOriginalEditorLineTop(e),t),runWithModifiedEditorScrollAnchor:(e,t)=>this._runWithEditorScrollAnchor(()=>this._outerEditorHeight+this._getModifiedEditorLineTop(e),t)})),this.isModifedFocused=$o(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=$o(this.editor.getOriginalEditor()).isFocused,this.isBinaryFilePlaceholderFocused=U(this,!1);let l=this._register(Ia(this._elements.binaryFilePlaceholder));this._register(l.onDidFocus(()=>this.isBinaryFilePlaceholderFocused.set(!0,void 0))),this._register(l.onDidBlur(()=>this.isBinaryFilePlaceholderFocused.set(!1,void 0))),this.isFocused=S(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)||this.isBinaryFilePlaceholderFocused.read(e)),this._elements.binaryFilePlaceholder.tabIndex=0,this._workbenchUIElementFactory.openDiffEditor?(this._openBinaryDiffButton=this._register(new Le(this._elements.binaryFilePlaceholderActions,{...Jr,secondary:!0})),this._openBinaryDiffButton.label=G(165,`Open Diff`),this._register(this._openBinaryDiffButton.onDidClick(()=>{let e=this._viewModel.get();e?.originalUri&&e.modifiedUri&&this._workbenchUIElementFactory.openDiffEditor?.(e.originalUri,e.modifiedUri)}))):this._openBinaryDiffButton=void 0;let u=k(`div.multi-diff-resource-label-accessory`).root;this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath,`primary`,u)):void 0,this._elements.primaryPath.appendChild(u);let d=k(`div.multi-diff-resource-label-accessory`).root;this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath,`secondary`,d)):void 0,this._elements.secondaryPath.appendChild(d),this._dataStore=this._register(new A),this._headerHeight=this._variantConfiguration.headerHeight;let f=this._register(new Le(this._elements.collapseButton,{})),p=()=>this._viewModel.get()?.setActive(void 0);if(this._register(b(e=>{f.element.className=``,f.icon=this._collapsed.read(e)?Xa.chevronRight:Xa.chevronDown})),this._register(f.onDidClick(()=>{p(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._workbenchUIElementFactory.handleHeaderMiddleClick&&this._register(L(this._elements.header,z.AUXCLICK,e=>{if(e.button!==1)return;let t=this._viewModel.get(),n=t?.modifiedUri??t?.originalUri;n&&this._workbenchUIElementFactory.handleHeaderMiddleClick?.(n)&&mi.stop(e,!0)})),this._variantConfiguration.headerClickToCollapse){this._elements.header.tabIndex=0,this._elements.header.setAttribute(`role`,`button`),this._register(L(this._elements.header,z.MOUSE_ENTER,()=>this._elements.root.classList.add(`header-hovered`))),this._register(L(this._elements.header,z.MOUSE_LEAVE,()=>this._elements.root.classList.remove(`header-hovered`)));let e=this._register(Ia(this._elements.header));this._register(e.onDidFocus(()=>{this._elements.root.classList.add(`header-focused`),p()})),this._register(e.onDidBlur(()=>this._elements.root.classList.remove(`header-focused`))),this._register(L(this._elements.header,z.CLICK,e=>{p();let t=e.target;t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)||this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0))})),this._register(L(this._elements.header,z.KEY_DOWN,e=>{if(e.key===`Enter`||e.key===` `){p();let t=e.target;if(t instanceof Element&&(t.closest(`.actions`)||t.closest(`.collapse-button`)))return;e.preventDefault(),this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)}}))}this._register(b(e=>{let t=this._collapsed.read(e),n=this._viewModel.read(e),r=n?.isBinary===!0,i=!!(n?.originalUri&&n.modifiedUri&&this._openBinaryDiffButton);this._elements.editor.style.display=t||r?`none`:`block`,this._elements.binaryFilePlaceholder.style.display=!t&&r?`grid`:`none`,this._elements.binaryFilePlaceholder.tabIndex=i?-1:0,this._elements.binaryFilePlaceholderActions.style.display=i?``:`none`,this._variantConfiguration.headerClickToCollapse&&this._elements.header.setAttribute(`aria-expanded`,String(!t))})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{jr(e=>{this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),e),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),e)});let t=this._viewModel.get();this._isSettingData||t?.isBinary||!t?.diffEditorViewModel.isDiffUpToDate.get()||(this._observedEditorContentHeight=e.contentHeight,this._scheduleVerticalStateUpdate())})),this._register(b(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle(`active`,t);let n=this._viewModel.read(e)?.isFirst.read(e);this._elements.root.classList.toggle(`first-diff-entry`,n)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight+this._variantConfiguration.contentBottomPadding,this._contextKeyService=this._register(s.createScoped(this._elements.actions));let ee=So.multiDiffEditorItemAllUnchangedRegionsShown.bindTo(this._contextKeyService);this._register(b(e=>{ee.set(this.editor.allUnchangedRegionsShown.read(e))}));let m=this._register(this._instantiationService.createChild(new Fi([T,this._contextKeyService])));this._register(m.createInstance(hi,this._elements.actions,Ot.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ma(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),highlightToggledItems:!0,menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`navigation`)},actionViewItemProvider:(e,t)=>this._workbenchUIElementFactory.createToolbarActionViewItem?.(e,t)??Ha(m,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}getExpandedContentHeight(){return this._observedEditorContentHeight+this._outerEditorHeight}createBinding(e,t){this._bindingContext=t;try{this.setItem(e,t.initialSize)}catch(e){try{this.setItem(void 0)}finally{this._bindingContext=void 0}throw e}return new Ym(e,this)}_runWithEditorScrollAnchor(e,t){let n=this._bindingContext;if(!n)throw new w(`Cannot preserve a diff editor scroll anchor without an active item binding`);n.runWithScrollAnchor(e,e=>{t(),this._verticalStateUpdate.clear(),this._observedEditorContentHeight=this.editor.getContentHeight(),this._editorContentHeight.set(this._observedEditorContentHeight,e)})}_getOriginalEditorLineTop(e){let t=this.editor.getOriginalEditor();return e>t.getModel().getLineCount()?t.getContentHeight():t.getTopForLineNumber(e)}_getModifiedEditorLineTop(e){let t=this.editor.getModifiedEditor();return e>t.getModel().getLineCount()?t.getContentHeight():t.getTopForLineNumber(e)}setItem(e,t=0){this._verticalStateUpdate.clear();let n=this._optionsOverride,r=this._variantConfiguration.diffEditorOptions;function i(e){return{...r,...e,...n?.get(),hideOriginalLineNumbers:n?.get()?.hideOriginalLineNumbers??e.hideOriginalLineNumbers??r?.hideOriginalLineNumbers??!1,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:`hidden`,horizontal:`hidden`,handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){this._isSettingData=!0;try{jr(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()})}finally{this._isSettingData=!1}return}let a=e.documentDiffItem,o=e.isBinary?100:Math.max(0,Math.max(t,e.lastTemplateData.get().expandedContentHeight)-this._outerEditorHeight);this._observedEditorContentHeight=o,this._isSettingData=!0;try{jr(t=>{this._editorContentHeight.set(o,t),this._resourceLabel?.setUri(e.modifiedUri??e.originalUri,{strikethrough:e.modifiedUri===void 0});let n=!1,r=!1,s=!1,c=``;e.modifiedUri&&e.originalUri&&e.modifiedUri.path!==e.originalUri.path?(c=`R`,n=!0):e.modifiedUri?e.originalUri||(c=`A`,s=!0):(c=`D`,r=!0),this._elements.status.classList.toggle(`renamed`,n),this._elements.status.classList.toggle(`deleted`,r),this._elements.status.classList.toggle(`added`,s),this._elements.status.innerText=c,this._resourceLabel2?.setUri(n?e.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e,t),this.editor.updateOptions(i(a.options??{})),this.editor.setDiffModel(e.diffEditorViewModelRef,t)})}finally{this._isSettingData=!1}if(this._dataStore.add(b(t=>{if(e.isBinary)return;let n=e.diffEditorViewModel;n.isDiffUpToDate.read(t)&&((n.diff.read(t)?.mappings.length??0)>0&&n.unchangedRegions.read(t).length>0||(this._observedEditorContentHeight=this.editor.getContentHeight(),this._scheduleVerticalStateUpdate()))})),a.onOptionsDidChange&&this._dataStore.add(a.onOptionsDidChange(()=>{this.editor.updateOptions(i(a.options??{}))})),n&&this._dataStore.add(b(e=>{n.read(e),this.editor.updateOptions(i(a.options??{}))})),e.documentDiffItem.contextKeys)for(let[t,n]of Object.entries(e.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,n)}render(e,t,n,r){this._elements.root.style.visibility=`visible`,this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position=`absolute`;let i=e.length-this._headerHeight,a=Math.max(0,Math.min(r.start-e.start,i));this._elements.header.style.transform=`translateY(${a}px)`,jr(n=>{this.editor.layout({width:t-this._itemHorizontalInsets.left-this._itemHorizontalInsets.right,height:e.length-this._outerEditorHeight})}),this.editor.getOriginalEditor().setScrollTop(n),this._flushVerticalState(),this._elements.header.classList.toggle(`shadow`,a>0||n>0),this._elements.header.classList.toggle(`collapsed`,a===i)}_scheduleVerticalStateUpdate(){this._verticalStateUpdate.value||(this._verticalStateUpdate.value=Da(O(this._elements.root),()=>this._flushVerticalState()))}_flushVerticalState(){this._verticalStateUpdate.clear(),jr(e=>{this._editorContentHeight.set(this._observedEditorContentHeight,e)})}hide(){this._elements.root.classList.remove(`header-hovered`),this._elements.root.style.top=`-100000px`,this._elements.root.style.visibility=`hidden`}focusBinaryFilePlaceholder(){let e=this._viewModel.get();e?.originalUri&&e.modifiedUri&&this._openBinaryDiffButton?this._openBinaryDiffButton.focus():this._elements.binaryFilePlaceholder.focus()}unbind(e){if(this._viewModel.get()!==e)throw new w(`Cannot unbind a diff editor template from a different item`);this.setItem(void 0),this._bindingContext=void 0}};Jm=Km([qm(5,V),qm(6,T)],Jm);var Ym=class extends Vm{constructor(e,t){super(e),this._template=t,this.size=t.size,this.maxScroll=t.maxScroll,this.shouldKeepAlive=t.isFocused,this.editor=t.editor}render(e,t,n,r){this._template.render(e,n,t,r)}hide(){this._template.hide()}setScrollLeft(e){this._template.setScrollLeft(e)}getExpandedContentHeight(){return this._template.getExpandedContentHeight()}focus(){this.item.isBinary?this._template.focusBinaryFilePlaceholder():this.editor.focus()}dispose(){this._store.isDisposed||(this._template.unbind(this.item),super.dispose())}};function Xm(e){switch(e){case`noCardsNonCompact`:return{classNames:[`multiDiffEditor-standard`],horizontalInsets:{left:9,right:9},headerHeight:40,contentBottomPadding:0,headerClickToCollapse:!1};case`noCards`:return{classNames:[`multiDiffEditor-compact`],horizontalInsets:{left:0,right:0},headerHeight:32,contentBottomPadding:8,headerClickToCollapse:!0,diffEditorOptions:{hideOriginalLineNumbers:!0}};case`cards`:return{diffEditorVariant:`compact`,classNames:[`multiDiffEditor-compact`,`multiDiffEditor-card`],horizontalInsets:{left:9,right:9},headerHeight:40,contentBottomPadding:0,headerClickToCollapse:!0,diffEditorOptions:{hideOriginalLineNumbers:!0}}}}function Zm(e){return e}function Qm(e){rh(`viewportHeight`,e.viewportHeight);let t=e.leadingScrollSlack??0,n=e.trailingScrollSlack??0;rh(`leadingScrollSlack`,t),rh(`trailingScrollSlack`,n);let r=nh(e.itemHeights,e.itemGap),i=t+r+n,a=Math.max(0,i-e.viewportHeight),o=Math.max(0,Math.min(e.scrollTop,a)),s=qa.ofStartAndLength(o-t,e.viewportHeight),c=0,l=t,u=0,d=[];for(let t=0;t<e.itemHeights.length;t++){let n=e.itemHeights[t],r=Math.min(n,e.viewportHeight),i=n-r,a=qa.ofStartAndLength(c,n),o=qa.ofStartAndLength(l,r),f,p;a.isBefore(s)?(f=`before`,p=i):a.isAfter(s)?(f=`after`,p=0):(f=`visible`,p=Math.max(0,Math.min(s.start-a.start,i))),u+=p,d.push({contentRange:a,renderedRange:o,maxScrollOffset:i,scrollOffset:p,visibility:f}),t<e.itemHeights.length-1?(c+=n+e.itemGap,l+=r+e.itemGap):(c+=n,l+=r)}let f=o-u;return{revision:e.revision??Zm(0),scrollTop:o,logicalScrollHeight:r,scrollHeight:i,leadingScrollSlack:t,trailingScrollSlack:n,renderedHeight:l+n,contentViewport:s,renderedViewport:qa.ofStartAndLength(f,e.viewportHeight),hiddenContentHeightAboveViewport:u,items:d}}function $m(e,t){rh(`itemGap`,t);let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];rh(`itemHeights[${i}]`,a),n.push(qa.ofStartAndLength(r,a)),r+=a+(i<e.length-1?t:0)}return n}function eh(e,t,n,r,i,a,o){if(n.length!==r.length)throw new w(`Size edits require stable item identity and ordering`);let s=$m(n,i),c=$m(r,a),l=[];for(let e=0;e<s.length;e++)s[e].equals(c[e])||l.push({oldRange:s[e],newRange:c[e]});return{fromRevision:e,toRevision:t,edits:l,anchor:{revision:e,offset:o}}}function th(e,t){if(e.revision!==t.fromRevision)throw new w(`Cannot map layout revision ${e.revision} through revision ${t.fromRevision}`);let n=e.offset;for(let r of t.edits){if(e.offset<r.oldRange.start)break;if(r.oldRange.contains(e.offset)){let i=e.offset-r.oldRange.start;return n=i<r.newRange.length?r.newRange.start+i:r.newRange.start,{revision:t.toRevision,offset:n}}n=e.offset+r.newRange.endExclusive-r.oldRange.endExclusive}return{revision:t.toRevision,offset:n}}function nh(e,t){rh(`itemGap`,t);for(let t=0;t<e.length;t++)rh(`itemHeights[${t}]`,e[t]);return e.length===0?0:e.reduce((e,t)=>e+t,0)+t*(e.length-1)}function rh(e,t){if(!Number.isFinite(t)||t<0)throw new w(`${e} must be a finite non-negative number, got ${t}`)}var ih=100,ah=class extends F{constructor(e,t,n,r){super(),this._lastGeometryEdit=U(this,void 0),this._itemAnchorEditSignal=ha(this),this._revision=Zm(0),this._leadingScrollSlack=0,this._trailingScrollSlack=0,this._previousItemGap=0,this._lastScrollTop=0,this._clearScrollDirection=this._register(new Mo(()=>this._lastScrollDirection=void 0,ih)),this._isUpdating=!1,this.lastGeometryEdit=this._lastGeometryEdit,this._scrollableElements=k(`div.scrollContent`,[k(`div@content`,{style:{overflow:`hidden`,position:`relative`}}),k(`div.monaco-editor@overflowWidgetsDomNode`)]),this._scrollable=this._register(new g({forceIntegerValues:!1,scheduleAtNextAnimationFrame:t=>Da(O(e),t),smoothScrollDuration:100})),this._scrollableElement=this._register(new As(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.domNode=k(`div`,{},[this._scrollableElement.getDomNode()]).root,this._sizeObserver=this._register(new le(e,void 0)),this.scrollTop=Ci(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Ci(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._items=r({contentDomNode:this._scrollableElements.content,overflowWidgetsDomNode:this._scrollableElements.overflowWidgetsDomNode,scrollLeft:this.scrollLeft}),this._layout=U(this,Qm({revision:this._revision,scrollTop:0,viewportHeight:0,itemGap:0,itemHeights:[]})),this.layout=this._layout,this._scrollDimensions=U(this,{width:0,height:0,scrollWidth:0,scrollHeight:0}),this.scrollDimensions=this._scrollDimensions,this._register(b(e=>{this._sizeObserver.observe(t.read(e))})),this._register(b(e=>{this._itemAnchorEditSignal.read(e);let t=this._sizeObserver.width.read(e),r=this._sizeObserver.height.read(e),i=this._items.read(e),a=i.map(t=>t.size.read(e)),o=Rr(i,No(t=>t.maxScroll.read(e).maxScroll,ia))?.maxScroll.read(e).maxScroll??0,s=n.read(e),c=this.scrollTop.read(e);jr(e=>this._update(i,a,s,t,r,t+o,c,e))}))}setScrollPosition(e,t=!1){this._scrollableElement.setScrollPosition({...e,reuseAnimation:t})}setLogicalScrollPosition(e,t=!1){this.setScrollPosition({scrollTop:this._leadingScrollSlack+e},t)}getScrollPosition(){return this._scrollableElement.getScrollPosition()}_runWithItemScrollAnchor(e,t,n){let r=this._items.get().findIndex(t=>t===e);if(r===-1)throw new w(`Cannot anchor an item that is not in the compacted virtualized scroll view`);let i=this._layout.get().items[r].contentRange,a=t();if(!Number.isFinite(a)||a<0||a>i.length)throw new w(`Item anchor ${a} is outside item range ${i}`);let o={revision:this._revision,offset:i.start+a},s=this.getScrollPosition().scrollTop-this._leadingScrollSlack;this._runWithPendingAnchor({position:o,viewportOffset:o.offset-s,item:e,getItemOffset:t},e=>{n(e),t()!==a&&this._itemAnchorEditSignal.trigger(e)})}_runWithPendingAnchor(e,t){if(this._pendingAnchor)throw new w(`Cannot nest compacted virtualized scroll anchors`);this._pendingAnchor=e;try{jr(t)}finally{this._pendingAnchor===e&&(this._pendingAnchor=void 0)}}_update(e,t,n,r,i,a,o,s){if(!this._isUpdating){this._isUpdating=!0;try{let c=o,l=o-this._lastScrollTop;l!==0&&(this._lastScrollDirection=l<0?`up`:`down`,this._clearScrollDirection.schedule());let u=this._previousItemHeights,d=u!==void 0&&(n!==this._previousItemGap||!oh(u,t)),f=this._previousItems!==void 0&&this._previousItems.length===e.length&&this._previousItems.every((t,n)=>t===e[n]),p=this._previousItems!==void 0&&!f,ee=!1,m=!!this._pendingAnchor&&f;if(u&&(d||m)&&f){let r=nh(u,this._previousItemGap),a=o-this._leadingScrollSlack,l=this._pendingAnchor,f=this._lastScrollDirection===`up`,p=f?i:0,m=l?.item?`item`:l?`logical`:f?`viewportBottom`:`viewportTop`,h=l?.position.offset??Math.max(0,Math.min(a+p,r)),g=l?.viewportOffset??h-a,_=this._revision,v=d?Zm(_+1):_,te=eh(_,v,u,t,this._previousItemGap,n,h),y=th(te.anchor,te);if(l?.item&&l.getItemOffset){let r=e.findIndex(e=>e===l.item);if(r===-1)throw new w(`Compacted virtualized scroll anchor item was removed during its edit`);let i=$m(t,n)[r],a=l.getItemOffset();if(!Number.isFinite(a)||a<0||a>i.length)throw new w(`Mapped item anchor ${a} is outside item range ${i}`);y={revision:v,offset:i.start+a}}let ne=nh(t,n),re=y.offset-g,ie=Math.max(0,ne-i);this._leadingScrollSlack=Math.max(0,-re),this._trailingScrollSlack=Math.max(0,re-ie),c=this._leadingScrollSlack+re,this._revision=v,this._pendingAnchor=void 0,ee=!0,this._lastGeometryEdit.set({fromRevision:_,toRevision:v,edits:te.edits,anchorKind:m,anchorOffset:h,mappedAnchorOffset:y.offset,anchorViewportOffset:g,desiredScrollTop:c,appliedScrollTop:c,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack},s)}else if(d||p)d&&(this._revision=Zm(this._revision+1)),this._leadingScrollSlack=0,this._trailingScrollSlack=0,this._lastGeometryEdit.set(void 0,s);else if(l>0&&this._leadingScrollSlack>0){let e=Math.min(l,this._leadingScrollSlack);this._leadingScrollSlack-=e,c-=e}else if(l<0&&this._trailingScrollSlack>0){let e=nh(t,n),r=this._leadingScrollSlack+Math.max(0,e-i);this._trailingScrollSlack=Math.max(0,c-r)}let h=Qm({revision:this._revision,scrollTop:c,viewportHeight:i,itemGap:n,itemHeights:t,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack}),g={width:r,height:i,scrollWidth:a,scrollHeight:h.scrollHeight};this._scrollableElements.root.style.height=`${i}px`,this._scrollableElements.content.style.height=`${h.scrollHeight}px`,this._scrollable.setScrollDimensions(g,!0),(d||c!==o)&&this._scrollable.setScrollPositionNow({scrollTop:h.scrollTop});let _=this._scrollableElement.getScrollPosition().scrollTop;_!==h.scrollTop&&(h=Qm({revision:this._revision,scrollTop:_,viewportHeight:i,itemGap:n,itemHeights:t,leadingScrollSlack:this._leadingScrollSlack,trailingScrollSlack:this._trailingScrollSlack}));let v=this._lastGeometryEdit.get();ee&&v&&this._lastGeometryEdit.set({...v,appliedScrollTop:_},s),this._layout.set(h,s),this._scrollDimensions.set(g,s),this._render(e,h,r),this._previousItems=e,this._previousItemHeights=t,this._previousItemGap=n,this._lastScrollTop=h.scrollTop}finally{this._isUpdating=!1}}}_render(e,t,n){for(let r=0;r<e.length;r++){let i=e[r],a=t.items[r];a.visibility===`visible`?i.render(a.renderedRange,a.scrollOffset,n,t.renderedViewport,{runWithScrollAnchor:(e,t)=>this._runWithItemScrollAnchor(i,e,t)}):i.hide()}this._scrollableElements.content.style.transform=`translateY(${-t.renderedViewport.start}px)`}};function oh(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}var sh=class extends F{constructor(e){super(),this._logService=e,this._lastLoggedCollapsed=new Map,this._lastLoggedContentHeight=new Map,this._isEnabled=Ci(this,this._logService.onDidChangeLogLevel,()=>this._logService.getLevel()<=sa.Trace)}get isEnabled(){return this._isEnabled.get()}log(e,t){if(!this.isEnabled)return;let n=t?Object.entries(t).map(([e,t])=>`${e}: ${uh(t)}`).join(`, `):void 0;this._logService.trace(`[MultiDiffEditor] ${e}${n?` (${n})`:``}`)}logStateChanges(e){this._register(bn((t,n)=>{this._isEnabled.read(t)&&(n.add(I(()=>{this._lastLoggedCollapsed.clear(),this._lastLoggedContentHeight.clear()})),n.add(b(t=>{let n=e.viewModel.read(t);this.log(`view model changed`,{hasViewModel:!!n,isLoading:n?.isLoading.read(t),preserveFocusOnLoad:e.isPreserveFocusOnLoad()})})),n.add(b(t=>{let n=[];for(let r of e.items.read(t)){let e=r.collapsed.read(t),i=r.getKey();this._lastLoggedCollapsed.get(i)!==e&&(this._lastLoggedCollapsed.set(i,e),n.push(`${r.getLabel()}=${e}`))}n.length>0&&this.log(`collapsed state changed`,{changed:n})})),n.add(b(t=>{let n=e.getScrollTop(),r=[],i=0;for(let a of e.items.read(t)){let o=a.contentHeight.read(t),s=a.getKey(),c=this._lastLoggedContentHeight.get(s);if(c!==o){let e=i<n?` (above scroll offset)`:``;r.push(`${a.getLabel()}: ${c??`?`} -> ${o}${e}`),this._lastLoggedContentHeight.set(s,o)}i+=o+e.spaceBetweenPx}r.length>0&&this.log(`content height changed`,{changed:r,totalHeight:i,scrollTop:n})})))}))}};function ch(e){return e?va(e)||e.authority||e.scheme:`<none>`}function lh(e){if(e===void 0)return`<none>`;try{let[t,n]=JSON.parse(e),r=n??t;return r?ch(W.parse(r)):`<none>`}catch{return e}}function uh(e){return e===void 0?`<undefined>`:W.isUri(e)?ch(e):Array.isArray(e)?`[${e.map(uh).join(`, `)}]`:typeof e==`number`?String(Math.round(e*100)/100):typeof e==`object`?JSON.stringify(e):String(e)}var dh=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fh=function(e,t){return function(n,r){t(n,r,e)}},ph=class extends F{constructor(e,t,n,r,i,a,o,s,c,l,d){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=r,this._variantConfiguration=i,this._diffLayoutOptions=a,this._diffEditorOptions=o,this._paddingBottomPx=s,this._parentContextKeyService=c,this._parentInstantiationService=l,this._preserveFocusOnLoad=!1,this._hasAppliedPendingScrollState=!1,this._logger=this._register(new sh(d)),this._optionsOverride=S(this,e=>({...this._diffEditorOptions,...this._diffLayoutOptions.read(e)})),this._spaceBetweenPx=U(this,0);let f=this._paddingBottomPx.map(this,e=>({size:ea(e),maxScroll:ea({maxScroll:0}),render(){},hide(){}})),p,ee;this._scrollView=this._register(new ah(this._element,this._dimension,this._spaceBetweenPx,e=>{let t=S(this,e=>this._viewModel.read(e)?.items.read(e)??[]),n=this._register(new Um(t,e,{getId:e=>e,getTemplateId:()=>`diffEditor`,getUnboundSize:e=>S(e,t=>{let n=this._variantConfiguration.headerHeight;return e.collapsed.read(t)?n:e.isBinary?n+this._variantConfiguration.contentBottomPadding+100:e.lastTemplateData.read(t).expandedContentHeight}),createTemplate:()=>this._instantiationService.createInstance(Jm,e.contentDomNode,e.overflowWidgetsDomNode,this._workbenchUIElementFactory,this._variantConfiguration,this._optionsOverride),onDidBind:e=>{let t=e.item.lastTemplateData.get().selections;this._logger.log(`acquired editor template`,{file:ch(e.item.modifiedUri??e.item.originalUri),collapsed:e.item.collapsed.get(),expectedExpandedContentHeight:e.item.lastTemplateData.get().expandedContentHeight,selections:t?.length??0}),t&&e.editor.setSelections(t)},onWillUnbind:(e,t)=>{this._logger.log(`releasing editor template`,{file:ch(e.item.modifiedUri??e.item.originalUri),contentHeight:e.size.get()}),e.item.lastTemplateData.set({expandedContentHeight:e.getExpandedContentHeight(),selections:e.editor.getSelections()??void 0},t)}})),r=Wr(this,n.virtualizedItems,(t,n)=>{let r=n.add(new gh(t,e.scrollLeft,this._logger)),i=this._lastDocStates?.[r.getKey()];return i&&pn(e=>r.setViewState(i,e)),r}).recomputeInitiallyAndOnChange(this._store);return p=S(this,e=>{let t=r.read(e),n=new Map(t.map(e=>[e.viewModel,e])),i=t.filter(e=>this._lastDocStates?.[e.getKey()]!==void 0).length;return this._logger.log(`view items updated`,{items:t.length,restoredDocStates:i}),{items:t,getItem:e=>n.get(e)}}),ee=p.map(this,e=>e.items),S(this,e=>[...ee.read(e),f.read(e)])})),this._viewItemsInfo=p,this._viewItems=ee,this.scrollTop=this._scrollView.scrollTop,this.scrollLeft=this._scrollView.scrollLeft,this.layoutDebugState=S(this,e=>{let t=this._scrollView.layout.read(e),n=this._viewItems.read(e),r=this._scrollView.lastGeometryEdit.read(e);return{scrollLeft:this.scrollLeft.read(e),scrollDimensions:this._scrollView.scrollDimensions.read(e),layout:{revision:t.revision,scrollTop:t.scrollTop,logicalScrollHeight:t.logicalScrollHeight,scrollHeight:t.scrollHeight,renderedHeight:t.renderedHeight,leadingScrollSlack:t.leadingScrollSlack,trailingScrollSlack:t.trailingScrollSlack,contentViewport:hh(t.contentViewport),renderedViewport:hh(t.renderedViewport),hiddenContentHeightAboveViewport:t.hiddenContentHeightAboveViewport},geometryEdit:r?{...r,edits:r.edits.map(e=>({oldRange:hh(e.oldRange),newRange:hh(e.newRange)}))}:void 0,items:n.map((n,r)=>n.getLayoutDebugState(e,t.items[r]))}});let m=this._variantConfiguration.classNames.map(e=>`.${e}`).join(``);this._elements=k(`div.monaco-component.multiDiffEditor${m}`,{},[this._scrollView.domNode,k(`div.placeholder@placeholder`,{},[k(`div`)])]),this.activeControl=S(this,e=>{let t=this._viewModel.read(e)?.activeDiffItem.read(e);if(t)return this._viewItemsInfo.read(e).getItem(t).template.read(e)?.editor}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Fi([T,this._contextKeyService]))),this._contextKeyService.createKey(So.inMultiDiffEditor.key,!0),this._register(u(So.diffEditorAutomaticRenderSideBySide,this._contextKeyService,e=>this.activeControl.read(e)?.renderSideBySideInAutomaticMode.read(e)??!0)),this._register(u(So.diffEditorTemporaryInlineMode,this._contextKeyService,e=>this.activeControl.read(e)?.temporaryInlineMode.read(e)??!1)),this._lastDocStates={},this._register(bn((e,t)=>{let n=this._viewModel.read(e);if(n&&n.contextKeys)for(let[e,r]of Object.entries(n.contextKeys)){let n=this._contextKeyService.createKey(e,void 0);n.set(r),t.add(I(()=>n.reset()))}}));let h=this._parentContextKeyService.createKey(So.multiDiffEditorAllCollapsed.key,!1);this._register(b(e=>{let t=this._viewModel.read(e);if(t){let n=t.items.read(e).every(t=>t.collapsed.read(e));h.set(n)}}));let g=this._parentContextKeyService.createKey(So.multiDiffEditorRenderSideBySide.key,!0);this._register(b(e=>{let t=this._diffLayoutOptions.read(e)?.renderSideBySide;t!==void 0&&g.set(t)})),this._logger.logStateChanges({viewModel:this._viewModel,items:this._viewItems,spaceBetweenPx:this._spaceBetweenPx.get(),getScrollTop:()=>this._scrollView.getScrollPosition().scrollTop,isPreserveFocusOnLoad:()=>this._preserveFocusOnLoad});let _=S(e=>{if(this._viewItems.read(e).length>0)return;let t=this._viewModel.read(e);return!t||t.isLoading.read(e)?G(166,`Loading...`):G(167,`No Changed Files`)});this._register(b(e=>{let t=_.read(e);this._elements.placeholder.innerText=t??``,this._elements.placeholder.classList.toggle(`visible`,!!t)})),this._register(b(e=>{this._scrollView.scrollDimensions.read(e),this._applyPendingScrollState()})),e.replaceChildren(this._elements.root),this._register(I(()=>{e.replaceChildren()})),this._register(b(e=>{let t=this._viewModel.read(e);if(t&&!t.isLoading.read(e)){let n=t.items.read(e);if(n.length===0||t.activeDiffItem.read(e)||this._restorePendingActiveDiffItem(t,n))return;this._logger.log(`no active diff item after loading, selecting first change`,{items:n.length}),this._navigateToChange(`next`,!this._preserveFocusOnLoad)}}))}setScrollState(e){this._pendingScrollState=e,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0,this._applyPendingScrollState()}_applyPendingScrollState(){let e=this._pendingScrollState;if(!e)return;let t=this._scrollView.scrollDimensions.get(),n=this._scrollView.getScrollPosition(),r=e.top===void 0?n.scrollTop:Math.min(Math.max(0,e.top),Math.max(0,t.scrollHeight-t.height)),i=e.left===void 0?n.scrollLeft:Math.min(Math.max(0,e.left),Math.max(0,t.scrollWidth-t.width)),a=this._lastPendingScrollDimensions,o=!a||a.width!==t.width||a.height!==t.height||a.scrollWidth!==t.scrollWidth||a.scrollHeight!==t.scrollHeight;if(this._hasAppliedPendingScrollState&&!o&&(n.scrollTop!==r||n.scrollLeft!==i)){this._pendingScrollState=void 0,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0;return}this._scrollView.setScrollPosition({scrollLeft:e.left,scrollTop:e.top});let s=this._scrollView.getScrollPosition(),c=e.top===void 0||s.scrollTop>=e.top,l=e.left===void 0||s.scrollLeft>=e.left;c&&l?(this._pendingScrollState=void 0,this._hasAppliedPendingScrollState=!1,this._lastPendingScrollDimensions=void 0):(this._hasAppliedPendingScrollState=!0,this._lastPendingScrollDimensions=t),this._logger.log(`applied pending scroll state`,{requested:e,applied:{top:s.scrollTop,left:s.scrollLeft},landed:c&&l})}setPreserveFocusOnLoad(e){this._preserveFocusOnLoad=e}reveal(e,t){let n=this._viewItems.get(),r=n.findIndex(t=>t.viewModel.originalUri?.toString()===e.original?.toString()&&t.viewModel.modifiedUri?.toString()===e.modified?.toString());if(r===-1)throw new w(`Resource not found in diff editor`);let i=n[r];this._viewModel.get().activeDiffItem.setCache(i.viewModel,void 0);let a=0;for(let e=0;e<r;e++)a+=n[e].contentHeight.get()+this._spaceBetweenPx.get();this._logger.log(`reveal`,{file:i.getLabel(),index:r,scrollTop:`${this._scrollView.getScrollPosition().scrollTop} -> ${a}`,range:t?.range}),this._scrollView.setLogicalScrollPosition(a);let o=i.template.get()?.editor,s=`original`in e?o?.getOriginalEditor():o?.getModifiedEditor();s&&t?.range&&(s.revealRangeInCenter(t.range),mh(s,t.range))}getViewState(){let e={scrollState:{top:this.scrollTop.get(),left:this.scrollLeft.get()},docStates:Object.fromEntries(this._viewItems.get().map(e=>[e.getKey(),e.getViewState()])),activeDiffItemKey:this._viewModel.get()?.activeDiffItem.get()?.getKey()};if(this._logger.isEnabled){let t=Object.values(e.docStates??{});this._logger.log(`get view state`,{scrollTop:e.scrollState.top,scrollLeft:e.scrollState.left,docStates:t.length,collapsed:t.filter(e=>e.collapsed).length,activeDiffItem:lh(e.activeDiffItemKey)})}return e}setViewState(e,t){if(this._logger.isEnabled){let t=Object.values(e.docStates??{});this._logger.log(`set view state`,{scrollTop:e.scrollState.top,scrollLeft:e.scrollState.left,docStates:t.length,collapsed:t.filter(e=>e.collapsed).length,activeDiffItem:lh(e.activeDiffItemKey),viewItems:this._viewItems.get().length})}this.setScrollState(e.scrollState),this._lastDocStates=e.docStates,this._lastActiveDiffItemKey=e.activeDiffItemKey;let n=t=>{if(e.docStates)for(let n of this._viewItems.get()){let r=e.docStates[n.getKey()];r&&n.setViewState(r,t)}};t?n(t):pn(n);let r=this._viewModel.get();r&&this._restorePendingActiveDiffItem(r,r.items.get())}_restorePendingActiveDiffItem(e,t){let n=this._lastActiveDiffItemKey;if(n===void 0||t.length===0)return!1;this._lastActiveDiffItemKey=void 0;let r=t.find(e=>e.getKey()===n);return r?(this._logger.log(`restored active diff item`,{file:r.modifiedUri??r.originalUri,preserveFocus:this._preserveFocusOnLoad}),e.activeDiffItem.setCache(r,void 0),this._preserveFocusOnLoad||this._viewItemsInfo.get().getItem(r).binding.get()?.focus(),!0):(this._logger.isEnabled&&this._logger.log(`persisted active diff item not found`,{key:lh(n),availableKeys:t.map(e=>lh(e.getKey()))}),!1)}_navigateToChange(e,t=!0){let n=this._viewItems.get();if(n.length===0)return;let r=this._viewModel.get()?.activeDiffItem.get(),i=r?n.findIndex(e=>e.viewModel===r):-1;if(this._logger.log(`navigate to change`,{direction:e,focusEditor:t,currentIndex:i,items:n.length}),i===-1){this._goToFile(0,`first`,t);return}let a=n[i];a.viewModel.collapsed.get()&&(this._logger.log(`expanding collapsed item to navigate within it`,{file:a.getLabel()}),a.viewModel.collapsed.set(!1,void 0));let o=a.template.get()?.editor;if(o?.getDiffComputationResult()?.changes2?.length){let t=o.getModifiedEditor().getPosition()?.lineNumber||1,n=o.getDiffComputationResult().changes2;if(e===`next`?n.some(e=>e.modified.startLineNumber>t):n.some(e=>e.modified.endLineNumberExclusive<=t)){o.goToDiff(e);return}}let s=(i+(e===`next`?1:-1)+n.length)%n.length;this._goToFile(s,e===`next`?`first`:`last`,t)}_goToFile(e,t,n=!0){let r=this._viewItems.get()[e],i=r.viewModel.collapsed.get();this._logger.log(`go to file`,{file:r.getLabel(),index:e,position:t,focusEditor:n,wasCollapsed:i}),i&&r.viewModel.collapsed.set(!1,void 0),this.reveal({original:r.viewModel.originalUri,modified:r.viewModel.modifiedUri});let a=r.template.get()?.editor;if(a?.getDiffComputationResult()?.changes2?.length){if(t===`first`)a.revealFirstDiff();else{let e=a.getDiffComputationResult().changes2.at(-1),t=a.getModifiedEditor();t.setPosition({lineNumber:e.modified.startLineNumber,column:1}),t.revealLineInCenter(e.modified.startLineNumber)}}n&&r.binding.get()?.focus()}};ph=dh([fh(8,T),fh(9,V),fh(10,Eo)],ph);function mh(e,t){let n=e.getModel(),r=e.createDecorationsCollection([{range:t,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{e.getModel()===n&&r.clear()},350)}function hh(e){return{start:e.start,endExclusive:e.endExclusive}}var gh=class extends F{get collapsed(){return this.viewModel.collapsed}getLayoutDebugState(e,t){let n=this.binding.read(e);return{key:this.getKey(),label:this.getLabel(),originalUri:this.viewModel.originalUri?.toString()??null,modifiedUri:this.viewModel.modifiedUri?.toString()??null,collapsed:this.collapsed.read(e),hasTemplate:n!==void 0,verticalState:{contentHeight:this.size.read(e),itemViewportOffset:t.scrollOffset},maxScroll:this.maxScroll.read(e).maxScroll,layout:{contentRange:hh(t.contentRange),renderedRange:hh(t.renderedRange),maxScrollOffset:t.maxScrollOffset,scrollOffset:t.scrollOffset,visibility:t.visibility}}}constructor(e,t,n){super(),this._managedItem=e,this._scrollLeft=t,this._logger=n,this.size=e.size,this.contentHeight=this.size,this.maxScroll=e.maxScroll,this.template=e.template,this.binding=e.binding,this.viewModel=e.item,this._isFocused=S(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(b(e=>{let t=this._scrollLeft.read(e);this.binding.read(e)?.setScrollLeft(t)}))}toString(){return`VirtualViewItem(${this.viewModel.modifiedUri?.toString()??this.viewModel.originalUri?.toString()})`}getKey(){return this.viewModel.getKey()}getLabel(){return ch(this.viewModel.modifiedUri??this.viewModel.originalUri)}getViewState(){return pn(e=>{this._updateTemplateData(e)}),{collapsed:this.viewModel.collapsed.get(),selections:this.viewModel.lastTemplateData.get().selections}}setViewState(e,t){this._logger.log(`item view state restored`,{file:this.getLabel(),collapsed:e.collapsed,selections:e.selections?.length??0}),this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),r=e.selections?.map(Ei.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:r},t);let i=this.binding.get();i&&r&&i.editor.setSelections(r)}_updateTemplateData(e){let t=this.binding.get();t&&this.viewModel.lastTemplateData.set({expandedContentHeight:t.getExpandedContentHeight(),selections:t.editor.getSelections()??void 0},e)}hide(){this._managedItem.hide()}render(e,t,n,r,i){this._managedItem.render(e,t,n,r,i)}},_h=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},vh=function(e,t){return function(n,r){t(n,r,e)}},yh=class extends F{constructor(e,t,n,r){super(),this._element=e,this._workbenchUIElementFactory=t,this._options=n,this._instantiationService=r,this._dimension=U(this,void 0),this._viewModel=U(this,void 0),this._diffLayoutOptions=U(this,void 0),this._paddingBottomPx=U(this,0),this._widgetImplDisposable=this._register(new i),this._variant=this._options.variant;let a=this._createWidgetImpl(ph);this._widgetImplDisposable.value=a,this._widgetImplValue=U(this,a),this._widgetImpl=this._widgetImplValue;let o=!0;this._register(b(e=>{let t=jt(ph);o?o=!1:this._replaceWidgetImpl(t)}))}_createWidgetImpl(e){return this._instantiationService.createInstance(e,this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory,Xm(this._variant),this._diffLayoutOptions,this._options.diffEditorOptions,this._paddingBottomPx)}_replaceWidgetImpl(e){let t=this._widgetImplValue.get(),n=t.getViewState(),r=this._viewModel.get(),i=t.activeControl.get(),a=i?.getOriginalEditor().hasTextFocus()?`original`:i?.getModifiedEditor().hasTextFocus()?`modified`:void 0;this._viewModel.set(void 0,void 0),this._widgetImplDisposable.clear();let o=this._createWidgetImpl(e);this._widgetImplDisposable.value=o,o.setPreserveFocusOnLoad(!0),pn(e=>{this._viewModel.set(r,e),o.setViewState(n,e)}),a===`original`?o.activeControl.get()?.getOriginalEditor().focus():a===`modified`&&o.activeControl.get()?.getModifiedEditor().focus(),o.setPreserveFocusOnLoad(!1),this._widgetImplValue.set(o,void 0)}};yh=_h([vh(3,V)],yh);function bh(e,t,n){return Q.initialize(n||{}).createInstance(Lm,e,t)}function xh(e){return Q.get(R).onCodeEditorAdd(t=>{e(t)})}function Sh(e){return Q.get(R).onDiffEditorAdd(t=>{e(t)})}function Ch(){return Q.get(R).listCodeEditors()}function wh(){return Q.get(R).listDiffEditors()}function Th(e,t,n){return Q.initialize(n||{}).createInstance(Rm,e,t)}function Eh(e,t){let n=Q.initialize(t||{});return new yh(e,{},{variant:`noCardsNonCompact`},n)}function Dh(e){if(typeof e.id!=`string`||typeof e.run!=`function`)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return Be.registerCommand(e.id,e.run)}function Oh(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=N.deserialize(e.precondition),n=(n,...r)=>tr.runEditorCommand(n,r,t,(t,n,r)=>Promise.resolve(e.run(n,...r))),r=new A;if(r.add(Be.registerCommand(e.id,n)),e.contextMenuGroupId){let n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};r.add(Yt.appendMenuItem(Ot.EditorContext,n))}if(Array.isArray(e.keybindings)){let n=Q.get(Jt);if(!(n instanceof lm))console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`);else{let i=N.and(t,N.deserialize(e.keybindingContext));r.add(n.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:i}))))}}return r}function kh(e){return Ah([e])}function Ah(e){let t=Q.get(Jt);return t instanceof lm?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:N.deserialize(e.when)}))):(console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),F.None)}function jh(e,t,n){let r=Q.get(j),i=r.getLanguageIdByMimeType(t)||t;return zm(Q.get(Ho),r,e,i,n)}function Mh(e,t){let n=Q.get(j),r=n.getLanguageIdByMimeType(t)||t||`plaintext`;e.setLanguage(n.createById(r))}function Nh(e,t,n){e&&Q.get(Ut).changeOne(t,e.uri,n)}function Ph(e){Q.get(Ut).changeAll(e,[])}function Fh(e){return Q.get(Ut).read(e)}function Ih(e){return Q.get(Ut).onMarkerChanged(e)}function Lh(e){return Q.get(Ho).getModel(e)}function Rh(){return Q.get(Ho).getModels()}function zh(e){return Q.get(Ho).onModelAdded(e)}function Bh(e){return Q.get(Ho).onModelRemoved(e)}function Vh(e){return Q.get(Ho).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function Hh(e){return Rs(Q.get(Ho),Q.get(dt),e)}function Uh(e,t){let n=Q.get(j),r=Q.get(or);return mc.colorizeElement(r,n,e,t).then(()=>{r.registerEditorContainer(e)})}function Wh(e,t,n){let r=Q.get(j);return Q.get(or).registerEditorContainer(tn.document.body),mc.colorize(r,e,t,n)}function Gh(e,t,n=4){return Q.get(or).registerEditorContainer(tn.document.body),mc.colorizeModelLine(e,t,n)}function Kh(e){return ca.get(e)||{getInitialState:()=>tt,tokenize:(t,n,r)=>St(e,r)}}function qh(e,t){ca.getOrCreate(t);let n=Kh(t),r=ao(e),i=[],a=n.getInitialState();for(let e=0,t=r.length;e<t;e++){let t=r[e],o=n.tokenize(t,!0,a);i[e]=o.tokens,a=o.endState}return i}function Jh(e,t){Q.get(or).defineTheme(e,t)}function Yh(e){Q.get(or).setTheme(e)}function Xh(){Ka.clearAllFontInfos()}function Zh(e,t){return Be.registerCommand({id:e,handler:t})}function Qh(e){return Q.get(as).registerOpener({async open(t){return typeof t==`string`&&(t=W.parse(t)),e.open(t)}})}function $h(e){return Q.get(R).registerCodeEditorOpenHandler(async(t,n,r)=>{if(!n)return null;let i=t.options?.selection,a;return i&&typeof i.endLineNumber==`number`&&typeof i.endColumn==`number`?a=i:i&&(a={lineNumber:i.startLineNumber,column:i.startColumn}),await e.openCodeEditor(n,t.resource,a)?n:null})}function eg(){return{create:bh,getEditors:Ch,getDiffEditors:wh,onDidCreateEditor:xh,onDidCreateDiffEditor:Sh,createDiffEditor:Th,addCommand:Dh,addEditorAction:Oh,addKeybindingRule:kh,addKeybindingRules:Ah,createModel:jh,setModelLanguage:Mh,setModelMarkers:Nh,getModelMarkers:Fh,removeAllMarkers:Ph,onDidChangeMarkers:Ih,getModels:Rh,getModel:Lh,onDidCreateModel:zh,onWillDisposeModel:Bh,onDidChangeModelLanguage:Vh,createWebWorker:Hh,colorizeElement:Uh,colorize:Wh,colorizeModelLine:Gh,tokenize:qh,defineTheme:Jh,setTheme:Yh,remeasureFonts:Xh,registerCommand:Zh,registerLinkOpener:Qh,registerEditorOpener:$h,AccessibilitySupport:ri,ContentWidgetPositionPreference:Ua,CursorChangeReason:Do,DefaultEndOfLine:Hr,EditorAutoIndentStrategy:Jo,EditorOption:Yr,EndOfLinePreference:di,EndOfLineSequence:Qa,MinimapPosition:_n,MinimapSectionHeaderStyle:ce,MouseTargetType:ds,OverlayWidgetPositionPreference:he,OverviewRulerLane:Ht,GlyphMarginLane:xa,RenderLineNumbersType:qi,RenderMinimap:kt,ScrollbarVisibility:Zt,ScrollType:It,TextEditorCursorBlinkingStyle:ne,TextEditorCursorStyle:Wn,TrackedRangeStickiness:Ye,WrappingIndent:Rn,InjectedTextCursorStops:xr,PositionAffinity:ee,ShowLightbulbIconMode:Pe,TextDirection:Ps,ConfigurationChangedEvent:Gi,BareFontInfo:te,FontInfo:qe,TextModelResolvedOptions:Ar,FindMatch:gi,ApplyUpdateResult:p,EditorZoom:In,createMultiFileDiffEditor:Eh,EditorType:Fs,EditorOptions:Pt}}function tg(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function ng(e,t){return typeof e==`boolean`?e:t}function rg(e,t){return typeof e==`string`?e:t}function ig(e){let t={};for(let n of e)t[n]=!0;return t}function ag(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=ig(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function og(e,t,n){t=t.replace(/@@/g,``);let r=0,i;do i=!1,t=t.replace(/@(\w+)/g,function(n,r){i=!0;let a=``;if(typeof e[r]==`string`)a=e[r];else if(e[r]&&e[r]instanceof RegExp)a=e[r].source;else if(e[r]===void 0)throw q(e,`language definition does not contain attribute '`+r+`', used at: `+t);else throw q(e,`attribute reference '`+r+`' must be a string, used at: `+t);return Ws(a)?``:`(?:`+a+`)`}),r++;while(i&&r<5);t=t.replace(/\x01/g,`@`);let a=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,r=null;return i=>(r&&n===i||(n=i,r=new RegExp(Ys(e,t,i),a)),r)}return new RegExp(t,a)}function sg(e,t,n,r){if(r<0)return e;if(r<t.length)return t[r];if(r>=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r<e.length)return e[r]}return null}function cg(e,t,n,r){let i=-1,a=n,o=n.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(i=parseInt(o[3]),o[2]&&(i+=100)),a=o[4]);let s=`~`,c=a;!a||a.length===0?(s=`!=`,c=``):/^\w*$/.test(c)?s=`==`:(o=a.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(s=o[1],c=o[2]));let l;if((s===`~`||s===`!~`)&&/^(\w|\|)*$/.test(c)){let t=ag(c.split(`|`),e.ignoreCase);l=function(e){return s===`~`?t(e):!t(e)}}else if(s===`@`||s===`!@`){let n=e[c];if(!n)throw q(e,`the @ match target '`+c+`' is not defined, in rule: `+t);if(!tg(function(e){return typeof e==`string`},n))throw q(e,`the @ match target '`+c+`' must be an array of strings, in rule: `+t);let r=ag(n,e.ignoreCase);l=function(e){return s===`@`?r(e):!r(e)}}else if(s===`~`||s===`!~`){if(c.indexOf(`$`)<0){let t=og(e,`^`+c+`$`,!1);l=function(e){return s===`~`?t.test(e):!t.test(e)}}else l=function(t,n,r,i){return og(e,`^`+Js(e,c,n,r,i)+`$`,!1).test(t)}}else if(c.indexOf(`$`)<0){let t=Gs(e,c);l=function(e){return s===`==`?e===t:e!==t}}else{let t=Gs(e,c);l=function(n,r,i,a,o){let c=Js(e,t,r,i,a);return s===`==`?n===c:n!==c}}return i===-1?{name:n,value:r,test:function(e,t,n,r){return l(e,e,t,n,r)}}:{name:n,value:r,test:function(e,t,n,r){let a=sg(e,t,n,i);return l(a||``,e,t,n,r)}}}function lg(e,t,n){if(!n)return{token:``};if(typeof n==`string`)return n;if(n.token||n.token===``){if(typeof n.token!=`string`)throw q(e,`a 'token' attribute must be of type string, in rule: `+t);{let r={token:n.token};if(n.token.indexOf(`$`)>=0&&(r.tokenSubst=!0),typeof n.bracket==`string`){if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw q(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t)}if(n.next){if(typeof n.next!=`string`)throw q(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!Zs(e,Js(e,i,``,[],``))))throw q(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i<a;i++)r[i]=lg(e,t,n[i]);return{group:r}}if(n.cases){let r=[],i=!1;for(let a in n.cases)if(n.cases.hasOwnProperty(a)){let o=lg(e,t,n.cases[a]);a===`@default`||a===`@`||a===``?r.push({test:void 0,value:o,name:a}):a===`@eos`?r.push({test:function(e,t,n,r){return r},value:o,name:a}):r.push(cg(e,t,a,o)),i||=!ke(o)&&(o.hasEmbeddedEndInCases||[`@pop`,`@popall`].includes(o.nextEmbedded||``))}let a=e.defaultToken;return{hasEmbeddedEndInCases:i,test:function(e,t,n,i){for(let a of r)if(!a.test||a.test(e,t,n,i))return a.value;return a}}}throw q(e,`an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: `+t)}var ug=class{constructor(e){this.regex=RegExp(``),this.action={token:``},this.matchOnlyAtLineStart=!1,this.name=``,this.name=e}setRegex(e,t){let n;if(typeof t==`string`)n=t;else if(t instanceof RegExp)n=t.source;else throw q(e,`rules must start with a match string or regular expression: `+this.name);this.matchOnlyAtLineStart=n.length>0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=og(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`,!0)}setAction(e,t){this.action=lg(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function dg(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={languageId:e,includeLF:ng(t.includeLF,!1),noThrow:!1,maxStack:100,start:typeof t.start==`string`?t.start:null,ignoreCase:ng(t.ignoreCase,!1),unicode:ng(t.unicode,!1),tokenPostfix:rg(t.tokenPostfix,`.`+e),defaultToken:rg(t.defaultToken,`source`),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw q(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw q(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new ug(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3){if(t.setRegex(r,s[0]),s.length>=3){if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw q(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e)}else t.setAction(r,s[1])}else{if(!s.regex)throw q(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=ng(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw q(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw q(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw q(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+`
420
420
  hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:Gs(n,t.open),close:Gs(n,t.close)});else throw q(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function fg(e){Rt.registerLanguage(e)}function pg(){let e=[];return e=e.concat(Rt.getLanguages()),e}function mg(e){return Q.get(j).languageIdCodec.encodeLanguageId(e)}function hg(e,t,n){return _t(e,t,n,!0,void 0,void 0)}function gg(e,t){return Q.withServices(()=>{let n=Q.get(j).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function _g(e,t){return Q.withServices(()=>{let n=Q.get(j).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function vg(e,t){if(!Q.get(j).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return Q.get(ue).register(e,t,100)}var yg=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return bg.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new ot(r.tokens,[],r.endState)}},bg=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i<a;i++){let a=e[i],o=a.startIndex;i===0?o=0:o<r&&(o=r),n[i]=new Vr(o,a.scopes,t),r=o}return n}static adaptTokenize(t,n,r,i){let a=n.tokenize(r,i),o=e._toClassicTokens(a.tokens,t),s;return s=a.endState.equals(i)?i:a.endState,new Ko(o,s)}tokenize(t,n,r){return e.adaptTokenize(this._languageId,this._actual,t,r)}_toBinaryTokens(e,t){let n=e.encodeLanguageId(this._languageId),r=this._standaloneThemeService.getColorTheme().tokenTheme,i=[],a=0,o=0;for(let e=0,s=t.length;e<s;e++){let s=t[e],c=r.match(n,s.scopes)|1024;if(a>0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l<o&&(l=o),i[a++]=l,i[a++]=c,o=l}let s=new Uint32Array(a);for(let e=0;e<a;e++)s[e]=i[e];return s}tokenizeEncoded(e,t,n){let r=this._actual.tokenize(e,n),i=this._toBinaryTokens(this._languageService.languageIdCodec,r.tokens),a;return a=r.endState.equals(n)?n:r.endState,new ot(i,[],a)}};function xg(e){return typeof e.getInitialState==`function`}function Sg(e){return`tokenizeEncoded`in e}function Cg(e){return e&&typeof e.then==`function`}function wg(e){let t=Q.get(or);if(e){let n=[null];for(let t=1,r=e.length;t<r;t++)n[t]=Ve.fromHex(e[t]);t.setColorMapOverride(n)}else t.setColorMapOverride(null)}function Tg(e,t){return Sg(t)?new yg(e,t):new bg(e,t,Q.get(j),Q.get(or))}function Eg(e,t){let n=new Lo(async()=>{let n=await Promise.resolve(t.create());return n?xg(n)?Tg(e,n):new dc(Q.get(j),Q.get(or),e,dg(e,n),Q.get(K)):null});return ca.registerFactory(e,n)}function Dg(e,t){if(!Q.get(j).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return Cg(t)?Eg(e,{create:()=>t}):ca.register(e,Tg(e,t))}function Og(e,t){return Cg(t)?Eg(e,{create:()=>t}):ca.register(e,(t=>new dc(Q.get(j),Q.get(or),e,dg(e,t),Q.get(K)))(t))}function kg(e,t){return Q.get(E).referenceProvider.register(e,t)}function Ag(e,t){return Q.get(E).renameProvider.register(e,t)}function jg(e,t){return Q.get(E).newSymbolNamesProvider.register(e,t)}function Mg(e,t){return Q.get(E).signatureHelpProvider.register(e,t)}function Ng(e,t){return Q.get(E).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new vi(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new vi(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function Pg(e,t){return Q.get(E).documentSymbolProvider.register(e,t)}function Fg(e,t){return Q.get(E).documentHighlightProvider.register(e,t)}function Ig(e,t){return Q.get(E).linkedEditingRangeProvider.register(e,t)}function Lg(e,t){return Q.get(E).definitionProvider.register(e,t)}function Rg(e,t){return Q.get(E).implementationProvider.register(e,t)}function zg(e,t){return Q.get(E).typeDefinitionProvider.register(e,t)}function Bg(e,t){return Q.get(E).codeLensProvider.register(e,t)}function Vg(e,t,n){return Q.get(E).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=Q.get(Ut).read({resource:e.uri}).filter(e=>vi.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function Hg(e,t){return Q.get(E).documentFormattingEditProvider.register(e,t)}function Ug(e,t){return Q.get(E).documentRangeFormattingEditProvider.register(e,t)}function Wg(e,t){return Q.get(E).onTypeFormattingEditProvider.register(e,t)}function Gg(e,t){return Q.get(E).linkProvider.register(e,t)}function Kg(e,t){return Q.get(E).completionProvider.register(e,t)}function qg(e,t){return Q.get(E).colorProvider.register(e,t)}function Jg(e,t){return Q.get(E).foldingRangeProvider.register(e,t)}function Yg(e,t){return Q.get(E).declarationProvider.register(e,t)}function Xg(e,t){return Q.get(E).selectionRangeProvider.register(e,t)}function Zg(e,t){return Q.get(E).documentSemanticTokensProvider.register(e,t)}function Qg(e,t){return Q.get(E).documentRangeSemanticTokensProvider.register(e,t)}function $g(e,t){return Q.get(E).inlineCompletionsProvider.register(e,t)}function e_(e,t){return Q.get(E).inlayHintsProvider.register(e,t)}function t_(){return{register:fg,getLanguages:pg,onLanguage:gg,onLanguageEncountered:_g,getEncodedLanguageId:mg,score:hg,setLanguageConfiguration:vg,setColorMap:wg,registerTokensProviderFactory:Eg,setTokensProvider:Dg,setMonarchTokensProvider:Og,registerReferenceProvider:kg,registerRenameProvider:Ag,registerNewSymbolNameProvider:jg,registerCompletionItemProvider:Kg,registerSignatureHelpProvider:Mg,registerHoverProvider:Ng,registerDocumentSymbolProvider:Pg,registerDocumentHighlightProvider:Fg,registerLinkedEditingRangeProvider:Ig,registerDefinitionProvider:Lg,registerImplementationProvider:Rg,registerTypeDefinitionProvider:zg,registerCodeLensProvider:Bg,registerCodeActionProvider:Vg,registerDocumentFormattingEditProvider:Hg,registerDocumentRangeFormattingEditProvider:Ug,registerOnTypeFormattingEditProvider:Wg,registerLinkProvider:Gg,registerColorProvider:qg,registerFoldingRangeProvider:Jg,registerDeclarationProvider:Yg,registerSelectionRangeProvider:Xg,registerDocumentSemanticTokensProvider:Zg,registerDocumentRangeSemanticTokensProvider:Qg,registerInlineCompletionsProvider:$g,registerInlayHintsProvider:e_,DocumentHighlightKind:ua,CompletionItemKind:bo,CompletionItemTag:Li,CompletionItemInsertTextRule:Ma,SymbolKind:xt,SymbolTag:ln,IndentAction:bi,CompletionTriggerKind:Dr,SignatureHelpTriggerKind:$e,InlayHintKind:is,InlineCompletionTriggerKind:ys,CodeActionTriggerType:Bo,NewSymbolNameTag:Dn,NewSymbolNameTriggerKind:Ce,PartialAcceptTriggerKind:ta,HoverVerbosityAction:Oi,InlineCompletionEndOfLifeReasonKind:Es,InlineCompletionHintStyle:Ir,FoldingRangeKind:ur,SelectedSuggestionInfo:Er,EditDeltaInfo:hn}}var n_=Ls({CancellationTokenSource:()=>i_,Emitter:()=>a_,KeyCode:()=>o_,KeyMod:()=>s_,MarkerSeverity:()=>f_,MarkerTag:()=>p_,Position:()=>c_,Range:()=>l_,Selection:()=>u_,SelectionDirection:()=>d_,Token:()=>h_,Uri:()=>m_,editor:()=>g_,languages:()=>__});Pt.wrappingIndent.defaultValue=0,Pt.glyphMargin.defaultValue=!1,Pt.autoIndent.defaultValue=3,Pt.overviewRulerLanes.defaultValue=2,Ao.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var r_=n();r_.editor=eg(),r_.languages=t_();var i_=r_.CancellationTokenSource,a_=r_.Emitter,o_=r_.KeyCode,s_=r_.KeyMod,c_=r_.Position,l_=r_.Range,u_=r_.Selection,d_=r_.SelectionDirection,f_=r_.MarkerSeverity,p_=r_.MarkerTag,m_=r_.Uri,h_=r_.Token,g_=r_.editor,__=r_.languages,v_=es(),y_=globalThis;(v_?.globalAPI||typeof y_.define==`function`&&y_.define.amd)&&(y_.monaco=r_),y_.require!==void 0&&typeof y_.require.config==`function`&&y_.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});export{__ as n,n_ as t};