@loicngr/kobo 1.11.43 → 1.11.44

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 (144) hide show
  1. package/AGENTS.md +36 -1
  2. package/CHANGELOG.md +6 -0
  3. package/dist/mcp-server/kobo-tasks-handlers.js +31 -74
  4. package/dist/mcp-server/kobo-tasks-server.js +51 -4
  5. package/dist/server/db/auto-loop-schema.js +44 -0
  6. package/dist/server/db/migrations.js +4 -0
  7. package/dist/server/db/review-return-schema.js +10 -0
  8. package/dist/server/db/schema.js +4 -0
  9. package/dist/server/index.js +10 -9
  10. package/dist/server/routes/auto-loop-messages.js +51 -0
  11. package/dist/server/routes/workspaces.js +46 -136
  12. package/dist/server/services/agent/engines/claude-code/engine.js +1 -0
  13. package/dist/server/services/agent/engines/codex/engine.js +91 -31
  14. package/dist/server/services/agent/orchestrator.js +237 -88
  15. package/dist/server/services/agent/session-controller.js +42 -2
  16. package/dist/server/services/auto-loop-message-service.js +79 -0
  17. package/dist/server/services/auto-loop-service.js +225 -86
  18. package/dist/server/services/auto-loop-state-service.js +30 -0
  19. package/dist/server/services/cron-service.js +30 -16
  20. package/dist/server/services/quota-backoff-service.js +42 -10
  21. package/dist/server/services/review-return-service.js +64 -0
  22. package/dist/server/services/review-service.js +187 -0
  23. package/dist/server/services/settings-service.js +3 -3
  24. package/dist/server/services/task-mutations.js +186 -0
  25. package/dist/server/services/wakeup-service.js +16 -1
  26. package/dist/server/services/workspace-message-service.js +16 -2
  27. package/dist/server/services/workspace-service.js +25 -36
  28. package/dist/shared/auto-loop-prompts.js +22 -11
  29. package/dist/shared/auto-loop-types.js +1 -0
  30. package/dist/shared/review.js +6 -0
  31. package/dist/shared/task-verification.js +11 -0
  32. package/package.json +12 -12
  33. package/src/client/dist/pwa/assets/{ActivityFeed-D1e-zV3O.js → ActivityFeed-D_y4aikp.js} +1 -1
  34. package/src/client/dist/pwa/assets/{ChangelogPage-DX1WGFea.js → ChangelogPage-DSKCvpr2.js} +1 -1
  35. package/src/client/dist/pwa/assets/{ClosePopup-BqW5dy-O.js → ClosePopup-CWjIRHxu.js} +1 -1
  36. package/src/client/dist/pwa/assets/{ComparisonPanel-B4ne55Xj.js → ComparisonPanel-DDxcsxyC.js} +1 -1
  37. package/src/client/dist/pwa/assets/{CreatePage-Bx_GpUni.js → CreatePage-DKVEknbL.js} +2 -2
  38. package/src/client/dist/pwa/assets/{DashboardPage-Cv6HJEcO.js → DashboardPage-Dg2s9nnv.js} +1 -1
  39. package/src/client/dist/pwa/assets/{DiffViewer-COwGxPt6.js → DiffViewer-BSzNScIr.js} +4 -4
  40. package/src/client/dist/pwa/assets/{DocumentsPanel-DCXpLLb7.js → DocumentsPanel-DfEoI_f7.js} +1 -1
  41. package/src/client/dist/pwa/assets/{DrawerToggleButton-DRL3RCkM.js → DrawerToggleButton-D85PwhKb.js} +1 -1
  42. package/src/client/dist/pwa/assets/GitPanel-CuG8MlgF.js +3 -0
  43. package/src/client/dist/pwa/assets/{HealthPage-XrOuMoDJ.js → HealthPage-CaLCpejR.js} +1 -1
  44. package/src/client/dist/pwa/assets/MainLayout-CDxYIJ_s.js +2 -0
  45. package/src/client/dist/pwa/assets/MainLayout-DTLNunOi.css +1 -0
  46. package/src/client/dist/pwa/assets/{QBadge-DbkxGtht.js → QBadge-FWC1zDCq.js} +1 -1
  47. package/src/client/dist/pwa/assets/{QBanner-DhqH95GW.js → QBanner-CcRI_QIy.js} +1 -1
  48. package/src/client/dist/pwa/assets/QBtn-DEdx_Y1V.js +1 -0
  49. package/src/client/dist/pwa/assets/{QBtnDropdown-163oM6T_.js → QBtnDropdown-qJWGcZpC.js} +1 -1
  50. package/src/client/dist/pwa/assets/{QBtnGroup-DELKYo3u.js → QBtnGroup-CAoD6G0Q.js} +1 -1
  51. package/src/client/dist/pwa/assets/{QBtnToggle-BI3k3Ch2.js → QBtnToggle-C_hQ2UCQ.js} +1 -1
  52. package/src/client/dist/pwa/assets/{QChip-owciRuZu.js → QChip-DCPUhqXX.js} +1 -1
  53. package/src/client/dist/pwa/assets/QDrawer-DX3PhMqC.js +1 -0
  54. package/src/client/dist/pwa/assets/{QItemSection-D_5_0UrX.js → QItemSection-BhqphaH6.js} +1 -1
  55. package/src/client/dist/pwa/assets/{QList-qupzuEqO.js → QList-CHm4JNP0.js} +1 -1
  56. package/src/client/dist/pwa/assets/{QMarkupTable-B9QuKtK_.js → QMarkupTable-CNpiA9oq.js} +1 -1
  57. package/src/client/dist/pwa/assets/{QPage-DaX9sMQC.js → QPage-BXBw2Alx.js} +1 -1
  58. package/src/client/dist/pwa/assets/QSelect-CY4TWW_j.js +1 -0
  59. package/src/client/dist/pwa/assets/{QSpinnerDots-DnCV3VzI.js → QSpinnerDots-BkFiCsH3.js} +1 -1
  60. package/src/client/dist/pwa/assets/{QTooltip-BQWY7aeM.js → QTooltip-cDK5AOQ5.js} +1 -1
  61. package/src/client/dist/pwa/assets/{SchedulePanel-Bos94OyR.js → SchedulePanel-LvHiZ6ZH.js} +1 -1
  62. package/src/client/dist/pwa/assets/{SearchPage-DOHkP5lj.js → SearchPage-BO-J4aNc.js} +1 -1
  63. package/src/client/dist/pwa/assets/{SettingsPage-DtGsd0XH.js → SettingsPage-Aw89fRSq.js} +2 -2
  64. package/src/client/dist/pwa/assets/{SplitWorkspacePage-DL4kp9Ah.js → SplitWorkspacePage-BIEceNwH.js} +1 -1
  65. package/src/client/dist/pwa/assets/{TerminalPanel-DHDnyiYh.js → TerminalPanel-DitOCad1.js} +1 -1
  66. package/src/client/dist/pwa/assets/{TouchPan-BnHXDR6F.js → TouchPan-DvPAhZsa.js} +1 -1
  67. package/src/client/dist/pwa/assets/{TourReplayButton-ClVcB6mO.js → TourReplayButton-CJYdH3Jf.js} +1 -1
  68. package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-Bxe6oIJI.js → WorkspaceAttentionLabels-CY-9z9nw.js} +1 -1
  69. package/src/client/dist/pwa/assets/WorkspacePage-DAVo-E4p.css +1 -0
  70. package/src/client/dist/pwa/assets/WorkspacePage-xH_OyA3r.js +4 -0
  71. package/src/client/dist/pwa/assets/{browser-Bkx4fbxl.js → browser-BsB6cFv4.js} +1 -1
  72. package/src/client/dist/pwa/assets/build-path-tree-CW-ER1Mt.js +1 -0
  73. package/src/client/dist/pwa/assets/{de-BU0dILBs.js → de-Mu7biceO.js} +2 -2
  74. package/src/client/dist/pwa/assets/documents-SCd3w8xV.js +1 -0
  75. package/src/client/dist/pwa/assets/{editor.api-DreEG0If.js → editor.api-BUdM7I6y.js} +1 -1
  76. package/src/client/dist/pwa/assets/editor.worker-iO5iN0DB.js +33 -0
  77. package/src/client/dist/pwa/assets/efforts-DTJQP9or.js +9 -0
  78. package/src/client/dist/pwa/assets/engineFeatures-B-9jHocY.css +1 -0
  79. package/src/client/dist/pwa/assets/engineFeatures-Bj6Ob41d.js +1 -0
  80. package/src/client/dist/pwa/assets/{es-CNp0s9na.js → es-BY5IfNI2.js} +2 -2
  81. package/src/client/dist/pwa/assets/expand-template-SM8vvYyO.js +1 -0
  82. package/src/client/dist/pwa/assets/{format-B7z3F-Mw.js → format-BjQxf4pe.js} +3 -3
  83. package/src/client/dist/pwa/assets/{formatters-BTBiU0v3.js → formatters-BejhmNTV.js} +1 -1
  84. package/src/client/dist/pwa/assets/{fr-RqJyWSdm.js → fr-BMXCzFCM.js} +2 -2
  85. package/src/client/dist/pwa/assets/{freemarker2-BZNTVQ3K.js → freemarker2-5d5GhyRp.js} +1 -1
  86. package/src/client/dist/pwa/assets/{handlebars-k8tN0dI3.js → handlebars-DaafEsDK.js} +1 -1
  87. package/src/client/dist/pwa/assets/{html-iZL3bbXq.js → html-CwHBDd2A.js} +1 -1
  88. package/src/client/dist/pwa/assets/i18n-CgWW5vfb.js +1 -0
  89. package/src/client/dist/pwa/assets/index-0wtBh1Xt.css +1 -0
  90. package/src/client/dist/pwa/assets/index-Di9Sz5E8.js +20 -0
  91. package/src/client/dist/pwa/assets/{it-DSxNuCwL.js → it-ByPZQK_K.js} +2 -2
  92. package/src/client/dist/pwa/assets/{javascript-TV6gg0MO.js → javascript-DSNIEEH5.js} +1 -1
  93. package/src/client/dist/pwa/assets/{liquid-Cifa5ujF.js → liquid-Dma1UpA1.js} +1 -1
  94. package/src/client/dist/pwa/assets/{mdx-Bnj_8yGE.js → mdx-D8rqEAws.js} +1 -1
  95. package/src/client/dist/pwa/assets/{monaco-contributions-pEh0n9Wk.js → monaco-contributions-2E7O2zoi.js} +1 -1
  96. package/src/client/dist/pwa/assets/{monaco.contribution-D7NmJUJH.js → monaco.contribution-DqOgo72G.js} +2 -2
  97. package/src/client/dist/pwa/assets/{network-auth-3_5p4fdc.js → network-auth-DNmhJTZn.js} +1 -1
  98. package/src/client/dist/pwa/assets/{notify-theme-D_nf9AeF.js → notify-theme-B6Hiwvwb.js} +1 -1
  99. package/src/client/dist/pwa/assets/{pending-diff-open-CUnxC1xw.js → pending-diff-open-CeiVIFZn.js} +1 -1
  100. package/src/client/dist/pwa/assets/permissionModes-DWdtf81n.js +36 -0
  101. package/src/client/dist/pwa/assets/{pinia-BKqmoVru.js → pinia-CTJ3OfP3.js} +1 -1
  102. package/src/client/dist/pwa/assets/{private.use-form-C7umbGO-.js → private.use-form-Bk8ti264.js} +1 -1
  103. package/src/client/dist/pwa/assets/{project-color-CihwpDAA.js → project-color-BCp9SWoI.js} +1 -1
  104. package/src/client/dist/pwa/assets/{python-DOoNBSNL.js → python-f-9NqRlI.js} +1 -1
  105. package/src/client/dist/pwa/assets/{razor-Bvq5vVpJ.js → razor-DsCmoX0h.js} +1 -1
  106. package/src/client/dist/pwa/assets/reactivity.esm-bundler-Bo9anJjg.js +1 -0
  107. package/src/client/dist/pwa/assets/render-chat-markdown-DK5BD9mU.js +67 -0
  108. package/src/client/dist/pwa/assets/{runtime-core.esm-bundler-CDnVUfeZ.js → runtime-core.esm-bundler-CNFKm4ij.js} +1 -1
  109. package/src/client/dist/pwa/assets/{typescript-VVzxoeyM.js → typescript-cEHg4L10.js} +1 -1
  110. package/src/client/dist/pwa/assets/{use-checkbox-FnauAgTp.js → use-checkbox-CnvHBhSK.js} +1 -1
  111. package/src/client/dist/pwa/assets/{use-id-BIuaWKkB.js → use-id-wXd4c8FA.js} +1 -1
  112. package/src/client/dist/pwa/assets/use-is-mobile-DpKI3XMy.js +1 -0
  113. package/src/client/dist/pwa/assets/{use-search-index-status-DtLzygcy.js → use-search-index-status-Bluf9L99.js} +1 -1
  114. package/src/client/dist/pwa/assets/use-tours-BmTbosmB.js +2 -0
  115. package/src/client/dist/pwa/assets/{workspace-templates-1ui80Kqo.js → workspace-templates-DUWDLMIX.js} +1 -1
  116. package/src/client/dist/pwa/assets/{xml-CzGFIxQa.js → xml-Plt-Y7we.js} +1 -1
  117. package/src/client/dist/pwa/assets/{yaml-Bl7nDJeC.js → yaml-ScEmaAeN.js} +1 -1
  118. package/src/client/dist/pwa/index.html +10 -10
  119. package/src/client/dist/pwa/sw.js +1 -1
  120. package/src/mcp-server/kobo-tasks-handlers.ts +68 -104
  121. package/src/mcp-server/kobo-tasks-server.ts +56 -4
  122. package/src/client/dist/pwa/assets/GitPanel-C9mz4GXF.js +0 -3
  123. package/src/client/dist/pwa/assets/MainLayout-BwV89R-l.css +0 -1
  124. package/src/client/dist/pwa/assets/MainLayout-CwWavQjV.js +0 -2
  125. package/src/client/dist/pwa/assets/QBtn-CZaBclNw.js +0 -1
  126. package/src/client/dist/pwa/assets/QDrawer-DNEj8wLZ.js +0 -1
  127. package/src/client/dist/pwa/assets/QSelect-BUlOQe5k.js +0 -1
  128. package/src/client/dist/pwa/assets/WorkspacePage-Clc4Fl3B.js +0 -4
  129. package/src/client/dist/pwa/assets/WorkspacePage-DCg9zSxz.css +0 -1
  130. package/src/client/dist/pwa/assets/build-path-tree-BpSY7N5O.js +0 -1
  131. package/src/client/dist/pwa/assets/documents-BIlWh3o-.js +0 -1
  132. package/src/client/dist/pwa/assets/editor.worker-CwQAd_xr.js +0 -30
  133. package/src/client/dist/pwa/assets/efforts-D_yTzymv.js +0 -9
  134. package/src/client/dist/pwa/assets/engineFeatures-C33LTVkK.js +0 -1
  135. package/src/client/dist/pwa/assets/expand-template-wRhAXT-1.js +0 -1
  136. package/src/client/dist/pwa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff +0 -0
  137. package/src/client/dist/pwa/assets/i18n--PCet00a.js +0 -1
  138. package/src/client/dist/pwa/assets/index-CPfrY38K.js +0 -20
  139. package/src/client/dist/pwa/assets/index-CUoUy6tH.css +0 -1
  140. package/src/client/dist/pwa/assets/permissionModes-DC51Pz84.js +0 -36
  141. package/src/client/dist/pwa/assets/reactivity.esm-bundler-DEJj9cFv.js +0 -1
  142. package/src/client/dist/pwa/assets/render-chat-markdown-BQ_saiy5.js +0 -67
  143. package/src/client/dist/pwa/assets/use-is-mobile-CWjqe8gC.js +0 -1
  144. package/src/client/dist/pwa/assets/use-tours-BKeYrJaQ.js +0 -2
