@univerjs/uniscript 0.6.1 → 0.6.2

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.
package/lib/umd/index.js CHANGED
@@ -552,7 +552,7 @@ ${yU(ne.menuSubmenu)}
552
552
  .monaco-scrollable-element > .scrollbar > .slider.active {
553
553
  background: ${r};
554
554
  }
555
- `)}return t}class Nme{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=Pn();let i;const n=cn(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{var d;this.lastContainer=o;const r=e.getMenuClassName?e.getMenuClassName():"";r&&(o.className+=" "+r),this.options.blockMouse&&(this.block=o.appendChild(oe(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(d=this.blockDisposable)==null||d.dispose(),this.blockDisposable=z(this.block,se.MOUSE_DOWN,u=>u.stopPropagation()));const a=new q,l=e.actionRunner||new og;l.onWillRun(u=>this.onActionRun(u,!e.skipTelemetry),this,a),l.onDidRun(this.onDidActionRun,this,a),i=new l_(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:u=>this.keybindingService.lookupKeybinding(u.id)},Eme),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);const c=ke(o);return a.add(z(c,se.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(z(c,se.MOUSE_DOWN,u=>{if(u.defaultPrevented)return;const h=new aa(c,u);let g=h.target;if(!h.rightButton){for(;g;){if(g===o)return;g=g.parentElement}this.contextViewService.hideContextView(!0)}})),ra(a,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:o=>{var r,a,l;(r=e.onHide)==null||r.call(e,!!o),this.block&&(this.block.remove(),this.block=null),(a=this.blockDisposable)==null||a.dispose(),this.blockDisposable=null,this.lastContainer&&(Pn()===this.lastContainer||ln(Pn(),this.lastContainer))&&((l=this.focusToReturn)==null||l.focus()),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Tr(e.error)&&this.notificationService.error(e.error)}}var Rme=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},c_=function(s,e){return function(t,i){e(t,i,s)}};let P2=class extends F{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new Nme(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,o,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=o,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new P),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new P)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=O2.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)==null||i.call(e,t),this._onDidHideContextMenu.fire()}}),Gc.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};P2=Rme([c_(0,is),c_(1,Fi),c_(2,td),c_(3,xt),c_(4,ir),c_(5,Ne)],P2);var O2;(function(s){function e(i){return i&&i.menuId instanceof me}function t(i,n,o){if(!e(i))return i;const{menuId:r,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{const c=[];if(r){const d=n.getMenuActions(r,l!=null?l:o,a);Ime(d,c)}return i.getActions?dn.join(i.getActions(),c):c}}}s.transform=t})(O2||(O2={}));var _k;(function(s){s[s.API=0]="API",s[s.USER=1]="USER"})(_k||(_k={}));var F2=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},bk=function(s,e){return function(t,i){e(t,i,s)}};let B2=class{constructor(e){this._commandService=e}async open(e,t){if(!f0(e,He.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=xe.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=zP(decodeURIComponent(e.query))}catch{try{i=zP(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};B2=F2([bk(0,zt)],B2);let W2=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=xe.parse(e));const{selection:i,uri:n}=age(e);return e=n,e.scheme===He.file&&(e=zge(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?_k.USER:_k.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};W2=F2([bk(0,mt)],W2);let H2=class{constructor(e,t){this._openers=new Es,this._validators=new Es,this._resolvers=new Es,this._resolvedUriTargets=new mn(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new Es,this._defaultExternalOpener={openExternal:async i=>(LA(i,He.http,He.https)?pH(i):Ot.location.href=i,!0)},this._openers.push({open:async(i,n)=>n!=null&&n.openExternal||LA(i,He.mailto,He.http,He.https,He.vsls)?(await this._doOpenExternal(i,n),!0):!1}),this._openers.push(new B2(t)),this._openers.push(new W2(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var o;const i=typeof e=="string"?xe.parse(e):e,n=(o=this._resolvedUriTargets.get(i))!=null?o:e;for(const r of this._validators)if(!await r.shouldOpen(n,t))return!1;for(const r of this._openers)if(await r.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const n=await i.resolveExternalUri(e,t);if(n)return this._resolvedUriTargets.has(n.resolved)||this._resolvedUriTargets.set(n.resolved,e),n}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?xe.parse(e):e;let n;try{n=(await this.resolveExternalUri(i,t)).resolved}catch{n=i}let o;if(typeof e=="string"&&i.toString()===n.toString()?o=e:o=encodeURI(n.toString(!0)),t!=null&&t.allowContributedOpeners){const r=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const a of this._externalOpeners)if(await a.openExternal(o,{sourceUri:i,preferredOpenerId:r},Ue.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:i},Ue.None)}dispose(){this._validators.clear()}};H2=F2([bk(0,mt),bk(1,zt)],H2);const oo=it("editorWorkerService");var Ei;(function(s){s[s.Hint=1]="Hint",s[s.Info=2]="Info",s[s.Warning=4]="Warning",s[s.Error=8]="Error"})(Ei||(Ei={})),function(s){function e(r,a){return a-r}s.compare=e;const t=Object.create(null);t[s.Error]=p("sev.error","Error"),t[s.Warning]=p("sev.warning","Warning"),t[s.Info]=p("sev.info","Info");function i(r){return t[r]||""}s.toString=i;function n(r){switch(r){case Oi.Error:return s.Error;case Oi.Warning:return s.Warning;case Oi.Info:return s.Info;case Oi.Ignore:return s.Hint}}s.fromSeverity=n;function o(r){switch(r){case s.Error:return Oi.Error;case s.Warning:return Oi.Warning;case s.Info:return Oi.Info;case s.Hint:return Oi.Ignore}}s.toSeverity=o}(Ei||(Ei={}));var vk;(function(s){const e="";function t(n){return i(n,!0)}s.makeKey=t;function i(n,o){const r=[e];return n.source?r.push(n.source.replace("¦","\\¦")):r.push(e),n.code?typeof n.code=="string"?r.push(n.code.replace("¦","\\¦")):r.push(n.code.value.replace("¦","\\¦")):r.push(e),n.severity!==void 0&&n.severity!==null?r.push(Ei.toString(n.severity)):r.push(e),n.message&&o?r.push(n.message.replace("¦","\\¦")):r.push(e),n.startLineNumber!==void 0&&n.startLineNumber!==null?r.push(n.startLineNumber.toString()):r.push(e),n.startColumn!==void 0&&n.startColumn!==null?r.push(n.startColumn.toString()):r.push(e),n.endLineNumber!==void 0&&n.endLineNumber!==null?r.push(n.endLineNumber.toString()):r.push(e),n.endColumn!==void 0&&n.endColumn!==null?r.push(n.endColumn.toString()):r.push(e),r.push(e),r.join("¦")}s.makeKeyOptionalMessage=i})(vk||(vk={}));const Jl=it("markerService"),xU=D("editor.lineHighlightBackground",null,p("lineHighlight","Background color for the highlight of line at the cursor position.")),kU=D("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:dt},p("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));D("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},p("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),D("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:ii,hcLight:ii},p("rangeHighlightBorder","Background color of the border around highlighted ranges.")),D("editor.symbolHighlightBackground",{dark:ed,light:ed,hcDark:null,hcLight:null},p("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),D("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:ii,hcLight:ii},p("symbolHighlightBorder","Background color of the border around highlighted symbols."));const wk=D("editorCursor.foreground",{dark:"#AEAFAD",light:G.black,hcDark:G.white,hcLight:"#0F4A85"},p("caret","Color of the editor cursor.")),V2=D("editorCursor.background",null,p("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),LU=D("editorMultiCursor.primary.foreground",wk,p("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),Ame=D("editorMultiCursor.primary.background",V2,p("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),EU=D("editorMultiCursor.secondary.foreground",wk,p("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),Mme=D("editorMultiCursor.secondary.background",V2,p("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),$2=D("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},p("editorWhitespaces","Color of whitespace characters in the editor.")),Pme=D("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:G.white,hcLight:"#292929"},p("editorLineNumbers","Color of editor line numbers.")),Ome=D("editorIndentGuide.background",$2,p("editorIndentGuides","Color of the editor indentation guides."),!1,p("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),Fme=D("editorIndentGuide.activeBackground",$2,p("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,p("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),kC=D("editorIndentGuide.background1",Ome,p("editorIndentGuides1","Color of the editor indentation guides (1).")),Bme=D("editorIndentGuide.background2","#00000000",p("editorIndentGuides2","Color of the editor indentation guides (2).")),Wme=D("editorIndentGuide.background3","#00000000",p("editorIndentGuides3","Color of the editor indentation guides (3).")),Hme=D("editorIndentGuide.background4","#00000000",p("editorIndentGuides4","Color of the editor indentation guides (4).")),Vme=D("editorIndentGuide.background5","#00000000",p("editorIndentGuides5","Color of the editor indentation guides (5).")),$me=D("editorIndentGuide.background6","#00000000",p("editorIndentGuides6","Color of the editor indentation guides (6).")),LC=D("editorIndentGuide.activeBackground1",Fme,p("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),zme=D("editorIndentGuide.activeBackground2","#00000000",p("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),Ume=D("editorIndentGuide.activeBackground3","#00000000",p("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),jme=D("editorIndentGuide.activeBackground4","#00000000",p("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),qme=D("editorIndentGuide.activeBackground5","#00000000",p("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),Kme=D("editorIndentGuide.activeBackground6","#00000000",p("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),Gme=D("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:ii,hcLight:ii},p("editorActiveLineNumber","Color of editor active line number"),!1,p("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));D("editorLineNumber.activeForeground",Gme,p("editorActiveLineNumber","Color of editor active line number"));const Zme=D("editorLineNumber.dimmedForeground",null,p("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));D("editorRuler.foreground",{dark:"#5A5A5A",light:G.lightgrey,hcDark:G.white,hcLight:"#292929"},p("editorRuler","Color of the editor rulers.")),D("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},p("editorCodeLensForeground","Foreground color of editor CodeLens")),D("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},p("editorBracketMatchBackground","Background color behind matching brackets")),D("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:dt,hcLight:dt},p("editorBracketMatchBorder","Color for matching brackets boxes"));const Yme=D("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},p("editorOverviewRulerBorder","Color of the overview ruler border.")),Xme=D("editorOverviewRuler.background",null,p("editorOverviewRulerBackground","Background color of the editor overview ruler."));D("editorGutter.background",ma,p("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),D("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:G.fromHex("#fff").transparent(.8),hcLight:dt},p("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const Qme=D("editorUnnecessaryCode.opacity",{dark:G.fromHex("#000a"),light:G.fromHex("#0007"),hcDark:null,hcLight:null},p("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));D("editorGhostText.border",{dark:null,light:null,hcDark:G.fromHex("#fff").transparent(.8),hcLight:G.fromHex("#292929").transparent(.8)},p("editorGhostTextBorder","Border color of ghost text in the editor."));const Jme=D("editorGhostText.foreground",{dark:G.fromHex("#ffffff56"),light:G.fromHex("#0007"),hcDark:null,hcLight:null},p("editorGhostTextForeground","Foreground color of the ghost text in the editor."));D("editorGhostText.background",null,p("editorGhostTextBackground","Background color of the ghost text in the editor."));const e_e=new G(new ht(0,122,204,.6)),IU=D("editorOverviewRuler.rangeHighlightForeground",e_e,p("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),t_e=D("editorOverviewRuler.errorForeground",{dark:new G(new ht(255,18,18,.7)),light:new G(new ht(255,18,18,.7)),hcDark:new G(new ht(255,50,50,1)),hcLight:"#B5200D"},p("overviewRuleError","Overview ruler marker color for errors.")),i_e=D("editorOverviewRuler.warningForeground",{dark:Jc,light:Jc,hcDark:Vw,hcLight:Vw},p("overviewRuleWarning","Overview ruler marker color for warnings.")),n_e=D("editorOverviewRuler.infoForeground",{dark:jl,light:jl,hcDark:$w,hcLight:$w},p("overviewRuleInfo","Overview ruler marker color for infos.")),DU=D("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},p("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),TU=D("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},p("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),NU=D("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},p("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),RU=D("editorBracketHighlight.foreground4","#00000000",p("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),AU=D("editorBracketHighlight.foreground5","#00000000",p("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),MU=D("editorBracketHighlight.foreground6","#00000000",p("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),s_e=D("editorBracketHighlight.unexpectedBracket.foreground",{dark:new G(new ht(255,18,18,.8)),light:new G(new ht(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},p("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),o_e=D("editorBracketPairGuide.background1","#00000000",p("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),r_e=D("editorBracketPairGuide.background2","#00000000",p("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),a_e=D("editorBracketPairGuide.background3","#00000000",p("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),l_e=D("editorBracketPairGuide.background4","#00000000",p("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),c_e=D("editorBracketPairGuide.background5","#00000000",p("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),d_e=D("editorBracketPairGuide.background6","#00000000",p("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),u_e=D("editorBracketPairGuide.activeBackground1","#00000000",p("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),h_e=D("editorBracketPairGuide.activeBackground2","#00000000",p("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),g_e=D("editorBracketPairGuide.activeBackground3","#00000000",p("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),f_e=D("editorBracketPairGuide.activeBackground4","#00000000",p("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),p_e=D("editorBracketPairGuide.activeBackground5","#00000000",p("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),m_e=D("editorBracketPairGuide.activeBackground6","#00000000",p("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));D("editorUnicodeHighlight.border",Jc,p("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),D("editorUnicodeHighlight.background",mue,p("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),Hr((s,e)=>{const t=s.getColor(ma),i=s.getColor(xU),n=i&&!i.isTransparent()?i:t;n&&e.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)});function __e(s,e){const t=[],i=[];for(const n of s)e.has(n)||t.push(n);for(const n of e)s.has(n)||i.push(n);return{removed:t,added:i}}function b_e(s,e){const t=new Set;for(const i of e)s.has(i)&&t.add(i);return t}var v_e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},PU=function(s,e){return function(t,i){e(t,i,s)}};let z2=class extends F{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new P),this._markerDecorations=new mn,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new w_e(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var i;const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===He.inMemory||e.uri.scheme===He.internal||e.uri.scheme===He.vscode)&&((i=this._markerService)==null||i.read({resource:e.uri}).map(n=>n.owner).forEach(n=>this._markerService.remove(n,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};z2=v_e([PU(0,Kt),PU(1,Jl)],z2);class w_e extends F{constructor(e){super(),this.model=e,this._map=new yce,this._register(Se(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=__e(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const n=i.map(a=>this._map.get(a)),o=t.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),r=this.model.deltaDecorations(n,o);for(const a of i)this._map.delete(a);for(let a=0;a<r.length;a++)this._map.set(t[a],r[a]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let i=L.lift(t);if(t.severity===Ei.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(i=i.setEndPosition(i.startLineNumber,i.startColumn+2)),i=e.validateRange(i),i.isEmpty()){const n=e.getLineLastNonWhitespaceColumn(i.startLineNumber)||e.getLineMaxColumn(i.startLineNumber);if(n===1||i.endColumn>=n)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new L(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n<i.endColumn&&(i=new L(i.startLineNumber,n,i.endLineNumber,i.endColumn),t.startColumn=n)}return i}_createDecorationOption(e){let t,i,n,o,r;switch(e.severity){case Ei.Hint:this._hasMarkerTag(e,2)?t=void 0:this._hasMarkerTag(e,1)?t="squiggly-unnecessary":t="squiggly-hint",n=0;break;case Ei.Info:t="squiggly-info",i=Li(n_e),n=10,r={color:Li(Bue),position:1};break;case Ei.Warning:t="squiggly-warning",i=Li(i_e),n=20,r={color:Li(Wue),position:1};break;case Ei.Error:default:t="squiggly-error",i=Li(t_e),n=30,r={color:Li(Hue),position:1};break}return e.tags&&(e.tags.indexOf(1)!==-1&&(o="squiggly-inline-unnecessary"),e.tags.indexOf(2)!==-1&&(o="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:i,position:nr.Right},minimap:r,zIndex:n,inlineClassName:o}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}}const U2=it("markerDecorationsService");class en{static _nextVisibleColumn(e,t,i){return e===9?en.nextRenderTabStop(t,i):cu(e)||lA(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const n=Math.min(t-1,e.length),o=e.substring(0,n),r=new a0(o);let a=0;for(;!r.eol();){const l=r0(o,n,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(l,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const n=e.length,o=new a0(e);let r=0,a=1;for(;!o.eol();){const l=r0(e,n,o.offset);o.nextGraphemeLength();const c=this._nextVisibleColumn(l,r,i),d=o.offset+1;if(c>=t){const u=t-r;return c-t<u?d:a}r=c,a=d}return n+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function C_e(s,e,t){let i=0;for(let o=0;o<s.length;o++)s.charAt(o)===" "?i=en.nextIndentTabStop(i,e):i++;let n="";if(!t){const o=Math.floor(i/e);i=i%e;for(let r=0;r<o;r++)n+=" "}for(let o=0;o<i;o++)n+=" ";return n}function j2(s,e,t){let i=ps(s);return i===-1&&(i=s.length),C_e(s.substring(0,i),e,t)+s.substring(i)}class OU{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class S_e{constructor(e,t,i,n,o,r){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=r}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class y_e extends S_e{constructor(e,t,i,n,o,r,a){super(e,t,i,n,o,r),this.minVisibleColumnIndentation=a}}function x_e(s,e,t,i){return s!==t?ji(t-s,i):ji(0,i-e)}const Fs=0;function Ck(s){return s===0}const fr=2**26;function ji(s,e){return s*fr+e}function zr(s){const e=s,t=Math.floor(e/fr),i=e-t*fr;return new fa(t,i)}function k_e(s){return Math.floor(s/fr)}function A6e(s){return s}function Ii(s,e){let t=s+e;return e>=fr&&(t=t-s%fr),t}function L_e(s,e){return s.reduce((t,i)=>Ii(t,e(i)),Fs)}function FU(s,e){return s===e}function EC(s,e){const t=s,i=e;if(i-t<=0)return Fs;const o=Math.floor(t/fr),r=Math.floor(i/fr),a=i-r*fr;if(o===r){const l=t-o*fr;return ji(0,a-l)}else return ji(r-o,a)}function d_(s,e){return s<e}function u_(s,e){return s<=e}function IC(s,e){return s>=e}function h_(s){return ji(s.lineNumber-1,s.column-1)}function Pg(s,e){const t=s,i=Math.floor(t/fr),n=t-i*fr,o=e,r=Math.floor(o/fr),a=o-r*fr;return new L(i+1,n+1,r+1,a+1)}function E_e(s){const e=Al(s);return ji(e.length-1,e[e.length-1].length)}class od{static fromModelContentChanges(e){return e.map(i=>{const n=L.lift(i.range);return new od(h_(n.getStartPosition()),h_(n.getEndPosition()),E_e(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${zr(this.startOffset)}...${zr(this.endOffset)}) -> ${zr(this.newLength)}`}}class I_e{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>q2.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:EC(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?ji(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):ji(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=zr(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?ji(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):ji(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],i=this.translateOldToCur(t.endOffsetAfterObj);if(u_(i,e)){this.nextEditIdx++;const n=zr(i),o=zr(this.translateOldToCur(t.endOffsetBeforeObj)),r=n.lineCount-o.lineCount;this.deltaOldToNewLineCount+=r;const a=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,l=n.columnCount-o.columnCount;this.deltaOldToNewColumnCount=a+l,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}else break}}}class q2{static from(e){return new q2(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,i){this.endOffsetBeforeObj=zr(t),this.endOffsetAfterObj=zr(Ii(e,i)),this.offsetObj=zr(e)}}const Sk=[],Xr=class Xr{static create(e,t){if(e<=128&&t.length===0){let i=Xr.cache[e];return i||(i=new Xr(e,t),Xr.cache[e]=i),i}return new Xr(e,t)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const i=t.getKey(e);let n=i>>5;if(n===0){const r=1<<i|this.items;return r===this.items?this:Xr.create(r,this.additionalItems)}n--;const o=this.additionalItems.slice(0);for(;o.length<n;)o.push(0);return o[n]|=1<<(i&31),Xr.create(this.items,o)}merge(e){const t=this.items|e.items;if(this.additionalItems===Sk&&e.additionalItems===Sk)return t===this.items?this:t===e.items?e:Xr.create(t,Sk);const i=[];for(let n=0;n<Math.max(this.additionalItems.length,e.additionalItems.length);n++){const o=this.additionalItems[n]||0,r=e.additionalItems[n]||0;i.push(o|r)}return Xr.create(t,i)}intersects(e){if(this.items&e.items)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if(this.additionalItems[t]&e.additionalItems[t])return!0;return!1}};Xr.cache=new Array(129),Xr.empty=Xr.create(0,Sk);let Io=Xr;const BU={getKey(s){return s}};class WU{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return t===void 0&&(t=this.items.size,this.items.set(e,t)),t}}class K2{get length(){return this._length}constructor(e){this._length=e}}class DC extends K2{static create(e,t,i){let n=e.length;return t&&(n=Ii(n,t.length)),i&&(n=Ii(n,i.length)),new DC(n,e,t,i,t?t.missingOpeningBracketIds:Io.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,o){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=o}canBeReused(e){return!(this.closingBracket===null||e.intersects(this.missingOpeningBracketIds))}deepClone(){return new DC(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(Ii(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class ec extends K2{static create23(e,t,i,n=!1){let o=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=Ii(o,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");o=Ii(o,i.length),r=r.merge(i.missingOpeningBracketIds)}return n?new D_e(o,e.listHeight+1,e,t,i,r):new TC(o,e.listHeight+1,e,t,i,r)}static getEmpty(){return new T_e(Fs,0,[],Io.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(e===0)return;const t=this.getChild(e-1),i=t.kind===4?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const t=this.getChild(0),i=t.kind===4?t.toMutable():t;return t!==i&&this.setChild(0,i),i}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds)||this.childrenLength===0)return!1;let t=this;for(;t.kind===4;){const i=t.childrenLength;if(i===0)throw new Ct;t=t.getChild(i-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n<e;n++){const o=this.getChild(n);t=Ii(t,o.length),i=i.merge(o.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let i=Number.MAX_SAFE_INTEGER,n=e;for(let o=0;o<this.childrenLength;o++){const r=this.getChild(o);r&&(i=Math.min(i,r.computeMinIndentation(n,t)),n=Ii(n,r.length))}return this.cachedMinIndentation=i,i}}class TC extends ec{get childrenLength(){return this._item3!==null?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:this._item1=t;return;case 1:this._item2=t;return;case 2:this._item3=t;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,i,n,o,r){super(e,t,r),this._item1=i,this._item2=n,this._item3=o}deepClone(){return new TC(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class D_e extends TC{toMutable(){return new TC(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class yk extends ec{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,i,n){super(e,t,n),this._children=i}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new yk(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class T_e extends yk{toMutable(){return new yk(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const N_e=[];class G2 extends K2{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return N_e}deepClone(){return this}}class Og extends G2{get kind(){return 0}get missingOpeningBracketIds(){return Io.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const i=zr(e),n=(i.columnCount===0?i.lineCount:i.lineCount+1)+1,o=k_e(Ii(e,this.length))+1;let r=Number.MAX_SAFE_INTEGER;for(let a=n;a<=o;a++){const l=t.getLineFirstNonWhitespaceColumn(a),c=t.getLineContent(a);if(l===0)continue;const d=en.visibleColumnFromColumn(c,l,t.getOptions().tabSize);r=Math.min(r,d)}return r}}class xk extends G2{static create(e,t,i){return new xk(e,t,i)}get kind(){return 1}get missingOpeningBracketIds(){return Io.getEmpty()}constructor(e,t,i){super(e),this.bracketInfo=t,this.bracketIds=i}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class R_e extends G2{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}let Mu=class{constructor(e,t,i,n,o){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=o}};class HU{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new A_e(this.textModel,this.bracketTokens),this._offset=Fs,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return ji(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Ii(this._offset,e);const t=zr(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Ii(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class A_e{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const o=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=o.length,o}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,r=o.getCount();let a=null;if(this.lineTokenOffset<r){const l=o.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&l===o.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const c=to.getTokenType(l)===0,d=to.containsBalancedBrackets(l),u=o.getEndOffset(this.lineTokenOffset);if(d&&c&&this.lineCharOffset<u){const h=o.getLanguageId(this.lineTokenOffset),g=this.line.substring(this.lineCharOffset,u),f=this.bracketTokens.getSingleLanguageBracketTokens(h),m=f.regExpGlobal;if(m){m.lastIndex=0;const _=m.exec(g);_&&(a=f.getToken(_[0]),a&&(this.lineCharOffset+=_.index))}}if(i+=u-this.lineCharOffset,a)if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=a;break}else return this.lineCharOffset+=a.length,a;else this.lineTokenOffset++,this.lineCharOffset=u}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,i+=33,i>1e3))break;if(i>1500)break}const n=x_e(e,t,this.lineIdx,this.lineCharOffset);return new Mu(n,0,-1,Io.getEmpty(),new Og(n))}}class M_e{constructor(e,t){this.text=e,this._offset=Fs,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+`|
555
+ `)}return t}class Nme{constructor(e,t,i,n){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=Pn();let i;const n=cn(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:o=>{var d;this.lastContainer=o;const r=e.getMenuClassName?e.getMenuClassName():"";r&&(o.className+=" "+r),this.options.blockMouse&&(this.block=o.appendChild(oe(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(d=this.blockDisposable)==null||d.dispose(),this.blockDisposable=z(this.block,se.MOUSE_DOWN,u=>u.stopPropagation()));const a=new q,l=e.actionRunner||new og;l.onWillRun(u=>this.onActionRun(u,!e.skipTelemetry),this,a),l.onDidRun(this.onDidActionRun,this,a),i=new l_(o,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:l,getKeyBinding:e.getKeyBinding?e.getKeyBinding:u=>this.keybindingService.lookupKeybinding(u.id)},Eme),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,a),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,a);const c=ke(o);return a.add(z(c,se.BLUR,()=>this.contextViewService.hideContextView(!0))),a.add(z(c,se.MOUSE_DOWN,u=>{if(u.defaultPrevented)return;const h=new aa(c,u);let g=h.target;if(!h.rightButton){for(;g;){if(g===o)return;g=g.parentElement}this.contextViewService.hideContextView(!0)}})),ra(a,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:o=>{var r,a,l;(r=e.onHide)==null||r.call(e,!!o),this.block&&(this.block.remove(),this.block=null),(a=this.blockDisposable)==null||a.dispose(),this.blockDisposable=null,this.lastContainer&&(Pn()===this.lastContainer||ln(Pn(),this.lastContainer))&&((l=this.focusToReturn)==null||l.focus()),this.lastContainer=null}},n,!!n)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!Tr(e.error)&&this.notificationService.error(e.error)}}var Rme=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},c_=function(s,e){return function(t,i){e(t,i,s)}};let P2=class extends F{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new Nme(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,n,o,r){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=n,this.menuService=o,this.contextKeyService=r,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new P),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new P)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=O2.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)==null||i.call(e,t),this._onDidHideContextMenu.fire()}}),Gc.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};P2=Rme([c_(0,is),c_(1,Fi),c_(2,td),c_(3,xt),c_(4,ir),c_(5,Ne)],P2);var O2;(function(s){function e(i){return i&&i.menuId instanceof me}function t(i,n,o){if(!e(i))return i;const{menuId:r,menuActionOptions:a,contextKeyService:l}=i;return{...i,getActions:()=>{const c=[];if(r){const d=n.getMenuActions(r,l!=null?l:o,a);Ime(d,c)}return i.getActions?dn.join(i.getActions(),c):c}}}s.transform=t})(O2||(O2={}));var _k;(function(s){s[s.API=0]="API",s[s.USER=1]="USER"})(_k||(_k={}));var F2=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},bk=function(s,e){return function(t,i){e(t,i,s)}};let B2=class{constructor(e){this._commandService=e}async open(e,t){if(!f0(e,He.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=xe.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=zP(decodeURIComponent(e.query))}catch{try{i=zP(e.query)}catch{}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};B2=F2([bk(0,zt)],B2);let W2=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=xe.parse(e));const{selection:i,uri:n}=age(e);return e=n,e.scheme===He.file&&(e=zge(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?_k.USER:_k.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};W2=F2([bk(0,mt)],W2);let H2=class{constructor(e,t){this._openers=new Es,this._validators=new Es,this._resolvers=new Es,this._resolvedUriTargets=new mn(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new Es,this._defaultExternalOpener={openExternal:async i=>(LA(i,He.http,He.https)?pH(i):Ot.location.href=i,!0)},this._openers.push({open:async(i,n)=>n!=null&&n.openExternal||LA(i,He.mailto,He.http,He.https,He.vsls)?(await this._doOpenExternal(i,n),!0):!1}),this._openers.push(new B2(t)),this._openers.push(new W2(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var o;const i=typeof e=="string"?xe.parse(e):e,n=(o=this._resolvedUriTargets.get(i))!=null?o:e;for(const r of this._validators)if(!await r.shouldOpen(n,t))return!1;for(const r of this._openers)if(await r.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const n=await i.resolveExternalUri(e,t);if(n)return this._resolvedUriTargets.has(n.resolved)||this._resolvedUriTargets.set(n.resolved,e),n}catch{}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?xe.parse(e):e;let n;try{n=(await this.resolveExternalUri(i,t)).resolved}catch{n=i}let o;if(typeof e=="string"&&i.toString()===n.toString()?o=e:o=encodeURI(n.toString(!0)),t!=null&&t.allowContributedOpeners){const r=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const a of this._externalOpeners)if(await a.openExternal(o,{sourceUri:i,preferredOpenerId:r},Ue.None))return!0}return this._defaultExternalOpener.openExternal(o,{sourceUri:i},Ue.None)}dispose(){this._validators.clear()}};H2=F2([bk(0,mt),bk(1,zt)],H2);const oo=it("editorWorkerService");var Ei;(function(s){s[s.Hint=1]="Hint",s[s.Info=2]="Info",s[s.Warning=4]="Warning",s[s.Error=8]="Error"})(Ei||(Ei={})),function(s){function e(r,a){return a-r}s.compare=e;const t=Object.create(null);t[s.Error]=p("sev.error","Error"),t[s.Warning]=p("sev.warning","Warning"),t[s.Info]=p("sev.info","Info");function i(r){return t[r]||""}s.toString=i;function n(r){switch(r){case Oi.Error:return s.Error;case Oi.Warning:return s.Warning;case Oi.Info:return s.Info;case Oi.Ignore:return s.Hint}}s.fromSeverity=n;function o(r){switch(r){case s.Error:return Oi.Error;case s.Warning:return Oi.Warning;case s.Info:return Oi.Info;case s.Hint:return Oi.Ignore}}s.toSeverity=o}(Ei||(Ei={}));var vk;(function(s){const e="";function t(n){return i(n,!0)}s.makeKey=t;function i(n,o){const r=[e];return n.source?r.push(n.source.replace("¦","\\¦")):r.push(e),n.code?typeof n.code=="string"?r.push(n.code.replace("¦","\\¦")):r.push(n.code.value.replace("¦","\\¦")):r.push(e),n.severity!==void 0&&n.severity!==null?r.push(Ei.toString(n.severity)):r.push(e),n.message&&o?r.push(n.message.replace("¦","\\¦")):r.push(e),n.startLineNumber!==void 0&&n.startLineNumber!==null?r.push(n.startLineNumber.toString()):r.push(e),n.startColumn!==void 0&&n.startColumn!==null?r.push(n.startColumn.toString()):r.push(e),n.endLineNumber!==void 0&&n.endLineNumber!==null?r.push(n.endLineNumber.toString()):r.push(e),n.endColumn!==void 0&&n.endColumn!==null?r.push(n.endColumn.toString()):r.push(e),r.push(e),r.join("¦")}s.makeKeyOptionalMessage=i})(vk||(vk={}));const Jl=it("markerService"),xU=D("editor.lineHighlightBackground",null,p("lineHighlight","Background color for the highlight of line at the cursor position.")),kU=D("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:dt},p("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));D("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},p("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),D("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:ii,hcLight:ii},p("rangeHighlightBorder","Background color of the border around highlighted ranges.")),D("editor.symbolHighlightBackground",{dark:ed,light:ed,hcDark:null,hcLight:null},p("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),D("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:ii,hcLight:ii},p("symbolHighlightBorder","Background color of the border around highlighted symbols."));const wk=D("editorCursor.foreground",{dark:"#AEAFAD",light:G.black,hcDark:G.white,hcLight:"#0F4A85"},p("caret","Color of the editor cursor.")),V2=D("editorCursor.background",null,p("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),LU=D("editorMultiCursor.primary.foreground",wk,p("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),Ame=D("editorMultiCursor.primary.background",V2,p("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),EU=D("editorMultiCursor.secondary.foreground",wk,p("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),Mme=D("editorMultiCursor.secondary.background",V2,p("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),$2=D("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},p("editorWhitespaces","Color of whitespace characters in the editor.")),Pme=D("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:G.white,hcLight:"#292929"},p("editorLineNumbers","Color of editor line numbers.")),Ome=D("editorIndentGuide.background",$2,p("editorIndentGuides","Color of the editor indentation guides."),!1,p("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),Fme=D("editorIndentGuide.activeBackground",$2,p("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,p("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),kC=D("editorIndentGuide.background1",Ome,p("editorIndentGuides1","Color of the editor indentation guides (1).")),Bme=D("editorIndentGuide.background2","#00000000",p("editorIndentGuides2","Color of the editor indentation guides (2).")),Wme=D("editorIndentGuide.background3","#00000000",p("editorIndentGuides3","Color of the editor indentation guides (3).")),Hme=D("editorIndentGuide.background4","#00000000",p("editorIndentGuides4","Color of the editor indentation guides (4).")),Vme=D("editorIndentGuide.background5","#00000000",p("editorIndentGuides5","Color of the editor indentation guides (5).")),$me=D("editorIndentGuide.background6","#00000000",p("editorIndentGuides6","Color of the editor indentation guides (6).")),LC=D("editorIndentGuide.activeBackground1",Fme,p("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),zme=D("editorIndentGuide.activeBackground2","#00000000",p("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),Ume=D("editorIndentGuide.activeBackground3","#00000000",p("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),jme=D("editorIndentGuide.activeBackground4","#00000000",p("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),qme=D("editorIndentGuide.activeBackground5","#00000000",p("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),Kme=D("editorIndentGuide.activeBackground6","#00000000",p("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),Gme=D("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:ii,hcLight:ii},p("editorActiveLineNumber","Color of editor active line number"),!1,p("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));D("editorLineNumber.activeForeground",Gme,p("editorActiveLineNumber","Color of editor active line number"));const Zme=D("editorLineNumber.dimmedForeground",null,p("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));D("editorRuler.foreground",{dark:"#5A5A5A",light:G.lightgrey,hcDark:G.white,hcLight:"#292929"},p("editorRuler","Color of the editor rulers.")),D("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},p("editorCodeLensForeground","Foreground color of editor CodeLens")),D("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},p("editorBracketMatchBackground","Background color behind matching brackets")),D("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:dt,hcLight:dt},p("editorBracketMatchBorder","Color for matching brackets boxes"));const Yme=D("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},p("editorOverviewRulerBorder","Color of the overview ruler border.")),Xme=D("editorOverviewRuler.background",null,p("editorOverviewRulerBackground","Background color of the editor overview ruler."));D("editorGutter.background",ma,p("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),D("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:G.fromHex("#fff").transparent(.8),hcLight:dt},p("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const Qme=D("editorUnnecessaryCode.opacity",{dark:G.fromHex("#000a"),light:G.fromHex("#0007"),hcDark:null,hcLight:null},p("unnecessaryCodeOpacity",`Opacity of unnecessary (unused) source code in the editor. For example, "#000000c0" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out.`));D("editorGhostText.border",{dark:null,light:null,hcDark:G.fromHex("#fff").transparent(.8),hcLight:G.fromHex("#292929").transparent(.8)},p("editorGhostTextBorder","Border color of ghost text in the editor."));const Jme=D("editorGhostText.foreground",{dark:G.fromHex("#ffffff56"),light:G.fromHex("#0007"),hcDark:null,hcLight:null},p("editorGhostTextForeground","Foreground color of the ghost text in the editor."));D("editorGhostText.background",null,p("editorGhostTextBackground","Background color of the ghost text in the editor."));const e_e=new G(new ht(0,122,204,.6)),IU=D("editorOverviewRuler.rangeHighlightForeground",e_e,p("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),t_e=D("editorOverviewRuler.errorForeground",{dark:new G(new ht(255,18,18,.7)),light:new G(new ht(255,18,18,.7)),hcDark:new G(new ht(255,50,50,1)),hcLight:"#B5200D"},p("overviewRuleError","Overview ruler marker color for errors.")),i_e=D("editorOverviewRuler.warningForeground",{dark:Jc,light:Jc,hcDark:Vw,hcLight:Vw},p("overviewRuleWarning","Overview ruler marker color for warnings.")),n_e=D("editorOverviewRuler.infoForeground",{dark:jl,light:jl,hcDark:$w,hcLight:$w},p("overviewRuleInfo","Overview ruler marker color for infos.")),DU=D("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},p("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),TU=D("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},p("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),NU=D("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},p("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),RU=D("editorBracketHighlight.foreground4","#00000000",p("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),AU=D("editorBracketHighlight.foreground5","#00000000",p("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),MU=D("editorBracketHighlight.foreground6","#00000000",p("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),s_e=D("editorBracketHighlight.unexpectedBracket.foreground",{dark:new G(new ht(255,18,18,.8)),light:new G(new ht(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},p("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),o_e=D("editorBracketPairGuide.background1","#00000000",p("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),r_e=D("editorBracketPairGuide.background2","#00000000",p("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),a_e=D("editorBracketPairGuide.background3","#00000000",p("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),l_e=D("editorBracketPairGuide.background4","#00000000",p("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),c_e=D("editorBracketPairGuide.background5","#00000000",p("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),d_e=D("editorBracketPairGuide.background6","#00000000",p("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),u_e=D("editorBracketPairGuide.activeBackground1","#00000000",p("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),h_e=D("editorBracketPairGuide.activeBackground2","#00000000",p("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),g_e=D("editorBracketPairGuide.activeBackground3","#00000000",p("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),f_e=D("editorBracketPairGuide.activeBackground4","#00000000",p("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),p_e=D("editorBracketPairGuide.activeBackground5","#00000000",p("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),m_e=D("editorBracketPairGuide.activeBackground6","#00000000",p("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));D("editorUnicodeHighlight.border",Jc,p("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),D("editorUnicodeHighlight.background",mue,p("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),Hr((s,e)=>{const t=s.getColor(ma),i=s.getColor(xU),n=i&&!i.isTransparent()?i:t;n&&e.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)});function __e(s,e){const t=[],i=[];for(const n of s)e.has(n)||t.push(n);for(const n of e)s.has(n)||i.push(n);return{removed:t,added:i}}function b_e(s,e){const t=new Set;for(const i of e)s.has(i)&&t.add(i);return t}var v_e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},PU=function(s,e){return function(t,i){e(t,i,s)}};let z2=class extends F{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new P),this._markerDecorations=new mn,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new w_e(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var i;const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===He.inMemory||e.uri.scheme===He.internal||e.uri.scheme===He.vscode)&&((i=this._markerService)==null||i.read({resource:e.uri}).map(n=>n.owner).forEach(n=>this._markerService.remove(n,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};z2=v_e([PU(0,Kt),PU(1,Jl)],z2);class w_e extends F{constructor(e){super(),this.model=e,this._map=new yce,this._register(Se(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=__e(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const n=i.map(a=>this._map.get(a)),o=t.map(a=>({range:this._createDecorationRange(this.model,a),options:this._createDecorationOption(a)})),r=this.model.deltaDecorations(n,o);for(const a of i)this._map.delete(a);for(let a=0;a<r.length;a++)this._map.set(t[a],r[a]);return!0}getMarker(e){return this._map.getKey(e.id)}_createDecorationRange(e,t){let i=L.lift(t);if(t.severity===Ei.Hint&&!this._hasMarkerTag(t,1)&&!this._hasMarkerTag(t,2)&&(i=i.setEndPosition(i.startLineNumber,i.startColumn+2)),i=e.validateRange(i),i.isEmpty()){const n=e.getLineLastNonWhitespaceColumn(i.startLineNumber)||e.getLineMaxColumn(i.startLineNumber);if(n===1||i.endColumn>=n)return i;const o=e.getWordAtPosition(i.getStartPosition());o&&(i=new L(i.startLineNumber,o.startColumn,i.endLineNumber,o.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n<i.endColumn&&(i=new L(i.startLineNumber,n,i.endLineNumber,i.endColumn),t.startColumn=n)}return i}_createDecorationOption(e){let t,i,n,o,r;switch(e.severity){case Ei.Hint:this._hasMarkerTag(e,2)?t=void 0:this._hasMarkerTag(e,1)?t="squiggly-unnecessary":t="squiggly-hint",n=0;break;case Ei.Info:t="squiggly-info",i=Li(n_e),n=10,r={color:Li(Bue),position:1};break;case Ei.Warning:t="squiggly-warning",i=Li(i_e),n=20,r={color:Li(Wue),position:1};break;case Ei.Error:default:t="squiggly-error",i=Li(t_e),n=30,r={color:Li(Hue),position:1};break}return e.tags&&(e.tags.indexOf(1)!==-1&&(o="squiggly-inline-unnecessary"),e.tags.indexOf(2)!==-1&&(o="squiggly-inline-deprecated")),{description:"marker-decoration",stickiness:1,className:t,showIfCollapsed:!0,overviewRuler:{color:i,position:nr.Right},minimap:r,zIndex:n,inlineClassName:o}}_hasMarkerTag(e,t){return e.tags?e.tags.indexOf(t)>=0:!1}}const U2=it("markerDecorationsService");class en{static _nextVisibleColumn(e,t,i){return e===9?en.nextRenderTabStop(t,i):cu(e)||lA(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const n=Math.min(t-1,e.length),o=e.substring(0,n),r=new a0(o);let a=0;for(;!r.eol();){const l=r0(o,n,r.offset);r.nextGraphemeLength(),a=this._nextVisibleColumn(l,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const n=e.length,o=new a0(e);let r=0,a=1;for(;!o.eol();){const l=r0(e,n,o.offset);o.nextGraphemeLength();const c=this._nextVisibleColumn(l,r,i),d=o.offset+1;if(c>=t){const u=t-r;return c-t<u?d:a}r=c,a=d}return n+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}function C_e(s,e,t){let i=0;for(let o=0;o<s.length;o++)s.charAt(o)===" "?i=en.nextIndentTabStop(i,e):i++;let n="";if(!t){const o=Math.floor(i/e);i=i%e;for(let r=0;r<o;r++)n+=" "}for(let o=0;o<i;o++)n+=" ";return n}function j2(s,e,t){let i=ps(s);return i===-1&&(i=s.length),C_e(s.substring(0,i),e,t)+s.substring(i)}class OU{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class S_e{constructor(e,t,i,n,o,r){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=o,this.bracketPairNode=r}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class y_e extends S_e{constructor(e,t,i,n,o,r,a){super(e,t,i,n,o,r),this.minVisibleColumnIndentation=a}}function x_e(s,e,t,i){return s!==t?ji(t-s,i):ji(0,i-e)}const Fs=0;function Ck(s){return s===0}const fr=2**26;function ji(s,e){return s*fr+e}function zr(s){const e=s,t=Math.floor(e/fr),i=e-t*fr;return new fa(t,i)}function k_e(s){return Math.floor(s/fr)}function A6e(s){return s}function Ii(s,e){let t=s+e;return e>=fr&&(t=t-s%fr),t}function L_e(s,e){return s.reduce((t,i)=>Ii(t,e(i)),Fs)}function FU(s,e){return s===e}function EC(s,e){const t=s,i=e;if(i-t<=0)return Fs;const o=Math.floor(t/fr),r=Math.floor(i/fr),a=i-r*fr;if(o===r){const l=t-o*fr;return ji(0,a-l)}else return ji(r-o,a)}function d_(s,e){return s<e}function u_(s,e){return s<=e}function IC(s,e){return s>=e}function h_(s){return ji(s.lineNumber-1,s.column-1)}function Pg(s,e){const t=s,i=Math.floor(t/fr),n=t-i*fr,o=e,r=Math.floor(o/fr),a=o-r*fr;return new L(i+1,n+1,r+1,a+1)}function E_e(s){const e=Al(s);return ji(e.length-1,e[e.length-1].length)}class od{static fromModelContentChanges(e){return e.map(i=>{const n=L.lift(i.range);return new od(h_(n.getStartPosition()),h_(n.getEndPosition()),E_e(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${zr(this.startOffset)}...${zr(this.endOffset)}) -> ${zr(this.newLength)}`}}class I_e{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>q2.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:EC(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?ji(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):ji(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=zr(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?ji(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):ji(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){const t=this.edits[this.nextEditIdx],i=this.translateOldToCur(t.endOffsetAfterObj);if(u_(i,e)){this.nextEditIdx++;const n=zr(i),o=zr(this.translateOldToCur(t.endOffsetBeforeObj)),r=n.lineCount-o.lineCount;this.deltaOldToNewLineCount+=r;const a=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,l=n.columnCount-o.columnCount;this.deltaOldToNewColumnCount=a+l,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}else break}}}class q2{static from(e){return new q2(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,i){this.endOffsetBeforeObj=zr(t),this.endOffsetAfterObj=zr(Ii(e,i)),this.offsetObj=zr(e)}}const Sk=[],Xr=class Xr{static create(e,t){if(e<=128&&t.length===0){let i=Xr.cache[e];return i||(i=new Xr(e,t),Xr.cache[e]=i),i}return new Xr(e,t)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){const i=t.getKey(e);let n=i>>5;if(n===0){const r=1<<i|this.items;return r===this.items?this:Xr.create(r,this.additionalItems)}n--;const o=this.additionalItems.slice(0);for(;o.length<n;)o.push(0);return o[n]|=1<<(i&31),Xr.create(this.items,o)}merge(e){const t=this.items|e.items;if(this.additionalItems===Sk&&e.additionalItems===Sk)return t===this.items?this:t===e.items?e:Xr.create(t,Sk);const i=[];for(let n=0;n<Math.max(this.additionalItems.length,e.additionalItems.length);n++){const o=this.additionalItems[n]||0,r=e.additionalItems[n]||0;i.push(o|r)}return Xr.create(t,i)}intersects(e){if((this.items&e.items)!==0)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if((this.additionalItems[t]&e.additionalItems[t])!==0)return!0;return!1}};Xr.cache=new Array(129),Xr.empty=Xr.create(0,Sk);let Io=Xr;const BU={getKey(s){return s}};class WU{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return t===void 0&&(t=this.items.size,this.items.set(e,t)),t}}class K2{get length(){return this._length}constructor(e){this._length=e}}class DC extends K2{static create(e,t,i){let n=e.length;return t&&(n=Ii(n,t.length)),i&&(n=Ii(n,i.length)),new DC(n,e,t,i,t?t.missingOpeningBracketIds:Io.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,o){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=o}canBeReused(e){return!(this.closingBracket===null||e.intersects(this.missingOpeningBracketIds))}deepClone(){return new DC(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation(Ii(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class ec extends K2{static create23(e,t,i,n=!1){let o=e.length,r=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw new Error("Invalid list heights");if(o=Ii(o,t.length),r=r.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw new Error("Invalid list heights");o=Ii(o,i.length),r=r.merge(i.missingOpeningBracketIds)}return n?new D_e(o,e.listHeight+1,e,t,i,r):new TC(o,e.listHeight+1,e,t,i,r)}static getEmpty(){return new T_e(Fs,0,[],Io.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const e=this.childrenLength;if(e===0)return;const t=this.getChild(e-1),i=t.kind===4?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){if(this.throwIfImmutable(),this.childrenLength===0)return;const t=this.getChild(0),i=t.kind===4?t.toMutable():t;return t!==i&&this.setChild(0,i),i}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds)||this.childrenLength===0)return!1;let t=this;for(;t.kind===4;){const i=t.childrenLength;if(i===0)throw new Ct;t=t.getChild(i-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();const e=this.childrenLength;let t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n<e;n++){const o=this.getChild(n);t=Ii(t,o.length),i=i.merge(o.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(this.cachedMinIndentation!==-1)return this.cachedMinIndentation;let i=Number.MAX_SAFE_INTEGER,n=e;for(let o=0;o<this.childrenLength;o++){const r=this.getChild(o);r&&(i=Math.min(i,r.computeMinIndentation(n,t)),n=Ii(n,r.length))}return this.cachedMinIndentation=i,i}}class TC extends ec{get childrenLength(){return this._item3!==null?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw new Error("Invalid child index")}setChild(e,t){switch(e){case 0:this._item1=t;return;case 1:this._item2=t;return;case 2:this._item3=t;return}throw new Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,i,n,o,r){super(e,t,r),this._item1=i,this._item2=n,this._item3=o}deepClone(){return new TC(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw new Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw new Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw new Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();const e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class D_e extends TC{toMutable(){return new TC(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}class yk extends ec{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,i,n){super(e,t,n),this._children=i}deepClone(){const e=new Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new yk(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();const e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();const e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class T_e extends yk{toMutable(){return new yk(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw new Error("this instance is immutable")}}const N_e=[];class G2 extends K2{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return N_e}deepClone(){return this}}class Og extends G2{get kind(){return 0}get missingOpeningBracketIds(){return Io.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){const i=zr(e),n=(i.columnCount===0?i.lineCount:i.lineCount+1)+1,o=k_e(Ii(e,this.length))+1;let r=Number.MAX_SAFE_INTEGER;for(let a=n;a<=o;a++){const l=t.getLineFirstNonWhitespaceColumn(a),c=t.getLineContent(a);if(l===0)continue;const d=en.visibleColumnFromColumn(c,l,t.getOptions().tabSize);r=Math.min(r,d)}return r}}class xk extends G2{static create(e,t,i){return new xk(e,t,i)}get kind(){return 1}get missingOpeningBracketIds(){return Io.getEmpty()}constructor(e,t,i){super(e),this.bracketInfo=t,this.bracketIds=i}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class R_e extends G2{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}let Mu=class{constructor(e,t,i,n,o){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=o}};class HU{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new A_e(this.textModel,this.bracketTokens),this._offset=Fs,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return ji(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=Ii(this._offset,e);const t=zr(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=Ii(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class A_e{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,this.line!==null&&(this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){const o=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=o.length,o}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const o=this.lineTokens,r=o.getCount();let a=null;if(this.lineTokenOffset<r){const l=o.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<r&&l===o.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;const c=to.getTokenType(l)===0,d=to.containsBalancedBrackets(l),u=o.getEndOffset(this.lineTokenOffset);if(d&&c&&this.lineCharOffset<u){const h=o.getLanguageId(this.lineTokenOffset),g=this.line.substring(this.lineCharOffset,u),f=this.bracketTokens.getSingleLanguageBracketTokens(h),m=f.regExpGlobal;if(m){m.lastIndex=0;const _=m.exec(g);_&&(a=f.getToken(_[0]),a&&(this.lineCharOffset+=_.index))}}if(i+=u-this.lineCharOffset,a)if(e!==this.lineIdx||t!==this.lineCharOffset){this.peekedToken=a;break}else return this.lineCharOffset+=a.length,a;else this.lineTokenOffset++,this.lineCharOffset=u}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,i+=33,i>1e3))break;if(i>1500)break}const n=x_e(e,t,this.lineIdx,this.lineCharOffset);return new Mu(n,0,-1,Io.getEmpty(),new Og(n))}}class M_e{constructor(e,t){this.text=e,this._offset=Fs,this.idx=0;const i=t.getRegExpStr(),n=i?new RegExp(i+`|
556
556
  `,"gi"):null,o=[];let r,a=0,l=0,c=0,d=0;const u=[];for(let f=0;f<60;f++)u.push(new Mu(ji(0,f),0,-1,Io.getEmpty(),new Og(ji(0,f))));const h=[];for(let f=0;f<60;f++)h.push(new Mu(ji(1,f),0,-1,Io.getEmpty(),new Og(ji(1,f))));if(n)for(n.lastIndex=0;(r=n.exec(e))!==null;){const f=r.index,m=r[0];if(m===`
557
557
  `)a++,l=f+1;else{if(c!==f){let _;if(d===a){const b=f-c;if(b<u.length)_=u[b];else{const v=ji(0,b);_=new Mu(v,0,-1,Io.getEmpty(),new Og(v))}}else{const b=a-d,v=f-l;if(b===1&&v<h.length)_=h[v];else{const w=ji(b,v);_=new Mu(w,0,-1,Io.getEmpty(),new Og(w))}}o.push(_)}o.push(t.getToken(m)),c=f+m.length,d=a}}const g=e.length;if(c!==g){const f=d===a?ji(0,g-c):ji(a-d,g-l);o.push(new Mu(f,0,-1,Io.getEmpty(),new Og(f)))}this.length=ji(a,g-l),this.tokens=o}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new boe}}class Z2{static createFromLanguage(e,t){function i(o){return t.getKey(`${o.languageId}:::${o.bracketText}`)}const n=new Map;for(const o of e.bracketsNew.openingBrackets){const r=ji(0,o.bracketText.length),a=i(o),l=Io.getEmpty().add(a,BU);n.set(o.bracketText,new Mu(r,1,a,l,xk.create(r,o,l)))}for(const o of e.bracketsNew.closingBrackets){const r=ji(0,o.bracketText.length);let a=Io.getEmpty();const l=o.getOpeningBrackets();for(const c of l)a=a.add(i(c),BU);n.set(o.bracketText,new Mu(r,2,i(l[0]),a,xk.create(r,o,a)))}return new Z2(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;{const e=[...this.map.keys()];return e.sort(),e.reverse(),e.map(t=>P_e(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function P_e(s){let e=Jo(s);return/^[\w ]+/.test(s)&&(e=`\\b${e}`),/[\w ]+$/.test(s)&&(e=`${e}\\b`),e}class VU{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=Z2.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function O_e(s){if(s.length===0)return null;if(s.length===1)return s[0];let e=0;function t(){if(e>=s.length)return null;const r=e,a=s[r].listHeight;for(e++;e<s.length&&s[e].listHeight===a;)e++;return e-r>=2?$U(r===0&&e===s.length?s:s.slice(r,e),!1):s[r]}let i=t(),n=t();if(!n)return i;for(let r=t();r;r=t())zU(i,n)<=zU(n,r)?(i=Y2(i,n),n=r):n=Y2(n,r);return Y2(i,n)}function $U(s,e=!1){if(s.length===0)return null;if(s.length===1)return s[0];let t=s.length;for(;t>3;){const i=t>>1;for(let n=0;n<i;n++){const o=n<<1;s[n]=ec.create23(s[o],s[o+1],o+3===t?s[o+2]:null,e)}t=i}return ec.create23(s[0],s[1],t>=3?s[2]:null,e)}function zU(s,e){return Math.abs(s.listHeight-e.listHeight)}function Y2(s,e){return s.listHeight===e.listHeight?ec.create23(s,e,null,!1):s.listHeight>e.listHeight?F_e(s,e):B_e(e,s)}function F_e(s,e){s=s.toMutable();let t=s;const i=[];let n;for(;;){if(e.listHeight===t.listHeight){n=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let o=i.length-1;o>=0;o--){const r=i[o];n?r.childrenLength>=3?n=ec.create23(r.unappendChild(),n,null,!1):(r.appendChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?ec.create23(s,n,null,!1):s}function B_e(s,e){s=s.toMutable();let t=s;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let n=e;for(let o=i.length-1;o>=0;o--){const r=i[o];n?r.childrenLength>=3?n=ec.create23(n,r.unprependChild(),null,!1):(r.prependChildOfSameHeight(n),n=void 0):r.handleChildrenChanged()}return n?ec.create23(n,s,null,!1):s}class W_e{constructor(e){this.lastOffset=Fs,this.nextNodes=[e],this.offsets=[Fs],this.idxs=[]}readLongestNodeAt(e,t){if(d_(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=NC(this.nextNodes);if(!i)return;const n=NC(this.offsets);if(d_(e,n))return;if(d_(n,e))if(Ii(n,i.length)<=e)this.nextNodeAfterCurrent();else{const o=X2(i);o!==-1?(this.nextNodes.push(i.getChild(o)),this.offsets.push(n),this.idxs.push(o)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const o=X2(i);if(o===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(o)),this.offsets.push(n),this.idxs.push(o)}}}}nextNodeAfterCurrent(){for(;;){const e=NC(this.offsets),t=NC(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=NC(this.nextNodes),n=X2(i,this.idxs[this.idxs.length-1]);if(n!==-1){this.nextNodes.push(i.getChild(n)),this.offsets.push(Ii(e,t.length)),this.idxs[this.idxs.length-1]=n;break}else this.idxs.pop()}}}function X2(s,e=-1){for(;;){if(e++,e>=s.childrenLength)return-1;if(s.getChild(e))return e}}function NC(s){return s.length>0?s[s.length-1]:void 0}function Q2(s,e,t,i){return new H_e(s,e,t,i).parseDocument()}class H_e{constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw new Error("Not supported");this.oldNodeReader=i?new W_e(i):void 0,this.positionMapper=new I_e(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(Io.getEmpty(),0);return e||(e=ec.getEmpty()),e}parseList(e,t){const i=[];for(;;){let o=this.tryReadChildFromCache(e);if(!o){const r=this.tokenizer.peek();if(!r||r.kind===2&&r.bracketIds.intersects(e))break;o=this.parseChild(e,t+1)}o.kind===4&&o.childrenLength===0||i.push(o)}return this.oldNodeReader?O_e(i):$U(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!Ck(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),n=>t!==null&&!d_(n.length,t)?!1:n.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new R_e(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new Og(i.length);const n=e.merge(i.bracketIds),o=this.parseList(n,t+1),r=this.tokenizer.peek();return r&&r.kind===2&&(r.bracketId===i.bracketId||r.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),DC.create(i.astNode,o,r.astNode)):DC.create(i.astNode,o,null)}default:throw new Error("unexpected")}}}function kk(s,e){if(s.length===0)return e;if(e.length===0)return s;const t=new Oc(UU(s)),i=UU(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=t.dequeue();function o(c){if(c===void 0){const u=t.takeWhile(h=>!0)||[];return n&&u.unshift(n),u}const d=[];for(;n&&!Ck(c);){const[u,h]=n.splitAt(c);d.push(u),c=EC(u.lengthAfter,c),n=h!=null?h:t.dequeue()}return Ck(c)||d.push(new Pu(!1,c,c)),d}const r=[];function a(c,d,u){if(r.length>0&&FU(r[r.length-1].endOffset,c)){const h=r[r.length-1];r[r.length-1]=new od(h.startOffset,d,Ii(h.newLength,u))}else r.push({startOffset:c,endOffset:d,newLength:u})}let l=Fs;for(const c of i){const d=o(c.lengthBefore);if(c.modified){const u=L_e(d,g=>g.lengthBefore),h=Ii(l,u);a(l,h,c.lengthAfter),l=h}else for(const u of d){const h=l;l=Ii(l,u.lengthBefore),u.modified&&a(h,l,u.lengthAfter)}}return r}class Pu{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=EC(e,this.lengthAfter);return FU(t,Fs)?[this,void 0]:this.modified?[new Pu(this.modified,this.lengthBefore,e),new Pu(this.modified,Fs,t)]:[new Pu(this.modified,e,e),new Pu(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${zr(this.lengthBefore)} -> ${zr(this.lengthAfter)}`}}function UU(s){const e=[];let t=Fs;for(const i of s){const n=EC(t,i.startOffset);Ck(n)||e.push(new Pu(!1,n,n));const o=EC(i.startOffset,i.endOffset);e.push(new Pu(!0,o,i.newLength)),t=i.endOffset}return e}class V_e extends F{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new P,this.denseKeyProvider=new WU,this.brackets=new VU(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),n=new M_e(this.textModel.getValue(),i);this.initialAstWithoutTokens=Q2(n,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new od(ji(i.fromLineNumber-1,0),ji(i.toLineNumber,0),ji(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=od.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=kk(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=kk(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const n=t,o=new HU(this.textModel,this.brackets);return Q2(o,e,n,i)}getBracketsInRange(e,t){this.flushQueue();const i=ji(e.startLineNumber-1,e.startColumn-1),n=ji(e.endLineNumber-1,e.endColumn-1);return new Gh(o=>{const r=this.initialAstWithoutTokens||this.astWithTokens;J2(r,Fs,r.length,i,n,o,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=h_(e.getStartPosition()),n=h_(e.getEndPosition());return new Gh(o=>{const r=this.initialAstWithoutTokens||this.astWithTokens,a=new $_e(o,t,this.textModel);eO(r,Fs,r.length,i,n,a,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return qU(t,Fs,t.length,h_(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return jU(t,Fs,t.length,h_(e))}}function jU(s,e,t,i){if(s.kind===4||s.kind===2){const n=[];for(const o of s.children)t=Ii(e,o.length),n.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let o=n.length-1;o>=0;o--){const{nodeOffsetStart:r,nodeOffsetEnd:a}=n[o];if(d_(r,i)){const l=jU(s.children[o],r,a,i);if(l)return l}}return null}else{if(s.kind===3)return null;if(s.kind===1){const n=Pg(e,t);return{bracketInfo:s.bracketInfo,range:n}}}return null}function qU(s,e,t,i){if(s.kind===4||s.kind===2){for(const n of s.children){if(t=Ii(e,n.length),d_(i,t)){const o=qU(n,e,t,i);if(o)return o}e=t}return null}else{if(s.kind===3)return null;if(s.kind===1){const n=Pg(e,t);return{bracketInfo:s.bracketInfo,range:n}}}return null}function J2(s,e,t,i,n,o,r,a,l,c,d=!1){if(r>200)return!0;e:for(;;)switch(s.kind){case 4:{const u=s.childrenLength;for(let h=0;h<u;h++){const g=s.getChild(h);if(g){if(t=Ii(e,g.length),u_(e,n)&&IC(t,i)){if(IC(t,n)){s=g;continue e}if(!J2(g,e,t,i,n,o,r,0,l,c))return!1}e=t}}return!0}case 2:{const u=!c||!s.closingBracket||s.closingBracket.bracketInfo.closesColorized(s.openingBracket.bracketInfo);let h=0;if(l){let f=l.get(s.openingBracket.text);f===void 0&&(f=0),h=f,u&&(f++,l.set(s.openingBracket.text,f))}const g=s.childrenLength;for(let f=0;f<g;f++){const m=s.getChild(f);if(m){if(t=Ii(e,m.length),u_(e,n)&&IC(t,i)){if(IC(t,n)&&m.kind!==1){s=m,u?(r++,a=h+1):a=h;continue e}if((u||m.kind!==1||!s.closingBracket)&&!J2(m,e,t,i,n,o,u?r+1:r,u?h+1:h,l,c,!s.closingBracket))return!1}e=t}}return l==null||l.set(s.openingBracket.text,h),!0}case 3:{const u=Pg(e,t);return o(new OU(u,r-1,0,!0))}case 1:{const u=Pg(e,t);return o(new OU(u,r-1,a-1,d))}case 0:return!0}}class $_e{constructor(e,t,i){this.push=e,this.includeMinIndentation=t,this.textModel=i}}function eO(s,e,t,i,n,o,r,a){var c;if(r>200)return!0;let l=!0;if(s.kind===2){let d=0;if(a){let g=a.get(s.openingBracket.text);g===void 0&&(g=0),d=g,g++,a.set(s.openingBracket.text,g)}const u=Ii(e,s.openingBracket.length);let h=-1;if(o.includeMinIndentation&&(h=s.computeMinIndentation(e,o.textModel)),l=o.push(new y_e(Pg(e,t),Pg(e,u),s.closingBracket?Pg(Ii(u,((c=s.child)==null?void 0:c.length)||Fs),t):void 0,r,d,s,h)),e=u,l&&s.child){const g=s.child;if(t=Ii(e,g.length),u_(e,n)&&IC(t,i)&&(l=eO(g,e,t,i,n,o,r+1,a),!l))return!1}a==null||a.set(s.openingBracket.text,d)}else{let d=e;for(const u of s.children){const h=d;if(d=Ii(d,u.length),u_(h,n)&&u_(i,d)&&(l=eO(u,h,d,i,n,o,r,a),!l))return!1}}return l}class z_e extends F{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new on),this.onDidChangeEmitter=new P,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){var t;(!e.languageId||(t=this.bracketPairsTree.value)!=null&&t.object.didLanguageChange(e.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;(t=this.bracketPairsTree.value)==null||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;(e=this.bracketPairsTree.value)==null||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;(t=this.bracketPairsTree.value)==null||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new q;this.bracketPairsTree.value=U_e(e.add(new V_e(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)==null?void 0:t.object.getBracketPairsInRange(e,!1))||Gh.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)==null?void 0:t.object.getBracketPairsInRange(e,!0))||Gh.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((i=this.bracketPairsTree.value)==null?void 0:i.object.getBracketsInRange(e,t))||Gh.empty}findMatchingBracketUp(e,t,i){const n=this.textModel.validatePosition(t),o=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){const r=this.languageConfigurationService.getLanguageConfiguration(o).bracketsNew.getClosingBracketInfo(e);if(!r)return null;const a=this.getBracketPairsInRange(L.fromPositions(t,t)).findLast(l=>r.closes(l.openingBracketInfo));return a?a.openingBracketRange:null}else{const r=e.toLowerCase(),a=this.languageConfigurationService.getLanguageConfiguration(o).brackets;if(!a)return null;const l=a.textIsBracket[r];return l?Lk(this._findMatchingBracketUp(l,n,tO(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(L.fromPositions(e,e)).filter(n=>n.closingBracketRange!==void 0&&(n.openingBracketRange.containsPosition(e)||n.closingBracketRange.containsPosition(e))).findLastMaxBy(xs(n=>n.openingBracketRange.containsPosition(e)?n.openingBracketRange:n.closingBracketRange,L.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=tO(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,n){const o=t.getCount(),r=t.getLanguageId(n);let a=Math.max(0,e.column-1-i.maxBracketLength);for(let c=n-1;c>=0;c--){const d=t.getEndOffset(c);if(d<=a)break;if(Ol(t.getStandardTokenType(c))||t.getLanguageId(c)!==r){a=d;break}}let l=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let c=n+1;c<o;c++){const d=t.getStartOffset(c);if(d>=l)break;if(Ol(t.getStandardTokenType(c))||t.getLanguageId(c)!==r){l=d;break}}return{searchStartOffset:a,searchEndOffset:l}}_matchBracket(e,t){const i=e.lineNumber,n=this.textModel.tokenization.getLineTokens(i),o=this.textModel.getLineContent(i),r=n.findTokenIndexAtOffset(e.column-1);if(r<0)return null;const a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(r)).brackets;if(a&&!Ol(n.getStandardTokenType(r))){let{searchStartOffset:l,searchEndOffset:c}=this._establishBracketSearchOffsets(e,n,a,r),d=null;for(;;){const u=da.findNextBracketInRange(a.forwardRegex,i,o,l,c);if(!u)break;if(u.startColumn<=e.column&&e.column<=u.endColumn){const h=o.substring(u.startColumn-1,u.endColumn-1).toLowerCase(),g=this._matchFoundBracket(u,a.textIsBracket[h],a.textIsOpenBracket[h],t);if(g){if(g instanceof rd)return null;d=g}}l=u.endColumn-1}if(d)return d}if(r>0&&n.getStartOffset(r)===e.column-1){const l=r-1,c=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(l)).brackets;if(c&&!Ol(n.getStandardTokenType(l))){const{searchStartOffset:d,searchEndOffset:u}=this._establishBracketSearchOffsets(e,n,c,l),h=da.findPrevBracketInRange(c.reversedRegex,i,o,d,u);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){const g=o.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),f=this._matchFoundBracket(h,c.textIsBracket[g],c.textIsOpenBracket[g],t);if(f)return f instanceof rd?null:f}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;const o=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return o?o instanceof rd?o:[e,o]:null}_findMatchingBracketUp(e,t,i){const n=e.languageId,o=e.reversedRegex;let r=-1,a=0;const l=(c,d,u,h)=>{for(;;){if(i&&++a%100===0&&!i())return rd.INSTANCE;const g=da.findPrevBracketInRange(o,c,d,u,h);if(!g)break;const f=d.substring(g.startColumn-1,g.endColumn-1).toLowerCase();if(e.isOpen(f)?r++:e.isClose(f)&&r--,r===0)return g;h=g.startColumn-1}return null};for(let c=t.lineNumber;c>=1;c--){const d=this.textModel.tokenization.getLineTokens(c),u=d.getCount(),h=this.textModel.getLineContent(c);let g=u-1,f=h.length,m=h.length;c===t.lineNumber&&(g=d.findTokenIndexAtOffset(t.column-1),f=t.column-1,m=t.column-1);let _=!0;for(;g>=0;g--){const b=d.getLanguageId(g)===n&&!Ol(d.getStandardTokenType(g));if(b)_?f=d.getStartOffset(g):(f=d.getStartOffset(g),m=d.getEndOffset(g));else if(_&&f!==m){const v=l(c,h,f,m);if(v)return v}_=b}if(_&&f!==m){const b=l(c,h,f,m);if(b)return b}}return null}_findMatchingBracketDown(e,t,i){const n=e.languageId,o=e.forwardRegex;let r=1,a=0;const l=(d,u,h,g)=>{for(;;){if(i&&++a%100===0&&!i())return rd.INSTANCE;const f=da.findNextBracketInRange(o,d,u,h,g);if(!f)break;const m=u.substring(f.startColumn-1,f.endColumn-1).toLowerCase();if(e.isOpen(m)?r++:e.isClose(m)&&r--,r===0)return f;h=f.endColumn-1}return null},c=this.textModel.getLineCount();for(let d=t.lineNumber;d<=c;d++){const u=this.textModel.tokenization.getLineTokens(d),h=u.getCount(),g=this.textModel.getLineContent(d);let f=0,m=0,_=0;d===t.lineNumber&&(f=u.findTokenIndexAtOffset(t.column-1),m=t.column-1,_=t.column-1);let b=!0;for(;f<h;f++){const v=u.getLanguageId(f)===n&&!Ol(u.getStandardTokenType(f));if(v)b||(m=u.getStartOffset(f)),_=u.getEndOffset(f);else if(b&&m!==_){const w=l(d,g,m,_);if(w)return w}b=v}if(b&&m!==_){const v=l(d,g,m,_);if(v)return v}}return null}findPrevBracket(e){var r;const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((r=this.bracketPairsTree.value)==null?void 0:r.object.getFirstBracketBefore(t))||null;let i=null,n=null,o=null;for(let a=t.lineNumber;a>=1;a--){const l=this.textModel.tokenization.getLineTokens(a),c=l.getCount(),d=this.textModel.getLineContent(a);let u=c-1,h=d.length,g=d.length;if(a===t.lineNumber){u=l.findTokenIndexAtOffset(t.column-1),h=t.column-1,g=t.column-1;const m=l.getLanguageId(u);i!==m&&(i=m,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,o=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let f=!0;for(;u>=0;u--){const m=l.getLanguageId(u);if(i!==m){if(n&&o&&f&&h!==g){const b=da.findPrevBracketInRange(n.reversedRegex,a,d,h,g);if(b)return this._toFoundBracket(o,b);f=!1}i=m,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,o=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const _=!!n&&!Ol(l.getStandardTokenType(u));if(_)f?h=l.getStartOffset(u):(h=l.getStartOffset(u),g=l.getEndOffset(u));else if(o&&n&&f&&h!==g){const b=da.findPrevBracketInRange(n.reversedRegex,a,d,h,g);if(b)return this._toFoundBracket(o,b)}f=_}if(o&&n&&f&&h!==g){const m=da.findPrevBracketInRange(n.reversedRegex,a,d,h,g);if(m)return this._toFoundBracket(o,m)}}return null}findNextBracket(e){var a;const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((a=this.bracketPairsTree.value)==null?void 0:a.object.getFirstBracketAfter(t))||null;const i=this.textModel.getLineCount();let n=null,o=null,r=null;for(let l=t.lineNumber;l<=i;l++){const c=this.textModel.tokenization.getLineTokens(l),d=c.getCount(),u=this.textModel.getLineContent(l);let h=0,g=0,f=0;if(l===t.lineNumber){h=c.findTokenIndexAtOffset(t.column-1),g=t.column-1,f=t.column-1;const _=c.getLanguageId(h);n!==_&&(n=_,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let m=!0;for(;h<d;h++){const _=c.getLanguageId(h);if(n!==_){if(r&&o&&m&&g!==f){const v=da.findNextBracketInRange(o.forwardRegex,l,u,g,f);if(v)return this._toFoundBracket(r,v);m=!1}n=_,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}const b=!!o&&!Ol(c.getStandardTokenType(h));if(b)m||(g=c.getStartOffset(h)),f=c.getEndOffset(h);else if(r&&o&&m&&g!==f){const v=da.findNextBracketInRange(o.forwardRegex,l,u,g,f);if(v)return this._toFoundBracket(r,v)}m=b}if(r&&o&&m&&g!==f){const _=da.findNextBracketInRange(o.forwardRegex,l,u,g,f);if(_)return this._toFoundBracket(r,_)}}return null}findEnclosingBrackets(e,t){const i=this.textModel.validatePosition(e);if(this.canBuildAST){const g=L.fromPositions(i),f=this.getBracketPairsInRange(L.fromPositions(i,i)).findLast(m=>m.closingBracketRange!==void 0&&m.range.strictContainsRange(g));return f?[f.openingBracketRange,f.closingBracketRange]:null}const n=tO(t),o=this.textModel.getLineCount(),r=new Map;let a=[];const l=(g,f)=>{if(!r.has(g)){const m=[];for(let _=0,b=f?f.brackets.length:0;_<b;_++)m[_]=0;r.set(g,m)}a=r.get(g)};let c=0;const d=(g,f,m,_,b)=>{for(;;){if(n&&++c%100===0&&!n())return rd.INSTANCE;const v=da.findNextBracketInRange(g.forwardRegex,f,m,_,b);if(!v)break;const w=m.substring(v.startColumn-1,v.endColumn-1).toLowerCase(),C=g.textIsBracket[w];if(C&&(C.isOpen(w)?a[C.index]++:C.isClose(w)&&a[C.index]--,a[C.index]===-1))return this._matchFoundBracket(v,C,!1,n);_=v.endColumn-1}return null};let u=null,h=null;for(let g=i.lineNumber;g<=o;g++){const f=this.textModel.tokenization.getLineTokens(g),m=f.getCount(),_=this.textModel.getLineContent(g);let b=0,v=0,w=0;if(g===i.lineNumber){b=f.findTokenIndexAtOffset(i.column-1),v=i.column-1,w=i.column-1;const S=f.getLanguageId(b);u!==S&&(u=S,h=this.languageConfigurationService.getLanguageConfiguration(u).brackets,l(u,h))}let C=!0;for(;b<m;b++){const S=f.getLanguageId(b);if(u!==S){if(h&&C&&v!==w){const k=d(h,g,_,v,w);if(k)return Lk(k);C=!1}u=S,h=this.languageConfigurationService.getLanguageConfiguration(u).brackets,l(u,h)}const y=!!h&&!Ol(f.getStandardTokenType(b));if(y)C||(v=f.getStartOffset(b)),w=f.getEndOffset(b);else if(h&&C&&v!==w){const k=d(h,g,_,v,w);if(k)return Lk(k)}C=y}if(h&&C&&v!==w){const S=d(h,g,_,v,w);if(S)return Lk(S)}}return null}_toFoundBracket(e,t){if(!t)return null;let i=this.textModel.getValueInRange(t);i=i.toLowerCase();const n=e.getBracketInfo(i);return n?{range:t,bracketInfo:n}:null}}function U_e(s,e){return{object:s,dispose:()=>e==null?void 0:e.dispose()}}function tO(s){if(typeof s>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=s}}const oT=class oT{constructor(){this._searchCanceledBrand=void 0}};oT.INSTANCE=new oT;let rd=oT;function Lk(s){return s instanceof rd?null:s}class j_e extends F{constructor(e){super(),this.textModel=e,this.colorProvider=new KU,this.onDidChangeEmitter=new P,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,n){return n?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(r=>({id:`bracket${r.range.toString()}-${r.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(r,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:r.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new L(1,1,this.textModel.getLineCount(),1),e,t):[]}}class KU{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return`bracket-highlighting-${e%30}`}}Hr((s,e)=>{const t=[DU,TU,NU,RU,AU,MU],i=new KU;e.addRule(`.monaco-editor .${i.unexpectedClosingBracketClassName} { color: ${s.getColor(s_e)}; }`);const n=t.map(o=>s.getColor(o)).filter(o=>!!o).filter(o=>!o.isTransparent());for(let o=0;o<30;o++){const r=n[o%n.length];e.addRule(`.monaco-editor .${i.getInlineClassNameOfLevel(o)} { color: ${r}; }`)}});function Ek(s){return s.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class Wn{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${Ek(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${Ek(this.oldText)}")`:`(replace@${this.oldPosition} "${Ek(this.oldText)}" with "${Ek(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const n=t.length;qa(e,n,i),i+=4;for(let o=0;o<n;o++)Ple(e,t.charCodeAt(o),i),i+=2;return i}static _readString(e,t){const i=ja(e,t);return t+=4,Fle(e,t,i)}writeSize(){return 8+Wn._writeStringSize(this.oldText)+Wn._writeStringSize(this.newText)}write(e,t){return qa(e,this.oldPosition,t),t+=4,qa(e,this.newPosition,t),t+=4,t=Wn._writeString(e,this.oldText,t),t=Wn._writeString(e,this.newText,t),t}static read(e,t,i){const n=ja(e,t);t+=4;const o=ja(e,t);t+=4;const r=Wn._readString(e,t);t+=Wn._writeStringSize(r);const a=Wn._readString(e,t);return t+=Wn._writeStringSize(a),i.push(new Wn(n,r,o,a)),t}}function q_e(s,e){return s===null||s.length===0?e:new tc(s,e).compress()}class tc{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,i=this._getPrev(e),n=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){if(i===null){this._acceptCurr(n),n=this._getCurr(++t);continue}if(n===null){this._acceptPrev(i),i=this._getPrev(++e);continue}if(n.oldEnd<=i.newPosition){this._acceptCurr(n),n=this._getCurr(++t);continue}if(i.newEnd<=n.oldPosition){this._acceptPrev(i),i=this._getPrev(++e);continue}if(n.oldPosition<i.newPosition){const[c,d]=tc._splitCurr(n,i.newPosition-n.oldPosition);this._acceptCurr(c),n=d;continue}if(i.newPosition<n.oldPosition){const[c,d]=tc._splitPrev(i,n.oldPosition-i.newPosition);this._acceptPrev(c),i=d;continue}let a,l;if(n.oldEnd===i.newEnd)a=i,l=n,i=this._getPrev(++e),n=this._getCurr(++t);else if(n.oldEnd<i.newEnd){const[c,d]=tc._splitPrev(i,n.oldLength);a=c,l=n,i=d,n=this._getCurr(++t)}else{const[c,d]=tc._splitCurr(n,i.newLength);a=i,l=c,i=this._getPrev(++e),n=d}this._result[this._resultLen++]=new Wn(a.oldPosition,a.oldText,l.newPosition,l.newText),this._prevDeltaOffset+=a.newLength-a.oldLength,this._currDeltaOffset+=l.newLength-l.oldLength}const o=tc._merge(this._result);return tc._removeNoOps(o)}_acceptCurr(e){this._result[this._resultLen++]=tc._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=tc._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new Wn(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new Wn(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){const i=e.newText.substr(0,t),n=e.newText.substr(t);return[new Wn(e.oldPosition,e.oldText,e.newPosition,i),new Wn(e.oldEnd,"",e.newPosition+t,n)]}static _splitCurr(e,t){const i=e.oldText.substr(0,t),n=e.oldText.substr(t);return[new Wn(e.oldPosition,i,e.newPosition,e.newText),new Wn(e.oldPosition+t,n,e.newEnd,"")]}static _merge(e){if(e.length===0)return e;const t=[];let i=0,n=e[0];for(let o=1;o<e.length;o++){const r=e[o];n.oldEnd===r.oldPosition?n=new Wn(n.oldPosition,n.oldText+r.oldText,n.newPosition,n.newText+r.newText):(t[i++]=n,n=r)}return t[i++]=n,t}static _removeNoOps(e){if(e.length===0)return e;const t=[];let i=0;for(let n=0;n<e.length;n++){const o=e[n];o.oldText!==o.newText&&(t[i++]=o)}return t}}function g_(s){return s.toString()}class bn{static create(e,t){const i=e.getAlternativeVersionId(),n=iO(e);return new bn(i,i,n,n,t,t,[])}constructor(e,t,i,n,o,r,a){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=n,this.beforeCursorState=o,this.afterCursorState=r,this.changes=a}append(e,t,i,n,o){t.length>0&&(this.changes=q_e(this.changes,t)),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=o}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(qa(e,t?t.length:0,i),i+=4,t)for(const n of t)qa(e,n.selectionStartLineNumber,i),i+=4,qa(e,n.selectionStartColumn,i),i+=4,qa(e,n.positionLineNumber,i),i+=4,qa(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const n=ja(e,t);t+=4;for(let o=0;o<n;o++){const r=ja(e,t);t+=4;const a=ja(e,t);t+=4;const l=ja(e,t);t+=4;const c=ja(e,t);t+=4,i.push(new _e(r,a,l,c))}return t}serialize(){let e=10+bn._writeSelectionsSize(this.beforeCursorState)+bn._writeSelectionsSize(this.afterCursorState)+4;for(const n of this.changes)e+=n.writeSize();const t=new Uint8Array(e);let i=0;qa(t,this.beforeVersionId,i),i+=4,qa(t,this.afterVersionId,i),i+=4,WH(t,this.beforeEOL,i),i+=1,WH(t,this.afterEOL,i),i+=1,i=bn._writeSelections(t,this.beforeCursorState,i),i=bn._writeSelections(t,this.afterCursorState,i),qa(t,this.changes.length,i),i+=4;for(const n of this.changes)i=n.write(t,i);return t.buffer}static deserialize(e){const t=new Uint8Array(e);let i=0;const n=ja(t,i);i+=4;const o=ja(t,i);i+=4;const r=BH(t,i);i+=1;const a=BH(t,i);i+=1;const l=[];i=bn._readSelections(t,i,l);const c=[];i=bn._readSelections(t,i,c);const d=ja(t,i);i+=4;const u=[];for(let h=0;h<d;h++)i=Wn.read(t,i,u);return new bn(n,o,r,a,l,c,u)}}class GU{get type(){return 0}get resource(){return xe.isUri(this.model)?this.model:this.model.uri}constructor(e,t,i,n){this.label=e,this.code=t,this.model=i,this._data=bn.create(i,n)}toString(){return(this._data instanceof bn?this._data:bn.deserialize(this._data)).changes.map(t=>t.toString()).join(", ")}matchesResource(e){return(xe.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof bn}append(e,t,i,n,o){this._data instanceof bn&&this._data.append(e,t,i,n,o)}close(){this._data instanceof bn&&(this._data=this._data.serialize())}open(){this._data instanceof bn||(this._data=bn.deserialize(this._data))}undo(){if(xe.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof bn&&(this._data=this._data.serialize());const e=bn.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(xe.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof bn&&(this._data=this._data.serialize());const e=bn.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof bn&&(this._data=this._data.serialize()),this._data.byteLength+168}}class K_e{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const n of this._editStackElementsArr){const o=g_(n.resource);this._editStackElementsMap.set(o,n)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=g_(e);return this._editStackElementsMap.has(t)}setModel(e){const t=g_(xe.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=g_(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,n,o){const r=g_(e.uri);this._editStackElementsMap.get(r).append(e,t,i,n,o)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=g_(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push(`${Vr(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function iO(s){return s.getEOL()===`
558
558
  `?0:1}function ad(s){return s?s instanceof GU||s instanceof K_e:!1}class nO{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);ad(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);ad(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(ad(i)&&i.canAppend(this._model))return i;const n=new GU(p("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(n,t),n}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],iO(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){const o=this._getOrCreateEditStackElement(e,n),r=this._model.applyEdits(t,!0),a=nO._computeCursorState(i,r),l=r.map((c,d)=>({index:d,textChange:c.textChange}));return l.sort((c,d)=>c.textChange.oldPosition===d.textChange.oldPosition?c.index-d.index:c.textChange.oldPosition-d.textChange.oldPosition),o.append(this._model,l.map(c=>c.textChange),iO(this._model),this._model.getAlternativeVersionId(),a),a}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return We(i),null}}}class ZU extends F{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function Ik(s,e){let t=0,i=0;const n=s.length;for(;i<n;){const o=s.charCodeAt(i);if(o===32)t++;else if(o===9)t=t-t%e+e;else break;i++}return i===n?-1:t}var Fg;(function(s){s[s.Disabled=0]="Disabled",s[s.EnabledForActive=1]="EnabledForActive",s[s.Enabled=2]="Enabled"})(Fg||(Fg={}));class Bg{constructor(e,t,i,n,o,r){if(this.visibleColumn=e,this.column=t,this.className=i,this.horizontalLine=n,this.forWrappedLinesAfterColumn=o,this.forWrappedLinesBeforeOrAtColumn=r,e!==-1==(t!==-1))throw new Error}}class RC{constructor(e,t){this.top=e,this.endColumn=t}}class G_e extends ZU{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return Ik(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,i){this.assertNotDisposed();const n=this.textModel.getLineCount();if(e<1||e>n)throw new Ct("Illegal value for lineNumber");const o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=!!(o&&o.offSide);let a=-2,l=-1,c=-2,d=-1;const u=k=>{if(a!==-1&&(a===-2||a>k-1)){a=-1,l=-1;for(let E=k-2;E>=0;E--){const N=this._computeIndentLevel(E);if(N>=0){a=E,l=N;break}}}if(c===-2){c=-1,d=-1;for(let E=k;E<n;E++){const N=this._computeIndentLevel(E);if(N>=0){c=E,d=N;break}}}};let h=-2,g=-1,f=-2,m=-1;const _=k=>{if(h===-2){h=-1,g=-1;for(let E=k-2;E>=0;E--){const N=this._computeIndentLevel(E);if(N>=0){h=E,g=N;break}}}if(f!==-1&&(f===-2||f<k-1)){f=-1,m=-1;for(let E=k;E<n;E++){const N=this._computeIndentLevel(E);if(N>=0){f=E,m=N;break}}}};let b=0,v=!0,w=0,C=!0,S=0,y=0;for(let k=0;v||C;k++){const E=e-k,N=e+k;k>1&&(E<1||E<t)&&(v=!1),k>1&&(N>n||N>i)&&(C=!1),k>5e4&&(v=!1,C=!1);let H=-1;if(v&&E>=1){const V=this._computeIndentLevel(E-1);V>=0?(c=E-1,d=V,H=Math.ceil(V/this.textModel.getOptions().indentSize)):(u(E),H=this._getIndentLevelForWhitespaceLine(r,l,d))}let W=-1;if(C&&N<=n){const V=this._computeIndentLevel(N-1);V>=0?(h=N-1,g=V,W=Math.ceil(V/this.textModel.getOptions().indentSize)):(_(N),W=this._getIndentLevelForWhitespaceLine(r,g,m))}if(k===0){y=H;continue}if(k===1){if(N<=n&&W>=0&&y+1===W){v=!1,b=N,w=N,S=W;continue}if(E>=1&&H>=0&&H-1===y){C=!1,b=E,w=E,S=H;continue}if(b=e,w=e,S=y,S===0)return{startLineNumber:b,endLineNumber:w,indent:S}}v&&(H>=S?b=E:v=!1),C&&(W>=S?w=N:C=!1)}return{startLineNumber:b,endLineNumber:w,indent:S}}getLinesBracketGuides(e,t,i,n){var u;const o=[];for(let h=e;h<=t;h++)o.push([]);const r=!0,a=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new L(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let l;if(i&&a.length>0){const h=(e<=i.lineNumber&&i.lineNumber<=t?a:this.textModel.bracketPairs.getBracketPairsInRange(L.fromPositions(i)).toArray()).filter(g=>L.strictContainsPosition(g.range,i));l=(u=Dw(h,g=>r))==null?void 0:u.range}const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,d=new YU;for(const h of a){if(!h.closingBracketRange)continue;const g=l&&h.range.equalsRange(l);if(!g&&!n.includeInactive)continue;const f=d.getInlineClassName(h.nestingLevel,h.nestingLevelOfEqualBracketType,c)+(n.highlightActive&&g?" "+d.activeClassName:""),m=h.openingBracketRange.getStartPosition(),_=h.closingBracketRange.getStartPosition(),b=n.horizontalGuides===Fg.Enabled||n.horizontalGuides===Fg.EnabledForActive&&g;if(h.range.startLineNumber===h.range.endLineNumber){b&&o[h.range.startLineNumber-e].push(new Bg(-1,h.openingBracketRange.getEndPosition().column,f,new RC(!1,_.column),-1,-1));continue}const v=this.getVisibleColumnFromPosition(_),w=this.getVisibleColumnFromPosition(h.openingBracketRange.getStartPosition()),C=Math.min(w,v,h.minVisibleColumnIndentation+1);let S=!1;ps(this.textModel.getLineContent(h.closingBracketRange.startLineNumber))<h.closingBracketRange.startColumn-1&&(S=!0);const E=Math.max(m.lineNumber,e),N=Math.min(_.lineNumber,t),H=S?1:0;for(let W=E;W<N+H;W++)o[W-e].push(new Bg(C,-1,f,null,W===m.lineNumber?m.column:-1,W===_.lineNumber?_.column:-1));b&&(m.lineNumber>=e&&w>C&&o[m.lineNumber-e].push(new Bg(C,-1,f,new RC(!1,m.column),-1,-1)),_.lineNumber<=t&&v>C&&o[_.lineNumber-e].push(new Bg(C,-1,f,new RC(!S,_.column),-1,-1)))}for(const h of o)h.sort((g,f)=>g.visibleColumn-f.visibleColumn);return o}getVisibleColumnFromPosition(e){return en.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const n=this.textModel.getOptions(),o=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,r=!!(o&&o.offSide),a=new Array(t-e+1);let l=-2,c=-1,d=-2,u=-1;for(let h=e;h<=t;h++){const g=h-e,f=this._computeIndentLevel(h-1);if(f>=0){l=h-1,c=f,a[g]=Math.ceil(f/n.indentSize);continue}if(l===-2){l=-1,c=-1;for(let m=h-2;m>=0;m--){const _=this._computeIndentLevel(m);if(_>=0){l=m,c=_;break}}}if(d!==-1&&(d===-2||d<h-1)){d=-1,u=-1;for(let m=h;m<i;m++){const _=this._computeIndentLevel(m);if(_>=0){d=m,u=_;break}}}a[g]=this._getIndentLevelForWhitespaceLine(r,c,u)}return a}_getIndentLevelForWhitespaceLine(e,t,i){const n=this.textModel.getOptions();return t===-1||i===-1?0:t<i?1+Math.floor(t/n.indentSize):t===i||e?Math.ceil(i/n.indentSize):1+Math.floor(i/n.indentSize)}}class YU{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,i){return this.getInlineClassNameOfLevel(i?t:e)}getInlineClassNameOfLevel(e){return`bracket-indent-guide lvl-${e%30}`}}class Z_e{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Y_e(s,e,t,i,n){n.spacesDiff=0,n.looksLikeAlignment=!1;let o;for(o=0;o<e&&o<i;o++){const h=s.charCodeAt(o),g=t.charCodeAt(o);if(h!==g)break}let r=0,a=0;for(let h=o;h<e;h++)s.charCodeAt(h)===32?r++:a++;let l=0,c=0;for(let h=o;h<i;h++)t.charCodeAt(h)===32?l++:c++;if(r>0&&a>0||l>0&&c>0)return;const d=Math.abs(a-c),u=Math.abs(r-l);if(d===0){n.spacesDiff=u,u>0&&0<=l-1&&l-1<s.length&&l<t.length&&t.charCodeAt(l)!==32&&s.charCodeAt(l-1)===32&&s.charCodeAt(s.length-1)===44&&(n.looksLikeAlignment=!0);return}if(u%d===0){n.spacesDiff=u/d;return}}function XU(s,e,t){const i=Math.min(s.getLineCount(),1e4);let n=0,o=0,r="",a=0;const l=[2,4,6,8,3,5,7],c=8,d=[0,0,0,0,0,0,0,0,0],u=new Z_e;for(let f=1;f<=i;f++){const m=s.getLineLength(f),_=s.getLineContent(f),b=m<=65536;let v=!1,w=0,C=0,S=0;for(let k=0,E=m;k<E;k++){const N=b?_.charCodeAt(k):s.getLineCharCode(f,k);if(N===9)S++;else if(N===32)C++;else{v=!0,w=k;break}}if(!v||(S>0?n++:C>1&&o++,Y_e(r,a,_,w,u),u.looksLikeAlignment&&!(t&&e===u.spacesDiff)))continue;const y=u.spacesDiff;y<=c&&d[y]++,r=_,a=w}let h=t;n!==o&&(h=n<o);let g=e;if(h){let f=h?0:.1*i;l.forEach(m=>{const _=d[m];_>f&&(f=_,g=m)}),g===4&&d[4]>0&&d[2]>0&&d[2]>=d[4]/2&&(g=2)}return{insertSpaces:h,tabSize:g}}function ro(s){return(s.metadata&1)>>>0}function si(s,e){s.metadata=s.metadata&254|e<<0}function Hn(s){return(s.metadata&2)>>>1===1}function Gt(s,e){s.metadata=s.metadata&253|(e?1:0)<<1}function QU(s){return(s.metadata&4)>>>2===1}function JU(s,e){s.metadata=s.metadata&251|(e?1:0)<<2}function ej(s){return(s.metadata&64)>>>6===1}function tj(s,e){s.metadata=s.metadata&191|(e?1:0)<<6}function X_e(s){return(s.metadata&24)>>>3}function ij(s,e){s.metadata=s.metadata&231|e<<3}function Q_e(s){return(s.metadata&32)>>>5===1}function nj(s,e){s.metadata=s.metadata&223|(e?1:0)<<5}class sj{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,si(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,JU(this,!1),tj(this,!1),ij(this,1),nj(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,Gt(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;const t=this.options.className;JU(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),tj(this,this.options.glyphMarginClassName!==null),ij(this,this.options.stickiness),nj(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const nt=new sj(null,0,0);nt.parent=nt,nt.left=nt,nt.right=nt,si(nt,0);class sO{constructor(){this.root=nt,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,o,r){return this.root===nt?[]:rbe(this,e,t,i,n,o,r)}search(e,t,i,n){return this.root===nt?[]:obe(this,e,t,i,n)}collectNodesFromOwner(e){return nbe(this,e)}collectNodesPostOrder(){return sbe(this)}insert(e){oj(this,e),this._normalizeDeltaIfNecessary()}delete(e){rj(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;const o=i.start+n,r=i.end+n;i.setCachedOffsets(o,r,t)}acceptReplace(e,t,i,n){const o=tbe(this,e,e+t);for(let r=0,a=o.length;r<a;r++){const l=o[r];rj(this,l)}this._normalizeDeltaIfNecessary(),ibe(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let r=0,a=o.length;r<a;r++){const l=o[r];l.start=l.cachedAbsoluteStart,l.end=l.cachedAbsoluteEnd,ebe(l,e,e+t,i,n),l.maxEnd=l.end,oj(this,l)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,J_e(this))}}function J_e(s){let e=s.root,t=0;for(;e!==nt;){if(e.left!==nt&&!Hn(e.left)){e=e.left;continue}if(e.right!==nt&&!Hn(e.right)){t+=e.delta,e=e.right;continue}e.start=t+e.start,e.end=t+e.end,e.delta=0,Ou(e),Gt(e,!0),Gt(e.left,!1),Gt(e.right,!1),e===e.parent.right&&(t-=e.parent.delta),e=e.parent}Gt(s.root,!1)}function f_(s,e,t,i){return s<t?!0:s>t||i===1?!1:i===2?!0:e}function ebe(s,e,t,i,n){const o=X_e(s),r=o===0||o===2,a=o===1||o===2,l=t-e,c=i,d=Math.min(l,c),u=s.start;let h=!1;const g=s.end;let f=!1;e<=u&&g<=t&&Q_e(s)&&(s.start=e,h=!0,s.end=e,f=!0);{const _=n?1:l>0?2:0;!h&&f_(u,r,e,_)&&(h=!0),!f&&f_(g,a,e,_)&&(f=!0)}if(d>0&&!n){const _=l>c?2:0;!h&&f_(u,r,e+d,_)&&(h=!0),!f&&f_(g,a,e+d,_)&&(f=!0)}{const _=n?1:0;!h&&f_(u,r,t,_)&&(s.start=e+c,h=!0),!f&&f_(g,a,t,_)&&(s.end=e+c,f=!0)}const m=c-l;h||(s.start=Math.max(0,u+m)),f||(s.end=Math.max(0,g+m)),s.start>s.end&&(s.end=s.start)}function tbe(s,e,t){let i=s.root,n=0,o=0,r=0,a=0;const l=[];let c=0;for(;i!==nt;){if(Hn(i)){Gt(i.left,!1),Gt(i.right,!1),i===i.parent.right&&(n-=i.parent.delta),i=i.parent;continue}if(!Hn(i.left)){if(o=n+i.maxEnd,o<e){Gt(i,!0);continue}if(i.left!==nt){i=i.left;continue}}if(r=n+i.start,r>t){Gt(i,!0);continue}if(a=n+i.end,a>=e&&(i.setCachedOffsets(r,a,0),l[c++]=i),Gt(i,!0),i.right!==nt&&!Hn(i.right)){n+=i.delta,i=i.right;continue}}return Gt(s.root,!1),l}function ibe(s,e,t,i){let n=s.root,o=0,r=0,a=0;const l=i-(t-e);for(;n!==nt;){if(Hn(n)){Gt(n.left,!1),Gt(n.right,!1),n===n.parent.right&&(o-=n.parent.delta),Ou(n),n=n.parent;continue}if(!Hn(n.left)){if(r=o+n.maxEnd,r<e){Gt(n,!0);continue}if(n.left!==nt){n=n.left;continue}}if(a=o+n.start,a>t){n.start+=l,n.end+=l,n.delta+=l,(n.delta<-1073741824||n.delta>1073741824)&&(s.requestNormalizeDelta=!0),Gt(n,!0);continue}if(Gt(n,!0),n.right!==nt&&!Hn(n.right)){o+=n.delta,n=n.right;continue}}Gt(s.root,!1)}function nbe(s,e){let t=s.root;const i=[];let n=0;for(;t!==nt;){if(Hn(t)){Gt(t.left,!1),Gt(t.right,!1),t=t.parent;continue}if(t.left!==nt&&!Hn(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[n++]=t),Gt(t,!0),t.right!==nt&&!Hn(t.right)){t=t.right;continue}}return Gt(s.root,!1),i}function sbe(s){let e=s.root;const t=[];let i=0;for(;e!==nt;){if(Hn(e)){Gt(e.left,!1),Gt(e.right,!1),e=e.parent;continue}if(e.left!==nt&&!Hn(e.left)){e=e.left;continue}if(e.right!==nt&&!Hn(e.right)){e=e.right;continue}t[i++]=e,Gt(e,!0)}return Gt(s.root,!1),t}function obe(s,e,t,i,n){let o=s.root,r=0,a=0,l=0;const c=[];let d=0;for(;o!==nt;){if(Hn(o)){Gt(o.left,!1),Gt(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==nt&&!Hn(o.left)){o=o.left;continue}a=r+o.start,l=r+o.end,o.setCachedOffsets(a,l,i);let u=!0;if(e&&o.ownerId&&o.ownerId!==e&&(u=!1),t&&QU(o)&&(u=!1),n&&!ej(o)&&(u=!1),u&&(c[d++]=o),Gt(o,!0),o.right!==nt&&!Hn(o.right)){r+=o.delta,o=o.right;continue}}return Gt(s.root,!1),c}function rbe(s,e,t,i,n,o,r){let a=s.root,l=0,c=0,d=0,u=0;const h=[];let g=0;for(;a!==nt;){if(Hn(a)){Gt(a.left,!1),Gt(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;continue}if(!Hn(a.left)){if(c=l+a.maxEnd,c<e){Gt(a,!0);continue}if(a.left!==nt){a=a.left;continue}}if(d=l+a.start,d>t){Gt(a,!0);continue}if(u=l+a.end,u>=e){a.setCachedOffsets(d,u,o);let f=!0;i&&a.ownerId&&a.ownerId!==i&&(f=!1),n&&QU(a)&&(f=!1),r&&!ej(a)&&(f=!1),f&&(h[g++]=a)}if(Gt(a,!0),a.right!==nt&&!Hn(a.right)){l+=a.delta,a=a.right;continue}}return Gt(s.root,!1),h}function oj(s,e){if(s.root===nt)return e.parent=nt,e.left=nt,e.right=nt,si(e,0),s.root=e,s.root;abe(s,e),Fu(e.parent);let t=e;for(;t!==s.root&&ro(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;ro(i)===1?(si(t.parent,0),si(i,0),si(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,AC(s,t)),si(t.parent,0),si(t.parent.parent,1),MC(s,t.parent.parent))}else{const i=t.parent.parent.left;ro(i)===1?(si(t.parent,0),si(i,0),si(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,MC(s,t)),si(t.parent,0),si(t.parent.parent,1),AC(s,t.parent.parent))}return si(s.root,0),e}function abe(s,e){let t=0,i=s.root;const n=e.start,o=e.end;for(;;)if(cbe(n,o,i.start+t,i.end+t)<0)if(i.left===nt){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===nt){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=nt,e.right=nt,si(e,1)}function rj(s,e){let t,i;if(e.left===nt?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===nt?(t=e.left,i=e):(i=lbe(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(s.requestNormalizeDelta=!0)),i===s.root){s.root=t,si(t,0),e.detach(),oO(),Ou(t),s.root.parent=nt;return}const n=ro(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,si(i,ro(e)),e===s.root?s.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==nt&&(i.left.parent=i),i.right!==nt&&(i.right.parent=i)),e.detach(),n){Fu(t.parent),i!==e&&(Fu(i),Fu(i.parent)),oO();return}Fu(t),Fu(t.parent),i!==e&&(Fu(i),Fu(i.parent));let o;for(;t!==s.root&&ro(t)===0;)t===t.parent.left?(o=t.parent.right,ro(o)===1&&(si(o,0),si(t.parent,1),AC(s,t.parent),o=t.parent.right),ro(o.left)===0&&ro(o.right)===0?(si(o,1),t=t.parent):(ro(o.right)===0&&(si(o.left,0),si(o,1),MC(s,o),o=t.parent.right),si(o,ro(t.parent)),si(t.parent,0),si(o.right,0),AC(s,t.parent),t=s.root)):(o=t.parent.left,ro(o)===1&&(si(o,0),si(t.parent,1),MC(s,t.parent),o=t.parent.left),ro(o.left)===0&&ro(o.right)===0?(si(o,1),t=t.parent):(ro(o.left)===0&&(si(o.right,0),si(o,1),AC(s,o),o=t.parent.left),si(o,ro(t.parent)),si(t.parent,0),si(o.left,0),MC(s,t.parent),t=s.root));si(t,0),oO()}function lbe(s){for(;s.left!==nt;)s=s.left;return s}function oO(){nt.parent=nt,nt.delta=0,nt.start=0,nt.end=0}function AC(s,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(s.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==nt&&(t.left.parent=e),t.parent=e.parent,e.parent===nt?s.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,Ou(e),Ou(t)}function MC(s,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(s.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==nt&&(t.right.parent=e),t.parent=e.parent,e.parent===nt?s.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,Ou(e),Ou(t)}function aj(s){let e=s.end;if(s.left!==nt){const t=s.left.maxEnd;t>e&&(e=t)}if(s.right!==nt){const t=s.right.maxEnd+s.delta;t>e&&(e=t)}return e}function Ou(s){s.maxEnd=aj(s)}function Fu(s){for(;s!==nt;){const e=aj(s);if(s.maxEnd===e)return;s.maxEnd=e,s=s.parent}}function cbe(s,e,t,i){return s===t?e-i:s-t}class rO{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==ze)return aO(this.right);let e=this;for(;e.parent!==ze&&e.parent.left!==e;)e=e.parent;return e.parent===ze?ze:e.parent}prev(){if(this.left!==ze)return lj(this.left);let e=this;for(;e.parent!==ze&&e.parent.right!==e;)e=e.parent;return e.parent===ze?ze:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const ze=new rO(null,0);ze.parent=ze,ze.left=ze,ze.right=ze,ze.color=0;function aO(s){for(;s.left!==ze;)s=s.left;return s}function lj(s){for(;s.right!==ze;)s=s.right;return s}function lO(s){return s===ze?0:s.size_left+s.piece.length+lO(s.right)}function cO(s){return s===ze?0:s.lf_left+s.piece.lineFeedCnt+cO(s.right)}function dO(){ze.parent=ze}function PC(s,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==ze&&(t.left.parent=e),t.parent=e.parent,e.parent===ze?s.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function OC(s,e){const t=e.left;e.left=t.right,t.right!==ze&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===ze?s.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function Dk(s,e){let t,i;if(e.left===ze?(i=e,t=i.right):e.right===ze?(i=e,t=i.left):(i=aO(e.right),t=i.right),i===s.root){s.root=t,t.color=0,e.detach(),dO(),s.root.parent=ze;return}const n=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,FC(s,t)):(i.parent===e?t.parent=i:t.parent=i.parent,FC(s,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===s.root?s.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==ze&&(i.left.parent=i),i.right!==ze&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,FC(s,i)),e.detach(),t.parent.left===t){const r=lO(t),a=cO(t);if(r!==t.parent.size_left||a!==t.parent.lf_left){const l=r-t.parent.size_left,c=a-t.parent.lf_left;t.parent.size_left=r,t.parent.lf_left=a,ld(s,t.parent,l,c)}}if(FC(s,t.parent),n){dO();return}let o;for(;t!==s.root&&t.color===0;)t===t.parent.left?(o=t.parent.right,o.color===1&&(o.color=0,t.parent.color=1,PC(s,t.parent),o=t.parent.right),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.right.color===0&&(o.left.color=0,o.color=1,OC(s,o),o=t.parent.right),o.color=t.parent.color,t.parent.color=0,o.right.color=0,PC(s,t.parent),t=s.root)):(o=t.parent.left,o.color===1&&(o.color=0,t.parent.color=1,OC(s,t.parent),o=t.parent.left),o.left.color===0&&o.right.color===0?(o.color=1,t=t.parent):(o.left.color===0&&(o.right.color=0,o.color=1,PC(s,o),o=t.parent.left),o.color=t.parent.color,t.parent.color=0,o.left.color=0,OC(s,t.parent),t=s.root));t.color=0,dO()}function cj(s,e){for(FC(s,e);e!==s.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,PC(s,e)),e.parent.color=0,e.parent.parent.color=1,OC(s,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,OC(s,e)),e.parent.color=0,e.parent.parent.color=1,PC(s,e.parent.parent))}s.root.color=0}function ld(s,e,t,i){for(;e!==s.root&&e!==ze;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function FC(s,e){let t=0,i=0;if(e!==s.root){for(;e!==s.root&&e===e.parent.right;)e=e.parent;if(e!==s.root)for(e=e.parent,t=lO(e.left)-e.size_left,i=cO(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==s.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const cd=65535;function dj(s){let e;return s[s.length-1]<65536?e=new Uint16Array(s.length):e=new Uint32Array(s.length),e.set(s,0),e}class dbe{constructor(e,t,i,n,o){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=o}}function dd(s,e=!0){const t=[0];let i=1;for(let n=0,o=s.length;n<o;n++){const r=s.charCodeAt(n);r===13?n+1<o&&s.charCodeAt(n+1)===10?(t[i++]=n+2,n++):t[i++]=n+1:r===10&&(t[i++]=n+1)}return e?dj(t):t}function ube(s,e){s.length=0,s[0]=0;let t=1,i=0,n=0,o=0,r=!0;for(let l=0,c=e.length;l<c;l++){const d=e.charCodeAt(l);d===13?l+1<c&&e.charCodeAt(l+1)===10?(o++,s[t++]=l+2,l++):(i++,s[t++]=l+1):d===10?(n++,s[t++]=l+1):r&&d!==9&&(d<32||d>126)&&(r=!1)}const a=new dbe(dj(s),i,n,o,r);return s.length=0,a}class Do{constructor(e,t,i,n,o){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=n,this.length=o}}class Wg{constructor(e,t){this.buffer=e,this.lineStarts=t}}class hbe{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==ze&&e.iterate(e.root,i=>(i!==ze&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class gbe{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber<e&&i.nodeStartLineNumber+i.node.piece.lineFeedCnt>=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let n=0;n<i.length;n++){const o=i[n];if(o.node.parent===null||o.nodeStartOffset>=e){i[n]=null,t=!0;continue}}if(t){const n=[];for(const o of i)o!==null&&n.push(o);this._cache=n}}}class fbe{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new Wg("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=ze,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let o=0,r=e.length;o<r;o++)if(e[o].buffer.length>0){e[o].lineStarts||(e[o].lineStarts=dd(e[o].buffer));const a=new Do(o+1,{line:0,column:0},{line:e[o].lineStarts.length-1,column:e[o].buffer.length-e[o].lineStarts[e[o].lineStarts.length-1]},e[o].lineStarts.length-1,e[o].buffer.length);this._buffers.push(e[o]),n=this.rbInsertRight(n,a)}this._searchCache=new gbe(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=cd,i=t-Math.floor(t/3),n=i*2;let o="",r=0;const a=[];if(this.iterate(this.root,l=>{const c=this.getNodeContent(l),d=c.length;if(r<=i||r+d<n)return o+=c,r+=d,!0;const u=o.replace(/\r\n|\r|\n/g,e);return a.push(new Wg(u,dd(u))),o=c,r=d,!0}),r>0){const l=o.replace(/\r\n|\r|\n/g,e);a.push(new Wg(l,dd(l)))}this.create(a,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new hbe(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==ze;)if(n.left!==ze&&n.lf_left+1>=e)n=n.left;else if(n.lf_left+n.piece.lineFeedCnt+1>=e){i+=n.size_left;const o=this.getAccumulatedValue(n,e-n.lf_left-2);return i+=o+t-1}else e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const n=e;for(;t!==ze;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const o=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+o.index,o.index===0){const r=this.getOffsetAt(i+1,1),a=n-r;return new M(i+1,a+1)}return new M(i+1,o.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===ze){const o=this.getOffsetAt(i+1,1),r=n-e-o;return new M(i+1,r+1)}else t=t.right;return new M(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),o=this.getValueInRange2(i,n);return t?t!==this._EOL||!this._EOLNormalized?o.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?o:o.replace(/\r\n|\r|\n/g,t):o}getValueInRange2(e,t){if(e.node===t.node){const a=e.node,l=this._buffers[a.piece.bufferIndex].buffer,c=this.offsetInBuffer(a.piece.bufferIndex,a.piece.start);return l.substring(c+e.remainder,c+t.remainder)}let i=e.node;const n=this._buffers[i.piece.bufferIndex].buffer,o=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let r=n.substring(o+e.remainder,o+i.piece.length);for(i=i.next();i!==ze;){const a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){r+=a.substring(l,l+t.remainder);break}else r+=a.substr(l,i.piece.length);i=i.next()}return r}getLinesContent(){const e=[];let t=0,i="",n=!1;return this.iterate(this.root,o=>{if(o===ze)return!0;const r=o.piece;let a=r.length;if(a===0)return!0;const l=this._buffers[r.bufferIndex].buffer,c=this._buffers[r.bufferIndex].lineStarts,d=r.start.line,u=r.end.line;let h=c[d]+r.start.column;if(n&&(l.charCodeAt(h)===10&&(h++,a--),e[t++]=i,i="",n=!1,a===0))return!0;if(d===u)return!this._EOLNormalized&&l.charCodeAt(h+a-1)===13?(n=!0,i+=l.substr(h,a-1)):i+=l.substr(h,a),!0;i+=this._EOLNormalized?l.substring(h,Math.max(h,c[d+1]-this._EOLLength)):l.substring(h,c[d+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let g=d+1;g<u;g++)i=this._EOLNormalized?l.substring(c[g],c[g+1]-this._EOLLength):l.substring(c[g],c[g+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;return!this._EOLNormalized&&l.charCodeAt(c[u]+r.end.column-1)===13?(n=!0,r.end.column===0?t--:i=l.substr(c[u],r.end.column-1)):i=l.substr(c[u],r.end.column),!0}),n&&(e[t++]=i,i=""),e[t++]=i,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e?this._lastVisitedLine.value:(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,""),this._lastVisitedLine.value)}_getCharCode(e){if(e.remainder===e.node.piece.length){const t=e.node.next();if(!t)return 0;const i=this._buffers[t.piece.bufferIndex],n=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return i.buffer.charCodeAt(n)}else{const t=this._buffers[e.node.piece.bufferIndex],n=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(n)}}getLineCharCode(e,t){const i=this.nodeAt2(e,t+1);return this._getCharCode(i)}getLineLength(e){if(e===this.getLineCount()){const t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,i,n,o,r,a,l,c,d,u){const h=this._buffers[e.piece.bufferIndex],g=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),f=this.offsetInBuffer(e.piece.bufferIndex,o),m=this.offsetInBuffer(e.piece.bufferIndex,r);let _;const b={line:0,column:0};let v,w;t._wordSeparators?(v=h.buffer.substring(f,m),w=C=>C+f,t.reset(0)):(v=h.buffer,w=C=>C,t.reset(f));do if(_=t.next(v),_){if(w(_.index)>=m)return d;this.positionInBuffer(e,w(_.index)-g,b);const C=this.getLineFeedCnt(e.piece.bufferIndex,o,b),S=b.line===o.line?b.column-o.column+n:b.column+1,y=S+_[0].length;if(u[d++]=mg(new L(i+C,S,i+C,y),_,l),w(_.index)+_[0].length>=m||d>=c)return d}while(_);return d}findMatchesLineByLine(e,t,i,n){const o=[];let r=0;const a=new Nm(t.wordSeparators,t.regex);let l=this.nodeAt2(e.startLineNumber,e.startColumn);if(l===null)return[];const c=this.nodeAt2(e.endLineNumber,e.endColumn);if(c===null)return[];let d=this.positionInBuffer(l.node,l.remainder);const u=this.positionInBuffer(c.node,c.remainder);if(l.node===c.node)return this.findMatchesInNode(l.node,a,e.startLineNumber,e.startColumn,d,u,t,i,n,r,o),o;let h=e.startLineNumber,g=l.node;for(;g!==c.node;){const m=this.getLineFeedCnt(g.piece.bufferIndex,d,g.piece.end);if(m>=1){const b=this._buffers[g.piece.bufferIndex].lineStarts,v=this.offsetInBuffer(g.piece.bufferIndex,g.piece.start),w=b[d.line+m],C=h===e.startLineNumber?e.startColumn:1;if(r=this.findMatchesInNode(g,a,h,C,d,this.positionInBuffer(g,w-v),t,i,n,r,o),r>=n)return o;h+=m}const _=h===e.startLineNumber?e.startColumn-1:0;if(h===e.endLineNumber){const b=this.getLineContent(h).substring(_,e.endColumn-1);return r=this._findMatchesInLine(t,a,b,e.endLineNumber,_,r,o,i,n),o}if(r=this._findMatchesInLine(t,a,this.getLineContent(h).substr(_),h,_,r,o,i,n),r>=n)return o;h++,l=this.nodeAt2(h,1),g=l.node,d=this.positionInBuffer(l.node,l.remainder)}if(h===e.endLineNumber){const m=h===e.startLineNumber?e.startColumn-1:0,_=this.getLineContent(h).substring(m,e.endColumn-1);return r=this._findMatchesInLine(t,a,_,e.endLineNumber,m,r,o,i,n),o}const f=h===e.startLineNumber?e.startColumn:1;return r=this.findMatchesInNode(c.node,a,h,f,d,u,t,i,n,r,o),o}_findMatchesInLine(e,t,i,n,o,r,a,l,c){const d=e.wordSeparators;if(!l&&e.simpleSearch){const h=e.simpleSearch,g=h.length,f=i.length;let m=-g;for(;(m=i.indexOf(h,m+g))!==-1;)if((!d||vM(d,i,f,m,g))&&(a[r++]=new Iw(new L(n,m+1+o,n,m+1+g+o),null),r>=c))return r;return r}let u;t.reset(0);do if(u=t.next(i),u&&(a[r++]=mg(new L(n,u.index+1+o,n,u.index+1+u[0].length+o),u,l),r>=c))return r;while(u);return r}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==ze){const{node:n,remainder:o,nodeStartOffset:r}=this.nodeAt(e),a=n.piece,l=a.bufferIndex,c=this.positionInBuffer(n,o);if(n.piece.bufferIndex===0&&a.end.line===this._lastChangeBufferPos.line&&a.end.column===this._lastChangeBufferPos.column&&r+a.length===e&&t.length<cd){this.appendToNode(n,t),this.computeBufferMetadata();return}if(r===e)this.insertContentToNodeLeft(t,n),this._searchCache.validate(e);else if(r+n.piece.length>e){const d=[];let u=new Do(a.bufferIndex,c,a.end,this.getLineFeedCnt(a.bufferIndex,c,a.end),this.offsetInBuffer(l,a.end)-this.offsetInBuffer(l,c));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(n,o)===10){const m={line:u.start.line+1,column:0};u=new Do(u.bufferIndex,m,u.end,this.getLineFeedCnt(u.bufferIndex,m,u.end),u.length-1),t+=`
@@ -657,7 +657,7 @@ ${e.toString()}`}}class pL{constructor(e=new L_,t=!1,i,n=gCe){var o;this._servic
657
657
  `:`\r
658
658
  `),await this._clipboardService.writeText(C)})),i.getOption(92)||b.push(new xo("diff.inline.revertChange",p("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),b},autoSelectFirstItem:!0})};this._register(Si(this._diffActions,"mousedown",f=>{if(!f.leftButton)return;const{top:m,height:_}=Ri(this._diffActions),b=Math.floor(d/3);f.preventDefault(),g(f.posx,m+_+b)})),this._register(i.onMouseMove(f=>{(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,d),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(f=>{f.event.leftButton&&(f.target.type===8||f.target.type===5)&&f.target.detail.viewZoneId===this._getViewZoneId()&&(f.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,f.event.browserEvent.y,d),g(f.event.posx,f.event.posy+d))}))}_updateLightBulbPosition(e,t,i){const{top:n}=Ri(e),o=t-n,r=Math.floor(o/i),a=r*i;if(this._diffActions.style.top=`${a}px`,this._viewLineCounts){let l=0;for(let c=0;c<this._viewLineCounts.length;c++)if(l+=this._viewLineCounts[c],r<l)return c}return r}}const dG=Yc("diffEditorWidget",{createHTML:s=>s});function Z0e(s,e,t,i){xn(i,e.fontInfo);const n=t.length>0,o=new ym(1e4);let r=0,a=0;const l=[];for(let h=0;h<s.lineTokens.length;h++){const g=h+1,f=s.lineTokens[h],m=s.lineBreakData[h],_=Bs.filter(t,g,1,Number.MAX_SAFE_INTEGER);if(m){let b=0;for(const v of m.breakOffsets){const w=f.sliceAndInflate(b,v,0);r=Math.max(r,uG(a,w,Bs.extractWrapped(_,b,v),n,s.mightContainNonBasicASCII,s.mightContainRTL,e,o)),a++,b=v}l.push(m.breakOffsets.length)}else l.push(1),r=Math.max(r,uG(a,f,_,n,s.mightContainNonBasicASCII,s.mightContainRTL,e,o)),a++}r+=e.scrollBeyondLastColumn;const c=o.build(),d=dG?dG.createHTML(c):c;i.innerHTML=d;const u=r*e.typicalHalfwidthCharacterWidth;return{heightInLines:a,minWidthInPx:u,viewLineCounts:l}}class Y0e{constructor(e,t,i,n){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=i,this.mightContainRTL=n}}class r5{static fromEditor(e){var o;const t=e.getOptions(),i=t.get(50),n=t.get(146);return new r5(((o=e.getModel())==null?void 0:o.getOptions().tabSize)||0,i,t.get(33),i.typicalHalfwidthCharacterWidth,t.get(105),t.get(67),n.decorationsWidth,t.get(118),t.get(100),t.get(95),t.get(51))}constructor(e,t,i,n,o,r,a,l,c,d,u){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=i,this.typicalHalfwidthCharacterWidth=n,this.scrollBeyondLastColumn=o,this.lineHeight=r,this.lineDecorationsWidth=a,this.stopRenderingLineAfter=l,this.renderWhitespace=c,this.renderControlCharacters=d,this.fontLigatures=u}}function uG(s,e,t,i,n,o,r,a){a.appendString('<div class="view-line'),i||a.appendString(" char-delete"),a.appendString('" style="top:'),a.appendString(String(s*r.lineHeight)),a.appendString('px;width:1000000px;">');const l=e.getLineContent(),c=wr.isBasicASCII(l,n),d=wr.containsRTL(l,c,o),u=i1(new $u(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,l,!1,c,d,0,e,t,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==tu.OFF,null),a);return a.appendString("</div>"),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var X0e=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},hG=function(s,e){return function(t,i){e(t,i,s)}};let a5=class extends F{constructor(e,t,i,n,o,r,a,l,c,d){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=o,this._canIgnoreViewZoneUpdateEvent=r,this._origViewZonesToIgnore=a,this._modViewZonesToIgnore=l,this._clipboardService=c,this._contextMenuService=d,this._originalTopPadding=Ze(this,0),this._originalScrollOffset=Ze(this,0),this._originalScrollOffsetAnimated=tG(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=Ze(this,0),this._modifiedScrollOffset=Ze(this,0),this._modifiedScrollOffsetAnimated=tG(this._targetWindow,this._modifiedScrollOffset,this._store);const u=Ze("invalidateAlignmentsState",0),h=this._register(new Mt(()=>{u.set(u.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(w=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(w=>{this._canIgnoreViewZoneUpdateEvent()||h.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(w=>{(w.hasChanged(147)||w.hasChanged(67))&&h.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(w=>{(w.hasChanged(147)||w.hasChanged(67))&&h.schedule()}));const g=this._diffModel.map(w=>w?Et(this,w.model.original.onDidChangeTokens,()=>w.model.original.tokenization.backgroundTokenizationState===2):void 0).map((w,C)=>w==null?void 0:w.read(C)),f=we(w=>{const C=this._diffModel.read(w),S=C==null?void 0:C.diff.read(w);if(!C||!S)return null;u.read(w);const k=this._options.renderSideBySide.read(w);return gG(this._editors.original,this._editors.modified,S.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,k)}),m=we(w=>{var y;const C=(y=this._diffModel.read(w))==null?void 0:y.movedTextToCompare.read(w);if(!C)return null;u.read(w);const S=C.changes.map(k=>new cG(k));return gG(this._editors.original,this._editors.modified,S,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function _(){const w=document.createElement("div");return w.className="diagonal-fill",w}const b=this._register(new q);this.viewZones=Du(this,(w,C)=>{var ve,Re,Pe,hi,Rt,Di,ei,tn;b.clear();const S=f.read(w)||[],y=[],k=[],E=this._modifiedTopPadding.read(w);E>0&&k.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:E,showInHiddenAreas:!0,suppressMouseDown:!0});const N=this._originalTopPadding.read(w);N>0&&y.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:N,showInHiddenAreas:!0,suppressMouseDown:!0});const H=this._options.renderSideBySide.read(w),W=H||(ve=this._editors.modified._getViewModel())==null?void 0:ve.createLineBreaksComputer();if(W){const Dt=this._editors.original.getModel();for(const nn of S)if(nn.diff)for(let fo=nn.originalRange.startLineNumber;fo<nn.originalRange.endLineNumberExclusive;fo++){if(fo>Dt.getLineCount())return{orig:y,mod:k};W==null||W.addRequest(Dt.getLineContent(fo),null,null)}}const V=(Re=W==null?void 0:W.finalize())!=null?Re:[];let U=0;const B=this._editors.modified.getOption(67),Y=(Pe=this._diffModel.read(w))==null?void 0:Pe.movedTextToCompare.read(w),le=(Rt=(hi=this._editors.original.getModel())==null?void 0:hi.mightContainNonBasicASCII())!=null?Rt:!1,pe=(ei=(Di=this._editors.original.getModel())==null?void 0:Di.mightContainRTL())!=null?ei:!1,be=r5.fromEditor(this._editors.modified);for(const Dt of S)if(Dt.diff&&!H&&(!this._options.useTrueInlineDiffRendering.read(w)||!l5(Dt.diff))){if(!Dt.originalRange.isEmpty){g.read(w);const fo=document.createElement("div");fo.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const Lr=this._editors.original.getModel();if(Dt.originalRange.endLineNumberExclusive-1>Lr.getLineCount())return{orig:y,mod:k};const Ll=new Y0e(Dt.originalRange.mapToLineArray(Nn=>Lr.tokenization.getLineTokens(Nn)),Dt.originalRange.mapToLineArray(Nn=>V[U++]),le,pe),Uo=[];for(const Nn of Dt.diff.innerChanges||[])Uo.push(new n1(Nn.originalRange.delta(-(Dt.diff.original.startLineNumber-1)),q_.className,0));const Ta=Z0e(Ll,be,Uo,fo),jo=document.createElement("div");if(jo.className="inline-deleted-margin-view-zone",xn(jo,be.fontInfo),this._options.renderIndicators.read(w))for(let Nn=0;Nn<Ta.heightInLines;Nn++){const qo=document.createElement("div");qo.className=`delete-sign ${Te.asClassName(sG)}`,qo.setAttribute("style",`position:absolute;top:${Nn*B}px;width:${be.lineDecorationsWidth}px;height:${B}px;right:0;`),jo.appendChild(qo)}let jh;b.add(new G0e(()=>eu(jh),jo,this._editors.modified,Dt.diff,this._diffEditorWidget,Ta.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let Nn=0;Nn<Ta.viewLineCounts.length;Nn++){const qo=Ta.viewLineCounts[Nn];qo>1&&y.push({afterLineNumber:Dt.originalRange.startLineNumber+Nn,domNode:_(),heightInPx:(qo-1)*B,showInHiddenAreas:!0,suppressMouseDown:!0})}k.push({afterLineNumber:Dt.modifiedRange.startLineNumber-1,domNode:fo,heightInPx:Ta.heightInLines*B,minWidthInPx:Ta.minWidthInPx,marginDomNode:jo,setZoneId(Nn){jh=Nn},showInHiddenAreas:!0,suppressMouseDown:!0})}const nn=document.createElement("div");nn.className="gutter-delete",y.push({afterLineNumber:Dt.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:Dt.modifiedHeightInPx,marginDomNode:nn,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const nn=Dt.modifiedHeightInPx-Dt.originalHeightInPx;if(nn>0){if(Y!=null&&Y.lineRangeMapping.original.delta(-1).deltaLength(2).contains(Dt.originalRange.endLineNumberExclusive-1))continue;y.push({afterLineNumber:Dt.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:nn,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let fo=function(){const Ll=document.createElement("div");return Ll.className="arrow-revert-change "+Te.asClassName(ne.arrowRight),C.add(z(Ll,"mousedown",Uo=>Uo.stopPropagation())),C.add(z(Ll,"click",Uo=>{Uo.stopPropagation(),o.revert(Dt.diff)})),oe("div",{},Ll)};if(Y!=null&&Y.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(Dt.modifiedRange.endLineNumberExclusive-1))continue;let Lr;Dt.diff&&Dt.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(w)&&(Lr=fo()),k.push({afterLineNumber:Dt.modifiedRange.endLineNumberExclusive-1,domNode:_(),heightInPx:-nn,marginDomNode:Lr,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Dt of(tn=m.read(w))!=null?tn:[]){if(!(Y!=null&&Y.lineRangeMapping.original.intersect(Dt.originalRange))||!(Y!=null&&Y.lineRangeMapping.modified.intersect(Dt.modifiedRange)))continue;const nn=Dt.modifiedHeightInPx-Dt.originalHeightInPx;nn>0?y.push({afterLineNumber:Dt.originalRange.endLineNumberExclusive-1,domNode:_(),heightInPx:nn,showInHiddenAreas:!0,suppressMouseDown:!0}):k.push({afterLineNumber:Dt.modifiedRange.endLineNumberExclusive-1,domNode:_(),heightInPx:-nn,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:y,mod:k}});let v=!1;this._register(this._editors.original.onDidScrollChange(w=>{w.scrollLeftChanged&&!v&&(v=!0,this._editors.modified.setScrollLeft(w.scrollLeft),v=!1)})),this._register(this._editors.modified.onDidScrollChange(w=>{w.scrollLeftChanged&&!v&&(v=!0,this._editors.original.setScrollLeft(w.scrollLeft),v=!1)})),this._originalScrollTop=Et(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Et(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(Fe(w=>{const C=this._originalScrollTop.read(w)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(w))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(w));C!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(C,1)})),this._register(Fe(w=>{const C=this._modifiedScrollTop.read(w)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(w))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(w));C!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(C,1)})),this._register(Fe(w=>{var y;const C=(y=this._diffModel.read(w))==null?void 0:y.movedTextToCompare.read(w);let S=0;if(C){const k=this._editors.original.getTopForLineNumber(C.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();S=this._editors.modified.getTopForLineNumber(C.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-k}S>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(S,void 0)):S<0?(this._modifiedTopPadding.set(-S,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-S,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+S,void 0,!0)}))}};a5=X0e([hG(8,_d),hG(9,Lo)],a5);function gG(s,e,t,i,n,o){const r=new Oc(fG(s,i)),a=new Oc(fG(e,n)),l=s.getOption(67),c=e.getOption(67),d=[];let u=0,h=0;function g(f,m){for(;;){let _=r.peek(),b=a.peek();if(_&&_.lineNumber>=f&&(_=void 0),b&&b.lineNumber>=m&&(b=void 0),!_&&!b)break;const v=_?_.lineNumber-u:Number.MAX_VALUE,w=b?b.lineNumber-h:Number.MAX_VALUE;v<w?(r.dequeue(),b={lineNumber:_.lineNumber-u+h,heightInPx:0}):v>w?(a.dequeue(),_={lineNumber:b.lineNumber-h+u,heightInPx:0}):(r.dequeue(),a.dequeue()),d.push({originalRange:$e.ofLength(_.lineNumber,1),modifiedRange:$e.ofLength(b.lineNumber,1),originalHeightInPx:l+_.heightInPx,modifiedHeightInPx:c+b.heightInPx,diff:void 0})}}for(const f of t){let w=function(C,S,y=!1){var W,V,U,B;if(C<v||S<b)return;if(_)_=!1;else if(!y&&(C===v||S===b))return;const k=new $e(v,C),E=new $e(b,S);if(k.isEmpty&&E.isEmpty)return;const N=(V=(W=r.takeWhile(Y=>Y.lineNumber<C))==null?void 0:W.reduce((Y,le)=>Y+le.heightInPx,0))!=null?V:0,H=(B=(U=a.takeWhile(Y=>Y.lineNumber<S))==null?void 0:U.reduce((Y,le)=>Y+le.heightInPx,0))!=null?B:0;d.push({originalRange:k,modifiedRange:E,originalHeightInPx:k.length*l+N,modifiedHeightInPx:E.length*c+H,diff:f.lineRangeMapping}),v=C,b=S};const m=f.lineRangeMapping;g(m.original.startLineNumber,m.modified.startLineNumber);let _=!0,b=m.modified.startLineNumber,v=m.original.startLineNumber;if(o)for(const C of m.innerChanges||[]){C.originalRange.startColumn>1&&C.modifiedRange.startColumn>1&&w(C.originalRange.startLineNumber,C.modifiedRange.startLineNumber);const S=s.getModel(),y=C.originalRange.endLineNumber<=S.getLineCount()?S.getLineMaxColumn(C.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;C.originalRange.endColumn<y&&w(C.originalRange.endLineNumber,C.modifiedRange.endLineNumber)}w(m.original.endLineNumberExclusive,m.modified.endLineNumberExclusive,!0),u=m.original.endLineNumberExclusive,h=m.modified.endLineNumberExclusive}return g(Number.MAX_VALUE,Number.MAX_VALUE),d}function fG(s,e){const t=[],i=[],n=s.getOption(147).wrappingColumn!==-1,o=s._getViewModel().coordinatesConverter,r=s.getOption(67);if(n)for(let l=1;l<=s.getModel().getLineCount();l++){const c=o.getModelLineViewLineCount(l);c>1&&i.push({lineNumber:l,heightInPx:r*(c-1)})}for(const l of s.getWhitespaces()){if(e.has(l.id))continue;const c=l.afterLineNumber===0?0:o.convertViewPositionToModelPosition(new M(l.afterLineNumber,1)).lineNumber;t.push({lineNumber:c,heightInPx:l.height})}return x0e(t,i,l=>l.lineNumber,(l,c)=>({lineNumber:l.lineNumber,heightInPx:l.heightInPx+c.heightInPx}))}function l5(s){return s.innerChanges?s.innerChanges.every(e=>pG(e.modifiedRange)&&pG(e.originalRange)||e.originalRange.equalsRange(new L(1,1,1,1))):!1}function pG(s){return s.startLineNumber===s.endLineNumber}const Sy=class Sy extends F{constructor(e,t,i,n,o){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=o,this._originalScrollTop=Et(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Et(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=Bn("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=Ze(this,0),this._modifiedViewZonesChangedSignal=Bn("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=Bn("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=Du(this,(d,u)=>{var k;this._element.replaceChildren();const h=this._diffModel.read(d),g=(k=h==null?void 0:h.diff.read(d))==null?void 0:k.movedTexts;if(!g||g.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(d);const f=this._originalEditorLayoutInfo.read(d),m=this._modifiedEditorLayoutInfo.read(d);if(!f||!m){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(d),this._originalViewZonesChangedSignal.read(d);const _=g.map(E=>{function N(be,ve){const Re=ve.getTopForLineNumber(be.startLineNumber,!0),Pe=ve.getTopForLineNumber(be.endLineNumberExclusive,!0);return(Re+Pe)/2}const H=N(E.lineRangeMapping.original,this._editors.original),W=this._originalScrollTop.read(d),V=N(E.lineRangeMapping.modified,this._editors.modified),U=this._modifiedScrollTop.read(d),B=H-W,Y=V-U,le=Math.min(H,V),pe=Math.max(H,V);return{range:new Xe(le,pe),from:B,to:Y,fromWithoutScroll:H,toWithoutScroll:V,move:E}});_.sort(lse(xs(E=>E.fromWithoutScroll>E.toWithoutScroll,cse),xs(E=>E.fromWithoutScroll>E.toWithoutScroll?E.fromWithoutScroll:-E.toWithoutScroll,na)));const b=c5.compute(_.map(E=>E.range)),v=10,w=f.verticalScrollbarWidth,C=(b.getTrackCount()-1)*10+v*2,S=w+C+(m.contentLeft-Sy.movedCodeBlockPadding);let y=0;for(const E of _){const N=b.getTrack(y),H=w+v+N*10,W=15,V=15,U=S,B=m.glyphMarginWidth+m.lineNumbersWidth,Y=18,le=document.createElementNS("http://www.w3.org/2000/svg","rect");le.classList.add("arrow-rectangle"),le.setAttribute("x",`${U-B}`),le.setAttribute("y",`${E.to-Y/2}`),le.setAttribute("width",`${B}`),le.setAttribute("height",`${Y}`),this._element.appendChild(le);const pe=document.createElementNS("http://www.w3.org/2000/svg","g"),be=document.createElementNS("http://www.w3.org/2000/svg","path");be.setAttribute("d",`M 0 ${E.from} L ${H} ${E.from} L ${H} ${E.to} L ${U-V} ${E.to}`),be.setAttribute("fill","none"),pe.appendChild(be);const ve=document.createElementNS("http://www.w3.org/2000/svg","polygon");ve.classList.add("arrow"),u.add(Fe(Re=>{be.classList.toggle("currentMove",E.move===h.activeMovedText.read(Re)),ve.classList.toggle("currentMove",E.move===h.activeMovedText.read(Re))})),ve.setAttribute("points",`${U-V},${E.to-W/2} ${U},${E.to} ${U-V},${E.to+W/2}`),pe.appendChild(ve),this._element.appendChild(pe),y++}this.width.set(C,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(Se(()=>this._element.remove())),this._register(Fe(d=>{const u=this._originalEditorLayoutInfo.read(d),h=this._modifiedEditorLayoutInfo.read(d);!u||!h||(this._element.style.left=`${u.width-u.verticalScrollbarWidth}px`,this._element.style.height=`${u.height}px`,this._element.style.width=`${u.verticalScrollbarWidth+u.contentLeft-Sy.movedCodeBlockPadding+this.width.read(d)}px`)})),this._register(i_(this._state));const r=we(d=>{const u=this._diffModel.read(d),h=u==null?void 0:u.diff.read(d);return h?h.movedTexts.map(g=>({move:g,original:new j_($r(g.lineRangeMapping.original.startLineNumber-1),18),modified:new j_($r(g.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(QL(this._editors.original,r.map(d=>d.map(u=>u.original)))),this._register(QL(this._editors.modified,r.map(d=>d.map(u=>u.modified)))),this._register(no((d,u)=>{const h=r.read(d);for(const g of h)u.add(new mG(this._editors.original,g.original,g.move,"original",this._diffModel.get())),u.add(new mG(this._editors.modified,g.modified,g.move,"modified",this._diffModel.get()))}));const a=Bn("original.onDidFocusEditorWidget",d=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>d(void 0),0))),l=Bn("modified.onDidFocusEditorWidget",d=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>d(void 0),0)));let c="modified";this._register(pC({createEmptyChangeSummary:()=>{},handleChange:(d,u)=>(d.didChange(a)&&(c="original"),d.didChange(l)&&(c="modified"),!0)},d=>{a.read(d),l.read(d);const u=this._diffModel.read(d);if(!u)return;const h=u.diff.read(d);let g;if(h&&c==="original"){const f=this._editors.originalCursor.read(d);f&&(g=h.movedTexts.find(m=>m.lineRangeMapping.original.contains(f.lineNumber)))}if(h&&c==="modified"){const f=this._editors.modifiedCursor.read(d);f&&(g=h.movedTexts.find(m=>m.lineRangeMapping.modified.contains(f.lineNumber)))}g!==u.movedTextToCompare.get()&&u.movedTextToCompare.set(void 0,void 0),u.setActiveMovedText(g)}))}};Sy.movedCodeBlockPadding=4;let K_=Sy;class c5{static compute(e){const t=[],i=[];for(const n of e){let o=t.findIndex(r=>!r.intersectsStrict(n));o===-1&&(t.length>=6?o=Fce(t,xs(a=>a.intersectWithRangeLength(n),na)):(o=t.length,t.push(new CM))),t[o].addRange(n),i.push(o)}return new c5(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class mG extends j4{constructor(e,t,i,n,o){const r=et("div.diff-hidden-lines-widget");super(e,t,r.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=o,this._nodes=et("div.diff-moved-code-block",{style:{marginRight:"4px"}},[et("div.text-content@textContent"),et("div.action-bar@actionBar")]),r.root.appendChild(this._nodes.root);const a=Et(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(yd(this._nodes.root,{paddingRight:a.map(h=>h.verticalScrollbarWidth)}));let l;i.changes.length>0?l=this._kind==="original"?p("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):p("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):l=this._kind==="original"?p("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):p("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const c=this._register(new gr(this._nodes.actionBar,{highlightToggledItems:!0})),d=new xo("",l,"",!1);c.push(d,{icon:!1,label:!0});const u=new xo("","Compare",Te.asClassName(ne.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(Fe(h=>{const g=this._diffModel.movedTextToCompare.read(h)===i;u.checked=g})),c.push(u,{icon:!1,label:!0})}}class Q0e extends F{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=we(this,o=>{const r=this._diffModel.read(o),a=r==null?void 0:r.diff.read(o);if(!a)return null;const l=this._diffModel.read(o).movedTextToCompare.read(o),c=this._options.renderIndicators.read(o),d=this._options.showEmptyDecorations.read(o),u=[],h=[];if(!l)for(const f of a.mappings)if(f.lineRangeMapping.original.isEmpty||u.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:c?I1:rG}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:c?eE:oG}),f.lineRangeMapping.modified.isEmpty||f.lineRangeMapping.original.isEmpty)f.lineRangeMapping.original.isEmpty||u.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:J4}),f.lineRangeMapping.modified.isEmpty||h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:X4});else{const m=this._options.useTrueInlineDiffRendering.read(o)&&l5(f.lineRangeMapping);for(const _ of f.lineRangeMapping.innerChanges||[])if(f.lineRangeMapping.original.contains(_.originalRange.startLineNumber)&&u.push({range:_.originalRange,options:_.originalRange.isEmpty()&&d?e5:q_}),f.lineRangeMapping.modified.contains(_.modifiedRange.startLineNumber)&&h.push({range:_.modifiedRange,options:_.modifiedRange.isEmpty()&&d&&!m?Q4:tE}),m){const b=r.model.original.getValueInRange(_.originalRange);h.push({range:_.modifiedRange,options:{description:"deleted-text",before:{content:b,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(l)for(const f of l.changes){const m=f.original.toInclusiveRange();m&&u.push({range:m,options:c?I1:rG});const _=f.modified.toInclusiveRange();_&&h.push({range:_,options:c?eE:oG});for(const b of f.innerChanges||[])u.push({range:b.originalRange,options:q_}),h.push({range:b.modifiedRange,options:tE})}const g=this._diffModel.read(o).activeMovedText.read(o);for(const f of a.movedTexts)u.push({range:f.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(f===g?" currentMove":""),blockPadding:[K_.movedCodeBlockPadding,0,K_.movedCodeBlockPadding,K_.movedCodeBlockPadding]}}),h.push({range:f.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(f===g?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:u,modifiedDecorations:h}}),this._register(XL(this._editors.original,this._decorations.map(o=>(o==null?void 0:o.originalDecorations)||[]))),this._register(XL(this._editors.modified,this._decorations.map(o=>(o==null?void 0:o.modifiedDecorations)||[])))}}class J0e{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=gC(this,i=>{var o;const n=(o=this._sashRatio.read(i))!=null?o:this._options.splitViewDefaultRatio.read(i);return this._computeSashLeft(n,i)},(i,n)=>{const o=this.dimensions.width.get();this._sashRatio.set(i/o,n)}),this._sashRatio=Ze(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),o=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n,r=100;return i<=r*2?n:o<r?r:o>i-r?i-r:o}}class _G extends F{constructor(e,t,i,n,o,r){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=o,this._resetSash=r,this._sash=this._register(new ls(this._domNode,{getVerticalSashTop:a=>0,getVerticalSashLeft:a=>this.sashLeft.get(),getVerticalSashHeight:a=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(a=>{this.sashLeft.set(this._startSashPosition+(a.currentX-a.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(Fe(a=>{const l=this._boundarySashes.read(a);l&&(this._sash.orthogonalEndSash=l.bottom)})),this._register(Fe(a=>{const l=this._enabled.read(a);this._sash.state=l?3:0,this.sashLeft.read(a),this._dimensions.height.read(a),this._sash.layout()}))}}class exe extends F{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=Et(this,this._editor.onDidScrollChange,r=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(r=>r===0),this.modelAttached=Et(this,this._editor.onDidChangeModel,r=>this._editor.hasModel()),this.editorOnDidChangeViewZones=Bn("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=Bn("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=t_("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const n=this._domNode.appendChild(et("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),o=new ResizeObserver(()=>{bi(r=>{this.domNodeSizeChanged.trigger(r)})});o.observe(this._domNode),this._register(Se(()=>o.disconnect())),this._register(Fe(r=>{n.className=this.isScrollTopZero.read(r)?"":"scroll-decoration"})),this._register(Fe(r=>this.render(r)))}dispose(){super.dispose(),yn(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),o=Xe.ofStartAndLength(0,this._domNode.clientHeight);if(!o.isEmpty)for(const r of i){const a=new $e(r.startLineNumber,r.endLineNumber+1),l=this.itemProvider.getIntersectingGutterItems(a,e);bi(c=>{for(const d of l){if(!d.range.intersect(a))continue;n.delete(d.id);let u=this.views.get(d.id);if(u)u.item.set(d,c);else{const m=document.createElement("div");this._domNode.appendChild(m);const _=Ze("item",d),b=this.itemProvider.createView(_,m);u=new txe(_,b,m),this.views.set(d.id,u)}const h=d.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(d.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(d.range.startLineNumber-1,!1)-t,f=(d.range.endLineNumberExclusive===1?Math.max(h,this._editor.getTopForLineNumber(d.range.startLineNumber,!1)-t):Math.max(h,this._editor.getBottomForLineNumber(d.range.endLineNumberExclusive-1,!0)-t))-h;u.domNode.style.top=`${h}px`,u.domNode.style.height=`${f}px`,u.gutterItemView.layout(Xe.ofStartAndLength(h,f),o)}})}for(const r of n){const a=this.views.get(r);a.gutterItemView.dispose(),a.domNode.remove(),this.views.delete(r)}}}class txe{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class bG extends og{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class vG extends _V{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new fa(e-1,t)}}class ixe extends F{constructor(e,t,i={orientation:0}){var n;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Ioe),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new q),i.hoverDelegate=(n=i.hoverDelegate)!=null?n:this._register(n_()),this.options=i,this.toggleMenuAction=this._register(new T1(()=>{var o;return(o=this.toggleMenuActionViewItem)==null?void 0:o.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new gr(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(o,r)=>{var a;if(o.id===T1.ID)return this.toggleMenuActionViewItem=new dk(o,o.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Te.asClassNameArray((a=i.moreIcon)!=null?a:ne.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const l=i.actionViewItemProvider(o,r);if(l)return l}if(o instanceof _m){const l=new dk(o,o.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:o.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return l.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(l),this.disposables.add(this._onDidChangeDropdownVisibility.add(l.onDidChangeVisibility)),l}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(n=>{var o,r;this.actionBar.push(n,{icon:(o=this.options.icon)!=null?o:!0,label:(r=this.options.label)!=null?r:!1,keybinding:this.getKeybindingLabel(n)})})}getKeybindingLabel(e){var i,n,o;const t=(n=(i=this.options).getKeyBinding)==null?void 0:n.call(i,e);return(o=t==null?void 0:t.getLabel())!=null?o:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}const NT=class NT extends xo{constructor(e,t){t=t||p("moreActions","More Actions..."),super(NT.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}};NT.ID="toolbar.toggle.more";let T1=NT;var wG=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},va=function(s,e){return function(t,i){e(t,i,s)}};let N1=class extends ixe{constructor(e,t,i,n,o,r,a,l){super(e,o,{getKeyBinding:d=>{var u;return(u=r.lookupKeybinding(d.id))!=null?u:void 0},...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=n,this._contextMenuService=o,this._keybindingService=r,this._commandService=a,this._sessionDisposables=this._store.add(new q);const c=t==null?void 0:t.telemetrySource;c&&this._store.add(this.actionBar.onDidRun(d=>l.publicLog2("workbenchActionExecuted",{id:d.action.id,from:c})))}setActions(e,t=[],i){var d,u,h;this._sessionDisposables.clear();const n=e.slice(),o=t.slice(),r=[];let a=0;const l=[];let c=!1;if(((d=this._options)==null?void 0:d.hiddenItemStrategy)!==-1)for(let g=0;g<n.length;g++){const f=n[g];!(f instanceof ko)&&!(f instanceof wm)||f.hideActions&&(r.push(f.hideActions.toggle),f.hideActions.toggle.checked&&a++,f.hideActions.isHidden&&(c=!0,n[g]=void 0,((u=this._options)==null?void 0:u.hiddenItemStrategy)!==0&&(l[g]=f)))}if(((h=this._options)==null?void 0:h.overflowBehavior)!==void 0){const g=b_e(new Set(this._options.overflowBehavior.exempted),at.map(n,_=>_==null?void 0:_.id)),f=this._options.overflowBehavior.maxItems-g.size;let m=0;for(let _=0;_<n.length;_++){const b=n[_];b&&(m++,!g.has(b.id)&&m>=f&&(n[_]=void 0,l[_]=b))}}D6(n),D6(l),super.setActions(n,dn.join(l,o)),(r.length>0||n.length>0)&&this._sessionDisposables.add(z(this.getElement(),"contextmenu",g=>{var v,w,C,S,y;const f=new aa(ke(this.getElement()),g),m=this.getItemAction(f.target);if(!m)return;f.preventDefault(),f.stopPropagation();const _=[];if(m instanceof ko&&m.menuKeybinding)_.push(m.menuKeybinding);else if(!(m instanceof wm||m instanceof T1)){const k=!!this._keybindingService.lookupKeybinding(m.id);_.push(Pq(this._commandService,this._keybindingService,m.id,void 0,k))}if(r.length>0){let k=!1;if(a===1&&((v=this._options)==null?void 0:v.hiddenItemStrategy)===0){k=!0;for(let E=0;E<r.length;E++)if(r[E].checked){r[E]=rg({id:m.id,label:m.label,checked:!0,enabled:!1,run(){}});break}}if(!k&&(m instanceof ko||m instanceof wm)){if(!m.hideActions)return;_.push(m.hideActions.hide)}else _.push(rg({id:"label",label:p("hide","Hide"),enabled:!1,run(){}}))}const b=dn.join(_,r);(w=this._options)!=null&&w.resetMenu&&!i&&(i=[this._options.resetMenu]),c&&i&&(b.push(new dn),b.push(rg({id:"resetThisMenu",label:p("resetThisMenu","Reset Menu"),run:()=>this._menuService.resetHiddenStates(i)}))),b.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>f,getActions:()=>b,menuId:(C=this._options)==null?void 0:C.contextMenu,menuActionOptions:{renderShortTitle:!0,...(S=this._options)==null?void 0:S.menuOptions},skipTelemetry:typeof((y=this._options)==null?void 0:y.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};N1=wG([va(2,ir),va(3,Ne),va(4,Lo),va(5,xt),va(6,zt),va(7,is)],N1);let sE=class extends N1{constructor(e,t,i,n,o,r,a,l,c){super(e,{resetMenu:t,...i},n,o,r,a,l,c),this._onDidChangeMenuItems=this._store.add(new P),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const d=this._store.add(n.createMenu(t,o,{emitEventsForSubmenuChanges:!0})),u=()=>{var f,m,_;const h=[],g=[];pk(d,i==null?void 0:i.menuOptions,{primary:h,secondary:g},(f=i==null?void 0:i.toolbarOptions)==null?void 0:f.primaryGroup,(m=i==null?void 0:i.toolbarOptions)==null?void 0:m.shouldInlineSubmenu,(_=i==null?void 0:i.toolbarOptions)==null?void 0:_.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",h.length===0&&g.length===0),super.setActions(h,g)};this._store.add(d.onDidChange(()=>{u(),this._onDidChangeMenuItems.fire(this)})),u()}setActions(){throw new Ct("This toolbar is populated from a menu.")}};sE=wG([va(3,ir),va(4,Ne),va(5,Lo),va(6,xt),va(7,zt),va(8,is)],sE);var CG=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},oE=function(s,e){return function(t,i){e(t,i,s)}};const d5=[],rE=35;let u5=class extends F{constructor(e,t,i,n,o,r,a,l,c){super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=o,this._boundarySashes=r,this._instantiationService=a,this._contextKeyService=l,this._menuService=c,this._menu=this._register(this._menuService.createMenu(me.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=Et(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(d=>d.length>0),this._showSash=we(this,d=>this._options.renderSideBySide.read(d)&&this._hasActions.read(d)),this.width=we(this,d=>this._hasActions.read(d)?rE:0),this.elements=et("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:rE+"px"}},[]),this._currentDiff=we(this,d=>{var f;const u=this._diffModel.read(d);if(!u)return;const h=(f=u.diff.read(d))==null?void 0:f.mappings,g=this._editors.modifiedCursor.read(d);if(g)return h==null?void 0:h.find(m=>m.lineRangeMapping.modified.contains(g.lineNumber))}),this._selectedDiffs=we(this,d=>{const u=this._diffModel.read(d),h=u==null?void 0:u.diff.read(d);if(!h)return d5;const g=this._editors.modifiedSelections.read(d);if(g.every(b=>b.isEmpty()))return d5;const f=new Br(g.map(b=>$e.fromRangeInclusive(b))),_=h.mappings.filter(b=>b.lineRangeMapping.innerChanges&&f.intersects(b.lineRangeMapping.modified)).map(b=>({mapping:b,rangeMappings:b.lineRangeMapping.innerChanges.filter(v=>g.some(w=>L.areIntersecting(v.modifiedRange,w)))}));return _.length===0||_.every(b=>b.rangeMappings.length===0)?d5:_}),this._register(k0e(e,this.elements.root)),this._register(z(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(yd(this.elements.root,{display:this._hasActions.map(d=>d?"block":"none")})),_s(this,d=>this._showSash.read(d)?new _G(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,gC(this,h=>this._sashLayout.sashLeft.read(h)-rE,(h,g)=>this._sashLayout.sashLeft.set(h+rE,g)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new exe(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(d,u)=>{const h=this._diffModel.read(u);if(!h)return[];const g=h.diff.read(u);if(!g)return[];const f=this._selectedDiffs.read(u);if(f.length>0){const _=sr.fromRangeMappings(f.flatMap(b=>b.rangeMappings));return[new SG(_,!0,me.DiffEditorSelectionToolbar,void 0,h.model.original.uri,h.model.modified.uri)]}const m=this._currentDiff.read(u);return g.mappings.map(_=>new SG(_.lineRangeMapping.withInnerChangesFromLineRanges(),_.lineRangeMapping===(m==null?void 0:m.lineRangeMapping),me.DiffEditorHunkToolbar,void 0,h.model.original.uri,h.model.modified.uri))},createView:(d,u)=>this._instantiationService.createInstance(h5,d,u,this)})),this._register(z(this.elements.gutter,se.MOUSE_WHEEL,d=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(d)},{passive:!1}))}computeStagedValue(e){var a;const t=(a=e.innerChanges)!=null?a:[],i=new vG(this._editors.modifiedModel.get()),n=new vG(this._editors.original.getModel());return new yM(t.map(l=>l.toTextEdit(i))).apply(n)}layout(e){this.elements.gutter.style.left=e+"px"}};u5=CG([oE(6,ye),oE(7,Ne),oE(8,ir)],u5);class SG{constructor(e,t,i,n,o,r){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=o,this.modifiedUri=r}get id(){return this.mapping.modified.toString()}get range(){var e;return(e=this.rangeOverride)!=null?e:this.mapping.modified}}let h5=class extends F{constructor(e,t,i,n){super(),this._item=e,this._elements=et("div.gutterItem",{style:{height:"20px",width:"34px"}},[et("div.background@background",{},[]),et("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,r=>r.showAlways),this._menuId=this._item.map(this,r=>r.menuId),this._isSmall=Ze(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const o=this._register(n.createInstance(Hm,"element",!0,{position:{hoverPosition:1}}));this._register(U_(t,this._elements.root)),this._register(Fe(r=>{const a=this._showAlways.read(r);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",a),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(no((r,a)=>{this._elements.buttons.replaceChildren();const l=a.add(n.createInstance(sE,this._elements.buttons,this._menuId.read(r),{orientation:1,hoverDelegate:o,toolbarOptions:{primaryGroup:c=>c.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(r)?1:3},hiddenItemStrategy:0,actionRunner:new bG(()=>{const c=this._item.get(),d=c.mapping;return{mapping:d,originalWithModifiedChanges:i.computeStagedValue(d),originalUri:c.originalUri,modifiedUri:c.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));a.add(l.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const n=e.length/2-i/2,o=i;let r=e.start+n;const a=Xe.tryCreate(o,t.endExclusive-o-i),l=Xe.tryCreate(e.start+o,e.endExclusive-i-o);l&&a&&l.start<l.endExclusive&&(r=a.clip(r),r=l.clip(r)),this._elements.buttons.style.top=`${r-e.start}px`}};h5=CG([oE(3,ye)],h5);function Po(s){return g5.get(s)}const kh=class kh extends F{static get(e){let t=kh._map.get(e);if(!t){t=new kh(e),kh._map.set(e,t);const i=e.onDidDispose(()=>{const n=kh._map.get(e);n&&(kh._map.delete(e),n.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new e_(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){var t,i,n;super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=Ze(this,this.editor.getModel()),this.model=this._model,this.isReadonly=Et(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=w2({owner:this,lazy:!0},(i=(t=this.editor.getModel())==null?void 0:t.getVersionId())!=null?i:null),this.versionId=this._versionId,this._selections=w2({owner:this,equalsFn:p2(nk(_e.selectionsEqual)),lazy:!0},(n=this.editor.getSelections())!=null?n:null),this.selections=this._selections,this.isFocused=Et(this,o=>{const r=this.editor.onDidFocusEditorWidget(o),a=this.editor.onDidBlurEditorWidget(o);return{dispose(){r.dispose(),a.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=gC(this,o=>{var r,a;return this.versionId.read(o),(a=(r=this.model.read(o))==null?void 0:r.getValue())!=null?a:""},(o,r)=>{const a=this.model.get();a!==null&&o!==a.getValue()&&a.setValue(o)}),this.valueIsEmpty=we(this,o=>{var r;return this.versionId.read(o),((r=this.editor.getModel())==null?void 0:r.getValueLength())===0}),this.cursorSelection=ur({owner:this,equalsFn:p2(_e.selectionsEqual)},o=>{var r,a;return(a=(r=this.selections.read(o))==null?void 0:r[0])!=null?a:null}),this.onDidType=t_(this),this.scrollTop=Et(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=Et(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=Et(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(o=>o.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(o=>o.decorationsLeft),this.contentWidth=Et(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(o=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,o)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(o=>{var r,a;this._beginUpdate();try{this._versionId.set((a=(r=this.editor.getModel())==null?void 0:r.getVersionId())!=null?a:null,this._currentTransaction,o),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(o=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,o),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){var e,t;this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set((t=(e=this.editor.getModel())==null?void 0:e.getVersionId())!=null?t:null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return Et(this,t=>this.editor.onDidChangeConfiguration(i=>{i.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){const t=new q,i=this.editor.createDecorationsCollection();return t.add(fC({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const o=e.read(n);i.set(o)})),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const n=Fe(o=>{e.position.read(o),e.minContentWidthInPx.read(o),this.editor.layoutOverlayWidget(i)});return Se(()=>{n.dispose(),this.editor.removeOverlayWidget(i)})}};kh._map=new Map;let g5=kh;function f5(s,e){return Dpe({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(s)){const n=t.change;n!==void 0&&i.deltas.push(n),i.didChange=!0}return!0}},(t,i)=>{const n=s.read(t);i.didChange&&e(n,i.deltas)})}function nxe(s,e){const t=new q,i=f5(s,(n,o)=>{t.clear(),e(n,o,t)});return{dispose(){i.dispose(),t.dispose()}}}var sxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},oxe=function(s,e){return function(t,i){e(t,i,s)}},aE;let lE=(rp=class extends F{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=_s(this,l=>{const c=this._editors.modifiedModel.read(l),d=aE._breadcrumbsSourceFactory.read(l);return!c||!d?void 0:d(c,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const c=this._diffModel.get();bi(d=>{for(const u of this._editors.original.getSelections()||[])c==null||c.ensureOriginalLineIsVisible(u.getStartPosition().lineNumber,0,d),c==null||c.ensureOriginalLineIsVisible(u.getEndPosition().lineNumber,0,d)})})),this._register(this._editors.modified.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const c=this._diffModel.get();bi(d=>{for(const u of this._editors.modified.getSelections()||[])c==null||c.ensureModifiedLineIsVisible(u.getStartPosition().lineNumber,0,d),c==null||c.ensureModifiedLineIsVisible(u.getEndPosition().lineNumber,0,d)})}));const o=this._diffModel.map((l,c)=>{var u,h;const d=(u=l==null?void 0:l.unchangedRegions.read(c))!=null?u:[];return d.length===1&&d[0].modifiedLineNumber===1&&d[0].lineCount===((h=this._editors.modifiedModel.read(c))==null?void 0:h.getLineCount())?[]:d});this.viewZones=Du(this,(l,c)=>{const d=this._modifiedOutlineSource.read(l);if(!d)return{origViewZones:[],modViewZones:[]};const u=[],h=[],g=this._options.renderSideBySide.read(l),f=this._options.compactMode.read(l),m=o.read(l);for(let _=0;_<m.length;_++){const b=m[_];if(!b.shouldHideControls(l)&&!(f&&(_===0||_===m.length-1)))if(f){{const v=we(this,C=>b.getHiddenOriginalRange(C).startLineNumber-1),w=new j_(v,12);u.push(w),c.add(new yG(this._editors.original,w,b,!g))}{const v=we(this,C=>b.getHiddenModifiedRange(C).startLineNumber-1),w=new j_(v,12);h.push(w),c.add(new yG(this._editors.modified,w,b))}}else{{const v=we(this,C=>b.getHiddenOriginalRange(C).startLineNumber-1),w=new j_(v,24);u.push(w),c.add(new xG(this._editors.original,w,b,b.originalUnchangedRange,!g,d,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}{const v=we(this,C=>b.getHiddenModifiedRange(C).startLineNumber-1),w=new j_(v,24);h.push(w),c.add(new xG(this._editors.modified,w,b,b.modifiedUnchangedRange,!1,d,C=>this._diffModel.get().ensureModifiedLineIsVisible(C,2,void 0),this._options))}}}return{origViewZones:u,modViewZones:h}});const r={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},a={description:"Fold Unchanged",glyphMarginHoverMessage:new ss(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(p("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Te.asClassName(ne.fold),zIndex:10001};this._register(XL(this._editors.original,we(this,l=>{const c=o.read(l),d=c.map(u=>({range:u.originalUnchangedRange.toInclusiveRange(),options:r}));for(const u of c)u.shouldHideControls(l)&&d.push({range:L.fromPositions(new M(u.originalLineNumber,1)),options:a});return d}))),this._register(XL(this._editors.modified,we(this,l=>{const c=o.read(l),d=c.map(u=>({range:u.modifiedUnchangedRange.toInclusiveRange(),options:r}));for(const u of c)u.shouldHideControls(l)&&d.push({range:$e.ofLength(u.modifiedLineNumber,1).toInclusiveRange(),options:a});return d}))),this._register(Fe(l=>{const c=o.read(l);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(c.map(d=>d.getHiddenOriginalRange(l).toInclusiveRange()).filter(Il)),this._editors.modified.setHiddenAreas(c.map(d=>d.getHiddenModifiedRange(l).toInclusiveRange()).filter(Il))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(l=>{var c;if(!l.event.rightButton&&l.target.position&&((c=l.target.element)!=null&&c.className.includes("fold-unchanged"))){const d=l.target.position.lineNumber,u=this._diffModel.get();if(!u)return;const h=u.unchangedRegions.get().find(g=>g.modifiedUnchangedRange.includes(d));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(l=>{var c;if(!l.event.rightButton&&l.target.position&&((c=l.target.element)!=null&&c.className.includes("fold-unchanged"))){const d=l.target.position.lineNumber,u=this._diffModel.get();if(!u)return;const h=u.unchangedRegions.get().find(g=>g.originalUnchangedRange.includes(d));if(!h)return;h.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}}))}},aE=rp,rp._breadcrumbsSourceFactory=Ze(aE,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}})),rp);lE=aE=sxe([oxe(3,ye)],lE);class yG extends j4{constructor(e,t,i,n=!1){const o=et("div.diff-hidden-lines-widget");super(e,t,o.root),this._unchangedRegion=i,this._hide=n,this._nodes=et("div.diff-hidden-lines-compact",[et("div.line-left",[]),et("div.text@text",[]),et("div.line-right",[])]),o.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(Fe(r=>{if(!this._hide){const a=this._unchangedRegion.getHiddenModifiedRange(r).length,l=p("hiddenLines","{0} hidden lines",a);this._nodes.text.innerText=l}}))}}class xG extends j4{constructor(e,t,i,n,o,r,a,l){const c=et("div.diff-hidden-lines-widget");super(e,t,c.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=o,this._modifiedOutlineSource=r,this._revealModifiedHiddenLine=a,this._options=l,this._nodes=et("div.diff-hidden-lines",[et("div.top@top",{title:p("diff.hiddenLines.top","Click or drag to show more above")}),et("div.center@content",{style:{display:"flex"}},[et("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[oe("a",{title:p("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...Cu("$(unfold)"))]),et("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),et("div.bottom@bottom",{title:p("diff.bottom","Click or drag to show more below"),role:"button"})]),c.root.appendChild(this._nodes.root),this._hide?yn(this._nodes.first):this._register(yd(this._nodes.first,{width:Po(this._editor).layoutInfoContentLeft})),this._register(Fe(u=>{const h=this._unchangedRegion.visibleLineCountTop.read(u)+this._unchangedRegion.visibleLineCountBottom.read(u)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!h),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(u)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(u)>0),this._nodes.top.classList.toggle("canMoveBottom",!h);const g=this._unchangedRegion.isDragged.read(u),f=this._editor.getDomNode();f&&(f.classList.toggle("draggingUnchangedRegion",!!g),g==="top"?(f.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(u)>0),f.classList.toggle("canMoveBottom",!h)):g==="bottom"?(f.classList.toggle("canMoveTop",!h),f.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(u)>0)):(f.classList.toggle("canMoveTop",!1),f.classList.toggle("canMoveBottom",!1)))}));const d=this._editor;this._register(z(this._nodes.top,"mousedown",u=>{if(u.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),u.preventDefault();const h=u.clientY;let g=!1;const f=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const m=ke(this._nodes.top),_=z(m,"mousemove",v=>{const C=v.clientY-h;g=g||Math.abs(C)>2;const S=Math.round(C/d.getOption(67)),y=Math.max(0,Math.min(f+S,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(y,void 0)}),b=z(m,"mouseup",v=>{g||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),_.dispose(),b.dispose()})})),this._register(z(this._nodes.bottom,"mousedown",u=>{if(u.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),u.preventDefault();const h=u.clientY;let g=!1;const f=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const m=ke(this._nodes.bottom),_=z(m,"mousemove",v=>{const C=v.clientY-h;g=g||Math.abs(C)>2;const S=Math.round(C/d.getOption(67)),y=Math.max(0,Math.min(f-S,this._unchangedRegion.getMaxVisibleLineCountBottom())),k=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(y,void 0);const E=this._unchangedRegionRange.endLineNumberExclusive>d.getModel().getLineCount()?d.getContentHeight():d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(E-k))}),b=z(m,"mouseup",v=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!g){const w=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const C=d.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);d.setScrollTop(d.getScrollTop()+(C-w))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),_.dispose(),b.dispose()})})),this._register(Fe(u=>{const h=[];if(!this._hide){const g=i.getHiddenModifiedRange(u).length,f=p("hiddenLines","{0} hidden lines",g),m=oe("span",{title:p("diff.hiddenLines.expandAll","Double click to unfold")},f);m.addEventListener("dblclick",v=>{v.button===0&&(v.preventDefault(),this._unchangedRegion.showAll(void 0))}),h.push(m);const _=this._unchangedRegion.getHiddenModifiedRange(u),b=this._modifiedOutlineSource.getBreadcrumbItems(_,u);if(b.length>0){h.push(oe("span",void 0,"  |  "));for(let v=0;v<b.length;v++){const w=b[v],C=t0.toIcon(w.kind),S=et("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[Sg(C)," ",w.name,...v===b.length-1?[]:[Sg(ne.chevronRight)]]).root;h.push(S),S.onclick=()=>{this._revealModifiedHiddenLine(w.startLineNumber)}}}}yn(this._nodes.others,...h)}))}}var rxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},axe=function(s,e){return function(t,i){e(t,i,s)}},dl;let R1=(Kd=class extends F{constructor(e,t,i,n,o,r,a){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=o,this._modifiedEditorLayoutInfo=r,this._themeService=a,this.width=dl.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=Et(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),c=we(h=>{const g=l.read(h),f=g.getColor(Tue)||(g.getColor(Iue)||oP).transparent(2),m=g.getColor(Nue)||(g.getColor(Due)||rP).transparent(2);return{insertColor:f,removeColor:m}}),d=yt(document.createElement("div"));d.setClassName("diffViewport"),d.setPosition("absolute");const u=et("div.diffOverview",{style:{position:"absolute",top:"0px",width:dl.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(U_(u,d.domNode)),this._register(Si(u,se.POINTER_DOWN,h=>{this._editors.modified.delegateVerticalScrollbarPointerDown(h)})),this._register(z(u,se.MOUSE_WHEEL,h=>{this._editors.modified.delegateScrollFromMouseWheelEvent(h)},{passive:!1})),this._register(U_(this._rootElement,u)),this._register(no((h,g)=>{const f=this._diffModel.read(h),m=this._editors.original.createOverviewRuler("original diffOverviewRuler");m&&(g.add(m),g.add(U_(u,m.getDomNode())));const _=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(_&&(g.add(_),g.add(U_(u,_.getDomNode()))),!m||!_)return;const b=Bn("viewZoneChanged",this._editors.original.onDidChangeViewZones),v=Bn("viewZoneChanged",this._editors.modified.onDidChangeViewZones),w=Bn("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),C=Bn("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);g.add(Fe(S=>{var W;b.read(S),v.read(S),w.read(S),C.read(S);const y=c.read(S),k=(W=f==null?void 0:f.diff.read(S))==null?void 0:W.mappings;function E(V,U,B){const Y=B._getViewModel();return Y?V.filter(le=>le.length>0).map(le=>{const pe=Y.coordinatesConverter.convertModelPositionToViewPosition(new M(le.startLineNumber,1)),be=Y.coordinatesConverter.convertModelPositionToViewPosition(new M(le.endLineNumberExclusive,1)),ve=be.lineNumber-pe.lineNumber;return new MK(pe.lineNumber,be.lineNumber,ve,U.toString())}):[]}const N=E((k||[]).map(V=>V.lineRangeMapping.original),y.removeColor,this._editors.original),H=E((k||[]).map(V=>V.lineRangeMapping.modified),y.insertColor,this._editors.modified);m==null||m.setZones(N),_==null||_.setZones(H)})),g.add(Fe(S=>{const y=this._rootHeight.read(S),k=this._rootWidth.read(S),E=this._modifiedEditorLayoutInfo.read(S);if(E){const N=dl.ENTIRE_DIFF_OVERVIEW_WIDTH-2*dl.ONE_OVERVIEW_WIDTH;m.setLayout({top:0,height:y,right:N+dl.ONE_OVERVIEW_WIDTH,width:dl.ONE_OVERVIEW_WIDTH}),_.setLayout({top:0,height:y,right:0,width:dl.ONE_OVERVIEW_WIDTH});const H=this._editors.modifiedScrollTop.read(S),W=this._editors.modifiedScrollHeight.read(S),V=this._editors.modified.getOption(104),U=new zm(V.verticalHasArrows?V.arrowSize:0,V.verticalScrollbarSize,0,E.height,W,H);d.setTop(U.getSliderPosition()),d.setHeight(U.getSliderSize())}else d.setTop(0),d.setHeight(0);u.style.height=y+"px",u.style.left=k-dl.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",d.setWidth(dl.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},dl=Kd,Kd.ONE_OVERVIEW_WIDTH=15,Kd.ENTIRE_DIFF_OVERVIEW_WIDTH=Kd.ONE_OVERVIEW_WIDTH*2,Kd);R1=dl=rxe([axe(6,Ji)],R1);const p5=[];class lxe extends F{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=we(this,o=>{const r=this._diffModel.read(o),a=r==null?void 0:r.diff.read(o);if(!a)return p5;const l=this._editors.modifiedSelections.read(o);if(l.every(h=>h.isEmpty()))return p5;const c=new Br(l.map(h=>$e.fromRangeInclusive(h))),u=a.mappings.filter(h=>h.lineRangeMapping.innerChanges&&c.intersects(h.lineRangeMapping.modified)).map(h=>({mapping:h,rangeMappings:h.lineRangeMapping.innerChanges.filter(g=>l.some(f=>L.areIntersecting(g.modifiedRange,f)))}));return u.length===0||u.every(h=>h.rangeMappings.length===0)?p5:u}),this._register(no((o,r)=>{if(!this._options.shouldRenderOldRevertArrows.read(o))return;const a=this._diffModel.read(o),l=a==null?void 0:a.diff.read(o);if(!a||!l||a.movedTextToCompare.read(o))return;const c=[],d=this._selectedDiffs.read(o),u=new Set(d.map(h=>h.mapping));if(d.length>0){const h=this._editors.modifiedSelections.read(o),g=r.add(new cE(h[h.length-1].positionLineNumber,this._widget,d.flatMap(f=>f.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(g),c.push(g)}for(const h of l.mappings)if(!u.has(h)&&!h.lineRangeMapping.modified.isEmpty&&h.lineRangeMapping.innerChanges){const g=r.add(new cE(h.lineRangeMapping.modified.startLineNumber,this._widget,h.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(g),c.push(g)}r.add(Se(()=>{for(const h of c)this._editors.modified.removeGlyphMarginWidget(h)}))}))}}const RT=class RT extends F{getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id=`revertButton${RT.counter++}`,this._domNode=et("div.revertButton",{title:this._revertSelection?p("revertSelectedChanges","Revert Selected Changes"):p("revertChange","Revert Change")},[Sg(ne.arrowRight)]).root,this._register(z(this._domNode,se.MOUSE_DOWN,o=>{o.button!==2&&(o.stopPropagation(),o.preventDefault())})),this._register(z(this._domNode,se.MOUSE_UP,o=>{o.stopPropagation(),o.preventDefault()})),this._register(z(this._domNode,se.CLICK,o=>{this._diffs instanceof ms?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),o.stopPropagation(),o.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:ha.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}};RT.counter=0;let cE=RT;function cxe(s,e,t){return Npe({debugName:()=>`Configuration Key "${s}"`},i=>t.onDidChangeConfiguration(n=>{n.affectsConfiguration(s)&&i(n)}),()=>{var i;return(i=t.getValue(s))!=null?i:e})}function ul(s,e,t){const i=s.bindTo(e);return fC({debugName:()=>`Set Context Key "${s.key}"`},n=>{i.set(t(n))})}var dxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},kG=function(s,e){return function(t,i){e(t,i,s)}};let m5=class extends F{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,o,r,a){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=o,this._instantiationService=r,this._keybindingService=a,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new P),this.modifiedScrollTop=Et(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=Et(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=Po(this.modified),this.originalObs=Po(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=Et(this,this.modified.onDidChangeCursorSelection,()=>{var l;return(l=this.modified.getSelections())!=null?l:[]}),this.modifiedCursor=ur({owner:this,equalsFn:M.equals},l=>{var c,d;return(d=(c=this.modifiedSelections.read(l)[0])==null?void 0:c.getPosition())!=null?d:new M(1,1)}),this.originalCursor=Et(this,this.original.onDidChangeCursorPosition,()=>{var l;return(l=this.original.getPosition())!=null?l:new M(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(pC({createEmptyChangeSummary:()=>({}),handleChange:(l,c)=>(l.didChange(i.editorOptions)&&Object.assign(c,l.change.changedOptions),!0)},(l,c)=>{i.editorOptions.read(l),this._options.renderSideBySide.read(l),this.modified.updateOptions(this._adjustOptionsForRightHandSide(l,c)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(l,c))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return n.setContextValue("isInDiffLeftEditor",!0),n}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return n.setContextValue("isInDiffRightEditor",!0),n}_constructInnerEditor(e,t,i,n){const o=this._createInnerEditor(e,t,i,n);return this._register(o.onDidContentSizeChange(r=>{const a=this.original.getContentWidth()+this.modified.getContentWidth()+R1.ENTIRE_DIFF_OVERVIEW_WIDTH,l=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:l,contentWidth:a,contentHeightChanged:r.contentHeightChanged,contentWidthChanged:r.contentWidthChanged})})),o}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=Ma.revealHorizontalRightPadding.defaultValue+R1.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var i;e||(e="");const t=p("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))==null?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};m5=dxe([kG(5,ye),kG(6,xt)],m5);const AT=class AT extends F{constructor(){super(...arguments),this._id=++AT.idCounter,this._onDidDispose=this._register(new P),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}};AT.idCounter=0;let _5=AT;var uxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},hxe=function(s,e){return function(t,i){e(t,i,s)}};let b5=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=Ze(this,0),this._screenReaderMode=Et(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=we(this,n=>this._options.read(n).renderSideBySide&&this._diffEditorWidth.read(n)<=this._options.read(n).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=we(this,n=>this._options.read(n).renderOverviewRuler),this.renderSideBySide=we(this,n=>this.compactMode.read(n)&&this.shouldRenderInlineViewInSmartMode.read(n)?!1:this._options.read(n).renderSideBySide&&!(this._options.read(n).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(n)&&!this._screenReaderMode.read(n))),this.readOnly=we(this,n=>this._options.read(n).readOnly),this.shouldRenderOldRevertArrows=we(this,n=>!(!this._options.read(n).renderMarginRevertIcon||!this.renderSideBySide.read(n)||this.readOnly.read(n)||this.shouldRenderGutterMenu.read(n))),this.shouldRenderGutterMenu=we(this,n=>this._options.read(n).renderGutterMenu),this.renderIndicators=we(this,n=>this._options.read(n).renderIndicators),this.enableSplitViewResizing=we(this,n=>this._options.read(n).enableSplitViewResizing),this.splitViewDefaultRatio=we(this,n=>this._options.read(n).splitViewDefaultRatio),this.ignoreTrimWhitespace=we(this,n=>this._options.read(n).ignoreTrimWhitespace),this.maxComputationTimeMs=we(this,n=>this._options.read(n).maxComputationTime),this.showMoves=we(this,n=>this._options.read(n).experimental.showMoves&&this.renderSideBySide.read(n)),this.isInEmbeddedEditor=we(this,n=>this._options.read(n).isInEmbeddedEditor),this.diffWordWrap=we(this,n=>this._options.read(n).diffWordWrap),this.originalEditable=we(this,n=>this._options.read(n).originalEditable),this.diffCodeLens=we(this,n=>this._options.read(n).diffCodeLens),this.accessibilityVerbose=we(this,n=>this._options.read(n).accessibilityVerbose),this.diffAlgorithm=we(this,n=>this._options.read(n).diffAlgorithm),this.showEmptyDecorations=we(this,n=>this._options.read(n).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=we(this,n=>this._options.read(n).onlyShowAccessibleDiffViewer),this.compactMode=we(this,n=>this._options.read(n).compactMode),this.trueInlineDiffRenderingEnabled=we(this,n=>this._options.read(n).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=we(this,n=>!this.renderSideBySide.read(n)&&this.trueInlineDiffRenderingEnabled.read(n)),this.hideUnchangedRegions=we(this,n=>this._options.read(n).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=we(this,n=>this._options.read(n).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=we(this,n=>this._options.read(n).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=we(this,n=>this._options.read(n).hideUnchangedRegions.minimumLineCount),this._model=Ze(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,n=>Ppe(this,o=>{const r=n==null?void 0:n.diff.read(o);return r?gxe(r,this.trueInlineDiffRenderingEnabled.read(o)):void 0})).flatten().map(this,n=>!!n),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...LG(e,Fn)};this._options=Ze(this,i)}updateOptions(e){const t=LG(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};b5=uxe([hxe(1,Eo)],b5);function gxe(s,e){return s.mappings.every(t=>fxe(t.lineRangeMapping)||pxe(t.lineRangeMapping)||e&&l5(t.lineRangeMapping))}function fxe(s){return s.original.length===0}function pxe(s){return s.modified.length===0}function LG(s,e){var t,i,n,o,r,a,l,c,d;return{enableSplitViewResizing:Ce(s.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:Ise(s.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:Ce(s.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:Ce(s.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:Yh(s.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:Yh(s.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:Ce(s.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:Ce(s.renderIndicators,e.renderIndicators),originalEditable:Ce(s.originalEditable,e.originalEditable),diffCodeLens:Ce(s.diffCodeLens,e.diffCodeLens),renderOverviewRuler:Ce(s.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:yi(s.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:yi(s.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:Ce(s.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:Ce((t=s.experimental)==null?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:Ce((i=s.experimental)==null?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations),useTrueInlineView:Ce((n=s.experimental)==null?void 0:n.useTrueInlineView,e.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:Ce((a=(o=s.hideUnchangedRegions)==null?void 0:o.enabled)!=null?a:(r=s.experimental)==null?void 0:r.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:Yh((l=s.hideUnchangedRegions)==null?void 0:l.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:Yh((c=s.hideUnchangedRegions)==null?void 0:c.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:Yh((d=s.hideUnchangedRegions)==null?void 0:d.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:Ce(s.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:Ce(s.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:Yh(s.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:Ce(s.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:Ce(s.renderGutterMenu,e.renderGutterMenu),compactMode:Ce(s.compactMode,e.compactMode)}}var mxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},A1=function(s,e){return function(t,i){e(t,i,s)}};let xd=class extends _5{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,o,r,a,l){var C;super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=o,this._accessibilitySignalService=a,this._editorProgressService=l,this.elements=et("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[et("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),et("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),et("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(hC(this,void 0)),this._diffModel=we(this,S=>{var y;return(y=this._diffModelSrc.read(S))==null?void 0:y.object}),this.onDidChangeModel=ae.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new L_([Ne,this._contextKeyService]))),this._boundarySashes=Ze(this,void 0),this._accessibleDiffViewerShouldBeVisible=Ze(this,!1),this._accessibleDiffViewerVisible=we(this,S=>this._options.onlyShowAccessibleDiffViewer.read(S)?!0:this._accessibleDiffViewerShouldBeVisible.read(S)),this._movedBlocksLinesPart=Ze(this,void 0),this._layoutInfo=we(this,S=>{var be,ve,Re,Pe,hi;const y=this._rootSizeObserver.width.read(S),k=this._rootSizeObserver.height.read(S);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=k+"px";const E=this._sash.read(S),N=this._gutter.read(S),H=(be=N==null?void 0:N.width.read(S))!=null?be:0,W=(Re=(ve=this._overviewRulerPart.read(S))==null?void 0:ve.width)!=null?Re:0;let V,U,B,Y,le;if(!!E){const Rt=E.sashLeft.read(S),Di=(hi=(Pe=this._movedBlocksLinesPart.read(S))==null?void 0:Pe.width.read(S))!=null?hi:0;V=0,U=Rt-H-Di,le=Rt-H,B=Rt,Y=y-B-W}else{le=0;const Rt=this._options.inlineViewHideOriginalLineNumbers.read(S);V=H,Rt?U=0:U=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(S)),B=H+U,Y=y-B-W}return this.elements.original.style.left=V+"px",this.elements.original.style.width=U+"px",this._editors.original.layout({width:U,height:k},!0),N==null||N.layout(le),this.elements.modified.style.left=B+"px",this.elements.modified.style.width=Y+"px",this._editors.modified.layout({width:Y,height:k},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((S,y)=>S==null?void 0:S.diff.read(y)),this.onDidUpdateDiff=ae.fromObservableLight(this._diffValue),r.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(Se(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new eG(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((C=t.automaticLayout)!=null?C:!1),this._options=this._instantiationService.createInstance(b5,t),this._register(Fe(S=>{this._options.setWidth(this._rootSizeObserver.width.read(S))})),this._contextKeyService.createKey(I.isEmbeddedDiffEditor.key,!1),this._register(ul(I.isEmbeddedDiffEditor,this._contextKeyService,S=>this._options.isInEmbeddedEditor.read(S))),this._register(ul(I.comparingMovedCode,this._contextKeyService,S=>{var y;return!!((y=this._diffModel.read(S))!=null&&y.movedTextToCompare.read(S))})),this._register(ul(I.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,S=>this._options.couldShowInlineViewBecauseOfSize.read(S))),this._register(ul(I.diffEditorInlineMode,this._contextKeyService,S=>!this._options.renderSideBySide.read(S))),this._register(ul(I.hasChanges,this._contextKeyService,S=>{var y,k,E;return((E=(k=(y=this._diffModel.read(S))==null?void 0:y.diff.read(S))==null?void 0:k.mappings.length)!=null?E:0)>0})),this._editors=this._register(this._instantiationService.createInstance(m5,this.elements.original,this.elements.modified,this._options,i,(S,y,k,E)=>this._createInnerEditor(S,y,k,E))),this._register(ul(I.diffEditorOriginalWritable,this._contextKeyService,S=>this._options.originalEditable.read(S))),this._register(ul(I.diffEditorModifiedWritable,this._contextKeyService,S=>!this._options.readOnly.read(S))),this._register(ul(I.diffEditorOriginalUri,this._contextKeyService,S=>{var y,k;return(k=(y=this._diffModel.read(S))==null?void 0:y.model.original.uri.toString())!=null?k:""})),this._register(ul(I.diffEditorModifiedUri,this._contextKeyService,S=>{var y,k;return(k=(y=this._diffModel.read(S))==null?void 0:y.model.modified.uri.toString())!=null?k:""})),this._overviewRulerPart=_s(this,S=>this._options.renderOverviewRuler.read(S)?this._instantiationService.createInstance(Mo(R1,S),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(y=>y.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const c={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((S,y)=>{var k,E;return S-((E=(k=this._overviewRulerPart.read(y))==null?void 0:k.width)!=null?E:0)})};this._sashLayout=new J0e(this._options,c),this._sash=_s(this,S=>{const y=this._options.renderSideBySide.read(S);return this.elements.root.classList.toggle("side-by-side",y),y?new _G(this.elements.root,c,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const d=_s(this,S=>this._instantiationService.createInstance(Mo(lE,S),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);_s(this,S=>this._instantiationService.createInstance(Mo(Q0e,S),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const u=new Set,h=new Set;let g=!1;const f=_s(this,S=>this._instantiationService.createInstance(Mo(a5,S),ke(this._domElement),this._editors,this._diffModel,this._options,this,()=>g||d.get().isUpdatingHiddenAreas,u,h)).recomputeInitiallyAndOnChange(this._store),m=we(this,S=>{const y=f.read(S).viewZones.read(S).orig,k=d.read(S).viewZones.read(S).origViewZones;return y.concat(k)}),_=we(this,S=>{const y=f.read(S).viewZones.read(S).mod,k=d.read(S).viewZones.read(S).modViewZones;return y.concat(k)});this._register(QL(this._editors.original,m,S=>{g=S},u));let b;this._register(QL(this._editors.modified,_,S=>{g=S,g?b=cl.capture(this._editors.modified):(b==null||b.restore(this._editors.modified),b=void 0)},h)),this._accessibleDiffViewer=_s(this,S=>this._instantiationService.createInstance(Mo(hf,S),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(y,k)=>this._accessibleDiffViewerShouldBeVisible.set(y,k),this._options.onlyShowAccessibleDiffViewer.map(y=>!y),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((y,k)=>{var E;return(E=y==null?void 0:y.diff.read(k))==null?void 0:E.mappings.map(N=>N.lineRangeMapping)}),new H0e(this._editors))).recomputeInitiallyAndOnChange(this._store);const v=this._accessibleDiffViewerVisible.map(S=>S?"hidden":"visible");this._register(yd(this.elements.modified,{visibility:v})),this._register(yd(this.elements.original,{visibility:v})),this._createDiffEditorContributions(),r.addDiffEditor(this),this._gutter=_s(this,S=>this._options.shouldRenderGutterMenu.read(S)?this._instantiationService.createInstance(Mo(u5,S),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(i_(this._layoutInfo)),_s(this,S=>new(Mo(K_,S))(this.elements.root,this._diffModel,this._layoutInfo.map(y=>y.originalEditor),this._layoutInfo.map(y=>y.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,S=>{this._movedBlocksLinesPart.set(S,void 0)}),this._register(ae.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,S=>this._handleCursorPositionChange(S,!0))),this._register(ae.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,S=>this._handleCursorPositionChange(S,!1)));const w=this._diffModel.map(this,(S,y)=>{if(S)return S.diff.read(y)===void 0&&!S.isDiffUpToDate.read(y)});this._register(no((S,y)=>{if(w.read(S)===!0){const k=this._editorProgressService.show(!0,1e3);y.add(Se(()=>k.done()))}})),this._register(no((S,y)=>{y.add(new(Mo(lxe,S))(this._editors,this._diffModel,this._options,this))})),this._register(no((S,y)=>{const k=this._diffModel.read(S);if(k)for(const E of[k.model.original,k.model.modified])y.add(E.onWillDispose(N=>{We(new Ct("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(Fe(S=>{this._options.setModel(this._diffModel.read(S))}))}_createInnerEditor(e,t,i,n){return e.createInstance(L1,t,i,n)}_createDiffEditorContributions(){const e=gg.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){We(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return t1.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var i;const e=this._editors.original.saveViewState(),t=this._editors.modified.saveViewState();return{original:e,modified:t,modelState:(i=this._diffModel.get())==null?void 0:i.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())==null||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(s5,e,this._options)}getModel(){var e,t;return(t=(e=this._diffModel.get())==null?void 0:e.model)!=null?t:null}setModel(e){const t=e?"model"in e?JL.create(e).createNewRef(this):JL.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==(e==null?void 0:e.object)&&Ig(t,n=>{var a;const o=e==null?void 0:e.object;Et.batchEventsGlobally(n,()=>{this._editors.original.setModel(o?o.model.original:null),this._editors.modified.setModel(o?o.model.modified:null)});const r=(a=this._diffModelSrc.get())==null?void 0:a.createNewRef(this);this._diffModelSrc.set(e==null?void 0:e.createNewRef(this),n),setTimeout(()=>{r==null||r.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const e=(t=this._diffModel.get())==null?void 0:t.diff.get();return e?_xe(e):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(n=>({range:n.modifiedRange,text:t.model.original.getValueInRange(n.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new M(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var o,r,a,l;const t=(r=(o=this._diffModel.get())==null?void 0:o.diff.get())==null?void 0:r.mappings;if(!t||t.length===0)return;const i=this._editors.modified.getPosition().lineNumber;let n;e==="next"?n=(a=t.find(c=>c.lineRangeMapping.modified.startLineNumber>i))!=null?a:t[0]:n=(l=Dw(t,c=>c.lineRangeMapping.modified.startLineNumber<i))!=null?l:t[t.length-1],this._goTo(n),n.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(vr.diffLineDeleted,{source:"diffEditor.goToDiff"}):n.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(vr.diffLineInserted,{source:"diffEditor.goToDiff"}):n&&this._accessibilitySignalService.playSignal(vr.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){const e=this._diffModel.get();e&&this.waitForDiff().then(()=>{var i;const t=(i=e.diff.get())==null?void 0:i.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var r,a;const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let n;const o=t.getSelection();if(o){const l=(a=(r=this._diffModel.get())==null?void 0:r.diff.get())==null?void 0:a.mappings.map(c=>e?c.lineRangeMapping.flip():c.lineRangeMapping);if(l){const c=iG(o.getStartPosition(),l),d=iG(o.getEndPosition(),l);n=L.plusRange(c,d)}}return{destination:i,destinationSelection:n}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&bi(i=>{for(const n of e)n.collapseAll(i)})}showAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&bi(i=>{for(const n of e)n.showAll(i)})}_handleCursorPositionChange(e,t){var i,n;if((e==null?void 0:e.reason)===3){const o=(n=(i=this._diffModel.get())==null?void 0:i.diff.get())==null?void 0:n.mappings.find(r=>t?r.lineRangeMapping.modified.contains(e.position.lineNumber):r.lineRangeMapping.original.contains(e.position.lineNumber));o!=null&&o.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(vr.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):o!=null&&o.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(vr.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):o&&this._accessibilitySignalService.playSignal(vr.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};xd=mxe([A1(3,Ne),A1(4,ye),A1(5,mt),A1(6,Vu),A1(7,Iu)],xd);function _xe(s){return s.mappings.map(e=>{const t=e.lineRangeMapping;let i,n,o,r,a=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,n=0,a=void 0):(i=t.original.startLineNumber,n=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(o=t.modified.startLineNumber-1,r=0,a=void 0):(o=t.modified.startLineNumber,r=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:n,modifiedStartLineNumber:o,modifiedEndLineNumber:r,charChanges:a==null?void 0:a.map(l=>({originalStartLineNumber:l.originalRange.startLineNumber,originalStartColumn:l.originalRange.startColumn,originalEndLineNumber:l.originalRange.endLineNumber,originalEndColumn:l.originalRange.endColumn,modifiedStartLineNumber:l.modifiedRange.startLineNumber,modifiedStartColumn:l.modifiedRange.startColumn,modifiedEndLineNumber:l.modifiedRange.endLineNumber,modifiedEndColumn:l.modifiedRange.endColumn}))}})}var v5=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Qt=function(s,e){return function(t,i){e(t,i,s)}};let bxe=0,EG=!1;function vxe(s){if(!s){if(EG)return;EG=!0}Efe(s||Ot.document.body)}let dE=class extends L1{constructor(e,t,i,n,o,r,a,l,c,d,u,h,g){const f={...t};f.ariaLabel=f.ariaLabel||d2.editorViewAccessibleLabel,super(e,f,{},i,n,o,r,c,d,u,h,g),l instanceof I_?this._standaloneKeybindingService=l:this._standaloneKeybindingService=null,vxe(f.ariaContainerElement),Wpe((m,_)=>i.createInstance(Hm,m,_,{})),Hpe(a)}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const n="DYNAMIC_"+ ++bxe,o=K.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,o),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),F.None;const t=e.id,i=e.label,n=K.and(K.equals("editorId",this.getId()),K.deserialize(e.precondition)),o=e.keybindings,r=K.and(n,K.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,c=(g,...f)=>Promise.resolve(e.run(this,...f)),d=new q,u=this.getId()+":"+t;if(d.add(lt.registerCommand(u,c)),a){const g={command:{id:u,title:i},when:n,group:a,order:l};d.add(pn.appendMenuItem(me.EditorContext,g))}if(Array.isArray(o))for(const g of o)d.add(this._standaloneKeybindingService.addDynamicKeybinding(u,g,c,r));const h=new HK(u,i,i,void 0,n,(...g)=>Promise.resolve(e.run(this,...g)),this._contextKeyService);return this._actions.set(t,h),d.add(Se(()=>{this._actions.delete(t)})),d}_triggerCommand(e,t){if(this._codeEditorService instanceof sx)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};dE=v5([Qt(2,ye),Qt(3,mt),Qt(4,zt),Qt(5,Ne),Qt(6,ql),Qt(7,xt),Qt(8,Ji),Qt(9,Fi),Qt(10,Eo),Qt(11,pi),Qt(12,fe)],dE);let w5=class extends dE{constructor(e,t,i,n,o,r,a,l,c,d,u,h,g,f,m,_){const b={...t};_L(u,b,!1);const v=c.registerEditorContainer(e);typeof b.theme=="string"&&c.setTheme(b.theme),typeof b.autoDetectHighContrast<"u"&&c.setAutoDetectHighContrast(!!b.autoDetectHighContrast);const w=b.model;delete b.model,super(e,b,i,n,o,r,a,l,c,d,h,m,_),this._configurationService=u,this._standaloneThemeService=c,this._register(v);let C;if(typeof w>"u"){const S=f.getLanguageIdByMimeType(b.language)||b.language||As;C=IG(g,f,b.value||"",S,void 0),this._ownsModel=!0}else C=w,this._ownsModel=!1;if(this._attachModel(C),C){const S={oldModelUrl:null,newModelUrl:C.uri};this._onDidChangeModel.fire(S)}}dispose(){super.dispose()}updateOptions(e){_L(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};w5=v5([Qt(2,ye),Qt(3,mt),Qt(4,zt),Qt(5,Ne),Qt(6,ql),Qt(7,xt),Qt(8,br),Qt(9,Fi),Qt(10,Ge),Qt(11,Eo),Qt(12,Kt),Qt(13,li),Qt(14,pi),Qt(15,fe)],w5);let C5=class extends xd{constructor(e,t,i,n,o,r,a,l,c,d,u,h){const g={...t};_L(l,g,!0);const f=r.registerEditorContainer(e);typeof g.theme=="string"&&r.setTheme(g.theme),typeof g.autoDetectHighContrast<"u"&&r.setAutoDetectHighContrast(!!g.autoDetectHighContrast),super(e,g,{},n,i,o,h,d),this._configurationService=l,this._standaloneThemeService=r,this._register(f)}dispose(){super.dispose()}updateOptions(e){_L(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(dE,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};C5=v5([Qt(2,ye),Qt(3,Ne),Qt(4,mt),Qt(5,br),Qt(6,Fi),Qt(7,Ge),Qt(8,Lo),Qt(9,Iu),Qt(10,_d),Qt(11,Vu)],C5);function IG(s,e,t,i,n){if(t=t||"",!i){const o=t.indexOf(`
659
659
  `);let r=t;return o!==-1&&(r=t.substring(0,o)),DG(s,t,e.createByFilepathOrFirstLine(n||null,r),n)}return DG(s,t,e.createById(i),n)}function DG(s,e,t,i){return s.createModel(e,t,i)}var wxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},TG=function(s,e){return function(t,i){e(t,i,s)}};class Cxe{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let uE=class extends F{constructor(e,t,i,n,o){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=Ze(this,void 0),this._collapsed=we(this,l=>{var c;return(c=this._viewModel.read(l))==null?void 0:c.collapsed.read(l)}),this._editorContentHeight=Ze(this,500),this.contentHeight=we(this,l=>(this._collapsed.read(l)?0:this._editorContentHeight.read(l))+this._outerEditorHeight),this._modifiedContentWidth=Ze(this,0),this._modifiedWidth=Ze(this,0),this._originalContentWidth=Ze(this,0),this._originalWidth=Ze(this,0),this.maxScroll=we(this,l=>{const c=this._modifiedContentWidth.read(l)-this._modifiedWidth.read(l),d=this._originalContentWidth.read(l)-this._originalWidth.read(l);return c>d?{maxScroll:c,width:this._modifiedWidth.read(l)}:{maxScroll:d,width:this._originalWidth.read(l)}}),this._elements=et("div.multiDiffEntry",[et("div.header@header",[et("div.header-content",[et("div.collapse-button@collapseButton"),et("div.file-path",[et("div.title.modified.show-file-icons@primaryPath",[]),et("div.status.deleted@status",["R"]),et("div.title.original.show-file-icons@secondaryPath",[])]),et("div.actions@actions")])]),et("div.editorParent",[et("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(xd,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=Po(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=Po(this.editor.getOriginalEditor()).isFocused,this.isFocused=we(this,l=>this.isModifedFocused.read(l)||this.isOriginalFocused.read(l)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new q),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const r=new Bk(this._elements.collapseButton,{});this._register(Fe(l=>{r.element.className="",r.icon=this._collapsed.read(l)?ne.chevronRight:ne.chevronDown})),this._register(r.onDidClick(()=>{var l;(l=this._viewModel.get())==null||l.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Fe(l=>{this._elements.editor.style.display=this._collapsed.read(l)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(l=>{const c=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(c,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(l=>{const c=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(c,void 0)})),this._register(this.editor.onDidContentSizeChange(l=>{uC(c=>{this._editorContentHeight.set(l.contentHeight,c),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),c),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),c)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(l=>{if(this._isSettingScrollTop||!l.scrollTopChanged||!this._data)return;const c=l.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(c)})),this._register(Fe(l=>{var d;const c=(d=this._viewModel.read(l))==null?void 0:d.isActive.read(l);this._elements.root.classList.toggle("active",c)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(o.createScoped(this._elements.actions));const a=this._register(this._instantiationService.createChild(new L_([Ne,this._contextKeyService])));this._register(a.createInstance(sE,this._elements.actions,me.MultiDiffEditorFileToolbar,{actionRunner:this._register(new bG(()=>{var l;return(l=this._viewModel.get())==null?void 0:l.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:l=>l.startsWith("navigation")},actionViewItemProvider:(l,c)=>vU(a,l,c)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(n){return{...n,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){uC(n=>{this._viewModel.set(void 0,n),this.editor.setDiffModel(null,n),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(uC(n=>{var c,d,u,h;(d=this._resourceLabel)==null||d.setUri((c=e.viewModel.modifiedUri)!=null?c:e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let o=!1,r=!1,a=!1,l="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(l="R",o=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(l="A",a=!0):(l="D",r=!0),this._elements.status.classList.toggle("renamed",o),this._elements.status.classList.toggle("deleted",r),this._elements.status.classList.toggle("added",a),this._elements.status.innerText=l,(u=this._resourceLabel2)==null||u.setUri(o?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,n),this.editor.updateOptions(t((h=i.options)!=null?h:{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var n;this.editor.updateOptions(t((n=i.options)!=null?n:{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,n=>{n||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[n,o]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(n,o)}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const o=e.length-this._headerHeight,r=Math.max(0,Math.min(n.start-e.start,o));this._elements.header.style.transform=`translateY(${r}px)`,uC(a=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",r>0||i>0),this._elements.header.classList.toggle("collapsed",r===o)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};uE=wxe([TG(3,ye),TG(4,Ne)],uE);class Sxe{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var i;let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{const n=[...this._unused.values()];t=(i=n.find(o=>this._itemData.get(o).getId()===e.getId()))!=null?i:n[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var yxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},NG=function(s,e){return function(t,i){e(t,i,s)}};let S5=class extends F{constructor(e,t,i,n,o,r){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=o,this._parentInstantiationService=r,this._scrollableElements=et("div.scrollContent",[et("div@content",{style:{overflow:"hidden"}}),et("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Um({forceIntegerValues:!1,scheduleAtNextAnimationFrame:l=>Co(ke(this._element),l),smoothScrollDuration:100})),this._scrollableElement=this._register(new Ix(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=et("div.monaco-component.multiDiffEditor",{},[et("div",{},[this._scrollableElement.getDomNode()]),et("div.placeholder@placeholder",{},[et("div",[p("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new eG(this._element,void 0)),this._objectPool=this._register(new Sxe(l=>{const c=this._instantiationService.createInstance(uE,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return c.setData(l),c})),this.scrollTop=Et(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Et(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=Du(this,(l,c)=>{const d=this._viewModel.read(l);if(!d)return{items:[],getItem:f=>{throw new Ct}};const u=d.items.read(l),h=new Map;return{items:u.map(f=>{var b;const m=c.add(new xxe(f,this._objectPool,this.scrollLeft,v=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+v})})),_=(b=this._lastDocStates)==null?void 0:b[m.getKey()];return _&&bi(v=>{m.setViewState(_,v)}),h.set(f,m),m}),getItem:f=>h.get(f)}}),this._viewItems=this._viewItemsInfo.map(this,l=>l.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(l,c)=>l.reduce((d,u)=>d+u.contentHeight.read(c)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new L_([Ne,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(I.inMultiDiffEditor.key,!0),this._register(no((l,c)=>{const d=this._viewModel.read(l);if(d&&d.contextKeys)for(const[u,h]of Object.entries(d.contextKeys)){const g=this._contextKeyService.createKey(u,void 0);g.set(h),c.add(Se(()=>g.reset()))}}));const a=this._parentContextKeyService.createKey(I.multiDiffEditorAllCollapsed.key,!1);this._register(Fe(l=>{const c=this._viewModel.read(l);if(c){const d=c.items.read(l).every(u=>u.collapsed.read(l));a.set(d)}})),this._register(Fe(l=>{const c=this._dimension.read(l);this._sizeObserver.observe(c)})),this._register(Fe(l=>{const c=this._viewItems.read(l);this._elements.placeholder.classList.toggle("visible",c.length===0)})),this._scrollableElements.content.style.position="relative",this._register(Fe(l=>{const c=this._sizeObserver.height.read(l);this._scrollableElements.root.style.height=`${c}px`;const d=this._totalHeight.read(l);this._scrollableElements.content.style.height=`${d}px`;const u=this._sizeObserver.width.read(l);let h=u;const g=this._viewItems.read(l),f=SM(g,xs(m=>m.maxScroll.read(l).maxScroll,na));if(f){const m=f.maxScroll.read(l);h=u+m.maxScroll}this._scrollableElement.setScrollDimensions({width:u,height:c,scrollHeight:d,scrollWidth:h})})),e.replaceChildren(this._elements.root),this._register(Se(()=>{e.replaceChildren()})),this._register(this._register(Fe(l=>{uC(c=>{this.render(l)})})))}render(e){const t=this.scrollTop.read(e);let i=0,n=0,o=0;const r=this._sizeObserver.height.read(e),a=Xe.ofStartAndLength(t,r),l=this._sizeObserver.width.read(e);for(const c of this._viewItems.read(e)){const d=c.contentHeight.read(e),u=Math.min(d,r),h=Xe.ofStartAndLength(n,u),g=Xe.ofStartAndLength(o,d);if(g.isBefore(a))i-=d-u,c.hide();else if(g.isAfter(a))c.hide();else{const f=Math.max(0,Math.min(a.start-g.start,d-u));i-=f;const m=Xe.ofStartAndLength(t+i,r);c.render(h,f,l,m)}n+=u+this._spaceBetweenPx,o+=d+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};S5=yxe([NG(4,Ne),NG(5,ye)],S5);class xxe extends F{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register(hC(this,void 0)),this.contentHeight=we(this,o=>{var r,a,l;return(l=(a=(r=this._templateRef.read(o))==null?void 0:r.object.contentHeight)==null?void 0:a.read(o))!=null?l:this.viewModel.lastTemplateData.read(o).contentHeight}),this.maxScroll=we(this,o=>{var r,a;return(a=(r=this._templateRef.read(o))==null?void 0:r.object.maxScroll.read(o))!=null?a:{maxScroll:0,scrollWidth:0}}),this.template=we(this,o=>{var r;return(r=this._templateRef.read(o))==null?void 0:r.object}),this._isHidden=Ze(this,!1),this._isFocused=we(this,o=>{var r,a;return(a=(r=this.template.read(o))==null?void 0:r.isFocused.read(o))!=null?a:!1}),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(Fe(o=>{var a;const r=this._scrollLeft.read(o);(a=this._templateRef.read(o))==null||a.object.setScrollLeft(r)})),this._register(Fe(o=>{const r=this._templateRef.read(o);!r||!this._isHidden.read(o)||r.object.isFocused.read(o)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${(e=this.viewModel.documentDiffItem.modified)==null?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var r;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),n=(r=e.selections)==null?void 0:r.map(_e.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:n},t);const o=this._templateRef.get();o&&n&&o.object.editor.setSelections(n)}_updateTemplateData(e){var i;const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:(i=t.object.editor.getSelections())!=null?i:void 0},e)}_clear(){const e=this._templateRef.get();e&&bi(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let o=this._templateRef.get();if(!o){o=this._objectPool.getUnusedObj(new Cxe(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(o,void 0);const r=this.viewModel.lastTemplateData.get().selections;r&&o.object.editor.setSelections(r)}o.object.render(e,i,t,n)}}D("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},p("multiDiffEditor.headerBackground","The background color of the diff editor's header")),D("multiDiffEditor.background",ma,p("multiDiffEditor.background","The background color of the multi file diff editor")),D("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},p("multiDiffEditor.border","The border color of the multi file diff editor"));var kxe=function(s,e,t,i){var n=arguments.length,o=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(r=s[a])&&(o=(n<3?r(o):n>3?r(e,t,o):r(e,t))||o);return n>3&&o&&Object.defineProperty(e,t,o),o},Lxe=function(s,e){return function(t,i){e(t,i,s)}};let y5=class extends F{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=Ze(this,void 0),this._viewModel=Ze(this,void 0),this._widgetImpl=Du(this,(n,o)=>(Mo(uE,n),o.add(this._instantiationService.createInstance(Mo(S5,n),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(i_(this._widgetImpl))}};y5=kxe([Lxe(2,ye)],y5);function Exe(s,e,t){return Me.initialize(t||{}).createInstance(w5,s,e)}function Ixe(s){return Me.get(mt).onCodeEditorAdd(t=>{s(t)})}function Dxe(s){return Me.get(mt).onDiffEditorAdd(t=>{s(t)})}function Txe(){return Me.get(mt).listCodeEditors()}function Nxe(){return Me.get(mt).listDiffEditors()}function Rxe(s,e,t){return Me.initialize(t||{}).createInstance(C5,s,e)}function Axe(s,e){const t=Me.initialize(e||{});return new y5(s,{},t)}function Mxe(s){if(typeof s.id!="string"||typeof s.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return lt.registerCommand(s.id,s.run)}function Pxe(s){if(typeof s.id!="string"||typeof s.label!="string"||typeof s.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=K.deserialize(s.precondition),t=(n,...o)=>Qi.runEditorCommand(n,o,e,(r,a,l)=>Promise.resolve(s.run(a,...l))),i=new q;if(i.add(lt.registerCommand(s.id,t)),s.contextMenuGroupId){const n={command:{id:s.id,title:s.label},when:e,group:s.contextMenuGroupId,order:s.contextMenuOrder||0};i.add(pn.appendMenuItem(me.EditorContext,n))}if(Array.isArray(s.keybindings)){const n=Me.get(xt);if(!(n instanceof I_))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const o=K.and(e,K.deserialize(s.keybindingContext));i.add(n.addDynamicKeybindings(s.keybindings.map(r=>({keybinding:r,command:s.id,when:o}))))}}return i}function Oxe(s){return RG([s])}function RG(s){const e=Me.get(xt);return e instanceof I_?e.addDynamicKeybindings(s.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:K.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),F.None)}function Fxe(s,e,t){const i=Me.get(li),n=i.getLanguageIdByMimeType(e)||e;return IG(Me.get(Kt),i,s,n,t)}function Bxe(s,e){const t=Me.get(li),i=t.getLanguageIdByMimeType(e)||e||As;s.setLanguage(t.createById(i))}function Wxe(s,e,t){s&&Me.get(Jl).changeOne(e,s.uri,t)}function Hxe(s){Me.get(Jl).changeAll(s,[])}function Vxe(s){return Me.get(Jl).read(s)}function $xe(s){return Me.get(Jl).onMarkerChanged(s)}function zxe(s){return Me.get(Kt).getModel(s)}function Uxe(){return Me.get(Kt).getModels()}function jxe(s){return Me.get(Kt).onModelAdded(s)}function qxe(s){return Me.get(Kt).onModelRemoved(s)}function Kxe(s){return Me.get(Kt).onModelLanguageChanged(t=>{s({model:t.model,oldLanguage:t.oldLanguageId})})}function Gxe(s){return ACe(Me.get(Kt),s)}function Zxe(s,e){const t=Me.get(li),i=Me.get(br);return zF.colorizeElement(i,t,s,e).then(()=>{i.registerEditorContainer(s)})}function Yxe(s,e,t){const i=Me.get(li);return Me.get(br).registerEditorContainer(Ot.document.body),zF.colorize(i,s,e,t)}function Xxe(s,e,t=4){return Me.get(br).registerEditorContainer(Ot.document.body),zF.colorizeModelLine(s,e,t)}function Qxe(s){const e=ki.get(s);return e||{getInitialState:()=>qm,tokenize:(t,i,n)=>ZP(s,n)}}function Jxe(s,e){ki.getOrCreate(e);const t=Qxe(e),i=Al(s),n=[];let o=t.getInitialState();for(let r=0,a=i.length;r<a;r++){const l=i[r],c=t.tokenize(l,!0,o);n[r]=c.tokens,o=c.endState}return n}function eke(s,e){Me.get(br).defineTheme(s,e)}function tke(s){Me.get(br).setTheme(s)}function ike(){qA.clearAllFontInfos()}function nke(s,e){return lt.registerCommand({id:s,handler:e})}function ske(s){return Me.get(io).registerOpener({async open(t){return typeof t=="string"&&(t=xe.parse(t)),s.open(t)}})}function oke(s){return Me.get(mt).registerCodeEditorOpenHandler(async(t,i,n)=>{var a;if(!i)return null;const o=(a=t.options)==null?void 0:a.selection;let r;return o&&typeof o.endLineNumber=="number"&&typeof o.endColumn=="number"?r=o:o&&(r={lineNumber:o.startLineNumber,column:o.startColumn}),await s.openCodeEditor(i,t.resource,r)?i:null})}function rke(){return{create:Exe,getEditors:Txe,getDiffEditors:Nxe,onDidCreateEditor:Ixe,onDidCreateDiffEditor:Dxe,createDiffEditor:Rxe,addCommand:Mxe,addEditorAction:Pxe,addKeybindingRule:Oxe,addKeybindingRules:RG,createModel:Fxe,setModelLanguage:Bxe,setModelMarkers:Wxe,getModelMarkers:Vxe,removeAllMarkers:Hxe,onDidChangeMarkers:$xe,getModels:Uxe,getModel:zxe,onDidCreateModel:jxe,onWillDisposeModel:qxe,onDidChangeModelLanguage:Kxe,createWebWorker:Gxe,colorizeElement:Zxe,colorize:Yxe,colorizeModelLine:Xxe,tokenize:Jxe,defineTheme:eke,setTheme:tke,remeasureFonts:ike,registerCommand:nke,registerLinkOpener:ske,registerEditorOpener:oke,AccessibilitySupport:cR,ContentWidgetPositionPreference:pR,CursorChangeReason:mR,DefaultEndOfLine:_R,EditorAutoIndentStrategy:vR,EditorOption:wR,EndOfLinePreference:CR,EndOfLineSequence:SR,MinimapPosition:AR,MinimapSectionHeaderStyle:MR,MouseTargetType:PR,OverlayWidgetPositionPreference:BR,OverviewRulerLane:WR,GlyphMarginLane:yR,RenderLineNumbersType:$R,RenderMinimap:zR,ScrollbarVisibility:jR,ScrollType:UR,TextEditorCursorBlinkingStyle:XR,TextEditorCursorStyle:QR,TrackedRangeStickiness:JR,WrappingIndent:eA,InjectedTextCursorStops:LR,PositionAffinity:VR,ShowLightbulbIconMode:KR,ConfigurationChangedEvent:Y6,BareFontInfo:sg,FontInfo:jA,TextModelResolvedOptions:Z0,FindMatch:Iw,ApplyUpdateResult:Gv,EditorZoom:Pr,createMultiFileDiffEditor:Axe,EditorType:t1,EditorOptions:Ma}}function ake(s,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!s(t))return!1;return!0}function hE(s,e){return typeof s=="boolean"?s:e}function AG(s,e){return typeof s=="string"?s:e}function lke(s){const e={};for(const t of s)e[t]=!0;return e}function MG(s,e=!1){e&&(s=s.map(function(i){return i.toLowerCase()}));const t=lke(s);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function x5(s,e,t){e=e.replace(/@@/g,"");let i=0,n;do n=!1,e=e.replace(/@(\w+)/g,function(r,a){n=!0;let l="";if(typeof s[a]=="string")l=s[a];else if(s[a]&&s[a]instanceof RegExp)l=s[a].source;else throw s[a]===void 0?oi(s,"language definition does not contain attribute '"+a+"', used at: "+e):oi(s,"attribute reference '"+a+"' must be a string, used at: "+e);return Jg(l)?"":"(?:"+l+")"}),i++;while(n&&i<5);e=e.replace(/\x01/g,"@");const o=(s.ignoreCase?"i":"")+(s.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return c=>(l&&a===c||(a=c,l=new RegExp(QCe(s,e,c),o)),l)}return new RegExp(e,o)}function cke(s,e,t,i){if(i<0)return s;if(i<e.length)return e[i];if(i>=100){i=i-100;const n=t.split(".");if(n.unshift(t),i<n.length)return n[i]}return null}function dke(s,e,t,i){let n=-1,o=t,r=t.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);r&&(r[3]&&(n=parseInt(r[3]),r[2]&&(n=n+100)),o=r[4]);let a="~",l=o;!o||o.length===0?(a="!=",l=""):/^\w*$/.test(l)?a="==":(r=o.match(/^(@|!@|~|!~|==|!=)(.*)$/),r&&(a=r[1],l=r[2]));let c;if((a==="~"||a==="!~")&&/^(\w|\|)*$/.test(l)){const d=MG(l.split("|"),s.ignoreCase);c=function(u){return a==="~"?d(u):!d(u)}}else if(a==="@"||a==="!@"){const d=s[l];if(!d)throw oi(s,"the @ match target '"+l+"' is not defined, in rule: "+e);if(!ake(function(h){return typeof h=="string"},d))throw oi(s,"the @ match target '"+l+"' must be an array of strings, in rule: "+e);const u=MG(d,s.ignoreCase);c=function(h){return a==="@"?u(h):!u(h)}}else if(a==="~"||a==="!~")if(l.indexOf("$")<0){const d=x5(s,"^"+l+"$",!1);c=function(u){return a==="~"?d.test(u):!d.test(u)}}else c=function(d,u,h,g){return x5(s,"^"+zu(s,l,u,h,g)+"$",!1).test(d)};else if(l.indexOf("$")<0){const d=bd(s,l);c=function(u){return a==="=="?u===d:u!==d}}else{const d=bd(s,l);c=function(u,h,g,f,m){const _=zu(s,d,h,g,f);return a==="=="?u===_:u!==_}}return n===-1?{name:t,value:i,test:function(d,u,h,g){return c(d,d,u,h,g)}}:{name:t,value:i,test:function(d,u,h,g){const f=cke(d,u,h,n);return c(f||"",d,u,h,g)}}}function k5(s,e,t){if(t){if(typeof t=="string")return t;if(t.token||t.token===""){if(typeof t.token!="string")throw oi(s,"a 'token' attribute must be of type string, in rule: "+e);{const i={token:t.token};if(t.token.indexOf("$")>=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw oi(s,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw oi(s,"the next state must be a string value in rule: "+e);{let n=t.next;if(!/^(@pop|@push|@popall)$/.test(n)&&(n[0]==="@"&&(n=n.substr(1)),n.indexOf("$")<0&&!JCe(s,zu(s,n,"",[],""))))throw oi(s,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=n}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,s.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let n=0,o=t.length;n<o;n++)i[n]=k5(s,e,t[n]);return{group:i}}else if(t.cases){const i=[];for(const o in t.cases)if(t.cases.hasOwnProperty(o)){const r=k5(s,e,t.cases[o]);o==="@default"||o==="@"||o===""?i.push({test:void 0,value:r,name:o}):o==="@eos"?i.push({test:function(a,l,c,d){return d},value:r,name:o}):i.push(dke(s,e,o,r))}const n=s.defaultToken;return{test:function(o,r,a,l){for(const c of i)if(!c.test||c.test(o,r,a,l))return c.value;return n}}}else throw oi(s,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+e)}else return{token:""}}class uke{constructor(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let i;if(typeof t=="string")i=t;else if(t instanceof RegExp)i=t.source;else throw oi(e,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=i.length>0&&i[0]==="^",this.name=this.name+": "+i,this.regex=x5(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=k5(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function PG(s,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={languageId:s,includeLF:hE(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:hE(e.ignoreCase,!1),unicode:hE(e.unicode,!1),tokenPostfix:AG(e.tokenPostfix,"."+s),defaultToken:AG(e.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},i=e;i.languageId=s,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function n(r,a,l){for(const c of l){let d=c.include;if(d){if(typeof d!="string")throw oi(t,"an 'include' attribute must be a string at: "+r);if(d[0]==="@"&&(d=d.substr(1)),!e.tokenizer[d])throw oi(t,"include target '"+d+"' is not defined at: "+r);n(r+"."+d,a,e.tokenizer[d])}else{const u=new uke(r);if(Array.isArray(c)&&c.length>=1&&c.length<=3)if(u.setRegex(i,c[0]),c.length>=3)if(typeof c[1]=="string")u.setAction(i,{token:c[1],next:c[2]});else if(typeof c[1]=="object"){const h=c[1];h.next=c[2],u.setAction(i,h)}else throw oi(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+r);else u.setAction(i,c[1]);else{if(!c.regex)throw oi(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+r);c.name&&typeof c.name=="string"&&(u.name=c.name),c.matchOnlyAtStart&&(u.matchOnlyAtLineStart=hE(c.matchOnlyAtLineStart,!1)),u.setRegex(i,c.regex),u.setAction(i,c.action)}a.push(u)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw oi(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const r in e.tokenizer)if(e.tokenizer.hasOwnProperty(r)){t.start||(t.start=r);const a=e.tokenizer[r];t.tokenizer[r]=new Array,n("tokenizer."+r,t.tokenizer[r],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw oi(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const r of e.brackets){let a=r;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw oi(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+`
660
- hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")o.push({token:a.token+t.tokenPostfix,open:bd(t,a.open),close:bd(t,a.close)});else throw oi(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=o,t.noThrow=!0,t}function hke(s){km.registerLanguage(s)}function gke(){let s=[];return s=s.concat(km.getLanguages()),s}function fke(s){return Me.get(li).languageIdCodec.encodeLanguageId(s)}function pke(s,e){return Me.withServices(()=>{const i=Me.get(li).onDidRequestRichLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function mke(s,e){return Me.withServices(()=>{const i=Me.get(li).onDidRequestBasicLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function _ke(s,e){if(!Me.get(li).isRegisteredLanguageId(s))throw new Error(`Cannot set configuration for unknown language ${s}`);return Me.get(pi).register(s,e,100)}class bke{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return M1.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new e0(n.tokens,n.endState)}}class M1{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let o=0,r=e.length;o<r;o++){const a=e[o];let l=a.startIndex;o===0?l=0:l<n&&(l=n),i[o]=new Qv(l,a.scopes,t),n=l}return i}static adaptTokenize(e,t,i,n){const o=t.tokenize(i,n),r=M1._toClassicTokens(o.tokens,e);let a;return o.endState.equals(n)?a=n:a=o.endState,new oR(r,a)}tokenize(e,t,i){return M1.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,o=[];let r=0,a=0;for(let c=0,d=t.length;c<d;c++){const u=t[c],h=n.match(i,u.scopes)|1024;if(r>0&&o[r-1]===h)continue;let g=u.startIndex;c===0?g=0:g<a&&(g=a),o[r++]=g,o[r++]=h,a=g}const l=new Uint32Array(r);for(let c=0;c<r;c++)l[c]=o[c];return l}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),o=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let r;return n.endState.equals(i)?r=i:r=n.endState,new e0(o,r)}}function vke(s){return typeof s.getInitialState=="function"}function wke(s){return"tokenizeEncoded"in s}function OG(s){return s&&typeof s.then=="function"}function Cke(s){const e=Me.get(br);if(s){const t=[null];for(let i=1,n=s.length;i<n;i++)t[i]=G.fromHex(s[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function FG(s,e){return wke(e)?new bke(s,e):new M1(s,e,Me.get(li),Me.get(br))}function L5(s,e){const t=new sre(async()=>{const i=await Promise.resolve(e.create());return i?vke(i)?FG(s,i):new a1(Me.get(li),Me.get(br),s,PG(s,i),Me.get(Ge)):null});return ki.registerFactory(s,t)}function Ske(s,e){if(!Me.get(li).isRegisteredLanguageId(s))throw new Error(`Cannot set tokens provider for unknown language ${s}`);return OG(e)?L5(s,{create:()=>e}):ki.register(s,FG(s,e))}function yke(s,e){const t=i=>new a1(Me.get(li),Me.get(br),s,PG(s,i),Me.get(Ge));return OG(e)?L5(s,{create:()=>e}):ki.register(s,t(e))}function xke(s,e){return Me.get(fe).referenceProvider.register(s,e)}function kke(s,e){return Me.get(fe).renameProvider.register(s,e)}function Lke(s,e){return Me.get(fe).newSymbolNamesProvider.register(s,e)}function Eke(s,e){return Me.get(fe).signatureHelpProvider.register(s,e)}function Ike(s,e){return Me.get(fe).hoverProvider.register(s,{provideHover:async(i,n,o,r)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,o,r)).then(l=>{if(l)return!l.range&&a&&(l.range=new L(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new L(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function Dke(s,e){return Me.get(fe).documentSymbolProvider.register(s,e)}function Tke(s,e){return Me.get(fe).documentHighlightProvider.register(s,e)}function Nke(s,e){return Me.get(fe).linkedEditingRangeProvider.register(s,e)}function Rke(s,e){return Me.get(fe).definitionProvider.register(s,e)}function Ake(s,e){return Me.get(fe).implementationProvider.register(s,e)}function Mke(s,e){return Me.get(fe).typeDefinitionProvider.register(s,e)}function Pke(s,e){return Me.get(fe).codeLensProvider.register(s,e)}function Oke(s,e,t){return Me.get(fe).codeActionProvider.register(s,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(n,o,r,a)=>{const c=Me.get(Jl).read({resource:n.uri}).filter(d=>L.areIntersectingOrTouching(d,o));return e.provideCodeActions(n,o,{markers:c,only:r.only,trigger:r.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function Fke(s,e){return Me.get(fe).documentFormattingEditProvider.register(s,e)}function Bke(s,e){return Me.get(fe).documentRangeFormattingEditProvider.register(s,e)}function Wke(s,e){return Me.get(fe).onTypeFormattingEditProvider.register(s,e)}function Hke(s,e){return Me.get(fe).linkProvider.register(s,e)}function Vke(s,e){return Me.get(fe).completionProvider.register(s,e)}function $ke(s,e){return Me.get(fe).colorProvider.register(s,e)}function zke(s,e){return Me.get(fe).foldingRangeProvider.register(s,e)}function Uke(s,e){return Me.get(fe).declarationProvider.register(s,e)}function jke(s,e){return Me.get(fe).selectionRangeProvider.register(s,e)}function qke(s,e){return Me.get(fe).documentSemanticTokensProvider.register(s,e)}function Kke(s,e){return Me.get(fe).documentRangeSemanticTokensProvider.register(s,e)}function Gke(s,e){return Me.get(fe).inlineCompletionsProvider.register(s,e)}function Zke(s,e){return Me.get(fe).inlineEditProvider.register(s,e)}function Yke(s,e){return Me.get(fe).inlayHintsProvider.register(s,e)}function Xke(){return{register:hke,getLanguages:gke,onLanguage:pke,onLanguageEncountered:mke,getEncodedLanguageId:fke,setLanguageConfiguration:_ke,setColorMap:Cke,registerTokensProviderFactory:L5,setTokensProvider:Ske,setMonarchTokensProvider:yke,registerReferenceProvider:xke,registerRenameProvider:kke,registerNewSymbolNameProvider:Lke,registerCompletionItemProvider:Vke,registerSignatureHelpProvider:Eke,registerHoverProvider:Ike,registerDocumentSymbolProvider:Dke,registerDocumentHighlightProvider:Tke,registerLinkedEditingRangeProvider:Nke,registerDefinitionProvider:Rke,registerImplementationProvider:Ake,registerTypeDefinitionProvider:Mke,registerCodeLensProvider:Pke,registerCodeActionProvider:Oke,registerDocumentFormattingEditProvider:Fke,registerDocumentRangeFormattingEditProvider:Bke,registerOnTypeFormattingEditProvider:Wke,registerLinkProvider:Hke,registerColorProvider:$ke,registerFoldingRangeProvider:zke,registerDeclarationProvider:Uke,registerSelectionRangeProvider:jke,registerDocumentSemanticTokensProvider:qke,registerDocumentRangeSemanticTokensProvider:Kke,registerInlineCompletionsProvider:Gke,registerInlineEditProvider:Zke,registerInlayHintsProvider:Yke,DocumentHighlightKind:bR,CompletionItemKind:hR,CompletionItemTag:gR,CompletionItemInsertTextRule:uR,SymbolKind:ZR,SymbolTag:YR,IndentAction:kR,CompletionTriggerKind:fR,SignatureHelpTriggerKind:GR,InlayHintKind:ER,InlineCompletionTriggerKind:IR,InlineEditTriggerKind:DR,CodeActionTriggerType:dR,NewSymbolNameTag:OR,NewSymbolNameTriggerKind:FR,PartialAcceptTriggerKind:HR,HoverVerbosityAction:xR,FoldingRangeKind:dm,SelectedSuggestionInfo:_7}}const E5=it("IEditorCancelService"),BG=new ue("cancellableOperation",!1,p("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));rt(E5,class{constructor(){this._tokens=new WeakMap}add(s,e){let t=this._tokens.get(s);t||(t=s.invokeWithinContext(n=>{const o=BG.bindTo(n.get(Ne)),r=new Es;return{key:o,tokens:r}}),this._tokens.set(s,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(s){const e=this._tokens.get(s);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class Qke extends gi{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(E5).add(e,this))}dispose(){this._unregister(),super.dispose()}}de(new class extends Qi{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:BG})}runEditorCommand(s,e){s.get(E5).cancel(e)}});let WG=class v6{constructor(e,t){if(this.flags=t,this.flags&1){const i=e.getModel();this.modelVersionId=i?Qh("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.flags&4?this.position=e.getPosition():this.position=null,this.flags&2?this.selection=e.getSelection():this.selection=null,this.flags&8?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof v6))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new v6(e,this.flags))}};class Ju extends Qke{constructor(e,t,i,n){super(e,n),this._listener=new q,t&4&&this._listener.add(e.onDidChangeCursorPosition(o=>{(!i||!L.containsPosition(i,o.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(o=>{(!i||!L.containsRange(i,o.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(o=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(o=>this.cancel())),this._listener.add(e.onDidChangeModelContent(o=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class I5 extends gi{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}function uc(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===t1.ICodeEditor:!1}function D5(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===t1.IDiffEditor:!1}function Jke(s){return!!s&&typeof s=="object"&&typeof s.onDidChangeActiveEditor=="function"}function HG(s){return uc(s)?s:D5(s)?s.getModifiedEditor():Jke(s)&&uc(s.activeCodeEditor)?s.activeCodeEditor:null}class G_{static _handleEolEdits(e,t){let i;const n=[];for(const o of t)typeof o.eol=="number"&&(i=o.eol),o.range&&typeof o.text=="string"&&n.push(o);return typeof i=="number"&&e.hasModel()&&e.getModel().pushEOL(i),n}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),n=i.validateRange(t.range);return i.getFullModelRange().equalsRange(n)}static execute(e,t,i){i&&e.pushUndoStop();const n=cl.capture(e),o=G_._handleEolEdits(e,t);o.length===1&&G_._isFullModelReplaceEdit(e,o[0])?e.executeEdits("formatEditsCommand",o.map(r=>_i.replace(L.lift(r.range),r.text))):e.executeEdits("formatEditsCommand",o.map(r=>_i.replaceMove(L.lift(r.range),r.text))),i&&e.pushUndoStop(),n.restoreRelativeVerticalPositionOfCursor(e)}}class VG{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class eLe{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(VG.toKey(e))}has(e){return this._set.has(VG.toKey(e))}}function $G(s,e,t){const i=[],n=new eLe,o=s.ordered(t);for(const a of o)i.push(a),a.extensionId&&n.add(a.extensionId);const r=e.ordered(t);for(const a of r){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,c,d){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),c,d)}})}return i}const yy=class yy{static setFormatterSelector(e){return{dispose:yy._selectors.unshift(e)}}static async select(e,t,i,n){if(e.length===0)return;const o=at.first(yy._selectors);if(o)return await o(e,t,i,n)}};yy._selectors=new Es;let P1=yy;async function zG(s,e,t,i,n,o,r){const a=s.get(ye),{documentRangeFormattingEditProvider:l}=s.get(fe),c=uc(e)?e.getModel():e,d=l.ordered(c),u=await P1.select(d,c,i,2);u&&(n.report(u),await a.invokeFunction(tLe,u,e,t,o,r))}async function tLe(s,e,t,i,n,o){var b,v;const r=s.get(oo),a=s.get(On),l=s.get(Vu);let c,d;uc(t)?(c=t.getModel(),d=new Ju(t,5,void 0,n)):(c=t,d=new I5(t,n));const u=[];let h=0;for(const w of MN(i).sort(L.compareRangesUsingStarts))h>0&&L.areIntersectingOrTouching(u[h-1],w)?u[h-1]=L.fromPositions(u[h-1].getStartPosition(),w.getEndPosition()):h=u.push(w);const g=async w=>{var S,y;a.trace("[format][provideDocumentRangeFormattingEdits] (request)",(S=e.extensionId)==null?void 0:S.value,w);const C=await e.provideDocumentRangeFormattingEdits(c,w,c.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",(y=e.extensionId)==null?void 0:y.value,C),C},f=(w,C)=>{if(!w.length||!C.length)return!1;const S=w.reduce((y,k)=>L.plusRange(y,k.range),w[0].range);if(!C.some(y=>L.intersectRanges(S,y.range)))return!1;for(const y of w)for(const k of C)if(L.intersectRanges(y.range,k.range))return!0;return!1},m=[],_=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",(b=e.extensionId)==null?void 0:b.value,u);const w=await e.provideDocumentRangesFormattingEdits(c,u,c.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",(v=e.extensionId)==null?void 0:v.value,w),_.push(w)}else{for(const w of u){if(d.token.isCancellationRequested)return!0;_.push(await g(w))}for(let w=0;w<u.length;++w)for(let C=w+1;C<u.length;++C){if(d.token.isCancellationRequested)return!0;if(f(_[w],_[C])){const S=L.plusRange(u[w],u[C]),y=await g(S);u.splice(C,1),u.splice(w,1),u.push(S),_.splice(C,1),_.splice(w,1),_.push(y),w=0,C=0}}}for(const w of _){if(d.token.isCancellationRequested)return!0;const C=await r.computeMoreMinimalEdits(c.uri,w);C&&m.push(...C)}}finally{d.dispose()}if(m.length===0)return!1;if(uc(t))G_.execute(t,m,!0),t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:w}]=m,C=new _e(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn);c.pushEditOperations([C],m.map(S=>({text:S.text,range:L.lift(S.range),forceMoveMarkers:!0})),S=>{for(const{range:y}of S)if(L.areIntersectingOrTouching(y,C))return[new _e(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn)];return null})}return l.playSignal(vr.format,{userGesture:o}),!0}async function iLe(s,e,t,i,n,o){const r=s.get(ye),a=s.get(fe),l=uc(e)?e.getModel():e,c=$G(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),d=await P1.select(c,l,t,1);d&&(i.report(d),await r.invokeFunction(nLe,d,e,t,n,o))}async function nLe(s,e,t,i,n,o){const r=s.get(oo),a=s.get(Vu);let l,c;uc(t)?(l=t.getModel(),c=new Ju(t,5,void 0,n)):(l=t,c=new I5(t,n));let d;try{const u=await e.provideDocumentFormattingEdits(l,l.getFormattingOptions(),c.token);if(d=await r.computeMoreMinimalEdits(l.uri,u),c.token.isCancellationRequested)return!0}finally{c.dispose()}if(!d||d.length===0)return!1;if(uc(t))G_.execute(t,d,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:u}]=d,h=new _e(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn);l.pushEditOperations([h],d.map(g=>({text:g.text,range:L.lift(g.range),forceMoveMarkers:!0})),g=>{for(const{range:f}of g)if(L.areIntersectingOrTouching(f,h))return[new _e(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn)];return null})}return a.playSignal(vr.format,{userGesture:o}),!0}async function sLe(s,e,t,i,n,o){const r=e.documentRangeFormattingEditProvider.ordered(t);for(const a of r){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,n,o)).catch(Ni);if(us(l))return await s.computeMoreMinimalEdits(t.uri,l)}}async function oLe(s,e,t,i,n){const o=$G(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const r of o){const a=await Promise.resolve(r.provideDocumentFormattingEdits(t,i,n)).catch(Ni);if(us(a))return await s.computeMoreMinimalEdits(t.uri,a)}}function UG(s,e,t,i,n,o,r){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,n,o,r)).catch(Ni).then(l=>s.computeMoreMinimalEdits(t.uri,l))}lt.registerCommand("_executeFormatRangeProvider",async function(s,...e){const[t,i,n]=e;ft(xe.isUri(t)),ft(L.isIRange(i));const o=s.get(Xs),r=s.get(oo),a=s.get(fe),l=await o.createModelReference(t);try{return sLe(r,a,l.object.textEditorModel,L.lift(i),n,Ue.None)}finally{l.dispose()}}),lt.registerCommand("_executeFormatDocumentProvider",async function(s,...e){const[t,i]=e;ft(xe.isUri(t));const n=s.get(Xs),o=s.get(oo),r=s.get(fe),a=await n.createModelReference(t);try{return oLe(o,r,a.object.textEditorModel,i,Ue.None)}finally{a.dispose()}}),lt.registerCommand("_executeFormatOnTypeProvider",async function(s,...e){const[t,i,n,o]=e;ft(xe.isUri(t)),ft(M.isIPosition(i)),ft(typeof n=="string");const r=s.get(Xs),a=s.get(oo),l=s.get(fe),c=await r.createModelReference(t);try{return UG(a,l,c.object.textEditorModel,M.lift(i),n,o,Ue.None)}finally{c.dispose()}}),Ma.wrappingIndent.defaultValue=0,Ma.glyphMargin.defaultValue=!1,Ma.autoIndent.defaultValue=3,Ma.overviewRulerLanes.defaultValue=2,P1.setFormatterSelector((s,e,t)=>Promise.resolve(s[0]));const Vs=b7();Vs.editor=rke(),Vs.languages=Xke();const rLe=Vs.CancellationTokenSource,aLe=Vs.Emitter,lLe=Vs.KeyCode,cLe=Vs.KeyMod,dLe=Vs.Position,uLe=Vs.Range,hLe=Vs.Selection,gLe=Vs.SelectionDirection,fLe=Vs.MarkerSeverity,pLe=Vs.MarkerTag,mLe=Vs.Uri,_Le=Vs.Token,jG=Vs.editor,bLe=Vs.languages,T5=globalThis.MonacoEnvironment;(T5!=null&&T5.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=Vs),typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const cs=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:rLe,Emitter:aLe,KeyCode:lLe,KeyMod:cLe,MarkerSeverity:fLe,MarkerTag:pLe,Position:dLe,Range:uLe,Selection:hLe,SelectionDirection:gLe,Token:_Le,Uri:mLe,editor:jG,languages:bLe},Symbol.toStringTag,{value:"Module"}));/*!-----------------------------------------------------------------------------
660
+ hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")o.push({token:a.token+t.tokenPostfix,open:bd(t,a.open),close:bd(t,a.close)});else throw oi(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=o,t.noThrow=!0,t}function hke(s){km.registerLanguage(s)}function gke(){let s=[];return s=s.concat(km.getLanguages()),s}function fke(s){return Me.get(li).languageIdCodec.encodeLanguageId(s)}function pke(s,e){return Me.withServices(()=>{const i=Me.get(li).onDidRequestRichLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function mke(s,e){return Me.withServices(()=>{const i=Me.get(li).onDidRequestBasicLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function _ke(s,e){if(!Me.get(li).isRegisteredLanguageId(s))throw new Error(`Cannot set configuration for unknown language ${s}`);return Me.get(pi).register(s,e,100)}class bke{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return M1.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new e0(n.tokens,n.endState)}}class M1{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let o=0,r=e.length;o<r;o++){const a=e[o];let l=a.startIndex;o===0?l=0:l<n&&(l=n),i[o]=new Qv(l,a.scopes,t),n=l}return i}static adaptTokenize(e,t,i,n){const o=t.tokenize(i,n),r=M1._toClassicTokens(o.tokens,e);let a;return o.endState.equals(n)?a=n:a=o.endState,new oR(r,a)}tokenize(e,t,i){return M1.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,o=[];let r=0,a=0;for(let c=0,d=t.length;c<d;c++){const u=t[c],h=n.match(i,u.scopes)|1024;if(r>0&&o[r-1]===h)continue;let g=u.startIndex;c===0?g=0:g<a&&(g=a),o[r++]=g,o[r++]=h,a=g}const l=new Uint32Array(r);for(let c=0;c<r;c++)l[c]=o[c];return l}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),o=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let r;return n.endState.equals(i)?r=i:r=n.endState,new e0(o,r)}}function vke(s){return typeof s.getInitialState=="function"}function wke(s){return"tokenizeEncoded"in s}function OG(s){return s&&typeof s.then=="function"}function Cke(s){const e=Me.get(br);if(s){const t=[null];for(let i=1,n=s.length;i<n;i++)t[i]=G.fromHex(s[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function FG(s,e){return wke(e)?new bke(s,e):new M1(s,e,Me.get(li),Me.get(br))}function L5(s,e){const t=new sre(async()=>{const i=await Promise.resolve(e.create());return i?vke(i)?FG(s,i):new a1(Me.get(li),Me.get(br),s,PG(s,i),Me.get(Ge)):null});return ki.registerFactory(s,t)}function Ske(s,e){if(!Me.get(li).isRegisteredLanguageId(s))throw new Error(`Cannot set tokens provider for unknown language ${s}`);return OG(e)?L5(s,{create:()=>e}):ki.register(s,FG(s,e))}function yke(s,e){const t=i=>new a1(Me.get(li),Me.get(br),s,PG(s,i),Me.get(Ge));return OG(e)?L5(s,{create:()=>e}):ki.register(s,t(e))}function xke(s,e){return Me.get(fe).referenceProvider.register(s,e)}function kke(s,e){return Me.get(fe).renameProvider.register(s,e)}function Lke(s,e){return Me.get(fe).newSymbolNamesProvider.register(s,e)}function Eke(s,e){return Me.get(fe).signatureHelpProvider.register(s,e)}function Ike(s,e){return Me.get(fe).hoverProvider.register(s,{provideHover:async(i,n,o,r)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,o,r)).then(l=>{if(l)return!l.range&&a&&(l.range=new L(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new L(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function Dke(s,e){return Me.get(fe).documentSymbolProvider.register(s,e)}function Tke(s,e){return Me.get(fe).documentHighlightProvider.register(s,e)}function Nke(s,e){return Me.get(fe).linkedEditingRangeProvider.register(s,e)}function Rke(s,e){return Me.get(fe).definitionProvider.register(s,e)}function Ake(s,e){return Me.get(fe).implementationProvider.register(s,e)}function Mke(s,e){return Me.get(fe).typeDefinitionProvider.register(s,e)}function Pke(s,e){return Me.get(fe).codeLensProvider.register(s,e)}function Oke(s,e,t){return Me.get(fe).codeActionProvider.register(s,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(n,o,r,a)=>{const c=Me.get(Jl).read({resource:n.uri}).filter(d=>L.areIntersectingOrTouching(d,o));return e.provideCodeActions(n,o,{markers:c,only:r.only,trigger:r.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function Fke(s,e){return Me.get(fe).documentFormattingEditProvider.register(s,e)}function Bke(s,e){return Me.get(fe).documentRangeFormattingEditProvider.register(s,e)}function Wke(s,e){return Me.get(fe).onTypeFormattingEditProvider.register(s,e)}function Hke(s,e){return Me.get(fe).linkProvider.register(s,e)}function Vke(s,e){return Me.get(fe).completionProvider.register(s,e)}function $ke(s,e){return Me.get(fe).colorProvider.register(s,e)}function zke(s,e){return Me.get(fe).foldingRangeProvider.register(s,e)}function Uke(s,e){return Me.get(fe).declarationProvider.register(s,e)}function jke(s,e){return Me.get(fe).selectionRangeProvider.register(s,e)}function qke(s,e){return Me.get(fe).documentSemanticTokensProvider.register(s,e)}function Kke(s,e){return Me.get(fe).documentRangeSemanticTokensProvider.register(s,e)}function Gke(s,e){return Me.get(fe).inlineCompletionsProvider.register(s,e)}function Zke(s,e){return Me.get(fe).inlineEditProvider.register(s,e)}function Yke(s,e){return Me.get(fe).inlayHintsProvider.register(s,e)}function Xke(){return{register:hke,getLanguages:gke,onLanguage:pke,onLanguageEncountered:mke,getEncodedLanguageId:fke,setLanguageConfiguration:_ke,setColorMap:Cke,registerTokensProviderFactory:L5,setTokensProvider:Ske,setMonarchTokensProvider:yke,registerReferenceProvider:xke,registerRenameProvider:kke,registerNewSymbolNameProvider:Lke,registerCompletionItemProvider:Vke,registerSignatureHelpProvider:Eke,registerHoverProvider:Ike,registerDocumentSymbolProvider:Dke,registerDocumentHighlightProvider:Tke,registerLinkedEditingRangeProvider:Nke,registerDefinitionProvider:Rke,registerImplementationProvider:Ake,registerTypeDefinitionProvider:Mke,registerCodeLensProvider:Pke,registerCodeActionProvider:Oke,registerDocumentFormattingEditProvider:Fke,registerDocumentRangeFormattingEditProvider:Bke,registerOnTypeFormattingEditProvider:Wke,registerLinkProvider:Hke,registerColorProvider:$ke,registerFoldingRangeProvider:zke,registerDeclarationProvider:Uke,registerSelectionRangeProvider:jke,registerDocumentSemanticTokensProvider:qke,registerDocumentRangeSemanticTokensProvider:Kke,registerInlineCompletionsProvider:Gke,registerInlineEditProvider:Zke,registerInlayHintsProvider:Yke,DocumentHighlightKind:bR,CompletionItemKind:hR,CompletionItemTag:gR,CompletionItemInsertTextRule:uR,SymbolKind:ZR,SymbolTag:YR,IndentAction:kR,CompletionTriggerKind:fR,SignatureHelpTriggerKind:GR,InlayHintKind:ER,InlineCompletionTriggerKind:IR,InlineEditTriggerKind:DR,CodeActionTriggerType:dR,NewSymbolNameTag:OR,NewSymbolNameTriggerKind:FR,PartialAcceptTriggerKind:HR,HoverVerbosityAction:xR,FoldingRangeKind:dm,SelectedSuggestionInfo:_7}}const E5=it("IEditorCancelService"),BG=new ue("cancellableOperation",!1,p("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));rt(E5,class{constructor(){this._tokens=new WeakMap}add(s,e){let t=this._tokens.get(s);t||(t=s.invokeWithinContext(n=>{const o=BG.bindTo(n.get(Ne)),r=new Es;return{key:o,tokens:r}}),this._tokens.set(s,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(s){const e=this._tokens.get(s);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class Qke extends gi{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(E5).add(e,this))}dispose(){this._unregister(),super.dispose()}}de(new class extends Qi{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:BG})}runEditorCommand(s,e){s.get(E5).cancel(e)}});let WG=class v6{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?Qh("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=e.getPosition():this.position=null,(this.flags&2)!==0?this.selection=e.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof v6))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new v6(e,this.flags))}};class Ju extends Qke{constructor(e,t,i,n){super(e,n),this._listener=new q,t&4&&this._listener.add(e.onDidChangeCursorPosition(o=>{(!i||!L.containsPosition(i,o.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(o=>{(!i||!L.containsRange(i,o.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(o=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(o=>this.cancel())),this._listener.add(e.onDidChangeModelContent(o=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class I5 extends gi{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}function uc(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===t1.ICodeEditor:!1}function D5(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===t1.IDiffEditor:!1}function Jke(s){return!!s&&typeof s=="object"&&typeof s.onDidChangeActiveEditor=="function"}function HG(s){return uc(s)?s:D5(s)?s.getModifiedEditor():Jke(s)&&uc(s.activeCodeEditor)?s.activeCodeEditor:null}class G_{static _handleEolEdits(e,t){let i;const n=[];for(const o of t)typeof o.eol=="number"&&(i=o.eol),o.range&&typeof o.text=="string"&&n.push(o);return typeof i=="number"&&e.hasModel()&&e.getModel().pushEOL(i),n}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),n=i.validateRange(t.range);return i.getFullModelRange().equalsRange(n)}static execute(e,t,i){i&&e.pushUndoStop();const n=cl.capture(e),o=G_._handleEolEdits(e,t);o.length===1&&G_._isFullModelReplaceEdit(e,o[0])?e.executeEdits("formatEditsCommand",o.map(r=>_i.replace(L.lift(r.range),r.text))):e.executeEdits("formatEditsCommand",o.map(r=>_i.replaceMove(L.lift(r.range),r.text))),i&&e.pushUndoStop(),n.restoreRelativeVerticalPositionOfCursor(e)}}class VG{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class eLe{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(VG.toKey(e))}has(e){return this._set.has(VG.toKey(e))}}function $G(s,e,t){const i=[],n=new eLe,o=s.ordered(t);for(const a of o)i.push(a),a.extensionId&&n.add(a.extensionId);const r=e.ordered(t);for(const a of r){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,c,d){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),c,d)}})}return i}const yy=class yy{static setFormatterSelector(e){return{dispose:yy._selectors.unshift(e)}}static async select(e,t,i,n){if(e.length===0)return;const o=at.first(yy._selectors);if(o)return await o(e,t,i,n)}};yy._selectors=new Es;let P1=yy;async function zG(s,e,t,i,n,o,r){const a=s.get(ye),{documentRangeFormattingEditProvider:l}=s.get(fe),c=uc(e)?e.getModel():e,d=l.ordered(c),u=await P1.select(d,c,i,2);u&&(n.report(u),await a.invokeFunction(tLe,u,e,t,o,r))}async function tLe(s,e,t,i,n,o){var b,v;const r=s.get(oo),a=s.get(On),l=s.get(Vu);let c,d;uc(t)?(c=t.getModel(),d=new Ju(t,5,void 0,n)):(c=t,d=new I5(t,n));const u=[];let h=0;for(const w of MN(i).sort(L.compareRangesUsingStarts))h>0&&L.areIntersectingOrTouching(u[h-1],w)?u[h-1]=L.fromPositions(u[h-1].getStartPosition(),w.getEndPosition()):h=u.push(w);const g=async w=>{var S,y;a.trace("[format][provideDocumentRangeFormattingEdits] (request)",(S=e.extensionId)==null?void 0:S.value,w);const C=await e.provideDocumentRangeFormattingEdits(c,w,c.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",(y=e.extensionId)==null?void 0:y.value,C),C},f=(w,C)=>{if(!w.length||!C.length)return!1;const S=w.reduce((y,k)=>L.plusRange(y,k.range),w[0].range);if(!C.some(y=>L.intersectRanges(S,y.range)))return!1;for(const y of w)for(const k of C)if(L.intersectRanges(y.range,k.range))return!0;return!1},m=[],_=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",(b=e.extensionId)==null?void 0:b.value,u);const w=await e.provideDocumentRangesFormattingEdits(c,u,c.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",(v=e.extensionId)==null?void 0:v.value,w),_.push(w)}else{for(const w of u){if(d.token.isCancellationRequested)return!0;_.push(await g(w))}for(let w=0;w<u.length;++w)for(let C=w+1;C<u.length;++C){if(d.token.isCancellationRequested)return!0;if(f(_[w],_[C])){const S=L.plusRange(u[w],u[C]),y=await g(S);u.splice(C,1),u.splice(w,1),u.push(S),_.splice(C,1),_.splice(w,1),_.push(y),w=0,C=0}}}for(const w of _){if(d.token.isCancellationRequested)return!0;const C=await r.computeMoreMinimalEdits(c.uri,w);C&&m.push(...C)}}finally{d.dispose()}if(m.length===0)return!1;if(uc(t))G_.execute(t,m,!0),t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:w}]=m,C=new _e(w.startLineNumber,w.startColumn,w.endLineNumber,w.endColumn);c.pushEditOperations([C],m.map(S=>({text:S.text,range:L.lift(S.range),forceMoveMarkers:!0})),S=>{for(const{range:y}of S)if(L.areIntersectingOrTouching(y,C))return[new _e(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn)];return null})}return l.playSignal(vr.format,{userGesture:o}),!0}async function iLe(s,e,t,i,n,o){const r=s.get(ye),a=s.get(fe),l=uc(e)?e.getModel():e,c=$G(a.documentFormattingEditProvider,a.documentRangeFormattingEditProvider,l),d=await P1.select(c,l,t,1);d&&(i.report(d),await r.invokeFunction(nLe,d,e,t,n,o))}async function nLe(s,e,t,i,n,o){const r=s.get(oo),a=s.get(Vu);let l,c;uc(t)?(l=t.getModel(),c=new Ju(t,5,void 0,n)):(l=t,c=new I5(t,n));let d;try{const u=await e.provideDocumentFormattingEdits(l,l.getFormattingOptions(),c.token);if(d=await r.computeMoreMinimalEdits(l.uri,u),c.token.isCancellationRequested)return!0}finally{c.dispose()}if(!d||d.length===0)return!1;if(uc(t))G_.execute(t,d,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:u}]=d,h=new _e(u.startLineNumber,u.startColumn,u.endLineNumber,u.endColumn);l.pushEditOperations([h],d.map(g=>({text:g.text,range:L.lift(g.range),forceMoveMarkers:!0})),g=>{for(const{range:f}of g)if(L.areIntersectingOrTouching(f,h))return[new _e(f.startLineNumber,f.startColumn,f.endLineNumber,f.endColumn)];return null})}return a.playSignal(vr.format,{userGesture:o}),!0}async function sLe(s,e,t,i,n,o){const r=e.documentRangeFormattingEditProvider.ordered(t);for(const a of r){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,n,o)).catch(Ni);if(us(l))return await s.computeMoreMinimalEdits(t.uri,l)}}async function oLe(s,e,t,i,n){const o=$G(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const r of o){const a=await Promise.resolve(r.provideDocumentFormattingEdits(t,i,n)).catch(Ni);if(us(a))return await s.computeMoreMinimalEdits(t.uri,a)}}function UG(s,e,t,i,n,o,r){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,n,o,r)).catch(Ni).then(l=>s.computeMoreMinimalEdits(t.uri,l))}lt.registerCommand("_executeFormatRangeProvider",async function(s,...e){const[t,i,n]=e;ft(xe.isUri(t)),ft(L.isIRange(i));const o=s.get(Xs),r=s.get(oo),a=s.get(fe),l=await o.createModelReference(t);try{return sLe(r,a,l.object.textEditorModel,L.lift(i),n,Ue.None)}finally{l.dispose()}}),lt.registerCommand("_executeFormatDocumentProvider",async function(s,...e){const[t,i]=e;ft(xe.isUri(t));const n=s.get(Xs),o=s.get(oo),r=s.get(fe),a=await n.createModelReference(t);try{return oLe(o,r,a.object.textEditorModel,i,Ue.None)}finally{a.dispose()}}),lt.registerCommand("_executeFormatOnTypeProvider",async function(s,...e){const[t,i,n,o]=e;ft(xe.isUri(t)),ft(M.isIPosition(i)),ft(typeof n=="string");const r=s.get(Xs),a=s.get(oo),l=s.get(fe),c=await r.createModelReference(t);try{return UG(a,l,c.object.textEditorModel,M.lift(i),n,o,Ue.None)}finally{c.dispose()}}),Ma.wrappingIndent.defaultValue=0,Ma.glyphMargin.defaultValue=!1,Ma.autoIndent.defaultValue=3,Ma.overviewRulerLanes.defaultValue=2,P1.setFormatterSelector((s,e,t)=>Promise.resolve(s[0]));const Vs=b7();Vs.editor=rke(),Vs.languages=Xke();const rLe=Vs.CancellationTokenSource,aLe=Vs.Emitter,lLe=Vs.KeyCode,cLe=Vs.KeyMod,dLe=Vs.Position,uLe=Vs.Range,hLe=Vs.Selection,gLe=Vs.SelectionDirection,fLe=Vs.MarkerSeverity,pLe=Vs.MarkerTag,mLe=Vs.Uri,_Le=Vs.Token,jG=Vs.editor,bLe=Vs.languages,T5=globalThis.MonacoEnvironment;(T5!=null&&T5.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=Vs),typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const cs=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:rLe,Emitter:aLe,KeyCode:lLe,KeyMod:cLe,MarkerSeverity:fLe,MarkerTag:pLe,Position:dLe,Range:uLe,Selection:hLe,SelectionDirection:gLe,Token:_Le,Uri:mLe,editor:jG,languages:bLe},Symbol.toStringTag,{value:"Module"}));/*!-----------------------------------------------------------------------------
661
661
  * Copyright (c) Microsoft Corporation. All rights reserved.
662
662
  * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
663
663
  * Released under the MIT license