MCPcopy
hub / github.com/langgenius/dify / string

Method string

web/public/vs/editor/editor.main.js:603–603  ·  view source on GitHub ↗
(fe,_e)

Source from the content-addressed store, hash-verified

601`),this.view.style(B)}getParentElement(B){const $=this.model.getParentNodeLocation(B);return this.model.getNode($).element}getFirstElementChild(B){return this.model.getFirstElementChild(B)}getNode(B){return this.model.getNode(B)}getNodeLocation(B){return this.model.getNodeLocation(B)}collapse(B,$=!1){return this.model.setCollapsed(B,!0,$)}expand(B,$=!1){return this.model.setCollapsed(B,!1,$)}toggleCollapsed(B,$=!1){return this.model.setCollapsed(B,void 0,$)}isCollapsible(B){return this.model.isCollapsible(B)}setCollapsible(B,$){return this.model.setCollapsible(B,$)}isCollapsed(B){return this.model.isCollapsed(B)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(B,$){this.eventBufferer.bufferEvents(()=>{const Q=B.map(te=>this.model.getNode(te));this.selection.set(Q,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setSelection(Z,$,!0)})}getSelection(){return this.selection.get()}setFocus(B,$){this.eventBufferer.bufferEvents(()=>{const Q=B.map(te=>this.model.getNode(te));this.focus.set(Q,$);const Z=B.map(te=>this.model.getListIndex(te)).filter(te=>te>-1);this.view.setFocus(Z,$,!0)})}focusNext(B=1,$=!1,Q,Z=(0,d.isKeyboardEvent)(Q)&&Q.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(B,$,Q,Z)}focusPrevious(B=1,$=!1,Q,Z=(0,d.isKeyboardEvent)(Q)&&Q.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(B,$,Q,Z)}focusNextPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(B,$)}focusPreviousPage(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(B,$,()=>this.stickyScrollController?.height??0)}focusLast(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(B,$)}focusFirst(B,$=(0,d.isKeyboardEvent)(B)&&B.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(B,$)}getFocus(){return this.focus.get()}reveal(B,$){this.model.expandTo(B);const Q=this.model.getListIndex(B);if(Q!==-1)if(!this.stickyScrollController)this.view.reveal(Q,$);else{const Z=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(B));this.view.reveal(Q,$,Z)}}onLeftArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q);if(!this.model.setCollapsed(Z,!0)){const re=this.model.getParentNodeLocation(Z);if(!re)return;const le=this.model.getListIndex(re);this.view.reveal(le),this.view.setFocus([le])}}onRightArrow(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q);if(!this.model.setCollapsed(Z,!1)){if(!Q.children.some(me=>me.visible))return;const[re]=this.view.getFocus(),le=re+1;this.view.reveal(le),this.view.setFocus([le])}}onSpace(B){B.preventDefault(),B.stopPropagation();const $=this.view.getFocusedElements();if($.length===0)return;const Q=$[0],Z=this.model.getNodeLocation(Q),te=B.browserEvent.altKey;this.model.setCollapsed(Z,void 0,te)}dispose(){(0,u.dispose)(this.disposables),this.stickyScrollController?.dispose(),this.view.dispose()}}e.AbstractTree=ge}),define(ne[644],se([1,0,176,250]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DataTree=void 0;class I extends d.AbstractTree{constructor(y,m,_,b,p,n={}){super(y,m,_,b,n),this.user=y,this.dataSource=p,this.identityProvider=n.identityProvider}createModel(y,m,_){return new k.ObjectTreeModel(y,m,_)}}e.DataTree=I}),define(ne[360],se([1,0,176,627,250,126,53]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleObjectTree=e.ObjectTree=void 0;class m extends d.AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,s,g,c={}){super(t,i,s,g,c),this.user=t}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}rerender(t){if(t===void 0){this.view.rerender();return}this.model.rerender(t)}hasElement(t){return this.model.has(t)}createModel(t,i,s){return new I.ObjectTreeModel(t,i,s)}}e.ObjectTree=m;class _{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i,s){this._compressedTreeNodeProvider=t,this.stickyScrollDelegate=i,this.renderer=s,this.templateId=s.templateId,s.onDidChangeTwistieState&&(this.onDidChangeTwistieState=s.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,s,g){let c=this.stickyScrollDelegate.getCompressedNode(t);c||(c=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element)),c.element.elements.length===1?(s.compressedTreeNode=void 0,this.renderer.renderElement(t,i,s.data,g)):(s.compressedTreeNode=c,this.renderer.renderCompressedElements(c,i,s.data,g))}disposeElement(t,i,s,g){s.compressedTreeNode?this.renderer.disposeCompressedElements?.(s.compressedTreeNode,i,s.data,g):this.renderer.disposeElement?.(t,i,s.data,g)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return this.renderer.renderTwistie?this.renderer.renderTwistie(t,i):!1}}ke([E.memoize],_.prototype,"compressedTreeNodeProvider",null);class b{constructor(t){this.modelProvider=t,this.compressedStickyNodes=new Map}getCompressedNode(t){return this.compressedStickyNodes.get(t)}constrainStickyScrollNodes(t,i,s){if(this.compressedStickyNodes.clear(),t.length===0)return[];for(let g=0;g<t.length;g++){const c=t[g],l=c.position+c.height;if(g+1<t.length&&l+t[g+1].height>s||g>=i-1&&i<t.length){const r=t.slice(0,g),u=t.slice(g),C=this.compressStickyNodes(u);return[...r,C]}}return t}compressStickyNodes(t){if(t.length===0)throw new Error("Can't compress empty sticky nodes");const i=this.modelProvider();if(!i.isCompressionEnabled())return t[0];const s=[];for(let u=0;u<t.length;u++){const C=t[u],f=i.getCompressedTreeNode(C.node.element);if(f.element){if(u!==0&&f.element.incompressible)break;s.push(...f.element.elements)}}if(s.length<2)return t[0];const g=t[t.length-1],c={elements:s,incompressible:!1},l={...g.node,children:[],element:c},a=new Proxy(t[0].node,{}),r={node:a,startIndex:t[0].startIndex,endIndex:g.endIndex,position:t[0].position,height:t[0].height};return this.compressedStickyNodes.set(a,l),r}}function p(o,t){return t&&{...t,keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(i){let s;try{s=o().getCompressedTreeNode(i)}catch{return t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i)}return s.element.elements.length===1?t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i):t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(s.element.elements)}}}}class n extends m{constructor(t,i,s,g,c={}){const l=()=>this,a=new b(()=>this.model),r=g.map(u=>new _(l,a,u));super(t,i,s,r,{...p(l,c),stickyScrollDelegate:a})}setChildren(t,i=y.Iterable.empty(),s){this.model.setChildren(t,i,s)}createModel(t,i,s){return new k.CompressibleObjectTreeModel(t,i,s)}updateOptions(t={}){super.updateOptions(t),typeof t.compressionEnabled<"u"&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}e.CompressibleObjectTree=n}),define(ne[645],se([1,0,257,176,249,360,159,14,26,30,8,6,53,2,19]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CompressibleAsyncDataTree=e.AsyncDataTree=void 0;function s(P){return{...P,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function g(P,N){return N.parent?N.parent===P?!0:g(P,N.parent):!1}function c(P,N){return P===N||g(P,N)||g(N,P)}class l{get element(){return this.node.element.element}get children(){return this.node.children.map(N=>new l(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class a{constructor(N,O,F){this.renderer=N,this.nodeMapper=O,this.onDidChangeTwistieState=F,this.renderedNodes=new Map,this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear()}}function r(P){return{browserEvent:P.browserEvent,elements:P.elements.map(N=>N.element)}}function u(P){return{browserEvent:P.browserEvent,element:P.element&&P.element.element,target:P.target}}class C extends d.ElementsDragAndDropData{constructor(N){super(N.elements.map(O=>O.element)),this.data=N}}function f(P){return P instanceof d.ElementsDragAndDropData?new C(P):P}class h{constructor(N){this.dnd=N}getDragURI(N){return this.dnd.getDragURI(N.element)}getDragLabel(N,O){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(N.map(F=>F.element),O)}onDragStart(N,O){this.dnd.onDragStart?.(f(N),O)}onDragOver(N,O,F,x,W,V=!0){return this.dnd.onDragOver(f(N),O&&O.element,F,x,W)}drop(N,O,F,x,W){this.dnd.drop(f(N),O&&O.element,F,x,W)}onDragEnd(N){this.dnd.onDragEnd?.(N)}dispose(){this.dnd.dispose()}}function v(P){return P&&{...P,collapseByDefault:!0,identityProvider:P.identityProvider&&{getId(N){return P.identityProvider.getId(N.element)}},dnd:P.dnd&&new h(P.dnd),multipleSelectionController:P.multipleSelectionController&&{isSelectionSingleChangeEvent(N){return P.multipleSelectionController.isSelectionSingleChangeEvent({...N,element:N.element})},isSelectionRangeChangeEvent(N){return P.multipleSelectionController.isSelectionRangeChangeEvent({...N,element:N.element})}},accessibilityProvider:P.accessibilityProvider&&{...P.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:P.accessibilityProvider.getRole?N=>P.accessibilityProvider.getRole(N.element):()=>"treeitem",isChecked:P.accessibilityProvider.isChecked?N=>!!P.accessibilityProvider?.isChecked(N.element):void 0,getAriaLabel(N){return P.accessibilityProvider.getAriaLabel(N.element)},getWidgetAriaLabel(){return P.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:P.accessibilityProvider.getWidgetRole?()=>P.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:P.accessibilityProvider.getAriaLevel&&(N=>P.accessibilityProvider.getAriaLevel(N.element)),getActiveDescendantId:P.accessibilityProvider.getActiveDescendantId&&(N=>P.accessibilityProvider.getActiveDescendantId(N.element))},filter:P.filter&&{filter(N,O){return P.filter.filter(N.element,O)}},keyboardNavigationLabelProvider:P.keyboardNavigationLabelProvider&&{...P.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(N){return P.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(N.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof P.expandOnlyOnTwistieClick>"u"?void 0:typeof P.expandOnlyOnTwistieClick!="function"?P.expandOnlyOnTwistieClick:N=>P.expandOnlyOnTwistieClick(N.element),defaultFindVisibility:N=>N.hasChildren&&N.stale?1:typeof P.defaultFindVisibility=="number"?P.defaultFindVisibility:typeof P.defaultFindVisibility>"u"?2:P.defaultFindVisibility(N.element)}}function w(P,N){N(P),P.children.forEach(O=>w(O,N))}class S{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return n.Event.map(this.tree.onDidChangeFocus,r)}get onDidChangeSelection(){return n.Event.map(this.tree.onDidChangeSelection,r)}get onMouseDblClick(){return n.Event.map(this.tree.onMouseDblClick,u)}get onPointer(){return n.Event.map(this.tree.onPointer,u)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(N,O,F,x,W,V={}){this.user=N,this.dataSource=W,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new n.Emitter,this._onDidChangeNodeSlowState=new n.Emitter,this.nodeMapper=new y.WeakMapper(q=>new l(q)),this.disposables=new t.DisposableStore,this.identityProvider=V.identityProvider,this.autoExpandSingleChildren=typeof V.autoExpandSingleChildren>"u"?!1:V.autoExpandSingleChildren,this.sorter=V.sorter,this.getDefaultCollapseState=q=>V.collapseByDefault?V.collapseByDefault(q)?y.ObjectTreeElementCollapseState.PreserveOrCollapsed:y.ObjectTreeElementCollapseState.PreserveOrExpanded:void 0,this.tree=this.createTree(N,O,F,x,V),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=s({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new a(z,this.nodeMapper,this._onDidChangeNodeSlowState.event)),H=v(W)||{};return new E.ObjectTree(N,O,V,q,H)}updateOptions(N={}){this.tree.updateOptions(N)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(N){this.tree.scrollTop=N}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(N,O){this.tree.layout(N,O)}style(N){this.tree.style(N)}getInput(){return this.root.element}async setInput(N,O){this.refreshPromises.forEach(x=>x.cancel()),this.refreshPromises.clear(),this.root.element=N;const F=O&&{viewState:O,focus:[],selection:[]};await this._updateChildren(N,!0,!1,F),F&&(this.tree.setFocus(F.focus),this.tree.setSelection(F.selection)),O&&typeof O.scrollTop=="number"&&(this.scrollTop=O.scrollTop)}async _updateChildren(N=this.root.element,O=!0,F=!1,x,W){if(typeof this.root.element>"u")throw new y.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const V=this.getDataNode(N);if(await this.refreshAndRenderNode(V,O,x,W),F)try{this.tree.rerender(V)}catch{}}rerender(N){if(N===void 0||N===this.root.element){this.tree.rerender();return}const O=this.getDataNode(N);this.tree.rerender(O)}getNode(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getNode(O===this.root?null:O);return this.nodeMapper.map(F)}collapse(N,O=!1){const F=this.getDataNode(N);return this.tree.collapse(F===this.root?null:F,O)}async expand(N,O=!1){if(typeof this.root.element>"u")throw new y.TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event));const F=this.getDataNode(N);if(this.tree.hasElement(F)&&!this.tree.isCollapsible(F)||(F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),F!==this.root&&!F.refreshPromise&&!this.tree.isCollapsed(F)))return!1;const x=this.tree.expand(F===this.root?null:F,O);return F.refreshPromise&&(await this.root.refreshPromise,await n.Event.toPromise(this._onDidRender.event)),x}setSelection(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setSelection(F,O)}getSelection(){return this.tree.getSelection().map(O=>O.element)}setFocus(N,O){const F=N.map(x=>this.getDataNode(x));this.tree.setFocus(F,O)}getFocus(){return this.tree.getFocus().map(O=>O.element)}reveal(N,O){this.tree.reveal(this.getDataNode(N),O)}getParentElement(N){const O=this.tree.getParentElement(this.getDataNode(N));return O&&O.element}getFirstElementChild(N=this.root.element){const O=this.getDataNode(N),F=this.tree.getFirstElementChild(O===this.root?null:O);return F&&F.element}getDataNode(N){const O=this.nodes.get(N===this.root.element?null:N);if(!O)throw new y.TreeError(this.user,`Data tree node not found: ${N}`);return O}async refreshAndRenderNode(N,O,F,x){await this.refreshNode(N,O,F),!this.disposables.isDisposed&&this.render(N,F,x)}async refreshNode(N,O,F){let x;if(this.subTreeRefreshPromises.forEach((W,V)=>{!x&&c(V,N)&&(x=W.then(()=>this.refreshNode(N,O,F)))}),x)return x;if(N!==this.root&&this.tree.getNode(N).collapsed){N.hasChildren=!!this.dataSource.hasChildren(N.element),N.stale=!0,this.setChildren(N,[],O,F);return}return this.doRefreshSubTree(N,O,F)}async doRefreshSubTree(N,O,F){let x;N.refreshPromise=new Promise(W=>x=W),this.subTreeRefreshPromises.set(N,N.refreshPromise),N.refreshPromise.finally(()=>{N.refreshPromise=void 0,this.subTreeRefreshPromises.delete(N)});try{const W=await this.doRefreshNode(N,O,F);N.stale=!1,await m.Promises.settled(W.map(V=>this.doRefreshSubTree(V,O,F)))}finally{x()}}async doRefreshNode(N,O,F){N.hasChildren=!!this.dataSource.hasChildren(N.element);let x;if(!N.hasChildren)x=Promise.resolve(o.Iterable.empty());else{const W=this.doGetChildren(N);if((0,i.isIterable)(W))x=Promise.resolve(W);else{const V=(0,m.timeout)(800);V.then(()=>{N.slow=!0,this._onDidChangeNodeSlowState.fire(N)},q=>null),x=W.finally(()=>V.cancel())}}try{const W=await x;return this.setChildren(N,W,O,F)}catch(W){if(N!==this.root&&this.tree.hasElement(N)&&this.tree.collapse(N),(0,p.isCancellationError)(W))return[];throw W}finally{N.slow&&(N.slow=!1,this._onDidChangeNodeSlowState.fire(N))}}doGetChildren(N){let O=this.refreshPromises.get(N);if(O)return O;const F=this.dataSource.getChildren(N.element);return(0,i.isIterable)(F)?this.processChildren(F):(O=(0,m.createCancelablePromise)(async()=>this.processChildren(await F)),this.refreshPromises.set(N,O),O.finally(()=>{this.refreshPromises.delete(N)}))}_onDidChangeCollapseState({node:N,deep:O}){N.element!==null&&!N.collapsed&&N.element.stale&&(O?this.collapse(N.element.element):this.refreshAndRenderNode(N.element,!1).catch(p.onUnexpectedError))}setChildren(N,O,F,x){const W=[...O];if(N.children.length===0&&W.length===0)return[];const V=new Map,q=new Map;for(const U of N.children)V.set(U.element,U),this.identityProvider&&q.set(U.id,{node:U,collapsed:this.tree.hasElement(U)&&this.tree.isCollapsed(U)});const H=[],z=W.map(U=>{const j=!!this.dataSource.hasChildren(U);if(!this.identityProvider){const R=s({element:U,parent:N,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return j&&R.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded&&H.push(R),R}const Y=this.identityProvider.getId(U).toString(),G=q.get(Y);if(G){const R=G.node;return V.delete(R.element),this.nodes.delete(R.element),this.nodes.set(U,R),R.element=U,R.hasChildren=j,F?G.collapsed?(R.children.forEach(J=>w(J,ie=>this.nodes.delete(ie.element))),R.children.splice(0,R.children.length),R.stale=!0):H.push(R):j&&!G.collapsed&&H.push(R),R}const K=s({element:U,parent:N,id:Y,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(U)});return x&&x.viewState.focus&&x.viewState.focus.indexOf(Y)>-1&&x.focus.push(K),x&&x.viewState.selection&&x.viewState.selection.indexOf(Y)>-1&&x.selection.push(K),(x&&x.viewState.expanded&&x.viewState.expanded.indexOf(Y)>-1||j&&K.defaultCollapseState===y.ObjectTreeElementCollapseState.PreserveOrExpanded)&&H.push(K),K});for(const U of V.values())w(U,j=>this.nodes.delete(j.element));for(const U of z)this.nodes.set(U.element,U);return N.children.splice(0,N.children.length,...z),N!==this.root&&this.autoExpandSingleChildren&&z.length===1&&H.length===0&&(z[0].forceExpanded=!0,H.push(z[0])),H}render(N,O,F){const x=N.children.map(V=>this.asTreeElement(V,O)),W=F&&{...F,diffIdentityProvider:F.diffIdentityProvider&&{getId(V){return F.diffIdentityProvider.getId(V.element)}}};this.tree.setChildren(N===this.root?null:N,x,W),N!==this.root&&this.tree.setCollapsible(N,N.hasChildren),this._onDidRender.fire()}asTreeElement(N,O){if(N.stale)return{element:N,collapsible:N.hasChildren,collapsed:!0};let F;return O&&O.viewState.expanded&&N.id&&O.viewState.expanded.indexOf(N.id)>-1?F=!1:N.forceExpanded?(F=!1,N.forceExpanded=!1):F=N.defaultCollapseState,{element:N,children:N.hasChildren?o.Iterable.map(N.children,x=>this.asTreeElement(x,O)):[],collapsible:N.hasChildren,collapsed:F}}processChildren(N){return this.sorter&&(N=[...N].sort(this.sorter.compare.bind(this.sorter))),N}dispose(){this.disposables.dispose(),this.tree.dispose()}}e.AsyncDataTree=S;class L{get element(){return{elements:this.node.element.elements.map(N=>N.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(N=>new L(N))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(N){this.node=N}}class D{constructor(N,O,F,x){this.renderer=N,this.nodeMapper=O,this.compressibleNodeMapperProvider=F,this.onDidChangeTwistieState=x,this.renderedNodes=new Map,this.disposables=[],this.templateId=N.templateId}renderTemplate(N){return{templateData:this.renderer.renderTemplate(N)}}renderElement(N,O,F,x){this.renderer.renderElement(this.nodeMapper.map(N),O,F.templateData,x)}renderCompressedElements(N,O,F,x){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}renderTwistie(N,O){return N.slow?(O.classList.add(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!0):(O.classList.remove(...b.ThemeIcon.asClassNameArray(_.Codicon.treeItemLoading)),!1)}disposeElement(N,O,F,x){this.renderer.disposeElement?.(this.nodeMapper.map(N),O,F.templateData,x)}disposeCompressedElements(N,O,F,x){this.renderer.disposeCompressedElements?.(this.compressibleNodeMapperProvider().map(N),O,F.templateData,x)}disposeTemplate(N){this.renderer.disposeTemplate(N.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=(0,t.dispose)(this.disposables)}}function T(P){const N=P&&v(P);return N&&{...N,keyboardNavigationLabelProvider:N.keyboardNavigationLabelProvider&&{...N.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(O){return P.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(O.map(F=>F.element))}}}}class M extends S{constructor(N,O,F,x,W,V,q={}){super(N,O,F,W,V,q),this.compressionDelegate=x,this.compressibleNodeMapper=new y.WeakMapper(H=>new L(H)),this.filter=q.filter}createTree(N,O,F,x,W){const V=new k.ComposedTreeDelegate(F),q=x.map(z=>new D(z,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),H=T(W)||{};return new E.CompressibleObjectTree(N,O,V,q,H)}asTreeElement(N,O){return{incompressible:this.compressionDelegate.isIncompressible(N.element),...super.asTreeElement(N,O)}}updateOptions(N={}){this.tree.updateOptions(N)}render(N,O,F){if(!this.identityProvider)return super.render(N,O);const x=G=>this.identityProvider.getId(G).toString(),W=G=>{const K=new Set;for(const R of G){const J=this.tree.getCompressedTreeNode(R===this.root?null:R);if(J.element)for(const ie of J.element.elements)K.add(x(ie.element))}return K},V=W(this.tree.getSelection()),q=W(this.tree.getFocus());super.render(N,O,F);const H=this.getSelection();let z=!1;const U=this.getFocus();let j=!1;const Y=G=>{const K=G.element;if(K)for(let R=0;R<K.elements.length;R++){const J=x(K.elements[R].element),ie=K.elements[K.elements.length-1].element;V.has(J)&&H.indexOf(ie)===-1&&(H.push(ie),z=!0),q.has(J)&&U.indexOf(ie)===-1&&(U.push(ie),j=!0)}G.children.forEach(Y)};Y(this.tree.getCompressedTreeNode(N===this.root?null:N)),z&&this.setSelection(H),j&&this.setFocus(U)}processChildren(N){return this.filter&&(N=o.Iterable.filter(N,O=>{const F=this.filter.filter(O,1),x=A(F);if(x===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return x===1})),super.processChildren(N)}}e.CompressibleAsyncDataTree=M;function A(P){return typeof P=="boolean"?P?1:0:(0,I.isFilterResult)(P)?(0,I.getVisibleState)(P.visibility):(0,I.getVisibleState)(P)}}),define(ne[361],se([1,0,8,6,2,42,16,11]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SimpleWorkerServer=e.SimpleWorkerClient=void 0,e.logOnceWebWorkerWarning=o,e.create=f;const _=!1,b="default",p="$initialize";let n=!1;function o(h){y.isWeb&&(n||(n=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(h.message))}class t{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.method=L,this.args=D,this.type=0}}class i{constructor(v,w,S,L){this.vsWorker=v,this.seq=w,this.res=S,this.err=L,this.type=1}}class s{constructor(v,w,S,L,D){this.vsWorker=v,this.req=w,this.channel=S,this.eventName=L,this.arg=D,this.type=2}}class g{constructor(v,w,S){this.vsWorker=v,this.req=w,this.event=S,this.type=3}}class c{constructor(v,w){this.vsWorker=v,this.req=w,this.type=4}}class l{constructor(v){this._workerId=-1,this._handler=v,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(v){this._workerId=v}sendMessage(v,w,S){const L=String(++this._lastSentReq);return new Promise((D,T)=>{this._pendingReplies[L]={resolve:D,reject:T},this._send(new t(this._workerId,L,v,w,S))})}listen(v,w,S){let L=null;const D=new k.Emitter({onWillAddFirstListener:()=>{L=String(++this._lastSentReq),this._pendingEmitters.set(L,D),this._send(new s(this._workerId,L,v,w,S))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(L),this._send(new c(this._workerId,L)),L=null}});return D.event}handleMessage(v){!v||!v.vsWorker||this._workerId!==-1&&v.vsWorker!==this._workerId||this._handleMessage(v)}createProxyToRemoteChannel(v,w){const S={get:(L,D)=>(typeof D=="string"&&!L[D]&&(u(D)?L[D]=T=>this.listen(v,D,T):r(D)?L[D]=this.listen(v,D,void 0):D.charCodeAt(0)===36&&(L[D]=async(...T)=>(await w?.(),this.sendMessage(v,D,T)))),L[D])};return new Proxy(Object.create(null),S)}_handleMessage(v){switch(v.type){case 1:return this._handleReplyMessage(v);case 0:return this._handleRequestMessage(v);case 2:return this._handleSubscribeEventMessage(v);case 3:return this._handleEventMessage(v);case 4:return this._handleUnsubscribeEventMessage(v)}}_handleReplyMessage(v){if(!this._pendingReplies[v.seq]){console.warn("Got reply to unknown seq");return}const w=this._pendingReplies[v.seq];if(delete this._pendingReplies[v.seq],v.err){let S=v.err;v.err.$isError&&(S=new Error,S.name=v.err.name,S.message=v.err.message,S.stack=v.err.stack),w.reject(S);return}w.resolve(v.res)}_handleRequestMessage(v){const w=v.req;this._handler.handleMessage(v.channel,v.method,v.args).then(L=>{this._send(new i(this._workerId,w,L,void 0))},L=>{L.detail instanceof Error&&(L.detail=(0,d.transformErrorForSerialization)(L.detail)),this._send(new i(this._workerId,w,void 0,(0,d.transformErrorForSerialization)(L)))})}_handleSubscribeEventMessage(v){const w=v.req,S=this._handler.handleEvent(v.channel,v.eventName,v.arg)(L=>{this._send(new g(this._workerId,w,L))});this._pendingEvents.set(w,S)}_handleEventMessage(v){if(!this._pendingEmitters.has(v.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(v.req).fire(v.event)}_handleUnsubscribeEventMessage(v){if(!this._pendingEvents.has(v.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(v.req).dispose(),this._pendingEvents.delete(v.req)}_send(v){const w=[];if(v.type===0)for(let S=0;S<v.args.length;S++)v.args[S]instanceof ArrayBuffer&&w.push(v.args[S]);else v.type===1&&v.res instanceof ArrayBuffer&&w.push(v.res);this._handler.sendMessage(v,w)}}class a extends I.Disposable{constructor(v,w){super(),this._localChannels=new Map,this._worker=this._register(v.create({amdModuleId:"vs/base/common/worker/simpleWorker",esmModuleLocation:w.esmModuleLocation,label:w.label},D=>{this._protocol.handleMessage(D)},D=>{(0,d.onUnexpectedError)(D)})),this._protocol=new l({sendMessage:(D,T)=>{this._worker.postMessage(D,T)},handleMessage:(D,T,M)=>this._handleMessage(D,T,M),handleEvent:(D,T,M)=>this._handleEvent(D,T,M)}),this._protocol.setWorkerId(this._worker.getId());let S=null;const L=globalThis.require;typeof L<"u"&&typeof L.getConfig=="function"?S=L.getConfig():typeof globalThis.requirejs<"u"&&(S=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(b,p,[this._worker.getId(),JSON.parse(JSON.stringify(S)),w.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(b,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(D=>{this._onError("Worker failed to load "+w.amdModuleId,D)})}_handleMessage(v,w,S){const L=this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on main thread`));if(typeof L[w]!="function")return Promise.reject(new Error(`Missing method ${w} on main thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on main thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!="function")throw new Error(`Missing dynamic event ${w} on main thread channel ${v}.`);return D}if(r(w)){const D=L[w];if(typeof D!="function")throw new Error(`Missing event ${w} on main thread channel ${v}.`);return D}throw new Error(`Malformed event name ${w}`)}setChannel(v,w){this._localChannels.set(v,w)}_onError(v,w){console.error(v),console.info(w)}}e.SimpleWorkerClient=a;function r(h){return h[0]==="o"&&h[1]==="n"&&m.isUpperAsciiLetter(h.charCodeAt(2))}function u(h){return/^onDynamic/.test(h)&&m.isUpperAsciiLetter(h.charCodeAt(9))}class C{constructor(v,w){this._localChannels=new Map,this._remoteChannels=new Map,this._requestHandlerFactory=w,this._requestHandler=null,this._protocol=new l({sendMessage:(S,L)=>{v(S,L)},handleMessage:(S,L,D)=>this._handleMessage(S,L,D),handleEvent:(S,L,D)=>this._handleEvent(S,L,D)})}onmessage(v){this._protocol.handleMessage(v)}_handleMessage(v,w,S){if(v===b&&w===p)return this.initialize(S[0],S[1],S[2]);const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)return Promise.reject(new Error(`Missing channel ${v} on worker thread`));if(typeof L[w]!="function")return Promise.reject(new Error(`Missing method ${w} on worker thread channel ${v}`));try{return Promise.resolve(L[w].apply(L,S))}catch(D){return Promise.reject(D)}}_handleEvent(v,w,S){const L=v===b?this._requestHandler:this._localChannels.get(v);if(!L)throw new Error(`Missing channel ${v} on worker thread`);if(u(w)){const D=L[w].call(L,S);if(typeof D!="function")throw new Error(`Missing dynamic event ${w} on request handler.`);return D}if(r(w)){const D=L[w];if(typeof D!="function")throw new Error(`Missing event ${w} on request handler.`);return D}throw new Error(`Malformed event name ${w}`)}getChannel(v){if(!this._remoteChannels.has(v)){const w=this._protocol.createProxyToRemoteChannel(v);this._remoteChannels.set(v,w)}return this._remoteChannels.get(v)}async initialize(v,w,S){if(this._protocol.setWorkerId(v),this._requestHandlerFactory){this._requestHandler=this._requestHandlerFactory(this);return}if(w&&(typeof w.baseUrl<"u"&&delete w.baseUrl,typeof w.paths<"u"&&typeof w.paths.vs<"u"&&delete w.paths.vs,typeof w.trustedTypesPolicy<"u"&&delete w.trustedTypesPolicy,w.catchError=!0,globalThis.require.config(w)),_){const L=E.FileAccess.asBrowserUri(`${S}.js`).toString(!0);return new Promise((D,T)=>{oe([`${L}`],D,T)}).then(D=>{if(this._requestHandler=D.create(this),!this._requestHandler)throw new Error("No RequestHandler!")})}return new Promise((L,D)=>{(globalThis.require||oe)([S],M=>{if(this._requestHandler=M.create(this),!this._requestHandler){D(new Error("No RequestHandler!"));return}L()},D)})}}e.SimpleWorkerServer=C;function f(h){return new C(h,null)}}),define(ne[646],se([1,0,103,8,42,361,2,13,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WorkerDescriptor=void 0,e.createWebWorker=l;const b=!1;let p;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?p=globalThis.workerttPolicy:p=(0,d.createTrustedTypesPolicy)("defaultWorkerFactory",{createScriptURL:a=>a});function n(a,r){const u=globalThis.MonacoEnvironment;if(u){if(typeof u.getWorker=="function")return u.getWorker("workerMain.js",r);if(typeof u.getWorkerUrl=="function"){const C=u.getWorkerUrl("workerMain.js",r);return new Worker(p?p.createScriptURL(C):C,{name:r,type:b?"module":void 0})}}if(typeof oe=="function"){const C=oe.toUrl("vs/base/worker/workerMain.js"),f="vs/base/worker/defaultWorkerFactory.js",h=oe.toUrl(f).slice(0,-f.length),v=o(r,C,h);return new Worker(p?p.createScriptURL(v):v,{name:r,type:b?"module":void 0})}if(a){const C=o(r,a.toString(!0)),f=new Worker(p?p.createScriptURL(C):C,{name:r,type:b?"module":void 0});return b?t(f):f}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function o(a,r,u){const C=/^((http:)|(https:)|(file:)|(vscode-file:))/.test(r);if(!(C&&r.substring(0,globalThis.origin.length)!==globalThis.origin)){const h=r.lastIndexOf("?"),v=r.lastIndexOf("#",h),w=h>0?new URLSearchParams(r.substring(h+1,~v?v:void 0)):new URLSearchParams;I.COI.addSearchParam(w,!0,!0),w.toString()?r=`${r}?${w.toString()}#${a}`:r=`${r}#${a}`}!b&&!C&&(r=new URL(r,globalThis.origin).toString());const f=new Blob([(0,m.coalesce)([`/*${a}*/`,u?`globalThis.MonacoEnvironment = { baseUrl: '${u}' };`:void 0,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify((0,_.getNLSMessages)())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify((0,_.getNLSLanguage)())};`,`globalThis._VSCODE_FILE_ROOT = '${globalThis._VSCODE_FILE_ROOT}';`,"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;",b?`await import(ttPolicy?.createScriptURL('${r}') ?? '${r}');`:`importScripts(ttPolicy?.createScriptURL('${r}') ?? '${r}');`,b?"globalThis.postMessage({ type: 'vscode-worker-ready' });":void 0,`/*${a}*/`]).join("")],{type:"application/javascript"});return URL.createObjectURL(f)}function t(a){return new Promise((r,u)=>{a.onmessage=function(C){C.data.type==="vscode-worker-ready"&&(a.onmessage=null,r(a))},a.onerror=u})}function i(a){return typeof a.then=="function"}class s extends y.Disposable{constructor(r,u,C,f,h,v){super(),this.id=C,this.label=f;const w=n(r,f);i(w)?this.worker=w:this.worker=Promise.resolve(w),this.postMessage(u,[]),this.worker.then(S=>{S.onmessage=function(L){h(L.data)},S.onmessageerror=v,typeof S.addEventListener=="function"&&S.addEventListener("error",v)}),this._register((0,y.toDisposable)(()=>{this.worker?.then(S=>{S.onmessage=null,S.onmessageerror=null,S.removeEventListener("error",v),S.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(r,u){this.worker?.then(C=>{try{C.postMessage(r,u)}catch(f){(0,k.onUnexpectedError)(f),(0,k.onUnexpectedError)(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:f}))}})}}class g{constructor(r,u){this.amdModuleId=r,this.label=u,this.esmModuleLocation=b?I.FileAccess.asBrowserUri(`${r}.esm.js`):void 0}}e.WorkerDescriptor=g;class c{static{this.LAST_WORKER_ID=0}constructor(){this._webWorkerFailedBeforeError=!1}create(r,u,C){const f=++c.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new s(r.esmModuleLocation,r.amdModuleId,f,r.label||"anonymous"+f,u,h=>{(0,E.logOnceWebWorkerWarning)(h),this._webWorkerFailedBeforeError=h,C(h)})}}function l(a,r){const u=typeof a=="string"?new g(a,r):a;return new E.SimpleWorkerClient(new c,u)}}),define(ne[647],se([1,0,14,6,2,252,19]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InMemoryStorageDatabase=e.Storage=e.StorageState=e.StorageHint=void 0;var m;(function(n){n[n.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",n[n.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(m||(e.StorageHint=m={}));var _;(function(n){n[n.None=0]="None",n[n.Initialized=1]="Initialized",n[n.Closed=2]="Closed"})(_||(e.StorageState=_={}));class b extends I.Disposable{static{this.DEFAULT_FLUSH_DELAY=100}constructor(o,t=Object.create(null)){super(),this.database=o,this.options=t,this._onDidChangeStorage=this._register(new k.PauseableEmitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=_.None,this.cache=new Map,this.flushDelayer=this._register(new d.ThrottledDelayer(b.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(o=>this.onDidChangeItemsExternal(o)))}onDidChangeItemsExternal(o){this._onDidChangeStorage.pause();try{o.changed?.forEach((t,i)=>this.acceptExternal(i,t)),o.deleted?.forEach(t=>this.acceptExternal(t,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(o,t){if(this.state===_.Closed)return;let i=!1;(0,y.isUndefinedOrNull)(t)?i=this.cache.delete(o):this.cache.get(o)!==t&&(this.cache.set(o,t),i=!0),i&&this._onDidChangeStorage.fire({key:o,external:!0})}get(o,t){const i=this.cache.get(o);return(0,y.isUndefinedOrNull)(i)?t:i}getBoolean(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:i==="true"}getNumber(o,t){const i=this.get(o);return(0,y.isUndefinedOrNull)(i)?t:parseInt(i,10)}async set(o,t,i=!1){if(this.state===_.Closed)return;if((0,y.isUndefinedOrNull)(t))return this.delete(o,i);const s=(0,y.isObject)(t)||Array.isArray(t)?(0,E.stringify)(t):String(t);if(this.cache.get(o)!==s)return this.cache.set(o,s),this.pendingInserts.set(o,s),this.pendingDeletes.delete(o),this._onDidChangeStorage.fire({key:o,external:i}),this.doFlush()}async delete(o,t=!1){if(!(this.state===_.Closed||!this.cache.delete(o)))return this.pendingDeletes.has(o)||this.pendingDeletes.add(o),this.pendingInserts.delete(o),this._onDidChangeStorage.fire({key:o,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const o={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(o).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async doFlush(o){return this.options.hint===m.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),o)}}e.Storage=b;class p{constructor(){this.onDidChangeItemsExternal=k.Event.None,this.items=new Map}async updateItems(o){o.insert?.forEach((t,i)=>this.items.set(i,t)),o.delete?.forEach(t=>this.items.delete(t))}}e.InMemoryStorageDatabase=p}),define(ne[362],se([1,0,2,6,5]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ElementSizeObserver=void 0;class E extends d.Disposable{constructor(m,_){super(),this._onDidChange=this._register(new k.Emitter),this.onDidChange=this._onDidChange.event,this._referenceDomElement=m,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,_)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let m=null;const _=()=>{m?this.observe({width:m.width,height:m.height}):this.observe()};let b=!1,p=!1;const n=()=>{if(b&&!p)try{b=!1,p=!0,_()}finally{(0,I.scheduleAtNextAnimationFrame)((0,I.getWindow)(this._referenceDomElement),()=>{p=!1,n()})}};this._resizeObserver=new ResizeObserver(o=>{o&&o[0]&&o[0].contentRect?m={width:o[0].contentRect.width,height:o[0].contentRect.height}:m=null,b=!0,n()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(m){this.measureReferenceDomElement(!0,m)}measureReferenceDomElement(m,_){let b=0,p=0;_?(b=_.width,p=_.height):this._referenceDomElement&&(b=this._referenceDomElement.clientWidth,p=this._referenceDomElement.clientHeight),b=Math.max(5,b),p=Math.max(5,p),(this._width!==b||this._height!==p)&&(this._width=b,this._height=p,m&&this._onDidChange.fire())}}e.ElementSizeObserver=E}),define(ne[648],se([1,0,5,18,57,19,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ManagedHoverWidget=void 0;class m{constructor(b,p,n){this.hoverDelegate=b,this.target=p,this.fadeInAnimation=n}async update(b,p,n){if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let o;if(b===void 0||(0,E.isString)(b)||(0,d.isHTMLElement)(b))o=b;else if(!(0,E.isFunction)(b.markdown))o=b.markdown??b.markdownNotSupportedFallback;else{this._hoverWidget||this.show((0,y.localize)(69,"Loading..."),p,n),this._cancellationTokenSource=new k.CancellationTokenSource;const t=this._cancellationTokenSource.token;if(o=await b.markdown(t),o===void 0&&(o=b.markdownNotSupportedFallback),this.isDisposed||t.isCancellationRequested)return}this.show(o,p,n)}show(b,p,n){const o=this._hoverWidget;if(this.hasContent(b)){const t={content:b,target:this.target,actions:n?.actions,linkHandler:n?.linkHandler,trapFocus:n?.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!o,showHoverHint:n?.appearance?.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(t,p)}o?.dispose()}hasContent(b){return b?(0,I.isMarkdownString)(b)?!!b.value:!0:!1}get isDisposed(){return this._hoverWidget?.isDisposed}dispose(){this._hoverWidget?.dispose(),this._cancellationTokenSource?.dispose(!0),this._cancellationTokenSource=void 0}}e.ManagedHoverWidget=m}),define(ne[649],se([1,0,5,39,56]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewContentWidgets=void 0;class E extends I.ViewPart{constructor(o,t){super(o),this._viewDomNode=t,this._widgets={},this.domNode=(0,k.createFastDomNode)(document.createElement("div")),I.PartFingerprints.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=(0,k.createFastDomNode)(document.createElement("div")),I.PartFingerprints.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onConfigurationChanged(o);return!0}onDecorationsChanged(o){return!0}onFlushed(o){return!0}onLineMappingChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesChanged(o){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(o){return this._updateAnchorsViewPositions(),!0}onLinesInserted(o){return this._updateAnchorsViewPositions(),!0}onScrollChanged(o){return!0}onZonesChanged(o){return!0}_updateAnchorsViewPositions(){const o=Object.keys(this._widgets);for(const t of o)this._widgets[t].updateAnchorViewPosition()}addWidget(o){const t=new y(this._context,this._viewDomNode,o);this._widgets[t.id]=t,t.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(t.domNode):this.domNode.appendChild(t.domNode),this.setShouldRender()}setWidgetPosition(o,t,i,s,g){this._widgets[o.getId()].setPosition(t,i,s,g),this.setShouldRender()}removeWidget(o){const t=o.getId();if(this._widgets.hasOwnProperty(t)){const i=this._widgets[t];delete this._widgets[t];const s=i.domNode.domNode;s.remove(),s.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(o){return this._widgets.hasOwnProperty(o)?this._widgets[o].suppressMouseDown:!1}onBeforeRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].onBeforeRender(o)}prepareRender(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].prepareRender(o)}render(o){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].render(o)}}e.ViewContentWidgets=E;class y{constructor(o,t,i){this._primaryAnchor=new m(null,null),this._secondaryAnchor=new m(null,null),this._context=o,this._viewDomNode=t,this._actual=i,this.domNode=(0,k.createFastDomNode)(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,g=s.get(146);this._fixedOverflowWidgets=s.get(42),this._contentWidth=g.contentWidth,this._contentLeft=g.contentLeft,this._lineHeight=s.get(67),this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(o){const t=this._context.configuration.options;if(this._lineHeight=t.get(67),o.hasChanged(146)){const i=t.get(146);this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(o,t,i){this._affinity=o,this._primaryAnchor=s(t,this._context.viewModel,this._affinity),this._secondaryAnchor=s(i,this._context.viewModel,this._affinity);function s(g,c,l){if(!g)return new m(null,null);const a=c.model.validatePosition(g);if(c.coordinatesConverter.modelPositionIsVisible(a)){const r=c.coordinatesConverter.convertModelPositionToViewPosition(a,l??void 0);return new m(g,r)}return new m(g,null)}}_getMaxWidth(){const o=this.domNode.domNode.ownerDocument,t=o.defaultView;return this.allowEditorOverflow?t?.innerWidth||o.documentElement.offsetWidth||o.body.offsetWidth:this._contentWidth}setPosition(o,t,i,s){this._setPosition(s,o,t),this._preference=i,this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(o,t,i,s){const g=o.top,c=g,l=o.top+o.height,a=s.viewportHeight-l,r=g-i,u=c>=i,C=l,f=a>=i;let h=o.left;return h+t>s.scrollLeft+s.viewportWidth&&(h=s.scrollLeft+s.viewportWidth-t),h<s.scrollLeft&&(h=s.scrollLeft),{fitsAbove:u,aboveTop:r,fitsBelow:f,belowTop:C,left:h}}_layoutHorizontalSegmentInPage(o,t,i,s){const l=Math.max(15,t.left-s),a=Math.min(t.left+t.width+s,o.width-15),u=this._viewDomNode.domNode.ownerDocument.defaultView;let C=t.left+i-(u?.scrollX??0);if(C+s>a){const f=C-(a-s);C-=f,i-=f}if(C<l){const f=C-l;C-=f,i-=f}return[i,C]}_layoutBoxInPage(o,t,i,s){const g=o.top-i,c=o.top+o.height,l=d.getDomNodePagePosition(this._viewDomNode.domNode),a=this._viewDomNode.domNode.ownerDocument,r=a.defaultView,u=l.top+g-(r?.scrollY??0),C=l.top+c-(r?.scrollY??0),f=d.getClientArea(a.body),[h,v]=this._layoutHorizontalSegmentInPage(f,l,o.left-s.scrollLeft+this._contentLeft,t),w=22,S=22,L=u>=w,D=C+i<=f.height-S;return this._fixedOverflowWidgets?{fitsAbove:L,aboveTop:Math.max(u,w),fitsBelow:D,belowTop:C,left:v}:{fitsAbove:L,aboveTop:g,fitsBelow:D,belowTop:c,left:h}}_prepareRenderWidgetAtExactPositionOverflowing(o){return new _(o.top,o.left+this._contentLeft)}_getAnchorsCoordinates(o){const t=g(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),i=this._secondaryAnchor.viewPosition?.lineNumber===this._primaryAnchor.viewPosition?.lineNumber?this._secondaryAnchor.viewPosition:null,s=g(i,this._affinity,this._lineHeight);return{primary:t,secondary:s};function g(c,l,a){if(!c)return null;const r=o.visibleRangeForPosition(c);if(!r)return null;const u=c.column===1&&l===3?0:r.left,C=o.getVerticalOffsetForLineNumber(c.lineNumber)-o.scrollTop;return new b(C,u,a)}}_reduceAnchorCoordinates(o,t,i){if(!t)return o;const s=this._context.configuration.options.get(50);let g=t.left;return g<o.left?g=Math.max(g,o.left-i+s.typicalFullwidthCharacterWidth):g=Math.min(g,o.left+i-s.typicalFullwidthCharacterWidth),new b(o.top,g,o.height)}_prepareRenderWidget(o){if(!this._preference||this._preference.length===0)return null;const{primary:t,secondary:i}=this._getAnchorsCoordinates(o);if(!t)return{kind:"offViewport",preserveFocus:this.domNode.domNode.contains(this.domNode.domNode.ownerDocument.activeElement)};if(this._cachedDomNodeOffsetWidth===-1||this._cachedDomNodeOffsetHeight===-1){let c=null;if(typeof this._actual.beforeRender=="function"&&(c=p(this._actual.beforeRender,this._actual)),c)this._cachedDomNodeOffsetWidth=c.width,this._cachedDomNodeOffsetHeight=c.height;else{const a=this.domNode.domNode.getBoundingClientRect();this._cachedDomNodeOffsetWidth=Math.round(a.width),this._cachedDomNodeOffsetHeight=Math.round(a.height)}}const s=this._reduceAnchorCoordinates(t,i,this._cachedDomNodeOffsetWidth);let g;this.allowEditorOverflow?g=this._layoutBoxInPage(s,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,o):g=this._layoutBoxInViewport(s,this._cachedDomNodeOffsetWidth,this._cachedDomNodeOffsetHeight,o);for(let c=1;c<=2;c++)for(const l of this._preference)if(l===1){if(!g)return null;if(c===2||g.fitsAbove)return{kind:"inViewport",coordinate:new _(g.aboveTop,g.left),position:1}}else if(l===2){if(!g)return null;if(c===2||g.fitsBelow)return{kind:"inViewport",coordinate:new _(g.belowTop,g.left),position:2}}else return this.allowEditorOverflow?{kind:"inViewport",coordinate:this._prepareRenderWidgetAtExactPositionOverflowing(new _(s.top,s.left)),position:0}:{kind:"inViewport",coordinate:new _(s.top,s.left),position:0};return null}onBeforeRender(o){!this._primaryAnchor.viewPosition||!this._preference||this._primaryAnchor.viewPosition.lineNumber<o.startLineNumber||this._primaryAnchor.viewPosition.lineNumber>o.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(o){this._renderData=this._prepareRenderWidget(o)}render(o){if(!this._renderData||this._renderData.kind==="offViewport"){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this._renderData?.kind==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&p(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+o.scrollTop-o.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&p(this._actual.afterRender,this._actual,this._renderData.position)}}class m{constructor(o,t){this.modelPosition=o,this.viewPosition=t}}class _{constructor(o,t){this.top=o,this.left=t,this._coordinateBrand=void 0}}class b{constructor(o,t,i){this.top=o,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function p(n,o,...t){try{return n.call(o,...t)}catch{return null}}}),define(ne[650],se([1,0,39,56,5,492]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewOverlayWidgets=void 0;class E extends k.ViewPart{constructor(m,_){super(m),this._viewDomNode=_;const p=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=p.verticalScrollbarWidth,this._minimapWidth=p.minimap.minimapWidth,this._horizontalScrollbarHeight=p.horizontalScrollbarHeight,this._editorHeight=p.height,this._editorWidth=p.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=(0,d.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=(0,d.createFastDomNode)(document.createElement("div")),k.PartFingerprints.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(m){const b=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=b.verticalScrollbarWidth,this._minimapWidth=b.minimap.minimapWidth,this._horizontalScrollbarHeight=b.horizontalScrollbarHeight,this._editorHeight=b.height,this._editorWidth=b.width,!0}addWidget(m){const _=(0,d.createFastDomNode)(m.getDomNode());this._widgets[m.getId()]={widget:m,preference:null,domNode:_},_.setPosition("absolute"),_.setAttribute("widgetId",m.getId()),m.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(_):this._domNode.appendChild(_),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(m,_){const b=this._widgets[m.getId()],p=_?_.preference:null,n=_?.stackOridinal;return b.preference===p&&b.stack===n?(this._updateMaxMinWidth(),!1):(b.preference=p,b.stack=n,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(m){const _=m.getId();if(this._widgets.hasOwnProperty(_)){const p=this._widgets[_].domNode.domNode;delete this._widgets[_],p.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){let m=0;const _=Object.keys(this._widgets);for(let b=0,p=_.length;b<p;b++){const n=_[b],t=this._widgets[n].widget.getMinContentWidthInPx?.();typeof t<"u"&&(m=Math.max(m,t))}this._context.viewLayout.setOverlayWidgetsMinWidth(m)}_renderWidget(m,_){const b=m.domNode;if(m.preference===null){b.setTop("");return}const p=2*this._verticalScrollbarWidth+this._minimapWidth;if(m.preference===0||m.preference===1){if(m.preference===1){const n=b.domNode.clientHeight;b.setTop(this._editorHeight-n-2*this._horizontalScrollbarHeight)}else b.setTop(0);m.stack!==void 0?(b.setTop(_[m.preference]),_[m.preference]+=b.domNode.clientWidth):b.setRight(p)}else if(m.preference===2)b.domNode.style.right="50%",m.stack!==void 0?(b.setTop(_[2]),_[2]+=b.domNode.clientHeight):b.setTop(0);else{const{top:n,left:o}=m.preference;if(this._context.configuration.options.get(42)&&m.widget.allowEditorOverflow){const i=this._viewDomNodeRect;b.setTop(n+i.top),b.setLeft(o+i.left),b.setPosition("fixed")}else b.setTop(n),b.setLeft(o),b.setPosition("absolute")}}prepareRender(m){this._viewDomNodeRect=I.getDomNodePagePosition(this._viewDomNode.domNode)}render(m){this._domNode.setWidth(this._editorWidth);const _=Object.keys(this._widgets),b=Array.from({length:3},()=>0);_.sort((p,n)=>(this._widgets[p].stack||0)-(this._widgets[n].stack||0));for(let p=0,n=_.length;p<n;p++){const o=_[p];this._renderWidget(this._widgets[o],b)}}}e.ViewOverlayWidgets=E}),define(ne[651],se([1,0,5,8,2]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CodeEditorContributions=void 0;class E extends I.Disposable{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new I.DisposableMap),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(m,_,b){this._editor=m,this._instantiationService=b;for(const p of _){if(this._pending.has(p.id)){(0,k.onUnexpectedError)(new Error(`Cannot have two contributions with the same id ${p.id}`));continue}this._pending.set(p.id,p)}this._instantiateSome(0),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register((0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const m={};for(const[_,b]of this._instances)typeof b.saveViewState=="function"&&(m[_]=b.saveViewState());return m}restoreViewState(m){for(const[_,b]of this._instances)typeof b.restoreViewState=="function"&&b.restoreViewState(m[_])}get(m){return this._instantiateById(m),this._instances.get(m)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){return(0,d.runWhenWindowIdle)((0,d.getWindow)(this._editor?.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(m){if(this._finishedInstantiation[m])return;this._finishedInstantiation[m]=!0;const _=this._findPendingContributionsByInstantiation(m);for(const b of _)this._instantiateById(b.id)}_findPendingContributionsByInstantiation(m){const _=[];for(const[,b]of this._pending)b.instantiation===m&&_.push(b);return _}_instantiateById(m){const _=this._pending.get(m);if(_){if(this._pending.delete(m),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const b=this._instantiationService.createInstance(_.ctor,this._editor);this._instances.set(_.id,b),typeof b.restoreViewState=="function"&&_.instantiation!==0&&console.warn(`Editor contribution '${_.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(b){(0,k.onUnexpectedError)(b)}}}}e.CodeEditorContributions=E}),define(ne[363],se([1,0,173,2,21,65]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DiffEditorSash=e.SashLayout=void 0;class y{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(b,p){this._options=b,this.dimensions=p,this.sashLeft=(0,E.derivedWithSetter)(this,n=>{const o=this._sashRatio.read(n)??this._options.splitViewDefaultRatio.read(n);return this._computeSashLeft(o,n)},(n,o)=>{const t=this.dimensions.width.get();this._sashRatio.set(n/t,o)}),this._sashRatio=(0,I.observableValue)(this,void 0)}_computeSashLeft(b,p){const n=this.dimensions.width.read(p),o=Math.floor(this._options.splitViewDefaultRatio.read(p)*n),t=this._options.enableSplitViewResizing.read(p)?Math.floor(b*n):o,i=100;return n<=i*2?o:t<i?i:t>n-i?n-i:t}}e.SashLayout=y;class m extends k.Disposable{constructor(b,p,n,o,t,i){super(),this._domNode=b,this._dimensions=p,this._enabled=n,this._boundarySashes=o,this.sashLeft=t,this._resetSash=i,this._sash=this._register(new d.Sash(this._domNode,{getVerticalSashTop:s=>0,getVerticalSashLeft:s=>this.sashLeft.get(),getVerticalSashHeight:s=>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(s=>{this.sashLeft.set(this._startSashPosition+(s.currentX-s.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register((0,I.autorun)(s=>{const g=this._boundarySashes.read(s);g&&(this._sash.orthogonalEndSash=g.bottom)})),this._register((0,I.autorun)(s=>{const g=this._enabled.read(s);this._sash.state=g?3:0,this.sashLeft.read(s),this._dimensions.height.read(s),this._sash.layout()}))}}e.DiffEditorSash=m}),define(ne[652],se([1,0,5,41,26,2,16,30,3]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineDiffDeletedCodeMargin=void 0;class b extends E.Disposable{get visibility(){return this._visibility}set visibility(n){this._visibility!==n&&(this._visibility=n,this._diffActions.style.visibility=n?"visible":"hidden")}constructor(n,o,t,i,s,g,c,l,a){super(),this._getViewZoneId=n,this._marginDomNode=o,this._modifiedEditor=t,this._diff=i,this._editor=s,this._viewLineCounts=g,this._originalTextModel=c,this._contextMenuService=l,this._clipboardService=a,this._visibility=!1,this._marginDomNode.style.zIndex="10",this._diffActions=document.createElement("div"),this._diffActions.className=m.ThemeIcon.asClassName(I.Codicon.lightBulb)+" lightbulb-glyph",this._diffActions.style.position="absolute";const r=this._modifiedEditor.getOption(67);this._diffActions.style.right="0px",this._diffActions.style.visibility="hidden",this._diffActions.style.height=`${r}px`,this._diffActions.style.lineHeight=`${r}px`,this._marginDomNode.appendChild(this._diffActions);let u=0;const C=t.getOption(128)&&!y.isIOS,f=(h,v)=>{this._contextMenuService.showContextMenu({domForShadowRoot:C?t.getDomNode()??void 0:void 0,getAnchor:()=>({x:h,y:v}),getActions:()=>{const w=[],S=i.modified.isEmpty;return w.push(new k.Action("diff.clipboard.copyDeletedContent",S?i.original.length>1?(0,_.localize)(99,"Copy deleted lines"):(0,_.localize)(100,"Copy deleted line"):i.original.length>1?(0,_.localize)(101,"Copy changed lines"):(0,_.localize)(102,"Copy changed line"),void 0,!0,async()=>{const D=this._originalTextModel.getValueInRange(i.original.toExclusiveRange());await this._clipboardService.writeText(D)})),i.original.length>1&&w.push(new k.Action("diff.clipboard.copyDeletedLineContent",S?(0,_.localize)(103,"Copy deleted line ({0})",i.original.startLineNumber+u):(0,_.localize)(104,"Copy changed line ({0})",i.original.startLineNumber+u),void 0,!0,async()=>{let D=this._originalTextModel.getLineContent(i.original.startLineNumber+u);D===""&&(D=this._originalTextModel.getEndOfLineSequence()===0?`
602`:`\r
603`),await this._clipboardService.writeText(D)})),t.getOption(92)||w.push(new k.Action("diff.inline.revertChange",(0,_.localize)(105,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),w},autoSelectFirstItem:!0})};this._register((0,d.addStandardDisposableListener)(this._diffActions,"mousedown",h=>{if(!h.leftButton)return;const{top:v,height:w}=(0,d.getDomNodePagePosition)(this._diffActions),S=Math.floor(r/3);h.preventDefault(),f(h.posx,v+w+S)})),this._register(t.onMouseMove(h=>{(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()?(u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),this.visibility=!0):this.visibility=!1})),this._register(t.onMouseDown(h=>{h.event.leftButton&&(h.target.type===8||h.target.type===5)&&h.target.detail.viewZoneId===this._getViewZoneId()&&(h.event.preventDefault(),u=this._updateLightBulbPosition(this._marginDomNode,h.event.browserEvent.y,r),f(h.event.posx,h.event.posy+r))}))}_updateLightBulbPosition(n,o,t){const{top:i}=(0,d.getDomNodePagePosition)(n),s=o-i,g=Math.floor(s/t),c=g*t;if(this._diffActions.style.top=`${c}px`,this._viewLineCounts){let l=0;for(let a=0;a<this._viewLineCounts.length;a++)if(l+=this._viewLineCounts[a],g<l)return a}return g}}e.InlineDiffDeletedCodeMargin=b}),define(ne[653],se([1,0,5,114,26,2,21,55,4,105,40,3]),function(oe,e,d,k,I,E,y,m,_,b,p,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RevertButton=e.RevertButtonsFeature=void 0;const o=[];class t extends E.Disposable{constructor(g,c,l,a){super(),this._editors=g,this._diffModel=c,this._options=l,this._widget=a,this._selectedDiffs=(0,y.derived)(this,r=>{const C=this._diffModel.read(r)?.diff.read(r);if(!C)return o;const f=this._editors.modifiedSelections.read(r);if(f.every(S=>S.isEmpty()))return o;const h=new m.LineRangeSet(f.map(S=>m.LineRange.fromRangeInclusive(S))),w=C.mappings.filter(S=>S.lineRangeMapping.innerChanges&&h.intersects(S.lineRangeMapping.modified)).map(S=>({mapping:S,rangeMappings:S.lineRangeMapping.innerChanges.filter(L=>f.some(D=>_.Range.areIntersecting(L.modifiedRange,D)))}));return w.length===0||w.every(S=>S.rangeMappings.length===0)?o:w}),this._register((0,y.autorunWithStore)((r,u)=>{if(!this._options.shouldRenderOldRevertArrows.read(r))return;const C=this._diffModel.read(r),f=C?.diff.read(r);if(!C||!f||C.movedTextToCompare.read(r))return;const h=[],v=this._selectedDiffs.read(r),w=new Set(v.map(S=>S.mapping));if(v.length>0){const S=this._editors.modifiedSelections.read(r),L=u.add(new i(S[S.length-1].positionLineNumber,this._widget,v.flatMap(D=>D.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}for(const S of f.mappings)if(!w.has(S)&&!S.lineRangeMapping.modified.isEmpty&&S.lineRangeMapping.innerChanges){const L=u.add(new i(S.lineRangeMapping.modified.startLineNumber,this._widget,S.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(L),h.push(L)}u.add((0,E.toDisposable)(()=>{for(const S of h)this._editors.modified.removeGlyphMarginWidget(S)}))}))}}e.RevertButtonsFeature=t;class i extends E.Disposable{static{this.counter=0}getId(){return this._id}constructor(g,c,l,a){super(),this._lineNumber=g,this._widget=c,this._diffs=l,this._revertSelection=a,this._id=`revertButton${i.counter++}`,this._domNode=(0,d.h)("div.revertButton",{title:this._revertSelection?(0,n.localize)(122,"Revert Selected Changes"):(0,n.localize)(123,"Revert Change")},[(0,k.renderIcon)(I.Codicon.arrowRight)]).root,this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_DOWN,r=>{r.button!==2&&(r.stopPropagation(),r.preventDefault())})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.MOUSE_UP,r=>{r.stopPropagation(),r.preventDefault()})),this._register((0,d.addDisposableListener)(this._domNode,d.EventType.CLICK,r=>{this._diffs instanceof b.LineRangeMapping?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),r.stopPropagation(),r.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:p.GlyphMarginLane.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}e.RevertButton=i}),define(ne[88],se([1,0,67,18,2,21,362,9,4,113]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RefCounted=e.DisposableCancellationTokenSource=e.ManagedOverlayWidget=e.PlaceholderViewZone=e.ViewZoneOverlayWidget=e.ObservableElementSizeObserver=void 0,e.joinCombine=p,e.applyObservableDecorations=n,e.appendRemoveOnDispose=o,e.prependRemoveOnDispose=t,e.animatedObservable=s,e.applyStyle=r,e.applyViewZones=u,e.translatePosition=f,e.filterWithPrevious=v;function p(D,T,M,A){if(D.length===0)return T;if(T.length===0)return D;const P=[];let N=0,O=0;for(;N<D.length&&O<T.length;){const F=D[N],x=T[O],W=M(F),V=M(x);W<V?(P.push(F),N++):W>V?(P.push(x),O++):(P.push(A(F,x)),N++,O++)}for(;N<D.length;)P.push(D[N]),N++;for(;O<T.length;)P.push(T[O]),O++;return P}function n(D,T){const M=new I.DisposableStore,A=D.createDecorationsCollection();return M.add((0,E.autorunOpts)({debugName:()=>`Apply decorations from ${T.debugName}`},P=>{const N=T.read(P);A.set(N)})),M.add({dispose:()=>{A.clear()}}),M}function o(D,T){return D.appendChild(T),(0,I.toDisposable)(()=>{T.remove()})}function t(D,T){return D.prepend(T),(0,I.toDisposable)(()=>{T.remove()})}class i extends I.Disposable{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(T,M){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new y.ElementSizeObserver(T,M)),this._width=(0,E.observableValue)(this,this.elementSizeObserver.getWidth()),this._height=(0,E.observableValue)(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(A=>(0,E.transaction)(P=>{this._width.set(this.elementSizeObserver.getWidth(),P),this._height.set(this.elementSizeObserver.getHeight(),P)})))}observe(T){this.elementSizeObserver.observe(T)}setAutomaticLayout(T){this._automaticLayout=T,T?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}e.ObservableElementSizeObserver=i;function s(D,T,M){let A=T.get(),P=A,N=A;const O=(0,E.observableValue)("animatedValue",A);let F=-1;const x=300;let W;M.add((0,E.autorunHandleChanges)({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(q,H)=>(q.didChange(T)&&(H.animate=H.animate||q.change),!0)},(q,H)=>{W!==void 0&&(D.cancelAnimationFrame(W),W=void 0),P=N,A=T.read(q),F=Date.now()-(H.animate?0:x),V()}));function V(){const q=Date.now()-F;N=Math.floor(g(q,P,A-P,x)),q<x?W=D.requestAnimationFrame(V):N=A,O.set(N,void 0)}return O}function g(D,T,M,A){return D===A?T+M:M*(-Math.pow(2,-10*D/A)+1)+T}class c extends I.Disposable{constructor(T,M,A){super(),this._register(new a(T,A)),this._register(r(A,{height:M.actualHeight,top:M.actualTop}))}}e.ViewZoneOverlayWidget=c;class l{get afterLineNumber(){return this._afterLineNumber.get()}constructor(T,M){this._afterLineNumber=T,this.heightInPx=M,this.domNode=document.createElement("div"),this._actualTop=(0,E.observableValue)(this,void 0),this._actualHeight=(0,E.observableValue)(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=A=>{this._actualTop.set(A,void 0)},this.onComputedHeight=A=>{this._actualHeight.set(A,void 0)}}}e.PlaceholderViewZone=l;class a{static{this._counter=0}constructor(T,M){this._editor=T,this._domElement=M,this._overlayWidgetId=`managedOverlayWidget-${a._counter++}`,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}e.ManagedOverlayWidget=a;function r(D,T){return(0,E.autorun)(M=>{for(let[A,P]of Object.entries(T))P&&typeof P=="object"&&"read"in P&&(P=P.read(M)),typeof P=="number"&&(P=`${P}px`),A=A.replace(/[A-Z]/g,N=>"-"+N.toLowerCase()),D.style[A]=P})}function u(D,T,M,A){const P=new I.DisposableStore,N=[];return P.add((0,E.autorunWithStore)((O,F)=>{const x=T.read(O),W=new Map,V=new Map;M&&M(!0),D.changeViewZones(q=>{for(const H of N)q.removeZone(H),A?.delete(H);N.length=0;for(const H of x){const z=q.addZone(H);H.setZoneId&&H.setZoneId(z),N.push(z),A?.add(z),W.set(H,z)}}),M&&M(!1),F.add((0,E.autorunHandleChanges)({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(q,H){const z=V.get(q.changedObservable);return z!==void 0&&H.zoneIds.push(z),!0}},(q,H)=>{for(const z of x)z.onChange&&(V.set(z.onChange,W.get(z)),z.onChange.read(q));M&&M(!0),D.changeViewZones(z=>{for(const U of H.zoneIds)z.layoutZone(U)}),M&&M(!1)}))})),P.add({dispose(){M&&M(!0),D.changeViewZones(O=>{for(const F of N)O.removeZone(F)}),A?.clear(),M&&M(!1)}}),P}class C extends k.CancellationTokenSource{dispose(){super.dispose(!0)}}e.DisposableCancellationTokenSource=C;function f(D,T){const M=(0,d.findLast)(T,P=>P.original.startLineNumber<=D.lineNumber);if(!M)return _.Range.fromPositions(D);if(M.original.endLineNumberExclusive<=D.lineNumber){const P=D.lineNumber-M.original.endLineNumberExclusive+M.modified.endLineNumberExclusive;return _.Range.fromPositions(new m.Position(P,D.column))}if(!M.innerChanges)return _.Range.fromPositions(new m.Position(M.modified.startLineNumber,1));const A=(0,d.findLast)(M.innerChanges,P=>P.originalRange.getStartPosition().isBeforeOrEqual(D));if(!A){const P=D.lineNumber-M.original.startLineNumber+M.modified.startLineNumber;return _.Range.fromPositions(new m.Position(P,D.column))}if(A.originalRange.containsPosition(D))return A.modifiedRange;{const P=h(A.originalRange.getEndPosition(),D);return _.Range.fromPositions(P.addToPosition(A.modifiedRange.getEndPosition()))}}function h(D,T){return D.lineNumber===T.lineNumber?new b.TextLength(0,T.column-D.column):new b.TextLength(T.lineNumber-D.lineNumber,T.column-1)}function v(D,T){let M;return D.filter(A=>{const P=T(A,M);return M=A,P})}class w{static create(T,M=void 0){return new S(T,T,M)}static createWithDisposable(T,M,A=void 0){const P=new I.DisposableStore;return P.add(M),P.add(T),new S(T,P,A)}}e.RefCounted=w;class S extends w{constructor(T,M,A){super(),this.object=T,this._disposable=M,this._debugOwner=A,this._refCount=1,this._isDisposed=!1,this._owners=[],A&&this._addOwner(A)}_addOwner(T){T&&this._owners.push(T)}createNewRef(T){return this._refCount++,T&&this._addOwner(T),new L(this,T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(T){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),T){const M=this._owners.indexOf(T);M!==-1&&this._owners.splice(M,1)}}}class L extends w{constructor(T,M){super(),this._base=T,this._debugOwner=M,this._isDisposed=!1}get object(){return this._base.object}createNewRef(T){return this._base.createNewRef(T)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}}),define(ne[364],se([1,0,5,87,41,13,67,26,2,21,30,88,68,3]),function(oe,e,d,k,I,E,y,m,_,b,p,n,o,t){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MovedBlocksLinesFeature=void 0;class i extends _.Disposable{static{this.movedCodeBlockPadding=4}constructor(l,a,r,u,C){super(),this._rootElement=l,this._diffModel=a,this._originalEditorLayoutInfo=r,this._modifiedEditorLayoutInfo=u,this._editors=C,this._originalScrollTop=(0,b.observableFromEvent)(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=(0,b.observableFromEvent)(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=(0,b.observableSignalFromEvent)("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=(0,b.observableValue)(this,0),this._modifiedViewZonesChangedSignal=(0,b.observableSignalFromEvent)("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=(0,b.observableSignalFromEvent)("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=(0,b.derivedWithStore)(this,(S,L)=>{this._element.replaceChildren();const D=this._diffModel.read(S),T=D?.diff.read(S)?.movedTexts;if(!T||T.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(S);const M=this._originalEditorLayoutInfo.read(S),A=this._modifiedEditorLayoutInfo.read(S);if(!M||!A){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(S),this._originalViewZonesChangedSignal.read(S);const P=T.map(q=>{function H(ie,ue){const he=ue.getTopForLineNumber(ie.startLineNumber,!0),pe=ue.getTopForLineNumber(ie.endLineNumberExclusive,!0);return(he+pe)/2}const z=H(q.lineRangeMapping.original,this._editors.original),U=this._originalScrollTop.read(S),j=H(q.lineRangeMapping.modified,this._editors.modified),Y=this._modifiedScrollTop.read(S),G=z-U,K=j-Y,R=Math.min(z,j),J=Math.max(z,j);return{range:new o.OffsetRange(R,J),from:G,to:K,fromWithoutScroll:z,toWithoutScroll:j,move:q}});P.sort((0,E.tieBreakComparators)((0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll,E.booleanComparator),(0,E.compareBy)(q=>q.fromWithoutScroll>q.toWithoutScroll?q.fromWithoutScroll:-q.toWithoutScroll,E.numberComparator)));const N=s.compute(P.map(q=>q.range)),O=10,F=M.verticalScrollbarWidth,x=(N.getTrackCount()-1)*10+O*2,W=F+x+(A.contentLeft-i.movedCodeBlockPadding);let V=0;for(const q of P){const H=N.getTrack(V),z=F+O+H*10,U=15,j=15,Y=W,G=A.glyphMarginWidth+A.lineNumbersWidth,K=18,R=document.createElementNS("http://www.w3.org/2000/svg","rect");R.classList.add("arrow-rectangle"),R.setAttribute("x",`${Y-G}`),R.setAttribute("y",`${q.to-K/2}`),R.setAttribute("width",`${G}`),R.setAttribute("height",`${K}`),this._element.appendChild(R);const J=document.createElementNS("http://www.w3.org/2000/svg","g"),ie=document.createElementNS("http://www.w3.org/2000/svg","path");ie.setAttribute("d",`M 0 ${q.from} L ${z} ${q.from} L ${z} ${q.to} L ${Y-j} ${q.to}`),ie.setAttribute("fill","none"),J.appendChild(ie);const ue=document.createElementNS("http://www.w3.org/2000/svg","polygon");ue.classList.add("arrow"),L.add((0,b.autorun)(he=>{ie.classList.toggle("currentMove",q.move===D.activeMovedText.read(he)),ue.classList.toggle("currentMove",q.move===D.activeMovedText.read(he))})),ue.setAttribute("points",`${Y-j},${q.to-U/2} ${Y},${q.to} ${Y-j},${q.to+U/2}`),J.appendChild(ue),this._element.appendChild(J),V++}this.width.set(x,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((0,_.toDisposable)(()=>this._element.remove())),this._register((0,b.autorun)(S=>{const L=this._originalEditorLayoutInfo.read(S),D=this._modifiedEditorLayoutInfo.read(S);!L||!D||(this._element.style.left=`${L.width-L.verticalScrollbarWidth}px`,this._element.style.height=`${L.height}px`,this._element.style.width=`${L.verticalScrollbarWidth+L.contentLeft-i.movedCodeBlockPadding+this.width.read(S)}px`)})),this._register((0,b.recomputeInitiallyAndOnChange)(this._state));const f=(0,b.derived)(S=>{const D=this._diffModel.read(S)?.diff.read(S);return D?D.movedTexts.map(T=>({move:T,original:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.original.startLineNumber-1),18),modified:new n.PlaceholderViewZone((0,b.constObservable)(T.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register((0,n.applyViewZones)(this._editors.original,f.map(S=>S.map(L=>L.original)))),this._register((0,n.applyViewZones)(this._editors.modified,f.map(S=>S.map(L=>L.modified)))),this._register((0,b.autorunWithStore)((S,L)=>{const D=f.read(S);for(const T of D)L.add(new g(this._editors.original,T.original,T.move,"original",this._diffModel.get())),L.add(new g(this._editors.modified,T.modified,T.move,"modified",this._diffModel.get()))}));const h=(0,b.observableSignalFromEvent)("original.onDidFocusEditorWidget",S=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0))),v=(0,b.observableSignalFromEvent)("modified.onDidFocusEditorWidget",S=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>S(void 0),0)));let w="modified";this._register((0,b.autorunHandleChanges)({createEmptyChangeSummary:()=>{},handleChange:(S,L)=>(S.didChange(h)&&(w="original"),S.didChange(v)&&(w="modified"),!0)},S=>{h.read(S),v.read(S);const L=this._diffModel.read(S);if(!L)return;const D=L.diff.read(S);let T;if(D&&w==="original"){const M=this._editors.originalCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.original.contains(M.lineNumber)))}if(D&&w==="modified"){const M=this._editors.modifiedCursor.read(S);M&&(T=D.movedTexts.find(A=>A.lineRangeMapping.modified.contains(M.lineNumber)))}T!==L.movedTextToCompare.get()&&L.movedTextToCompare.set(void 0,void 0),L.setActiveMovedText(T)}))}}e.MovedBlocksLinesFeature=i;class s{static compute(l){const a=[],r=[];for(const u of l){let C=a.findIndex(f=>!f.intersectsStrict(u));C===-1&&(a.length>=6?C=(0,y.findMaxIdx)(a,(0,E.compareBy)(h=>h.intersectWithRangeLength(u),E.numberComparator)):(C=a.length,a.push(new o.OffsetRangeSet))),a[C].addRange(u),r.push(C)}return new s(a.length,r)}constructor(l,a){this._trackCount=l,this.trackPerLineIdx=a}getTrack(l){return this.trackPerLineIdx[l]}getTrackCount(){return this._trackCount}}class g extends n.ViewZoneOverlayWidget{constructor(l,a,r,u,C){const f=(0,d.h)("div.diff-hidden-lines-widget");super(l,a,f.root),this._editor=l,this._move=r,this._kind=u,this._diffModel=C,this._nodes=(0,d.h)("div.diff-moved-code-block",{style:{marginRight:"4px"}},[(0,d.h)("div.text-content@textContent"),(0,d.h)("div.action-bar@actionBar")]),f.root.appendChild(this._nodes.root);const h=(0,b.observableFromEvent)(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register((0,n.applyStyle)(this._nodes.root,{paddingRight:h.map(D=>D.verticalScrollbarWidth)}));let v;r.changes.length>0?v=this._kind==="original"?(0,t.localize)(118,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(119,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):v=this._kind==="original"?(0,t.localize)(120,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):(0,t.localize)(121,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const w=this._register(new k.ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),S=new I.Action("",v,"",!1);w.push(S,{icon:!1,label:!0});const L=new I.Action("","Compare",p.ThemeIcon.asClassName(m.Codicon.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===r?void 0:this._move,void 0)});this._register((0,b.autorun)(D=>{const T=this._diffModel.movedTextToCompare.read(D)===r;L.checked=T})),w.push(L,{icon:!1,label:!0})}}}),define(ne[654],se([1,0,5,2,21,55,68]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorGutter=void 0;class m extends k.Disposable{constructor(p,n,o){super(),this._editor=p,this._domNode=n,this.itemProvider=o,this.scrollTop=(0,I.observableFromEvent)(this,this._editor.onDidScrollChange,s=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(s=>s===0),this.modelAttached=(0,I.observableFromEvent)(this,this._editor.onDidChangeModel,s=>this._editor.hasModel()),this.editorOnDidChangeViewZones=(0,I.observableSignalFromEvent)("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=(0,I.observableSignalFromEvent)("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=(0,I.observableSignal)("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const t=this._domNode.appendChild((0,d.h)("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),i=new ResizeObserver(()=>{(0,I.transaction)(s=>{this.domNodeSizeChanged.trigger(s)})});i.observe(this._domNode),this._register((0,k.toDisposable)(()=>i.disconnect())),this._register((0,I.autorun)(s=>{t.className=this.isScrollTopZero.read(s)?"":"scroll-decoration"})),this._register((0,I.autorun)(s=>this.render(s)))}dispose(){super.dispose(),(0,d.reset)(this._domNode)}render(p){if(!this.modelAttached.read(p))return;this.domNodeSizeChanged.read(p),this.editorOnDidChangeViewZones.read(p),this.editorOnDidContentSizeChange.read(p);const n=this.scrollTop.read(p),o=this._editor.getVisibleRanges(),t=new Set(this.views.keys()),i=y.OffsetRange.ofStartAndLength(0,this._domNode.clientHeight);if(!i.isEmpty)for(const s of o){const g=new E.LineRange(s.startLineNumber,s.endLineNumber+1),c=this.itemProvider.getIntersectingGutterItems(g,p);(0,I.transaction)(l=>{for(const a of c){if(!a.range.intersect(g))continue;t.delete(a.id);let r=this.views.get(a.id);if(r)r.item.set(a,l);else{const h=document.createElement("div");this._domNode.appendChild(h);const v=(0,I.observableValue)("item",a),w=this.itemProvider.createView(v,h);r=new _(v,w,h),this.views.set(a.id,r)}const u=a.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(a.range.startLineNumber,!0)-n:this._editor.getBottomForLineNumber(a.range.startLineNumber-1,!1)-n,f=(a.range.endLineNumberExclusive===1?Math.max(u,this._editor.getTopForLineNumber(a.range.startLineNumber,!1)-n):Math.max(u,this._editor.getBottomForLineNumber(a.range.endLineNumberExclusive-1,!0)-n))-u;r.domNode.style.top=`${u}px`,r.domNode.style.height=`${f}px`,r.gutterItemView.layout(y.OffsetRange.ofStartAndLength(u,f),i)}})}for(const s of t){const g=this.views.get(s);g.gutterItemView.dispose(),g.domNode.remove(),this.views.delete(s)}}}e.EditorGutter=m;class _{constructor(p,n,o){this.item=p,this.gutterItemView=n,this.domNode=o}}}),define(ne[365],se([1,0,41]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ActionRunnerWithContext=void 0;class k extends d.ActionRunner{constructor(E){super(),this._getContext=E}runAction(E,y){const m=this._getContext();return super.runAction(E,m)}}e.ActionRunnerWithContext=k}),define(ne[37],se([1,0,13,60,16,197,147,3]),function(oe,e,d,k,I,E,y,m){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditorOptions=e.editorOptionsRegistry=e.EDITOR_FONT_DEFAULTS=e.unicodeHighlightConfigKeys=e.inUntrustedWorkspace=e.ShowLightbulbIconMode=e.EditorLayoutInfoComputer=e.EditorFontVariations=e.EditorFontLigatures=e.TextEditorCursorStyle=e.ApplyUpdateResult=e.ComputeOptionsMemory=e.ConfigurationChangedEvent=e.MINIMAP_GUTTER_WIDTH=void 0,e.boolean=s,e.clampedInt=c,e.clampedFloat=a,e.stringSet=C,e.filterValidationDecorations=ge,e.MINIMAP_GUTTER_WIDTH=8;class _{constructor(fe){this._values=fe}hasChanged(fe){return this._values[fe]}}e.ConfigurationChangedEvent=_;class b{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}e.ComputeOptionsMemory=b;class p{constructor(fe,_e,xe,be){this.id=fe,this.name=_e,this.defaultValue=xe,this.schema=be}applyUpdate(fe,_e){return o(fe,_e)}compute(fe,_e,xe){return xe}}class n{constructor(fe,_e){this.newValue=fe,this.didChange=_e}}e.ApplyUpdateResult=n;function o(Fe,fe){if(typeof Fe!="object"||typeof fe!="object"||!Fe||!fe)return new n(fe,Fe!==fe);if(Array.isArray(Fe)||Array.isArray(fe)){const xe=Array.isArray(Fe)&&Array.isArray(fe)&&d.equals(Fe,fe);return new n(fe,!xe)}let _e=!1;for(const xe in fe)if(fe.hasOwnProperty(xe)){const be=o(Fe[xe],fe[xe]);be.didChange&&(Fe[xe]=be.newValue,_e=!0)}return new n(Fe,_e)}class t{constructor(fe){this.schema=void 0,this.id=fe,this.name="_never_",this.defaultValue=void 0}applyUpdate(fe,_e){return o(fe,_e)}validate(fe){return this.defaultValue}}class i{constructor(fe,_e,xe,be){this.id=fe,this.name=_e,this.defaultValue=xe,this.schema=be}applyUpdate(fe,_e){return o(fe,_e)}validate(fe){return typeof fe>"u"?this.defaultValue:fe}compute(fe,_e,xe){return xe}}function s(Fe,fe){return typeof Fe>"u"?fe:Fe==="false"?!1:!!Fe}class g extends i{constructor(fe,_e,xe,be=void 0){typeof be<"u"&&(be.type="boolean",be.default=xe),super(fe,_e,xe,be)}validate(fe){return s(fe,this.defaultValue)}}function c(Fe,fe,_e,xe){if(typeof Fe>"u")return fe;let be=parseInt(Fe,10);return isNaN(be)?fe:(be=Math.max(_e,be),be=Math.min(xe,be),be|0)}class l extends i{static clampedInt(fe,_e,xe,be){return c(fe,_e,xe,be)}constructor(fe,_e,xe,be,ve,we=void 0){typeof we<"u"&&(we.type="integer",we.default=xe,we.minimum=be,we.maximum=ve),super(fe,_e,xe,we),this.minimum=be,this.maximum=ve}validate(fe){return l.clampedInt(fe,this.defaultValue,this.minimum,this.maximum)}}function a(Fe,fe,_e,xe){if(typeof Fe>"u")return fe;const be=r.float(Fe,fe);return r.clamp(be,_e,xe)}class r extends i{static clamp(fe,_e,xe){return fe<_e?_e:fe>xe?xe:fe}static float(fe,_e){if(typeof fe=="number")return fe;if(typeof fe>"u")return _e;const xe=parseFloat(fe);return isNaN(xe)?_e:xe}constructor(fe,_e,xe,be,ve){typeof ve<"u"&&(ve.type="number",ve.default=xe),super(fe,_e,xe,ve),this.validationFn=be}validate(fe){return this.validationFn(r.float(fe,this.defaultValue))}}class u extends i{static string(fe,_e){return typeof fe!="string"?_e:fe}constructor(fe,_e,xe,be=void 0){typeof be<"u"&&(be.type="string",be.default=xe),super(fe,_e,xe,be)}validate(fe){return u.string(fe,this.defaultValue)}}function C(Fe,fe,_e,xe){return typeof Fe!="string"?fe:xe&&Fe in xe?xe[Fe]:_e.indexOf(Fe)===-1?fe:Fe}class f extends i{constructor(fe,_e,xe,be,ve=void 0){typeof ve<"u"&&(ve.type="string",ve.enum=be,ve.default=xe),super(fe,_e,xe,ve),this._allowedValues=be}validate(fe){return C(fe,this.defaultValue,this._allowedValues)}}class h extends p{constructor(fe,_e,xe,be,ve,we,Te=void 0){typeof Te<"u"&&(Te.type="string",Te.enum=ve,Te.default=be),super(fe,_e,xe,Te),this._allowedValues=ve,this._convert=we}validate(fe){return typeof fe!="string"?this.defaultValue:this._allowedValues.indexOf(fe)===-1?this.defaultValue:this._convert(fe)}}function v(Fe){switch(Fe){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class w extends p{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[m.localize(183,"Use platform APIs to detect when a Screen Reader is attached."),m.localize(184,"Optimize for usage with a Screen Reader."),m.localize(185,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:m.localize(186,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(fe){switch(fe){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(fe,_e,xe){return xe===0?fe.accessibilitySupport:xe}}class S extends p{constructor(){const fe={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",fe,{"editor.comments.insertSpace":{type:"boolean",default:fe.insertSpace,description:m.localize(187,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:fe.ignoreEmptyLines,description:m.localize(188,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{insertSpace:s(_e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:s(_e.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function L(Fe){switch(Fe){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var D;(function(Fe){Fe[Fe.Line=1]="Line",Fe[Fe.Block=2]="Block",Fe[Fe.Underline=3]="Underline",Fe[Fe.LineThin=4]="LineThin",Fe[Fe.BlockOutline=5]="BlockOutline",Fe[Fe.UnderlineThin=6]="UnderlineThin"})(D||(e.TextEditorCursorStyle=D={}));function T(Fe){switch(Fe){case"line":return D.Line;case"block":return D.Block;case"underline":return D.Underline;case"line-thin":return D.LineThin;case"block-outline":return D.BlockOutline;case"underline-thin":return D.UnderlineThin}}class M extends t{constructor(){super(143)}compute(fe,_e,xe){const be=["monaco-editor"];return _e.get(39)&&be.push(_e.get(39)),fe.extraEditorClassName&&be.push(fe.extraEditorClassName),_e.get(74)==="default"?be.push("mouse-default"):_e.get(74)==="copy"&&be.push("mouse-copy"),_e.get(112)&&be.push("showUnused"),_e.get(141)&&be.push("showDeprecated"),be.join(" ")}}class A extends g{constructor(){super(37,"emptySelectionClipboard",!0,{description:m.localize(189,"Controls whether copying without a selection copies the current line.")})}compute(fe,_e,xe){return xe&&fe.emptySelectionClipboard}}class P extends p{constructor(){const fe={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",fe,{"editor.find.cursorMoveOnType":{type:"boolean",default:fe.cursorMoveOnType,description:m.localize(190,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:fe.seedSearchStringFromSelection,enumDescriptions:[m.localize(191,"Never seed search string from the editor selection."),m.localize(192,"Always seed search string from the editor selection, including word at cursor position."),m.localize(193,"Only seed search string from the editor selection.")],description:m.localize(194,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:fe.autoFindInSelection,enumDescriptions:[m.localize(195,"Never turn on Find in Selection automatically (default)."),m.localize(196,"Always turn on Find in Selection automatically."),m.localize(197,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:m.localize(198,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:fe.globalFindClipboard,description:m.localize(199,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:I.isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:fe.addExtraSpaceOnTop,description:m.localize(200,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:fe.loop,description:m.localize(201,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{cursorMoveOnType:s(_e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof fe.seedSearchStringFromSelection=="boolean"?fe.seedSearchStringFromSelection?"always":"never":C(_e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof fe.autoFindInSelection=="boolean"?fe.autoFindInSelection?"always":"never":C(_e.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:s(_e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:s(_e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:s(_e.loop,this.defaultValue.loop)}}}class N extends p{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(51,"fontLigatures",N.OFF,{anyOf:[{type:"boolean",description:m.localize(202,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:m.localize(203,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:m.localize(204,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe==="false"||fe.length===0?N.OFF:fe==="true"?N.ON:fe:fe?N.ON:N.OFF}}e.EditorFontLigatures=N;class O extends p{static{this.OFF="normal"}static{this.TRANSLATE="translate"}constructor(){super(54,"fontVariations",O.OFF,{anyOf:[{type:"boolean",description:m.localize(205,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:m.localize(206,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:m.localize(207,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe==="false"?O.OFF:fe==="true"?O.TRANSLATE:fe:fe?O.TRANSLATE:O.OFF}compute(fe,_e,xe){return fe.fontInfo.fontVariationSettings}}e.EditorFontVariations=O;class F extends t{constructor(){super(50)}compute(fe,_e,xe){return fe.fontInfo}}class x extends i{constructor(){super(52,"fontSize",e.EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:e.EDITOR_FONT_DEFAULTS.fontSize,description:m.localize(208,"Controls the font size in pixels.")})}validate(fe){const _e=r.float(fe,this.defaultValue);return _e===0?e.EDITOR_FONT_DEFAULTS.fontSize:r.clamp(_e,6,100)}compute(fe,_e,xe){return fe.fontInfo.fontSize}}class W extends p{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(53,"fontWeight",e.EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:W.MINIMUM_VALUE,maximum:W.MAXIMUM_VALUE,errorMessage:m.localize(209,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:W.SUGGESTION_VALUES}],default:e.EDITOR_FONT_DEFAULTS.fontWeight,description:m.localize(210,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(fe){return fe==="normal"||fe==="bold"?fe:String(l.clampedInt(fe,e.EDITOR_FONT_DEFAULTS.fontWeight,W.MINIMUM_VALUE,W.MAXIMUM_VALUE))}}class V extends p{constructor(){const fe={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},_e={type:"string",enum:["peek","gotoAndPeek","goto"],default:fe.multiple,enumDescriptions:[m.localize(211,"Show Peek view of the results (default)"),m.localize(212,"Go to the primary result and show a Peek view"),m.localize(213,"Go to the primary result and enable Peek-less navigation to others")]},xe=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",fe,{"editor.gotoLocation.multiple":{deprecationMessage:m.localize(214,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:m.localize(215,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),..._e},"editor.gotoLocation.multipleTypeDefinitions":{description:m.localize(216,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),..._e},"editor.gotoLocation.multipleDeclarations":{description:m.localize(217,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),..._e},"editor.gotoLocation.multipleImplementations":{description:m.localize(218,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),..._e},"editor.gotoLocation.multipleReferences":{description:m.localize(219,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),..._e},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:fe.alternativeDefinitionCommand,enum:xe,description:m.localize(220,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:fe.alternativeTypeDefinitionCommand,enum:xe,description:m.localize(221,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:fe.alternativeDeclarationCommand,enum:xe,description:m.localize(222,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:fe.alternativeImplementationCommand,enum:xe,description:m.localize(223,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:fe.alternativeReferenceCommand,enum:xe,description:m.localize(224,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{multiple:C(_e.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:_e.multipleDefinitions??C(_e.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:_e.multipleTypeDefinitions??C(_e.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:_e.multipleDeclarations??C(_e.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:_e.multipleImplementations??C(_e.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:_e.multipleReferences??C(_e.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:_e.multipleTests??C(_e.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:u.string(_e.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:u.string(_e.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:u.string(_e.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:u.string(_e.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:u.string(_e.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:u.string(_e.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}}class q extends p{constructor(){const fe={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",fe,{"editor.hover.enabled":{type:"boolean",default:fe.enabled,description:m.localize(225,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:fe.delay,minimum:0,maximum:1e4,description:m.localize(226,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:fe.sticky,description:m.localize(227,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:fe.hidingDelay,description:m.localize(228,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:fe.above,description:m.localize(229,"Prefer showing hovers above the line, if there's space.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),delay:l.clampedInt(_e.delay,this.defaultValue.delay,0,1e4),sticky:s(_e.sticky,this.defaultValue.sticky),hidingDelay:l.clampedInt(_e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:s(_e.above,this.defaultValue.above)}}}class H extends t{constructor(){super(146)}compute(fe,_e,xe){return H.computeLayout(_e,{memory:fe.memory,outerWidth:fe.outerWidth,outerHeight:fe.outerHeight,isDominatedByLongLines:fe.isDominatedByLongLines,lineHeight:fe.fontInfo.lineHeight,viewLineCount:fe.viewLineCount,lineNumbersDigitCount:fe.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:fe.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:fe.fontInfo.maxDigitWidth,pixelRatio:fe.pixelRatio,glyphMarginDecorationLaneCount:fe.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(fe){const _e=fe.height/fe.lineHeight,xe=Math.floor(fe.paddingTop/fe.lineHeight);let be=Math.floor(fe.paddingBottom/fe.lineHeight);fe.scrollBeyondLastLine&&(be=Math.max(be,_e-1));const ve=(xe+fe.viewLineCount+be)/(fe.pixelRatio*fe.height),we=Math.floor(fe.viewLineCount/ve);return{typicalViewportLineCount:_e,extraLinesBeforeFirstLine:xe,extraLinesBeyondLastLine:be,desiredRatio:ve,minimapLineCount:we}}static _computeMinimapLayout(fe,_e){const xe=fe.outerWidth,be=fe.outerHeight,ve=fe.pixelRatio;if(!fe.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(ve*be),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:be};const we=_e.stableMinimapLayoutInput,Te=we&&fe.outerHeight===we.outerHeight&&fe.lineHeight===we.lineHeight&&fe.typicalHalfwidthCharacterWidth===we.typicalHalfwidthCharacterWidth&&fe.pixelRatio===we.pixelRatio&&fe.scrollBeyondLastLine===we.scrollBeyondLastLine&&fe.paddingTop===we.paddingTop&&fe.paddingBottom===we.paddingBottom&&fe.minimap.enabled===we.minimap.enabled&&fe.minimap.side===we.minimap.side&&fe.minimap.size===we.minimap.size&&fe.minimap.showSlider===we.minimap.showSlider&&fe.minimap.renderCharacters===we.minimap.renderCharacters&&fe.minimap.maxColumn===we.minimap.maxColumn&&fe.minimap.scale===we.minimap.scale&&fe.verticalScrollbarWidth===we.verticalScrollbarWidth&&fe.isViewportWrapping===we.isViewportWrapping,Pe=fe.lineHeight,Be=fe.typicalHalfwidthCharacterWidth,He=fe.scrollBeyondLastLine,$e=fe.minimap.renderCharacters;let je=ve>=2?Math.round(fe.minimap.scale*2):fe.minimap.scale;const Xe=fe.minimap.maxColumn,et=fe.minimap.size,dt=fe.minimap.side,at=fe.verticalScrollbarWidth,st=fe.viewLineCount,pt=fe.remainingWidth,bt=fe.isViewportWrapping,De=$e?2:3;let Ie=Math.floor(ve*be);const Re=Ie/ve;let Se=!1,We=!1,qe=De*je,Ue=je/ve,Je=1;if(et==="fill"||et==="fit"){const{typicalViewportLineCount:Ve,extraLinesBeforeFirstLine:Ye,extraLinesBeyondLastLine:Ze,desiredRatio:nt,minimapLineCount:ct}=H.computeContainedMinimapLineCount({viewLineCount:st,scrollBeyondLastLine:He,paddingTop:fe.paddingTop,paddingBottom:fe.paddingBottom,height:be,lineHeight:Pe,pixelRatio:ve});if(st/ct>1)Se=!0,We=!0,je=1,qe=1,Ue=je/ve;else{let ft=!1,gt=je+1;if(et==="fit"){const mt=Math.ceil((Ye+st+Ze)*qe);bt&&Te&&pt<=_e.stableFitRemainingWidth?(ft=!0,gt=_e.stableFitMaxMinimapScale):ft=mt>Ie}if(et==="fill"||ft){Se=!0;const mt=je;qe=Math.min(Pe*ve,Math.max(1,Math.floor(1/nt))),bt&&Te&&pt<=_e.stableFitRemainingWidth&&(gt=_e.stableFitMaxMinimapScale),je=Math.min(gt,Math.max(1,Math.floor(qe/De))),je>mt&&(Je=Math.min(2,je/mt)),Ue=je/ve/Je,Ie=Math.ceil(Math.max(Ve,Ye+st+Ze)*qe),bt?(_e.stableMinimapLayoutInput=fe,_e.stableFitRemainingWidth=pt,_e.stableFitMaxMinimapScale=je):(_e.stableMinimapLayoutInput=null,_e.stableFitRemainingWidth=0)}}}const tt=Math.floor(Xe*Ue),Qe=Math.min(tt,Math.max(0,Math.floor((pt-at-2)*Ue/(Be+Ue)))+e.MINIMAP_GUTTER_WIDTH);let rt=Math.floor(ve*Qe);const Ct=rt/ve;rt=Math.floor(rt*Je);const ut=$e?1:2,ot=dt==="left"?0:xe-Qe-at;return{renderMinimap:ut,minimapLeft:ot,minimapWidth:Qe,minimapHeightIsEditorHeight:Se,minimapIsSampling:We,minimapScale:je,minimapLineHeight:qe,minimapCanvasInnerWidth:rt,minimapCanvasInnerHeight:Ie,minimapCanvasOuterWidth:Ct,minimapCanvasOuterHeight:Re}}static computeLayout(fe,_e){const xe=_e.outerWidth|0,be=_e.outerHeight|0,ve=_e.lineHeight|0,we=_e.lineNumbersDigitCount|0,Te=_e.typicalHalfwidthCharacterWidth,Pe=_e.maxDigitWidth,Be=_e.pixelRatio,He=_e.viewLineCount,$e=fe.get(138),je=$e==="inherit"?fe.get(137):$e,Xe=je==="inherit"?fe.get(133):je,et=fe.get(136),dt=_e.isDominatedByLongLines,at=fe.get(57),st=fe.get(68).renderType!==0,pt=fe.get(69),bt=fe.get(106),De=fe.get(84),Ie=fe.get(73),Re=fe.get(104),Se=Re.verticalScrollbarSize,We=Re.verticalHasArrows,qe=Re.arrowSize,Ue=Re.horizontalScrollbarSize,Je=fe.get(43),tt=fe.get(111)!=="never";let Qe=fe.get(66);Je&&tt&&(Qe+=16);let rt=0;if(st){const Dt=Math.max(we,pt);rt=Math.round(Dt*Pe)}let Ct=0;at&&(Ct=ve*_e.glyphMarginDecorationLaneCount);let ut=0,ot=ut+Ct,Ve=ot+rt,Ye=Ve+Qe;const Ze=xe-Ct-rt-Qe;let nt=!1,ct=!1,ht=-1;je==="inherit"&&dt?(nt=!0,ct=!0):Xe==="on"||Xe==="bounded"?ct=!0:Xe==="wordWrapColumn"&&(ht=et);const ft=H._computeMinimapLayout({outerWidth:xe,outerHeight:be,lineHeight:ve,typicalHalfwidthCharacterWidth:Te,pixelRatio:Be,scrollBeyondLastLine:bt,paddingTop:De.top,paddingBottom:De.bottom,minimap:Ie,verticalScrollbarWidth:Se,viewLineCount:He,remainingWidth:Ze,isViewportWrapping:ct},_e.memory||new b);ft.renderMinimap!==0&&ft.minimapLeft===0&&(ut+=ft.minimapWidth,ot+=ft.minimapWidth,Ve+=ft.minimapWidth,Ye+=ft.minimapWidth);const gt=Ze-ft.minimapWidth,mt=Math.max(1,Math.floor((gt-Se-2)/Te)),vt=We?qe:0;return ct&&(ht=Math.max(1,mt),Xe==="bounded"&&(ht=Math.min(ht,et))),{width:xe,height:be,glyphMarginLeft:ut,glyphMarginWidth:Ct,glyphMarginDecorationLaneCount:_e.glyphMarginDecorationLaneCount,lineNumbersLeft:ot,lineNumbersWidth:rt,decorationsLeft:Ve,decorationsWidth:Qe,contentLeft:Ye,contentWidth:gt,minimap:ft,viewportColumn:mt,isWordWrapMinified:nt,isViewportWrapping:ct,wrappingColumn:ht,verticalScrollbarWidth:Se,horizontalScrollbarHeight:Ue,overviewRuler:{top:vt,width:Se,height:be-2*vt,right:0}}}}e.EditorLayoutInfoComputer=H;class z extends p{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[m.localize(230,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),m.localize(231,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:m.localize(232,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(fe){return C(fe,"simple",["simple","advanced"])}compute(fe,_e,xe){return _e.get(2)===2?"advanced":xe}}var U;(function(Fe){Fe.Off="off",Fe.OnCode="onCode",Fe.On="on"})(U||(e.ShowLightbulbIconMode=U={}));class j extends p{constructor(){const fe={enabled:U.OnCode};super(65,"lightbulb",fe,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[U.Off,U.OnCode,U.On],default:fe.enabled,enumDescriptions:[m.localize(233,"Disable the code action menu."),m.localize(234,"Show the code action menu when the cursor is on lines with code."),m.localize(235,"Show the code action menu when the cursor is on lines with code or on empty lines.")],description:m.localize(236,"Enables the Code Action lightbulb in the editor.")}})}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:{enabled:C(fe.enabled,this.defaultValue.enabled,[U.Off,U.OnCode,U.On])}}}class Y extends p{constructor(){const fe={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",fe,{"editor.stickyScroll.enabled":{type:"boolean",default:fe.enabled,description:m.localize(237,"Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:fe.maxLineCount,minimum:1,maximum:20,description:m.localize(238,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:fe.defaultModel,description:m.localize(239,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:fe.scrollWithEditor,description:m.localize(240,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),maxLineCount:l.clampedInt(_e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:C(_e.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:s(_e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class G extends p{constructor(){const fe={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",fe,{"editor.inlayHints.enabled":{type:"string",default:fe.enabled,description:m.localize(241,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[m.localize(242,"Inlay hints are enabled"),m.localize(243,"Inlay hints are showing by default and hide when holding {0}",I.isMacintosh?"Ctrl+Option":"Ctrl+Alt"),m.localize(244,"Inlay hints are hidden by default and show when holding {0}",I.isMacintosh?"Ctrl+Option":"Ctrl+Alt"),m.localize(245,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:fe.fontSize,markdownDescription:m.localize(246,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:fe.fontFamily,markdownDescription:m.localize(247,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:fe.padding,description:m.localize(248,"Enables the padding around the inlay hints in the editor.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return typeof _e.enabled=="boolean"&&(_e.enabled=_e.enabled?"on":"off"),{enabled:C(_e.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:l.clampedInt(_e.fontSize,this.defaultValue.fontSize,0,100),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily),padding:s(_e.padding,this.defaultValue.padding)}}}class K extends p{constructor(){super(66,"lineDecorationsWidth",10)}validate(fe){return typeof fe=="string"&&/^\d+(\.\d+)?ch$/.test(fe)?-parseFloat(fe.substring(0,fe.length-2)):l.clampedInt(fe,this.defaultValue,0,1e3)}compute(fe,_e,xe){return xe<0?l.clampedInt(-xe*fe.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):xe}}class R extends r{constructor(){super(67,"lineHeight",e.EDITOR_FONT_DEFAULTS.lineHeight,fe=>r.clamp(fe,0,150),{markdownDescription:m.localize(249,`Controls the line height.
604 - Use 0 to automatically compute the line height from the font size.
605 - Values between 0 and 8 will be used as a multiplier with the font size.
606 - Values greater than or equal to 8 will be used as effective values.`)})}compute(fe,_e,xe){return fe.fontInfo.lineHeight}}class J extends p{constructor(){const fe={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",fe,{"editor.minimap.enabled":{type:"boolean",default:fe.enabled,description:m.localize(250,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:fe.autohide,description:m.localize(251,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[m.localize(252,"The minimap has the same size as the editor contents (and might scroll)."),m.localize(253,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),m.localize(254,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:fe.size,description:m.localize(255,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:fe.side,description:m.localize(256,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:fe.showSlider,description:m.localize(257,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:fe.scale,minimum:1,maximum:3,enum:[1,2,3],description:m.localize(258,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:fe.renderCharacters,description:m.localize(259,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:fe.maxColumn,description:m.localize(260,"Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:fe.showRegionSectionHeaders,description:m.localize(261,"Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:fe.showMarkSectionHeaders,description:m.localize(262,"Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:fe.sectionHeaderFontSize,description:m.localize(263,"Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:fe.sectionHeaderLetterSpacing,description:m.localize(264,"Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),autohide:s(_e.autohide,this.defaultValue.autohide),size:C(_e.size,this.defaultValue.size,["proportional","fill","fit"]),side:C(_e.side,this.defaultValue.side,["right","left"]),showSlider:C(_e.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:s(_e.renderCharacters,this.defaultValue.renderCharacters),scale:l.clampedInt(_e.scale,1,1,3),maxColumn:l.clampedInt(_e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:s(_e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:s(_e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:r.clamp(_e.sectionHeaderFontSize??this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:r.clamp(_e.sectionHeaderLetterSpacing??this.defaultValue.sectionHeaderLetterSpacing,0,5)}}}function ie(Fe){return Fe==="ctrlCmd"?I.isMacintosh?"metaKey":"ctrlKey":"altKey"}class ue extends p{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:m.localize(265,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:m.localize(266,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{top:l.clampedInt(_e.top,0,0,1e3),bottom:l.clampedInt(_e.bottom,0,0,1e3)}}}class he extends p{constructor(){const fe={enabled:!0,cycle:!0};super(86,"parameterHints",fe,{"editor.parameterHints.enabled":{type:"boolean",default:fe.enabled,description:m.localize(267,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:fe.cycle,description:m.localize(268,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),cycle:s(_e.cycle,this.defaultValue.cycle)}}}class pe extends t{constructor(){super(144)}compute(fe,_e,xe){return fe.pixelRatio}}class ae extends p{constructor(){super(88,"placeholder",void 0)}validate(fe){return typeof fe>"u"?this.defaultValue:typeof fe=="string"?fe:this.defaultValue}}class ee extends p{constructor(){const fe={other:"on",comments:"off",strings:"off"},_e=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[m.localize(269,"Quick suggestions show inside the suggest widget"),m.localize(270,"Quick suggestions show as ghost text"),m.localize(271,"Quick suggestions are disabled")]}];super(90,"quickSuggestions",fe,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:_e,default:fe.strings,description:m.localize(272,"Enable quick suggestions inside strings.")},comments:{anyOf:_e,default:fe.comments,description:m.localize(273,"Enable quick suggestions inside comments.")},other:{anyOf:_e,default:fe.other,description:m.localize(274,"Enable quick suggestions outside of strings and comments.")}},default:fe,markdownDescription:m.localize(275,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=fe}validate(fe){if(typeof fe=="boolean"){const Be=fe?"on":"off";return{comments:Be,strings:Be,other:Be}}if(!fe||typeof fe!="object")return this.defaultValue;const{other:_e,comments:xe,strings:be}=fe,ve=["on","inline","off"];let we,Te,Pe;return typeof _e=="boolean"?we=_e?"on":"off":we=C(_e,this.defaultValue.other,ve),typeof xe=="boolean"?Te=xe?"on":"off":Te=C(xe,this.defaultValue.comments,ve),typeof be=="boolean"?Pe=be?"on":"off":Pe=C(be,this.defaultValue.strings,ve),{other:we,comments:Te,strings:Pe}}}class de extends p{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[m.localize(276,"Line numbers are not rendered."),m.localize(277,"Line numbers are rendered as absolute number."),m.localize(278,"Line numbers are rendered as distance in lines to cursor position."),m.localize(279,"Line numbers are rendered every 10 lines.")],default:"on",description:m.localize(280,"Controls the display of line numbers.")})}validate(fe){let _e=this.defaultValue.renderType,xe=this.defaultValue.renderFn;return typeof fe<"u"&&(typeof fe=="function"?(_e=4,xe=fe):fe==="interval"?_e=3:fe==="relative"?_e=2:fe==="on"?_e=1:_e=0),{renderType:_e,renderFn:xe}}}function ge(Fe){const fe=Fe.get(99);return fe==="editable"?Fe.get(92):fe!=="on"}class X extends p{constructor(){const fe=[],_e={type:"number",description:m.localize(281,"Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",fe,{type:"array",items:{anyOf:[_e,{type:["object"],properties:{column:_e,color:{type:"string",description:m.localize(282,"Color of this editor ruler."),format:"color-hex"}}}]},default:fe,description:m.localize(283,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(fe){if(Array.isArray(fe)){const _e=[];for(const xe of fe)if(typeof xe=="number")_e.push({column:l.clampedInt(xe,0,0,1e4),color:null});else if(xe&&typeof xe=="object"){const be=xe;_e.push({column:l.clampedInt(be.column,0,0,1e4),color:be.color})}return _e.sort((xe,be)=>xe.column-be.column),_e}return this.defaultValue}}class B extends p{constructor(){super(93,"readOnlyMessage",void 0)}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:fe}}function $(Fe,fe){if(typeof Fe!="string")return fe;switch(Fe){case"hidden":return 2;case"visible":return 3;default:return 1}}class Q extends p{constructor(){const fe={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,"scrollbar",fe,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[m.localize(284,"The vertical scrollbar will be visible only when necessary."),m.localize(285,"The vertical scrollbar will always be visible."),m.localize(286,"The vertical scrollbar will always be hidden.")],default:"auto",description:m.localize(287,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[m.localize(288,"The horizontal scrollbar will be visible only when necessary."),m.localize(289,"The horizontal scrollbar will always be visible."),m.localize(290,"The horizontal scrollbar will always be hidden.")],default:"auto",description:m.localize(291,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:fe.verticalScrollbarSize,description:m.localize(292,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:fe.horizontalScrollbarSize,description:m.localize(293,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:fe.scrollByPage,description:m.localize(294,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:fe.ignoreHorizontalScrollbarInContentHeight,description:m.localize(295,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe,xe=l.clampedInt(_e.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),be=l.clampedInt(_e.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:l.clampedInt(_e.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:$(_e.vertical,this.defaultValue.vertical),horizontal:$(_e.horizontal,this.defaultValue.horizontal),useShadows:s(_e.useShadows,this.defaultValue.useShadows),verticalHasArrows:s(_e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:s(_e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:s(_e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:s(_e.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:xe,horizontalSliderSize:l.clampedInt(_e.horizontalSliderSize,xe,0,1e3),verticalScrollbarSize:be,verticalSliderSize:l.clampedInt(_e.verticalSliderSize,be,0,1e3),scrollByPage:s(_e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:s(_e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}e.inUntrustedWorkspace="inUntrustedWorkspace",e.unicodeHighlightConfigKeys={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class Z extends p{constructor(){const fe={nonBasicASCII:e.inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:e.inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",fe,{[e.unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.nonBasicASCII,description:m.localize(296,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[e.unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:"boolean",default:fe.invisibleCharacters,description:m.localize(297,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[e.unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:"boolean",default:fe.ambiguousCharacters,description:m.localize(298,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[e.unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeComments,description:m.localize(299,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[e.unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,e.inUntrustedWorkspace],default:fe.includeStrings,description:m.localize(300,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[e.unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:"object",default:fe.allowedCharacters,description:m.localize(301,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[e.unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:fe.allowedLocales,description:m.localize(302,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(fe,_e){let xe=!1;_e.allowedCharacters&&fe&&(k.equals(fe.allowedCharacters,_e.allowedCharacters)||(fe={...fe,allowedCharacters:_e.allowedCharacters},xe=!0)),_e.allowedLocales&&fe&&(k.equals(fe.allowedLocales,_e.allowedLocales)||(fe={...fe,allowedLocales:_e.allowedLocales},xe=!0));const be=super.applyUpdate(fe,_e);return xe?new n(be.newValue,!0):be}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{nonBasicASCII:Ce(_e.nonBasicASCII,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),invisibleCharacters:s(_e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:s(_e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ce(_e.includeComments,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),includeStrings:Ce(_e.includeStrings,e.inUntrustedWorkspace,[!0,!1,e.inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(fe.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(fe.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(fe,_e){if(typeof fe!="object"||!fe)return _e;const xe={};for(const[be,ve]of Object.entries(fe))ve===!0&&(xe[be]=!0);return xe}}class te extends p{constructor(){const fe={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",fe,{"editor.inlineSuggest.enabled":{type:"boolean",default:fe.enabled,description:m.localize(303,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:fe.showToolbar,enum:["always","onHover","never"],enumDescriptions:[m.localize(304,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),m.localize(305,"Show the inline suggestion toolbar when hovering over an inline suggestion."),m.localize(306,"Never show the inline suggestion toolbar.")],description:m.localize(307,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:fe.suppressSuggestions,description:m.localize(308,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:fe.fontFamily,description:m.localize(309,"Controls the font family of the inline suggestions.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),mode:C(_e.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:C(_e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:s(_e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:s(_e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily)}}}class re extends p{constructor(){const fe={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",fe,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:fe.enabled,description:m.localize(310,"Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:fe.showToolbar,enum:["always","onHover","never"],enumDescriptions:[m.localize(311,"Show the inline edit toolbar whenever an inline suggestion is shown."),m.localize(312,"Show the inline edit toolbar when hovering over an inline suggestion."),m.localize(313,"Never show the inline edit toolbar.")],description:m.localize(314,"Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:fe.fontFamily,description:m.localize(315,"Controls the font family of the inline edit.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showToolbar:C(_e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:u.string(_e.fontFamily,this.defaultValue.fontFamily),keepOnBlur:s(_e.keepOnBlur,this.defaultValue.keepOnBlur)}}}class le extends p{constructor(){const fe={enabled:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:E.EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",fe,{"editor.bracketPairColorization.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(316,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:fe.independentColorPoolPerBracketType,description:m.localize(317,"Controls whether each bracket type has its own independent color pool.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:s(_e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class me extends p{constructor(){const fe={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",fe,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[m.localize(318,"Enables bracket pair guides."),m.localize(319,"Enables bracket pair guides only for the active bracket pair."),m.localize(320,"Disables bracket pair guides.")],default:fe.bracketPairs,description:m.localize(321,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[m.localize(322,"Enables horizontal guides as addition to vertical bracket pair guides."),m.localize(323,"Enables horizontal guides only for the active bracket pair."),m.localize(324,"Disables horizontal bracket pair guides.")],default:fe.bracketPairsHorizontal,description:m.localize(325,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:fe.highlightActiveBracketPair,description:m.localize(326,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:fe.indentation,description:m.localize(327,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[m.localize(328,"Highlights the active indent guide."),m.localize(329,"Highlights the active indent guide even if bracket guides are highlighted."),m.localize(330,"Do not highlight the active indent guide.")],default:fe.highlightActiveIndentation,description:m.localize(331,"Controls whether the editor should highlight the active indent guide.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{bracketPairs:Ce(_e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ce(_e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:s(_e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:s(_e.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ce(_e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function Ce(Fe,fe,_e){const xe=_e.indexOf(Fe);return xe===-1?fe:_e[xe]}class ye extends p{constructor(){const fe={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,"suggest",fe,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[m.localize(332,"Insert suggestion without overwriting text right of the cursor."),m.localize(333,"Insert suggestion and overwrite text right of the cursor.")],default:fe.insertMode,description:m.localize(334,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:fe.filterGraceful,description:m.localize(335,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:fe.localityBonus,description:m.localize(336,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:fe.shareSuggestSelections,markdownDescription:m.localize(337,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[m.localize(338,"Always select a suggestion when automatically triggering IntelliSense."),m.localize(339,"Never select a suggestion when automatically triggering IntelliSense."),m.localize(340,"Select a suggestion only when triggering IntelliSense from a trigger character."),m.localize(341,"Select a suggestion only when triggering IntelliSense as you type.")],default:fe.selectionMode,markdownDescription:m.localize(342,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:fe.snippetsPreventQuickSuggestions,description:m.localize(343,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:fe.showIcons,description:m.localize(344,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:fe.showStatusBar,description:m.localize(345,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:fe.preview,description:m.localize(346,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:fe.showInlineDetails,description:m.localize(347,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:m.localize(348,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:m.localize(349,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:m.localize(350,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:m.localize(351,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:m.localize(352,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:m.localize(353,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:m.localize(354,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:m.localize(355,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:m.localize(356,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:m.localize(357,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:m.localize(358,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:m.localize(359,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:m.localize(360,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:m.localize(361,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:m.localize(362,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:m.localize(363,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:m.localize(364,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:m.localize(365,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:m.localize(366,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:m.localize(367,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:m.localize(368,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:m.localize(369,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:m.localize(370,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:m.localize(371,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:m.localize(372,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:m.localize(373,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:m.localize(374,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:m.localize(375,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:m.localize(376,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:m.localize(377,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:m.localize(378,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:m.localize(379,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{insertMode:C(_e.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:s(_e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:s(_e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:s(_e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:s(_e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:C(_e.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:s(_e.showIcons,this.defaultValue.showIcons),showStatusBar:s(_e.showStatusBar,this.defaultValue.showStatusBar),preview:s(_e.preview,this.defaultValue.preview),previewMode:C(_e.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:s(_e.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:s(_e.showMethods,this.defaultValue.showMethods),showFunctions:s(_e.showFunctions,this.defaultValue.showFunctions),showConstructors:s(_e.showConstructors,this.defaultValue.showConstructors),showDeprecated:s(_e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:s(_e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:s(_e.showFields,this.defaultValue.showFields),showVariables:s(_e.showVariables,this.defaultValue.showVariables),showClasses:s(_e.showClasses,this.defaultValue.showClasses),showStructs:s(_e.showStructs,this.defaultValue.showStructs),showInterfaces:s(_e.showInterfaces,this.defaultValue.showInterfaces),showModules:s(_e.showModules,this.defaultValue.showModules),showProperties:s(_e.showProperties,this.defaultValue.showProperties),showEvents:s(_e.showEvents,this.defaultValue.showEvents),showOperators:s(_e.showOperators,this.defaultValue.showOperators),showUnits:s(_e.showUnits,this.defaultValue.showUnits),showValues:s(_e.showValues,this.defaultValue.showValues),showConstants:s(_e.showConstants,this.defaultValue.showConstants),showEnums:s(_e.showEnums,this.defaultValue.showEnums),showEnumMembers:s(_e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:s(_e.showKeywords,this.defaultValue.showKeywords),showWords:s(_e.showWords,this.defaultValue.showWords),showColors:s(_e.showColors,this.defaultValue.showColors),showFiles:s(_e.showFiles,this.defaultValue.showFiles),showReferences:s(_e.showReferences,this.defaultValue.showReferences),showFolders:s(_e.showFolders,this.defaultValue.showFolders),showTypeParameters:s(_e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:s(_e.showSnippets,this.defaultValue.showSnippets),showUsers:s(_e.showUsers,this.defaultValue.showUsers),showIssues:s(_e.showIssues,this.defaultValue.showIssues)}}}class Le extends p{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:m.localize(380,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:m.localize(381,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(fe){return!fe||typeof fe!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:s(fe.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:s(fe.selectSubwords,this.defaultValue.selectSubwords)}}}class Ee extends p{constructor(){const fe=[];super(131,"wordSegmenterLocales",fe,{anyOf:[{description:m.localize(382,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:m.localize(383,"Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(fe){if(typeof fe=="string"&&(fe=[fe]),Array.isArray(fe)){const _e=[];for(const xe of fe)if(typeof xe=="string")try{Intl.Segmenter.supportedLocalesOf(xe).length>0&&_e.push(xe)}catch{}return _e}return this.defaultValue}}class Me extends p{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[m.localize(384,"No indentation. Wrapped lines begin at column 1."),m.localize(385,"Wrapped lines get the same indentation as the parent."),m.localize(386,"Wrapped lines get +1 indentation toward the parent."),m.localize(387,"Wrapped lines get +2 indentation toward the parent.")],description:m.localize(388,"Controls the indentation of wrapped lines."),default:"same"}})}validate(fe){switch(fe){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(fe,_e,xe){return _e.get(2)===2?0:xe}}class Ae extends t{constructor(){super(147)}compute(fe,_e,xe){const be=_e.get(146);return{isDominatedByLongLines:fe.isDominatedByLongLines,isWordWrapMinified:be.isWordWrapMinified,isViewportWrapping:be.isViewportWrapping,wrappingColumn:be.wrappingColumn}}}class Ne extends p{constructor(){const fe={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",fe,{"editor.dropIntoEditor.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(389,"Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:m.localize(390,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[m.localize(391,"Show the drop selector widget after a file is dropped into the editor."),m.localize(392,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showDropSelector:C(_e.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class Ke extends p{constructor(){const fe={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",fe,{"editor.pasteAs.enabled":{type:"boolean",default:fe.enabled,markdownDescription:m.localize(393,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:m.localize(394,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[m.localize(395,"Show the paste selector widget after content is pasted into the editor."),m.localize(396,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(fe){if(!fe||typeof fe!="object")return this.defaultValue;const _e=fe;return{enabled:s(_e.enabled,this.defaultValue.enabled),showPasteSelector:C(_e.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const ze="Consolas, 'Courier New', monospace",Ge="Menlo, Monaco, 'Courier New', monospace",it="'Droid Sans Mono', 'monospace', monospace";e.EDITOR_FONT_DEFAULTS={fontFamily:I.isMacintosh?Ge:I.isLinux?it:ze,fontWeight:"normal",fontSize:I.isMacintosh?12:14,lineHeight:0,letterSpacing:0},e.editorOptionsRegistry=[];function Oe(Fe){return e.editorOptionsRegistry[Fe.id]=Fe,Fe}e.EditorOptions={acceptSuggestionOnCommitCharacter:Oe(new g(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:m.localize(397,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:Oe(new f(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",m.localize(398,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:m.localize(399,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:Oe(new w),accessibilityPageSize:Oe(new l(3,"accessibilityPageSize",10,1,1073741824,{description:m.localize(400,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:Oe(new u(4,"ariaLabel",m.localize(401,"Editor content"))),ariaRequired:Oe(new g(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:Oe(new g(8,"screenReaderAnnounceInlineSuggestion",!0,{description:m.localize(402,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:Oe(new f(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(403,"Use language configurations to determine when to autoclose brackets."),m.localize(404,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:m.localize(405,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:Oe(new f(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(406,"Use language configurations to determine when to autoclose comments."),m.localize(407,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:m.localize(408,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:Oe(new f(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",m.localize(409,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:m.localize(410,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:Oe(new f(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",m.localize(411,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:m.localize(412,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:Oe(new f(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",m.localize(413,"Use language configurations to determine when to autoclose quotes."),m.localize(414,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:m.localize(415,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:Oe(new h(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],v,{enumDescriptions:[m.localize(416,"The editor will not insert indentation automatically."),m.localize(417,"The editor will keep the current line's indentation."),m.localize(418,"The editor will keep the current line's indentation and honor language defined brackets."),m.localize(419,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),m.localize(420,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:m.localize(421,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:Oe(new g(13,"automaticLayout",!1)),autoSurround:Oe(new f(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[m.localize(422,"Use language configurations to determine when to automatically surround selections."),m.localize(423,"Surround with quotes but not brackets."),m.localize(424,"Surround with brackets but not quotes."),""],description:m.localize(425,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:Oe(new le),bracketPairGuides:Oe(new me),stickyTabStops:Oe(new g(117,"stickyTabStops",!1,{description:m.localize(426,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:Oe(new g(17,"codeLens",!0,{description:m.localize(427,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:Oe(new u(18,"codeLensFontFamily","",{description:m.localize(428,"Controls the font family for CodeLens.")})),codeLensFontSize:Oe(new l(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:m.localize(429,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:Oe(new g(20,"colorDecorators",!0,{description:m.localize(430,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:Oe(new f(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[m.localize(431,"Make the color picker appear both on click and hover of the color decorator"),m.localize(432,"Make the color picker appear on hover of the color decorator"),m.localize(433,"Make the color picker appear on click of the color decorator")],description:m.localize(434,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:Oe(new l(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:m.localize(435,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:Oe(new g(22,"columnSelection",!1,{description:m.localize(436,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:Oe(new S),contextmenu:Oe(new g(24,"contextmenu",!0)),copyWithSyntaxHighlighting:Oe(new g(25,"copyWithSyntaxHighlighting",!0,{description:m.localize(437,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:Oe(new h(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],L,{description:m.localize(438,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:Oe(new f(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[m.localize(439,"Smooth caret animation is disabled."),m.localize(440,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),m.localize(441,"Smooth caret animation is always enabled.")],description:m.localize(442,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:Oe(new h(28,"cursorStyle",D.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],T,{description:m.localize(443,"Controls the cursor style.")})),cursorSurroundingLines:Oe(new l(29,"cursorSurroundingLines",0,0,1073741824,{description:m.localize(444,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:Oe(new f(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[m.localize(445,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),m.localize(446,"`cursorSurroundingLines` is enforced always.")],markdownDescription:m.localize(447,"Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:Oe(new l(31,"cursorWidth",0,0,1073741824,{markdownDescription:m.localize(448,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:Oe(new g(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:Oe(new g(33,"disableMonospaceOptimizations",!1)),domReadOnly:Oe(new g(34,"domReadOnly",!1)),dragAndDrop:Oe(new g(35,"dragAndDrop",!0,{description:m.localize(449,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:Oe(new A),dropIntoEditor:Oe(new Ne),stickyScroll:Oe(new Y),experimentalWhitespaceRendering:Oe(new f(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[m.localize(450,"Use a new rendering method with svgs."),m.localize(451,"Use a new rendering method with font characters."),m.localize(452,"Use the stable rendering method.")],description:m.localize(453,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:Oe(new u(39,"extraEditorClassName","")),fastScrollSensitivity:Oe(new r(40,"fastScrollSensitivity",5,Fe=>Fe<=0?5:Fe,{markdownDescription:m.localize(454,"Scrolling speed multiplier when pressing `Alt`.")})),find:Oe(new P),fixedOverflowWidgets:Oe(new g(42,"fixedOverflowWidgets",!1)),folding:Oe(new g(43,"folding",!0,{description:m.localize(455,"Controls whether the editor has code folding enabled.")})),foldingStrategy:Oe(new f(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[m.localize(456,"Use a language-specific folding strategy if available, else the indentation-based one."),m.localize(457,"Use the indentation-based folding strategy.")],description:m.localize(458,"Controls the strategy for computing folding ranges.")})),foldingHighlight:Oe(new g(45,"foldingHighlight",!0,{description:m.localize(459,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:Oe(new g(46,"foldingImportsByDefault",!1,{description:m.localize(460,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:Oe(new l(47,"foldingMaximumRegions",5e3,10,65e3,{description:m.localize(461,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:Oe(new g(48,"unfoldOnClickAfterEndOfLine",!1,{description:m.localize(462,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:Oe(new u(49,"fontFamily",e.EDITOR_FONT_DEFAULTS.fontFamily,{description:m.localize(463,"Controls the font family.")})),fontInfo:Oe(new F),fontLigatures2:Oe(new N),fontSize:Oe(new x),fontWeight:Oe(new W),fontVariations:Oe(new O),formatOnPaste:Oe(new g(55,"formatOnPaste",!1,{description:m.localize(464,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:Oe(new g(56,"formatOnType",!1,{description:m.localize(465,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:Oe(new g(57,"glyphMargin",!0,{description:m.localize(466,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:Oe(new V),hideCursorInOverviewRuler:Oe(new g(59,"hideCursorInOverviewRuler",!1,{description:m.localize(467,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:Oe(new q),inDiffEditor:Oe(new g(61,"inDiffEditor",!1)),letterSpacing:Oe(new r(64,"letterSpacing",e.EDITOR_FONT_DEFAULTS.letterSpacing,Fe=>r.clamp(Fe,-5,20),{description:m.localize(468,"Controls the letter spacing in pixels.")})),lightbulb:Oe(new j),lineDecorationsWidth:Oe(new K),lineHeight:Oe(new R),lineNumbers:Oe(new de),lineNumbersMinChars:Oe(new l(69,"lineNumbersMinChars",5,1,300)),linkedEditing:Oe(new g(70,"linkedEditing",!1,{description:m.localize(469,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:Oe(new g(71,"links",!0,{description:m.localize(470,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:Oe(new f(72,"matchBrackets","always",["always","near","never"],{description:m.localize(471,"Highlight matching brackets.")})),minimap:Oe(new J),mouseStyle:Oe(new f(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:Oe(new r(75,"mouseWheelScrollSensitivity",1,Fe=>Fe===0?1:Fe,{markdownDescription:m.localize(472,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:Oe(new g(76,"mouseWheelZoom",!1,{markdownDescription:I.isMacintosh?m.localize(473,"Zoom the font of the editor when using mouse wheel and holding `Cmd`."):m.localize(474,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:Oe(new g(77,"multiCursorMergeOverlapping",!0,{description:m.localize(475,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:Oe(new h(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],ie,{markdownEnumDescriptions:[m.localize(476,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),m.localize(477,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:m.localize(478,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:Oe(new f(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[m.localize(479,"Each cursor pastes a single line of the text."),m.localize(480,"Each cursor pastes the full text.")],markdownDescription:m.localize(481,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:Oe(new l(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:m.localize(482,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:Oe(new f(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[m.localize(483,"Does not highlight occurrences."),m.localize(484,"Highlights occurrences only in the current file."),m.localize(485,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:m.localize(486,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:Oe(new g(82,"overviewRulerBorder",!0,{description:m.localize(487,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:Oe(new l(83,"overviewRulerLanes",3,0,3)),padding:Oe(new ue),pasteAs:Oe(new Ke),parameterHints:Oe(new he),peekWidgetDefaultFocus:Oe(new f(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[m.localize(488,"Focus the tree when opening peek"),m.localize(489,"Focus the editor when opening peek")],description:m.localize(490,"Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:Oe(new ae),definitionLinkOpensInPeek:Oe(new g(89,"definitionLinkOpensInPeek",!1,{description:m.localize(491,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:Oe(new ee),quickSuggestionsDelay:Oe(new l(91,"quickSuggestionsDelay",10,0,1073741824,{description:m.localize(492,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:Oe(new g(92,"readOnly",!1)),readOnlyMessage:Oe(new B),renameOnType:Oe(new g(94,"renameOnType",!1,{description:m.localize(493,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:m.localize(494,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:Oe(new g(95,"renderControlCharacters",!0,{description:m.localize(495,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:Oe(new f(96,"renderFinalNewline",I.isLinux?"dimmed":"on",["off","on","dimmed"],{description:m.localize(496,"Render last line number when the file ends with a newline.")})),renderLineHighlight:Oe(new f(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",m.localize(497,"Highlights both the gutter and the current line.")],description:m.localize(498,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:Oe(new g(98,"renderLineHighlightOnlyWhenFocus",!1,{description:m.localize(499,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:Oe(new f(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:Oe(new f(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",m.localize(500,"Render whitespace characters except for single spaces between words."),m.localize(501,"Render whitespace characters only on selected text."),m.localize(502,"Render only trailing whitespace characters."),""],description:m.localize(503,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:Oe(new l(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:Oe(new g(102,"roundedSelection",!0,{description:m.localize(504,"Controls whether selections should have rounded corners.")})),rulers:Oe(new X),scrollbar:Oe(new Q),scrollBeyondLastColumn:Oe(new l(105,"scrollBeyondLastColumn",4,0,1073741824,{description:m.localize(505,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:Oe(new g(106,"scrollBeyondLastLine",!0,{description:m.localize(506,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:Oe(new g(107,"scrollPredominantAxis",!0,{description:m.localize(507,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:Oe(new g(108,"selectionClipboard",!0,{description:m.localize(508,"Controls whether the Linux primary clipboard should be supported."),included:I.isLinux})),selectionHighlight:Oe(new g(109,"selectionHighlight",!0,{description:m.localize(509,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:Oe(new g(110,"selectOnLineNumbers",!0)),showFoldingControls:Oe(new f(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[m.localize(510,"Always show the folding controls."),m.localize(511,"Never show the folding controls and reduce the gutter size."),m.localize(512,"Only show the folding controls when the mouse is over the gutter.")],description:m.localize(513,"Controls when the folding controls on the gutter are shown.")})),showUnused:Oe(new g(112,"showUnused",!0,{description:m.localize(514,"Controls fading out of unused code.")})),showDeprecated:Oe(new g(141,"showDeprecated",!0,{description:m.localize(515,"Controls strikethrough deprecated variables.")})),inlayHints:Oe(new G),snippetSuggestions:Oe(new f(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[m.localize(516,"Show snippet suggestions on top of other suggestions."),m.localize(517,"Show snippet suggestions below other suggestions."),m.localize(518,"Show snippets suggestions with other suggestions."),m.localize(519,"Do not show snippet suggestions.")],description:m.localize(520,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:Oe(new Le),smoothScrolling:Oe(new g(115,"smoothScrolling",!1,{description:m.localize(521,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:Oe(new l(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:Oe(new ye),inlineSuggest:Oe(new te),inlineEdit:Oe(new re),inlineCompletionsAccessibilityVerbose:Oe(new g(150,"inlineCompletionsAccessibilityVerbose",!1,{description:m.localize(522,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:Oe(new l(120,"suggestFontSize",0,0,1e3,{markdownDescription:m.localize(523,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:Oe(new l(121,"suggestLineHeight",0,0,1e3,{markdownDescription:m.localize(524,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:Oe(new g(122,"suggestOnTriggerCharacters",!0,{description:m.localize(525,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:Oe(new f(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[m.localize(526,"Always select the first suggestion."),m.localize(527,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),m.localize(528,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:m.localize(529,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:Oe(new f(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[m.localize(530,"Tab complete will insert the best matching suggestion when pressing tab."),m.localize(531,"Disable tab completions."),m.localize(532,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:m.localize(533,"Enables tab completions.")})),tabIndex:Oe(new l(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:Oe(new Z),unusualLineTerminators:Oe(new f(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[m.localize(534,"Unusual line terminators are automatically removed."),m.localize(535,"Unusual line terminators are ignored."),m.localize(536,"Unusual line terminators prompt to be removed.")],description:m.localize(537,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:Oe(new g(128,"useShadowDOM",!0)),useTabStops:Oe(new g(129,"useTabStops",!0,{description:m.localize(538,"Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:Oe(new f(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[m.localize(539,"Use the default line break rule."),m.localize(540,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:m.localize(541,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:Oe(new Ee),wordSeparators:Oe(new u(132,"wordSeparators",y.USUAL_WORD_SEPARATORS,{description:m.localize(542,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:Oe(new f(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[m.localize(543,"Lines will never wrap."),m.localize(544,"Lines will wrap at the viewport width."),m.localize(545,"Lines will wrap at `#editor.wordWrapColumn#`."),m.localize(546,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:m.localize(547,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:Oe(new u(134,"wordWrapBreakAfterCharacters"," })]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:Oe(new u(135,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:Oe(new l(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:m.localize(548,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:Oe(new f(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:Oe(new f(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:Oe(new M),defaultColorDecorators:Oe(new g(148,"defaultColorDecorators",!1,{markdownDescription:m.localize(549,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:Oe(new pe),tabFocusMode:Oe(new g(145,"tabFocusMode",!1,{markdownDescription:m.localize(550,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:Oe(new H),wrappingInfo:Oe(new Ae),wrappingIndent:Oe(new Me),wrappingStrategy:Oe(new z)}}),define(ne[655],se([1,0,5,39,11,74,37,9,4,226]),function(oe,e,d,k,I,E,y,m,_,b){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ViewCursor=e.CursorPlurality=void 0;class p{constructor(i,s,g,c,l,a,r){this.top=i,this.left=s,this.paddingLeft=g,this.width=c,this.height=l,this.textContent=a,this.textContentClassName=r}}var n;(function(t){t[t.Single=0]="Single",t[t.MultiPrimary=1]="MultiPrimary",t[t.MultiSecondary=2]="MultiSecondary"})(n||(e.CursorPlurality=n={}));class o{constructor(i,s){this._context=i;const g=this._context.configuration.options,c=g.get(50);this._cursorStyle=g.get(28),this._lineHeight=g.get(67),this._typicalHalfwidthCharacterWidth=c.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(g.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=(0,k.createFastDomNode)(document.createElement("div")),this._domNode.setClassName(`cursor ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),(0,E.applyFontInfo)(this._domNode,c),this._domNode.setDisplay("none"),this._position=new m.Position(1,1),this._pluralityClass="",this.setPlurality(s),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(i){switch(i){default:case n.Single:this._pluralityClass="";break;case n.MultiPrimary:this._pluralityClass="cursor-primary";break;case n.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(i){const s=this._context.configuration.options,g=s.get(50);return this._cursorStyle=s.get(28),this._lineHeight=s.get(67),this._typicalHalfwidthCharacterWidth=g.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(s.get(31),this._typicalHalfwidthCharacterWidth),(0,E.applyFontInfo)(this._domNode,g),!0}onCursorPositionChanged(i,s){return s?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=i,!0}_getGraphemeAwarePosition(){const{lineNumber:i,column:s}=this._position,g=this._context.viewModel.getLineContent(i),[c,l]=I.getCharContainingOffset(g,s-1);return[new m.Position(i,c+1),g.substring(c,l)]}_prepareRender(i){let s="",g="";const[c,l]=this._getGraphemeAwarePosition();if(this._cursorStyle===y.TextEditorCursorStyle.Line||this._cursorStyle===y.TextEditorCursorStyle.LineThin){const v=i.visibleRangeForPosition(c);if(!v||v.outsideRenderedLine)return null;const w=d.getWindow(this._domNode.domNode);let S;this._cursorStyle===y.TextEditorCursorStyle.Line?(S=d.computeScreenAwareSize(w,this._lineCursorWidth>0?this._lineCursorWidth:2),S>2&&(s=l,g=this._getTokenClassName(c))):S=d.computeScreenAwareSize(w,1);let L=v.left,D=0;S>=2&&L>=1&&(D=1,L-=D);const T=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta;return new p(T,L,D,S,this._lineHeight,s,g)}const a=i.linesVisibleRangesForRange(new _.Range(c.lineNumber,c.column,c.lineNumber,c.column+l.length),!1);if(!a||a.length===0)return null;const r=a[0];if(r.outsideRenderedLine||r.ranges.length===0)return null;const u=r.ranges[0],C=l===" "?this._typicalHalfwidthCharacterWidth:u.width<1?this._typicalHalfwidthCharacterWidth:u.width;this._cursorStyle===y.TextEditorCursorStyle.Block&&(s=l,g=this._getTokenClassName(c));let f=i.getVerticalOffsetForLineNumber(c.lineNumber)-i.bigNumbersDelta,h=this._lineHeight;return(this._cursorStyle===y.TextEditorCursorStyle.Underline||this._cursorStyle===y.TextEditorCursorStyle.UnderlineThin)&&(f+=this._lineHeight-2,h=2),new p(f,u.left,0,C,h,s,g)}_getTokenClassName(i){const s=this._context.viewModel.getViewLineData(i.lineNumber),g=s.tokens.findTokenIndexAtOffset(i.column-1);return s.tokens.getClassName(g)}prepareRender(i){this._renderData=this._prepareRender(i)}render(i){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${this._pluralityClass} ${b.MOUSE_CURSOR_TEXT_CSS_CLASS_NAME} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}e.ViewCursor=o}),define(ne[261],se([1,0,16,37,165]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontInfo=e.SERIALIZED_FONT_INFO_VERSION=e.BareFontInfo=void 0;const E=d.isMacintosh?1.5:1.35,y=8;class m{static createFromValidatedSettings(p,n,o){const t=p.get(49),i=p.get(53),s=p.get(52),g=p.get(51),c=p.get(54),l=p.get(67),a=p.get(64);return m._create(t,i,s,g,c,l,a,n,o)}static _create(p,n,o,t,i,s,g,c,l){s===0?s=E*o:s<y&&(s=s*o),s=Math.round(s),s<y&&(s=y);const a=1+(l?0:I.EditorZoom.getZoomLevel()*.1);return o*=a,s*=a,i===k.EditorFontVariations.TRANSLATE&&(n==="normal"||n==="bold"?i=k.EditorFontVariations.OFF:(i=`'wght' ${parseInt(n,10)}`,n="normal")),new m({pixelRatio:c,fontFamily:p,fontWeight:n,fontSize:o,fontFeatureSettings:t,fontVariationSettings:i,lineHeight:s,letterSpacing:g})}constructor(p){this._bareFontInfoBrand=void 0,this.pixelRatio=p.pixelRatio,this.fontFamily=String(p.fontFamily),this.fontWeight=String(p.fontWeight),this.fontSize=p.fontSize,this.fontFeatureSettings=p.fontFeatureSettings,this.fontVariationSettings=p.fontVariationSettings,this.lineHeight=p.lineHeight|0,this.letterSpacing=p.letterSpacing}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){const p=k.EDITOR_FONT_DEFAULTS.fontFamily,n=m._wrapInQuotes(this.fontFamily);return p&&this.fontFamily!==p?`${n}, ${p}`:n}static _wrapInQuotes(p){return/[,"']/.test(p)?p:/[+ ]/.test(p)?`"${p}"`:p}}e.BareFontInfo=m,e.SERIALIZED_FONT_INFO_VERSION=2;class _ extends m{constructor(p,n){super(p),this._editorStylingBrand=void 0,this.version=e.SERIALIZED_FONT_INFO_VERSION,this.isTrusted=n,this.isMonospace=p.isMonospace,this.typicalHalfwidthCharacterWidth=p.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=p.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=p.canUseHalfwidthRightwardsArrow,this.spaceWidth=p.spaceWidth,this.middotWidth=p.middotWidth,this.wsmiddotWidth=p.wsmiddotWidth,this.maxDigitWidth=p.maxDigitWidth}equals(p){return this.fontFamily===p.fontFamily&&this.fontWeight===p.fontWeight&&this.fontSize===p.fontSize&&this.fontFeatureSettings===p.fontFeatureSettings&&this.fontVariationSettings===p.fontVariationSettings&&this.lineHeight===p.lineHeight&&this.letterSpacing===p.letterSpacing&&this.typicalHalfwidthCharacterWidth===p.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===p.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===p.canUseHalfwidthRightwardsArrow&&this.spaceWidth===p.spaceWidth&&this.middotWidth===p.middotWidth&&this.wsmiddotWidth===p.wsmiddotWidth&&this.maxDigitWidth===p.maxDigitWidth}}e.FontInfo=_}),define(ne[366],se([1,0,5,253,6,2,545,37,261]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.FontMeasurements=e.FontMeasurementsImpl=void 0;class b extends E.Disposable{constructor(){super(...arguments),this._cache=new Map,this._evictUntrustedReadingsTimeout=-1,this._onDidChange=this._register(new I.Emitter),this.onDidChange=this._onDidChange.event}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache.clear(),this._onDidChange.fire()}_ensureCache(o){const t=(0,d.getWindowId)(o);let i=this._cache.get(t);return i||(i=new p,this._cache.set(t,i)),i}_writeToCache(o,t,i){this._ensureCache(o).put(t,i),!i.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=o.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(o)},5e3))}_evictUntrustedReadings(o){const t=this._ensureCache(o),i=t.getValues();let s=!1;for(const g of i)g.isTrusted||(s=!0,t.remove(g));s&&this._onDidChange.fire()}readFontInfo(o,t){const i=this._ensureCache(o);if(!i.has(t)){let s=this._actualReadFontInfo(o,t);(s.typicalHalfwidthCharacterWidth<=2||s.typicalFullwidthCharacterWidth<=2||s.spaceWidth<=2||s.maxDigitWidth<=2)&&(s=new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:s.fontFamily,fontWeight:s.fontWeight,fontSize:s.fontSize,fontFeatureSettings:s.fontFeatureSettings,fontVariationSettings:s.fontVariationSettings,lineHeight:s.lineHeight,letterSpacing:s.letterSpacing,isMonospace:s.isMonospace,typicalHalfwidthCharacterWidth:Math.max(s.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(s.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:s.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(s.spaceWidth,5),middotWidth:Math.max(s.middotWidth,5),wsmiddotWidth:Math.max(s.wsmiddotWidth,5),maxDigitWidth:Math.max(s.maxDigitWidth,5)},!1)),this._writeToCache(o,t,s)}return i.get(t)}_createRequest(o,t,i,s){const g=new y.CharWidthRequest(o,t);return i.push(g),s?.push(g),g}_actualReadFontInfo(o,t){const i=[],s=[],g=this._createRequest("n",0,i,s),c=this._createRequest("\uFF4D",0,i,null),l=this._createRequest(" ",0,i,s),a=this._createRequest("0",0,i,s),r=this._createRequest("1",0,i,s),u=this._createRequest("2",0,i,s),C=this._createRequest("3",0,i,s),f=this._createRequest("4",0,i,s),h=this._createRequest("5",0,i,s),v=this._createRequest("6",0,i,s),w=this._createRequest("7",0,i,s),S=this._createRequest("8",0,i,s),L=this._createRequest("9",0,i,s),D=this._createRequest("\u2192",0,i,s),T=this._createRequest("\uFFEB",0,i,null),M=this._createRequest("\xB7",0,i,s),A=this._createRequest("\u2E31",0,i,null),P="|/-_ilm%";for(let W=0,V=P.length;W<V;W++)this._createRequest(P.charAt(W),0,i,s),this._createRequest(P.charAt(W),1,i,s),this._createRequest(P.charAt(W),2,i,s);(0,y.readCharWidths)(o,t,i);const N=Math.max(a.width,r.width,u.width,C.width,f.width,h.width,v.width,w.width,S.width,L.width);let O=t.fontFeatureSettings===m.EditorFontLigatures.OFF;const F=s[0].width;for(let W=1,V=s.length;O&&W<V;W++){const q=F-s[W].width;if(q<-.001||q>.001){O=!1;break}}let x=!0;return O&&T.width!==F&&(x=!1),T.width>D.width&&(x=!1),new _.FontInfo({pixelRatio:k.PixelRatio.getInstance(o).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:O,typicalHalfwidthCharacterWidth:g.width,typicalFullwidthCharacterWidth:c.width,canUseHalfwidthRightwardsArrow:x,spaceWidth:l.width,middotWidth:M.width,wsmiddotWidth:A.width,maxDigitWidth:N},!0)}}e.FontMeasurementsImpl=b;class p{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(o){const t=o.getId();return!!this._values[t]}get(o){const t=o.getId();return this._values[t]}put(o,t){const i=o.getId();this._keys[i]=o,this._values[i]=t}remove(o){const t=o.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(o=>this._values[o])}}e.FontMeasurements=new b}),define(ne[116],se([1,0,11,16,160]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StringBuilder=void 0,e.getPlatformTextDecoder=p,e.decodeUTF16LE=n;let E;function y(){return E||(E=new TextDecoder("UTF-16LE")),E}let m;function _(){return m||(m=new TextDecoder("UTF-16BE")),m}let b;function p(){return b||(b=k.isLittleEndian()?y():_()),b}function n(i,s,g){const c=new Uint16Array(i.buffer,s,g);return g>0&&(c[0]===65279||c[0]===65534)?o(i,s,g):y().decode(c)}function o(i,s,g){const c=[];let l=0;for(let a=0;a<g;a++){const r=I.readUInt16LE(i,s);s+=2,c[l++]=String.fromCharCode(r)}return c.join("")}class t{constructor(s){this._capacity=s|0,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return this._completedStrings!==null?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(this._bufferLength===0)return"";const s=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return p().decode(s)}_flushBuffer(){const s=this._buildBuffer();this._bufferLength=0,this._completedStrings===null?this._completedStrings=[s]:this._completedStrings[this._completedStrings.length]=s}appendCharCode(s){const g=this._capacity-this._bufferLength;g<=1&&(g===0||d.isHighSurrogate(s))&&this._flushBuffer(),this._buffer[this._bufferLength++]=s}appendASCIICharCode(s){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=s}appendString(s){const g=s.length;if(this._bufferLength+g>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=s;return}for(let c=0;c<g;c++)this._buffer[this._bufferLength++]=s.charCodeAt(c)}}e.StringBuilder=t}),define(ne[656],se([1,0,103,11,19,74,116,325,132]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DOMLineBreaksComputerFactory=void 0;const b=(0,d.createTrustedTypesPolicy)("domLineBreaksComputer",{createHTML:g=>g});class p{static create(c){return new p(new WeakRef(c))}constructor(c){this.targetWindow=c}createLineBreaksComputer(c,l,a,r,u){const C=[],f=[];return{addRequest:(h,v,w)=>{C.push(h),f.push(v)},finalize:()=>n((0,I.assertIsDefined)(this.targetWindow.deref()),C,c,l,a,r,u,f)}}}e.DOMLineBreaksComputerFactory=p;function n(g,c,l,a,r,u,C,f){function h(H){const z=f[H];if(z){const U=_.LineInjectedText.applyInjectedText(c[H],z),j=z.map(G=>G.options),Y=z.map(G=>G.column-1);return new m.ModelLineProjectionData(Y,j,[U.length],[],0)}else return null}if(r===-1){const H=[];for(let z=0,U=c.length;z<U;z++)H[z]=h(z);return H}const v=Math.round(r*l.typicalHalfwidthCharacterWidth),S=Math.round(a*(u===3?2:u===2?1:0)),L=Math.ceil(l.spaceWidth*S),D=document.createElement("div");(0,E.applyFontInfo)(D,l);const T=new y.StringBuilder(1e4),M=[],A=[],P=[],N=[],O=[];for(let H=0;H<c.length;H++){const z=_.LineInjectedText.applyInjectedText(c[H],f[H]);let U=0,j=0,Y=v;if(u!==0)if(U=k.firstNonWhitespaceIndex(z),U===-1)U=0;else{for(let J=0;J<U;J++){const ie=z.charCodeAt(J)===9?a-j%a:1;j+=ie}const R=Math.ceil(l.spaceWidth*j);R+l.typicalFullwidthCharacterWidth>v?(U=0,j=0):Y=v-R}const G=z.substr(U),K=o(G,j,a,Y,T,L);M[H]=U,A[H]=j,P[H]=G,N[H]=K[0],O[H]=K[1]}const F=T.build(),x=b?.createHTML(F)??F;D.innerHTML=x,D.style.position="absolute",D.style.top="10000",C==="keepAll"?(D.style.wordBreak="keep-all",D.style.overflowWrap="anywhere"):(D.style.wordBreak="inherit",D.style.overflowWrap="break-word"),g.document.body.appendChild(D);const W=document.createRange(),V=Array.prototype.slice.call(D.children,0),q=[];for(let H=0;H<c.length;H++){const z=V[H],U=t(W,z,P[H],N[H]);if(U===null){q[H]=h(H);continue}const j=M[H],Y=A[H]+S,G=O[H],K=[];for(let ue=0,he=U.length;ue<he;ue++)K[ue]=G[U[ue]];if(j!==0)for(let ue=0,he=U.length;ue<he;ue++)U[ue]+=j;let R,J;const ie=f[H];ie?(R=ie.map(ue=>ue.options),J=ie.map(ue=>ue.column-1)):(R=null,J=null),q[H]=new m.ModelLineProjectionData(J,R,U,K,Y)}return D.remove(),q}function o(g,c,l,a,r,u){if(u!==0){const L=String(u);r.appendString('<div style="text-indent: -'),r.appendString(L),r.appendString("px; padding-left: "),r.appendString(L),r.appendString("px; box-sizing: border-box; width:")}else r.appendString('<div style="width:');r.appendString(String(a)),r.appendString('px;">');const C=g.length;let f=c,h=0;const v=[],w=[];let S=0<C?g.charCodeAt(0):0;r.appendString("<span>");for(let L=0;L<C;L++){L!==0&&L%16384===0&&r.appendString("</span><span>"),v[L]=h,w[L]=f;const D=S;S=L+1<C?g.charCodeAt(L+1):0;let T=1,M=1;switch(D){case 9:T=l-f%l,M=T;for(let A=1;A<=T;A++)A<T?r.appendCharCode(160):r.appendASCIICharCode(32);break;case 32:S===32?r.appendCharCode(160):r.appendASCIICharCode(32);break;case 60:r.appendString("&lt;");break;case 62:r.appendString("&gt;");break;case 38:r.appendString("&amp;");break;case 0:r.appendString("&#00;");break;case 65279:case 8232:case 8233:case 133:r.appendCharCode(65533);break;default:k.isFullWidthCharacter(D)&&M++,D<32?r.appendCharCode(9216+D):r.appendCharCode(D)}h+=T,f+=M}return r.appendString("</span>"),v[g.length]=h,w[g.length]=f,r.appendString("</div>"),[v,w]}function t(g,c,l,a){if(l.length<=1)return null;const r=Array.prototype.slice.call(c.children,0),u=[];try{i(g,r,a,0,null,l.length-1,null,u)}catch(C){return console.log(C),null}return u.length===0?null:(u.push(l.length),u)}function i(g,c,l,a,r,u,C,f){if(a===u||(r=r||s(g,c,l[a],l[a+1]),C=C||s(g,c,l[u],l[u+1]),Math.abs(r[0].top-C[0].top)<=.1))return;if(a+1===u){f.push(u);return}const h=a+(u-a)/2|0,v=s(g,c,l[h],l[h+1]);i(g,c,l,a,r,h,v,f),i(g,c,l,h,v,u,C,f)}function s(g,c,l,a){return g.setStart(c[l/16384|0].firstChild,l%16384),g.setEnd(c[a/16384|0].firstChild,a%16384),g.getClientRects()}}),define(ne[262],se([1,0,39,103,8,116]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.VisibleLinesCollection=e.RenderedLinesCollection=void 0;class y{constructor(p){this._lineFactory=p,this._set(1,[])}flush(){this._set(1,[])}_set(p,n){this._lines=n,this._rendLineNumberStart=p}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(p){const n=p-this._rendLineNumberStart;if(n<0||n>=this._lines.length)throw new I.BugIndicatingError("Illegal value for lineNumber");return this._lines[n]}onLinesDeleted(p,n){if(this.getCount()===0)return null;const o=this.getStartLineNumber(),t=this.getEndLineNumber();if(n<o){const c=n-p+1;return this._rendLineNumberStart-=c,null}if(p>t)return null;let i=0,s=0;for(let c=o;c<=t;c++){const l=c-this._rendLineNumberStart;p<=c&&c<=n&&(s===0?(i=l,s=1):s++)}if(p<o){let c=0;n<o?c=n-p+1:c=o-p,this._rendLineNumberStart-=c}return this._lines.splice(i,s)}onLinesChanged(p,n){const o=p+n-1;if(this.getCount()===0)return!1;const t=this.getStartLineNumber(),i=this.getEndLineNumber();let s=!1;for(let g=p;g<=o;g++)g>=t&&g<=i&&(this._lines[g-this._rendLineNumberStart].onContentChanged(),s=!0);return s}onLinesInserted(p,n){if(this.getCount()===0)return null;const o=n-p+1,t=this.getStartLineNumber(),i=this.getEndLineNumber();if(p<=t)return this._rendLineNumberStart+=o,null;if(p>i)return null;if(o+p>i)return this._lines.splice(p-this._rendLineNumberStart,i-p+1);const s=[];for(let r=0;r<o;r++)s[r]=this._lineFactory.createLine();const g=p-this._rendLineNumberStart,c=this._lines.slice(0,g),l=this._lines.slice(g,this._lines.length-o),a=this._lines.slice(this._lines.length-o,this._lines.length);return this._lines=c.concat(s).concat(l),a}onTokensChanged(p){if(this.getCount()===0)return!1;const n=this.getStartLineNumber(),o=this.getEndLineNumber();let t=!1;for(let i=0,s=p.length;i<s;i++){const g=p[i];if(g.toLineNumber<n||g.fromLineNumber>o)continue;const c=Math.max(n,g.fromLineNumber),l=Math.min(o,g.toLineNumber);for(let a=c;a<=l;a++){const r=a-this._rendLineNumberStart;this._lines[r].onTokensChanged(),t=!0}}return t}}e.RenderedLinesCollection=y;class m{constructor(p){this._lineFactory=p,this.domNode=this._createDomNode(),this._linesCollection=new y(this._lineFactory)}_createDomNode(){const p=(0,d.createFastDomNode)(document.createElement("div"));return p.setClassName("view-layer"),p.setPosition("absolute"),p.domNode.setAttribute("role","presentation"),p.domNode.setAttribute("aria-hidden","true"),p}onConfigurationChanged(p){return!!p.hasChanged(146)}onFlushed(p){return this._linesCollection.flush(),!0}onLinesChanged(p){return this._linesCollection.onLinesChanged(p.fromLineNumber,p.count)}onLinesDeleted(p){const n=this._linesCollection.onLinesDeleted(p.fromLineNumber,p.toLineNumber);if(n)for(let o=0,t=n.length;o<t;o++)n[o].getDomNode()?.remove();return!0}onLinesInserted(p){const n=this._linesCollection.onLinesInserted(p.fromLineNumber,p.toLineNumber);if(n)for(let o=0,t=n.length;o<t;o++)n[o].getDomNode()?.remove();return!0}onScrollChanged(p){return p.scrollTopChanged}onTokensChanged(p){return this._linesCollection.onTokensChanged(p.ranges)}onZonesChanged(p){return!0}getStartLineNumber(){return this._linesCollection.getStartLineNumber()}getEndLineNumber(){return this._linesCollection.getEndLineNumber()}getVisibleLine(p){return this._linesCollection.getLine(p)}renderLines(p){const n=this._linesCollection._get(),o=new _(this.domNode.domNode,this._lineFactory,p),t={rendLineNumberStart:n.rendLineNumberStart,lines:n.lines,linesLength:n.lines.length},i=o.render(t,p.startLineNumber,p.endLineNumber,p.relativeVerticalOffset);this._linesCollection._set(i.rendLineNumberStart,i.lines)}}e.VisibleLinesCollection=m;class _{static{this._ttPolicy=(0,k.createTrustedTypesPolicy)("editorViewLayer",{createHTML:p=>p})}constructor(p,n,o){this._domNode=p,this._lineFactory=n,this._viewportData=o}render(p,n,o,t){const i={rendLineNumberStart:p.rendLineNumberStart,lines:p.lines.slice(0),linesLength:p.linesLength};if(i.rendLineNumberStart+i.linesLength-1<n||o<i.rendLineNumberStart){i.rendLineNumberStart=n,i.linesLength=o-n+1,i.lines=[];for(let s=n;s<=o;s++)i.lines[s-n]=this._lineFactory.createLine();return this._finishRendering(i,!0,t),i}if(this._renderUntouchedLines(i,Math.max(n-i.rendLineNumberStart,0),Math.min(o-i.rendLineNumberStart,i.linesLength-1),t,n),i.rendLineNumberStart>n){const s=n,g=Math.min(o,i.rendLineNumberStart-1);s<=g&&(this._insertLinesBefore(i,s,g,t,n),i.linesLength+=g-s+1)}else if(i.rendLineNumberStart<n){const s=Math.min(i.linesLength,n-i.rendLineNumberStart);s>0&&(this._removeLinesBefore(i,s),i.linesLength-=s)}if(i.rendLineNumberStart=n,i.rendLineNumberStart+i.linesLength-1<o){const s=i.rendLineNumberStart+i.linesLength,g=o;s<=g&&(this._insertLinesAfter(i,s,g,t,n),i.linesLength+=g-s+1)}else if(i.rendLineNumberStart+i.linesLength-1>o){const s=Math.max(0,o-i.rendLineNumberStart+1),c=i.linesLength-1-s+1;c>0&&(this._removeLinesAfter(i,c),i.linesLength-=c)}return this._finishRendering(i,!1,t),i}_renderUntouchedLines(p,n,o,t,i){const s=p.rendLineNumberStart,g=p.lines;for(let c=n;c<=o;c++){const l=s+c;g[c].layoutLine(l,t[l-i],this._viewportData.lineHeight)}}_insertLinesBefore(p,n,o,t,i){const s=[];let g=0;for(let c=n;c<=o;c++)s[g++]=this._lineFactory.createLine();p.lines=s.concat(p.lines)}_removeLinesBefore(p,n){for(let o=0;o<n;o++)p.lines[o].getDomNode()?.remove();p.lines.splice(0,n)}_insertLinesAfter(p,n,o,t,i){const s=[];let g=0;for(let c=n;c<=o;c++)s[g++]=this._lineFactory.createLine();p.lines=p.lines.concat(s)}_removeLinesAfter(p,n){const o=p.linesLength-n;for(let t=0;t<n;t++)p.lines[o+t].getDomNode()?.remove();p.lines.splice(o,n)}_finishRenderingNewLines(p,n,o,t){_._ttPolicy&&(o=_._ttPolicy.createHTML(o));const i=this._domNode.lastChild;n||!i?this._domNode.innerHTML=o:i.insertAdjacentHTML("afterend",o);let s=this._domNode.lastChild;for(let g=p.linesLength-1;g>=0;g--){const c=p.lines[g];t[g]&&(c.setDomNode(s),s=s.previousSibling)}}_finishRenderingInvalidLines(p,n,o){const t=document.createElement("div");_._ttPolicy&&(n=_._ttPolicy.createHTML(n)),t.innerHTML=n;for(let i=0;i<p.linesLength;i++){const s=p.lines[i];if(o[i]){const g=t.firstChild,c=s.getDomNode();c.parentNode.replaceChild(g,c),s.setDomNode(g)}}}static{this._sb=new E.StringBuilder(1e5)}_finishRendering(p,n,o){const t=_._sb,i=p.linesLength,s=p.lines,g=p.rendLineNumberStart,c=[];{t.reset();let l=!1;for(let a=0;a<i;a++){const r=s[a];c[a]=!1,!(r.getDomNode()||!r.renderLine(a+g,o[a],this._viewportData.lineHeight,this._viewportData,t))&&(c[a]=!0,l=!0)}l&&this._finishRenderingNewLines(p,n,t.build(),c)}{t.reset();let l=!1;const a=[];for(let r=0;r<i;r++){const u=s[r];a[r]=!1,!(c[r]||!u.renderLine(r+g,o[r],this._viewportData.lineHeight,this._viewportData,t))&&(a[r]=!0,l=!0)}l&&this._finishRenderingInvalidLines(p,t.build(),a)}}}}),define(ne[657],se([1,0,39,74,262,56]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarginViewOverlays=e.ContentViewOverlays=e.ViewOverlayLine=e.ViewOverlays=void 0;class y extends E.ViewPart{constructor(n){super(n),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new I.VisibleLinesCollection({createLine:()=>new m(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const t=this._context.configuration.options.get(50);(0,k.applyFontInfo)(this.domNode,t),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let n=0,o=this._dynamicOverlays.length;n<o;n++)if(this._dynamicOverlays[n].shouldRender())return!0;return!1}dispose(){super.dispose();for(let n=0,o=this._dynamicOverlays.length;n<o;n++)this._dynamicOverlays[n].dispose();this._dynamicOverlays=[]}getDomNode(){return this.domNode}addDynamicOverlay(n){this._dynamicOverlays.push(n)}onConfigurationChanged(n){this._visibleLines.onConfigurationChanged(n);const t=this._context.configuration.options.get(50);return(0,k.applyFontInfo)(this.domNode,t),!0}onFlushed(n){return this._visibleLines.onFlushed(n)}onFocusChanged(n){return this._isFocused=n.isFocused,!0}onLinesChanged(n){return this._visibleLines.onLinesChanged(n)}onLinesDeleted(n){return this._visibleLines.onLinesDeleted(n)}onLinesInserted(n){return this._visibleLines.onLinesInserted(n)}onScrollChanged(n){return this._visibleLines.onScrollChanged(n)||!0}onTokensChanged(n){return this._visibleLines.onTokensChanged(n)}onZonesChanged(n){return this._visibleLines.onZonesChanged(n)}prepareRender(n){const o=this._dynamicOverlays.filter(t=>t.shouldRender());for(let t=0,i=o.length;t<i;t++){const s=o[t];s.prepareRender(n),s.onDidRender()}}render(n){this._viewOverlaysRender(n),this.domNode.toggleClassName("focused",this._isFocused)}_viewOverlaysRender(n){this._visibleLines.renderLines(n.viewportData)}}e.ViewOverlays=y;class m{constructor(n){this._dynamicOverlays=n,this._domNode=null,this._renderedContent=null}getDomNode(){return this._domNode?this._domNode.domNode:null}setDomNode(n){this._domNode=(0,d.createFastDomNode)(n)}onContentChanged(){}onTokensChanged(){}renderLine(n,o,t,i,s){let g="";for(let c=0,l=this._dynamicOverlays.length;c<l;c++){const a=this._dynamicOverlays[c];g+=a.render(i.startLineNumber,n)}return this._renderedContent===g?!1:(this._renderedContent=g,s.appendString('<div style="top:'),s.appendString(String(o)),s.appendString("px;height:"),s.appendString(String(t)),s.appendString('px;">'),s.appendString(g),s.appendString("</div>"),!0)}layoutLine(n,o,t){this._domNode&&(this._domNode.setTop(o),this._domNode.setHeight(t))}}e.ViewOverlayLine=m;class _ extends y{constructor(n){super(n);const t=this._context.configuration.options.get(146);this._contentWidth=t.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(n){const t=this._context.configuration.options.get(146);return this._contentWidth=t.contentWidth,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollWidthChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n),this.domNode.setWidth(Math.max(n.scrollWidth,this._contentWidth))}}e.ContentViewOverlays=_;class b extends y{constructor(n){super(n);const o=this._context.configuration.options,t=o.get(146);this._contentLeft=t.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),(0,k.applyFontInfo)(this.domNode,o.get(50))}onConfigurationChanged(n){const o=this._context.configuration.options;(0,k.applyFontInfo)(this.domNode,o.get(50));const t=o.get(146);return this._contentLeft=t.contentLeft,super.onConfigurationChanged(n)||!0}onScrollChanged(n){return super.onScrollChanged(n)||n.scrollHeightChanged}_viewOverlaysRender(n){super._viewOverlaysRender(n);const o=Math.min(n.scrollHeight,1e6);this.domNode.setHeight(o),this.domNode.setWidth(this._contentLeft)}}e.MarginViewOverlays=b}),define(ne[367],se([1,0,160,116]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TextChange=void 0,e.compressConsecutiveTextChanges=y;function I(_){return _.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class E{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(b,p,n,o){this.oldPosition=b,this.oldText=p,this.newPosition=n,this.newText=o}toString(){return this.oldText.length===0?`(insert@${this.oldPosition} "${I(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${I(this.oldText)}")`:`(replace@${this.oldPosition} "${I(this.oldText)}" with "${I(this.newText)}")`}static _writeStringSize(b){return 4+2*b.length}static _writeString(b,p,n){const o=p.length;d.writeUInt32BE(b,o,n),n+=4;for(let t=0;t<o;t++)d.writeUInt16LE(b,p.charCodeAt(t),n),n+=2;return n}static _readString(b,p){const n=d.readUInt32BE(b,p);return p+=4,(0,k.decodeUTF16LE)(b,p,n)}writeSize(){return 8+E._writeStringSize(this.oldText)+E._writeStringSize(this.newText)}write(b,p){return d.writeUInt32BE(b,this.oldPosition,p),p+=4,d.writeUInt32BE(b,this.newPosition,p),p+=4,p=E._writeString(b,this.oldText,p),p=E._writeString(b,this.newText,p),p}static read(b,p,n){const o=d.readUInt32BE(b,p);p+=4;const t=d.readUInt32BE(b,p);p+=4;const i=E._readString(b,p);p+=E._writeStringSize(i);const s=E._readString(b,p);return p+=E._writeStringSize(s),n.push(new E(o,i,t,s)),p}}e.TextChange=E;function y(_,b){return _===null||_.length===0?b:new m(_,b).compress()}class m{constructor(b,p){this._prevEdits=b,this._currEdits=p,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let b=0,p=0,n=this._getPrev(b),o=this._getCurr(p);for(;b<this._prevLen||p<this._currLen;){if(n===null){this._acceptCurr(o),o=this._getCurr(++p);continue}if(o===null){this._acceptPrev(n),n=this._getPrev(++b);continue}if(o.oldEnd<=n.newPosition){this._acceptCurr(o),o=this._getCurr(++p);continue}if(n.newEnd<=o.oldPosition){this._acceptPrev(n),n=this._getPrev(++b);continue}if(o.oldPosition<n.newPosition){const[c,l]=m._splitCurr(o,n.newPosition-o.oldPosition);this._acceptCurr(c),o=l;continue}if(n.newPosition<o.oldPosition){const[c,l]=m._splitPrev(n,o.oldPosition-n.newPosition);this._acceptPrev(c),n=l;continue}let s,g;if(o.oldEnd===n.newEnd)s=n,g=o,n=this._getPrev(++b),o=this._getCurr(++p);else if(o.oldEnd<n.newEnd){const[c,l]=m._splitPrev(n,o.oldLength);s=c,g=o,n=l,o=this._getCurr(++p)}else{const[c,l]=m._splitCurr(o,n.newLength);s=n,g=c,n=this._getPrev(++b),o=l}this._result[this._resultLen++]=new E(s.oldPosition,s.oldText,g.newPosition,g.newText),this._prevDeltaOffset+=s.newLength-s.oldLength,this._currDeltaOffset+=g.newLength-g.oldLength}const t=m._merge(this._result);return m._removeNoOps(t)}_acceptCurr(b){this._result[this._resultLen++]=m._rebaseCurr(this._prevDeltaOffset,b),this._currDeltaOffset+=b.newLength-b.oldLength}_getCurr(b){return b<this._currLen?this._currEdits[b]:null}_acceptPrev(b){this._result[this._resultLen++]=m._rebasePrev(this._currDeltaOffset,b),this._prevDeltaOffset+=b.newLength-b.oldLength}_getPrev(b){return b<this._prevLen?this._prevEdits[b]:null}static _rebaseCurr(b,p){return new E(p.oldPosition-b,p.oldText,p.newPosition,p.newText)}static _rebasePrev(b,p){return new E(p.oldPosition,p.oldText,p.newPosition+b,p.newText)}static _splitPrev(b,p){const n=b.newText.substr(0,p),o=b.newText.substr(p);return[new E(b.oldPosition,b.oldText,b.newPosition,n),new E(b.oldEnd,"",b.newPosition+p,o)]}static _splitCurr(b,p){const n=b.oldText.substr(0,p),o=b.oldText.substr(p);return[new E(b.oldPosition,n,b.newPosition,b.newText),new E(b.oldPosition+p,o,b.newEnd,"")]}static _merge(b){if(b.length===0)return b;const p=[];let n=0,o=b[0];for(let t=1;t<b.length;t++){const i=b[t];o.oldEnd===i.oldPosition?o=new E(o.oldPosition,o.oldText+i.oldText,o.newPosition,o.newText+i.newText):(p[n++]=o,o=i)}return p[n++]=o,p}static _removeNoOps(b){if(b.length===0)return b;const p=[];let n=0;for(let o=0;o<b.length;o++){const t=b[o];t.oldText!==t.newText&&(p[n++]=t)}return p}}}),define(ne[368],se([1,0,350,99]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.score=I;function I(E,y,m,_,b,p){if(Array.isArray(E)){let n=0;for(const o of E){const t=I(o,y,m,_,b,p);if(t===10)return t;t>n&&(n=t)}return n}else{if(typeof E=="string")return _?E==="*"?5:E===m?10:0:0;if(E){const{language:n,pattern:o,scheme:t,hasAccessToAllModels:i,notebookType:s}=E;if(!_&&!i)return 0;s&&b&&(y=b);let g=0;if(t)if(t===y.scheme)g=10;else if(t==="*")g=5;else return 0;if(n)if(n===m)g=10;else if(n==="*")g=Math.max(g,5);else return 0;if(s)if(s===p)g=10;else if(s==="*"&&p!==void 0)g=Math.max(g,5);else return 0;if(o){let c;if(typeof o=="string"?c=o:c={...o,base:(0,k.normalize)(o.base)},c===y.fsPath||(0,d.match)(c,y.fsPath))g=10;else return 0}return g}else return 0}}}),define(ne[658],se([1,0,6,2,40,368]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.LanguageFeatureRegistry=void 0;function y(p){return typeof p=="string"?!1:Array.isArray(p)?p.every(y):!!p.exclusive}class m{constructor(n,o,t,i,s){this.uri=n,this.languageId=o,this.notebookUri=t,this.notebookType=i,this.recursive=s}equals(n){return this.notebookType===n.notebookType&&this.languageId===n.languageId&&this.uri.toString()===n.uri.toString()&&this.notebookUri?.toString()===n.notebookUri?.toString()&&this.recursive===n.recursive}}class _{constructor(n){this._notebookInfoResolver=n,this._clock=0,this._entries=[],this._onDidChange=new d.Emitter,this.onDidChange=this._onDidChange.event}register(n,o){let t={selector:n,provider:o,_score:-1,_time:this._clock++};return this._entries.push(t),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),(0,k.toDisposable)(()=>{if(t){const i=this._entries.indexOf(t);i>=0&&(this._entries.splice(i,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),t=void 0)}})}has(n){return this.all(n).length>0}all(n){if(!n)return[];this._updateScores(n,!1);const o=[];for(const t of this._entries)t._score>0&&o.push(t.provider);return o}ordered(n,o=!1){const t=[];return this._orderedForEach(n,o,i=>t.push(i.provider)),t}orderedGroups(n){const o=[];let t,i;return this._orderedForEach(n,!1,s=>{t&&i===s._score?t.push(s.provider):(i=s._score,t=[s.provider],o.push(t))}),o}_orderedForEach(n,o,t){this._updateScores(n,o);for(const i of this._entries)i._score>0&&t(i)}_updateScores(n,o){const t=this._notebookInfoResolver?.(n.uri),i=t?new m(n.uri,n.getLanguageId(),t.uri,t.type,o):new m(n.uri,n.getLanguageId(),void 0,void 0,o);if(!this._lastCandidate?.equals(i)){this._lastCandidate=i;for(const s of this._entries)if(s._score=(0,E.score)(s.selector,i.uri,i.languageId,(0,I.shouldSynchronizeModel)(n),i.notebookUri,i.notebookType),y(s.selector)&&s._score>0)if(o)s._score=0;else{for(const g of this._entries)g._score=0;s._score=1e3;break}this._entries.sort(_._compareByScoreAndTime)}}static _compareByScoreAndTime(n,o){return n._score<o._score?1:n._score>o._score?-1:b(n.selector)&&!b(o.selector)?1:!b(n.selector)&&b(o.selector)?-1:n._time<o._time?1:n._time>o._time?-1:0}}e.LanguageFeatureRegistry=_;function b(p){return typeof p=="string"?!1:Array.isArray(p)?p.some(b):!!p.isBuiltin}}),define(ne[27],se([1,0,26,22,4,585,3]),function(oe,e,d,k,I,E,y){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.InlineEditTriggerKind=e.TreeSitterTokenizationRegistry=e.TokenizationRegistry=e.LazyTokenizationSupport=e.InlayHintKind=e.Command=e.NewSymbolNameTriggerKind=e.NewSymbolNameTag=e.FoldingRangeKind=e.TextEdit=e.SymbolKinds=e.symbolKindNames=e.DocumentHighlightKind=e.SignatureHelpTriggerKind=e.DocumentPasteTriggerKind=e.SelectedSuggestionInfo=e.InlineCompletionTriggerKind=e.CompletionItemKinds=e.HoverVerbosityAction=e.EncodedTokenizationResult=e.TokenizationResult=e.Token=void 0,e.isLocationLink=c,e.getAriaLabelForSymbol=l;class m{constructor(D,T,M){this.offset=D,this.type=T,this.language=M,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}}e.Token=m;class _{constructor(D,T){this.tokens=D,this.endState=T,this._tokenizationResultBrand=void 0}}e.TokenizationResult=_;class b{constructor(D,T){this.tokens=D,this.endState=T,this._encodedTokenizationResultBrand=void 0}}e.EncodedTokenizationResult=b;var p;(function(L){L[L.Increase=0]="Increase",L[L.Decrease=1]="Decrease"})(p||(e.HoverVerbosityAction=p={}));var n;(function(L){const D=new Map;D.set(0,d.Codicon.symbolMethod),D.set(1,d.Codicon.symbolFunction),D.set(2,d.Codicon.symbolConstructor),D.set(3,d.Codicon.symbolField),D.set(4,d.Codicon.symbolVariable),D.set(5,d.Codicon.symbolClass),D.set(6,d.Codicon.symbolStruct),D.set(7,d.Codicon.symbolInterface),D.set(8,d.Codicon.symbolModule),D.set(9,d.Codicon.symbolProperty),D.set(10,d.Codicon.symbolEvent),D.set(11,d.Codicon.symbolOperator),D.set(12,d.Codicon.symbolUnit),D.set(13,d.Codicon.symbolValue),D.set(15,d.Codicon.symbolEnum),D.set(14,d.Codicon.symbolConstant),D.set(15,d.Codicon.symbolEnum),D.set(16,d.Codicon.symbolEnumMember),D.set(17,d.Codicon.symbolKeyword),D.set(27,d.Codicon.symbolSnippet),D.set(18,d.Codicon.symbolText),D.set(19,d.Codicon.symbolColor),D.set(20,d.Codicon.symbolFile),D.set(21,d.Codicon.symbolReference),D.set(22,d.Codicon.symbolCustomColor),D.set(23,d.Codicon.symbolFolder),D.set(24,d.Codicon.symbolTypeParameter),D.set(25,d.Codicon.account),D.set(26,d.Codicon.issues);function T(P){let N=D.get(P);return N||(console.info("No codicon found for CompletionItemKind "+P),N=d.Codicon.symbolProperty),N}L.toIcon=T;const M=new Map;M.set("method",0),M.set("function",1),M.set("constructor",2),M.set("field",3),M.set("variable",4),M.set("class",5),M.set("struct",6),M.set("interface",7),M.set("module",8),M.set("property",9),M.set("event",10),M.set("operator",11),M.set("unit",12),M.set("value",13),M.set("constant",14),M.set("enum",15),M.set("enum-member",16),M.set("enumMember",16),M.set("keyword",17),M.set("snippet",27),M.set("text",18),M.set("color",19),M.set("file",20),M.set("reference",21),M.set("customcolor",22),M.set("folder",23),M.set("type-parameter",24),M.set("typeParameter",24),M.set("account",25),M.set("issue",26);function A(P,N){let O=M.get(P);return typeof O>"u"&&!N&&(O=9),O}L.fromString=A})(n||(e.CompletionItemKinds=n={}));var o;(function(L){L[L.Automatic=0]="Automatic",L[L.Explicit=1]="Explicit"})(o||(e.InlineCompletionTriggerKind=o={}));class t{constructor(D,T,M,A){this.range=D,this.text=T,this.completionKind=M,this.isSnippetText=A}equals(D){return I.Range.lift(this.range).equalsRange(D.range)&&this.text===D.text&&this.completionKind===D.completionKind&&this.isSnippetText===D.isSnippetText}}e.SelectedSuggestionInfo=t;var i;(function(L){L[L.Automatic=0]="Automatic",L[L.PasteAs=1]="PasteAs"})(i||(e.DocumentPasteTriggerKind=i={}));var s;(function(L){L[L.Invoke=1]="Invoke",L[L.TriggerCharacter=2]="TriggerCharacter",L[L.ContentChange=3]="ContentChange"})(s||(e.SignatureHelpTriggerKind=s={}));var g;(function(L){L[L.Text=0]="Text",L[L.Read=1]="Read",L[L.Write=2]="Write"})(g||(e.DocumentHighlightKind=g={}));function c(L){return L&&k.URI.isUri(L.uri)&&I.Range.isIRange(L.range)&&(I.Range.isIRange(L.originSelectionRange)||I.Range.isIRange(L.targetSelectionRange))}e.symbolKindNames={17:(0,y.localize)(669,"array"),16:(0,y.localize)(670,"boolean"),4:(0,y.localize)(671,"class"),13:(0,y.localize)(672,"constant"),8:(0,y.localize)(673,"constructor"),9:(0,y.localize)(674,"enumeration"),21:(0,y.localize)(675,"enumeration member"),23:(0,y.localize)(676,"event"),7:(0,y.localize)(677,"field"),0:(0,y.localize)(678,"file"),11:(0,y.localize)(679,"function"),10:(0,y.localize)(680,"interface"),19:(0,y.localize)(681,"key"),5:(0,y.localize)(682,"method"),1:(0,y.localize)(683,"module"),2:(0,y.localize)(684,"namespace"),20:(0,y.localize)(685,"null"),15:(0,y.localize)(686,"number"),18:(0,y.localize)(687,"object"),24:(0,y.localize)(688,"operator"),3:(0,y.localize)(689,"package"),6:(0,y.localize)(690,"property"),14:(0,y.localize)(691,"string"),22:(0,y.localize)(692,"struct"),25:(0,y.localize)(693,"type parameter"),12:(0,y.localize)(694,"variable")};function l(L,D){return(0,y.localize)(695,"{0} ({1})",L,e.symbolKindNames[D])}var a;(function(L){const D=new Map;D.set(0,d.Codicon.symbolFile),D.set(1,d.Codicon.symbolModule),D.set(2,d.Codicon.symbolNamespace),D.set(3,d.Codicon.symbolPackage),D.set(4,d.Codicon.symbolClass),D.set(5,d.Codicon.symbolMethod),D.set(6,d.Codicon.symbolProperty),D.set(7,d.Codicon.symbolField),D.set(8,d.Codicon.symbolConstructor),D.set(9,d.Codicon.symbolEnum),D.set(10,d.Codicon.symbolInterface),D.set(11,d.Codicon.symbolFunction),D.set(12,d.Codicon.symbolVariable),D.set(13,d.Codicon.symbolConstant),D.set(14,d.Codicon.symbolString),D.set(15,d.Codicon.symbolNumber),D.set(16,d.Codicon.symbolBoolean),D.set(17,d.Codicon.symbolArray),D.set(18,d.Codicon.symbolObject),D.set(19,d.Codicon.symbolKey),D.set(20,d.Codicon.symbolNull),D.set(21,d.Codicon.symbolEnumMember),D.set(22,d.Codicon.symbolStruct),D.set(23,d.Codicon.symbolEvent),D.set(24,d.Codicon.symbolOperator),D.set(25,d.Codicon.symbolTypeParameter);function T(M){let A=D.get(M);return A||(console.info("No codicon found for SymbolKind "+M),A=d.Codicon.symbolProperty),A}L.toIcon=T})(a||(e.SymbolKinds=a={}));class r{}e.TextEdit=r;class u{static{this.Comment=new u("comment")}static{this.Imports=new u("imports")}static{this.Region=new u("region")}static fromValue(D){switch(D){case"comment":return u.Comment;case"imports":return u.Imports;case"region":return u.Region}return new u(D)}constructor(D){this.value=D}}e.FoldingRangeKind=u;var C;(function(L){L[L.AIGenerated=1]="AIGenerated"})(C||(e.NewSymbolNameTag=C={}));var f;(function(L){L[L.Invoke=0]="Invoke",L[L.Automatic=1]="Automatic"})(f||(e.NewSymbolNameTriggerKind=f={}));var h;(function(L){function D(T){return!T||typeof T!="object"?!1:typeof T.id=="string"&&typeof T.title=="string"}L.is=D})(h||(e.Command=h={}));var v;(function(L){L[L.Type=1]="Type",L[L.Parameter=2]="Parameter"})(v||(e.InlayHintKind=v={}));class w{constructor(D){this.createSupport=D,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(D=>{D&&D.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}e.LazyTokenizationSupport=w,e.TokenizationRegistry=new E.TokenizationRegistry,e.TreeSitterTokenizationRegistry=new E.TokenizationRegistry;var S;(function(L){L[L.Invoke=0]="Invoke",L[L.Automatic=1]="Automatic"})(S||(e.InlineEditTriggerKind=S={}))}),define(ne[177],se([1,0,27]),function(oe,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.NullState=void 0,e.nullTokenize=k,e.nullTokenizeEncoded=I,e.NullState=new class{clone(){return this}equals(E){return this===E}};function k(E,y){return new d.TokenizationResult([new d.Token(0,"",E)],y)}function I(E,y){const m=new Uint32Array(2);return m[0]=0,m[1]=(E<<0|0|0|32768|2<<24)>>>0,new d.EncodedTokenizationResult(m,y===null?e.NullState:y)}}),define(ne[208],se([1,0,11,116,4]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketsUtils=e.RichEditBrackets=e.RichEditBracket=void 0,e.createBracketOrRegExp=g;class E{constructor(r,u,C,f,h,v){this._richEditBracketBrand=void 0,this.languageId=r,this.index=u,this.open=C,this.close=f,this.forwardRegex=h,this.reversedRegex=v,this._openSet=E._toSet(this.open),this._closeSet=E._toSet(this.close)}isOpen(r){return this._openSet.has(r)}isClose(r){return this._closeSet.has(r)}static _toSet(r){const u=new Set;for(const C of r)u.add(C);return u}}e.RichEditBracket=E;function y(a){const r=a.length;a=a.map(v=>[v[0].toLowerCase(),v[1].toLowerCase()]);const u=[];for(let v=0;v<r;v++)u[v]=v;const C=(v,w)=>{const[S,L]=v,[D,T]=w;return S===D||S===T||L===D||L===T},f=(v,w)=>{const S=Math.min(v,w),L=Math.max(v,w);for(let D=0;D<r;D++)u[D]===L&&(u[D]=S)};for(let v=0;v<r;v++){const w=a[v];for(let S=v+1;S<r;S++){const L=a[S];C(w,L)&&f(u[v],u[S])}}const h=[];for(let v=0;v<r;v++){const w=[],S=[];for(let L=0;L<r;L++)if(u[L]===v){const[D,T]=a[L];w.push(D),S.push(T)}w.length>0&&h.push({open:w,close:S})}return h}class m{constructor(r,u){this._richEditBracketsBrand=void 0;const C=y(u);this.brackets=C.map((f,h)=>new E(r,h,f.open,f.close,n(f.open,f.close,C,h),o(f.open,f.close,C,h))),this.forwardRegex=t(this.brackets),this.reversedRegex=i(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const f of this.brackets){for(const h of f.open)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,h.length);for(const h of f.close)this.textIsBracket[h]=f,this.textIsOpenBracket[h]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,h.length)}}}e.RichEditBrackets=m;function _(a,r,u,C){for(let f=0,h=r.length;f<h;f++){if(f===u)continue;const v=r[f];for(const w of v.open)w.indexOf(a)>=0&&C.push(w);for(const w of v.close)w.indexOf(a)>=0&&C.push(w)}}function b(a,r){return a.length-r.length}function p(a){if(a.length<=1)return a;const r=[],u=new Set;for(const C of a)u.has(C)||(r.push(C),u.add(C));return r}function n(a,r,u,C){let f=[];f=f.concat(a),f=f.concat(r);for(let h=0,v=f.length;h<v;h++)_(f[h],u,C,f);return f=p(f),f.sort(b),f.reverse(),g(f)}function o(a,r,u,C){let f=[];f=f.concat(a),f=f.concat(r);for(let h=0,v=f.length;h<v;h++)_(f[h],u,C,f);return f=p(f),f.sort(b),f.reverse(),g(f.map(c))}function t(a){let r=[];for(const u of a){for(const C of u.open)r.push(C);for(const C of u.close)r.push(C)}return r=p(r),g(r)}function i(a){let r=[];for(const u of a){for(const C of u.open)r.push(C);for(const C of u.close)r.push(C)}return r=p(r),g(r.map(c))}function s(a){const r=/^[\w ]+$/.test(a);return a=d.escapeRegExpCharacters(a),r?`\\b${a}\\b`:a}function g(a,r){const u=`(${a.map(s).join(")|(")})`;return d.createRegExp(u,!0,r)}const c=function(){function a(C){const f=new Uint16Array(C.length);let h=0;for(let v=C.length-1;v>=0;v--)f[h++]=C.charCodeAt(v);return k.getPlatformTextDecoder().decode(f)}let r=null,u=null;return function(f){return r!==f&&(r=f,u=a(r)),u}}();class l{static _findPrevBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=C.length-(h.index||0),w=h[0].length,S=f+v;return new I.Range(u,S-w+1,u,S+1)}static findPrevBracketInRange(r,u,C,f,h){const w=c(C).substring(C.length-h,C.length-f);return this._findPrevBracketInText(r,u,w,f)}static findNextBracketInText(r,u,C,f){const h=C.match(r);if(!h)return null;const v=h.index||0,w=h[0].length;if(w===0)return null;const S=f+v;return new I.Range(u,S+1,u,S+1+w)}static findNextBracketInRange(r,u,C,f,h){const v=C.substring(f,h);return this.findNextBracketInText(r,u,v,f)}}e.BracketsUtils=l}),define(ne[659],se([1,0,13,169,208]),function(oe,e,d,k,I){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketElectricCharacterSupport=void 0;class E{constructor(m){this._richEditBrackets=m}getElectricCharacters(){const m=[];if(this._richEditBrackets)for(const _ of this._richEditBrackets.brackets)for(const b of _.close){const p=b.charAt(b.length-1);m.push(p)}return(0,d.distinct)(m)}onElectricCharacter(m,_,b){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const p=_.findTokenIndexAtOffset(b-1);if((0,k.ignoreBracketsInToken)(_.getStandardTokenType(p)))return null;const n=this._richEditBrackets.reversedRegex,o=_.getLineContent().substring(0,b-1)+m,t=I.BracketsUtils.findPrevBracketInRange(n,1,o,0,o.length);if(!t)return null;const i=o.substring(t.startColumn-1,t.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[i])return null;const g=_.getActualLineContentBefore(t.startColumn-1);return/^\s*$/.test(g)?{matchOpenBracket:i}:null}}e.BracketElectricCharacterSupport=E}),define(ne[660],se([1,0,297,208]),function(oe,e,d,k){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.ClosingBracketKind=e.OpeningBracketKind=e.BracketKindBase=e.LanguageBracketsConfiguration=void 0;class I{constructor(p,n){this.languageId=p;const o=n.brackets?E(n.brackets):[],t=new d.CachedFunction(g=>{const c=new Set;return{info:new m(this,g,c),closing:c}}),i=new d.CachedFunction(g=>{const c=new Set,l=new Set;return{info:new _(this,g,c,l),opening:c,openingColorized:l}});for(const[g,c]of o){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.opening.add(l.info)}const s=n.colorizedBracketPairs?E(n.colorizedBracketPairs):o.filter(g=>!(g[0]==="<"&&g[1]===">"));for(const[g,c]of s){const l=t.get(g),a=i.get(c);l.closing.add(a.info),a.openingColorized.add(l.info),a.opening.add(l.info)}this._openingBrackets=new Map([...t.cachedValues].map(([g,c])=>[g,c.info])),this._closingBrackets=new Map([...i.cachedValues].map(([g,c])=>[g,c.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(p){return this._openingBrackets.get(p)}getClosingBracketInfo(p){return this._closingBrackets.get(p)}getBracketInfo(p){return this.getOpeningBracketInfo(p)||this.getClosingBracketInfo(p)}getBracketRegExp(p){const n=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,k.createBracketOrRegExp)(n,p)}}e.LanguageBracketsConfiguration=I;function E(b){return b.filter(([p,n])=>p!==""&&n!=="")}class y{constructor(p,n){this.config=p,this.bracketText=n}get languageId(){return this.config.languageId}}e.BracketKindBase=y;class m extends y{constructor(p,n,o){super(p,n),this.openedBrackets=o,this.isOpeningBracket=!0}}e.OpeningBracketKind=m;class _ extends y{constructor(p,n,o,t){super(p,n),this.openingBrackets=o,this.openingColorizedBrackets=t,this.isOpeningBracket=!1}closes(p){return p.config!==this.config?!1:this.openingBrackets.has(p)}closesColorized(p){return p.config!==this.config?!1:this.openingColorizedBrackets.has(p)}getOpeningBrackets(){return[...this.openingBrackets]}}e.ClosingBracketKind=_}),define(ne[369],se([1,0,11,83,27,177]),function(oe,e,d,k,I,E){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tokenizeToString=m,e.tokenizeLineToHTML=_,e._tokenizeToString=b;const y={getInitialState:()=>E.NullState,tokenizeEncoded:(p,n,o)=>(0,E.nullTokenizeEncoded)(0,o)};async function m(p,n,o){if(!o)return b(n,p.languageIdCodec,y);const t=await I.TokenizationRegistry.getOrCreate(o);return b(n,p.languageIdCodec,t||y)}function _(p,n,o,t,i,s,g){let c="<div>",l=t,a=0,r=!0;for(let u=0,C=n.getCount();u<C;u++){const f=n.getEndOffset(u);if(f<=t)continue;let h="";for(;l<f&&l<i;l++){const v=p.charCodeAt(l);switch(v){case 9:{let w=s-(l+a)%s;for(a+=w-1;w>0;)g&&r?(h+="&#160;",r=!1):(h+=" ",r=!0),w--;break}case 60:h+="&lt;",r=!1;break;case 62:h+="&gt;",r=!1;break;case 38:h+="&amp;",r=!1;break;case 0:h+="&#00;",r=!1;break;case 65279:case 8232:case 8233:case 133:h+="\uFFFD",r=!1;break;case 13:h+="&#8203",r=!1;break;case 32:g&&r?(h+="&#160;",r=!1):(h+=" ",r=!0);break;default:h+=String.fromCharCode(v),r=!1}}if(c+=`<span style="${n.getInlineStyle(u,o)}">${h}</span>`,f>i||l>=i)break}return c+="</div>",c}function b(p,n,o){let t='<div class="monaco-tokenized-source">';const i=d.splitLines(p);let s=o.getInitialState();for(let g=0,c=i.length;g<c;g++){const l=i[g];g>0&&(t+="<br/>");const a=o.tokenizeEncoded(l,!0,s);k.LineTokens.convertToEndOffset(a.tokens,l.length);const u=new k.LineTokens(a.tokens,l,n).inflate();let C=0;for(let f=0,h=u.getCount();f<h;f++){const v=u.getClassName(f),w=u.getEndOffset(f);t+=`<span class="${v}">${d.escape(l.substring(C,w))}</span>`,C=w}s=a.endState}return t+="</div>",t}}),define(ne[661],se([1,0,13,6,2,4,169,208,584]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.BracketPairsTextModelPart=void 0;class b extends I.Disposable{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(s,g){super(),this.textModel=s,this.languageConfigurationService=g,this.bracketPairsTree=this._register(new I.MutableDisposable),this.onDidChangeEmitter=new k.Emitter,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(s){(!s.languageId||this.bracketPairsTree.value?.object.didLanguageChange(s.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(s){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(s){this.bracketPairsTree.value?.object.handleContentChanged(s)}handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(s){this.bracketPairsTree.value?.object.handleDidChangeTokens(s)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const s=new I.DisposableStore;this.bracketPairsTree.value=p(s.add(new _.BracketPairsTree(this.textModel,g=>this.languageConfigurationService.getLanguageConfiguration(g))),s),s.add(this.bracketPairsTree.value.object.onDidChange(g=>this.onDidChangeEmitter.fire(g))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!1)||d.CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(s){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(s,!0)||d.CallbackIterable.empty}getBracketsInRange(s,g=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(s,g)||d.CallbackIterable.empty}findMatchingBracketUp(s,g,c){const l=this.textModel.validatePosition(g),a=this.textModel.getLanguageIdAtPosition(l.lineNumber,l.column);if(this.canBuildAST){const r=this.languageConfigurationService.getLanguageConfiguration(a).bracketsNew.getClosingBracketInfo(s);if(!r)return null;const u=this.getBracketPairsInRange(E.Range.fromPositions(g,g)).findLast(C=>r.closes(C.openingBracketInfo));return u?u.openingBracketRange:null}else{const r=s.toLowerCase(),u=this.languageConfigurationService.getLanguageConfiguration(a).brackets;if(!u)return null;const C=u.textIsBracket[r];return C?t(this._findMatchingBracketUp(C,l,n(c))):null}}matchBracket(s,g){if(this.canBuildAST){const c=this.getBracketPairsInRange(E.Range.fromPositions(s,s)).filter(l=>l.closingBracketRange!==void 0&&(l.openingBracketRange.containsPosition(s)||l.closingBracketRange.containsPosition(s))).findLastMaxBy((0,d.compareBy)(l=>l.openingBracketRange.containsPosition(s)?l.openingBracketRange:l.closingBracketRange,E.Range.compareRangesUsingStarts));return c?[c.openingBracketRange,c.closingBracketRange]:null}else{const c=n(g);return this._matchBracket(this.textModel.validatePosition(s),c)}}_establishBracketSearchOffsets(s,g,c,l){const a=g.getCount(),r=g.getLanguageId(l);let u=Math.max(0,s.column-1-c.maxBracketLength);for(let f=l-1;f>=0;f--){const h=g.getEndOffset(f);if(h<=u)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){u=h;break}}let C=Math.min(g.getLineContent().length,s.column-1+c.maxBracketLength);for(let f=l+1;f<a;f++){const h=g.getStartOffset(f);if(h>=C)break;if((0,y.ignoreBracketsInToken)(g.getStandardTokenType(f))||g.getLanguageId(f)!==r){C=h;break}}return{searchStartOffset:u,searchEndOffset:C}}_matchBracket(s,g){const c=s.lineNumber,l=this.textModel.tokenization.getLineTokens(c),a=this.textModel.getLineContent(c),r=l.findTokenIndexAtOffset(s.column-1);if(r<0)return null;const u=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(r)).brackets;if(u&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(r))){let{searchStartOffset:C,searchEndOffset:f}=this._establishBracketSearchOffsets(s,l,u,r),h=null;for(;;){const v=m.BracketsUtils.findNextBracketInRange(u.forwardRegex,c,a,C,f);if(!v)break;if(v.startColumn<=s.column&&s.column<=v.endColumn){const w=a.substring(v.startColumn-1,v.endColumn-1).toLowerCase(),S=this._matchFoundBracket(v,u.textIsBracket[w],u.textIsOpenBracket[w],g);if(S){if(S instanceof o)return null;h=S}}C=v.endColumn-1}if(h)return h}if(r>0&&l.getStartOffset(r)===s.column-1){const C=r-1,f=this.languageConfigurationService.getLanguageConfiguration(l.getLanguageId(C)).brackets;if(f&&!(0,y.ignoreBracketsInToken)(l.getStandardTokenType(C))){const{searchStartOffset:h,searchEndOffset:v}=this._establishBracketSearchOffsets(s,l,f,C),w=m.BracketsUtils.findPrevBracketInRange(f.reversedRegex,c,a,h,v);if(w&&w.startColumn<=s.column&&s.column<=w.endColumn){const S=a.substring(w.startColumn-1,w.endColumn-1).toLowerCase(),L=this._matchFoundBracket(w,f.textIsBracket[S],f.textIsOpenBracket[S],g);if(L)return L instanceof o?null:L}}}return null}_matchFoundBracket(s,g,c,l){if(!g)return null;const a=c?this._findMatchingBracketDown(g,s.getEndPosition(),l):this._findMatchingBracketUp(g,s.getStartPosition(),l);return a?a instanceof o?a:[s,a]:null}_findMatchingBracketUp(s,g,c){const l=s.languageId,a=s.reversedRegex;let r=-1,u=0;const C=(f,h,v,w)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const S=m.BracketsUtils.findPrevBracketInRange(a,f,h,v,w);if(!S)break;const L=h.substring(S.startColumn-1,S.endColumn-1).toLowerCase();if(s.isOpen(L)?r++:s.isClose(L)&&r--,r===0)return S;w=S.startColumn-1}return null};for(let f=g.lineNumber;f>=1;f--){const h=this.textModel.tokenization.getLineTokens(f),v=h.getCount(),w=this.textModel.getLineContent(f);let S=v-1,L=w.length,D=w.length;f===g.lineNumber&&(S=h.findTokenIndexAtOffset(g.column-1),L=g.column-1,D=g.column-1);let T=!0;for(;S>=0;S--){const M=h.getLanguageId(S)===l&&!(0,y.ignoreBracketsInToken)(h.getStandardTokenType(S));if(M)T?L=h.getStartOffset(S):(L=h.getStartOffset(S),D=h.getEndOffset(S));else if(T&&L!==D){const A=C(f,w,L,D);if(A)return A}T=M}if(T&&L!==D){const M=C(f,w,L,D);if(M)return M}}return null}_findMatchingBracketDown(s,g,c){const l=s.languageId,a=s.forwardRegex;let r=1,u=0;const C=(h,v,w,S)=>{for(;;){if(c&&++u%100===0&&!c())return o.INSTANCE;const L=m.BracketsUtils.findNextBracketInRange(a,h,v,w,S);if(!L)break;const D=v.substring(L.startColumn-1,L.endColumn-1).toLowerCase();if(s.isOpen(D)?r++:s.isClose(D)&&r--,r===0)return L;w=L.endColumn-1}return null},f=this.textModel.getLineCount();for(let h=g.lineNumber;h<=f;h++){const v=this.textModel.tokenization.getLineTokens(h),w=v.getCount(),S=this.textModel.getLineContent(h);let L=0,D=0,T=0;h===g.lineNumber&&(L=v.findTokenIndexAtOffset(g.column-1),D=g.column-1,T=g.column-1);let M=!0;for(;L<w;L++){const A=v.getLanguageId(L)===l&&!(0,y.ignoreBracketsInToken)(v.getStandardTokenType(L));if(A)M||(D=v.getStartOffset(L)),T=v.getEndOffset(L);else if(M&&D!==T){const P=C(h,S,D,T);if(P)return P}M=A}if(M&&D!==T){const A=C(h,S,D,T);if(A)return A}}return null}findPrevBracket(s){const g=this.textModel.validatePosition(s);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(g)||null;let c=null,l=null,a=null;for(let r=g.lineNumber;r>=1;r--){const u=this.textModel.tokenization.getLineTokens(r),C=u.getCount(),f=this.textModel.getLineContent(r);let h=C-1,v=f.length,w=f.length;if(r===g.lineNumber){h=u.findTokenIndexAtOffset(g.column-1),v=g.column-1,w=g.column-1;const L=u.getLanguageId(h);c!==L&&(c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew)}let S=!0;for(;h>=0;h--){const L=u.getLanguageId(h);if(c!==L){if(l&&a&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T);S=!1}c=L,l=this.languageConfigurationService.getLanguageConfiguration(c).brackets,a=this.languageConfigurationService.getLanguageConfiguration(c).bracketsNew}const D=!!l&&!(0,y.ignoreBracketsInToken)(u.getStandardTokenType(h));if(D)S?v=u.getStartOffset(h):(v=u.getStartOffset(h),w=u.getEndOffset(h));else if(a&&l&&S&&v!==w){const T=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(T)return this._toFoundBracket(a,T)}S=D}if(a&&l&&S&&v!==w){const L=m.BracketsUtils.findPrevBracketInRange(l.reversedRegex,r,f,v,w);if(L)return this._toFoundBracket(a,L)}}return null}findNextBracket(s){const g=this.textModel.validatePosition(s);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(g)||null;const c=this.textModel.getLineCount();let l=null,a=null,r=null;for(let u=g.lineNumber;u<=c;u++){const C=this.textModel.tokenization.getLineTokens(u),f=C.getCount(),h=this.textModel.getLineContent(u);let v=0,w=0,S=0;if(u===g.lineNumber){v=C.findTokenIndexAtOffset(g.column-1),w=g.column-1,S=g.column-1;const D=C.getLanguageId(v);l!==D&&(l=D,a=this.languageConfigurationService.getLanguageConfiguration(l).brackets,r=this.languageConfigurationService.getLanguageConfiguration(l).bracketsNew)}let L=!0;for(;v<f;v++){const D=C.getLanguageId(v);if(l!==D){if(r&&a&&L&&w!==S){const M=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(M)return this._toFoundBracket(r,M);L=!1}l=D,a=this.languageConfigurationService.getLanguageConfiguration(l).brackets,r=this.languageConfigurationService.getLanguageConfiguration(l).bracketsNew}const T=!!a&&!(0,y.ignoreBracketsInToken)(C.getStandardTokenType(v));if(T)L||(w=C.getStartOffset(v)),S=C.getEndOffset(v);else if(r&&a&&L&&w!==S){const M=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(M)return this._toFoundBracket(r,M)}L=T}if(r&&a&&L&&w!==S){const D=m.BracketsUtils.findNextBracketInRange(a.forwardRegex,u,h,w,S);if(D)return this._toFoundBracket(r,D)}}return null}findEnclosingBrackets(s,g){const c=this.textModel.validatePosition(s);if(this.canBuildAST){const S=E.Range.fromPositions(c),L=this.getBracketPairsInRange(E.Range.fromPositions(c,c)).findLast(D=>D.closingBracketRange!==void 0&&D.range.strictContainsRange(S));return L?[L.openingBracketRange,L.closingBracketRange]:null}const l=n(g),a=this.textModel.getLineCount(),r=new Map;let u=[];const C=(S,L)=>{if(!r.has(S)){const D=[];for(let T=0,M=L?L.brackets.length:0;T<M;T++)D[T]=0;r.set(S,D)}u=r.get(S)};let f=0;const h=(S,L,D,T,M)=>{for(;;){if(l&&++f%100===0&&!l())return o.INSTANCE;const A=m.BracketsUtils.findNextBracketInRange(S.forwardRegex,L,D,T,M);if(!A)break;const P=D.substring(A.startColumn-1,A.endColumn-1).toLowerCase(),N=S.textIsBracket[P];if(N&&(N.isOpen(P)?u[N.index]++:N.isClose(P)&&u[N.index]--,u[N.index]===-1))return this._matchFoundBracket(A,N,!1,l);T=A.endColumn-1}return null};let v=null,w=null;for(let S=c.lineNumber;S<=a;S++){const L=this.textModel.tokenization.getLineTokens(S),D=L.getCount(),T=this.textModel.getLineContent(S);let M=0,A=0,P=0;if(S===c.lineNumber){M=L.findTokenIndexAtOffset(c.column-1),A=c.column-1,P=c.column-1;const O=L.getLanguageId(M);v!==O&&(v=O,w=this.languageConfigurationService.getLanguageConfiguration(v).brackets,C(v,w))}let N=!0;for(;M<D;M++){const O=L.getLanguageId(M);if(v!==O){if(w&&N&&A!==P){const x=h(w,S,T,A,P);if(x)return t(x);N=!1}v=O,w=this.languageConfigurationService.getLanguageConfiguration(v).brackets,C(v,w)}const F=!!w&&!(0,y.ignoreBracketsInToken)(L.getStandardTokenType(M));if(F)N||(A=L.getStartOffset(M)),P=L.getEndOffset(M);else if(w&&N&&A!==P){const x=h(w,S,T,A,P);if(x)return t(x)}N=F}if(w&&N&&A!==P){const O=h(w,S,T,A,P);if(O)return t(O)}}return null}_toFoundBracket(s,g){if(!g)return null;let c=this.textModel.getValueInRange(g);c=c.toLowerCase();const l=s.getBracketInfo(c);return l?{range:g,bracketInfo:l}:null}}e.BracketPairsTextModelPart=b;function p(i,s){return{object:i,dispose:()=>s?.dispose()}}function n(i){if(typeof i>"u")return()=>!0;{const s=Date.now();return()=>Date.now()-s<=i}}class o{static{this.INSTANCE=new o}constructor(){this._searchCanceledBrand=void 0}}function t(i){return i instanceof o?null:i}}),define(ne[370],se([1,0,3,8,23,22,367,160,48]),function(oe,e,d,k,I,E,y,m,_){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EditStack=e.MultiModelEditStackElement=e.SingleModelEditStackElement=e.SingleModelEditStackData=void 0,e.isEditStackElement=i;function b(g){return g.toString()}class p{static create(c,l){const a=c.getAlternativeVersionId(),r=t(c);return new p(a,a,r,r,l,l,[])}constructor(c,l,a,r,u,C,f){this.beforeVersionId=c,this.afterVersionId=l,this.beforeEOL=a,this.afterEOL=r,this.beforeCursorState=u,this.afterCursorState=C,this.changes=f}append(c,l,a,r,u){l.length>0&&(this.changes=(0,y.compressConsecutiveTextChanges)(this.changes,l)),this.afterEOL=a,this.afterVersionId=r,this.afterCursorState=u}static _writeSelectionsSize(c){return 4+4*4*(c?c.length:0)}static _writeSelections(c,l,a){if(m.writeUInt32BE(c,l?l.length:0,a),a+=4,l)for(const r of l)m.writeUInt32BE(c,r.selectionStartLineNumber,a),a+=4,m.writeUInt32BE(c,r.selectionStartColumn,a),a+=4,m.writeUInt32BE(c,r.positionLineNumber,a),a+=4,m.writeUInt32BE(c,r.positionColumn,a),a+=4;return a}static _readSelections(c,l,a){const r=m.readUInt32BE(c,l);l+=4;for(let u=0;u<r;u++){const C=m.readUInt32BE(c,l);l+=4;const f=m.readUInt32BE(c,l);l+=4;const h=m.readUInt32BE(c,l);l+=4;const v=m.readUInt32BE(c,l);l+=4,a.push(new I.Selection(C,f,h,v))}return l}serialize(){let c=10+p._writeSelectionsSize(this.beforeCursorState)+p._writeSelectionsSize(this.afterCursorState)+4;for(const r of this.changes)c+=r.writeSize();const l=new Uint8Array(c);let a=0;m.writeUInt32BE(l,this.beforeVersionId,a),a+=4,m.writeUInt32BE(l,this.afterVersionId,a),a+=4,m.writeUInt8(l,this.beforeEOL,a),a+=1,m.writeUInt8(l,this.afterEOL,a),a+=1,a=p._writeSelections(l,this.beforeCursorState,a),a=p._writeSelections(l,this.afterCursorState,a),m.writeUInt32BE(l,this.changes.length,a),a+=4;for(const r of this.changes)a=r.write(l,a);return l.buffer}static deserialize(c){const l=new Uint8Array(c);let a=0;const r=m.readUInt32BE(l,a);a+=4;const u=m.readUInt32BE(l,a);a+=4;const C=m.readUInt8(l,a);a+=1;const f=m.readUInt8(l,a);a+=1;const h=[];a=p._readSelections(l,a,h);const v=[];a=p._readSelections(l,a,v);const w=m.readUInt32BE(l,a);a+=4;const S=[];for(let L=0;L<w;L++)a=y.TextChange.read(l,a,S);return new p(r,u,C,f,h,v,S)}}e.SingleModelEditStackData=p;class n{get type(){return 0}get resource(){return E.URI.isUri(this.model)?this.model:this.model.uri}constructor(c,l,a,r){this.label=c,this.code=l,this.model=a,this._data=p.create(a,r)}toString(){return(this._data instanceof p?this._data:p.deserialize(this._data)).changes.map(l=>l.toString()).join(", ")}matchesResource(c){return(E.URI.isUri(this.model)?this.model:this.model.uri).toString()===c.toString()}setModel(c){this.model=c}canAppend(c){return this.model===c&&this._data instanceof p}append(c,l,a,r,u){this._data instanceof p&&this._data.append(c,l,a,r,u)}close(){this._data instanceof p&&(this._data=this._data.serialize())}open(){this._data instanceof p||(this._data=p.deserialize(this._data))}undo(){if(E.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyUndo(c.changes,c.beforeEOL,c.beforeVersionId,c.beforeCursorState)}redo(){if(E.URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof p&&(this._data=this._data.serialize());const c=p.deserialize(this._data);this.model._applyRedo(c.changes,c.afterEOL,c.afterVersionId,c.afterCursorState)}heapSize(){return this._data instanceof p&&(this._data=this._data.serialize()),this._data.byteLength+168}}e.SingleModelEditStackElement=n;class o{get resources(){return this._editStackElementsArr.map(c=>c.resource)}constructor(c,l,a){this.label=c,this.code=l,this.type=1,this._isOpen=!0,this._editStackElementsArr=a.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const u=b(r.resource);this._editStackElementsMap.set(u,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(c){const l=b(c);return this._editStackElementsMap.has(l)}setModel(c){const l=b(E.URI.isUri(c)?c:c.uri);this._editStackElementsMap.has(l)&&this._editStackElementsMap.get(l).setModel(c)}canAppend(c){if(!this._isOpen)return!1;const l=b(c.uri);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).canAppend(c):!1}append(c,l,a,r,u){const C=b(c.uri);this._editStackElementsMap.get(C).append(c,l,a,r,u)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const c of this._editStackElementsArr)c.undo()}redo(){for(const c of this._editStackElementsArr)c.redo()}heapSize(c){const l=b(c);return this._editStackElementsMap.has(l)?this._editStackElementsMap.get(l).heapSize():0}split(){return this._editStackElementsArr}toString(){const c=[];for(const l of this._editStackElementsArr)c.push(`${(0,_.basename)(l.resource)}: ${l}`);return`{${c.join(", ")}}`}}e.MultiModelEditStackElement=o;function t(g){return g.getEOL()===`

Callers 15

zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80
zod.gen.tsFile · 0.80

Calls

no outgoing calls

Tested by 1

createMockSchemaFunction · 0.64