@@ -1,4 +1,4 @@
1
- import{Et as e,st as t}from"./index-CPfrY38K.js";var n;function r(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!n(e[r],t[r]))return!1;return!0}function a(e,t){let n=e.length-1;t<n&&(e[t]=e[n]),e.pop()}function o(e,t,n){return s(e.length,r=>n(e[r],t))}function s(e,t){let n=0,r=e-1;for(;n<=r;){let e=(n+r)/2|0,i=t(e);if(i<0)n=e+1;else if(i>0)r=e-1;else return e}return-(n+1)}function c(e,t,n){if(e|=0,e>=t.length)throw TypeError(`invalid index`);let r=t[Math.floor(t.length*Math.random())],i=[],a=[],o=[];for(let e of t){let t=n(e,r);t<0?i.push(e):t>0?a.push(e):o.push(e)}return e<i.length?c(e,i,n):e<i.length+o.length?o[0]:c(e-(i.length+o.length),a,n)}function l(e,t){let n=[],r;for(let i of e.slice(0).sort(t))!r||t(r[0],i)!==0?(r=[i],n.push(r)):r.push(i);return n}function*u(e,t){let n,r;for(let i of e)r!==void 0&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function d(e,t){for(let n=0;n<=e.length;n++)t(n===0?void 0:e[n-1],n===e.length?void 0:e[n])}function f(e,t){for(let n=0;n<e.length;n++)t(n===0?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function p(e){return e.filter(e=>!!e)}function m(e){let t=0;for(let n=0;n<e.length;n++)e[n]&&(e[t]=e[n],t+=1);e.length=t}function h(e){return!Array.isArray(e)||e.length===0}function g(e){return Array.isArray(e)&&e.length>0}function _(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function v(e,t){let n=typeof t==`number`?e:0;typeof t==`number`?n=e:(n=0,t=e);let r=[];if(n<=t)for(let e=n;e<t;e++)r.push(e);else for(let e=n;e>t;e--)r.push(e);return r}function y(e,t,n){let r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function b(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function x(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function S(e,t){for(let n of t)e.push(n)}function C(e,t){let n=[];for(let r of e){let e=t(r);e!==void 0&&n.push(e)}return n}function w(e){return Array.isArray(e)?e:[e]}function ee(e,t,n){let r=ne(e,t),i=e.length,a=n.length;e.length=i+a;for(let t=i-1;t>=r;t--)e[t+a]=e[t];for(let t=0;t<a;t++)e[t+r]=n[t]}function te(e,t,n,r){let i=ne(e,t),a=e.splice(i,n);return a===void 0&&(a=[]),ee(e,i,r),a}function ne(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}var re;(function(e){function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(re||={});function ie(e,t){return(n,r)=>t(e(n),e(r))}function ae(...e){return(t,n)=>{for(let r of e){let e=r(t,n);if(!re.isNeitherLessOrGreaterThan(e))return e}return re.neitherLessOrGreaterThan}}var oe=(e,t)=>e-t,se=(e,t)=>oe(+!!e,+!!t);function ce(e){return(t,n)=>-e(t,n)}function le(e){return(t,n)=>t===void 0?n===void 0?re.neitherLessOrGreaterThan:re.lessThan:n===void 0?re.greaterThan:e(t,n)}var ue=class{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;let n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){let e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){let t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}},de=class e{constructor(e){this.iterate=e}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||re.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};n=de,n.empty=new n(e=>{});var fe=class e{constructor(e){this._indexMap=e}static createSortPermutation(t,n){let r=Array.from(t.keys()).sort((e,r)=>n(t[e],t[r]));return new e(r)}apply(e){return e.map((t,n)=>e[this._indexMap[n]])}inverse(){let t=this._indexMap.slice();for(let e=0;e<this._indexMap.length;e++)t[this._indexMap[e]]=e;return new e(t)}};function pe(e){return e.reduce((e,t)=>e+t,0)}var me=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Ee.isErrorNoTelemetry(e)?new Ee(e.message+`
1
+ import{Et as e,st as t}from"./index-Di9Sz5E8.js";var n;function r(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function i(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!n(e[r],t[r]))return!1;return!0}function a(e,t){let n=e.length-1;t<n&&(e[t]=e[n]),e.pop()}function o(e,t,n){return s(e.length,r=>n(e[r],t))}function s(e,t){let n=0,r=e-1;for(;n<=r;){let e=(n+r)/2|0,i=t(e);if(i<0)n=e+1;else if(i>0)r=e-1;else return e}return-(n+1)}function c(e,t,n){if(e|=0,e>=t.length)throw TypeError(`invalid index`);let r=t[Math.floor(t.length*Math.random())],i=[],a=[],o=[];for(let e of t){let t=n(e,r);t<0?i.push(e):t>0?a.push(e):o.push(e)}return e<i.length?c(e,i,n):e<i.length+o.length?o[0]:c(e-(i.length+o.length),a,n)}function l(e,t){let n=[],r;for(let i of e.slice(0).sort(t))!r||t(r[0],i)!==0?(r=[i],n.push(r)):r.push(i);return n}function*u(e,t){let n,r;for(let i of e)r!==void 0&&t(r,i)?n.push(i):(n&&(yield n),n=[i]),r=i;n&&(yield n)}function d(e,t){for(let n=0;n<=e.length;n++)t(n===0?void 0:e[n-1],n===e.length?void 0:e[n])}function f(e,t){for(let n=0;n<e.length;n++)t(n===0?void 0:e[n-1],e[n],n+1===e.length?void 0:e[n+1])}function p(e){return e.filter(e=>!!e)}function m(e){let t=0;for(let n=0;n<e.length;n++)e[n]&&(e[t]=e[n],t+=1);e.length=t}function h(e){return!Array.isArray(e)||e.length===0}function g(e){return Array.isArray(e)&&e.length>0}function _(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return!n.has(r)&&(n.add(r),!0)})}function v(e,t){let n=typeof t==`number`?e:0;typeof t==`number`?n=e:(n=0,t=e);let r=[];if(n<=t)for(let e=n;e<t;e++)r.push(e);else for(let e=n;e>t;e--)r.push(e);return r}function y(e,t,n){let r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function b(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function x(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function S(e,t){for(let n of t)e.push(n)}function C(e,t){let n=[];for(let r of e){let e=t(r);e!==void 0&&n.push(e)}return n}function w(e){return Array.isArray(e)?e:[e]}function ee(e,t,n){let r=ne(e,t),i=e.length,a=n.length;e.length=i+a;for(let t=i-1;t>=r;t--)e[t+a]=e[t];for(let t=0;t<a;t++)e[t+r]=n[t]}function te(e,t,n,r){let i=ne(e,t),a=e.splice(i,n);return a===void 0&&(a=[]),ee(e,i,r),a}function ne(e,t){return t<0?Math.max(t+e.length,0):Math.min(t,e.length)}var re;(function(e){function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(re||={});function ie(e,t){return(n,r)=>t(e(n),e(r))}function ae(...e){return(t,n)=>{for(let r of e){let e=r(t,n);if(!re.isNeitherLessOrGreaterThan(e))return e}return re.neitherLessOrGreaterThan}}var oe=(e,t)=>e-t,se=(e,t)=>oe(+!!e,+!!t);function ce(e){return(t,n)=>-e(t,n)}function le(e){return(t,n)=>t===void 0?n===void 0?re.neitherLessOrGreaterThan:re.lessThan:n===void 0?re.greaterThan:e(t,n)}var ue=class{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t<this.items.length&&e(this.items[t]);)t++;let n=t===this.firstIdx?null:this.items.slice(this.firstIdx,t);return this.firstIdx=t,n}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){let e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){let t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}},de=class e{constructor(e){this.iterate=e}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||re.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};n=de,n.empty=new n(e=>{});var fe=class e{constructor(e){this._indexMap=e}static createSortPermutation(t,n){let r=Array.from(t.keys()).sort((e,r)=>n(t[e],t[r]));return new e(r)}apply(e){return e.map((t,n)=>e[this._indexMap[n]])}inverse(){let t=this._indexMap.slice();for(let e=0;e<this._indexMap.length;e++)t[this._indexMap[e]]=e;return new e(t)}};function pe(e){return e.reduce((e,t)=>e+t,0)}var me=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Ee.isErrorNoTelemetry(e)?new Ee(e.message+`
2
2
 
3
3
  `+e.stack):Error(e.message+`
4
4
 
@@ -41,7 +41,7 @@ Received: '{1}'.`,t,Qp.getLexeme(n)),a=n.offset,o=Qp.getLexeme(n);return this._p
41
41
  `)),a=this._computer.computeDiff(r.value,i.value,{ignoreTrimWhitespace:!0,computeMoves:n.computeMoves,extendToSubwords:n.extendToSubwords}),o=r.getTransformer(),s=i.getTransformer(),c=[],l=0;for(let e of a.edits.replacements){let t=e.range.start+l,n=t+e.newText.length,r=o.getRange(new G(e.range.start,e.range.endExclusive)),i=s.getRange(new G(t,n));c.push(new tb(r,i)),l+=e.newText.length-(e.range.endExclusive-e.range.start)}let u=nb(c,r,i),d=[];if(n.computeMoves)for(let e of a.moves){let t=o.getPosition(e.range.original.start),n=o.getPosition(e.range.original.endExclusive),r=s.getPosition(e.range.modified.start),i=s.getPosition(e.range.modified.endExclusive),a=new K(t.lineNumber,n.lineNumber),c=new K(r.lineNumber,i.lineNumber);d.push(new by(new Zy(a,c),[]))}return new yy(u,d,a.hitTimeout)}},bx={getLegacy:()=>new ab,getDefault:()=>new nx,getAdvancedExternal:()=>vx(!1),getAdvancedWasm:()=>vx(!0)},xx;function Sx(e,t){let n=10**t;return Math.round(e*n)/n}var q=class{constructor(e,t,n,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,n))|0,this.a=Sx(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},Cx=class e{constructor(e,t,n,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Sx(Math.max(Math.min(1,t),0),3),this.l=Sx(Math.max(Math.min(1,n),0),3),this.a=Sx(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=t.a,o=Math.max(n,r,i),s=Math.min(n,r,i),c=0,l=0,u=(s+o)/2,d=o-s;if(d>0){switch(l=Math.min(u<=.5?d/(2*u):d/(2-2*u),1),o){case n:c=(r-i)/d+(r<i?6:0);break;case r:c=(i-n)/d+2;break;case i:c=(n-r)/d+4}c*=60,c=Math.round(c)}return new e(c,l,u,a)}static _hue2rgb(e,t,n){return n<0&&(n+=1),n>1&&--n,n<1/6?e+(t-e)*6*n:n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}static toRGBA(t){let n=t.h/360,{s:r,l:i,a}=t,o,s,c;if(r===0)o=s=c=i;else{let t=i<.5?i*(1+r):i+r-i*r,a=2*i-t;o=e._hue2rgb(a,t,n+1/3),s=e._hue2rgb(a,t,n),c=e._hue2rgb(a,t,n-1/3)}return new q(Math.round(o*255),Math.round(s*255),Math.round(c*255),a)}},wx=class e{constructor(e,t,n,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=Sx(Math.max(Math.min(1,t),0),3),this.v=Sx(Math.max(Math.min(1,n),0),3),this.a=Sx(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(t){let n=t.r/255,r=t.g/255,i=t.b/255,a=Math.max(n,r,i),o=a-Math.min(n,r,i),s=a===0?0:o/a,c;return c=o===0?0:a===n?((r-i)/o%6+6)%6:a===r?(i-n)/o+2:(n-r)/o+4,new e(Math.round(c*60),s,a,t.a)}static toRGBA(e){let{h:t,s:n,v:r,a:i}=e,a=r*n,o=a*(1-Math.abs(t/60%2-1)),s=r-a,[c,l,u]=[0,0,0];return t<60?(c=a,l=o):t<120?(c=o,l=a):t<180?(l=a,u=o):t<240?(l=o,u=a):t<300?(c=o,u=a):t<=360&&(c=a,u=o),c=Math.round((c+s)*255),l=Math.round((l+s)*255),u=Math.round((u+s)*255),new q(c,l,u,i)}},J=class e{static fromHex(t){return e.Format.CSS.parseHex(t)||e.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:Cx.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:wx.fromRGBA(this.rgba)}constructor(e){if(!e)throw Error(`Color needs a value`);if(e instanceof q)this.rgba=e;else if(e instanceof Cx)this._hsla=e,this.rgba=Cx.toRGBA(e);else if(e instanceof wx)this._hsva=e,this.rgba=wx.toRGBA(e);else throw Error(`Invalid color ctor argument`)}equals(e){return!!e&&q.equals(this.rgba,e.rgba)&&Cx.equals(this.hsla,e.hsla)&&wx.equals(this.hsva,e.hsva)}getRelativeLuminance(){let t=e._relativeLuminanceForComponent(this.rgba.r),n=e._relativeLuminanceForComponent(this.rgba.g),r=e._relativeLuminanceForComponent(this.rgba.b);return Sx(.2126*t+.7152*n+.0722*r,4)}static _relativeLuminanceForComponent(e){let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){return this.getRelativeLuminance()>e.getRelativeLuminance()}isDarkerThan(e){return this.getRelativeLuminance()<e.getRelativeLuminance()}lighten(t){return new e(new Cx(this.hsla.h,this.hsla.s,this.hsla.l+this.hsla.l*t,this.hsla.a))}darken(t){return new e(new Cx(this.hsla.h,this.hsla.s,this.hsla.l-this.hsla.l*t,this.hsla.a))}transparent(t){let{r:n,g:r,b:i,a}=this.rgba;return new e(new q(n,r,i,a*t))}isTransparent(){return this.rgba.a===0}isOpaque(){return this.rgba.a===1}opposite(){return new e(new q(255-this.rgba.r,255-this.rgba.g,255-this.rgba.b,this.rgba.a))}mix(t,n=.5){let r=Math.min(Math.max(n,0),1),i=this.rgba,a=t.rgba,o=i.r+(a.r-i.r)*r,s=i.g+(a.g-i.g)*r,c=i.b+(a.b-i.b)*r,l=i.a+(a.a-i.a)*r;return new e(new q(o,s,c,l))}makeOpaque(t){if(this.isOpaque()||t.rgba.a!==1)return this;let{r:n,g:r,b:i,a}=this.rgba;return new e(new q(t.rgba.r-a*(t.rgba.r-n),t.rgba.g-a*(t.rgba.g-r),t.rgba.b-a*(t.rgba.b-i),1))}toString(){return this._toString||=e.Format.CSS.format(this),this._toString}toNumber32Bit(){return this._toNumber32Bit||=(this.rgba.r<<24|this.rgba.g<<16|this.rgba.b<<8|this.rgba.a*255<<0)>>>0,this._toNumber32Bit}static getLighterColor(e,t,n){if(e.isLighterThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(i-r)/i,e.lighten(n)}static getDarkerColor(e,t,n){if(e.isDarkerThan(t))return e;n||=.5;let r=e.getRelativeLuminance(),i=t.getRelativeLuminance();return n=n*(r-i)/r,e.darken(n)}};xx=J,xx.white=new xx(new q(255,255,255,1)),xx.black=new xx(new q(0,0,0,1)),xx.red=new xx(new q(255,0,0,1)),xx.blue=new xx(new q(0,0,255,1)),xx.green=new xx(new q(0,255,0,1)),xx.cyan=new xx(new q(0,255,255,1)),xx.lightgrey=new xx(new q(211,211,211,1)),xx.transparent=new xx(new q(0,0,0,0)),(function(e){(function(t){(function(t){function n(t){return t.rgba.a===1?`rgb(${t.rgba.r}, ${t.rgba.g}, ${t.rgba.b})`:e.Format.CSS.formatRGBA(t)}t.formatRGB=n;function r(e){return`rgba(${e.rgba.r}, ${e.rgba.g}, ${e.rgba.b}, ${+e.rgba.a.toFixed(2)})`}t.formatRGBA=r;function i(t){return t.hsla.a===1?`hsl(${t.hsla.h}, ${Math.round(t.hsla.s*100)}%, ${Math.round(t.hsla.l*100)}%)`:e.Format.CSS.formatHSLA(t)}t.formatHSL=i;function a(e){return`hsla(${e.hsla.h}, ${Math.round(e.hsla.s*100)}%, ${Math.round(e.hsla.l*100)}%, ${e.hsla.a.toFixed(2)})`}t.formatHSLA=a;function o(e){let t=e.toString(16);return t.length===2?t:`0`+t}function s(e){return`#${o(e.rgba.r)}${o(e.rgba.g)}${o(e.rgba.b)}`}t.formatHex=s;function c(t,n=!1){return n&&t.rgba.a===1?e.Format.CSS.formatHex(t):`#${o(t.rgba.r)}${o(t.rgba.g)}${o(t.rgba.b)}${o(Math.round(t.rgba.a*255))}`}t.formatHexA=c;function l(t){return t.isOpaque()?e.Format.CSS.formatHex(t):e.Format.CSS.formatRGBA(t)}t.format=l;function u(t){if(t===`transparent`)return e.transparent;if(t.startsWith(`#`))return f(t);if(t.startsWith(`rgba(`)){let n=t.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new q(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`),parseFloat(n.groups?.a??`0`)))}if(t.startsWith(`rgb(`)){let n=t.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);if(!n)throw Error(`Invalid color format `+t);return new e(new q(parseInt(n.groups?.r??`0`),parseInt(n.groups?.g??`0`),parseInt(n.groups?.b??`0`)))}return d(t)}t.parse=u;function d(t){switch(t){case`aliceblue`:return new e(new q(240,248,255,1));case`antiquewhite`:return new e(new q(250,235,215,1));case`aqua`:return new e(new q(0,255,255,1));case`aquamarine`:return new e(new q(127,255,212,1));case`azure`:return new e(new q(240,255,255,1));case`beige`:return new e(new q(245,245,220,1));case`bisque`:return new e(new q(255,228,196,1));case`black`:return new e(new q(0,0,0,1));case`blanchedalmond`:return new e(new q(255,235,205,1));case`blue`:return new e(new q(0,0,255,1));case`blueviolet`:return new e(new q(138,43,226,1));case`brown`:return new e(new q(165,42,42,1));case`burlywood`:return new e(new q(222,184,135,1));case`cadetblue`:return new e(new q(95,158,160,1));case`chartreuse`:return new e(new q(127,255,0,1));case`chocolate`:return new e(new q(210,105,30,1));case`coral`:return new e(new q(255,127,80,1));case`cornflowerblue`:return new e(new q(100,149,237,1));case`cornsilk`:return new e(new q(255,248,220,1));case`crimson`:return new e(new q(220,20,60,1));case`cyan`:return new e(new q(0,255,255,1));case`darkblue`:return new e(new q(0,0,139,1));case`darkcyan`:return new e(new q(0,139,139,1));case`darkgoldenrod`:return new e(new q(184,134,11,1));case`darkgray`:return new e(new q(169,169,169,1));case`darkgreen`:return new e(new q(0,100,0,1));case`darkgrey`:return new e(new q(169,169,169,1));case`darkkhaki`:return new e(new q(189,183,107,1));case`darkmagenta`:return new e(new q(139,0,139,1));case`darkolivegreen`:return new e(new q(85,107,47,1));case`darkorange`:return new e(new q(255,140,0,1));case`darkorchid`:return new e(new q(153,50,204,1));case`darkred`:return new e(new q(139,0,0,1));case`darksalmon`:return new e(new q(233,150,122,1));case`darkseagreen`:return new e(new q(143,188,143,1));case`darkslateblue`:return new e(new q(72,61,139,1));case`darkslategray`:return new e(new q(47,79,79,1));case`darkslategrey`:return new e(new q(47,79,79,1));case`darkturquoise`:return new e(new q(0,206,209,1));case`darkviolet`:return new e(new q(148,0,211,1));case`deeppink`:return new e(new q(255,20,147,1));case`deepskyblue`:return new e(new q(0,191,255,1));case`dimgray`:return new e(new q(105,105,105,1));case`dimgrey`:return new e(new q(105,105,105,1));case`dodgerblue`:return new e(new q(30,144,255,1));case`firebrick`:return new e(new q(178,34,34,1));case`floralwhite`:return new e(new q(255,250,240,1));case`forestgreen`:return new e(new q(34,139,34,1));case`fuchsia`:return new e(new q(255,0,255,1));case`gainsboro`:return new e(new q(220,220,220,1));case`ghostwhite`:return new e(new q(248,248,255,1));case`gold`:return new e(new q(255,215,0,1));case`goldenrod`:return new e(new q(218,165,32,1));case`gray`:return new e(new q(128,128,128,1));case`green`:return new e(new q(0,128,0,1));case`greenyellow`:return new e(new q(173,255,47,1));case`grey`:return new e(new q(128,128,128,1));case`honeydew`:return new e(new q(240,255,240,1));case`hotpink`:return new e(new q(255,105,180,1));case`indianred`:return new e(new q(205,92,92,1));case`indigo`:return new e(new q(75,0,130,1));case`ivory`:return new e(new q(255,255,240,1));case`khaki`:return new e(new q(240,230,140,1));case`lavender`:return new e(new q(230,230,250,1));case`lavenderblush`:return new e(new q(255,240,245,1));case`lawngreen`:return new e(new q(124,252,0,1));case`lemonchiffon`:return new e(new q(255,250,205,1));case`lightblue`:return new e(new q(173,216,230,1));case`lightcoral`:return new e(new q(240,128,128,1));case`lightcyan`:return new e(new q(224,255,255,1));case`lightgoldenrodyellow`:return new e(new q(250,250,210,1));case`lightgray`:return new e(new q(211,211,211,1));case`lightgreen`:return new e(new q(144,238,144,1));case`lightgrey`:return new e(new q(211,211,211,1));case`lightpink`:return new e(new q(255,182,193,1));case`lightsalmon`:return new e(new q(255,160,122,1));case`lightseagreen`:return new e(new q(32,178,170,1));case`lightskyblue`:return new e(new q(135,206,250,1));case`lightslategray`:return new e(new q(119,136,153,1));case`lightslategrey`:return new e(new q(119,136,153,1));case`lightsteelblue`:return new e(new q(176,196,222,1));case`lightyellow`:return new e(new q(255,255,224,1));case`lime`:return new e(new q(0,255,0,1));case`limegreen`:return new e(new q(50,205,50,1));case`linen`:return new e(new q(250,240,230,1));case`magenta`:return new e(new q(255,0,255,1));case`maroon`:return new e(new q(128,0,0,1));case`mediumaquamarine`:return new e(new q(102,205,170,1));case`mediumblue`:return new e(new q(0,0,205,1));case`mediumorchid`:return new e(new q(186,85,211,1));case`mediumpurple`:return new e(new q(147,112,219,1));case`mediumseagreen`:return new e(new q(60,179,113,1));case`mediumslateblue`:return new e(new q(123,104,238,1));case`mediumspringgreen`:return new e(new q(0,250,154,1));case`mediumturquoise`:return new e(new q(72,209,204,1));case`mediumvioletred`:return new e(new q(199,21,133,1));case`midnightblue`:return new e(new q(25,25,112,1));case`mintcream`:return new e(new q(245,255,250,1));case`mistyrose`:return new e(new q(255,228,225,1));case`moccasin`:return new e(new q(255,228,181,1));case`navajowhite`:return new e(new q(255,222,173,1));case`navy`:return new e(new q(0,0,128,1));case`oldlace`:return new e(new q(253,245,230,1));case`olive`:return new e(new q(128,128,0,1));case`olivedrab`:return new e(new q(107,142,35,1));case`orange`:return new e(new q(255,165,0,1));case`orangered`:return new e(new q(255,69,0,1));case`orchid`:return new e(new q(218,112,214,1));case`palegoldenrod`:return new e(new q(238,232,170,1));case`palegreen`:return new e(new q(152,251,152,1));case`paleturquoise`:return new e(new q(175,238,238,1));case`palevioletred`:return new e(new q(219,112,147,1));case`papayawhip`:return new e(new q(255,239,213,1));case`peachpuff`:return new e(new q(255,218,185,1));case`peru`:return new e(new q(205,133,63,1));case`pink`:return new e(new q(255,192,203,1));case`plum`:return new e(new q(221,160,221,1));case`powderblue`:return new e(new q(176,224,230,1));case`purple`:return new e(new q(128,0,128,1));case`rebeccapurple`:return new e(new q(102,51,153,1));case`red`:return new e(new q(255,0,0,1));case`rosybrown`:return new e(new q(188,143,143,1));case`royalblue`:return new e(new q(65,105,225,1));case`saddlebrown`:return new e(new q(139,69,19,1));case`salmon`:return new e(new q(250,128,114,1));case`sandybrown`:return new e(new q(244,164,96,1));case`seagreen`:return new e(new q(46,139,87,1));case`seashell`:return new e(new q(255,245,238,1));case`sienna`:return new e(new q(160,82,45,1));case`silver`:return new e(new q(192,192,192,1));case`skyblue`:return new e(new q(135,206,235,1));case`slateblue`:return new e(new q(106,90,205,1));case`slategray`:return new e(new q(112,128,144,1));case`slategrey`:return new e(new q(112,128,144,1));case`snow`:return new e(new q(255,250,250,1));case`springgreen`:return new e(new q(0,255,127,1));case`steelblue`:return new e(new q(70,130,180,1));case`tan`:return new e(new q(210,180,140,1));case`teal`:return new e(new q(0,128,128,1));case`thistle`:return new e(new q(216,191,216,1));case`tomato`:return new e(new q(255,99,71,1));case`turquoise`:return new e(new q(64,224,208,1));case`violet`:return new e(new q(238,130,238,1));case`wheat`:return new e(new q(245,222,179,1));case`white`:return new e(new q(255,255,255,1));case`whitesmoke`:return new e(new q(245,245,245,1));case`yellow`:return new e(new q(255,255,0,1));case`yellowgreen`:return new e(new q(154,205,50,1));default:return null}}function f(t){let n=t.length;if(n===0||t.charCodeAt(0)!==35)return null;if(n===7)return new e(new q(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),1));if(n===9)return new e(new q(16*p(t.charCodeAt(1))+p(t.charCodeAt(2)),16*p(t.charCodeAt(3))+p(t.charCodeAt(4)),16*p(t.charCodeAt(5))+p(t.charCodeAt(6)),(16*p(t.charCodeAt(7))+p(t.charCodeAt(8)))/255));if(n===4){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3));return new e(new q(16*n+n,16*r+r,16*i+i))}if(n===5){let n=p(t.charCodeAt(1)),r=p(t.charCodeAt(2)),i=p(t.charCodeAt(3)),a=p(t.charCodeAt(4));return new e(new q(16*n+n,16*r+r,16*i+i,(16*a+a)/255))}return null}t.parseHex=f;function p(e){switch(e){case 48:return 0;case 49:return 1;case 50:return 2;case 51:return 3;case 52:return 4;case 53:return 5;case 54:return 6;case 55:return 7;case 56:return 8;case 57:return 9;case 97:return 10;case 65:return 10;case 98:return 11;case 66:return 11;case 99:return 12;case 67:return 12;case 100:return 13;case 68:return 13;case 101:return 14;case 69:return 14;case 102:return 15;case 70:return 15}return 0}})(t.CSS||={})})(e.Format||={})})(J||={});function Tx(e){let t=[];for(let n of e){let e=Number(n);(e||e===0&&n.replace(/\s/g,``)!==``)&&t.push(e)}return t}function Ex(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function Dx(e,t){let n=t.index,r=t[0].length;if(n===void 0)return;let i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function Ox(e,t){if(!e)return;let n=J.Format.CSS.parseHex(t);if(n)return{range:e,color:Ex(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}}function kx(e,t,n){if(!e||t.length!==1)return;let r=Tx(t[0].values());return{range:e,color:Ex(r[0],r[1],r[2],n?r[3]:1)}}function Ax(e,t,n){if(!e||t.length!==1)return;let r=Tx(t[0].values()),i=new J(new Cx(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:Ex(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function jx(e,t){return typeof e==`string`?[...e.matchAll(t)]:e.findMatches(t)}function Mx(e){let t=[],n=jx(e,RegExp(`\\b(rgb|rgba|hsl|hsla)(\\([0-9\\s,.\\%\\/]*\\))|^(#)([A-Fa-f0-9]{3})\\b|^(#)([A-Fa-f0-9]{4})\\b|^(#)([A-Fa-f0-9]{6})\\b|^(#)([A-Fa-f0-9]{8})\\b|(?<=['"\\s])(#)([A-Fa-f0-9]{3})\\b|(?<=['"\\s])(#)([A-Fa-f0-9]{4})\\b|(?<=['"\\s])(#)([A-Fa-f0-9]{6})\\b|(?<=['"\\s])(#)([A-Fa-f0-9]{8})\\b`,`gm`));if(n.length>0)for(let r of n){let n=r.filter(e=>e!==void 0),i=n[1],a=n[2];if(!a)continue;let o;i===`rgb`?o=kx(Dx(e,r),jx(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm),!1):i===`rgba`?o=kx(Dx(e,r),jx(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*[\s,]\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm),!0):i===`hsl`?o=Ax(Dx(e,r),jx(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm),!1):i===`hsla`?o=Ax(Dx(e,r),jx(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100(?:\.0+)?|\d{1,2}[.]\d*|\d{1,2})%\s*(?:[\s,]|[\s]*\/)\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\s*\)$/gm),!0):i===`#`&&(o=Ox(Dx(e,r),i+a)),o&&t.push(o)}return t}function Nx(e){return!e||typeof e.getValue!=`function`||typeof e.positionAt!=`function`?[]:Mx(e)}var Px=/^-+|-+$/g,Fx=100;function Ix(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){let r=Lx(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){let r=Rx(e,t);n=n.concat(r)}return n}function Lx(e,t){let n=[],r=e.getLineCount();for(let i=1;i<=r;i++){let r=e.getLineContent(i),a=r.match(t.foldingRules.markers.start);if(a){let e={startLineNumber:i,startColumn:a[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){let t={range:e,...zx(r.substring(a[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}function Rx(e,t){let n=[],r=e.getLineCount();if(!t.markSectionHeaderRegex||t.markSectionHeaderRegex.trim()===``)return n;let i=sy(t.markSectionHeaderRegex),a=new RegExp(t.markSectionHeaderRegex,`gdm${i?`s`:``}`);if(Cs(a))return n;for(let t=1;t<=r;t+=95){let i=Math.min(t+Fx-1,r),o=[];for(let n=t;n<=i;n++)o.push(e.getLineContent(n));let s=o.join(`
42
42
  `);a.lastIndex=0;let c;for(;(c=a.exec(s))!==null;){let e=s.substring(0,c.index),r=(e.match(/\n/g)||[]).length,i=t+r,o=c[0].split(`
43
43
  `),l=o.length,u=i+l-1,d=e.lastIndexOf(`
44
- `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function zx(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Px,``),{text:e,hasSeparatorLine:t}}var Bx=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=jv(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=jv(e),t=jv(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=jv(e),t=jv(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=jv(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Hx(r,e-a)}},Vx=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Hx(t,e-(t>0?this._prefixSum[t-1]:0))}return new Hx(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=y(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Hx=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Ux=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new P(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Bx(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=ws(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Wx=6e4,Gx=class extends k{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new pl;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Wx/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Yt(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new O;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(D(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Yt(t)}},Kx=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new qx(ga.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},qx=class extends Ux{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new P(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=Jn(e.column,Kn(t),this._lines[e.lineNumber-1],0);return n?new F(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!P.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Jx,Yx=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new Kx}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?hy.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Ix(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await Xx(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?F.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)F.getEndPosition(n[s].range).equals(F.getStartPosition(n[e].range))?(n[s].range=F.fromPositions(F.getStartPosition(n[s].range),F.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),F.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Tv(n,s,r),u=i.offsetAt(F.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?Vv(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Nx(t):null}async $textualSuggest(t,n,r,i){let a=new fn,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Uv.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};Jx=Yx,Jx._diffLimit=1e5,Jx._suggestionsLimit=1e4,typeof importScripts==`function`&&(globalThis.monaco=ns());function Xx(e){switch(e){case`legacy`:return bx.getLegacy();case`advanced`:return bx.getDefault();case`advanced-external`:return bx.getAdvancedExternal();case`advanced-wasm`:return bx.getAdvancedWasm()}}var Zx=Mp(`textResourceConfigurationService`),Qx=Mp(`textResourcePropertiesService`),$x=Mp(`ILanguageFeaturesService`),eS,tS=class e{static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};eS=tS,eS.CHANNEL_NAME=`editorWorkerHost`;function nS(){return z_.defaultChatAgent?.completionsEnablementSetting}function rS(e,t,n=`*`){let r=nS();return r?iS(e.getValue(t,r),n):!1}function iS(e,t=`*`){return Fe(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var aS,oS=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},sS=function(e,t){return function(n,r){t(n,r,e)}},cS,lS=3e5;function uS(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var dS=(aS=class extends k{constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new pS(cS.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!uS(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new fS(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return uS(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);if(!i)return null;return{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new by(new Zy(new K(e[0],e[1]),new K(e[2],e[3])),a(e[4])))};function a(e){return e.map(e=>new eb(new K(e[0],e[1]),new K(e[2],e[3]),e[4]?.map(e=>new tb(new F(e[0],e[1],e[2],e[3]),new F(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(g(t)){if(!uS(this._modelService,e))return Promise.resolve(t);let r=fn.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,cl(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return uS(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return uS(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}},cS=aS,aS.workerDescriptor=new Lg({esmModuleLocation:()=>Nl.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`}),aS);dS=cS=oS([sS(0,Pp),sS(1,Zx),sS(2,Vh),sS(3,uv),sS(4,$x),sS(5,Rg)],dS);var fS=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&rS(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)uS(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())uS(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new F(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):F.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},pS=class extends k{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new tf).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(lS/2),is),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>lS&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new hS(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};pS=oS([sS(1,Pp),sS(2,Rg)],pS);var mS=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},hS=class extends k{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),tS.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){Dg(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return Dg(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new mS(new Yx(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new Gx(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(Se());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};hS=oS([sS(2,Pp),sS(3,Rg)],hS);var gS={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},_S=new class{clone(){return this}equals(e){return this===e}};function vS(e,t){return new Ia([new Fa(0,``,e)],t)}function yS(e,t){let n=new Uint32Array(2);return n[0]=0,n[1]=(e<<0|33587200)>>>0,new La(n,[],t===null?_S:t)}function bS(e,t){let n=kc();if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){ge(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){ge(e);return}}var xS=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},SS,CS=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t<n;t++)e[t<<1]=e[t+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,r=(e.length>>>1)-1;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e[i<<1];if(a===t)return i+1;a<t?n=i+1:a>t&&(r=i)}return n}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&ge(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t<i;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=xS.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return xS.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return xS.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return xS.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return xS.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return xS.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new wS(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=n<this._tokensCount?this._tokens[n<<1]:-1,s=r<t.length?t[r]:null;if(e!==-1&&(s===null||e<=s.offset)){i+=this._text.substring(o,e);let t=this._tokens[(n<<1)+1];a.push(i.length,t),n++,o=e}else if(s){if(s.offset>o){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new OS,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new G(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n<t;n++)e(n)}toString(){let e=``;return this.forEach(t=>{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}};SS=CS,SS.defaultTokenMetadata=33587200;var wS=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t<r&&!(e.getStartOffset(t)>=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return n<this._startOffset&&(i=i.substring(this._startOffset-n)),r>this._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}};function TS(e,t){let n=t.lineNumber;if(!e.tokenization.isCheapToTokenize(n))return;e.tokenization.forceTokenization(n);let r=e.tokenization.getLineTokens(n),i=r.findTokenIndexAtOffset(t.column-1);return r.getStandardTokenType(i)}var ES=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new DS(t.getEndOffset(e)-t.getStartOffset(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e,t){return CS.createFromTextAndMetadata(this.map((t,n)=>({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new G(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new G(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new DS(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},DS=class{constructor(e,t){this.length=e,this.metadata=t}},OS=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new DS(e,t))}build(){return ES.create(this._tokens)}},kS=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},AS=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},jS=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new AS(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new AS(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},MS=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new jS,i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=o.startColumn,c=o.endColumn,l=o.className,u=o.type===1?2:o.type===2?4:0;s>1&&Vs(e.charCodeAt(s-2))&&s--,c>1&&Vs(e.charCodeAt(c-2))&&c--;let d=s-1,f=c-2;i=r.consumeLowerThan(d,i,n),r.count===0&&(i=d),r.insert(f,l,u)}return r.consumeLowerThan(1073741824,i,n),n}},NS=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},PS=class{get isLTR(){return!this.containsRTL&&this.textDirection!==Xv.RTL}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x=!1){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(kS.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.start<t.start?-1:1),this.renderNewLineWhenEmpty=x,this.textDirection=y,this.verticalScrollbarSize=b,Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&kS.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)&&this.textDirection===e.textDirection&&this.verticalScrollbarSize===e.verticalScrollbarSize&&this.renderNewLineWhenEmpty===e.renderNewLineWhenEmpty}},FS=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},IS=class e{static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new FS(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},LS=class{constructor(e,t){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsForeignElements=t}};function RS(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendString(`<span class="`),t.appendString(a.className),t.appendString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendString(`</span>`);let a=new IS(1,n+r);return a.setColumnInfo(1,n,0,0),new LS(a,i)}return e.renderNewLineWhenEmpty?t.appendString(`<span><span>
44
+ `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function zx(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(Px,``),{text:e,hasSeparatorLine:t}}var Bx=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=jv(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=jv(e),t=jv(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=jv(e),t=jv(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=jv(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Hx(r,e-a)}},Vx=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];if(t===void 0){let t=Math.max(0,this._values.length-1);return new Hx(t,e-(t>0?this._prefixSum[t-1]:0))}return new Hx(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=y(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._values.length>0?this._prefixSum[this._values.length-1]:0,this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Hx=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},Ux=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new P(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Bx(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=ws(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Wx=6e4,Gx=class extends k{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new pl;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Wx/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Yt(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new O;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(D(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Yt(t)}},Kx=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new qx(ga.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},qx=class extends Ux{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new P(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=Jn(e.column,Kn(t),this._lines[e.lineNumber-1],0);return n?new F(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!P.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Jx,Yx=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new Kx}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?hy.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?Ix(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);if(!a||!o)return null;let s=await Xx(i);return e.computeDiff(a,o,r,s)}static computeDiff(e,t,n,r){let i=e.getLinesContent(),a=t.getLinesContent(),o=r.computeDiff(i,a,n),s=o.changes.length>0?!1:this._modelsAreIdentical(e,t);function c(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:s,quitEarly:o.hitTimeout,changes:c(o.changes),moves:o.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,c(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?F.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)F.getEndPosition(n[s].range).equals(F.getStartPosition(n[e].range))?(n[s].range=F.fromPositions(F.getStartPosition(n[s].range),F.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),F.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=Tv(n,s,r),u=i.offsetAt(F.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?Vv(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?Nx(t):null}async $textualSuggest(t,n,r,i){let a=new fn,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Uv.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};Jx=Yx,Jx._diffLimit=1e5,Jx._suggestionsLimit=1e4,typeof importScripts==`function`&&(globalThis.monaco=ns());function Xx(e){switch(e){case`legacy`:return bx.getLegacy();case`advanced`:return bx.getDefault();case`advanced-external`:return bx.getAdvancedExternal();case`advanced-wasm`:return bx.getAdvancedWasm()}}var Zx=Mp(`textResourceConfigurationService`),Qx=Mp(`textResourcePropertiesService`),$x=Mp(`ILanguageFeaturesService`),eS,tS=class e{static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}};eS=tS,eS.CHANNEL_NAME=`editorWorkerHost`;function nS(){return z_.defaultChatAgent?.completionsEnablementSetting}function rS(e,t,n=`*`){let r=nS();return r?iS(e.getValue(t,r),n):!1}function iS(e,t=`*`){return Fe(e)?e[t]===void 0?!!e[`*`]:!!e[t]:!1}var aS,oS=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},sS=function(e,t){return function(n,r){t(n,r,e)}},cS,lS=3e5;function uS(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var dS=(aS=class extends k{constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=r,this._webWorkerService=a,this._modelService=e,this._workerManager=this._register(new pS(cS.workerDescriptor,this._modelService,this._webWorkerService)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!uS(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(i.completionProvider.register(`*`,new fS(this._workerManager,t,this._modelService,this._languageConfigurationService,this._logService,i)))}canComputeUnicodeHighlights(e){return uS(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);return i?{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new by(new Zy(new K(e[0],e[1]),new K(e[2],e[3])),a(e[4])))}:null;function a(e){return e.map(e=>new eb(new K(e[0],e[1]),new K(e[2],e[3]),e[4]?.map(e=>new tb(new F(e[0],e[1],e[2],e[3]),new F(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(g(t)){if(!uS(this._modelService,e))return Promise.resolve(t);let r=fn.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,cl(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return uS(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return uS(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}},cS=aS,aS.workerDescriptor=new Lg({esmModuleLocation:()=>Nl.asBrowserUri(`vs/editor/common/services/editorWebWorkerMain.js`),esmModuleLocationBundler:()=>new URL(`data:text/javascript;base64,aW1wb3J0IHsgYm9vdHN0cmFwV2ViV29ya2VyIH0gZnJvbSAnLi4vLi4vLi4vYmFzZS9jb21tb24vd29ya2VyL3dlYldvcmtlckJvb3RzdHJhcC5qcyc7CmltcG9ydCB7IEVkaXRvcldvcmtlciB9IGZyb20gJy4vZWRpdG9yV2ViV29ya2VyLmpzJzsKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICogIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIExpY2Vuc2UudHh0IGluIHRoZSBwcm9qZWN0IHJvb3QgZm9yIGxpY2Vuc2UgaW5mb3JtYXRpb24uCiAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpib290c3RyYXBXZWJXb3JrZXIoKCkgPT4gbmV3IEVkaXRvcldvcmtlcihudWxsKSk7Cg==`,``+import.meta.url),label:`editorWorkerService`}),aS);dS=cS=oS([sS(0,Pp),sS(1,Zx),sS(2,Vh),sS(3,uv),sS(4,$x),sS(5,Rg)],dS);var fS=class{constructor(e,t,n,r,i,a){this.languageConfigurationService=r,this.logService=i,this.languageFeaturesService=a,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`||n.wordBasedSuggestions===`offWithInlineSuggestions`&&this.languageFeaturesService.inlineCompletionsProvider.has(e)&&rS(this._configurationService,e.uri,e.getLanguageId()))return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)uS(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())uS(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new F(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):F.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},pS=class extends k{constructor(e,t,n){super(),this._workerDescriptor=e,this._modelService=t,this._webWorkerService=n,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new tf).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(lS/2),is),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>lS&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new hS(this._workerDescriptor,!1,this._modelService,this._webWorkerService),Promise.resolve(this._editorWorkerClient)}};pS=oS([sS(1,Pp),sS(2,Rg)],pS);var mS=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},hS=class extends k{constructor(e,t,n,r){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._webWorkerService=r,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(this._webWorkerService.createWorkerClient(this._workerDescriptorOrWorker)),tS.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){Dg(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return Dg(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new mS(new Yx(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new Gx(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(Se());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};hS=oS([sS(2,Pp),sS(3,Rg)],hS);var gS={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},_S=new class{clone(){return this}equals(e){return this===e}};function vS(e,t){return new Ia([new Fa(0,``,e)],t)}function yS(e,t){let n=new Uint32Array(2);return n[0]=0,n[1]=(e<<0|33587200)>>>0,new La(n,[],t===null?_S:t)}function bS(e,t){let n=kc();if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){ge(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){ge(e);return}}var xS=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return!!(e&1024)}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},SS,CS=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t<n;t++)e[t<<1]=e[t+1<<1];e[n<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let n=0,r=(e.length>>>1)-1;for(;n<r;){let i=n+Math.floor((r-n)/2),a=e[i<<1];if(a===t)return i+1;a<t?n=i+1:a>t&&(r=i)}return n}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&ge(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t<i;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=xS.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return xS.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return xS.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return xS.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return xS.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return xS.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new wS(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=n<this._tokensCount?this._tokens[n<<1]:-1,s=r<t.length?t[r]:null;if(e!==-1&&(s===null||e<=s.offset)){i+=this._text.substring(o,e);let t=this._tokens[(n<<1)+1];a.push(i.length,t),n++,o=e}else if(s){if(s.offset>o){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new OS,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new G(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n<t;n++)e(n)}toString(){let e=``;return this.forEach(t=>{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}};SS=CS,SS.defaultTokenMetadata=33587200;var wS=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t<r&&!(e.getStartOffset(t)>=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return n<this._startOffset&&(i=i.substring(this._startOffset-n)),r>this._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}};function TS(e,t){let n=t.lineNumber;if(!e.tokenization.isCheapToTokenize(n))return;e.tokenization.forceTokenization(n);let r=e.tokenization.getLineTokens(n),i=r.findTokenIndexAtOffset(t.column-1);return r.getStandardTokenType(i)}var ES=class e{static fromLineTokens(t){let n=[];for(let e=0;e<t.getCount();e++)n.push(new DS(t.getEndOffset(e)-t.getStartOffset(e),t.getMetadata(e)));return e.create(n)}static create(t){return new e(t)}constructor(e){this._tokenInfo=e}toLineTokens(e,t){return CS.createFromTextAndMetadata(this.map((t,n)=>({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new G(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new G(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new DS(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},DS=class{constructor(e,t){this.length=e,this.metadata=t}},OS=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new DS(e,t))}build(){return ES.create(this._tokens)}},kS=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},AS=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},jS=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new AS(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new AS(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},MS=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new jS,i=0;for(let a=0,o=t.length;a<o;a++){let o=t[a],s=o.startColumn,c=o.endColumn,l=o.className,u=o.type===1?2:o.type===2?4:0;s>1&&Vs(e.charCodeAt(s-2))&&s--,c>1&&Vs(e.charCodeAt(c-2))&&c--;let d=s-1,f=c-2;i=r.consumeLowerThan(d,i,n),r.count===0&&(i=d),r.insert(f,l,u)}return r.consumeLowerThan(1073741824,i,n),n}},NS=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},PS=class{get isLTR(){return!this.containsRTL&&this.textDirection!==Xv.RTL}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x=!1){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(kS.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.start<t.start?-1:1),this.renderNewLineWhenEmpty=x,this.textDirection=y,this.verticalScrollbarSize=b,Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&kS.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)&&this.textDirection===e.textDirection&&this.verticalScrollbarSize===e.verticalScrollbarSize&&this.renderNewLineWhenEmpty===e.renderNewLineWhenEmpty}},FS=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},IS=class e{static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new FS(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},LS=class{constructor(e,t){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsForeignElements=t}};function RS(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendString(`<span class="`),t.appendString(a.className),t.appendString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendString(`</span>`);let a=new IS(1,n+r);return a.setColumnInfo(1,n,0,0),new LS(a,i)}return e.renderNewLineWhenEmpty?t.appendString(`<span><span>
45
45
  </span></span>`):t.appendString(`<span><span></span></span>`),new LS(new IS(0,0),0)}return XS(HS(e),t)}var zS=class{constructor(e,t,n){this.characterMapping=e,this.html=t,this.containsForeignElements=n}};function BS(e){let t=new n_(1e4),n=RS(e,t);return new zS(n.characterMapping,t.build(),n.containsForeignElements)}var VS=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.len=r,this.isOverflowing=i,this.overflowingCharCount=a,this.parts=o,this.containsForeignElements=s,this.fauxIndentLength=c,this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.renderSpaceCharCode=f,this.renderWhitespace=p,this.renderControlCharacters=m}};function HS(e){let t=e.lineContent,n,r,i;e.stopRenderingLineAfter!==-1&&e.stopRenderingLineAfter<t.length?(n=!0,r=t.length-e.stopRenderingLineAfter,i=e.stopRenderingLineAfter):(n=!1,r=0,i=t.length);let a=US(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,i);e.renderControlCharacters&&!e.isBasicASCII&&(a=qS(t,a)),(e.renderWhitespace===4||e.renderWhitespace===1||e.renderWhitespace===2&&e.selectionsOnLine||e.renderWhitespace===3&&!e.continuesWithWrappedLine)&&(a=JS(e,t,i,a));let o=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;t<n;t++){let n=e.lineDecorations[t];n.type===3||n.type===1?o|=1:n.type===2&&(o|=2)}a=YS(t,i,a,e.lineDecorations)}return a=e.containsRTL?GS(t,a):WS(t,a,!e.isBasicASCII||e.fontLigatures),new VS(e.useMonospaceOptimizations,e.canUseHalfwidthRightwardsArrow,t,i,n,r,a,o,e.fauxIndentLength,e.tabSize,e.startVisibleColumn,e.spaceWidth,e.renderSpaceCharCode,e.renderWhitespace,e.renderControlCharacters)}function US(e,t,n,r,i){let a=[],o=0;r>0&&(a[o++]=new NS(r,``,0,!1));let s=r;for(let c=0,l=n.getCount();c<l;c++){let l=n.getEndOffset(c);if(l<=r)continue;let u=n.getClassName(c);if(l>=i){let n=t?$s(e.substring(s,i)):!1;a[o++]=new NS(i,u,0,n);break}let d=t?$s(e.substring(s,l)):!1;a[o++]=new NS(l,u,0,d),s=l}return a}function WS(e,t,n){let r=0,i=[],a=0;if(n)for(let n=0,o=t.length;n<o;n++){let o=t[n],s=o.endIndex;if(r+50<s){let t=o.type,n=o.metadata,c=o.containsRTL,l=-1,u=r;for(let o=r;o<s;o++)e.charCodeAt(o)===32&&(l=o),l!==-1&&o-u>=50&&(i[a++]=new NS(l+1,t,n,c),u=l+1,l=-1);u!==s&&(i[a++]=new NS(s,t,n,c))}else i[a++]=o;r=s}else for(let e=0,n=t.length;e<n;e++){let n=t[e],o=n.endIndex,s=o-r;if(s>50){let e=n.type,t=n.metadata,c=n.containsRTL,l=Math.ceil(s/50);for(let n=1;n<l;n++){let o=r+n*50;i[a++]=new NS(o,e,t,c)}i[a++]=new NS(o,e,t,c)}else i[a++]=n;r=o}return i}function GS(e,t){if(t.length===0)return t;let n=t[0];if(!n.containsRTL)return t;let r=n.endIndex,i=0;for(let t=0;t<r;t++){let n=e.charCodeAt(t);if(n!==32&&n!==9){i=t;break}}if(i===0)return t;let a=[];a.push(new NS(i,n.type,n.metadata,!1)),a.push(new NS(r,n.type,n.metadata,n.containsRTL));for(let e=1;e<t.length;e++)a.push(t[e]);return a}function KS(e){return e<32?e!==9:e===127||e>=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||e===1564}function qS(e,t){let n=[],r=new NS(0,``,0,!1),i=0;for(let a of t){let t=a.endIndex;for(;i<t;i++)KS(e.charCodeAt(i))&&(i>r.endIndex&&(r=new NS(i,a.type,a.metadata,a.containsRTL),n.push(r)),r=new NS(i+1,`mtkcontrol`,a.metadata,!1),n.push(r));i>r.endIndex&&(r=new NS(t,a.type,a.metadata,a.containsRTL),n.push(r))}return n}function JS(e,t,n,r){let i=e.continuesWithWrappedLine,a=e.fauxIndentLength,o=e.tabSize,s=e.startVisibleColumn,c=e.useMonospaceOptimizations,l=e.selectionsOnLine,u=e.renderWhitespace===1,d=e.renderWhitespace===3,f=e.renderSpaceWidth!==e.spaceWidth,p=[],m=0,h=0,g=r[h].type,_=r[h].containsRTL,v=r[h].endIndex,y=r.length,b=!1,x=Ts(t),S;x===-1?(b=!0,x=n,S=n):S=Ds(t);let C=!1,w=0,ee=l&&l[w],te=s%o;for(let e=a;e<n;e++){let i=t.charCodeAt(e);ee&&ee.endExclusive<=e&&(w++,ee=l&&l[w]);let s;if(e<x||e>S)s=!0;else if(i===9)s=!0;else if(i===32){if(u){if(C)s=!0;else{let r=e+1<n?t.charCodeAt(e+1):0;s=r===32||r===9}}else s=!0}else s=!1;if(s&&l&&(s=!!ee&&ee.start<=e&&e<ee.endExclusive),s&&d&&(s=b||e>S),s&&_&&e>=x&&e<=S&&(s=!1),C){if(!s||!c&&te>=o){if(f){let t=m>0?p[m-1].endIndex:a;for(let n=t+1;n<=e;n++)p[m++]=new NS(n,`mtkw`,1,!1)}else p[m++]=new NS(e,`mtkw`,1,!1);te%=o}}else(e===v||s&&e>a)&&(p[m++]=new NS(e,g,0,_),te%=o);for(i===9?te=o:ic(i)?te+=2:te++,C=s;e===v&&(h++,h<y);)g=r[h].type,_=r[h].containsRTL,v=r[h].endIndex}let ne=!1;if(C){if(i&&u){let e=n>0?t.charCodeAt(n-1):0,r=n>1?t.charCodeAt(n-2):0;(e!==32||r===32||r===9)&&(ne=!0)}else ne=!0}if(ne){if(f){let e=m>0?p[m-1].endIndex:a;for(let t=e+1;t<=n;t++)p[m++]=new NS(t,`mtkw`,1,!1)}else p[m++]=new NS(n,`mtkw`,1,!1)}else p[m++]=new NS(n,g,0,_);return p}function YS(e,t,n,r){r.sort(kS.compare);let i=MS.normalize(e,r),a=i.length,o=0,s=[],c=0,l=0;for(let e=0,t=n.length;e<t;e++){let t=n[e],r=t.endIndex,u=t.type,d=t.metadata,f=t.containsRTL;for(;o<a&&i[o].startOffset<r;){let e=i[o];if(e.startOffset>l&&(l=e.startOffset,s[c++]=new NS(l,u,d,f)),e.endOffset+1<=r)l=e.endOffset+1,s[c++]=new NS(l,u+` `+e.className,d|e.metadata,f),o++;else{l=r,s[c++]=new NS(l,u+` `+e.className,d|e.metadata,f);break}}r>l&&(l=r,s[c++]=new NS(l,u,d,f))}let u=n[n.length-1].endIndex;if(o<a&&i[o].startOffset===u)for(;o<a&&i[o].startOffset===u;){let e=i[o];s[c++]=new NS(l,e.className,e.metadata,!1),o++}return s}function XS(e,t){let n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,i=e.containsForeignElements,a=e.lineContent,o=e.len,s=e.isOverflowing,c=e.overflowingCharCount,l=e.parts,u=e.fauxIndentLength,d=e.tabSize,f=e.startVisibleColumn,p=e.spaceWidth,m=e.renderSpaceCharCode,h=e.renderWhitespace,g=e.renderControlCharacters,_=new IS(o+1,l.length),v=!1,y=0,b=f,x=0,S=0,C=0;t.appendString(`<span>`);for(let e=0,s=l.length;e<s;e++){let s=l[e],c=s.endIndex,f=s.type,w=s.containsRTL,ee=h!==0&&s.isWhitespace(),te=ee&&!n&&(f===`mtkw`||!i),ne=y===c&&s.isPseudoAfter();if(x=0,t.appendString(`<span `),w&&t.appendString(`style="unicode-bidi:isolate" `),t.appendString(`class="`),t.appendString(te?`mtkz`:f),t.appendASCIICharCode(34),ee){let n=0;{let e=y,t=b;for(;e<c;e++){let r=(a.charCodeAt(e)===9?d-t%d:1)|0;n+=r,e>=u&&(t+=r)}}for(te&&(t.appendString(` style="width:`),t.appendString(String(p*n)),t.appendString(`px"`)),t.appendASCIICharCode(62);y<c;y++){_.setColumnInfo(y+1,e-C,x,S),C=0;let n=a.charCodeAt(y),i,o;if(n===9){i=d-b%d|0,o=i,!r||o>1?t.appendCharCode(8594):t.appendCharCode(65515);for(let e=2;e<=o;e++)t.appendCharCode(160)}else i=2,o=1,t.appendCharCode(m),t.appendCharCode(8204);x+=i,S+=o,y>=u&&(b+=o)}}else for(t.appendASCIICharCode(62);y<c;y++){_.setColumnInfo(y+1,e-C,x,S),C=0;let n=a.charCodeAt(y),r=1,i=1;switch(n){case 9:r=d-b%d,i=r;for(let e=1;e<=r;e++)t.appendCharCode(160);break;case 32:t.appendCharCode(160);break;case 60:t.appendString(`&lt;`);break;case 62:t.appendString(`&gt;`);break;case 38:t.appendString(`&amp;`);break;case 0:g?t.appendCharCode(9216):t.appendString(`&#00;`);break;case 65279:case 8232:case 8233:case 133:t.appendCharCode(65533);break;default:ic(n)&&i++,g&&n<32?t.appendCharCode(9216+n):g&&n===127?t.appendCharCode(9249):g&&KS(n)?(t.appendString(`[U+`),t.appendString(ZS(n)),t.appendString(`]`),r=8,i=r):t.appendCharCode(n)}x+=r,S+=i,y>=u&&(b+=i)}ne?C++:C=0,y>=o&&!v&&s.isPseudoAfter()&&(v=!0,_.setColumnInfo(y+1,e,x,S)),t.appendString(`</span>`)}return v||_.setColumnInfo(o+1,l.length-1,x,S),s&&(t.appendString(`<span class="mtkoverflow">`),t.appendString(E(832,`Show more ({0})`,QS(c))),t.appendString(`</span>`)),t.appendString(`</span>`),new LS(_,i)}function ZS(e){return e.toString(16).toUpperCase().padStart(4,`0`)}function QS(e){return e<1024?E(833,`{0} chars`,e):e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`}var $S=class{constructor(e,t,n,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=n|0,this.height=r|0}},eC=class{constructor(e,t){this.tabSize=e,this.data=t}},tC=class{constructor(e,t,n,r,i,a,o){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=r,this.startVisibleColumn=i,this.tokens=a,this.inlineDecorations=o}},nC=class e{constructor(t,n,r,i,a,o,s,c,l,u,d,f){this.minColumn=t,this.maxColumn=n,this.content=r,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(r,o),this.containsRTL=e.containsRTL(r,this.isBasicASCII,a),this.tokens=s,this.inlineDecorations=c,this.tabSize=l,this.startVisibleColumn=u,this.textDirection=d,this.hasVariableFonts=f}static isBasicASCII(e,t){return!t||tc(e)}static containsRTL(e,t,n){return!t&&n?$s(e):!1}},rC=class e{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.color<t.color?-1:+(e.color>t.color):e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&i(e.data,t.data)}static equalsArr(t,n){return i(t,n,e.equals)}},iC=2e4,aC,oC,sC,cC,lC;function uC(e){aC=document.createElement(`div`),aC.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),aC.appendChild(e),e};oC=t(),sC=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),aC.appendChild(e),e};cC=n(),lC=n(),e.appendChild(aC)}function dC(e){aC&&(oC.textContent===e?(Hd(oC),pC(sC,e)):(Hd(sC),pC(oC,e)))}function fC(e){aC&&(cC.textContent===e?(Hd(cC),pC(lC,e)):(Hd(lC),pC(cC,e)))}function pC(e,t){Hd(e),t.length>iC&&(t=t.substr(0,iC)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var mC=Mp(`editorWorkerService`),hC=Mp(`markerDecorationsService`),gC,dee=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},fee=function(e,t){return function(n,r){t(n,r,e)}},_C=(gC=class{constructor(e,t){}dispose(){}},gC.ID=`editor.contrib.markerDecorations`,gC);_C=dee([fee(1,hC)],_C),j_(mC,dS,0),gg(_C.ID,_C,0);var vC=class extends k{constructor(e,t){super(),this._onDidChange=this._register(new j),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{ef(z(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},yC,bC=class e{constructor(e,t){this.key=e,this.migrate=t}apply(t){let n=e._read(t,this.key);this.migrate(n,n=>e._read(t,n),(n,r)=>e._write(t,n,r))}static _read(e,t){if(e==null)return;let n=t.indexOf(`.`);if(n>=0){let r=t.substring(0,n);return this._read(e[r],t.substring(n+1))}return e[t]}static _write(e,t,n){let r=t.indexOf(`.`);if(r>=0){let i=t.substring(0,r);e[i]=e[i]||{},this._write(e[i],t.substring(r+1),n);return}e[t]=n}};yC=bC,yC.items=[];function xC(e,t){bC.items.push(new bC(e,t))}function SC(e,t){xC(e,(n,r,i)=>{if(n!==void 0){for(let[r,a]of t)if(n===r){i(e,a);return}}})}function pee(e){bC.items.forEach(t=>t.apply(e))}SC(`wordWrap`,[[!0,`on`],[!1,`off`]]),SC(`lineNumbers`,[[!0,`on`],[!1,`off`]]),SC(`cursorBlinking`,[[`visible`,`solid`]]),SC(`renderWhitespace`,[[!0,`boundary`],[!1,`none`]]),SC(`renderLineHighlight`,[[!0,`line`],[!1,`none`]]),SC(`acceptSuggestionOnEnter`,[[!0,`on`],[!1,`off`]]),SC(`tabCompletion`,[[!1,`off`],[!0,`onlySnippets`]]),SC(`hover`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),SC(`parameterHints`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),SC(`autoIndent`,[[!1,`advanced`],[!0,`full`]]),SC(`matchBrackets`,[[!0,`always`],[!1,`never`]]),SC(`renderFinalNewline`,[[!0,`on`],[!1,`off`]]),SC(`cursorSmoothCaretAnimation`,[[!0,`on`],[!1,`off`]]),SC(`occurrencesHighlight`,[[!0,`singleFile`],[!1,`off`]]),SC(`wordBasedSuggestions`,[[!0,`matchingDocuments`],[!1,`off`]]),SC(`defaultColorDecorators`,[[!0,`auto`],[!1,`never`]]),SC(`minimap.autohide`,[[!0,`mouseover`],[!1,`none`]]),xC(`autoClosingBrackets`,(e,t,n)=>{e===!1&&(n(`autoClosingBrackets`,`never`),t(`autoClosingQuotes`)===void 0&&n(`autoClosingQuotes`,`never`),t(`autoSurround`)===void 0&&n(`autoSurround`,`never`))}),xC(`renderIndentGuides`,(e,t,n)=>{e!==void 0&&(n(`renderIndentGuides`,void 0),t(`guides.indentation`)===void 0&&n(`guides.indentation`,!!e))}),xC(`highlightActiveIndentGuide`,(e,t,n)=>{e!==void 0&&(n(`highlightActiveIndentGuide`,void 0),t(`guides.highlightActiveIndentation`)===void 0&&n(`guides.highlightActiveIndentation`,!!e))});var mee={method:`showMethods`,function:`showFunctions`,constructor:`showConstructors`,deprecated:`showDeprecated`,field:`showFields`,variable:`showVariables`,class:`showClasses`,struct:`showStructs`,interface:`showInterfaces`,module:`showModules`,property:`showProperties`,event:`showEvents`,operator:`showOperators`,unit:`showUnits`,value:`showValues`,constant:`showConstants`,enum:`showEnums`,enumMember:`showEnumMembers`,keyword:`showKeywords`,text:`showWords`,color:`showColors`,file:`showFiles`,reference:`showReferences`,folder:`showFolders`,typeParameter:`showTypeParameters`,snippet:`showSnippets`};xC(`suggest.filteredTypes`,(e,t,n)=>{if(e&&typeof e==`object`){for(let r of Object.entries(mee))e[r[0]]===!1&&t(`suggest.${r[1]}`)===void 0&&n(`suggest.${r[1]}`,!1);n(`suggest.filteredTypes`,void 0)}}),xC(`quickSuggestions`,(e,t,n)=>{if(typeof e==`boolean`){let t=e?`on`:`off`;n(`quickSuggestions`,{comments:t,strings:t,other:t})}}),xC(`experimental.stickyScroll.enabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`experimental.stickyScroll.enabled`,void 0),t(`stickyScroll.enabled`)===void 0&&n(`stickyScroll.enabled`,e))}),xC(`experimental.stickyScroll.maxLineCount`,(e,t,n)=>{typeof e==`number`&&(n(`experimental.stickyScroll.maxLineCount`,void 0),t(`stickyScroll.maxLineCount`)===void 0&&n(`stickyScroll.maxLineCount`,e))}),xC(`editor.experimentalEditContextEnabled`,(e,t,n)=>{typeof e==`boolean`&&(n(`editor.experimentalEditContextEnabled`,void 0),t(`editor.editContext`)===void 0&&n(`editor.editContext`,e))}),xC(`codeActionsOnSave`,(e,t,n)=>{if(e&&typeof e==`object`){let t=!1,r={};for(let n of Object.entries(e))typeof n[1]==`boolean`?(t=!0,r[n[0]]=n[1]?`explicit`:`never`):r[n[0]]=n[1];t&&n(`codeActionsOnSave`,r)}}),xC(`codeActionWidget.includeNearbyQuickfixes`,(e,t,n)=>{typeof e==`boolean`&&(n(`codeActionWidget.includeNearbyQuickfixes`,void 0),t(`codeActionWidget.includeNearbyQuickFixes`)===void 0&&n(`codeActionWidget.includeNearbyQuickFixes`,e))}),xC(`lightbulb.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`lightbulb.enabled`,e?void 0:`off`)}),xC(`inlineSuggest.edits.codeShifting`,(e,t,n)=>{typeof e==`boolean`&&(n(`inlineSuggest.edits.codeShifting`,void 0),n(`inlineSuggest.edits.allowCodeShifting`,e?`always`:`never`))}),xC(`hover.enabled`,(e,t,n)=>{typeof e==`boolean`&&n(`hover.enabled`,e?`on`:`off`)});var CC=new class extends k{constructor(){super(...arguments),this._tabFocus=!1,this._onDidChangeTabFocus=this._register(new j),this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};function hee(e,t,n){let r=e.get(58),i=e.get(62),a=e.get(61),o=e.get(60),s=e.get(63),c=e.get(75),l=e.get(72);return Ln._create(r,i,a,o,s,c,l,t,n)}function gee(e,t,n=!1){let r=gi.fontFamily.validate(e.fontFamily),i=gi.fontWeight.validate(e.fontWeight),a=gi.fontSize.validate(e.fontSize),o=gi.fontLigatures2.validate(e.fontLigatures),s=gi.fontVariations.validate(e.fontVariations),c=gi.lineHeight.validate(e.lineHeight),l=gi.letterSpacing.validate(e.letterSpacing);return Ln._create(r,i,a,o,s,c,l,t,n)}var wC=Mp(`accessibilityService`),TC=new U(`accessibilityModeEnabled`,!1),EC=new class{constructor(){this._inputMode=`insert`,this._onDidChangeInputMode=new j,this.onDidChangeInputMode=this._onDidChangeInputMode.event}getInputMode(){return this._inputMode}},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=class extends k{constructor(e,t,n,r,i){super(),this._accessibilityService=i,this._onDidChange=this._register(new j),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new j),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new er,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new vC(r,n.dimension)),this._targetWindowId=z(r).vscodeWindowId,this._rawOptions=FC(n),this._validatedOptions=PC.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(19)&&this._containerObserver.startObserving(),this._register(Fn.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(CC.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(Op.onDidChange(()=>this._recomputeOptions())),this._register(vp.getInstance(z(r)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions())),this._register(EC.onDidChangeInputMode(()=>this._recomputeOptions()))}_recomputeOptions(){let e=this._computeOptions(),t=PC.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){let e=this._readEnvConfiguration(),t=hee(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:this._validatedOptions.get(164)||CC.getTabFocusMode(),inputMode:EC.getInputMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount,editContextSupported:e.editContextSupported};return PC.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:jC(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:Cc||Sc,pixelRatio:vp.getInstance(Id(this._targetWindowId,!0).window).value,editContextSupported:typeof globalThis.EditContext==`function`,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return Op.readFontInfo(Id(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){let t=FC(e);PC.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=PC.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){let t=AC(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};kC=DC([OC(4,wC)],kC);function AC(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function jC(){let e=``;return Tc||Ec?(e+=`no-minimap-shadow `,e+=`enable-user-select `):e+=`no-user-select `,St&&(e+=`mac `),e}var MC=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},NC=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw Error(`Cannot read uninitialized value`);return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},PC=class e{static validateOptions(e){let t=new MC;for(let n of hi){let r=n.name===`_never_`?void 0:e[n.name];t._write(n.id,n.validate(r))}return t}static computeOptions(e,t){let n=new NC;for(let r of hi)n._write(r.id,r.compute(t,n,e._read(r.id)));return n}static _deepEquals(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n)return t===n;if(Array.isArray(t)||Array.isArray(n))return Array.isArray(t)&&Array.isArray(n)?i(t,n):!1;if(Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e._deepEquals(t[r],n[r]))return!1;return!0}static checkEquals(t,n){let r=[],i=!1;for(let a of hi){let o=!e._deepEquals(t._read(a.id),n._read(a.id));r[a.id]=o,o&&(i=!0)}return i?new $n(r):null}static applyUpdate(e,t){let n=!1;for(let r of hi)if(t.hasOwnProperty(r.name)){let i=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=i.newValue,n||=i.didChange}return n}};function FC(e){let t=Ye(e);return pee(t),t}var IC;(function(e){let t={total:0,min:Number.MAX_VALUE,max:0},n={...t},r={...t},i={...t},a=0;e.sampleCount=ad(`inputLatency.sampleCount`,0);let o={keydown:0,input:0,render:0};function s(){_(),performance.mark(`inputlatency/start`),performance.mark(`keydown/start`),o.keydown=1,queueMicrotask(c)}e.onKeyDown=s;function c(){o.keydown===1&&(performance.mark(`keydown/end`),o.keydown=2)}function l(){performance.mark(`input/start`),o.input=1,g()}e.onBeforeInput=l;function u(){o.input===0&&l(),queueMicrotask(d)}e.onInput=u;function d(){o.input===1&&(performance.mark(`input/end`),o.input=2)}function f(){_()}e.onKeyUp=f;function p(){_()}e.onSelectionChange=p;function m(){o.keydown===2&&o.input===2&&o.render===0&&(performance.mark(`render/start`),o.render=1,queueMicrotask(h),g())}e.onRenderStart=m;function h(){o.render===1&&(performance.mark(`render/end`),o.render=2)}function g(){setTimeout(_)}function _(){o.keydown===2&&o.input===2&&o.render===2&&(performance.mark(`inputlatency/end`),performance.measure(`keydown`,`keydown/start`,`keydown/end`),performance.measure(`input`,`input/start`,`input/end`),performance.measure(`render`,`render/start`,`render/end`),performance.measure(`inputlatency`,`inputlatency/start`,`inputlatency/end`),v(`keydown`,t),v(`input`,n),v(`render`,r),v(`inputlatency`,i),a++,e.sampleCount.set(e.sampleCount.get()+1,void 0),y())}function v(e,t){let n=performance.getEntriesByName(e)[0].duration;t.total+=n,t.min=Math.min(t.min,n),t.max=Math.max(t.max,n)}function y(){performance.clearMarks(`keydown/start`),performance.clearMarks(`keydown/end`),performance.clearMarks(`input/start`),performance.clearMarks(`input/end`),performance.clearMarks(`render/start`),performance.clearMarks(`render/end`),performance.clearMarks(`inputlatency/start`),performance.clearMarks(`inputlatency/end`),performance.clearMeasures(`keydown`),performance.clearMeasures(`input`),performance.clearMeasures(`render`),performance.clearMeasures(`inputlatency`),o.keydown=0,o.input=0,o.render=0}function b(){if(a===0)return;let e={keydown:x(t),input:x(n),render:x(r),total:x(i),sampleCount:a};return S(t),S(n),S(r),S(i),a=0,e}e.getAndClearMeasurements=b;function x(e){return{average:e.total/a,max:e.max,min:e.min}}function S(e){e.total=0,e.min=Number.MAX_VALUE,e.max=0}})(IC||={});var LC=new Map,RC=class extends k{constructor(){super(...arguments),this._currentCssStyle=``,this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.textContent=e:this._styleSheet=zC(is.document.head,t=>t.textContent=e,this._store))}dispose(){super.dispose(),this._styleSheet=void 0}};function zC(e=is.document.head,t,n){let r=document.createElement(`style`);if(r.type=`text/css`,r.media=`screen`,t?.(r),e.appendChild(r),n&&n.add(D(()=>r.remove())),e===is.document.head){let e=new Set;LC.set(r,e),n&&n.add(D(()=>LC.delete(r)));for(let{window:t,disposables:i}of Nd()){if(t===is)continue;let a=i.add(BC(r,e,t));n?.add(a)}}return r}function BC(e,t,n){let r=new O,i=e.cloneNode(!0);n.document.head.appendChild(i),r.add(D(()=>i.remove()));for(let t of e.sheet?.cssRules??[])i.sheet?.insertRule(t.cssText,i.sheet?.cssRules.length);return r.add(Df.observe(e,r,{childList:!0,subtree:Sc,characterData:Sc})(()=>{i.textContent=e.textContent})),t.add(i),r.add(D(()=>t.delete(i))),r}var VC=null;function HC(){return VC||=zC(),VC}function UC(e,t,n=HC()){if(n&&t){n.sheet?.insertRule(`${e} {${t}}`,0);for(let r of LC.get(n)??[])UC(e,t,r)}}function WC(e,t=HC()){if(!t)return;let n=t.sheet?.cssRules??[],r=[];for(let t=0;t<n.length;t++){let i=n[t];GC(i)&&i.selectorText.indexOf(e)!==-1&&r.push(t)}for(let e=r.length-1;e>=0;e--)t.sheet?.deleteRule(r[e]);for(let n of LC.get(t)??[])WC(e,n)}function GC(e){return typeof e.selectorText==`string`}function KC(e){let t=new O,n=t.add(new RC);return t.add(Ku(t=>{n.setStyle(e.read(t))})),t}var qC=class{constructor(){this._hooks=new O,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(D(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=z(e)}this._hooks.add(B(a,V.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(B(a,V.POINTER_UP,e=>this.stopMonitoring(!0)))}};function JC(e){return`--vscode-${e.replace(/\./g,`-`)}`}function Y(e){return`var(${JC(e)})`}function YC(e,t){return`var(${JC(e)}, ${t})`}function XC(e){return typeof e==`object`&&!!e&&`light`in e&&`dark`in e}var ZC={ColorContribution:`base.contributions.colors`},QC=`default`,$C=new class extends k{constructor(){super(),this._onDidChangeSchema=this._register(new j),this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:`object`,properties:{}},this.colorReferenceSchema={type:`string`,enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,n,r=!1,i){let a={id:e,description:n,defaults:t,needsTransparency:r,deprecationMessage:i};this.colorsById[e]=a;let o={type:`string`,format:`color-hex`,defaultSnippets:[{body:"${1:#ff0000}"}]};return i&&(o.deprecationMessage=i),r&&(o.pattern=`^#(?:(?<rgba>[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$`,o.patternErrorMessage=E(2091,`This color must be transparent or it will obscure content`)),this.colorSchema.properties[e]={description:n,oneOf:[o,{type:`string`,const:QC,description:E(2092,`Use the default color.`)}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(n),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){let n=this.colorsById[e];if(n?.defaults)return sw(XC(n.defaults)?n.defaults[t.type]:n.defaults,t)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort((e,t)=>{let n=e.indexOf(`.`)===-1?0:1,r=t.indexOf(`.`)===-1?0:1;return n===r?e.localeCompare(t):n-r}).map(e=>`- \`${e}\`: ${this.colorsById[e].description}`).join(`
46
46
  `)}};Hm.add(ZC.ColorContribution,$C);function X(e,t,n,r,i){return $C.registerColor(e,t,n,r,i)}function ew(e,t){switch(e.op){case 0:return sw(e.value,t)?.darken(e.factor);case 1:return sw(e.value,t)?.lighten(e.factor);case 2:return sw(e.value,t)?.transparent(e.factor);case 7:{let n=sw(e.color,t)||J.transparent,r=sw(e.with,t)||J.transparent;return n.mix(r,e.ratio)}case 3:{let n=sw(e.background,t);return n?sw(e.value,t)?.makeOpaque(n):sw(e.value,t)}case 4:for(let n of e.values){let e=sw(n,t);if(e)return e}return;case 6:return sw(t.defines(e.if)?e.then:e.else,t);case 5:{let n=sw(e.value,t);if(!n)return;let r=sw(e.background,t);return r?n.isDarkerThan(r)?J.getLighterColor(n,r,e.factor).transparent(e.transparency):J.getDarkerColor(n,r,e.factor).transparent(e.transparency):n.transparent(e.factor*e.transparency)}default:throw Oe()}}function tw(e,t){return{op:0,value:e,factor:t}}function nw(e,t){return{op:1,value:e,factor:t}}function rw(e,t){return{op:2,value:e,factor:t}}function iw(...e){return{op:4,values:e}}function aw(e,t,n){return{op:6,if:e,then:t,else:n}}function ow(e,t,n,r){return{op:5,value:e,background:t,factor:n,transparency:r}}function sw(e,t){if(e!==null){if(typeof e==`string`)return e[0]===`#`?J.fromHex(e):t.getColor(e);if(e instanceof J)return e;if(typeof e==`object`)return ew(e,t)}}var cw=`vscode://schemas/workbench-colors`,lw=Hm.as(P_.JSONContribution);lw.registerSchema(cw,$C.getColorSchema());var uw=new ml(()=>lw.notifySchemaChanged(cw),200);$C.onDidChangeSchema(()=>{uw.isScheduled()||uw.schedule()});var dw=X(`foreground`,{dark:`#CCCCCC`,light:`#616161`,hcDark:`#FFFFFF`,hcLight:`#292929`},E(1838,`Overall foreground color. This color is only used if not overridden by a component.`));X(`strongForeground`,{dark:`#FFFFFF`,light:`#000000`,hcDark:`#FFFFFF`,hcLight:`#000000`},E(1839,`Highest-contrast foreground color, intended for text or icons that need maximum legibility across various backgrounds. This color is only used if not overridden by a component.`)),X(`disabledForeground`,{dark:`#CCCCCC80`,light:`#61616180`,hcDark:`#A5A5A5`,hcLight:`#7F7F7F`},E(1840,`Overall foreground for disabled elements. This color is only used if not overridden by a component.`)),X(`errorForeground`,{dark:`#F48771`,light:`#A1260D`,hcDark:`#F48771`,hcLight:`#B5200D`},E(1841,`Overall foreground color for error messages. This color is only used if not overridden by a component.`));var _ee=X(`descriptionForeground`,{light:`#717171`,dark:rw(dw,.7),hcDark:rw(dw,.7),hcLight:rw(dw,.7)},E(1842,`Foreground color for description text providing additional information, for example for a label.`)),fw=X(`icon.foreground`,{dark:`#C5C5C5`,light:`#424242`,hcDark:`#FFFFFF`,hcLight:`#292929`},E(1843,`The default color for icons in the workbench.`)),pw=X(`focusBorder`,{dark:`#007FD4`,light:`#0090F1`,hcDark:`#F38518`,hcLight:`#006BBD`},E(1844,`Overall border color for focused elements. This color is only used if not overridden by a component.`)),mw=X(`contrastBorder`,{light:null,dark:null,hcDark:`#6FC3DF`,hcLight:`#0F4A85`},E(1845,`An extra border around elements to separate them from others for greater contrast.`)),hw=X(`contrastActiveBorder`,{light:null,dark:null,hcDark:pw,hcLight:pw},E(1846,`An extra border around active elements to separate them from others for greater contrast.`));X(`selection.background`,null,E(1847,`The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor.`));var gw=X(`textLink.foreground`,{light:`#006AB1`,dark:`#3794FF`,hcDark:`#21A6FF`,hcLight:`#0F4A85`},E(1848,`Foreground color for links in text.`));X(`textLink.activeForeground`,{light:`#006AB1`,dark:`#3794FF`,hcDark:`#21A6FF`,hcLight:`#0F4A85`},E(1849,`Foreground color for links in text when clicked on and on mouse hover.`)),X(`textSeparator.foreground`,{light:`#0000002e`,dark:`#ffffff2e`,hcDark:J.black,hcLight:`#292929`},E(1850,`Color for text separators.`)),X(`textPreformat.foreground`,{light:`#A31515`,dark:`#D7BA7D`,hcDark:`#FFFFFF`,hcLight:`#FFFFFF`},E(1851,`Foreground color for preformatted text segments.`)),X(`textPreformat.background`,{light:`#0000001A`,dark:`#FFFFFF1A`,hcDark:null,hcLight:`#09345f`},E(1852,`Background color for preformatted text segments.`)),X(`textPreformat.border`,{light:null,dark:null,hcDark:mw,hcLight:null},E(1853,`Border color for preformatted text segments.`)),X(`textBlockQuote.background`,{light:`#f2f2f2`,dark:`#222222`,hcDark:null,hcLight:`#F2F2F2`},E(1854,`Background color for block quotes in text.`)),X(`textBlockQuote.border`,{light:`#007acc80`,dark:`#007acc80`,hcDark:J.white,hcLight:`#292929`},E(1855,`Border color for block quotes in text.`)),X(`textCodeBlock.background`,{light:`#dcdcdc66`,dark:`#0a0a0a66`,hcDark:J.black,hcLight:`#F2F2F2`},E(1856,`Background color for code blocks in text.`)),X(`sash.hoverBorder`,pw,E(2062,`Border color of active sashes.`));var _w=X(`badge.background`,{dark:`#4D4D4D`,light:`#C4C4C4`,hcDark:J.black,hcLight:`#0F4A85`},E(2063,`Badge background color. Badges are small information labels, e.g. for search results count.`)),vw=X(`badge.foreground`,{dark:J.white,light:`#333`,hcDark:J.white,hcLight:J.white},E(2064,`Badge foreground color. Badges are small information labels, e.g. for search results count.`));X(`activityWarningBadge.foreground`,{dark:J.white,light:J.white,hcDark:J.white,hcLight:J.white},E(2065,`Foreground color of the warning activity badge`)),X(`activityWarningBadge.background`,{dark:`#B27C00`,light:`#B27C00`,hcDark:null,hcLight:`#B27C00`},E(2066,`Background color of the warning activity badge`)),X(`activityErrorBadge.foreground`,{dark:J.black.lighten(.2),light:J.white,hcDark:null,hcLight:J.black.lighten(.2)},E(2067,`Foreground color of the error activity badge`)),X(`activityErrorBadge.background`,{dark:`#F14C4C`,light:`#E51400`,hcDark:null,hcLight:`#F14C4C`},E(2068,`Background color of the error activity badge`));var yw=X(`scrollbar.shadow`,{dark:`#000000`,light:`#DDDDDD`,hcDark:null,hcLight:null},E(2069,`Scrollbar shadow to indicate that the view is scrolled.`)),bw=X(`scrollbarSlider.background`,{dark:J.fromHex(`#797979`).transparent(.4),light:J.fromHex(`#646464`).transparent(.4),hcDark:rw(mw,.6),hcLight:rw(mw,.4)},E(2070,`Scrollbar slider background color.`)),xw=X(`scrollbarSlider.hoverBackground`,{dark:J.fromHex(`#646464`).transparent(.7),light:J.fromHex(`#646464`).transparent(.7),hcDark:rw(mw,.8),hcLight:rw(mw,.8)},E(2071,`Scrollbar slider background color when hovering.`)),Sw=X(`scrollbarSlider.activeBackground`,{dark:J.fromHex(`#BFBFBF`).transparent(.4),light:J.fromHex(`#000000`).transparent(.6),hcDark:mw,hcLight:mw},E(2072,`Scrollbar slider background color when clicked on.`));X(`scrollbar.background`,null,E(2073,`Scrollbar track background color.`));var Cw=X(`progressBar.background`,{dark:J.fromHex(`#0E70C0`),light:J.fromHex(`#0E70C0`),hcDark:mw,hcLight:mw},E(2074,`Background color of the progress bar that can show for long running operations.`));X(`chart.line`,{dark:`#236B8E`,light:`#236B8E`,hcDark:`#236B8E`,hcLight:`#236B8E`},E(2075,`Line color for the chart.`)),X(`chart.axis`,{dark:J.fromHex(`#BFBFBF`).transparent(.4),light:J.fromHex(`#000000`).transparent(.6),hcDark:mw,hcLight:mw},E(2076,`Axis color for the chart.`)),X(`chart.guide`,{dark:J.fromHex(`#BFBFBF`).transparent(.2),light:J.fromHex(`#000000`).transparent(.2),hcDark:mw,hcLight:mw},E(2077,`Guide line for the chart.`));var ww=X(`editor.background`,{light:`#ffffff`,dark:`#1E1E1E`,hcDark:J.black,hcLight:J.white},E(1865,`Editor background color.`)),Tw=X(`editor.foreground`,{light:`#333333`,dark:`#BBBBBB`,hcDark:J.white,hcLight:dw},E(1866,`Editor default foreground color.`));X(`editorStickyScroll.background`,ww,E(1867,`Background color of sticky scroll in the editor`)),X(`editorStickyScrollGutter.background`,ww,E(1868,`Background color of the gutter part of sticky scroll in the editor`)),X(`editorStickyScrollHover.background`,{dark:`#2A2D2E`,light:`#F0F0F0`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},E(1869,`Background color of sticky scroll on hover in the editor`)),X(`editorStickyScroll.border`,{dark:null,light:null,hcDark:mw,hcLight:mw},E(1870,`Border color of sticky scroll in the editor`)),X(`editorStickyScroll.shadow`,yw,E(1871,` Shadow color of sticky scroll in the editor`));var Ew=X(`editorWidget.background`,{dark:`#252526`,light:`#F3F3F3`,hcDark:`#0C141F`,hcLight:J.white},E(1872,`Background color of editor widgets, such as find/replace.`)),Dw=X(`editorWidget.foreground`,dw,E(1873,`Foreground color of editor widgets, such as find/replace.`)),Ow=X(`editorWidget.border`,{dark:rw(Dw,.2),light:rw(Dw,.2),hcDark:mw,hcLight:mw},E(1874,`Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget.`));X(`editorWidget.resizeBorder`,null,E(1875,`Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget.`)),X(`editorError.background`,null,E(1876,`Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0);var kw=X(`editorError.foreground`,{dark:`#F14C4C`,light:`#E51400`,hcDark:`#F48771`,hcLight:`#B5200D`},E(1877,`Foreground color of error squigglies in the editor.`)),Aw=X(`editorError.border`,{dark:null,light:null,hcDark:J.fromHex(`#E47777`).transparent(.8),hcLight:`#B5200D`},E(1878,`If set, color of double underlines for errors in the editor.`)),jw=X(`editorWarning.background`,null,E(1879,`Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0),Mw=X(`editorWarning.foreground`,{dark:`#CCA700`,light:`#BF8803`,hcDark:`#FFD370`,hcLight:`#895503`},E(1880,`Foreground color of warning squigglies in the editor.`)),Nw=X(`editorWarning.border`,{dark:null,light:null,hcDark:J.fromHex(`#FFCC00`).transparent(.8),hcLight:J.fromHex(`#FFCC00`).transparent(.8)},E(1881,`If set, color of double underlines for warnings in the editor.`));X(`editorInfo.background`,null,E(1882,`Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations.`),!0);var Pw=X(`editorInfo.foreground`,{dark:`#59a4f9`,light:`#0063d3`,hcDark:`#59a4f9`,hcLight:`#0063d3`},E(1883,`Foreground color of info squigglies in the editor.`)),Fw=X(`editorInfo.border`,{dark:null,light:null,hcDark:J.fromHex(`#59a4f9`).transparent(.8),hcLight:`#292929`},E(1884,`If set, color of double underlines for infos in the editor.`)),Iw=X(`editorHint.foreground`,{dark:J.fromHex(`#eeeeee`).transparent(.7),light:`#6c6c6c`,hcDark:null,hcLight:null},E(1885,`Foreground color of hint squigglies in the editor.`));X(`editorHint.border`,{dark:null,light:null,hcDark:J.fromHex(`#eeeeee`).transparent(.8),hcLight:`#292929`},E(1886,`If set, color of double underlines for hints in the editor.`));var Lw=X(`editorLink.activeForeground`,{dark:`#4E94CE`,light:J.blue,hcDark:J.cyan,hcLight:`#292929`},E(1887,`Color of active links.`)),Rw=X(`editor.selectionBackground`,{light:`#ADD6FF`,dark:`#264F78`,hcDark:`#f3f518`,hcLight:`#0F4A85`},E(1888,`Color of the editor selection.`)),zw=X(`editor.selectionForeground`,{light:null,dark:null,hcDark:`#000000`,hcLight:J.white},E(1889,`Color of the selected text for high contrast.`)),Bw=X(`editor.inactiveSelectionBackground`,{light:rw(Rw,.5),dark:rw(Rw,.5),hcDark:rw(Rw,.7),hcLight:rw(Rw,.5)},E(1890,`Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations.`),!0),Vw=X(`editor.selectionHighlightBackground`,{light:ow(Rw,ww,.3,.6),dark:ow(Rw,ww,.3,.6),hcDark:null,hcLight:null},E(1891,`Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`editor.selectionHighlightBorder`,{light:null,dark:null,hcDark:hw,hcLight:hw},E(1892,`Border color for regions with the same content as the selection.`)),X(`editor.compositionBorder`,{light:`#000000`,dark:`#ffffff`,hcLight:`#000000`,hcDark:`#ffffff`},E(1893,`The border color for an IME composition.`)),X(`editor.findMatchBackground`,{light:`#A8AC94`,dark:`#515C6A`,hcDark:null,hcLight:null},E(1894,`Color of the current search match.`));var Hw=X(`editor.findMatchForeground`,null,E(1895,`Text color of the current search match.`)),Uw=X(`editor.findMatchHighlightBackground`,{light:`#EA5C0055`,dark:`#EA5C0055`,hcDark:null,hcLight:null},E(1896,`Color of the other search matches. The color must not be opaque so as not to hide underlying decorations.`),!0),Ww=X(`editor.findMatchHighlightForeground`,null,E(1897,`Foreground color of the other search matches.`),!0);X(`editor.findRangeHighlightBackground`,{dark:`#3a3d4166`,light:`#b4b4b44d`,hcDark:null,hcLight:null},E(1898,`Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.`),!0),X(`editor.findMatchBorder`,{light:null,dark:null,hcDark:hw,hcLight:hw},E(1899,`Border color of the current search match.`));var Gw=X(`editor.findMatchHighlightBorder`,{light:null,dark:null,hcDark:hw,hcLight:hw},E(1900,`Border color of the other search matches.`)),Kw=X(`editor.findRangeHighlightBorder`,{dark:null,light:null,hcDark:rw(hw,.4),hcLight:rw(hw,.4)},E(1901,`Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`editor.hoverHighlightBackground`,{light:`#ADD6FF26`,dark:`#264f7840`,hcDark:`#ADD6FF26`,hcLight:null},E(1902,`Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations.`),!0);var qw=X(`editorHoverWidget.background`,Ew,E(1903,`Background color of the editor hover.`)),Jw=X(`editorHoverWidget.foreground`,Dw,E(1904,`Foreground color of the editor hover.`)),Yw=X(`editorHoverWidget.border`,Ow,E(1905,`Border color of the editor hover.`));X(`editorHoverWidget.statusBarBackground`,{dark:nw(qw,.2),light:tw(qw,.05),hcDark:Ew,hcLight:Ew},E(1906,`Background color of the editor hover status bar.`));var Xw=X(`editorInlayHint.foreground`,{dark:`#969696`,light:`#969696`,hcDark:J.white,hcLight:J.black},E(1907,`Foreground color of inline hints`)),Zw=X(`editorInlayHint.background`,{dark:rw(_w,.1),light:rw(_w,.1),hcDark:rw(J.white,.1),hcLight:rw(_w,.1)},E(1908,`Background color of inline hints`)),Qw=X(`editorInlayHint.typeForeground`,Xw,E(1909,`Foreground color of inline hints for types`)),$w=X(`editorInlayHint.typeBackground`,Zw,E(1910,`Background color of inline hints for types`)),eT=X(`editorInlayHint.parameterForeground`,Xw,E(1911,`Foreground color of inline hints for parameters`)),tT=X(`editorInlayHint.parameterBackground`,Zw,E(1912,`Background color of inline hints for parameters`)),nT=X(`editorLightBulb.foreground`,{dark:`#FFCC00`,light:`#DDB100`,hcDark:`#FFCC00`,hcLight:`#007ACC`},E(1913,`The color used for the lightbulb actions icon.`));X(`editorLightBulbAutoFix.foreground`,{dark:`#75BEFF`,light:`#007ACC`,hcDark:`#75BEFF`,hcLight:`#007ACC`},E(1914,`The color used for the lightbulb auto fix actions icon.`)),X(`editorLightBulbAi.foreground`,nT,E(1915,`The color used for the lightbulb AI icon.`)),X(`editor.snippetTabstopHighlightBackground`,{dark:new J(new q(124,124,124,.3)),light:new J(new q(10,50,100,.2)),hcDark:new J(new q(124,124,124,.3)),hcLight:new J(new q(10,50,100,.2))},E(1916,`Highlight background color of a snippet tabstop.`)),X(`editor.snippetTabstopHighlightBorder`,null,E(1917,`Highlight border color of a snippet tabstop.`)),X(`editor.snippetFinalTabstopHighlightBackground`,null,E(1918,`Highlight background color of the final tabstop of a snippet.`)),X(`editor.snippetFinalTabstopHighlightBorder`,{dark:`#525252`,light:new J(new q(10,50,100,.5)),hcDark:`#525252`,hcLight:`#292929`},E(1919,`Highlight border color of the final tabstop of a snippet.`));var rT=new J(new q(155,185,85,.2)),iT=new J(new q(255,0,0,.2)),aT=X(`diffEditor.insertedTextBackground`,{dark:`#9ccc2c33`,light:`#9ccc2c40`,hcDark:null,hcLight:null},E(1920,`Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations.`),!0),oT=X(`diffEditor.removedTextBackground`,{dark:`#ff000033`,light:`#ff000033`,hcDark:null,hcLight:null},E(1921,`Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations.`),!0),sT=X(`diffEditor.insertedLineBackground`,{dark:rT,light:rT,hcDark:null,hcLight:null},E(1922,`Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`diffEditor.removedLineBackground`,{dark:iT,light:iT,hcDark:null,hcLight:null},E(1923,`Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations.`),!0),X(`diffEditorGutter.insertedLineBackground`,null,E(1924,`Background color for the margin where lines got inserted.`)),X(`diffEditorGutter.removedLineBackground`,null,E(1925,`Background color for the margin where lines got removed.`));var cT=X(`diffEditorOverview.insertedForeground`,null,E(1926,`Diff overview ruler foreground for inserted content.`)),lT=X(`diffEditorOverview.removedForeground`,null,E(1927,`Diff overview ruler foreground for removed content.`));X(`diffEditor.insertedTextBorder`,{dark:null,light:null,hcDark:`#33ff2eff`,hcLight:`#374E06`},E(1928,`Outline color for the text that got inserted.`)),X(`diffEditor.removedTextBorder`,{dark:null,light:null,hcDark:`#FF008F`,hcLight:`#AD0707`},E(1929,`Outline color for text that got removed.`)),X(`diffEditor.border`,{dark:null,light:null,hcDark:mw,hcLight:mw},E(1930,`Border color between the two text editors.`)),X(`diffEditor.diagonalFill`,{dark:`#cccccc33`,light:`#22222233`,hcDark:null,hcLight:null},E(1931,`Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.`)),X(`diffEditor.unchangedRegionBackground`,`sideBar.background`,E(1932,`The background color of unchanged blocks in the diff editor.`)),X(`diffEditor.unchangedRegionForeground`,`foreground`,E(1933,`The foreground color of unchanged blocks in the diff editor.`)),X(`diffEditor.unchangedCodeBackground`,{dark:`#74747429`,light:`#b8b8b829`,hcDark:null,hcLight:null},E(1934,`The background color of unchanged code in the diff editor.`));var uT=X(`widget.shadow`,{dark:rw(J.black,.36),light:rw(J.black,.16),hcDark:null,hcLight:null},E(1935,`Shadow color of widgets such as find/replace inside the editor.`)),dT=X(`widget.border`,{dark:null,light:null,hcDark:mw,hcLight:mw},E(1936,`Border color of widgets such as find/replace inside the editor.`)),fT=X(`toolbar.hoverBackground`,{dark:`#5a5d5e50`,light:`#b8b8b850`,hcDark:null,hcLight:null},E(1937,`Toolbar background when hovering over actions using the mouse`));X(`toolbar.hoverOutline`,{dark:null,light:null,hcDark:hw,hcLight:hw},E(1938,`Toolbar outline when hovering over actions using the mouse`)),X(`toolbar.activeBackground`,{dark:nw(fT,.1),light:tw(fT,.1),hcDark:null,hcLight:null},E(1939,`Toolbar background when holding the mouse over actions`));var pT=X(`breadcrumb.foreground`,rw(dw,.8),E(1940,`Color of focused breadcrumb items.`)),mT=X(`breadcrumb.background`,ww,E(1941,`Background color of breadcrumb items.`)),hT=X(`breadcrumb.focusForeground`,{light:tw(dw,.2),dark:nw(dw,.1),hcDark:nw(dw,.1),hcLight:nw(dw,.1)},E(1942,`Color of focused breadcrumb items.`)),gT=X(`breadcrumb.activeSelectionForeground`,{light:tw(dw,.2),dark:nw(dw,.1),hcDark:nw(dw,.1),hcLight:nw(dw,.1)},E(1943,`Color of selected breadcrumb items.`));X(`breadcrumbPicker.background`,Ew,E(1944,`Background color of breadcrumb item picker.`));var _T=.5,vT=J.fromHex(`#40C8AE`).transparent(_T),yT=J.fromHex(`#40A6FF`).transparent(_T),bT=J.fromHex(`#606060`).transparent(.4),xT=.4,ST=1,CT=X(`merge.currentHeaderBackground`,{dark:vT,light:vT,hcDark:null,hcLight:null},E(1945,`Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.currentContentBackground`,rw(CT,xT),E(1946,`Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var wT=X(`merge.incomingHeaderBackground`,{dark:yT,light:yT,hcDark:null,hcLight:null},E(1947,`Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.incomingContentBackground`,rw(wT,xT),E(1948,`Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var TT=X(`merge.commonHeaderBackground`,{dark:bT,light:bT,hcDark:null,hcLight:null},E(1949,`Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);X(`merge.commonContentBackground`,rw(TT,xT),E(1950,`Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations.`),!0);var ET=X(`merge.border`,{dark:null,light:null,hcDark:`#C3DF6F`,hcLight:`#007ACC`},E(1951,`Border color on headers and the splitter in inline merge-conflicts.`));X(`editorOverviewRuler.currentContentForeground`,{dark:rw(CT,ST),light:rw(CT,ST),hcDark:ET,hcLight:ET},E(1952,`Current overview ruler foreground for inline merge-conflicts.`)),X(`editorOverviewRuler.incomingContentForeground`,{dark:rw(wT,ST),light:rw(wT,ST),hcDark:ET,hcLight:ET},E(1953,`Incoming overview ruler foreground for inline merge-conflicts.`)),X(`editorOverviewRuler.commonContentForeground`,{dark:rw(TT,ST),light:rw(TT,ST),hcDark:ET,hcLight:ET},E(1954,`Common ancestor overview ruler foreground for inline merge-conflicts.`));var vee=X(`editorOverviewRuler.findMatchForeground`,{dark:`#d186167e`,light:`#d186167e`,hcDark:`#AB5A00`,hcLight:`#AB5A00`},E(1955,`Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations.`),!0),DT=X(`editorOverviewRuler.selectionHighlightForeground`,`#A0A0A0CC`,E(1956,`Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations.`),!0),OT=X(`problemsErrorIcon.foreground`,kw,E(1957,`The color used for the problems error icon.`)),kT=X(`problemsWarningIcon.foreground`,Mw,E(1958,`The color used for the problems warning icon.`)),AT=X(`problemsInfoIcon.foreground`,Pw,E(1959,`The color used for the problems info icon.`)),jT=X(`minimap.findMatchHighlight`,Uw,E(2051,`Minimap marker color for find matches.`),!0),MT=X(`minimap.selectionOccurrenceHighlight`,Vw,E(2052,`Minimap marker color for repeating editor selections.`),!0),NT=X(`minimap.selectionHighlight`,Rw,E(2053,`Minimap marker color for the editor selection.`),!0),PT=X(`minimap.infoHighlight`,{dark:Pw,light:Pw,hcDark:Fw,hcLight:Fw},E(2054,`Minimap marker color for infos.`)),FT=X(`minimap.warningHighlight`,{dark:Mw,light:Mw,hcDark:Nw,hcLight:Nw},E(2055,`Minimap marker color for warnings.`)),IT=X(`minimap.errorHighlight`,{dark:new J(new q(255,18,18,.7)),light:new J(new q(255,18,18,.7)),hcDark:new J(new q(255,50,50,1)),hcLight:`#B5200D`},E(2056,`Minimap marker color for errors.`)),LT=X(`minimap.background`,null,E(2057,`Minimap background color.`)),RT=X(`minimap.foregroundOpacity`,J.fromHex(`#000f`),E(2058,`Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.`));X(`minimapSlider.background`,rw(bw,.5),E(2059,`Minimap slider background color.`)),X(`minimapSlider.hoverBackground`,rw(xw,.5),E(2060,`Minimap slider background color when hovering.`)),X(`minimapSlider.activeBackground`,rw(Sw,.5),E(2061,`Minimap slider background color when clicked on.`)),X(`charts.foreground`,dw,E(1857,`The foreground color used in charts.`)),X(`charts.lines`,rw(dw,.5),E(1858,`The color used for horizontal lines in charts.`)),X(`charts.red`,kw,E(1859,`The red color used in chart visualizations.`)),X(`charts.blue`,Pw,E(1860,`The blue color used in chart visualizations.`)),X(`charts.yellow`,Mw,E(1861,`The yellow color used in chart visualizations.`)),X(`charts.orange`,jT,E(1862,`The orange color used in chart visualizations.`)),X(`charts.green`,{dark:`#89D185`,light:`#388A34`,hcDark:`#89D185`,hcLight:`#374e06`},E(1863,`The green color used in chart visualizations.`)),X(`charts.purple`,{dark:`#B180D7`,light:`#652D90`,hcDark:`#B180D7`,hcLight:`#652D90`},E(1864,`The purple color used in chart visualizations.`));var zT=X(`list.focusBackground`,null,E(2008,`List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),BT=X(`list.focusForeground`,null,E(2009,`List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),VT=X(`list.focusOutline`,{dark:pw,light:pw,hcDark:hw,hcLight:hw},E(2010,`List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),HT=X(`list.focusAndSelectionOutline`,null,E(2011,`List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.`)),UT=X(`list.activeSelectionBackground`,{dark:`#04395E`,light:`#0060C0`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},E(2012,`List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),WT=X(`list.activeSelectionForeground`,{dark:J.white,light:J.white,hcDark:null,hcLight:null},E(2013,`List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),GT=X(`list.activeSelectionIconForeground`,null,E(2014,`List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.`)),KT=X(`list.inactiveSelectionBackground`,{dark:`#37373D`,light:`#E4E6F1`,hcDark:null,hcLight:J.fromHex(`#0F4A85`).transparent(.1)},E(2015,`List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),qT=X(`list.inactiveSelectionForeground`,null,E(2016,`List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),JT=X(`list.inactiveSelectionIconForeground`,null,E(2017,`List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),YT=X(`list.inactiveFocusBackground`,null,E(2018,`List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),XT=X(`list.inactiveFocusOutline`,null,E(2019,`List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.`)),ZT=X(`list.hoverBackground`,{dark:`#2A2D2E`,light:`#F0F0F0`,hcDark:J.white.transparent(.1),hcLight:J.fromHex(`#0F4A85`).transparent(.1)},E(2020,`List/Tree background when hovering over items using the mouse.`)),QT=X(`list.hoverForeground`,null,E(2021,`List/Tree foreground when hovering over items using the mouse.`)),$T=X(`list.dropBackground`,{dark:`#062F4A`,light:`#D6EBFF`,hcDark:null,hcLight:null},E(2022,`List/Tree drag and drop background when moving items over other items when using the mouse.`)),eE=X(`list.dropBetweenBackground`,{dark:fw,light:fw,hcDark:null,hcLight:null},E(2023,`List/Tree drag and drop border color when moving items between items when using the mouse.`)),tE=X(`list.highlightForeground`,{dark:`#2AAAFF`,light:`#0066BF`,hcDark:pw,hcLight:pw},E(2024,`List/Tree foreground color of the match highlights when searching inside the list/tree.`)),nE=X(`list.focusHighlightForeground`,{dark:tE,light:aw(UT,tE,`#BBE7FF`),hcDark:tE,hcLight:tE},E(2025,`List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree.`));X(`list.invalidItemForeground`,{dark:`#B89500`,light:`#B89500`,hcDark:`#B89500`,hcLight:`#B5200D`},E(2026,`List/Tree foreground color for invalid items, for example an unresolved root in explorer.`)),X(`list.errorForeground`,{dark:`#F88070`,light:`#B01011`,hcDark:null,hcLight:null},E(2027,`Foreground color of list items containing errors.`)),X(`list.warningForeground`,{dark:`#CCA700`,light:`#855F00`,hcDark:null,hcLight:null},E(2028,`Foreground color of list items containing warnings.`));var rE=X(`listFilterWidget.background`,{light:tw(Ew,0),dark:nw(Ew,0),hcDark:Ew,hcLight:Ew},E(2029,`Background color of the type filter widget in lists and trees.`)),iE=X(`listFilterWidget.outline`,{dark:J.transparent,light:J.transparent,hcDark:`#f38518`,hcLight:`#007ACC`},E(2030,`Outline color of the type filter widget in lists and trees.`)),aE=X(`listFilterWidget.noMatchesOutline`,{dark:`#BE1100`,light:`#BE1100`,hcDark:mw,hcLight:mw},E(2031,`Outline color of the type filter widget in lists and trees, when there are no matches.`)),oE=X(`listFilterWidget.shadow`,uT,E(2032,`Shadow color of the type filter widget in lists and trees.`));X(`list.filterMatchBackground`,{dark:Uw,light:Uw,hcDark:null,hcLight:null},E(2033,`Background color of the filtered match.`)),X(`list.filterMatchBorder`,{dark:Gw,light:Gw,hcDark:mw,hcLight:hw},E(2034,`Border color of the filtered match.`)),X(`list.deemphasizedForeground`,{dark:`#8C8C8C`,light:`#8E8E90`,hcDark:`#A7A8A9`,hcLight:`#666666`},E(2035,`List/Tree foreground color for items that are deemphasized.`));var sE=X(`tree.indentGuidesStroke`,{dark:`#585858`,light:`#a9a9a9`,hcDark:`#a9a9a9`,hcLight:`#a5a5a5`},E(2036,`Tree stroke color for the indentation guides.`)),cE=X(`tree.inactiveIndentGuidesStroke`,rw(sE,.4),E(2037,`Tree stroke color for the indentation guides that are not active.`)),lE=X(`tree.tableColumnsBorder`,{dark:`#CCCCCC20`,light:`#61616120`,hcDark:null,hcLight:null},E(2038,`Table border color between columns.`)),uE=X(`tree.tableOddRowsBackground`,{dark:rw(dw,.04),light:rw(dw,.04),hcDark:null,hcLight:null},E(2039,`Background color for odd table rows.`));X(`editorActionList.background`,Ew,E(2040,`Action List background color.`));var dE=X(`editorActionList.foreground`,Dw,E(2041,`Action List foreground color.`));X(`editorActionList.focusForeground`,WT,E(2042,`Action List foreground color for the focused item.`)),X(`editorActionList.focusBackground`,UT,E(2043,`Action List background color for the focused item.`));var fE=X(`input.background`,{dark:`#3C3C3C`,light:J.white,hcDark:J.black,hcLight:J.white},E(1960,`Input box background.`)),pE=X(`input.foreground`,dw,E(1961,`Input box foreground.`)),mE=X(`input.border`,{dark:null,light:null,hcDark:mw,hcLight:mw},E(1962,`Input box border.`)),hE=X(`inputOption.activeBorder`,{dark:`#007ACC`,light:`#007ACC`,hcDark:mw,hcLight:mw},E(1963,`Border color of activated options in input fields.`)),gE=X(`inputOption.hoverBackground`,{dark:`#5a5d5e80`,light:`#b8b8b850`,hcDark:null,hcLight:null},E(1964,`Background color of activated options in input fields.`)),_E=X(`inputOption.activeBackground`,{dark:rw(pw,.4),light:rw(pw,.2),hcDark:J.transparent,hcLight:J.transparent},E(1965,`Background hover color of options in input fields.`)),vE=X(`inputOption.activeForeground`,{dark:J.white,light:J.black,hcDark:dw,hcLight:dw},E(1966,`Foreground color of activated options in input fields.`));X(`input.placeholderForeground`,{light:rw(dw,.5),dark:rw(dw,.5),hcDark:rw(dw,.7),hcLight:rw(dw,.7)},E(1967,`Input box foreground color for placeholder text.`));var yE=X(`inputValidation.infoBackground`,{dark:`#063B49`,light:`#D6ECF2`,hcDark:J.black,hcLight:J.white},E(1968,`Input validation background color for information severity.`)),bE=X(`inputValidation.infoForeground`,{dark:null,light:null,hcDark:null,hcLight:dw},E(1969,`Input validation foreground color for information severity.`)),xE=X(`inputValidation.infoBorder`,{dark:`#007acc`,light:`#007acc`,hcDark:mw,hcLight:mw},E(1970,`Input validation border color for information severity.`)),SE=X(`inputValidation.warningBackground`,{dark:`#352A05`,light:`#F6F5D2`,hcDark:J.black,hcLight:J.white},E(1971,`Input validation background color for warning severity.`)),CE=X(`inputValidation.warningForeground`,{dark:null,light:null,hcDark:null,hcLight:dw},E(1972,`Input validation foreground color for warning severity.`)),wE=X(`inputValidation.warningBorder`,{dark:`#B89500`,light:`#B89500`,hcDark:mw,hcLight:mw},E(1973,`Input validation border color for warning severity.`)),TE=X(`inputValidation.errorBackground`,{dark:`#5A1D1D`,light:`#F2DEDE`,hcDark:J.black,hcLight:J.white},E(1974,`Input validation background color for error severity.`)),EE=X(`inputValidation.errorForeground`,{dark:null,light:null,hcDark:null,hcLight:dw},E(1975,`Input validation foreground color for error severity.`)),DE=X(`inputValidation.errorBorder`,{dark:`#BE1100`,light:`#BE1100`,hcDark:mw,hcLight:mw},E(1976,`Input validation border color for error severity.`)),OE=X(`dropdown.background`,{dark:`#3C3C3C`,light:J.white,hcDark:J.black,hcLight:J.white},E(1977,`Dropdown background.`)),kE=X(`dropdown.listBackground`,{dark:null,light:null,hcDark:J.black,hcLight:J.white},E(1978,`Dropdown list background.`)),AE=X(`dropdown.foreground`,{dark:`#F0F0F0`,light:dw,hcDark:J.white,hcLight:dw},E(1979,`Dropdown foreground.`)),jE=X(`dropdown.border`,{dark:OE,light:`#CECECE`,hcDark:mw,hcLight:mw},E(1980,`Dropdown border.`)),ME=X(`button.foreground`,J.white,E(1981,`Button foreground color.`)),NE=X(`button.separator`,rw(ME,.4),E(1982,`Button separator color.`)),PE=X(`button.background`,{dark:`#0E639C`,light:`#007ACC`,hcDark:J.black,hcLight:`#0F4A85`},E(1983,`Button background color.`)),FE=X(`button.hoverBackground`,{dark:nw(PE,.2),light:tw(PE,.2),hcDark:PE,hcLight:PE},E(1984,`Button background color when hovering.`)),IE=X(`button.border`,mw,E(1985,`Button border color.`)),LE=X(`button.secondaryForeground`,{dark:dw,light:dw,hcDark:J.white,hcLight:dw},E(1986,`Secondary button foreground color.`)),RE=X(`button.secondaryBackground`,{dark:ZT,light:ZT,hcDark:null,hcLight:J.white},E(1987,`Secondary button background color.`)),zE=X(`button.secondaryBorder`,{dark:rw(dw,.15),light:rw(dw,.15),hcDark:mw,hcLight:mw},E(1988,`Secondary button border color.`)),BE=X(`button.secondaryHoverBackground`,{dark:nw(ZT,.2),light:nw(ZT,.2),hcDark:null,hcLight:null},E(1989,`Secondary button background color when hovering.`)),VE=X(`radio.activeForeground`,vE,E(1990,`Foreground color of active radio option.`)),HE=X(`radio.activeBackground`,_E,E(1991,`Background color of active radio option.`)),UE=X(`radio.activeBorder`,hE,E(1992,`Border color of the active radio option.`)),WE=X(`radio.inactiveForeground`,null,E(1993,`Foreground color of inactive radio option.`)),GE=X(`radio.inactiveBackground`,null,E(1994,`Background color of inactive radio option.`)),KE=X(`radio.inactiveBorder`,{light:rw(VE,.2),dark:rw(VE,.2),hcDark:rw(VE,.4),hcLight:rw(VE,.2)},E(1995,`Border color of the inactive radio option.`)),qE=X(`radio.inactiveHoverBackground`,gE,E(1996,`Background color of inactive active radio option when hovering.`)),JE=X(`checkbox.background`,OE,E(1997,`Background color of checkbox widget.`));X(`checkbox.selectBackground`,Ew,E(1998,`Background color of checkbox widget when the element it's in is selected.`));var YE=X(`checkbox.foreground`,AE,E(1999,`Foreground color of checkbox widget.`)),XE=X(`checkbox.border`,jE,E(2e3,`Border color of checkbox widget.`));X(`checkbox.selectBorder`,fw,E(2001,`Border color of checkbox widget when the element it's in is selected.`));var ZE=X(`checkbox.disabled.background`,{op:7,color:JE,with:YE,ratio:.33},E(2002,`Background of a disabled checkbox.`)),QE=X(`checkbox.disabled.foreground`,{op:7,color:YE,with:JE,ratio:.33},E(2003,`Foreground of a disabled checkbox.`)),$E=X(`keybindingLabel.background`,{dark:new J(new q(128,128,128,.17)),light:new J(new q(221,221,221,.4)),hcDark:J.transparent,hcLight:J.transparent},E(2004,`Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.`)),eD=X(`keybindingLabel.foreground`,{dark:J.fromHex(`#CCCCCC`),light:J.fromHex(`#555555`),hcDark:J.white,hcLight:dw},E(2005,`Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.`)),tD=X(`keybindingLabel.border`,{dark:new J(new q(51,51,51,.6)),light:new J(new q(204,204,204,.4)),hcDark:new J(new q(111,195,223)),hcLight:mw},E(2006,`Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.`)),nD=X(`keybindingLabel.bottomBorder`,{dark:new J(new q(68,68,68,.6)),light:new J(new q(187,187,187,.4)),hcDark:new J(new q(111,195,223)),hcLight:dw},E(2007,`Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.`)),rD=X(`menu.border`,{dark:null,light:null,hcDark:mw,hcLight:mw},E(2044,`Border color of menus.`)),iD=X(`menu.foreground`,AE,E(2045,`Foreground color of menu items.`)),aD=X(`menu.background`,OE,E(2046,`Background color of menu items.`));X(`menu.selectionForeground`,WT,E(2047,`Foreground color of the selected menu item in menus.`)),X(`menu.selectionBackground`,UT,E(2048,`Background color of the selected menu item in menus.`));var oD=X(`menu.selectionBorder`,{dark:null,light:null,hcDark:hw,hcLight:hw},E(2049,`Border color of the selected menu item in menus.`)),sD=X(`menu.separatorBackground`,{dark:rw(dw,.2),light:rw(dw,.2),hcDark:mw,hcLight:mw},E(2050,`Color of a separator menu item in menus.`)),cD=X(`quickInput.background`,Ew,E(2078,`Quick picker background color. The quick picker widget is the container for pickers like the command palette.`)),lD=X(`quickInput.foreground`,Dw,E(2079,`Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.`)),uD=X(`quickInputTitle.background`,{dark:new J(new q(255,255,255,.105)),light:new J(new q(0,0,0,.06)),hcDark:`#000000`,hcLight:J.white},E(2080,`Quick picker title background color. The quick picker widget is the container for pickers like the command palette.`)),dD=X(`pickerGroup.foreground`,{dark:`#3794FF`,light:`#0066BF`,hcDark:J.white,hcLight:`#0F4A85`},E(2081,`Quick picker color for grouping labels.`)),fD=X(`pickerGroup.border`,{dark:`#3F3F46`,light:`#CCCEDB`,hcDark:J.white,hcLight:`#0F4A85`},E(2082,`Quick picker color for grouping borders.`)),pD=X(`quickInput.list.focusBackground`,null,``,void 0,E(2083,`Please use quickInputList.focusBackground instead`)),mD=X(`quickInputList.focusForeground`,WT,E(2084,`Quick picker foreground color for the focused item.`)),hD=X(`quickInputList.focusIconForeground`,GT,E(2085,`Quick picker icon foreground color for the focused item.`)),gD=X(`quickInputList.focusBackground`,{dark:iw(pD,UT),light:iw(pD,UT),hcDark:null,hcLight:null},E(2086,`Quick picker background color for the focused item.`));X(`quickInputList.focusHighlightForeground`,nE,E(2087,`Quick picker foreground color of the match highlights on the focused item.`)),X(`search.resultsInfoForeground`,{light:dw,dark:rw(dw,.65),hcDark:dw,hcLight:dw},E(2088,`Color of the text in the search viewlet's completion message.`)),X(`searchEditor.findMatchBackground`,{light:rw(Uw,.66),dark:rw(Uw,.66),hcDark:Uw,hcLight:Uw},E(2089,`Color of the Search Editor query matches.`)),X(`searchEditor.findMatchBorder`,{light:rw(Gw,.66),dark:rw(Gw,.66),hcDark:Gw,hcLight:Gw},E(2090,`Border color of the Search Editor query matches.`));var _D,vD=class{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new yD(this.x-e.scrollX,this.y-e.scrollY)}},yD=class{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new vD(this.clientX+e.scrollX,this.clientY+e.scrollY)}},bD=class{constructor(e,t,n,r){this.x=e,this.y=t,this.width=n,this.height=r,this._editorPagePositionBrand=void 0}},xD=class{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}};function SD(e){let t=uf(e);return new bD(t.left,t.top,t.width,t.height)}function CD(e,t,n){let r=t.width/e.offsetWidth,i=t.height/e.offsetHeight;return new xD((n.x-t.x)/r,(n.y-t.y)/i)}var wD=class extends Kc{get editorPos(){return this._editorPos??=SD(this._editorViewDomNode),this._editorPos}get relativePos(){return this._relativePos??=CD(this._editorViewDomNode,this.editorPos,this.pos),this._relativePos}constructor(e,t,n){super(z(n),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new vD(this.posx,this.posy),this._editorViewDomNode=n}},TD=class{constructor(e){this._editorViewDomNode=e}_create(e){return new wD(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return B(e,V.CONTEXT_MENU,e=>{t(this._create(e))})}onMouseUp(e,t){return B(e,V.MOUSE_UP,e=>{t(this._create(e))})}onMouseDown(e,t){return B(e,V.MOUSE_DOWN,e=>{t(this._create(e))})}onPointerDown(e,t){return B(e,V.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onMouseLeave(e,t){return B(e,V.MOUSE_LEAVE,e=>{t(this._create(e))})}onMouseMove(e,t){return B(e,V.MOUSE_MOVE,e=>t(this._create(e)))}},ED=class{constructor(e){this._editorViewDomNode=e}_create(e){return new wD(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return B(e,`pointerup`,e=>{t(this._create(e))})}onPointerDown(e,t){return B(e,V.POINTER_DOWN,e=>{t(this._create(e),e.pointerId)})}onPointerLeave(e,t){return B(e,V.POINTER_LEAVE,e=>{t(this._create(e))})}onPointerMove(e,t){return B(e,`pointermove`,e=>t(this._create(e)))}},DD=class extends k{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new qC),this._keydownListener=null}startMonitoring(e,t,n,r,i){this._keydownListener=Kd(e.ownerDocument,`keydown`,e=>{e.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,e.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,n,e=>{r(new wD(e,!0,this._editorViewDomNode))},e=>{this._keydownListener.dispose(),i(e)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}},OD=class e{constructor(t){this._editor=t,this._instanceId=++e._idPool,this._counter=0,this._rules=new tn,this._garbageCollectionScheduler=new ml(()=>this.garbageCollect(),1e3)}dispose(){this._rules.dispose(),this._garbageCollectionScheduler.dispose()}createClassNameRef(e){let t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){let t=this.computeUniqueKey(e),n=this._rules.get(t);if(!n){let r=this._counter++;n=new kD(t,`dyn-rule-${this._instanceId}-${r}`,bf(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,n)}return n}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(let e of this._rules.values())e.hasReferences()||this._rules.deleteAndDispose(e.key)}};_D=OD,_D._idPool=0;var kD=class{constructor(e,t,n,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new O,this._styleElement=zC(n,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let n=`.${e} {`;for(let e in t){let r=t[e],i;i=typeof r==`object`?Y(r.id):r;let a=AD(e);n+=`\n\t${a}: ${i};`}return n+=`
47
47
  }`,n}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}};function AD(e){return e.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>`-${e.toLowerCase()}`)}var jD=class extends k{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let n=0,r=e.length;n<r;n++){let r=e[n];switch(r.type){case 0:this.onCompositionStart(r)&&(t=!0);break;case 1:this.onCompositionEnd(r)&&(t=!0);break;case 2:this.onConfigurationChanged(r)&&(t=!0);break;case 3:this.onCursorStateChanged(r)&&(t=!0);break;case 4:this.onDecorationsChanged(r)&&(t=!0);break;case 5:this.onFlushed(r)&&(t=!0);break;case 6:this.onFocusChanged(r)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(r)&&(t=!0);break;case 8:this.onLineMappingChanged(r)&&(t=!0);break;case 9:this.onLinesChanged(r)&&(t=!0);break;case 10:this.onLinesDeleted(r)&&(t=!0);break;case 11:this.onLinesInserted(r)&&(t=!0);break;case 12:this.onRevealRangeRequest(r)&&(t=!0);break;case 13:this.onScrollChanged(r)&&(t=!0);break;case 15:this.onTokensChanged(r)&&(t=!0);break;case 14:this.onThemeChanged(r)&&(t=!0);break;case 16:this.onTokensColorsChanged(r)&&(t=!0);break;case 17:this.onZonesChanged(r)&&(t=!0);break;default:console.info(`View received unknown event: `),console.info(r)}}t&&(this._shouldRender=!0)}},MD=class extends jD{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onBeforeRender(e){}},ND=class{static write(e,t){e.setAttribute(`data-mprt`,String(t))}static read(e){let t=e.getAttribute(`data-mprt`);return t===null?0:parseInt(t,10)}static collect(e,t){let n=[],r=0;for(;e&&e!==e.ownerDocument.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(n[r++]=this.read(e)),e=e.parentElement;let i=new Uint8Array(r);for(let e=0;e<r;e++)i[e]=n[r-e-1];return i}},PD=class{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;let n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e,t){return this._viewLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t){return this._viewLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._viewLayout.getLineHeightForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}},FD=class extends PD{constructor(e,t,n,r){super(e,t),this._renderingContextBrand=void 0,this._viewLines=n,this._viewLinesGpu=r}linesVisibleRangesForRange(e,t){let n=this._viewLines.linesVisibleRangesForRange(e,t);if(!this._viewLinesGpu)return n;let r=this._viewLinesGpu.linesVisibleRangesForRange(e,t);return n?r?n.concat(r).sort((e,t)=>e.lineNumber-t.lineNumber):n:r}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)??this._viewLinesGpu?.visibleRangeForPosition(e)??null}},ID=class{constructor(e,t,n,r){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=n,this.continuesOnNextLine=r}},LD=class e{static from(t){let n=Array(t.length);for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]=new e(i.left,i.width)}return n}constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}toString(){return`[${this.left},${this.width}]`}},RD=class{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}},zD=class{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}},BD=class{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}},VD=class{static _createRange(){return this._handyReadyRange||=document.createRange(),this._handyReadyRange}static _detachRange(e,t){e.selectNodeContents(t)}static _readClientRects(e,t,n,r,i){let a=this._createRange();try{return a.setStart(e,t),a.setEnd(n,r),a.getClientRects()}catch{return null}finally{this._detachRange(a,i)}}static _mergeAdjacentRanges(e){if(e.length===1)return e;e.sort(RD.compare);let t=[],n=0,r=e[0];for(let i=1,a=e.length;i<a;i++){let a=e[i];r.left+r.width+.9>=a.left?r.width=Math.max(r.width,a.left+a.width-r.left):(t[n++]=r,r=a)}return t[n++]=r,t}static _createHorizontalRangesFromClientRects(e,t,n){if(!e||e.length===0)return null;let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i];r[i]=new RD(Math.max(0,(a.left-t)/n),a.width/n)}return this._mergeAdjacentRanges(r)}static readHorizontalRanges(e,t,n,r,i,a){let o=e.children.length-1;if(0>o)return null;if(t=Math.min(o,Math.max(0,t)),r=Math.min(o,Math.max(0,r)),t===r&&n===i&&n===0&&!e.children[t].firstChild){let n=e.children[t].getClientRects();return a.markDidDomLayout(),this._createHorizontalRangesFromClientRects(n,a.clientRectDeltaLeft,a.clientRectScale)}t!==r&&r>0&&i===0&&(r--,i=1073741824);let s=e.children[t].firstChild,c=e.children[r].firstChild;if((!s||!c)&&(!s&&n===0&&t>0&&(s=e.children[t-1].firstChild,n=1073741824),!c&&i===0&&r>0&&(c=e.children[r-1].firstChild,i=1073741824)),!s||!c)return null;n=Math.min(s.textContent.length,Math.max(0,n)),i=Math.min(c.textContent.length,Math.max(0,i));let l=this._readClientRects(s,n,c,i,a.endNode);return a.markDidDomLayout(),this._createHorizontalRangesFromClientRects(l,a.clientRectDeltaLeft,a.clientRectScale)}},HD;(function(e){e.DARK=`dark`,e.LIGHT=`light`,e.HIGH_CONTRAST_DARK=`hcDark`,e.HIGH_CONTRAST_LIGHT=`hcLight`})(HD||={});var UD;(function(e){e.VS=`vs`,e.VS_DARK=`vs-dark`,e.HC_BLACK=`hc-black`,e.HC_LIGHT=`hc-light`})(UD||={});function WD(e){return e===HD.HIGH_CONTRAST_DARK||e===HD.HIGH_CONTRAST_LIGHT}function GD(e){return e===HD.DARK||e===HD.HIGH_CONTRAST_DARK}var KD,qD=(function(){return wt?!0:!(Ct||Sc||Tc)})(),JD=!0,YD=class e{constructor(e,t){this._viewGpuContext=e,this._options=t,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=xp(e);else throw Error(`I have no rendered view line to set the dom node to...`)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return WD(this._options.themeType)||this._renderedViewLine?.input.renderWhitespace===2?(this._isMaybeInvalid=!0,!0):!1}renderLine(t,n,r,i,a){if(this._options.useGpu&&this._viewGpuContext?.canRender(this._options,i,t))return this._renderedViewLine?.domNode?.domNode.remove(),this._renderedViewLine=null,!1;if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;let o=i.getViewLineRenderingData(t),s=this._options,c=kS.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn),l=s.experimentalWhitespaceRendering===`off`?s.renderWhitespace:`none`,u=!o.hasVariableFonts,d=null;if(WD(s.themeType)||l===`selection`){let e=i.selections;for(let n of e){if(n.endLineNumber<t||n.startLineNumber>t)continue;let e=n.startLineNumber===t?n.startColumn:o.minColumn,r=n.endLineNumber===t?n.endColumn:o.maxColumn;e<r&&(WD(s.themeType)&&c.push(new kS(e,r,`inline-selected-text`,0)),l===`selection`&&(d||=[],d.push(new G(e-1,r-1))))}}let f=new PS(s.useMonospaceOptimizations,s.canUseHalfwidthRightwardsArrow,o.content,o.continuesWithWrappedLine,o.isBasicASCII,o.containsRTL,o.minColumn-1,o.tokens,c,o.tabSize,o.startVisibleColumn,s.spaceWidth,s.middotWidth,s.wsmiddotWidth,s.stopRenderingLineAfter,l,s.renderControlCharacters,s.fontLigatures!==wr.OFF,d,o.textDirection,s.verticalScrollbarSize);if(this._renderedViewLine&&this._renderedViewLine.input.equals(f))return!1;a.appendString(`<div `),o.textDirection===Xv.RTL?a.appendString(`dir="rtl" `):o.containsRTL&&a.appendString(`dir="ltr" `),a.appendString(`style="top:`),a.appendString(String(n)),a.appendString(`px;height:`),a.appendString(String(r)),a.appendString(`px;line-height:`),a.appendString(String(r)),o.textDirection===Xv.RTL&&(a.appendString(`px;padding-right:`),a.appendString(String(s.verticalScrollbarSize))),a.appendString(`px;" class="`),a.appendString(e.CLASS_NAME),a.appendString(`">`);let p=RS(f,a);a.appendString(`</div>`);let m=null;return u&&JD&&qD&&o.isBasicASCII&&f.isLTR&&s.useMonospaceOptimizations&&p.containsForeignElements===0&&(m=new XD(this._renderedViewLine?this._renderedViewLine.domNode:null,f,p.characterMapping)),m||=$D(this._renderedViewLine?this._renderedViewLine.domNode:null,f,p.characterMapping,p.containsForeignElements),this._renderedViewLine=m,!0}layoutLine(e,t,n){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(n),this._renderedViewLine.domNode.setLineHeight(n))}isRenderedRTL(){return this._renderedViewLine?this._renderedViewLine.input.textDirection===Xv.RTL:!1}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof XD:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof XD?this._renderedViewLine.monospaceAssumptionsAreValid():JD}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof XD&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,n,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n));let i=this._renderedViewLine.input.stopRenderingLineAfter;if(i!==-1&&t>i+1&&n>i+1)return new BD(!0,[new RD(this.getWidth(r),0)]);i!==-1&&t>i+1&&(t=i+1),i!==-1&&n>i+1&&(n=i+1);let a=this._renderedViewLine.getVisibleRangesForRange(e,t,n,r);return a&&a.length>0?new BD(!1,a):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}resetCachedWidth(){this._renderedViewLine?.resetCachedWidth()}};KD=YD,KD.CLASS_NAME=`view-line`;var XD=class{constructor(e,t,n){this._cachedWidth=-1,this.domNode=e,this.input=t;let r=Math.floor(t.lineContent.length/300);if(r>0){this._keyColumnPixelOffsetCache=new Float32Array(r);for(let e=0;e<r;e++)this._keyColumnPixelOffsetCache[e]=-1}else this._keyColumnPixelOffsetCache=null;this._characterMapping=n,this._charWidth=t.spaceWidth}getWidth(e){if(!this.domNode||this.input.lineContent.length<300){let e=this._characterMapping.getHorizontalOffset(this._characterMapping.length);return Math.round(this._charWidth*e)}return this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth}getWidthIsFast(){return this.input.lineContent.length<300||this._cachedWidth!==-1}resetCachedWidth(){this._cachedWidth=-1}monospaceAssumptionsAreValid(){if(!this.domNode)return JD;if(this.input.lineContent.length<300){let e=this.getWidth(null),t=this.domNode.domNode.firstChild.offsetWidth;Math.abs(e-t)>=2&&(console.warn(`monospace assumptions have been violated, therefore disabling monospace optimizations!`),JD=!1)}return JD}toSlowRenderedLine(){return $D(this.domNode,this.input,this._characterMapping,0)}getVisibleRangesForRange(e,t,n,r){let i=this._getColumnPixelOffset(e,t,r);return[new RD(i,this._getColumnPixelOffset(e,n,r)-i)]}_getColumnPixelOffset(e,t,n){if(t<=300){let e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}let r=Math.floor((t-1)/300)-1,i=(r+1)*300+1,a=-1;if(this._keyColumnPixelOffsetCache&&(a=this._keyColumnPixelOffsetCache[r],a===-1&&(a=this._actualReadPixelOffset(e,i,n),this._keyColumnPixelOffsetCache[r]=a)),a===-1){let e=this._characterMapping.getHorizontalOffset(t);return this._charWidth*e}let o=this._characterMapping.getHorizontalOffset(i),s=this._characterMapping.getHorizontalOffset(t);return a+this._charWidth*(s-o)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,n){if(!this.domNode)return-1;let r=this._characterMapping.getDomPosition(t),i=VD.readHorizontalRanges(this._getReadingTarget(this.domNode),r.partIndex,r.charIndex,r.partIndex,r.charIndex,n);return!i||i.length===0?-1:i[0].left}getColumnOfNodeOffset(e,t){return nO(this._characterMapping,e,t)}},ZD=class{constructor(e,t,n,r){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=r,this._cachedWidth=-1,this._pixelOffsetCache=null,t.isLTR){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e?.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}resetCachedWidth(){if(this._cachedWidth=-1,this._pixelOffsetCache!==null)for(let e=0,t=this._pixelOffsetCache.length;e<t;e++)this._pixelOffsetCache[e]=-1}getVisibleRangesForRange(e,t,n,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){let i=this._readPixelOffset(this.domNode,e,t,r);if(i===-1)return null;let a=this._readPixelOffset(this.domNode,e,n,r);return a===-1?null:[new RD(i,a-i)]}return this._readVisibleRangesForRange(this.domNode,e,t,n,r)}_readVisibleRangesForRange(e,t,n,r,i){if(n===r){let r=this._readPixelOffset(e,t,n,i);return r===-1?null:[new RD(r,0)]}return this._readRawVisibleRangesForRange(e,n,r,i)}_readPixelOffset(e,t,n,r){if(this.input.isLTR&&this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(r);let t=this._getReadingTarget(e);return t.firstChild?(r.markDidDomLayout(),t.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){let i=this._pixelOffsetCache[n];if(i!==-1)return i;let a=this._actualReadPixelOffset(e,t,n,r);return this._pixelOffsetCache[n]=a,a}return this._actualReadPixelOffset(e,t,n,r)}_actualReadPixelOffset(e,t,n,r){if(this._characterMapping.length===0){let t=VD.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r);return!t||t.length===0?-1:t[0].left}if(this.input.isLTR&&n===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(r);let i=this._characterMapping.getDomPosition(n),a=VD.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,i.partIndex,i.charIndex,r);if(!a||a.length===0)return-1;let o=a[0].left;if(this.input.isBasicASCII){let e=this._characterMapping.getHorizontalOffset(n),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-o)<=1)return t}return o}_readRawVisibleRangesForRange(e,t,n,r){if(this.input.isLTR&&t===1&&n===this._characterMapping.length)return[new RD(0,this.getWidth(r))];let i=this._characterMapping.getDomPosition(t),a=this._characterMapping.getDomPosition(n);return VD.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,a.partIndex,a.charIndex,r)}getColumnOfNodeOffset(e,t){return nO(this._characterMapping,e,t)}},QD=class extends ZD{_readVisibleRangesForRange(e,t,n,r,i){let a=super._readVisibleRangesForRange(e,t,n,r,i);if(!a||a.length===0||n===r||n===1&&r===this._characterMapping.length)return a;if(this.input.isLTR){let n=this._readPixelOffset(e,t,r,i);if(n!==-1){let e=a[a.length-1];e.left<n&&(e.width=n-e.left)}}return a}},$D=(function(){return Cc?eO:tO})();function eO(e,t,n,r){return new QD(e,t,n,r)}function tO(e,t,n,r){return new ZD(e,t,n,r)}function nO(e,t,n){let r=t.textContent.length,i=-1;for(;t;)t=t.previousSibling,i++;return e.getColumn(new FS(i,n),r)}var rO=class e{static _nextVisibleColumn(t,n,r){return t===9?e.nextRenderTabStop(n,r):ic(t)||ac(t)?n+2:n+1}static visibleColumnFromColumn(e,t,n){let r=Math.min(t-1,e.length),i=e.substring(0,r),a=new qs(i),o=0;for(;!a.eol();){let e=Ws(i,r,a.offset);a.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;let r=e.length,i=new qs(e),a=0,o=1;for(;!i.eol();){let s=Ws(e,r,i.offset);i.nextGraphemeLength();let c=this._nextVisibleColumn(s,a,n),l=i.offset+1;if(c>=t){let e=t-a;return c-t<e?l:o}a=c,o=l}return r+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(t,n){return e.nextRenderTabStop(t,n)}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(t,n){return e.prevRenderTabStop(t,n)}},iO=class e{static whitespaceVisibleColumn(e,t,n){let r=e.length,i=0,a=-1,o=-1;for(let s=0;s<r;s++){if(s===t)return[a,o,i];switch(i%n===0&&(a=s,o=i),e.charCodeAt(s)){case 32:i+=1;break;case 9:i=rO.nextRenderTabStop(i,n);break;default:return[-1,-1,-1]}}return t===r?[a,o,i]:[-1,-1,-1]}static atomicPosition(t,n,r,i){let a=t.length,[o,s,c]=e.whitespaceVisibleColumn(t,n,r);if(c===-1)return-1;let l;switch(i){case 0:l=!0;break;case 1:l=!1;break;case 2:if(c%r===0)return n;l=c%r<=r/2}if(l){if(o===-1)return-1;let e=s;for(let n=o;n<a;++n){if(e===s+r)return o;switch(t.charCodeAt(n)){case 32:e+=1;break;case 9:e=rO.nextRenderTabStop(e,r);break;default:return-1}}return e===s+r?o:-1}let u=rO.nextRenderTabStop(c,r),d=c;for(let e=n;e<a;e++){if(d===u)return e;switch(t.charCodeAt(e)){case 32:d+=1;break;case 9:d=rO.nextRenderTabStop(d,r);break;default:return-1}}return d===u?a:-1}},aO,oO=class{constructor(e=null){this.hitTarget=e,this.type=0}},sO=class{get hitTarget(){return this.spanNode}constructor(e,t,n){this.position=e,this.spanNode=t,this.injectedText=n,this.type=1}},cO;(function(e){function t(e,t,n){let r=e.getPositionFromDOMInfo(t,n);return r?new sO(r,t,null):new oO(t)}e.createFromDOMInfo=t})(cO||={});var lO=class{constructor(e,t){this.lastViewCursorsRenderData=e,this.lastTextareaPosition=t}},uO=class{static _deduceRage(e,t=null){return!t&&e?new F(e.lineNumber,e.column,e.lineNumber,e.column):t??null}static createUnknown(e,t,n){return{type:0,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createTextarea(e,t){return{type:1,element:e,mouseColumn:t,position:null,range:null}}static createMargin(e,t,n,r,i,a){return{type:e,element:t,mouseColumn:n,position:r,range:i,detail:a}}static createViewZone(e,t,n,r,i){return{type:e,element:t,mouseColumn:n,position:r,range:this._deduceRage(r),detail:i}}static createContentText(e,t,n,r,i){return{type:6,element:e,mouseColumn:t,position:n,range:this._deduceRage(n,r),detail:i}}static createContentEmpty(e,t,n,r){return{type:7,element:e,mouseColumn:t,position:n,range:this._deduceRage(n),detail:r}}static createContentWidget(e,t,n){return{type:9,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createScrollbar(e,t,n){return{type:11,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createOverlayWidget(e,t,n){return{type:12,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createOutsideEditor(e,t,n,r){return{type:13,element:null,mouseColumn:e,position:t,range:this._deduceRage(t),outsidePosition:n,outsideDistance:r}}static _typeToString(e){return e===1?`TEXTAREA`:e===2?`GUTTER_GLYPH_MARGIN`:e===3?`GUTTER_LINE_NUMBERS`:e===4?`GUTTER_LINE_DECORATIONS`:e===5?`GUTTER_VIEW_ZONE`:e===6?`CONTENT_TEXT`:e===7?`CONTENT_EMPTY`:e===8?`CONTENT_VIEW_ZONE`:e===9?`CONTENT_WIDGET`:e===10?`OVERVIEW_RULER`:e===11?`SCROLLBAR`:e===12?`OVERLAY_WIDGET`:`UNKNOWN`}static toString(e){return this._typeToString(e.type)+`: `+e.position+` - `+e.range+` - `+JSON.stringify(e.detail)}},dO=class{static isTextArea(e){return e.length===2&&e[0]===3&&e[1]===7}static isChildOfViewLines(e){return e.length>=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}},fO=class e{constructor(e,t,n){this.viewModel=e.viewModel;let r=e.configuration.options;this.layoutInfo=r.get(165),this.viewDomNode=t.viewDomNode,this.viewLinesGpu=t.viewLinesGpu,this.lineHeight=r.get(75),this.stickyTabStops=r.get(132),this.typicalHalfwidthCharacterWidth=r.get(59).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}getZoneAtCoord(t){return e.getZoneAtCoord(this._context,t)}static getZoneAtCoord(e,t){let n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){let r=n.verticalOffset+n.height/2,i=e.viewModel.getLineCount(),a=null,o,s=null;return n.afterLineNumber!==i&&(s=new P(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(a=new P(n.afterLineNumber,e.viewModel.getLineMaxColumn(n.afterLineNumber))),o=s===null?a:a===null?s:t<r?a:s,{viewZoneId:n.id,afterLineNumber:n.afterLineNumber,positionBefore:a,positionAfter:s,position:o}}return null}getFullLineRangeAtCoord(e){if(this._context.viewLayout.isAfterLines(e)){let e=this._context.viewModel.getLineCount(),t=this._context.viewModel.getLineMaxColumn(e);return{range:new F(e,t,e,t),isAfterLines:!0}}let t=this._context.viewLayout.getLineNumberAtVerticalOffset(e);return{range:new F(t,1,t,this._context.viewModel.getLineMaxColumn(t)),isAfterLines:!1}}getLineNumberAtVerticalOffset(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)}isAfterLines(e){return this._context.viewLayout.isAfterLines(e)}isInTopPadding(e){return this._context.viewLayout.isInTopPadding(e)}isInBottomPadding(e){return this._context.viewLayout.isInBottomPadding(e)}getVerticalOffsetForLineNumber(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)}findAttribute(t,n){return e._findAttribute(t,n,this._viewHelper.viewDomNode)}static _findAttribute(e,t,n){for(;e&&e!==e.ownerDocument.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===n)return null;e=e.parentNode}return null}getLineWidth(e){return this._viewHelper.getLineWidth(e)}isRtl(e){return this.viewModel.getTextDirection(e)===Xv.RTL}visibleRangeForPosition(e,t){return this._viewHelper.visibleRangeForPosition(e,t)}getPositionFromDOMInfo(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}},pO=class{constructor(e,t,n,r){this.editorPos=t,this.pos=n,this.relativePos=r,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+this.relativePos.x-e.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<e.layoutInfo.contentLeft&&this.relativePos.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,_O._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}},mO=class extends pO{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=ND.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,n,r,i){super(e,t,n,r),this.hitTestResult=new ls(()=>_O.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array,this._ctx=e,this._eventTarget=i;let a=!!this._eventTarget;this._useHitTestTarget=!a}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.column<this._ctx.viewModel.getLineMaxColumn(e.lineNumber)?rO.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(e.lineNumber),e.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(e=null){return uO.createUnknown(this.target,this._getMouseColumn(e),e)}fulfillTextarea(){return uO.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(e,t,n,r){return uO.createMargin(e,this.target,this._getMouseColumn(t),t,n,r)}fulfillViewZone(e,t,n){return uO.createViewZone(e,this.target,this._getMouseColumn(),t,n)}fulfillContentText(e,t,n){return uO.createContentText(this.target,this._getMouseColumn(e),e,t,n)}fulfillContentEmpty(e,t){return uO.createContentEmpty(this.target,this._getMouseColumn(e),e,t)}fulfillContentWidget(e){return uO.createContentWidget(this.target,this._getMouseColumn(),e)}fulfillScrollbar(e){return uO.createScrollbar(this.target,this._getMouseColumn(e),e)}fulfillOverlayWidget(e){return uO.createOverlayWidget(this.target,this._getMouseColumn(),e)}},hO={isAfterLines:!0};function gO(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var _O=class e{constructor(e,t){this._context=e,this._viewHelper=t}mouseTargetIsWidget(e){let t=e.target,n=ND.collect(t,this._viewHelper.viewDomNode);return!!(dO.isChildOfContentWidgets(n)||dO.isChildOfOverflowingContentWidgets(n)||dO.isChildOfOverlayWidgets(n)||dO.isChildOfOverflowingOverlayWidgets(n))}createMouseTarget(t,n,r,i,a){let o=new fO(this._context,this._viewHelper,t),s=new mO(o,n,r,i,a);try{let t=e._createMouseTarget(o,s);if(t.type===6&&o.stickyTabStops&&t.position!==null){let n=e._snapToSoftTabBoundary(t.position,o.viewModel),r=F.fromPositions(n,n).plusRange(t.range);return s.fulfillContentText(n,r,t.detail)}return t}catch{return s.fulfillUnknown()}}static _createMouseTarget(t,n){if(n.target===null)return n.fulfillUnknown();let r=n,i=null;return!dO.isChildOfOverflowGuard(n.targetPath)&&!dO.isChildOfOverflowingContentWidgets(n.targetPath)&&!dO.isChildOfOverflowingOverlayWidgets(n.targetPath)&&(i||=n.fulfillUnknown()),i||=e._hitTestContentWidget(t,r),i||=e._hitTestOverlayWidget(t,r),i||=e._hitTestMinimap(t,r),i||=e._hitTestScrollbarSlider(t,r),i||=e._hitTestViewZone(t,r),i||=e._hitTestMargin(t,r),i||=e._hitTestViewCursor(t,r),i||=e._hitTestTextArea(t,r),i||=e._hitTestViewLines(t,r),i||=e._hitTestScrollbar(t,r),i||n.fulfillUnknown()}static _hitTestContentWidget(e,t){if(dO.isChildOfContentWidgets(t.targetPath)||dO.isChildOfOverflowingContentWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillContentWidget(n):t.fulfillUnknown()}return null}static _hitTestOverlayWidget(e,t){if(dO.isChildOfOverlayWidgets(t.targetPath)||dO.isChildOfOverflowingOverlayWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillOverlayWidget(n):t.fulfillUnknown()}return null}static _hitTestViewCursor(e,t){if(t.target){let n=e.lastRenderData.lastViewCursorsRenderData;for(let e of n)if(t.target===e.domNode)return t.fulfillContentText(e.position,null,{mightBeForeignElement:!1,injectedText:null})}if(t.isInContentArea){let n=e.lastRenderData.lastViewCursorsRenderData,r=t.mouseContentHorizontalOffset,i=t.mouseVerticalOffset;for(let a of n){if(r<a.contentLeft||r>a.contentLeft+a.width)continue;let n=e.getVerticalOffsetForLineNumber(a.position.lineNumber);if(n<=i&&i<=n+a.height)return t.fulfillContentText(a.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){let n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){let e=t.isInContentArea?8:5;return t.fulfillViewZone(e,n.position,n)}return null}static _hitTestTextArea(e,t){return dO.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){let n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=n.range.getStartPosition(),i=Math.abs(t.relativePos.x),a={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};if(i-=e.layoutInfo.glyphMarginLeft,i<=e.layoutInfo.glyphMarginWidth){let o=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(n.range.getStartPosition());return a.glyphMarginLane=e.viewModel.glyphLanes.getLanesAtLine(o.lineNumber)[Math.floor(i/e.lineHeight)],t.fulfillMargin(2,r,n.range,a)}return i-=e.layoutInfo.glyphMarginWidth,i<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,n.range,a):(i-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,n.range,a))}return null}static _hitTestViewLines(t,n){if(!dO.isChildOfViewLines(n.targetPath))return null;if(t.isInTopPadding(n.mouseVerticalOffset))return n.fulfillContentEmpty(new P(1,1),hO);if(t.isAfterLines(n.mouseVerticalOffset)||t.isInBottomPadding(n.mouseVerticalOffset)){let e=t.viewModel.getLineCount(),r=t.viewModel.getLineMaxColumn(e);return n.fulfillContentEmpty(new P(e,r),hO)}if(dO.isStrictChildOfViewLines(n.targetPath)){let e=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset),r=t.viewModel.getLineLength(e),i=t.getLineWidth(e);if(r===0){let t=gO(n.mouseContentHorizontalOffset-i);return n.fulfillContentEmpty(new P(e,1),t)}if(t.isRtl(e)){if(n.mouseContentHorizontalOffset+i<=t.layoutInfo.contentWidth-t.layoutInfo.verticalScrollbarWidth){let r=gO(n.mouseContentHorizontalOffset-i),a=new P(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(a,r)}}else if(n.mouseContentHorizontalOffset>=i){let r=gO(n.mouseContentHorizontalOffset-i),a=new P(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(a,r)}}else if(t.viewLinesGpu){let e=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(t.viewModel.getLineLength(e)===0){let r=t.getLineWidth(e),i=gO(n.mouseContentHorizontalOffset-r);return n.fulfillContentEmpty(new P(e,1),i)}let r=t.getLineWidth(e);if(t.isRtl(e)){if(n.mouseContentHorizontalOffset+r<=t.layoutInfo.contentWidth-t.layoutInfo.verticalScrollbarWidth){let i=gO(n.mouseContentHorizontalOffset-r),a=new P(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(a,i)}}else if(n.mouseContentHorizontalOffset>=r){let i=gO(n.mouseContentHorizontalOffset-r),a=new P(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(a,i)}let i=t.viewLinesGpu.getPositionAtCoordinate(e,n.mouseContentHorizontalOffset);if(i)return n.fulfillContentText(i,F.fromPositions(i,i),{injectedText:null,mightBeForeignElement:!1})}let r=n.hitTestResult.value;return r.type===1?e.createMouseTargetFromHitTestPosition(t,n,r.spanNode,r.position,r.injectedText):n.wouldBenefitFromHitTestTargetSwitch?(n.switchToHitTestTarget(),this._createMouseTarget(t,n)):n.fulfillUnknown()}static _hitTestMinimap(e,t){if(dO.isChildOfMinimap(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new P(n,r))}return null}static _hitTestScrollbarSlider(e,t){if(dO.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){let n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new P(n,r))}}return null}static _hitTestScrollbar(e,t){if(dO.isChildOfScrollableElement(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new P(n,r))}return null}getMouseColumn(t){let n=this._context.configuration.options,r=n.get(165),i=this._context.viewLayout.getCurrentScrollLeft()+t.x-r.contentLeft;return e._getMouseColumn(i,n.get(59).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,n,r,i){let a=r.lineNumber,o=r.column,s=e.getLineWidth(a);if(t.mouseContentHorizontalOffset>s){let e=gO(t.mouseContentHorizontalOffset-s);return t.fulfillContentEmpty(r,e)}let c=e.visibleRangeForPosition(a,o);if(!c)return t.fulfillUnknown(r);let l=c.left;if(Math.abs(t.mouseContentHorizontalOffset-l)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!i,injectedText:i});let u=[];if(u.push({offset:c.left,column:o}),o>1){let t=e.visibleRangeForPosition(a,o-1);t&&u.push({offset:t.left,column:o-1})}if(o<e.viewModel.getLineMaxColumn(a)){let t=e.visibleRangeForPosition(a,o+1);t&&u.push({offset:t.left,column:o+1})}u.sort((e,t)=>e.offset-t.offset);let d=t.pos.toClientCoordinates(z(e.viewDomNode)),f=n.getBoundingClientRect(),p=f.left<=d.clientX&&d.clientX<=f.right,m=null;for(let e=1;e<u.length;e++){let n=u[e-1],i=u[e];if(n.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=i.offset){m=new F(a,n.column,a,i.column),r=Math.abs(n.offset-t.mouseContentHorizontalOffset)<Math.abs(i.offset-t.mouseContentHorizontalOffset)?new P(a,n.column):new P(a,i.column);break}}return t.fulfillContentText(r,m,{mightBeForeignElement:!p||!!i,injectedText:i})}static _doHitTestWithCaretRangeFromPoint(e,t){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.getVerticalOffsetForLineNumber(n),i=r+e.lineHeight;if(!(n===e.viewModel.getLineCount()&&t.mouseVerticalOffset>i)){let n=Math.floor((r+i)/2),a=t.pos.y+(n-t.mouseVerticalOffset);a<=t.editorPos.y&&(a=t.editorPos.y+1),a>=t.editorPos.y+t.editorPos.height&&(a=t.editorPos.y+t.editorPos.height-1);let o=new vD(t.pos.x,a),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates(z(e.viewDomNode)));if(s.type===1)return s}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(z(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){let n=xf(e.viewDomNode),r;if(r=n?n.caretRangeFromPoint===void 0?vO(n,t.clientX,t.clientY):n.caretRangeFromPoint(t.clientX,t.clientY):e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new oO;let i=r.startContainer;if(i.nodeType===i.TEXT_NODE){let t=i.parentNode,n=t?t.parentNode:null,a=n?n.parentNode:null;return(a&&a.nodeType===a.ELEMENT_NODE?a.className:null)===YD.CLASS_NAME?cO.createFromDOMInfo(e,t,r.startOffset):new oO(i.parentNode)}if(i.nodeType===i.ELEMENT_NODE){let t=i.parentNode,n=t?t.parentNode:null;return(n&&n.nodeType===n.ELEMENT_NODE?n.className:null)===YD.CLASS_NAME?cO.createFromDOMInfo(e,i,i.textContent.length):new oO(i)}return new oO}static _doHitTestWithCaretPositionFromPoint(e,t){let n=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){let t=n.offsetNode.parentNode,r=t?t.parentNode:null,i=r?r.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===YD.CLASS_NAME?cO.createFromDOMInfo(e,n.offsetNode.parentNode,n.offset):new oO(n.offsetNode.parentNode)}if(n.offsetNode.nodeType===n.offsetNode.ELEMENT_NODE){let t=n.offsetNode.parentNode,r=t&&t.nodeType===t.ELEMENT_NODE?t.className:null,i=t?t.parentNode:null,a=i&&i.nodeType===i.ELEMENT_NODE?i.className:null;if(r===YD.CLASS_NAME){let t=n.offsetNode.childNodes[Math.min(n.offset,n.offsetNode.childNodes.length-1)];if(t)return cO.createFromDOMInfo(e,t,0)}else if(a===YD.CLASS_NAME)return cO.createFromDOMInfo(e,n.offsetNode,0)}return new oO(n.offsetNode)}static _snapToSoftTabBoundary(e,t){let n=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),i=iO.atomicPosition(n,e.column-1,r,2);return i===-1?e:new P(e.lineNumber,i+1)}static doHitTest(e,t){let n=new oO;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint==`function`?n=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(n=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(z(e.viewDomNode)))),n.type===1){let t=e.viewModel.getInjectedTextAt(n.position),r=e.viewModel.normalizePosition(n.position,2);(t||!r.equals(n.position))&&(n=new sO(r,n.spanNode,t))}return n}};function vO(e,t,n){let r=document.createRange(),i=e.elementFromPoint(t,n);if(i?.hasChildNodes()){for(;i&&i.firstChild&&i.firstChild.nodeType!==i.firstChild.TEXT_NODE&&i.lastChild&&i.lastChild.firstChild;)i=i.lastChild;let e=i.getBoundingClientRect(),n=z(i).getComputedStyle(i,null),a=`${n.getPropertyValue(`font-style`)} ${n.getPropertyValue(`font-variant`)} ${n.getPropertyValue(`font-weight`)} ${n.getPropertyValue(`font-size`)}/${n.getPropertyValue(`line-height`)} ${n.getPropertyValue(`font-family`)}`,o=i.innerText,s=e.left,c=0,l;if(t>e.left+e.width)c=o.length;else{let e=yO.getInstance();for(let n=0;n<o.length+1;n++){if(l=e.getCharWidth(o.charAt(n),a)/2,s+=l,t<s){c=n;break}s+=l}}r.setStart(i.firstChild,c),r.setEnd(i.firstChild,c)}return r}var yO=class e{static getInstance(){return e._INSTANCE||=new e,e._INSTANCE}constructor(){this._cache={},this._canvas=document.createElement(`canvas`)}getCharWidth(e,t){let n=e+t;if(this._cache[n])return this._cache[n];let r=this._canvas.getContext(`2d`);r.font=t;let i=r.measureText(e).width;return this._cache[n]=i,i}};aO=yO,aO._INSTANCE=null;function bO(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var xO,SO=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},CO;(function(e){e.Tap=`-monaco-gesturetap`,e.Change=`-monaco-gesturechange`,e.Start=`-monaco-gesturestart`,e.End=`-monaco-gesturesend`,e.Contextmenu=`-monaco-gesturecontextmenu`})(CO||={});var wO=class e extends k{constructor(){super(),this.dispatched=!1,this.targets=new an,this.ignoreTargets=new an,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(A.runAndSubscribe(Ld,({window:e,disposables:t})=>{t.add(B(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(B(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(B(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:is,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=qt(new e),D(e.INSTANCE.targets.push(t))):k.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=qt(new e),D(e.INSTANCE.ignoreTargets.push(t))):k.None}static isTouchDevice(){return`ontouchstart`in is||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(CO.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-s.rollingPageX.at(-1))<30&&Math.abs(s.initialPageY-s.rollingPageY.at(-1))<30){let e=this.newGestureEvent(CO.Tap,s.initialTarget);e.pageX=s.rollingPageX.at(-1),e.pageY=s.rollingPageY.at(-1),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-s.rollingPageX.at(-1))<30&&Math.abs(s.initialPageY-s.rollingPageY.at(-1))<30){let e=this.newGestureEvent(CO.Contextmenu,s.initialTarget);e.pageX=s.rollingPageX.at(-1),e.pageY=s.rollingPageY.at(-1),this.dispatchEvent(e)}else if(i===1){let e=s.rollingPageX.at(-1),n=s.rollingPageY.at(-1),i=s.rollingTimestamps.at(-1)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(CO.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===CO.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===CO.Change||t.type===CO.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=ef(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(CO.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(CO.Change,i.initialTarget);a.translationX=r.pageX-i.rollingPageX.at(-1),a.translationY=r.pageY-i.rollingPageY.at(-1),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};xO=wO,xO.SCROLL_FRICTION=-.005,xO.HOLD_DELAY=700,xO.CLEAR_TAP_COUNT_TIME=400,SO([bO],wO,`isTouchDevice`,null);var TO=class extends k{onclick(e,t){this._register(B(e,V.CLICK,n=>t(new Kc(z(e),n))))}onmousedown(e,t){this._register(B(e,V.MOUSE_DOWN,n=>t(new Kc(z(e),n))))}onmouseover(e,t){this._register(B(e,V.MOUSE_OVER,n=>t(new Kc(z(e),n))))}onmouseleave(e,t){this._register(B(e,V.MOUSE_LEAVE,n=>t(new Kc(z(e),n))))}onkeydown(e,t){this._register(B(e,V.KEY_DOWN,e=>t(new Hc(e))))}onkeyup(e,t){this._register(B(e,V.KEY_UP,e=>t(new Hc(e))))}oninput(e,t){this._register(B(e,V.INPUT,t))}onblur(e,t){this._register(B(e,V.BLUR,t))}onfocus(e,t){this._register(B(e,V.FOCUS,t))}ignoreGesture(e){return wO.ignoreTarget(e)}},EO=class extends TO{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,e.top!==void 0&&(this.bgDomNode.style.top=`0px`),e.left!==void 0&&(this.bgDomNode.style.left=`0px`),e.bottom!==void 0&&(this.bgDomNode.style.bottom=`0px`),e.right!==void 0&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.classList.add(...Gp.asClassNameArray(e.icon)),this.domNode.style.position=`absolute`,this.domNode.style.width=`11px`,this.domNode.style.height=`11px`,e.top!==void 0&&(this.domNode.style.top=e.top+`px`),e.left!==void 0&&(this.domNode.style.left=e.left+`px`),e.bottom!==void 0&&(this.domNode.style.bottom=e.bottom+`px`),e.right!==void 0&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new qC),this._register(Kd(this.bgDomNode,V.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(Kd(this.domNode,V.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new tf),this._pointerdownScheduleRepeatTimer=this._register(new fl)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,z(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},DO=class extends k{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new fl)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},OO=140,kO=class extends TO{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new DO(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new qC),this._shouldRender=!0,this.domNode=xp(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(B(this.domNode.domNode,V.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new EO(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=xp(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(B(this.slider.domNode,V.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=uf(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=e.pointerType===`mouse`,i=e.button===0;if(i||!r){let e=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(e):this._scrollbarState.getDesiredScrollPositionFromOffset(e))}i&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(xt&&a>OO){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},AO=20,jO=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(AO,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},MO=class extends kO{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new jO(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows){let e=(t.arrowSize-11)/2,n=(t.horizontalScrollbarSize-11)/2;this._createArrow({className:`scra`,icon:L.scrollbarButtonLeft,top:n,left:e,bottom:void 0,right:void 0,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new qc(null,1,0))}),this._createArrow({className:`scra`,icon:L.scrollbarButtonRight,top:n,left:void 0,bottom:void 0,right:e,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new qc(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},NO=class extends kO{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new jO(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){let e=(t.arrowSize-11)/2,n=(t.verticalScrollbarSize-11)/2;this._createArrow({className:`scra`,icon:L.scrollbarButtonUp,top:e,left:n,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new qc(null,0,1))}),this._createArrow({className:`scra`,icon:L.scrollbarButtonDown,top:void 0,left:n,bottom:e,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new qc(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},PO=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,t.width===void 0?this.width:t.width,t.scrollWidth===void 0?this.scrollWidth:t.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,t.height===void 0?this.height:t.height,t.scrollHeight===void 0?this.scrollHeight:t.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,t.scrollLeft===void 0?this.rawScrollLeft:t.scrollLeft,this.height,this.scrollHeight,t.scrollTop===void 0?this.rawScrollTop:t.scrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},FO=class extends k{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new j),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new PO(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:e.scrollLeft===void 0?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:e.scrollTop===void 0?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new zO(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=zO.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},IO=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function LO(e,t){let n=t-e;return function(t){return e+n*VO(t)}}function RO(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var zO=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),RO(LO(e,r),LO(i,t),.33)}return LO(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new IO(this.scrollLeft(t),this.scrollTop(t),!1):new IO(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function BO(e){return e**3}function VO(e){return 1-BO(1-e)}var HO,UO=500,WO=50,GO=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},KO=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(1);return t<=.5}acceptStandardWheelEvent(e){if(wc){let t=bc(z(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new GO(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01+2**-52*100}};HO=KO,HO.INSTANCE=new HO;var qO=class extends TO{get onScroll(){return this._onScroll.event}get options(){return this._options}constructor(e,t,n){super(),this._inertialTimeout=null,this._inertialSpeed={X:0,Y:0},this._onScroll=this._register(new j),this._onWillScroll=this._register(new j),e.style.overflow=`hidden`,this._options=ZO(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new NO(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new MO(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`monaco-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.style.overflow=`hidden`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=xp(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=xp(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=xp(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new fl),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=Yt(this._mouseWheelToDispose),this._inertialTimeout&&=(this._inertialTimeout.dispose(),null),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,St&&(this._options.className+=` mac`),this._domNode.className=`monaco-scrollable-element `+this._options.className}updateOptions(e){e.handleMouseWheel!==void 0&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),e.mouseWheelScrollSensitivity!==void 0&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),e.fastScrollSensitivity!==void 0&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),e.scrollPredominantAxis!==void 0&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),e.horizontal!==void 0&&(this._options.horizontal=e.horizontal),e.vertical!==void 0&&(this._options.vertical=e.vertical),e.horizontalScrollbarSize!==void 0&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),e.verticalScrollbarSize!==void 0&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),e.scrollByPage!==void 0&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new qc(e))}async _periodicSync(){let e=!1;(this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0)&&(this._scrollable.setScrollPositionNow({scrollTop:this._scrollable.getCurrentScrollPosition().scrollTop-this._inertialSpeed.Y*100,scrollLeft:this._scrollable.getCurrentScrollPosition().scrollLeft-this._inertialSpeed.X*100}),this._inertialSpeed.X*=.9,this._inertialSpeed.Y*=.9,Math.abs(this._inertialSpeed.X)<.01&&(this._inertialSpeed.X=0),Math.abs(this._inertialSpeed.Y)<.01&&(this._inertialSpeed.Y=0),e=this._inertialSpeed.X!==0||this._inertialSpeed.Y!==0),e?(this._inertialTimeout||=new fl,this._inertialTimeout.cancelAndSet(()=>this._periodicSync(),1e3/60)):(this._inertialTimeout?.dispose(),this._inertialTimeout=null)}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Yt(this._mouseWheelToDispose),e&&this._mouseWheelToDispose.push(B(this._listenOnDomNode,V.MOUSE_WHEEL,e=>{this._onMouseWheel(new qc(e))},{passive:!1})))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=KO.INSTANCE;t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!St&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=WO*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=WO*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}if(s=this._scrollable.validateScrollPosition(s),this._options.inertialScroll&&(i||r)&&!t.isPhysicalMouseWheel()){let e=!1;this._inertialSpeed.X===0&&this._inertialSpeed.Y===0&&(e=!0),this._inertialSpeed.Y=(r<0?-1:1)*Math.abs(r)**1.02,this._inertialSpeed.X=(i<0?-1:1)*Math.abs(i)**1.02,e&&this._periodicSync()}(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),UO)}},JO=class extends qO{constructor(e,t){t||={},t.mouseWheelSmoothScroll=!1;let n=new FO({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>ef(z(e),t)});super(e,t,n),this._register(n)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}},YO=class extends qO{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},XO=class extends qO{constructor(e,t){t||={},t.mouseWheelSmoothScroll=!1;let n=new FO({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:t=>ef(z(e),t)});super(e,t,n),this._register(n),this._element=e,this._register(this.onScroll(e=>{e.scrollTopChanged&&(this._element.scrollTop=e.scrollTop),e.scrollLeftChanged&&(this._element.scrollLeft=e.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}};function ZO(e){let t={lazyRender:e.lazyRender!==void 0&&e.lazyRender,className:e.className===void 0?``:e.className,useShadows:e.useShadows===void 0||e.useShadows,handleMouseWheel:e.handleMouseWheel===void 0||e.handleMouseWheel,flipAxes:e.flipAxes!==void 0&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:e.consumeMouseWheelIfScrollbarIsNeeded!==void 0&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:e.alwaysConsumeMouseWheel!==void 0&&e.alwaysConsumeMouseWheel,scrollYToX:e.scrollYToX!==void 0&&e.scrollYToX,mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity===void 0?1:e.mouseWheelScrollSensitivity,fastScrollSensitivity:e.fastScrollSensitivity===void 0?5:e.fastScrollSensitivity,scrollPredominantAxis:e.scrollPredominantAxis===void 0||e.scrollPredominantAxis,mouseWheelSmoothScroll:e.mouseWheelSmoothScroll===void 0||e.mouseWheelSmoothScroll,inertialScroll:e.inertialScroll!==void 0&&e.inertialScroll,arrowSize:e.arrowSize===void 0?11:e.arrowSize,listenOnDomNode:e.listenOnDomNode===void 0?null:e.listenOnDomNode,horizontal:e.horizontal===void 0?1:e.horizontal,horizontalScrollbarSize:e.horizontalScrollbarSize===void 0?10:e.horizontalScrollbarSize,horizontalSliderSize:e.horizontalSliderSize===void 0?0:e.horizontalSliderSize,horizontalHasArrows:e.horizontalHasArrows!==void 0&&e.horizontalHasArrows,vertical:e.vertical===void 0?1:e.vertical,verticalScrollbarSize:e.verticalScrollbarSize===void 0?10:e.verticalScrollbarSize,verticalHasArrows:e.verticalHasArrows!==void 0&&e.verticalHasArrows,verticalSliderSize:e.verticalSliderSize===void 0?0:e.verticalSliderSize,scrollByPage:e.scrollByPage!==void 0&&e.scrollByPage};return t.horizontalSliderSize=e.horizontalSliderSize===void 0?t.horizontalScrollbarSize:e.horizontalSliderSize,t.verticalSliderSize=e.verticalSliderSize===void 0?t.verticalScrollbarSize:e.verticalSliderSize,St&&(t.className+=` mac`),t}var QO=class extends k{constructor(e,t,n,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=r,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=this._createDragScrollingOperation(e,t)}stop(){this._operation&&=(this._operation.dispose(),null)}},$O=class extends k{constructor(e,t,n,r,i,a){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=n,this._dispatchMouse=r,this._position=i,this._mouseEvent=a,this._lastTime=Date.now(),this._animationFrameDisposable=ef(z(a.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){let e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}},ek=class extends QO{_createDragScrollingOperation(e,t){return new tk(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}},tk=class extends $O{_getScrollSpeed(){let e=this._context.configuration.options.get(75),t=this._context.configuration.options.get(165).height/e,n=this._position.outsideDistance/e;return n<=1.5?Math.max(30,t*(1+n)):n<=3?Math.max(60,t*(2+n)):Math.max(200,t*(7+n))}_execute(){let e=this._context.configuration.options.get(75),t=this._getScrollSpeed()*(this._tick()/1e3)*e,n=this._position.outsidePosition===`above`?-t:t;this._context.viewModel.viewLayout.deltaScrollNow(0,n),this._viewHelper.renderNow();let r=this._context.viewLayout.getLinesViewportData(),i=this._position.outsidePosition===`above`?r.startLineNumber:r.endLineNumber,a=this._position.outsidePosition===`above`?r.startLineNumber===1:r.endLineNumber===this._context.viewModel.getLineCount(),o;{let e=SD(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(165).horizontalScrollbarHeight,n=new vD(this._mouseEvent.pos.x,e.y+e.height-t-.1),r=CD(this._viewHelper.viewDomNode,e,n);o=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,n,r,null)}(!o.position||o.position.lineNumber!==i||a)&&(o=this._position.outsidePosition===`above`?uO.createOutsideEditor(this._position.mouseColumn,new P(i,1),`above`,this._position.outsideDistance):uO.createOutsideEditor(this._position.mouseColumn,new P(i,this._context.viewModel.getLineMaxColumn(i)),`below`,this._position.outsideDistance)),this._dispatchMouse(o,!0,2),this._animationFrameDisposable=ef(z(o.element),()=>this._execute())}},nk=class extends QO{_createDragScrollingOperation(e,t){return new rk(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}},rk=class extends $O{_getScrollSpeed(){let e=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,t=this._context.configuration.options.get(165).contentWidth/e,n=this._position.outsideDistance/e;return n<=1.5?Math.max(30,t*(1+n)):n<=3?Math.max(60,t*(2+n)):Math.max(200,t*(7+n))}_execute(){let e=this._context.configuration.options.get(59).typicalFullwidthCharacterWidth,t=this._getScrollSpeed()*(this._tick()/1e3)*e*.5,n=this._position.outsidePosition===`left`?-t:t;if(this._context.viewModel.viewLayout.deltaScrollNow(n,0),this._viewHelper.renderNow(),!this._position.position)return;let r=this._position.position.lineNumber,i;{let e=SD(this._viewHelper.viewDomNode),t=this._context.configuration.options.get(165).horizontalScrollbarHeight,n=new vD(this._mouseEvent.pos.x,e.y+e.height-t-.1),r=CD(this._viewHelper.viewDomNode,e,n);i=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),e,n,r,null)}i=this._position.outsidePosition===`left`?uO.createOutsideEditor(i.mouseColumn,new P(r,i.mouseColumn),`left`,this._position.outsideDistance):uO.createOutsideEditor(i.mouseColumn,new P(r,i.mouseColumn),`right`,this._position.outsideDistance),this._dispatchMouse(i,!0,2),this._animationFrameDisposable=ef(z(i.element),()=>this._execute())}},ik,ak=class extends jD{constructor(e,t,n){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=n,this.mouseTargetFactory=new _O(this._context,n),this._mouseDownOperation=this._register(new ok(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(e,t)=>this._createMouseTarget(e,t),e=>this._getMouseColumn(e))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(165).height;let r=new TD(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,e=>this._onContextMenu(e,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,e=>{this._onMouseMove(e),this._mouseLeaveMonitor||=B(this.viewHelper.viewDomNode.ownerDocument,`mousemove`,e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new wD(e,!1,this.viewHelper.viewDomNode))})})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e)));let i=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>{i=t})),this._register(B(this.viewHelper.viewDomNode,V.POINTER_UP,e=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,e=>this._onMouseDown(e,i))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){let e=KO.INSTANCE,t=0,n=Fn.getZoomLevel(),r=!1,i=0;this._register(B(this.viewHelper.viewDomNode,V.MOUSE_WHEEL,o=>{if(this.viewController.emitMouseWheel(o),!this._context.configuration.options.get(84))return;let s=new qc(o);if(e.acceptStandardWheelEvent(s),e.isPhysicalMouseWheel()){if(a(o)){let e=Fn.getZoomLevel(),t=s.deltaY>0?1:-1;Fn.setZoomLevel(e+t),s.preventDefault(),s.stopPropagation()}}else Date.now()-t>50&&(n=Fn.getZoomLevel(),r=a(o),i=0),t=Date.now(),i+=s.deltaY,r&&(Fn.setZoomLevel(n+i/5),s.preventDefault(),s.stopPropagation())},{capture:!0,passive:!1}));function a(e){return St?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(165)){let e=this._context.configuration.options.get(165).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){let n=new yD(e,t).toPageCoordinates(z(this.viewHelper.viewDomNode)),r=SD(this.viewHelper.viewDomNode);if(n.y<r.y||n.y>r.y+r.height||n.x<r.x||n.x>r.x+r.width)return null;let i=CD(this.viewHelper.viewDomNode,r,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),r,n,i,null)}_createMouseTarget(e,t){let n=e.target;if(!this.viewHelper.viewDomNode.contains(n)){let t=xf(this.viewHelper.viewDomNode);t&&(n=t.elementsFromPoint(e.posx,e.posy).find(e=>this.viewHelper.viewDomNode.contains(e))??null)}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?n:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!this._mouseDownOperation.isActive()&&(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))}_onMouseLeave(e){this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:e,target:null})}_onMouseUp(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})}_onMouseDown(e,t){let n=this._createMouseTarget(e,!0),r=n.type===6||n.type===7,i=n.type===2||n.type===3||n.type===4,a=n.type===3,o=this._context.configuration.options.get(125),s=n.type===8||n.type===5,c=n.type===9,l=e.leftButton||e.middleButton;St&&e.leftButton&&e.ctrlKey&&(l=!1);let u=()=>{e.preventDefault(),this.viewHelper.focusTextArea()};if(l&&(r||a&&o))u(),this._mouseDownOperation.start(n.type,e,t);else if(i)e.preventDefault();else if(s){let r=n.detail;l&&this.viewHelper.shouldSuppressMouseDownOnViewZone(r.viewZoneId)&&(u(),this._mouseDownOperation.start(n.type,e,t),e.preventDefault())}else c&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(u(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}},ok=class extends k{constructor(e,t,n,r,i,a){super(),this._context=e,this._viewController=t,this._viewHelper=n,this._mouseTargetFactory=r,this._createMouseTarget=i,this._getMouseColumn=a,this._mouseMoveMonitor=this._register(new DD(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new ek(this._context,this._viewHelper,this._mouseTargetFactory,(e,t,n)=>this._dispatchMouse(e,t,n))),this._leftRightDragScrolling=this._register(new nk(this._context,this._viewHelper,this._mouseTargetFactory,(e,t,n)=>this._dispatchMouse(e,t,n))),this._mouseState=new sk,this._currentSelection=new Da(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);let t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13?t.outsidePosition===`above`||t.outsidePosition===`below`?(this._topBottomDragScrolling.start(t,e),this._leftRightDragScrolling.stop()):(this._leftRightDragScrolling.start(t,e),this._topBottomDragScrolling.stop()):(this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,n){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);let r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;let i=this._context.configuration.options;if(!i.get(104)&&i.get(42)&&!i.get(28)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),e=>{let t=this._findMousePosition(this._lastMouseEvent,!1);Mf(e)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop(),this._leftRightDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){let t=e.editorPos,n=this._context.viewModel,r=this._context.viewLayout,i=this._getMouseColumn(e);if(e.posy<t.y){let n=t.y-e.posy,a=Math.max(r.getCurrentScrollTop()-n,0),o=fO.getZoneAtCoord(this._context,a);if(o){let e=this._helpPositionJumpOverViewZone(o);if(e)return uO.createOutsideEditor(i,e,`above`,n)}let s=r.getLineNumberAtVerticalOffset(a);return uO.createOutsideEditor(i,new P(s,1),`above`,n)}if(e.posy>t.y+t.height){let a=e.posy-t.y-t.height,o=r.getCurrentScrollTop()+e.relativePos.y,s=fO.getZoneAtCoord(this._context,o);if(s){let e=this._helpPositionJumpOverViewZone(s);if(e)return uO.createOutsideEditor(i,e,`below`,a)}let c=r.getLineNumberAtVerticalOffset(o);return uO.createOutsideEditor(i,new P(c,n.getLineMaxColumn(c)),`below`,a)}let a=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y),o=this._context.configuration.options.get(165),s=o.contentLeft;if(e.relativePos.x<=s){let t=s-e.relativePos.x,r=n.getTextDirection(a)===Xv.RTL;return uO.createOutsideEditor(i,new P(a,r?n.getLineMaxColumn(a):1),`left`,t)}let c=o.minimap.minimapLeft===0?o.width-o.verticalScrollbarWidth:o.minimap.minimapLeft;if(e.relativePos.x>=c){let t=e.relativePos.x-c,r=n.getTextDirection(a)===Xv.RTL;return uO.createOutsideEditor(i,new P(a,r?1:n.getLineMaxColumn(a)),`right`,t)}return null}_findMousePosition(e,t){let n=this._getPositionOutsideEditor(e);if(n)return n;let r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){let e=this._helpPositionJumpOverViewZone(r.detail);if(e)return uO.createViewZone(r.type,r.element,r.mouseColumn,e,r.detail)}return r}_helpPositionJumpOverViewZone(e){let t=new P(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,r=e.positionAfter;return n&&r?n.isBefore(t)?n:r:null}_dispatchMouse(e,t,n){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:n,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}},sk=class e{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(t,n){let r=new Date().getTime();r-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=r,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}};ik=sk,ik.CLEAR_MOUSE_DOWN_COUNT_TIME=400;var ck=class{get event(){return this.emitter.event}constructor(e,t,n){let r=e=>this.emitter.fire(e);this.emitter=new j({onWillAddFirstListener:()=>e.addEventListener(t,r,n),onDidRemoveLastListener:()=>e.removeEventListener(t,r,n)})}dispose(){this.emitter.dispose()}},lk=(function(){if(typeof crypto.randomUUID==`function`)return crypto.randomUUID.bind(crypto);let e=new Uint8Array(16),t=[];for(let e=0;e<256;e++)t.push(e.toString(16).padStart(2,`0`));return function(){crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,r=``;return r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r+=`-`,r+=t[e[n++]],r+=t[e[n++]],r+=`-`,r+=t[e[n++]],r+=t[e[n++]],r+=`-`,r+=t[e[n++]],r+=t[e[n++]],r+=`-`,r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r+=t[e[n++]],r}})();function uk(e){return`${e}-${lk()}`}var dk={RESOURCES:`ResourceURLs`,TEXT:N_.text,INTERNAL_URI_LIST:`application/vnd.code.uri-list`};function fk(e,t){return{id:t,asString:async()=>e,asFile:()=>void 0,value:typeof e==`string`?e:void 0}}function pk(e,t,n,r){let i={id:lk(),name:e,uri:t,data:n};return{id:r,asString:async()=>``,asFile:()=>i,value:void 0}}var mk=class{constructor(){this._entries=new Map}get size(){let e=0;for(let t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){let t=[...this._entries.keys()];return Wt.some(this,([e,t])=>t.asFile())&&t.push(`files`),gk(hk(e),t)}get(e){return this._entries.get(this.toKey(e))?.[0]}append(e,t){let n=this._entries.get(e);n?n.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(let[e,t]of this._entries)for(let n of t)yield[e,n]}toKey(e){return hk(e)}};function hk(e){return e.toLowerCase()}function yee(e,t){return gk(hk(e),t.map(hk))}function gk(e,t){if(e===`*/*`)return t.length>0;if(t.includes(e))return!0;let n=e.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!n)return!1;let[r,i,a]=n;return a===`*`&&t.some(e=>e.startsWith(i+`/`))}var _k=Object.freeze({create:e=>_(e.map(e=>e.toString())).join(`\r
@@ -267,7 +267,7 @@ struct VSOutput {
267
267
  `&&e&&t.endColumn===this.getLineMaxColumn(t.endLineNumber)&&(n=n.substring(0,n.length-1))}return new ty(e.identifier||null,t,n,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}edit(e,t){this.pushEditOperations(null,e.replacements.map(e=>({range:e.range,text:e.text})),null)}pushEditOperations(e,t,n,r,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let n=t.map(e=>({range:this.validateRange(e.range),text:e.text})),r=!0;if(e)for(let t=0,i=e.length;t<i;t++){let i=e[t],a=!1;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){a=!0;break}}if(!a){r=!1;break}}if(r)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){let r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r),a=!0;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,o=n[e].text;if(!(r<t.startLineNumber||r>t.endLineNumber)&&!(r===t.startLineNumber&&t.startColumn===i&&t.isEmpty()&&o&&o.length>0&&o.charAt(0)===`
268
268
  `)&&!(r===t.startLineNumber&&t.startColumn===1&&t.isEmpty()&&o&&o.length>0&&o.charAt(o.length-1)===`
269
269
  `)){a=!1;break}}if(a){let e=new F(r,1,r,i);t.push(new ty(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r,i)}_applyUndo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new F(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}});this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new F(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}});this._applyUndoRedoEdits(i,t,!1,!0,n,r)}_applyUndoRedoEdits(e,t,n,r,i,a){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r;let o=this._validateEditOperations(e);this._doApplyEdits(o,!1,FL.applyEdits(),a),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(a),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,n){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let r=this._validateEditOperations(e);return this._doApplyEdits(r,t??!1,n??FL.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,n,r=null){let i=this._buffer.getLineCount(),a=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),o=this._buffer.getLineCount(),s=a.changes;if(this._trimAutoWhitespaceLines=a.trimAutoWhitespaceLineNumbers,s.length!==0){for(let e=0,t=s.length;e<t;e++){let t=s[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}let e=[];this._increaseVersionId();let t=i;for(let n=0,r=s.length;n<r;n++){let r=s[n],[i]=jL(r.text);this._onDidChangeDecorations.fire();let a=r.range.startLineNumber,c=r.range.endLineNumber,l=c-a,u=i,d=Math.min(l,u),f=u-l,p=o-t-f+a;for(let t=d;t>=0;t--){let n=a+t,r=p+t;e.push(new $I(n,r))}if(d<l){let n=a+d,r=u-l,i=o-t-r+n;e.push(new nL(n+1,c,i))}if(d<u){let n=a+d,r=u-d,i=o-t-r+n+1;e.push(new rL(n+1,i,r))}t+=f}this._emitContentChangedEvent(new aL(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:s,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[n],detailedReasonsChangeLengths:[s.length]},r)}return a.reverseEdits===null?void 0:a.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,n){if(e&&e.size>0){let t=Array.from(e).map(e=>new $I(e,e));this._onDidChangeContentOrInjectedText(new oL(t))}this._fireOnDidChangeLineHeight(t),this._fireOnDidChangeFont(n)}_fireOnDidChangeLineHeight(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new eL(e.ownerId,e.decorationId,e.lineNumber,e.lineHeight));this._onDidChangeLineHeight.fire(new sL(t))}}_fireOnDidChangeFont(e){if(e&&e.size>0){let t=Array.from(e).map(e=>new tL(e.ownerId,e.lineNumber));this._onDidChangeFont.fire(new cL(t))}}_onDidChangeContentOrInjectedText(e){for(let t of this._viewModels)try{t.onDidChangeContentOrInjectedText(e)}catch(e){ge(e)}for(let t of this._viewModels)try{t.emitContentChangeEvent(e)}catch(e){ge(e)}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){let n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(t,n)=>{this._changeDecorationImpl(e,t,n)},changeDecorationOptions:(t,n)=>{this._changeDecorationOptionsImpl(e,t,AH(n))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>t.length===0&&n.length===0?[]:this._deltaDecorationsImpl(e,t,n)},r=null;try{r=t(n)}catch(e){ge(e)}return n.addDecoration=mH,n.changeDecoration=mH,n.changeDecorationOptions=mH,n.removeDecoration=mH,n.deltaDecorations=mH,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||=[],e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`),ge(Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){let r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:kH[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;let i=this._validateRangeRelaxedNoAllocations(t),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),r.setOptions(kH[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;let t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._decorationsTree.delete(n),delete this._decorations[n.id]}}getDecorationOptions(e){let t=this._decorations[e];return t?t.options:null}getDecorationRange(e){let t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1,r=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n,r)}getLinesDecorations(e,t,n=0,r=!1,i=!1,a=!1){let o=this.getLineCount(),s=Math.min(o,Math.max(1,e)),c=Math.min(o,Math.max(1,t)),l=new F(s,1,c,this.getLineMaxColumn(c)),u=this._getDecorationsInRange(l,n,r,i,a);return S(u,this._decorationProvider.getDecorationsInRange(l,n,r,i)),S(u,this._fontTokenDecorationsProvider.getDecorationsInRange(l,n,r,i)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1,a=!1){let o=this.validateRange(e),s=this._getDecorationsInRange(o,t,n,r,a);return S(s,this._decorationProvider.getDecorationsInRange(o,t,n,r,i)),S(s,this._fontTokenDecorationsProvider.getDecorationsInRange(o,t,n,r,i)),s}getOverviewRulerDecorations(e=0,t=!1,n=!1){return this._decorationsTree.getAll(this,e,t,n,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}getCustomLineHeightsDecorations(e=0){let t=this._decorationsTree.getAllCustomLineHeights(this,e);return S(t,this._fontTokenDecorationsProvider.getAllDecorations(e)),t}getCustomLineHeightsDecorationsInRange(e,t=0){let n=this._decorationsTree.getCustomLineHeightsInInterval(this,this.getOffsetAt(e.getStartPosition()),this.getOffsetAt(e.getEndPosition()),t);return S(n,this._fontTokenDecorationsProvider.getDecorationsInRange(e,t)),n}getLineInjectedText(e,t=0){let n=this._buffer.getOffsetAt(e,1),r=n+this._buffer.getLineLength(e),i=this._decorationsTree.getInjectedTextInInterval(this,n,r,t);return QI.fromDecorations(i).filter(t=>t.lineNumber===e)}getFontDecorationsInRange(e,t=0){let n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,n,r,t)}getAllDecorations(e=0,t=!1,n=!1){let r=this._decorationsTree.getAll(this,e,t,n,!1,!1);return r=r.concat(this._decorationProvider.getAllDecorations(e,t)),r=r.concat(this._fontTokenDecorationsProvider.getAllDecorations(e,t)),r}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!1,!0)}_getDecorationsInRange(e,t,n,r,i){let a=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,a,o,t,n,r,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t,n){let r=this._decorations[t];if(!r)return;if(r.options.after){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,n.startLineNumber,null)}if(r.options.affectsFont){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,n.startLineNumber)}let i=this._validateRangeRelaxedNoAllocations(n),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),this._decorationsTree.insert(r),this._onDidChangeDecorations.checkAffectedAndFire(r.options),r.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),r.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber),r.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,r.options.lineHeight),r.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,i.startLineNumber)}_changeDecorationOptionsImpl(e,t,n){let r=this._decorations[t];if(!r)return;let i=!!(r.options.overviewRuler&&r.options.overviewRuler.color),a=!!(n.overviewRuler&&n.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(r.options),this._onDidChangeDecorations.checkAffectedAndFire(n),r.options.after||n.after){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before||n.before){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null||n.lineHeight!==null){let i=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,n.lineHeight)}if(r.options.affectsFont||n.affectsFont){let n=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,t,n.startLineNumber)}let o=i!==a,s=yH(n)!==bH(r);o||s?(this._decorationsTree.delete(r),r.setOptions(n),this._decorationsTree.insert(r)):r.setOptions(n)}_deltaDecorationsImpl(e,t,n,r=!1){let i=this.getVersionId(),a=t.length,o=0,s=n.length,c=0;this._onDidChangeDecorations.beginDeferredEmit();try{let l=Array(s);for(;o<a||c<s;){let u=null;if(o<a){let n;do n=t[o++],u=this._decorations[n];while(!u&&o<a);if(u){if(u.options.after){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(u.options.before){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(u.options.lineHeight!==null){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,n,t.startLineNumber,null)}if(u.options.affectsFont){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,n,t.startLineNumber)}this._decorationsTree.delete(u),r||this._onDidChangeDecorations.checkAffectedAndFire(u.options)}}if(c<s){if(!u){let e=++this._lastDecorationId,t=`${this._instanceId};${e}`;u=new Mz(t,0,0),this._decorations[t]=u}let t=n[c],a=this._validateRangeRelaxedNoAllocations(t.range),o=AH(t.options),s=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);u.ownerId=e,u.reset(i,s,d,a),u.setOptions(o),u.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber),u.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber),u.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,u.id,a.startLineNumber,u.options.lineHeight),u.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,u.id,a.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(u),l[c]=u.id,c++}else u&&delete this._decorations[u.id]}return l}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){typeof e==`string`?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return _H(this.getLineContent(e))+1}toString(){return`TextModel(${this.uri.toString()})`}},aH=nH,nH._MODEL_SYNC_LIMIT=52428800,nH.LARGE_FILE_SIZE_THRESHOLD=20971520,nH.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,nH.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,nH.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:Hn.tabSize,indentSize:Hn.indentSize,insertSpaces:Hn.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:Hn.trimAutoWhitespace,largeFileOptimizations:Hn.largeFileOptimizations,bracketPairColorizationOptions:Hn.bracketPairColorizationOptions},nH);hH=aH=rH([iH(4,DL),iH(5,O_),iH(6,uv),iH(7,Ap)],hH);function gH(e,t,n){let r;if(n){let i=[];for(let e=0;e<n.length;e++){let r=n[e],a=t[e].tokens;a?a.forEach((n,a)=>{i.push({offset:r,text:n.substring(t[e].content),tokenMetadata:a.metadata})}):i.push({offset:r,text:t[e].content,tokenMetadata:CS.defaultTokenMetadata})}r=e.withInserted(i)}else r=e;return r}function _H(e){let t=0;for(let n of e)if(n===` `||n===` `)t++;else break;return t}function vH(e){return!!(e.options.overviewRuler&&e.options.overviewRuler.color)}function yH(e){return!!e.after||!!e.before}function bH(e){return!!e.options.after||!!e.options.before}var xH=class{constructor(){this._decorationsTree0=new Pz,this._decorationsTree1=new Pz,this._injectedTextDecorationsTree=new Pz}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(let n of t)n.range===null&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,a,o){let s=e.getVersionId(),c=this._intervalSearch(t,n,r,i,a,s,o);return this._ensureNodesHaveRanges(e,c)}_intervalSearch(e,t,n,r,i,a,o){let s=this._decorationsTree0.intervalSearch(e,t,n,r,i,a,o),c=this._decorationsTree1.intervalSearch(e,t,n,r,i,a,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,a,o);return s.concat(c).concat(l)}getInjectedTextInInterval(e,t,n,r){let i=e.getVersionId(),a=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getFontDecorationsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._decorationsTree0.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.affectsFont)}getAllInjectedText(e,t){let n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllCustomLineHeights(e,t){let n=e.getVersionId(),r=this._search(t,!1,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>typeof e.options.lineHeight==`number`)}getCustomLineHeightsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>typeof e.options.lineHeight==`number`)}getAll(e,t,n,r,i,a){let o=e.getVersionId(),s=this._search(t,n,r,i,o,a);return this._ensureNodesHaveRanges(e,s)}_search(e,t,n,r,i,a){if(r)return this._decorationsTree1.search(e,t,n,i,a);{let r=this._decorationsTree0.search(e,t,n,i,a),o=this._decorationsTree1.search(e,t,n,i,a),s=this._injectedTextDecorationsTree.search(e,t,n,i,a);return r.concat(o).concat(s)}}collectNodesFromOwner(e){let t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){let e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){bH(e)?this._injectedTextDecorationsTree.insert(e):vH(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){bH(e)?this._injectedTextDecorationsTree.delete(e):vH(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){let n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){bH(e)?this._injectedTextDecorationsTree.resolveNode(e,t):vH(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,r){this._decorationsTree0.acceptReplace(e,t,n,r),this._decorationsTree1.acceptReplace(e,t,n,r),this._injectedTextDecorationsTree.acceptReplace(e,t,n,r)}};function SH(e){return e.replace(/[^a-z0-9\-_]/gi,` `)}var CH=class{constructor(e){this.color=e.color||``,this.darkColor=e.darkColor||``}},wH=class extends CH{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position==`number`?e.position:Jv.Center}getColor(e){return this._resolvedColor||=GD(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e==`string`)return e;let n=e?t.getColor(e.id):null;return n?n.toString():``}},TH=class{constructor(e){this.position=e?.position??Yv.Center,this.persistLane=e?.persistLane}},EH=class extends CH{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||=GD(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e==`string`?J.fromHex(e):t.getColor(e.id)}},DH=class e{static from(t){return t instanceof e?t:new e(t)}constructor(e){this.content=e.content||``,this.tokens=e.tokens??null,this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}},OH=class e{static register(t){return new e(t)}static createDynamic(t){return new e(t)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?SH(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?SH(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.lineHeight=e.lineHeight?Math.min(e.lineHeight,fH):null,this.fontSize=e.fontSize||null,this.affectsFont=!!e.fontSize||!!e.fontFamily||!!e.fontWeight||!!e.fontStyle,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new wH(e.overviewRuler):null,this.minimap=e.minimap?new EH(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new TH(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?SH(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?SH(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?SH(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?hs(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?SH(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?SH(e.marginClassName):null,this.inlineClassName=e.inlineClassName?SH(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?SH(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?SH(e.afterContentClassName):null,this.after=e.after?DH.from(e.after):null,this.before=e.before?DH.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1,this.textDirection=e.textDirection??null}};OH.EMPTY=OH.register({description:`empty`});var kH=[OH.register({description:`tracked-range-always-grows-when-typing-at-edges`,stickiness:0}),OH.register({description:`tracked-range-never-grows-when-typing-at-edges`,stickiness:1}),OH.register({description:`tracked-range-grows-only-when-typing-before`,stickiness:2}),OH.register({description:`tracked-range-grows-only-when-typing-after`,stickiness:3})];function AH(e){return e instanceof OH?e:OH.createDynamic(e)}var jH=class extends k{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new j),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||=new Set,this._affectedInjectedTextLines.add(e)}recordLineAffectedByLineHeightChange(e,t,n,r){this._affectedLineHeights||=new wL([],NB.toKey),this._affectedLineHeights.add(new NB(e,t,n,r))}recordLineAffectedByFontChange(e,t,n){this._affectedFontLines||=new wL([],PB.toKey),this._affectedFontLines.add(new PB(e,t,n))}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}},MH=class extends k{constructor(){super(),this._emitter=this._register(new j),this.event=this._emitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;let t=this._deferredEvent;this._deferredEvent=null,this._emitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(e):e;return}this._emitter.fire(e)}},NH=class e{static create(t){return new e(t.get(151),t.get(150))}constructor(e,t){this.classifier=new PH(e,t)}createLineBreaksComputer(e,t,n,r,i,a,o){let s=[],c=[];return{addRequest:(e,t)=>{s.push(e),c.push(t)},finalize:()=>{let l=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,u=[];for(let t=0,d=s.length;t<d;t++){let d=s[t],f=e.getLineInjectedText(d),p=e.getLineContent(d),m=c[t],h=o&&p.includes(`"`)&&p.includes(`\\n`);m&&!m.injectionOptions&&!f&&!h?u[t]=LH(this.classifier,m,p,n,r,l,i,a):u[t]=RH(this.classifier,p,f,n,r,l,i,a,h)}return FH.length=0,IH.length=0,u}}}},PH=class extends Mv{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},FH=[],IH=[];function LH(e,t,n,r,i,a,o,s){if(i===-1)return null;let c=n.length;if(c<=1)return null;let l=s===`keepAll`,u=t.breakOffsets,d=t.breakOffsetsVisibleColumn,f=UH(n,r,i,a,o),p=i-f,m=FH,h=IH,g=0,_=0,v=0,y=i,b=u.length,x=0;if(x>=0){let e=Math.abs(d[x]-y);for(;x+1<b;){let t=Math.abs(d[x+1]-y);if(t>=e)break;e=t,x++}}for(;x<b;){let t=x<0?0:u[x],i=x<0?0:d[x];_>t&&(t=_,i=v);let o=0,s=0,f=0,S=0;if(i<=y){let v=i,b=t===0?0:n.charCodeAt(t-1),x=t===0?0:e.get(b),C=!0;for(let i=t;i<c;i++){let t=i,c=n.charCodeAt(i),u,d;if(Vs(c)?(i++,u=0,d=2):(u=e.get(c),d=zH(c,v,r,a)),t>_&&HH(b,x,c,u,l)&&(o=t,s=v),v+=d,v>y){t>_?(f=t,S=v-d):(f=i+1,S=v),v-s>p&&(o=0),C=!1;break}b=c,x=u}if(C){g>0&&(m[g]=u[u.length-1],h[g]=d[u.length-1],g++);break}}if(o===0){let c=i,u=n.charCodeAt(t),d=e.get(u),m=!1;for(let r=t-1;r>=_;r--){let t=r+1,i=n.charCodeAt(r);if(i===9){m=!0;break}let h,g;if(Hs(i)?(r--,h=0,g=2):(h=e.get(i),g=ic(i)?a:1),c<=y){if(f===0&&(f=t,S=c),c<=y-p)break;if(HH(i,h,u,d,l)){o=t,s=c;break}}c-=g,u=i,d=h}if(o!==0){let e=p-(S-s);if(e<=r){let t=n.charCodeAt(f),i;i=Vs(t)?2:zH(t,S,r,a),e-i<0&&(o=0)}}if(m){x--;continue}}if(o===0&&(o=f,s=S),o<=_){let e=n.charCodeAt(_);Vs(e)?(o=_+2,s=v+2):(o=_+1,s=v+zH(e,v,r,a))}for(_=o,m[g]=o,v=s,h[g]=s,g++,y=s+p;x<0||x<b&&d[x]<s;)x++;let C=Math.abs(d[x]-y);for(;x+1<b;){let e=Math.abs(d[x+1]-y);if(e>=C)break;C=e,x++}}return g===0?null:(m.length=g,h.length=g,FH=t.breakOffsets,IH=t.breakOffsetsVisibleColumn,t.breakOffsets=m,t.breakOffsetsVisibleColumn=h,t.wrappedTextIndentLength=f,t)}function RH(e,t,n,r,i,a,o,s,c){let l=QI.applyInjectedText(t,n),u,d;if(n&&n.length>0?(u=n.map(e=>e.options),d=n.map(e=>e.column-1)):(u=null,d=null),i===-1)return u?new qI(d,u,[l.length],[],0):null;let f=l.length;if(f<=1)return u?new qI(d,u,[l.length],[],0):null;let p=s===`keepAll`,m=UH(l,r,i,a,o),h=i-m,g=[],_=[],v=0,y=0,b=0,x=i,S=l.charCodeAt(0),C=e.get(S),w=zH(S,0,r,a),ee=1;Vs(S)&&(w+=1,S=l.charCodeAt(1),C=e.get(S),ee++);for(let t=ee;t<f;t++){let n=t,i=l.charCodeAt(t),o,s,u=!1;Vs(i)?(t++,o=0,s=2):(o=e.get(i),s=zH(i,w,r,a)),c&&VH(l,t)?(y=n,b=w,u=!0):HH(S,C,i,o,p)&&(y=n,b=w),w+=s,(w>x||u)&&((y===0||w-b>h)&&(y=n,b=w-s),g[v]=y,_[v]=b,v++,x=b+h,y=0),S=i,C=o}return v===0&&(!n||n.length===0)?null:(g[v]=f,_[v]=w,new qI(d,u,g,_,m))}function zH(e,t,n,r){return e===9?n-t%n:ic(e)||e<32?r:1}function BH(e,t){return t-e%t}function VH(e,t){if(t>=2&&e.charAt(t-1)===`n`){let n=0;for(let r=t-2;r>=0;r--)if(e.charAt(r)===`\\`)n++;else return n%2==1}return!1}function HH(e,t,n,r,i){return n!==32&&(t===2&&r!==2||t!==1&&r===1||!i&&t===3&&r!==2||!i&&r===3&&t!==1)}function UH(e,t,n,r,i){let a=0;if(i!==0){let o=Ts(e);if(o!==-1){for(let n=0;n<o;n++){let r=e.charCodeAt(n)===9?BH(a,t):1;a+=r}let s=i===3?2:+(i===2);for(let e=0;e<s;e++){let e=BH(a,t);a+=e}a+r>n&&(a=0)}}return a}var WH=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new rA(new F(1,1,1,1),0,0,new P(1,1),0),new rA(new F(1,1,1,1),0,0,new P(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new eA(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Da.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Da.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),i=t.selectionStart.getEndPosition(),a=e.normalizePosition(n,2),o=this._validatePositionWithCache(e,r,n,a),s=this._validatePositionWithCache(e,i,r,o);return n.equals(a)&&r.equals(o)&&i.equals(s)?t:new rA(F.fromPositions(o,s),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-o.column,a,t.leftoverVisibleColumns+n.column-a.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position),a=n.position.equals(i)?n.leftoverVisibleColumns:0;n=new rA(e,n.selectionStartKind,r,i,a)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new rA(e,r.selectionStartKind,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new rA(e,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new P(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),i=t.coordinatesConverter.convertModelPositionToViewPosition(new P(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),a=new F(e.lineNumber,e.column,i.lineNumber,i.column),o=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new rA(a,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},GH=class{constructor(e){this.context=e,this.cursors=[new WH(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return My(this.cursors,ie(e=>e.viewState.position,P.compare)).viewState.position}getBottomMostViewPosition(){return jy(this.cursors,ie(e=>e.viewState.position,P.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(eA.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new WH(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(ie(e=>e.selection,F.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],i=t[n+1],a=r.selection,o=i.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let s;if(s=o.isEmpty()||a.isEmpty()?o.getStartPosition().isBeforeOrEqual(a.getEndPosition()):o.getStartPosition().isBefore(a.getEndPosition()),s){let a=r.index<i.index?n:n+1,o=r.index<i.index?n+1:n,s=t[o].index,c=t[a].index,l=t[o].selection,u=t[a].selection;if(!l.equalsSelection(u)){let n=l.plusRange(u),r=l.selectionStartLineNumber===l.startLineNumber&&l.selectionStartColumn===l.startColumn,i=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,o;s===this.lastAddedCursorIndex?(o=r,this.lastAddedCursorIndex=c):o=i;let d;d=o?new Da(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new Da(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[a].selection=d;let f=eA.fromModelSelection(d);e[c].setState(this.context,f.modelState,f.viewState)}for(let e of t)e.index>s&&e.index--;e.splice(s,1),t.splice(o,1),this._removeSecondaryCursor(s-1),n--}}}},KH=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},qH=class{constructor(){this.type=0}},JH=class{constructor(){this.type=1}},YH=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},XH=class{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}},ZH=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}},QH=class{constructor(){this.type=5}},$H=class{constructor(e){this.type=6,this.isFocused=e}},eU=class{constructor(){this.type=7}},tU=class{constructor(){this.type=8}},nU=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},rU=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},iU=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},aU=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},oU=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},sU=class{constructor(e){this.theme=e,this.type=14}},cU=class{constructor(e){this.type=15,this.ranges=e}},lU=class{constructor(){this.type=16}},uU=class{constructor(){this.type=17}},dU=class extends k{constructor(){super(),this._onEvent=this._register(new j),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t<n;t++)this._eventHandlers[t]===e&&console.warn(`Detected duplicate listener in ViewEventDispatcher`,e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new fU),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(e):e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},fU=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},pU=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},mU=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},hU=class{constructor(e,t){this.kind=2,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind===this.kind?new mU(this.oldHasFocus,e.hasFocus):null}},gU=class e{constructor(e,t,n,r,i,a,o,s){this.kind=3,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},_U=class{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},vU=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},yU=class e{constructor(e,t,n,r,i,a,o){this.kind=7,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},bU=class{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},xU=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},SU=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},CU=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},wU=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},TU=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},EU=class{constructor(e){this.event=e,this.kind=13}isNoOp(){return!1}attemptToMerge(e){return null}},DU=class{constructor(e){this.event=e,this.kind=14}isNoOp(){return!1}attemptToMerge(e){return null}},OU=class{constructor(e){this.event=e,this.kind=15}isNoOp(){return!1}attemptToMerge(e){return null}},kU=class extends k{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new KH(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new GH(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=Yt(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new KH(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,n,r){let i=!1,a=this.context.cursorConfig.multiCursorLimit;r!==null&&r.length>a&&(r=r.slice(0,a),i=!0);let o=AU.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,o,i)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,r,i,a){let o=this._cursors.getViewPositions(),s=null,c=null;o.length>1?c=this._cursors.getViewSelections():s=F.fromPositions(o[0],o[0]),e.emitViewEvent(new aU(t,n,s,c,r,i,a))}revealPrimary(e,t,n,r,i,a){let o=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new aU(t,n,null,o,r,i,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,eA.fromModelSelections(n)),this.revealAll(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof oL){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new GH(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=eA.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,eA.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,eA.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new jU(this._model,i,a))}_executeEditOperation(e,t){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let n=MU.executeCommands(this._model,this._cursors.getSelections(),e.commands,t);if(n){this._interpretCommandResult(n);let t=[],r=[];for(let n=0;n<e.commands.length;n++){let i=e.commands[n];i instanceof nj&&i.enclosingRange&&i.closeCharacterRange&&(t.push(i.closeCharacterRange),r.push(i.enclosingRange))}t.length>0&&this._pushAutoClosedAction(t,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=AU.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new XH(s,o,n)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new yU(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
270
- `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new F(c,u+1,c,u+2)),s.push(new F(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=AU.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){ge(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return jU.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new PU(this._model,this.getSelections())}endComposition(e,t){let n=FL.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(mj.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=FL.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=Js(t,n),i=t.substr(n,e);this._executeEditOperation(mj.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(mj.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=FL.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new Da(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(mj.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=FL.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(mj.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=FL.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(_A.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=FL.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new iA(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=FL.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new iA(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},AU=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},jU=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(F.compareRangesUsingStarts),e.sort(F.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},MU=class{static executeCommands(e,t,n,r=FL.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new Da(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new Da(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{F.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=Da.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return ge(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-F.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(F.getStartPosition(r.range).isBefore(F.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},NU=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},PU=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new NU(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,zs(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,Bs(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new F(t.lineNumber,a+1,t.lineNumber,o+1);return new hj(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},FU={getInitialState:()=>_S,tokenizeEncoded:(e,t,n)=>yS(0,n)};async function IU(e,t,n){if(!n)return RU(t,e.languageIdCodec,FU);let r=await io.getOrCreate(n);return RU(t,e.languageIdCodec,r||FU)}function LU(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=ic(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function RU(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=ws(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);CS.convertToEndOffset(s.tokens,o.length);let c=new CS(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${gs(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var zU=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},BU=class{constructor(e,t){this._decorationIDToCustomLine=new HU,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new HU;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new zU(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new HU,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new HU,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=CL(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return s(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},VU=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},HU=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},UU,WU=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},GU=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},KU=class e{constructor(t,n,r,i,a){this._instanceId=cc(++e.INSTANCE_COUNT),this._pendingChanges=new WU,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new BU(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new BU(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new GU(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}};UU=KU,UU.INSTANCE_COUNT=0;var qU=125,JU=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},YU=class extends k{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new j),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new JU(0,0,0,0),this._scrollable=this._register(new FO({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new pU(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},XU=class extends k{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new KU(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new YU(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new JU(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?qU:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new JU(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new JU(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new $S(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new $S(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new JU(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},ZU=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},QU=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new F(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!YN(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new ZU(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new ZU(new F(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new ZU(new F(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new F(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new JN(a,i),this._decorationsCache[t]=n}return n}},$U=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new F(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new ZU(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},eW=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,Yr(this.configuration.options),Xr(this.configuration.options),t,n)};this._inlineDecorationsComputer=new QU(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new F(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}},tW,nW;function rW(e,t){return e===null?t?aW.INSTANCE:oW.INSTANCE:new iW(e,t)}var iW=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new QI(0,0,e+1,this._projectionData.injectionOptions[t],0));a=QI.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=cW(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new $U({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=gH(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=cW(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new tC(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},aW=class{constructor(){}isVisible(){return!0}setVisible(e){return e?this:oW.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new tC(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new P(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}};tW=aW,tW.INSTANCE=new tW;var oW=class{constructor(){}isVisible(){return!1}setVisible(e){return e?aW.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}};nW=oW,nW.INSTANCE=new nW;var sW=[``];function cW(e){if(e>=sW.length)for(let t=1;t<=e;t++)sW[t]=lW(t);return sW[e]}function lW(e){return Array(e+1).join(` `)}var uW=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},dW=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new hW(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(F.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=rW(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Vx(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=fW(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(F.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:OH.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new rU(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=rW(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new iU(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=rW(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new nU(c,l-c+1):null,h=u<=d?new iU(u,d):null,g=f<=p?new rU(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new pW(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new P(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new P(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new pW(e,t))}if(!t.isVisible()&&a){let t=new P(e-1,this.model.getLineMaxColumn(e-1)+1),n=F.fromPositions(a,t);i.push(new mW(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new P(e,1))}if(a){let e=F.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new mW(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return i.lineNumber===r.modelLineWrappedLineIdx?new gN(e.visibleColumn,t,e.className,new _N(e.horizontalLine.top,n.column),-1,-1):i.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new gN(e.visibleColumn,t,e.className,new _N(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new P(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new P(i+1,l)).equals(n)?new P(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new F(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new P(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new F(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new P(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new P(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return F.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new F(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new F(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new P(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new F(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new F(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=F.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function fW(e){if(e.length===0)return[];let t=e.slice();t.sort(F.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new F(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new F(r,1,i,1)),n}var pW=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},mW=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},hW=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},gW=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uW(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new rU(t,n)}onModelLinesInserted(e,t,n,r){return new iU(t,n)}onModelLineChanged(e,t,n){return[!1,new nU(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new tC(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},_W=Yv.Right,vW=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*_W/8))}reset(e){let t=Math.ceil((e+1)*_W/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=_W*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=_W*e;for(let e=0;e<_W;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[Yv.Center]}countAtLine(e){let t=_W*e,n=0;for(let e=0;e<_W;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},yW=class extends k{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new SW,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new dU,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new ml(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=bW.create(this.model),this.glyphLanes=new vW(0),this.model.isTooLargeForTokenization())this._lines=new gW(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new dW(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new kU(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new XU(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new oU(e)),this._eventDispatcher.emitOutgoingEvent(new gU(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new eW(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(zN.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new lU)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new sU(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return VU.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new F(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return VU.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new F(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new $H(e)),this._eventDispatcher.emitOutgoingEvent(new mU(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new hU(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new qH)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new JH)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new P(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new TW(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new TW(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new ZH(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new ZH(null))),e.emitViewEvent(new YH(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),$k.shouldRecreate(t)&&(this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof lL?e.rawContentChangedEvent.changes:e.changes,a=e instanceof lL?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new ue(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new QH),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new tU),t.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof lL&&t.emitOutgoingEvent(new wU(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new F(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new sL(t);this._eventDispatcher.emitOutgoingEvent(new DU(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new cL(t);this._eventDispatcher.emitOutgoingEvent(new OU(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new cU(t)),this._eventDispatcher.emitOutgoingEvent(new EU(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new eU),this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new CU(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new SU(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new TU(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new ZH(e)),this._eventDispatcher.emitOutgoingEvent(new xU(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(F.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new vU)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new F(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new F(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new F(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new F(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new F(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new F(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new P(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Ts(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=Ds(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===Xv.RTL?n++:i===Xv.LTR&&n--}return n>0?Xv.RTL:Xv.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new nC(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new eC(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,Yr(this._configuration.options),Xr(this._configuration.options)),n=new xW;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
270
+ `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new F(c,u+1,c,u+2)),s.push(new F(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=AU.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){ge(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return jU.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new PU(this._model,this.getSelections())}endComposition(e,t){let n=FL.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(mj.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=FL.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=Js(t,n),i=t.substr(n,e);this._executeEditOperation(mj.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(mj.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=FL.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new Da(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(mj.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=FL.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(mj.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=FL.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(_A.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=FL.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new iA(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=FL.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new iA(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},AU=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},jU=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(F.compareRangesUsingStarts),e.sort(F.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},MU=class{static executeCommands(e,t,n,r=FL.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new Da(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new Da(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{F.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=Da.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return ge(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-F.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(F.getStartPosition(r.range).isBefore(F.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},NU=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},PU=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new NU(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,zs(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,Bs(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new F(t.lineNumber,a+1,t.lineNumber,o+1);return new hj(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},FU={getInitialState:()=>_S,tokenizeEncoded:(e,t,n)=>yS(0,n)};async function IU(e,t,n){if(!n)return RU(t,e.languageIdCodec,FU);let r=await io.getOrCreate(n);return RU(t,e.languageIdCodec,r||FU)}function LU(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=ic(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function RU(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=ws(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);CS.convertToEndOffset(s.tokens,o.length);let c=new CS(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${gs(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var zU=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},BU=class{constructor(e,t){this._decorationIDToCustomLine=new HU,this._orderedCustomLines=[],this._pendingChanges=[],this._invalidIndex=1/0,this._hasPending=!1,this._defaultLineHeight=e;for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight)}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){this._pendingChanges.push({kind:1,decorationId:e}),this._hasPending=!0}insertOrChangeCustomLineHeight(e,t,n,r){this._pendingChanges.push({kind:0,decorationId:e,startLineNumber:t,endLineNumber:n,lineHeight:r}),this._hasPending=!0}heightForLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){this._commit();let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){this._pendingChanges.push({kind:2,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}onLinesInserted(e,t){this._pendingChanges.push({kind:3,fromLineNumber:e,toLineNumber:t}),this._hasPending=!0}_commit(){if(!this._hasPending)return;let e=this._pendingChanges;this._pendingChanges=[],this._hasPending=!1;let t=[],n=new HU;for(let r of e)switch(r.kind){case 1:this._doRemoveCustomLineHeight(r.decorationId,n);break;case 0:this._doInsertOrChangeCustomLineHeight(r.decorationId,r.startLineNumber,r.endLineNumber,r.lineHeight,t,n);break;case 2:this._flushStagedDecorationChanges(t,n),this._doLinesDeleted(r.fromLineNumber,r.toLineNumber);break;case 3:this._flushStagedDecorationChanges(t,n),this._doLinesInserted(r.fromLineNumber,r.toLineNumber,t,n)}this._flushStagedDecorationChanges(t,n)}_doRemoveCustomLineHeight(e,t){let n=this._decorationIDToCustomLine.get(e);if(n){this._decorationIDToCustomLine.delete(e);for(let e of n)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index)}let r=t.get(e);if(r){t.delete(e);for(let e of r)e.deleted=!0}}_doInsertOrChangeCustomLineHeight(e,t,n,r,i,a){this._doRemoveCustomLineHeight(e,a);for(let o=t;o<=n;o++){let t=new zU(e,-1,o,r,0);i.push(t),a.add(e,t)}}_flushStagedDecorationChanges(e,t){if(e.length===0&&this._invalidIndex===1/0)return;for(let t of e){if(t.deleted)continue;let e=this._binarySearchOverOrderedCustomLinesArray(t.lineNumber),n=e>=0?e:-(e+1);this._orderedCustomLines.splice(n,0,t),this._invalidIndex=Math.min(this._invalidIndex,n)}if(e.length=0,t.clear(),this._invalidIndex===1/0)return;let n=new HU,r=[];for(let e=0;e<this._invalidIndex;e++){let t=this._orderedCustomLines[e];r.push(t),n.add(t.decorationId,t)}let i=0,a=this._invalidIndex>0?r[this._invalidIndex-1]:void 0;for(let e=this._invalidIndex;e<this._orderedCustomLines.length;e++){let t=this._orderedCustomLines[e];if(t.deleted){i++;continue}if(t.index=e-i,a&&a.lineNumber===t.lineNumber)t.maximumSpecialHeight=a.maximumSpecialHeight,t.prefixSum=a.prefixSum;else{let n=t.specialHeight;for(let r=e;r<this._orderedCustomLines.length;r++){let e=this._orderedCustomLines[r];if(!e.deleted){if(e.lineNumber!==t.lineNumber)break;n=Math.max(n,e.specialHeight)}}t.maximumSpecialHeight=n;let r;r=a?a.prefixSum+a.maximumSpecialHeight+this._defaultLineHeight*(t.lineNumber-a.lineNumber-1):this._defaultLineHeight*(t.lineNumber-1),t.prefixSum=r}a=t,r.push(t),n.add(t.decorationId,t)}this._orderedCustomLines=r,this._decorationIDToCustomLine=n,this._invalidIndex=1/0}_doLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new HU,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}_doLinesInserted(e,t,n,r){let i=t-e+1,a=this._binarySearchOverOrderedCustomLinesArray(e),o;if(a>=0){o=a;for(let t=a-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)o--}else o=-(a+1);let s=[],c=new Set;for(let t=o;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&c.add(this._orderedCustomLines[t].decorationId);let l=new Set;for(let t=o-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&l.add(this._orderedCustomLines[t].decorationId);let u=CL(l,c),d=i*this._defaultLineHeight;for(let e=o;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=i,this._orderedCustomLines[e].prefixSum+=d;if(u.size>0){for(let t of u){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),a=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);s.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:a})}}for(let e of s)this._doInsertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight,n,r)}}_binarySearchOverOrderedCustomLinesArray(e){return s(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},VU=class e{constructor(e,t,n,r){this.decorationId=e,this.startLineNumber=t,this.endLineNumber=n,this.lineHeight=r}static fromDecorations(t,n,r){let i=r.options.get(75);return t.map(t=>{let r=n.convertModelRangeToViewRange(t.range);return new e(t.id,r.startLineNumber,r.endLineNumber,t.options.lineHeight?t.options.lineHeight*i:0)})}},HU=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}clear(){this._map.clear()}},UU,WU=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},GU=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},KU=class e{constructor(t,n,r,i,a){this._instanceId=cc(++e.INSTANCE_COUNT),this._pendingChanges=new WU,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new BU(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new BU(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;return e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}}),t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new GU(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}};UU=KU,UU.INSTANCE_COUNT=0;var qU=125,JU=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},YU=class extends k{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new j),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new JU(0,0,0,0),this._scrollable=this._register(new FO({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new pU(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},XU=class extends k{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new KU(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new YU(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new JU(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?qU:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new JU(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new JU(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new $S(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new $S(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new JU(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},ZU=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},QU=class{constructor(e,t,n){this.context=e,this.model=t,this.coordinatesConverter=n,this._decorationsCache=Object.create(null)}getInlineDecorations(e){let t=new F(e,1,e,this.model.getLineMaxColumn(e)),n=this.coordinatesConverter.convertModelRangeToViewRange(t);return this.getDecorations(n,!1,!1).inlineDecorations}getDecorations(e,t,n){let r=this.context.getModelDecorations(e,t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[],l=[];for(let e=i;e<=a;e++)c[e-i]=[],l[e-i]=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!YN(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new ZU(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let a=t;a<=r;a++)c[a-i].push(e),n.affectsFont&&(l[a-i]=!0)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new ZU(new F(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e),n.affectsFont&&(l[d.startLineNumber-i]=!0)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new ZU(new F(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e),n.affectsFont&&(l[d.endLineNumber-i]=!0)}}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}reset(){this._decorationsCache=Object.create(null)}onModelDecorationsChanged(){this.reset()}onLineMappingChanged(){this.reset()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.startLineNumber,1),0,!1,!0),t=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new F(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this.coordinatesConverter.convertModelRangeToViewRange(r,1);n=new JN(a,i),this._decorationsCache[t]=n}return n}},$U=class{constructor(e){this.context=e}getInlineDecorations(e){let t=this.context.getInjectionOffsets(e);if(!t)return[];let n=[],r=0,i=0,a=this.context.getInjectionOptions(e),o=this.context.getBreakOffsets(e);for(let s=0;s<o.length;s++){let c=[];n[s]=c;let l=s>0?o[s-1]:0,u=o[s];for(;i<t.length;){let n=a[i].content.length,o=t[i]+r,d=o+n;if(o>u)break;if(l<d){let t=a[i];if(t.inlineClassName){let n=this.context.getWrappedTextIndentLength(e),r=s>0?n:0,i=r+Math.max(o-l,0),a=r+Math.min(d-l,u-l);if(i!==a){let n=this.context.getBaseViewLineNumber(e)+s,r=new F(n,i+1,n,a+1),o=t.inlineClassNameAffectsLetterSpacing?3:0;c.push(new ZU(r,t.inlineClassName,o))}}}if(d<=u)r+=n,i++;else break}}return n}},eW=class{constructor(e,t,n,r,i){this.editorId=e,this.configuration=n,this._linesCollection=r;let a={getModelDecorations:(e,t,n)=>this._linesCollection.getDecorationsInRange(e,this.editorId,Yr(this.configuration.options),Xr(this.configuration.options),t,n)};this._inlineDecorationsComputer=new QU(a,t,i),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}reset(){this._inlineDecorationsComputer.reset(),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._inlineDecorationsComputer.onModelDecorationsChanged(),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._inlineDecorationsComputer.onLineMappingChanged(),this._clearCachedModelDecorationsResolver()}getMinimapDecorationsInRange(e){return this._inlineDecorationsComputer.getDecorations(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._inlineDecorationsComputer.getDecorations(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new F(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._inlineDecorationsComputer.getDecorations(r,t,n)}},tW,nW;function rW(e,t){return e===null?t?aW.INSTANCE:oW.INSTANCE:new iW(e,t)}var iW=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new QI(0,0,e+1,this._projectionData.injectionOptions[t],0));a=QI.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=cW(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n,r){let i=[];return this.getViewLinesData(e,t,n,1,r,0,[!0],i),i[0]}getViewLinesData(e,t,n,r,i,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=new $U({getInjectionOptions:()=>u,getInjectionOffsets:()=>l,getBreakOffsets:()=>c.breakOffsets,getWrappedTextIndentLength:()=>c.wrappedTextIndentLength,getBaseViewLineNumber:()=>i}).getInlineDecorations(t),f=gH(e.tokenization.getLineTokens(t),u,l);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=cW(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new tC(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},aW=class{constructor(){}isVisible(){return!0}setVisible(e){return e?this:oW.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n,r){let i=e.tokenization.getLineTokens(t),a=i.getLineContent();return new tC(a,!1,1,a.length+1,0,i.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o,s){if(!o[a]){s[a]=null;return}s[a]=this.getViewLineData(e,t,0,i)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new P(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}};tW=aW,tW.INSTANCE=new tW;var oW=class{constructor(){}isVisible(){return!1}setVisible(e){return e?aW.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n,r){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o,s){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}};nW=oW,nW.INSTANCE=new nW;var sW=[``];function cW(e){if(e>=sW.length)for(let t=1;t<=e;t++)sW[t]=lW(t);return sW[e]}function lW(e){return Array(e+1).join(` `)}var uW=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},dW=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new hW(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent().length,r=this.createLineBreaksComputer();for(let e=0;e<n;e++)r.addRequest(e+1,t?t[e]:null);let i=r.finalize(),a=[],o=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(F.compareRangesUsingStarts),s=1,c=0,l=-1,u=l+1<o.length?c+1:n+2;for(let e=0;e<n;e++){let t=e+1;t===u&&(l++,s=o[l].startLineNumber,c=o[l].endLineNumber,u=l+1<o.length?c+1:n+2);let r=t>=s&&t<=c,d=rW(i[e],!r);a[e]=d.getViewLineCount(),this.modelLineProjections[e]=d}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new Vx(a),this._ensureAtLeastOneVisibleLine()}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=fW(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(F.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:OH.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(e){let t=this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory,n=e??{getLineContent:e=>this.model.getLineContent(e),getLineInjectedText:e=>this.model.getLineInjectedText(e,this._editorId)};return t.createLineBreaksComputer(n,this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new rU(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=rW(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new iU(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=rW(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new nU(c,l-c+1):null,h=u<=d?new iU(u,d):null,g=f<=p?new rU(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this._ensureAtLeastOneVisibleLine()}_ensureAtLeastOneVisibleLine(){this.getViewLineCount()===0&&this.modelLineProjections.length>0&&(this.modelLineProjections[0]=this.modelLineProjections[0].setVisible(!0),this.projectedModelLineLineCounts.setValue(0,this.modelLineProjections[0].getViewLineCount()))}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new pW(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new P(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new P(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new pW(e,t))}if(!t.isVisible()&&a){let t=new P(e-1,this.model.getLineMaxColumn(e-1)+1),n=F.fromPositions(a,t);i.push(new mW(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new P(e,1))}if(a){let e=F.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new mW(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);if(i.lineNumber===r.modelLineWrappedLineIdx)return new gN(e.visibleColumn,t,e.className,new _N(e.horizontalLine.top,n.column),-1,-1);if(!(i.lineNumber<r.modelLineWrappedLineIdx))return e.visibleColumn===-1?new gN(e.visibleColumn,t,e.className,new _N(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new P(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e),n=this.projectedModelLineLineCounts.getPrefixSum(t.modelLineNumber-1)+1;return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx,n)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;i+u>t&&(d=!0,u=t-i+1);let f=this.projectedModelLineLineCounts.getPrefixSum(r)+1;if(c.getViewLinesData(this.model,r+1,l,u,f,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new P(i+1,l)).equals(n)?new P(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new F(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new P(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new F(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new P(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new P(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return F.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new F(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new F(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new P(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new F(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new F(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=F.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function fW(e){if(e.length===0)return[];let t=e.slice();t.sort(F.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new F(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new F(r,1,i,1)),n}var pW=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},mW=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},hW=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},gW=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new uW(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new rU(t,n)}onModelLinesInserted(e,t,n,r){return new iU(t,n)}onModelLineChanged(e,t,n){return[!1,new nU(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new tC(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},_W=Yv.Right,vW=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*_W/8))}reset(e){let t=Math.ceil((e+1)*_W/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=_W*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=_W*e;for(let e=0;e<_W;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[Yv.Center]}countAtLine(e){let t=_W*e,n=0;for(let e=0;e<_W;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},yW=class extends k{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new SW,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new dU,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new ml(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=bW.create(this.model),this.glyphLanes=new vW(0),this.model.isTooLargeForTokenization())this._lines=new gW(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new dW(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new kU(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new XU(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new oU(e)),this._eventDispatcher.emitOutgoingEvent(new gU(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new eW(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(zN.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new lU)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new sU(e))})),this._updateConfigurationViewLineCountNow(),this.model.registerViewModel(this)}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose(),this.model.unregisterViewModel(this)}getEditorOption(e){return this._configuration.options.get(e)}createLineBreaksComputer(e){return this._lines.createLineBreaksComputer(e)}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){if(!this._configuration.options.get(5))return[];let e=this.model.getCustomLineHeightsDecorations(this._editorId);return VU.fromDecorations(e,this.coordinatesConverter,this._configuration)}_getCustomLineHeightsForLines(e,t){if(!this._configuration.options.get(5))return[];let n=new F(e,1,t,this.model.getLineMaxColumn(t)),r=this.model.getCustomLineHeightsDecorationsInRange(n,this._editorId);return VU.fromDecorations(r,this.coordinatesConverter,this._configuration)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new F(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new $H(e)),this._eventDispatcher.emitOutgoingEvent(new mU(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new hU(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new qH)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new JH)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new P(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new TW(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new TW(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new ZH(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new ZH(null))),e.emitViewEvent(new YH(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),$k.shouldRecreate(t)&&(this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}onDidChangeContentOrInjectedText(e){try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof lL?e.rawContentChangedEvent.changes:e.changes,a=e instanceof lL?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.count;t++)o.addRequest(e.fromLineNumberPostEdit+t,null);break;case 2:o.addRequest(e.lineNumberPostEdit,null)}let s=new ue(o.finalize()),c=[];for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new QH),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber),c.push({fromLineNumber:e.lastUntouchedLinePostEdit,toLineNumber:e.lastUntouchedLinePostEdit})),n=!0;break}case 4:{let r=s.takeCount(e.count),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber),c.push({fromLineNumber:e.fromLineNumberPostEdit,toLineNumber:e.toLineNumberPostEdit})),n=!0;break}case 2:{let n=s.dequeue(),[i,o,l,u]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),l&&(t.emitViewEvent(l),this.viewLayout.onLinesInserted(l.fromLineNumber,l.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit})),u&&(t.emitViewEvent(u),this.viewLayout.onLinesDeleted(u.fromLineNumber,u.toLineNumber),c.push({fromLineNumber:e.lineNumberPostEdit,toLineNumber:e.lineNumberPostEdit}));break}}a!==null&&this._lines.acceptVersionId(a),c.length>0&&this.viewLayout.changeSpecialLineHeights(e=>{for(let t of c){let n=this._getCustomLineHeightsForLines(t.fromLineNumber,t.toLineNumber);for(let t of n)e.insertOrChangeCustomLineHeight(t.decorationId,t.startLineNumber,t.endLineNumber,t.lineHeight)}}),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new tU),t.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}this._handleVisibleLinesChanged()}emitContentChangeEvent(e){this._emitViewEvent(t=>{e instanceof lL&&t.emitOutgoingEvent(new wU(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)})}_registerModelEvents(){this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeightMultiplier:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new F(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i*this._configuration.options.get(75))}}),t.length>0){let e=new sL(t);this._eventDispatcher.emitOutgoingEvent(new DU(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new cL(t);this._eventDispatcher.emitOutgoingEvent(new OU(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new P(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new cU(t)),this._eventDispatcher.emitOutgoingEvent(new EU(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new eU),this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new CU(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new SU(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new $k(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new TU(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new ZH(e)),this._eventDispatcher.emitOutgoingEvent(new xU(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(F.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new QH),e.emitViewEvent(new tU),e.emitViewEvent(new ZH(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new vU)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new F(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new F(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new F(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new F(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new F(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}getViewRangeWithCursorPadding(e){let t=this._configuration.options,n=t.get(35),r=t.get(131),{startLineNumber:i,endLineNumber:a}=e,o=Math.min(Math.max(n,r.enabled?r.maxLineCount:0),Math.floor((a-i+1)/2));return i+=o,a-=Math.max(0,o-1),o===0||i>a?e:new F(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new P(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Ts(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=Ds(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===Xv.RTL?n++:i===Xv.LTR&&n--}return n>0?Xv.RTL:Xv.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=t-e.startLineNumber,i=n.inlineDecorations[r],a=n.hasVariableFonts[r];return this._getViewLineRenderingData(t,i,a,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts[0],t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations]),new nC(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new eC(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,Yr(this._configuration.options),Xr(this._configuration.options)),n=new xW;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
271
271
  `:this.model.getEOL();e=e.slice(0),e.sort(F.compareRangesUsingStarts);let i=!1,a=!1;for(let t of e)t.isEmpty()?i=!0:a=!0;if(!a&&!t)return{sourceRanges:[],sourceText:``};let o=[],s=[],c=(e,t=``)=>{o.push(e),s.push(this.model.getValueInRange(e,n?2:0)+t)};if(i&&t){let t=0;for(let n of e){let e=n.startLineNumber;n.isEmpty()?e!==t&&c(new F(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e)),r):c(n),t=e}}else for(let t of e)t.isEmpty()||c(t);return{sourceRanges:o,sourceText:s.length===1?s[0]:s}}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new F(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let i=this._configuration.options.get(59),a=this._getColorMap(),o=/[:;\\\/<>]/.test(i.fontFamily)||i.fontFamily===Vn.fontFamily,s;return o?s=Vn.fontFamily:(s=i.fontFamily,s=s.replace(/"/g,`'`),/[,']/.test(s)||/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${Vn.fontFamily}`),{mode:n,html:`<div style="color: ${a[1]};background-color: ${a[2]};font-family: ${s};font-weight: ${i.fontWeight};font-size: ${i.fontSize}px;line-height: ${i.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,a)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,a=e.endColumn,o=this.getTabSize(),s=``;for(let e=n;e<=i;e++){let c=this.model.tokenization.getLineTokens(e),l=c.getLineContent(),u=e===n?r-1:0,d=e===i?a-1:l.length;s+=l===``?`<br>`:LU(l,c.inflate(),t,u,d,o,xt)}return s}_getColorMap(){let e=io.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=J.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new bU);return}this._withViewEventsCollector(e)}executeEdits(e,t,n,r){this._executeCursorEdit(i=>this._cursor.executeEdits(i,e,t,n,r))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,n,0,t,0))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new F(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new aU(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new F(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new aU(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new aU(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new uU),this._eventDispatcher.emitOutgoingEvent(new _U))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>this._emitViewEvent(e))}_emitViewEvent(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},bW=class e{static create(t){let n=t._setTrackedRange(null,new F(1,1,1,1),1);return new e(t,1,!1,n,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new P(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new F(n.lineNumber,n.column,n.lineNumber,n.column),1),i=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=a-i}invalidate(){this._isValid=!1}},xW=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new rC(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},SW=class{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let n=this.hiddenAreas.get(e);n&&wW(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>CW(e,t),[]);return wW(this.ranges,e)||(this.ranges=e),this.ranges}};function CW(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=e[r],o=t[i];if(a.endLineNumber<o.startLineNumber-1)n.push(e[r++]);else if(o.endLineNumber<a.startLineNumber-1)n.push(t[i++]);else{let e=Math.min(a.startLineNumber,o.startLineNumber),t=Math.max(a.endLineNumber,o.endLineNumber);n.push(new F(e,1,t,1)),r++,i++}}for(;r<e.length;)n.push(e[r++]);for(;i<t.length;)n.push(t[i++]);return n}function wW(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].equalsRange(t[n]))return!1;return!0}var TW=class{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let n=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),r=t.getVerticalOffsetForLineNumber(n.lineNumber);t.setScrollPosition({scrollTop:r+this.startLineDelta},1)}},EW=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},DW,OW=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},kW=function(e,t){return function(n,r){t(n,r,e)}},AW,jW=(DW=class extends k{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(e,t,n,r,i,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=u,this._deliveryQueue=Tn(),this._contributions=this._register(new _L),this._onDidDispose=this._register(new j),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new PW({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new PW({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new FW(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onWillCopy=this._register(new FW(this._contributions,this._deliveryQueue)),this.onWillCopy=this._onWillCopy.event,this._onWillCut=this._register(new FW(this._contributions,this._deliveryQueue)),this.onWillCut=this._onWillCut.event,this._onWillPaste=this._register(new FW(this._contributions,this._deliveryQueue)),this.onWillPaste=this._onWillPaste.event,this._onMouseUp=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new FW(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new FW(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new FW(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new FW(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new FW(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new j({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new j),this._onBeginUpdate=this._register(new j),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new j),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new j),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,i.willCreateCodeEditor();let p={...t};if(this._domElement=e,this._userInteractionService=f,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++MW,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,n.contextMenuId??(n.isSimpleWidget?Zm.SimpleEditorContext:Zm.EditorContext),p,l)),this._domElement.style?.setProperty(`--editor-font-size`,this._configuration.options.get(61)+`px`),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(165)){let e=t.get(165);this._onDidLayoutChange.fire(e)}e.hasChanged(61)&&this._domElement.style.setProperty(`--editor-font-size`,t.get(61)+`px`)})),this._contextKeyService=this._register(o.createScoped(this._domElement)),n.contextKeyValues)for(let[e,t]of Object.entries(n.contextKeyValues))this._contextKeyService.createKey(e,t);this._notificationService=c,this._codeEditorService=i,this._commandService=a,this._themeService=s,this._register(new IW(this,this._contextKeyService)),this._register(new LW(this,this._contextKeyService,d)),this._instantiationService=this._register(r.createChild(new EW([Im,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:_g.getEditorContributions(),this._contributions.initialize(this,m,this._instantiationService);for(let e of _g.getEditorActions()){if(this._actions.has(e.id)){ge(Error(`Cannot have two actions with the same id ${e.id}`));continue}let t=new vL(e.id,e.label,e.alias,e.metadata,e.precondition??void 0,t=>this._instantiationService.invokeFunction(n=>Promise.resolve(e.runEditorCommand(n,this,t))),this._contextKeyService);this._actions.set(t.id,t)}let h=()=>!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled;this._register(new $f(this._domElement,{onDragOver:e=>{if(!h())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!h()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n,r){return new kC(e,t,n,this._domElement,r)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return gS.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?vA.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
272
272
  `?n=1:e&&e.lineEnding&&e.lineEnding===`\r
273
273
  `&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(n);let r=this.hasTextFocus(),i=this._detachModel();this._attachModel(t),this.hasModel()?r&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(i),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,r){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?AW._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?AW._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?AW._getVerticalOffsetAfterPosition(this._modelData,e,2**53-1,t):-1}getLineHeightForPosition(e){if(!this._modelData)return-1;let t=this._modelData.viewModel,n=t.coordinatesConverter,r=P.lift(e);if(n.modelPositionIsVisible(r)){let e=n.convertModelPositionToViewPosition(r);return t.viewLayout.getLineHeightForLineNumber(e.lineNumber)}return 0}setHiddenAreas(e,t,n){this._modelData?.viewModel.setHiddenAreas(e.map(e=>F.lift(e)),t,n)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return rO.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!P.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!F.isIRange(e))throw Error(`Invalid arguments`);let i=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this._modelData.viewModel.revealRange(`api`,n,a,t,r)}revealAllCursors(e,t){this._modelData&&this._modelData.viewModel.revealAllCursors(`api`,e,t)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new F(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!P.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new F(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=Da.isISelection(e),r=F.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new Da(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new F(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,+!!n,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!F.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(F.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!Da.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});let n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){n||={};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:e,handlerId:t,payload:n}),this._beginUpdate(),t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run(n)).then(void 0,ge);return}if(!this._modelData||this._triggerEditorCommand(e,t,n))return;this._triggerCommand(t,n)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this.inComposition=!1,this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&t.length!==0&&(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,i,a){if(!this._modelData)return;let o=this._modelData.viewModel,s=o.getSelection().getStartPosition();o.paste(t,n,r,e);let c=o.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({clipboardEvent:a,range:new F(s.lineNumber,s.column,c.lineNumber,c.column),languageId:i})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=_g.getEditorCommand(t);return r?(n||={},Fe(n)&&(n.source=e),this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,ge)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.popStackElement(),!0)}edit(e,t){return this.executeEdits(t,e.replacements.map(e=>({range:e.range,text:e.text})),void 0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(104))return!1;let r;r=n?Array.isArray(n)?()=>n:n:()=>null;let i,a;return e instanceof NL?(a=e,i=e.metadata.source):(a=FL.unknown({name:e}),i=e),this._onBeforeExecuteEdit.fire({source:i??void 0}),this._modelData.viewModel.executeEdits(i,t,r,a),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new RW(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getLineDecorations(e,this._id,Yr(t),Xr(t))}getDecorationsInRange(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getDecorationsInRange(e,this._id,Yr(t),Xr(t))}getFontSizeAtPosition(e){return this._modelData?this._modelData.viewModel.getFontSizeAtPosition(e):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&e.length!==0&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];if(t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)){let t=this._decorationTypeSubtypes[e];for(let n of Object.keys(t))this._removeDecorationType(e+`-`+n);delete this._decorationTypeSubtypes[e]}}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isWidgetFocused()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a content widget with the same id:`+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting an overlay widget with the same id.`),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a glyph margin widget with the same id.`),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),n=this._configuration.options.get(165);return{top:AW._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:this.getLineHeightForPosition(t)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}getWidthOfLine(e){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getLineWidth(e)}resetLineWidthCaches(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.resetLineWidthCaches()}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}renderAsync(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!1,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Sp(e,this._configuration.options.get(59))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let n=e.onBeforeAttached(),r=new yW(this._id,this._configuration,e,dL.create(z(this._domElement)),NH.create(this._configuration.options),e=>ef(z(this._domElement),e),this.languageConfigurationService,this._themeService,n,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._editorWidgetFocus.setValue(t.hasFocus);break;case 3:this._onDidScrollChange.fire(t);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(t.reachedMaxCursorCount){let e=E(99,`The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.`,this.getOption(89));this._notificationService.prompt(pF.Warning,e,[{label:`Find and Replace`,run:()=>{this._commandService.executeCommand(`editor.action.startFindReplaceAction`)}},{label:E(100,`Increase Multi Cursor Limit`),run:()=>{this._commandService.executeCommand(`workbench.action.openSettings2`,{query:`editor.multiCursorLimit`})}}])}let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 8:this._onDidChangeModelDecorations.fire(t.event);break;case 9:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 11:this._onDidChangeModelContent.fire(t.event);break;case 12:this._onDidChangeModelOptions.fire(t.event);break;case 13:this._onDidChangeModelTokens.fire(t.event);break;case 14:this._onDidChangeLineHeight.fire(t.event);break;case 15:this._onDidChangeFont.fire(t.event)}}));let[i,a]=this._createView(r);if(a){this._domElement.appendChild(i.domNode.domNode);let n=Object.keys(this._contentWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addContentWidget(this._contentWidgets[t])}n=Object.keys(this._overlayWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addOverlayWidget(this._overlayWidgets[t])}n=Object.keys(this._glyphMarginWidgets);for(let e=0,t=n.length;e<t;e++){let t=n[e];i.addGlyphMarginWidget(this._glyphMarginWidgets[t])}i.render(!1,!0),i.domNode.domNode.setAttribute(`data-uri`,e.uri.toString()),t.push(i.onWillCopy(e=>this._onWillCopy.fire(e))),t.push(i.onWillCut(e=>this._onWillCut.fire(e))),t.push(i.onWillPaste(e=>this._onWillPaste.fire(e)))}this._modelData=new NW(e,r,i,a,t,n)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new Lj(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new UI(this._domElement,this.getId(),t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService,this._userInteractionService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){let t=[{range:new F(e.lineNumber,e.column,e.lineNumber,e.column),options:AW.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}},AW=DW,DW.dropIntoEditorDecorationOptions=OH.register({description:`workbench-dnd-target`,className:`dnd-target`}),DW);jW=AW=OW([kW(3,Ap),kW(4,Np),kW(5,Kp),kW(6,Im),kW(7,Kj),kW(8,mF),kW(9,wC),kW(10,uv),kW(11,$x),kW(12,zI)],jW);var MW=0,NW=class{constructor(e,t,n,r,i,a){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i,this.attachedView=a}dispose(){Yt(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},PW=class extends k{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new j(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new j(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},FW=class extends j{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}},IW=class extends k{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=Z.editorSimpleInput.bindTo(t),this._editorFocus=Z.focus.bindTo(t),this._textInputFocus=Z.textInputFocus.bindTo(t),this._editorTextFocus=Z.editorTextFocus.bindTo(t),this._tabMovesFocus=Z.tabMovesFocus.bindTo(t),this._editorReadonly=Z.readOnly.bindTo(t),this._inDiffEditor=Z.inDiffEditor.bindTo(t),this._editorColumnSelection=Z.columnSelection.bindTo(t),this._hasMultipleSelections=Z.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=Z.hasNonEmptySelection.bindTo(t),this._canUndo=Z.canUndo.bindTo(t),this._canRedo=Z.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(CC.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(e.get(164)||CC.getTabFocusMode()),this._editorReadonly.set(e.get(104)),this._inDiffEditor.set(e.get(70)),this._editorColumnSelection.set(e.get(28))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},LW=class extends k{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=Z.languageId.bindTo(t),this._hasCompletionItemProvider=Z.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=Z.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=Z.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=Z.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=Z.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=Z.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=Z.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=Z.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=Z.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=Z.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=Z.hasReferenceProvider.bindTo(t),this._hasRenameProvider=Z.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=Z.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=Z.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=Z.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=Z.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=Z.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=Z.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=Z.isInEmbeddedEditor.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===El.walkThroughSnippet||e.uri.scheme===El.vscodeChatCodeBlock)})}},RW=class{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}},zW=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,BW=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function VW(e){return zW+encodeURIComponent(e.toString())+BW}var HW=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,UW=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function WW(e){return HW+encodeURIComponent(e.toString())+UW}Zj((e,t)=>{let n=e.getColor(kw);n&&(t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${VW(n)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${VW(n)}"); }`));let r=e.getColor(Mw);r&&(t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${VW(r)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${VW(r)}"); }`));let i=e.getColor(Pw);i&&(t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${VW(i)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${VW(i)}"); }`));let a=e.getColor(Iw);a&&(t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${WW(a)}") no-repeat bottom left; }`),t.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${WW(a)}"); }`));let o=e.getColor(kM);o&&(t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${o.rgba.a}; }`),t.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${o.rgba.a}; }`))});var GW=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},KW=function(e,t){return function(n,r){t(n,r,e)}},qW=Mp(`hoverService`),JW=class extends k{get delay(){return this.isInstantlyHovering()?0:this.hoverOptions?.dynamicDelay?e=>this.hoverOptions?.dynamicDelay?.(e)??this._delay:this._delay}constructor(e,t,n={},r,i){super(),this.placement=e,this.hoverOptions=t,this.overrideOptions=n,this.configurationService=r,this.hoverService=i,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new O),this._delay=this.configurationService.getValue(`workbench.hover.delay`),this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`workbench.hover.delay`)&&(this._delay=this.configurationService.getValue(`workbench.hover.delay`))}))}showHover(e,t){let n=typeof this.overrideOptions==`function`?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();let r=Of(e.target)?[e.target]:e.target.targetElements;for(let e of r)this.hoverDisposables.add(Kd(e,`keydown`,e=>{e.equals(9)&&this.hoverService.hideHover()}));let i=Of(e.content)?void 0:typeof e.content==`string`?e.content.toString():e.content.value;return this.hoverService.showInstantHover({...e,...n,persistence:{hideOnKeyDown:!0,...n.persistence},id:i,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...n.appearance}},t)}isInstantlyHovering(){return!!this.hoverOptions?.instantHover&&Date.now()-this.lastHoverHideTime<this.timeLimit}onDidHideHover(){this.hoverDisposables.clear(),this.hoverOptions?.instantHover&&(this.lastHoverHideTime=Date.now())}};JW=GW([KW(3,x_),KW(4,qW)],JW);var YW={showHover:function(){throw Error(`Native hover function not implemented.`)},delay:0,showNativeHover:!0},XW=Mp(`contextViewService`),ZW=Mp(`contextMenuService`),QW=H,$W=class extends k{constructor(e){super(),this.containerDomNode=document.createElement(`div`),this.containerDomNode.className=`monaco-hover`,this.containerDomNode.classList.toggle(`fade-in`,!!e),this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute(`role`,`tooltip`),this.contentsDomNode=document.createElement(`div`),this.contentsDomNode.className=`monaco-hover-content`,this.scrollbar=this._register(new XO(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}},eG=class e extends k{static render(t,n,r){return new e(t,n,r)}constructor(e,t,n){super(),this.actionLabel=t.label,this.actionKeybindingLabel=n,this.actionContainer=Bf(e,QW(`div.action-container`)),this.actionContainer.setAttribute(`tabindex`,`0`),this.action=Bf(this.actionContainer,QW(`a.action`)),this.action.setAttribute(`role`,`button`),t.iconClass&&Bf(this.action,QW(`span.icon`)).classList.add(...t.iconClass.split(` `)),this.actionRenderedLabel=n?`${t.label} (${n})`:t.label;let r=Bf(this.action,QW(`span`));r.textContent=this.actionRenderedLabel,this._store.add(new nG(this.actionContainer,t.run)),this._store.add(new rG(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove(`disabled`),this.actionContainer.removeAttribute(`aria-disabled`)):(this.actionContainer.classList.add(`disabled`),this.actionContainer.setAttribute(`aria-disabled`,`true`))}};function tG(e,t){return e&&t?E(7,`Inspect this in the accessible view with {0}.`,t):e?E(8,`Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding.`):``}var nG=class extends k{constructor(e,t){super(),this._register(B(e,V.CLICK,n=>{n.stopPropagation(),n.preventDefault(),t(e)}))}},rG=class extends k{constructor(e,t,n){super(),this._register(B(e,V.KEY_DOWN,r=>{let i=new Hc(r);n.some(e=>i.equals(e))&&(r.stopPropagation(),r.preventDefault(),t(e))}))}};function iG(e){let t=sG(e);if(t&&t.length>0)return new Uint32Array(t)}var aG=0,oG=new Uint32Array(10);function sG(e){if(aG=0,cG(e,uG,4352),aG>0||(cG(e,dG,4449),aG>0)||(cG(e,fG,4520),aG>0)||(cG(e,pG,12593),aG))return oG.subarray(0,aG);if(e>=44032&&e<=55203){let t=e-44032,n=t%588,r=Math.floor(t/588),i=Math.floor(n/28),a=n%28-1;if(r<uG.length?cG(r,uG,0):4352+r-12593<pG.length&&cG(4352+r,pG,12593),i<dG.length?cG(i,dG,0):4449+i-12593<pG.length&&cG(4449+i-12593,pG,12593),a>=0&&(a<fG.length?cG(a,fG,0):4520+a-12593<pG.length&&cG(4520+a-12593,pG,12593)),aG>0)return oG.subarray(0,aG)}}function cG(e,t,n){e>=n&&e<n+t.length&&lG(t[e-n])}function lG(e){e!==0&&(oG[aG++]=e&255,e>>8&&(oG[aG++]=e>>8&255),e>>16&&(oG[aG++]=e>>16&255))}var uG=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),dG=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),fG=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),pG=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);new _h(1e4);var mG=new _h(1e4);function hG(e){return _G(e,`NFD`,mG)}var gG=/[^\u0000-\u0080]/;function _G(e,t,n){if(!e)return e;let r=n.get(e);if(r)return r;let i;return i=gG.test(e)?e.normalize(t):e,n.set(e,i),i}var vG=function(){let e=new _h(1e4),t=/[\u0300-\u036f]/g;return function(n){let r=e.get(n);if(r)return r;let i=hG(n).replace(t,``),a=(i.length===n.length?i:n).toLowerCase();return e.set(n,a),a}}(),yG;function bG(...e){return function(t,n){for(let r=0,i=e.length;r<i;r++){let i=e[r](t,n);if(i)return i}return null}}SG.bind(void 0,!1);var xG=SG.bind(void 0,!0);function SG(e,t,n){if(!n||n.length<t.length)return null;let r;return r=e?Ls(n,t):n.indexOf(t)===0,r?t.length>0?[{start:0,end:t.length}]:[]:null}function CG(e,t){if(e.length>t.length)return null;let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function wG(e,t){if(e.length>t.length)return null;e=vG(e),t=vG(t);let n=t.indexOf(e);return n===-1?null:[{start:n,end:n+e.length}]}function TG(e,t){return e.length>t.length?null:EG(e.toLowerCase(),t.toLowerCase(),0,0)}function EG(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]===t[r]){let i=null;return(i=EG(e,t,n+1,r+1))?LG({start:r,end:r+1},i):null}return EG(e,t,n,r+1)}function DG(e){return 97<=e&&e<=122}function OG(e){return 65<=e&&e<=90}function kG(e){return 48<=e&&e<=57}function AG(e){return e===32||e===9||e===10||e===13}var jG=new Set;`()[]{}<>\`'"-/;:,.?!`.split(``).forEach(e=>jG.add(e.charCodeAt(0)));function MG(e){return AG(e)||jG.has(e)}function NG(e,t){return e===t||MG(e)&&MG(t)}var PG=new Map;function FG(e){if(PG.has(e))return PG.get(e);let t,n=iG(e);return n&&(t=n),PG.set(e,t),t}function IG(e){return DG(e)||OG(e)||kG(e)}function LG(e,t){return t.length===0?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function RG(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(OG(t)||kG(t)||n>0&&!IG(e.charCodeAt(n-1)))return n}return e.length}function zG(e,t,n,r){if(n===e.length)return[];if(r===t.length||e[n]!==t[r].toLowerCase())return null;{let i=null,a=r+1;for(i=zG(e,t,n+1,r+1);!i&&(a=RG(t,a))<t.length;)i=zG(e,t,n+1,a),a++;return i===null?null:LG({start:r,end:r+1},i)}}function BG(e){let t=0,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++)a=e.charCodeAt(o),OG(a)&&t++,DG(a)&&n++,IG(a)&&r++,kG(a)&&i++;return{upperPercent:t/e.length,lowerPercent:n/e.length,alphaPercent:r/e.length,numericPercent:i/e.length}}function VG(e){let{upperPercent:t,lowerPercent:n}=e;return n===0&&t>.6}function HG(e){let{upperPercent:t,lowerPercent:n,alphaPercent:r,numericPercent:i}=e;return n>.2&&t<.8&&r>.6&&i<.2}function UG(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)r=e.charCodeAt(a),OG(r)&&t++,DG(r)&&n++,AG(r)&&i++;return(t===0||n===0)&&i===0?e.length<=30:t<=5}function WG(e,t){if(!t||(t=t.trim(),t.length===0)||!UG(e))return null;t.length>60&&(t=t.substring(0,60));let n=BG(t);if(!HG(n)){if(!VG(n))return null;t=t.toLowerCase()}let r=null,i=0;for(e=e.toLowerCase();i<t.length&&(r=zG(e,t,0,i))===null;)i=RG(t,i+1);return r}function GG(e,t,n=!1){if(!t||t.length===0)return null;let r=null,i=0;e=vG(e),t=vG(t);let a=new Map;for(;i<t.length&&(r=qG(e,t,0,i,n,a),r===null);)i=YG(t,i+1);return r}function KG(e){if(e===null)return null;let t=[];for(let n of e)t.push({start:n.start,end:n.end});return t}function qG(e,t,n,r,i,a){if(n===e.length)return[];if(r===t.length)return null;let o=n*(t.length+1)+r,s=a.get(o);if(s!==void 0)return KG(s);let c=JG(e,t,n,r,i,a);return a.set(o,KG(c)),c}function JG(e,t,n,r,i,a){let o=0;if(!NG(e.charCodeAt(n),t.charCodeAt(r))){let i=FG(e.charCodeAt(n));if(!i)return null;for(let e=0;e<i.length;e++)if(!NG(i[e],t.charCodeAt(r+e)))return null;o+=i.length-1}let s=null,c=r+o+1;if(s=qG(e,t,n+1,c,i,a),!i)for(;!s&&(c=YG(t,c))<t.length;)s=qG(e,t,n+1,c,i,a),c++;if(!s)return null;if(e.charCodeAt(n)!==t.charCodeAt(r)){let i=FG(e.charCodeAt(n));if(!i)return s;for(let e=0;e<i.length;e++)if(i[e]!==t.charCodeAt(r+e))return s}return LG({start:r,end:r+o+1},s)}function YG(e,t){for(let n=t;n<e.length;n++)if(MG(e.charCodeAt(n))||n>0&&MG(e.charCodeAt(n-1)))return n;return e.length}var XG=bG(xG,WG,CG),ZG=bG(xG,WG,TG),QG=new _h(1e4);function $G(e,t,n=!1){if(typeof e!=`string`||typeof t!=`string`)return null;let r=QG.get(e);r||(r=new RegExp(xs(e),`i`),QG.set(e,r));let i=r.exec(t);return i?[{start:i.index,end:i.index+i[0].length}]:n?ZG(e,t):XG(e,t)}function eK(e,t){let n=_K(e,e.toLowerCase(),0,t,t.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?nK(n):null}function tK(e,t,n,r,i,a){let o=Math.min(13,e.length);for(;n<o;n++){let o=_K(e,t,n,r,i,a,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(o)return o}return[0,a]}function nK(e){if(e===void 0)return[];let t=[],n=e[1];for(let r=e.length-1;r>1;r--){let i=e[r]+n,a=t[t.length-1];a&&a.end===i?a.end=i+1:t.push({start:i,end:i+1})}return t}var rK=128;function iK(){let e=[],t=[];for(let e=0;e<=rK;e++)t[e]=0;for(let n=0;n<=rK;n++)e.push(t.slice(0));return e}function aK(e){let t=[];for(let n=0;n<=e;n++)t[n]=0;return t}var oK=aK(256),sK=aK(256),cK=iK(),lK=iK(),uK=iK();function dK(e,t){if(t<0||t>=e.length)return!1;let n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!ac(n)}}function fK(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function pK(e,t,n){return t[e]!==n[e]}function mK(e,t,n,r,i,a,o=!1){for(;t<n&&i<a;)e[t]===r[i]&&(o&&(oK[t]=i),t+=1),i+=1;return t===n}var hK;(function(e){e.Default=[-100,0];function t(e){return!e||e.length===2&&e[0]===-100&&e[1]===0}e.isDefault=t})(hK||={});var gK=class{constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}};yG=gK,yG.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};function _K(e,t,n,r,i,a,o=gK.default){let s=e.length>rK?rK:e.length,c=r.length>rK?rK:r.length;if(n>=s||a>=c||s-n>c-a||!mK(t,n,s,i,a,c,!0))return;vK(s,c,n,a,t,i);let l=1,u=1,d=n,f=a,p=[!1];for(l=1,d=n;d<s;l++,d++){let o=oK[d],m=sK[d],h=d+1<s?sK[d+1]:c;for(u=o-a+1,f=o;f<h;u++,f++){let s=-(2**53-1),h=!1;f<=m&&(s=yK(e,t,d,n,r,i,f,c,a,cK[l-1][u-1]===0,p));let g=0;s!==-(2**53-1)&&(h=!0,g=s+lK[l-1][u-1]);let _=f>o,v=_?lK[l][u-1]+(cK[l][u-1]>0?-5:0):0,y=f>o+1&&cK[l][u-1]>0,b=y?lK[l][u-2]+(cK[l][u-2]>0?-5:0):0;if(y&&(!_||b>=v)&&(!h||b>=g))lK[l][u]=b,uK[l][u]=3,cK[l][u]=0;else if(_&&(!h||v>=g))lK[l][u]=v,uK[l][u]=2,cK[l][u]=0;else if(h)lK[l][u]=g,uK[l][u]=1,cK[l][u]=cK[l-1][u-1]+1;else throw Error(`not possible`)}}if(!p[0]&&!o.firstMatchCanBeWeak)return;l--,u--;let m=[lK[l][u],a],h=0,g=0;for(;l>=1;){let e=u;do{let t=uK[l][e];if(t===3)e-=2;else if(t===2)--e;else break}while(e>=1);h>1&&t[n+l-1]===i[a+u-1]&&!pK(e+a-1,r,i)&&h+1>cK[l][e]&&(e=u),e===u?h++:h=1,g||=e,l--,u=e-1,m.push(u)}c-a===s&&o.boostFullMatch&&(m[0]+=2);let _=g-s;return m[0]-=_,m}function vK(e,t,n,r,i,a){let o=e-1,s=t-1;for(;o>=n&&s>=r;)i[o]===a[s]&&(sK[o]=s,o--),s--}function yK(e,t,n,r,i,a,o,s,c,l,u){if(t[n]!==a[o])return-(2**53-1);let d=1,f=!1;return o===n-r?d=e[n]===i[o]?7:5:pK(o,i,a)&&(o===0||!pK(o-1,i,a))?(d=e[n]===i[o]?7:5,f=!0):dK(a,o)&&(o===0||!dK(a,o-1))?d=5:(dK(a,o-1)||fK(a,o-1))&&(d=5,f=!0),d>1&&n===r&&(u[0]=!0),f||=pK(o,i,a)||dK(a,o-1)||fK(a,o-1),n===r?o>c&&(d-=f?3:5):d+=l?f?2:0:+!f,o+1===s&&(d-=f?3:5),d}function bK(e,t,n,r,i,a,o){return xK(e,t,n,r,i,a,!0,o)}function xK(e,t,n,r,i,a,o,s){let c=_K(e,t,n,r,i,a,s);if(e.length>=3){let t=Math.min(7,e.length-1);for(let o=n+1;o<t;o++){let t=SK(e,o);if(t){let e=_K(t,t.toLowerCase(),n,r,i,a,s);e&&(e[0]-=3,(!c||e[0]>c[0])&&(c=e))}}}return c}function SK(e,t){if(t+1>=e.length)return;let n=e[t],r=e[t+1];if(n!==r)return e.slice(0,t)+r+n+e.slice(t+2)}var CK=`$(`,wK=RegExp(`\\$\\(${Gp.iconNameExpression}(?:${Gp.iconModifierExpression})?\\)`,`g`),TK=RegExp(`(\\\\)?${wK.source}`,`g`);function EK(e){return e.replace(TK,(e,t)=>t?e:`\\${e}`)}var DK=RegExp(`\\\\${wK.source}`,`g`);function OK(e){return e.replace(DK,e=>`\\${e}`)}var kK=RegExp(`(\\s)?(\\\\)?${wK.source}(\\s)?`,`g`);function AK(e){return e.indexOf(CK)===-1?e:e.replace(kK,(e,t,n,r)=>n?e:t||r||``)}function jK(e){return e?e.replace(/\$\((.*?)\)/g,(e,t)=>` ${t} `).trim():``}var MK=RegExp(`\\$\\(${Gp.iconNameCharacter}+\\)`,`g`);function NK(e){MK.lastIndex=0;let t=``,n=[],r=0;for(;;){let i=MK.lastIndex,a=MK.exec(e),o=e.substring(i,a?.index);if(o.length>0){t+=o;for(let e=0;e<o.length;e++)n.push(r)}if(!a)break;r+=a[0].length}return{text:t,iconOffsets:n}}function PK(e,t,n=!1){let{text:r,iconOffsets:i}=t;if(!i||i.length===0)return $G(e,r,n);let a=ys(r,` `),o=r.length-a.length,s=$G(e,a,n);if(s)for(let e of s){let t=i[e.start+o]+o;e.start+=t,e.end+=t}return s}var FK=class{constructor(e=``,t=!1){if(this.value=e,typeof this.value!=`string`)throw Ce(`value`);typeof t==`boolean`?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1,this.supportAlertSyntax=t.supportAlertSyntax??!1)}appendText(e,t=0){return this.value+=zK(this.supportThemeIcons?EK(e):e).replace(/([ \t]+)/g,(e,t)=>`&nbsp;`.repeat(t.length)).replace(/\>/gm,`\\>`).replace(/\n/g,t===1?`\\