1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6933],{536:(e,t,i)=>{i.d(t,{$H:()=>s,Lh:()=>o,r3:()=>r});var n=i(67727);let r=new class{clone(){return this}equals(e){return this===e}};function s(e,t){return new n.$M([new n.ou(0,"",e)],t)}function o(e,t){let i=new Uint32Array(2);return i[0]=0,i[1]=(0|e|0x2008000)>>>0,new n.rY(i,null===t?r:t)}},5757:(e,t,i)=>{i.d(t,{$D:()=>n,I_:()=>s,To:()=>r,Ym:()=>o});let n=(0,i(77917).u1)("undoRedoService");class r{constructor(e,t){this.resource=e,this.elements=t}}class s{static{this._ID=0}constructor(){this.id=s._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new s}}class o{static{this._ID=0}constructor(){this.id=o._ID++,this.order=1}nextOrder(){return 0===this.id?0:this.order++}static{this.None=new o}}},8948:(e,t,i)=>{let n,r,s;i.d(t,{Su:()=>u,b7:()=>d,fe:()=>g});var o=i(97478),a=i(43731),l=i(46050);function h(){return n||(n=new TextDecoder("UTF-16LE")),n}function d(){return s||(s=a.cm()?h():(r||(r=new TextDecoder("UTF-16BE")),r)),s}function u(e,t,i){let n=new Uint16Array(e.buffer,t,i);return i>0&&(65279===n[0]||65534===n[0])?function(e,t,i){let n=[],r=0;for(let s=0;s<i;s++){let i=l.$l(e,t);t+=2,n[r++]=String.fromCharCode(i)}return n.join("")}(e,t,i):h().decode(n)}class g{constructor(e){this._capacity=0|e,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";let e=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return d().decode(e)}_flushBuffer(){let e=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[e]:this._completedStrings[this._completedStrings.length]=e}appendCharCode(e){let t=this._capacity-this._bufferLength;t<=1&&(0===t||o.pc(e))&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendASCIICharCode(e){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=e}appendString(e){let t=e.length;if(this._bufferLength+t>=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i<t;i++)this._buffer[this._bufferLength++]=e.charCodeAt(i)}}},10108:(e,t,i)=>{i.r(t),i.d(t,{ITreeSitterParserService:()=>n});let n=(0,i(77917).u1)("treeSitterParserService")},12463:(e,t,i)=>{i.d(t,{Gc:()=>k,Nn:()=>l,Xw:()=>h,rh:()=>m,yF:()=>p});var n=i(98839),r=i(36329),s=i(42189),o=i(96052);class a{get length(){return this._length}constructor(e){this._length=e}}class l extends a{static create(e,t,i){let n=e.length;return t&&(n=(0,s.QB)(n,t.length)),i&&(n=(0,s.QB)(n,i.length)),new l(n,e,t,i,t?t.missingOpeningBracketIds:o.gV.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(e){switch(e){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw Error("Invalid child index")}get children(){let e=[];return e.push(this.openingBracket),this.child&&e.push(this.child),this.closingBracket&&e.push(this.closingBracket),e}constructor(e,t,i,n,r){super(e),this.openingBracket=t,this.child=i,this.closingBracket=n,this.missingOpeningBracketIds=r}canBeReused(e){return!(null===this.closingBracket||e.intersects(this.missingOpeningBracketIds))}deepClone(){return new l(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(e,t){return this.child?this.child.computeMinIndentation((0,s.QB)(e,this.openingBracket.length),t):Number.MAX_SAFE_INTEGER}}class h extends a{static create23(e,t,i,n=!1){let r=e.length,o=e.missingOpeningBracketIds;if(e.listHeight!==t.listHeight)throw Error("Invalid list heights");if(r=(0,s.QB)(r,t.length),o=o.merge(t.missingOpeningBracketIds),i){if(e.listHeight!==i.listHeight)throw Error("Invalid list heights");r=(0,s.QB)(r,i.length),o=o.merge(i.missingOpeningBracketIds)}return n?new u(r,e.listHeight+1,e,t,i,o):new d(r,e.listHeight+1,e,t,i,o)}static getEmpty(){return new c(s.Vp,0,[],o.gV.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(e,t,i){super(e),this.listHeight=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();let e=this.childrenLength;if(0===e)return;let t=this.getChild(e-1),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(e-1,i),i}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;let e=this.getChild(0),t=4===e.kind?e.toMutable():e;return e!==t&&this.setChild(0,t),t}canBeReused(e){if(e.intersects(this.missingOpeningBracketIds)||0===this.childrenLength)return!1;let t=this;for(;4===t.kind;){let e=t.childrenLength;if(0===e)throw new n.D7;t=t.getChild(e-1)}return t.canBeReused(e)}handleChildrenChanged(){this.throwIfImmutable();let e=this.childrenLength,t=this.getChild(0).length,i=this.getChild(0).missingOpeningBracketIds;for(let n=1;n<e;n++){let e=this.getChild(n);
1t=(0,s.QB)(t,e.length),i=i.merge(e.missingOpeningBracketIds)}this._length=t,this._missingOpeningBracketIds=i,this.cachedMinIndentation=-1}computeMinIndentation(e,t){if(-1!==this.cachedMinIndentation)return this.cachedMinIndentation;let i=Number.MAX_SAFE_INTEGER,n=e;for(let e=0;e<this.childrenLength;e++){let r=this.getChild(e);r&&(i=Math.min(i,r.computeMinIndentation(n,t)),n=(0,s.QB)(n,r.length))}return this.cachedMinIndentation=i,i}}class d extends h{get childrenLength(){return null!==this._item3?3:2}getChild(e){switch(e){case 0:return this._item1;case 1:return this._item2;case 2:return this._item3}throw Error("Invalid child index")}setChild(e,t){switch(e){case 0:this._item1=t;return;case 1:this._item2=t;return;case 2:this._item3=t;return}throw Error("Invalid child index")}get children(){return this._item3?[this._item1,this._item2,this._item3]:[this._item1,this._item2]}get item1(){return this._item1}get item2(){return this._item2}get item3(){return this._item3}constructor(e,t,i,n,r,s){super(e,t,s),this._item1=i,this._item2=n,this._item3=r}deepClone(){return new d(this.length,this.listHeight,this._item1.deepClone(),this._item2.deepClone(),this._item3?this._item3.deepClone():null,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){if(this._item3)throw Error("Cannot append to a full (2,3) tree node");this.throwIfImmutable(),this._item3=e,this.handleChildrenChanged()}unappendChild(){if(!this._item3)throw Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();let e=this._item3;return this._item3=null,this.handleChildrenChanged(),e}prependChildOfSameHeight(e){if(this._item3)throw Error("Cannot prepend to a full (2,3) tree node");this.throwIfImmutable(),this._item3=this._item2,this._item2=this._item1,this._item1=e,this.handleChildrenChanged()}unprependChild(){if(!this._item3)throw Error("Cannot remove from a non-full (2,3) tree node");this.throwIfImmutable();let e=this._item1;return this._item1=this._item2,this._item2=this._item3,this._item3=null,this.handleChildrenChanged(),e}toMutable(){return this}}class u extends d{toMutable(){return new d(this.length,this.listHeight,this.item1,this.item2,this.item3,this.missingOpeningBracketIds)}throwIfImmutable(){throw Error("this instance is immutable")}}class g extends h{get childrenLength(){return this._children.length}getChild(e){return this._children[e]}setChild(e,t){this._children[e]=t}get children(){return this._children}constructor(e,t,i,n){super(e,t,n),this._children=i}deepClone(){let e=Array(this._children.length);for(let t=0;t<this._children.length;t++)e[t]=this._children[t].deepClone();return new g(this.length,this.listHeight,e,this.missingOpeningBracketIds)}appendChildOfSameHeight(e){this.throwIfImmutable(),this._children.push(e),this.handleChildrenChanged()}unappendChild(){this.throwIfImmutable();let e=this._children.pop();return this.handleChildrenChanged(),e}prependChildOfSameHeight(e){this.throwIfImmutable(),this._children.unshift(e),this.handleChildrenChanged()}unprependChild(){this.throwIfImmutable();let e=this._children.shift();return this.handleChildrenChanged(),e}toMutable(){return this}}class c extends g{toMutable(){return new g(this.length,this.listHeight,[...this.children],this.missingOpeningBracketIds)}throwIfImmutable(){throw Error("this instance is immutable")}}let f=[];class _ extends a{get listHeight(){return 0}get childrenLength(){return 0}getChild(e){return null}get children(){return f}deepClone(){return this}}class p extends _{get kind(){return 0}get missingOpeningBracketIds(){return o.gV.getEmpty()}canBeReused(e){return!0}computeMinIndentation(e,t){let i=(0,s.l4)(e),n=(0===i.columnCount?i.lineCount:i.lineCount+1)+1,o=(0,s.eu)((0,s.QB)(e,this.length))+1,a=Number.MAX_SAFE_INTEGER;for(let e=n;e<=o;e++){let i=t.getLineFirstNonWhitespaceColumn(e),n=t.getLineContent(e);0!==i&&(a=Math.min(a,r.A.visibleColumnFromColumn(n,i,t.getOptions().tabSize)))}return a}}class m extends _{static create(e,t,i){return new m(e,t,i)}get kind(){return 1}get missingOpeningBracketIds(){return o.gV.getEmpty()}constructor(e,t,i){super(e),this.bracketInfo=t,this.bracketIds=i}get text(){return this.bracketInfo.bracketText}get languageId(){return this.bracketInfo.languageId}canBeReused(e){return!1}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}class k extends _{get kind(){return 3}constructor(e,t){super(t),this.missingOpeningBracketIds=e}canBeReused(e){return!e.intersects(this.missingOpeningBracketIds)}computeMinIndentation(e,t){return Number.MAX_SAFE_INTEGER}}},13321:(e,t,i)=>{var n;i.d(t,{N6:()=>n,TH:()=>r,pv:()=>s}),function(e){e[e.Disabled=0]="Disabled",e[e.EnabledForActive=1]="EnabledForActive",e[e.Enabled=2]="Enabled"}(n||(n={}));
1class r{constructor(e,t,i,n,r,s){if(this.visibleColumn=e,this.column=t,this.className=i,this.horizontalLine=n,this.forWrappedLinesAfterColumn=r,this.forWrappedLinesBeforeOrAtColumn=s,-1!==e==(-1!==t))throw Error()}}class s{constructor(e,t){this.top=e,this.endColumn=t}}},16628:(e,t,i)=>{function n(e,t){let i=e.getCount(),n=e.findTokenIndexAtOffset(t),s=e.getLanguageId(n),o=n;for(;o+1<i&&e.getLanguageId(o+1)===s;)o++;let a=n;for(;a>0&&e.getLanguageId(a-1)===s;)a--;return new r(e,s,a,o+1,e.getStartOffset(a),e.getEndOffset(o))}i.d(t,{BQ:()=>n,Yo:()=>s});class r{constructor(e,t,i,n,r,s){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=n,this.firstCharOffset=r,this._lastCharOffset=s,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}}function s(e){return(3&e)!=0}},16933:(e,t,i)=>{i.r(t),i.d(t,{DefaultModelSHA1Computer:()=>v,ModelService:()=>x});var n,r=i(52232),s=i(90288),o=i(43731),a=i(46605),l=i(64726),h=i(88075),d=i(68696),u=i(48423),g=i(5757),c=i(48384),f=i(77102),_=i(90222),p=i(61352),m=i(77917),k=function(e,t){return function(i,n){t(i,n,e)}};function C(e){return e.toString()}class b{constructor(e,t,i){this.model=e,this._modelEventListeners=new s.Cm,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(t=>i(e,t)))}dispose(){this._modelEventListeners.dispose()}}let L=o.j9||o.zx?1:2;class I{constructor(e,t,i,n,r,s,o,a){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=n,this.heapSize=r,this.sha1=s,this.versionId=o,this.alternativeVersionId=a}}let x=class extends s.jG{static{n=this}static{this.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=0x1400000}constructor(e,t,i,n){super(),this._configurationService=e,this._resourcePropertiesService=t,this._und
1oRedoService=i,this._instantiationService=n,this._onModelAdded=this._register(new r.vl),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new r.vl),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new r.vl),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(e=>this._updateModelOptions(e))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){let i=l.R.tabSize;if(e.editor&&void 0!==e.editor.tabSize){let t=parseInt(e.editor.tabSize,10);isNaN(t)||(i=t),i<1&&(i=1)}let n="tabSize";if(e.editor&&void 0!==e.editor.indentSize&&"tabSize"!==e.editor.indentSize){let t=parseInt(e.editor.indentSize,10);isNaN(t)||(n=Math.max(t,1))}let r=l.R.insertSpaces;e.editor&&void 0!==e.editor.insertSpaces&&(r="false"!==e.editor.insertSpaces&&!!e.editor.insertSpaces);let s=L,o=e.eol;"\r\n"===o?s=2:"\n"===o&&(s=1);let a=l.R.trimAutoWhitespace;e.editor&&void 0!==e.editor.trimAutoWhitespace&&(a="false"!==e.editor.trimAutoWhitespace&&!!e.editor.trimAutoWhitespace);let h=l.R.detectIndentation;e.editor&&void 0!==e.editor.detectIndentation&&(h="false"!==e.editor.detectIndentation&&!!e.editor.detectIndentation);let d=l.R.largeFileOptimizations;e.editor&&void 0!==e.editor.largeFileOptimizations&&(d="false"!==e.editor.largeFileOptimizations&&!!e.editor.largeFileOptimizations);let u=l.R.bracketPairColorizationOptions;return e.editor?.bracketPairColorization&&"object"==typeof e.editor.bracketPairColorization&&(u={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:n,insertSpaces:r,detectIndentation:h,defaultEOL:s,trimAutoWhitespace:a,largeFileOptimizations:d,bracketPairColorizationOptions:u}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);let i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&"string"==typeof i&&"auto"!==i?i:3===o.OS||2===o.OS?"\n":"\r\n"}_shouldRestoreUndoStack(){let e=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof e||e}getCreationOptions(e,t,i){let r="string"==typeof e?e:e.languageId,s=this._modelCreationOptionsByLanguageAndResource[r+t];if(!s){let e=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),o=this._getEOL(t,r);s=n._readModelOptions({editor:e,eol:o},i),this._modelCreationOptionsByLanguageAndResource[r+t]=s}return s}_updateModelOptions(e){let t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);let i=Object.keys(this._models);for(let r=0,s=i.length;r<s;r++){let s=i[r],o=this._models[s],a=o.model.getLanguageId(),l=o.model.uri;if(e&&!e.affectsConfiguration("editor",{overrideIdentifier:a,resource:l})&&!e.affectsConfiguration("files.eol",{overrideIdentifier:a,resource:l}))continue;let h=t[a+l],d=this.getCreationOptions(a,l,o.model.isForSimpleWidget);n._setModelOptionsForModel(o.model,d,h)}}static _setModelOptionsForModel(e,t,i){i&&i.defaultEOL!==t.defaultEOL&&1===e.getLineCount()&&e.setEOL(+(1!==t.defaultEOL)),i&&i.detectIndentation===t.detectIndentation&&i.insertSpaces===t.insertSpaces&&i.tabSize===t.tabSize&&i.indentSize===t.indentSize&&i.trimAutoWhitespace===t.trimAutoWhitespace&&(0,p.aI)(i.bracketPairColorizationOptions,t.bracketPairColorizationOptions)||(t.detectIndentation?(e.detectIndentation(t.insertSpaces,t.tabSize),e.updateOptions({trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions})):e.updateOptions({insertSpaces:t.insertSpaces,tabSize:t.tabSize,indentSize:t.indentSize,trimAutoWhitespace:t.trimAutoWhitespace,bracketColorizationOptions:t.bracketPairColorizationOptions}))}_insertDisposedModel(e){this._disposedModels.set(C(e.uri),e),this._disposedModelsHeapSize+=e.heapSize}_removeDisposedModel(e){let t=this._disposedModels.get(C(e));return t&&(this._disposedModelsHeapSize-=t.heapSize),this._disposedModels.delete(C(e)),t}_ensureDisposedModelsHeapSize(e){if(this._disposedModelsHeapSize>e){let t=[];
1for(this._disposedModels.forEach(e=>{e.sharesUndoRedoStack||t.push(e)}),t.sort((e,t)=>e.time-t.time);t.length>0&&this._disposedModelsHeapSize>e;){let e=t.shift();this._removeDisposedModel(e.uri),null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,n){let r=this.getCreationOptions(t,i,n),s=this._instantiationService.createInstance(a.Bz,e,t,r,i);if(i&&this._disposedModels.has(C(i))){let e=this._removeDisposedModel(i),t=this._undoRedoService.getElements(i),n=this._getSHA1Computer(),r=!!n.canComputeSHA1(s)&&n.computeSHA1(s)===e.sha1;if(r||e.sharesUndoRedoStack){for(let e of t.past)(0,f.Th)(e)&&e.matchesResource(i)&&e.setModel(s);for(let e of t.future)(0,f.Th)(e)&&e.matchesResource(i)&&e.setModel(s);this._undoRedoService.setElementsValidFlag(i,!0,e=>(0,f.Th)(e)&&e.matchesResource(i)),r&&(s._overwriteVersionId(e.versionId),s._overwriteAlternativeVersionId(e.alternativeVersionId),s._overwriteInitialUndoRedoSnapshot(e.initialUndoRedoSnapshot))}else null!==e.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(e.initialUndoRedoSnapshot)}let o=C(s.uri);if(this._models[o])throw Error("ModelService: Cannot add model because it already exists!");let l=new b(s,e=>this._onWillDispose(e),(e,t)=>this._onDidChangeLanguage(e,t));return this._models[o]=l,l}createModel(e,t,i,n=!1){let r;return r=t?this._createModelData(e,t,i,n):this._createModelData(e,h.vH,i,n),this._onModelAdded.fire(r.model),r.model}getModels(){let e=[],t=Object.keys(this._models);for(let i=0,n=t.length;i<n;i++){let n=t[i];e.push(this._models[n].model)}return e}getModel(e){let t=C(e),i=this._models[t];return i?i.model:null}_schemaShouldMaintainUndoRedoElements(e){return e.scheme===_.ny.file||e.scheme===_.ny.vscodeRemote||e.scheme===_.ny.vscodeUserData||e.scheme===_.ny.vscodeNotebookCell||"fake-fs"===e.scheme}_onWillDispose(e){let t=C(e.uri),i=this._models[t],r=this._undoRedoService.getUriComparisonKey(e.uri)!==e.uri.toString(),s=!1,o=0;if(r||this._shouldRestoreUndoStack()&&this._schemaShouldMaintainUndoRedoElements(e.uri)){let t=this._undoRedoService.getElements(e.uri);if(t.past.length>0||t.future.length>0){for(let i of t.past)(0,f.Th)(i)&&i.matchesResource(e.uri)&&(s=!0,o+=i.heapSize(e.uri),i.setModel(e.uri));for(let i of t.future)(0,f.Th)(i)&&i.matchesResource(e.uri)&&(s=!0,o+=i.heapSize(e.uri),i.setModel(e.uri))}}let a=n.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,l=this._getSHA1Computer();if(s)if(r||!(o>a)&&l.canComputeSHA1(e))this._ensureDisposedModelsHeapSize(a-o),this._undoRedoService.setElementsValidFlag(e.uri,!1,t=>(0,f.Th)(t)&&t.matchesResource(e.uri)),this._insertDisposedModel(new I(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),r,o,l.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else{let e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}else if(!r){let e=i.model.getInitialUndoRedoSnapshot();null!==e&&this._undoRedoService.restoreSnapshot(e)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){let i=t.oldLanguage,r=e.getLanguageId(),s=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),o=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);n._setModelOptionsForModel(e,o,s),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new v}};x=n=function(e,t,i,n){var r,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}([k(0,u.pG),k(1,d.ITextResourcePropertiesService),k(2,g.$D),k(3,m._Y)],x);class v{static{this.MAX_MODEL_SIZE=0xa00000}canComputeSHA1(e){return e.getValueLength()<=v.MAX_MODEL_SIZE}computeSHA1(e){let t,i=new c.v7,n=e.createSnapshot();for(;t=n.read();)i.update(t);return i.digest()}}},24823:(e,t,i)=>{i.d(t,{JZ:()=>N,Cw:()=>D});var n=i(52232),r=i(90288),s=i(97478),o=i(58012),a=i(35928);class l{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n "}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n "}constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(e=>new a.i3(e)):e.brackets?this._autoClosingPairs=e.brackets.map(e=>new a.i3({open:e[0],close:e[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){let t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new a.i3({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof e.autoCloseBefore?e.autoCloseBefore:l.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}var h=i(13374),d=i(16628),u=i(92142);class g{constructor(e){this._richEditBrackets=e}getElectricCharacters(){let e=[];
1if(this._richEditBrackets)for(let t of this._richEditBrackets.brackets)for(let i of t.close){let t=i.charAt(i.length-1);e.push(t)}return(0,h.dM)(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;let n=t.findTokenIndexAtOffset(i-1);if((0,d.Yo)(t.getStandardTokenType(n)))return null;let r=this._richEditBrackets.reversedRegex,s=t.getLineContent().substring(0,i-1)+e,o=u.Fu.findPrevBracketInRange(r,1,s,0,s.length);if(!o)return null;let a=s.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[a])return null;let l=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(l)?{matchOpenBracket:a}:null}}function c(e){return e.global&&(e.lastIndex=0),!0}class f{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&c(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&c(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&c(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&c(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}var _=i(98839);class p{constructor(e){(e=e||{}).brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(e=>{let t=p._createOpenBracketRegExp(e[0]),i=p._createCloseBracketRegExp(e[1]);t&&i&&this._brackets.push({open:e[0],openRegExp:t,close:e[1],closeRegExp:i})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,n){if(e>=3)for(let e=0,r=this._regExpRules.length;e<r;e++){let r=this._regExpRules[e];if([{reg:r.beforeText,text:i},{reg:r.afterText,text:n},{reg:r.previousLineText,text:t}].every(e=>!e.reg||(e.reg.lastIndex=0,e.reg.test(e.text))))return r.action}if(e>=2&&i.length>0&&n.length>0)for(let e=0,t=this._brackets.length;e<t;e++){let t=this._brackets[e];if(t.openRegExp.test(i)&&t.closeRegExp.test(n))return{indentAction:a.l.IndentOutdent}}if(e>=2&&i.length>0){for(let e=0,t=this._brackets.length;e<t;e++)if(this._brackets[e].openRegExp.test(i))return{indentAction:a.l.Indent}}return null}static _createOpenBracketRegExp(e){let t=s.bm(e);return/\B/.test(t.charAt(0))||(t="\\b"+t),t+="\\s*$",p._safeRegExp(t)}static _createCloseBracketRegExp(e){let t=s.bm(e);return/\B/.test(t.charAt(t.length-1))||(t+="\\b"),t="^\\s*"+t,p._safeRegExp(t)}static _safeRegExp(e){try{return new RegExp(e)}catch(e){return(0,_.dz)(e),null}}}var m=i(77917),k=i(48423),C=i(65050),b=i(85302),L=i(88075),I=i(41294);class x{constructor(e,t){this.languageId=e;let i=t.brackets?v(t.brackets):[],n=new I.VV(e=>{let t=new Set;return{info:new S(this,e,t),closing:t}}),r=new I.VV(e=>{let t=new Set,i=new Set;return{info:new w(this,e,t,i),opening:t,openingColorized:i}});for(let[e,t]of i){let i=n.get(e),s=r.get(t);i.closing.add(s.info),s.opening.add(i.info)}for(let[e,s]of t.colorizedBracketPairs?v(t.colorizedBracketPairs):i.filter(e=>"<"!==e[0]||">"!==e[1])){let t=n.get(e),i=r.get(s);t.closing.add(i.info),i.openingColorized.add(t.info),i.opening.add(t.info)}this._openingBrackets=new Map([...n.cachedValues].map(([e,t])=>[e,t.info])),this._closingBrackets=new Map([...r.cachedValues].map(([e,t])=>[e,t.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){let t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return(0,u.xb)(t,e)}}function v(e){return e.filter(([e,t])=>""!==e&&""!==t)}class T{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class S extends T{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class w extends T{constructor(e,t,i,n){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=n,this.isOpeningBracket=!1}closes(e){return e.config===this.config&&this.openingBrackets.has(e)}closesColorized(e){return e.config===this.config&&this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var E=function(e,t){return function(i,n){t(i,n,e)}};class B{constructor(e){this.languageId=e}affects(e){return!this.languageId||this.languageId===e}}let N=(0,m.u1)("languageConfigurationService"),O=class extends r.jG{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new F),this.onDidChangeEmitter=this._register(new n.vl),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;let i=new Set(Object.values(A));this._register(this.configurationService.onDidChangeConfiguration(e=>{let t=e.change.keys.some(e=>i.has(e)),n=e.change.overrides.filter(([e,t])=>t.some(e=>i.has(e))).map(([e])=>e);
1if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new B(void 0));else for(let e of n)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new B(e)))})),this._register(this._registry.onDidChange(e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new B(e.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=function(e,t,i,n){let r=t.getLanguageConfiguration(e);if(!r){if(!n.isRegisteredLanguageId(e))return new V(e,{});r=new V(e,{})}let s=function(e,t){let i=t.getValue(A.brackets,{overrideIdentifier:e}),n=t.getValue(A.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:R(i),colorizedBracketPairs:R(n)}}(r.languageId,i),o=z([r.underlyingConfig,s]);return new V(r.languageId,o)}(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};O=function(e,t,i,n){var r,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}([E(0,k.pG),E(1,C.L)],O);let A={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function R(e){if(Array.isArray(e))return e.map(e=>{if(Array.isArray(e)&&2===e.length)return[e[0],e[1]]}).filter(e=>!!e)}function D(e,t,i){let n=e.getLineContent(t),r=s.UU(n);return r.length>i-1&&(r=r.substring(0,i-1)),r}class M{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){let i=new P(e,t,++this._order);return this._entries.push(i),this._resolved=null,(0,r.s)(()=>{for(let e=0;e<this._entries.length;e++)if(this._entries[e]===i){this._entries.splice(e,1),this._resolved=null;break}})}getResolvedConfiguration(){if(!this._resolved){let e=this._resolve();e&&(this._resolved=new V(this.languageId,e))}return this._resolved}_resolve(){return 0===this._entries.length?null:(this._entries.sort(P.cmp),z(this._entries.map(e=>e.configuration)))}}function z(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(let i of e)t={comments:i.comments||t.comments,brackets:i.brackets||t.brackets,wordPattern:i.wordPattern||t.wordPattern,indentationRules:i.indentationRules||t.indentationRules,onEnterRules:i.onEnterRules||t.onEnterRules,autoClosingPairs:i.autoClosingPairs||t.autoClosingPairs,surroundingPairs:i.surroundingPairs||t.surroundingPairs,autoCloseBefore:i.autoCloseBefore||t.autoCloseBefore,folding:i.folding||t.folding,colorizedBracketPairs:i.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:i.__electricCharacterSupport||t.__electricCharacterSupport};return t}class P{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class y{constructor(e){this.languageId=e}}class F extends r.jG{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new n.vl),this.onDidChange=this._onDidChange.event,this._register(this.register(L.vH,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let n=this._entries.get(e);n||(n=new M(e),this._entries.set(e,n));let s=n.register(t,i);return this._onDidChange.fire(new y(e)),(0,r.s)(()=>{s.dispose(),this._onDidChange.fire(new y(e))})}getLanguageConfiguration(e){let t=this._entries.get(e);return t?.getResolvedConfiguration()||null}}class V{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new p(this.underlyingConfig):null,this.comments=V._handleComments(this.underlyingConfig),this.characterPair=new l(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||o.Ld,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new f(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new x(e,this.underlyingConfig)}getWordDefinition(){return(0,o.Io)(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new u.az(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new g(this.brackets)),this._electricCharacter}onEnter(e,t,i,n){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,n):null}getAutoClosingPairs(){return new a.GB(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){let t=e.comments;if(!t)return null;let i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){let[e,n]=t.blockComment;i.blockCommentStartToken=e,i.blockCommentEndToken=n}return i}}(0,b.v)(N,O,1)},27395:(e,t,i)=>{i.d(t,{G:()=>n});function n(e,t){let i=0,n=0,r=e.length;for(;n<r;){let r=e.charCodeAt(n);if(32===r)i++;else if(9===r)i=i-i%t+t;else break;n++}return n===r?-1:i}},31051:(e,t,i)=>{i.d(t,{k:()=>o,x:()=>a});var n=i(46050),r=i(8948);function s(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class o{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,n){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=n}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${s(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${s(this.oldText)}")`:`(replace@${this.oldPosition} "${s(this.oldText)}" with "${s(this.newText)}")`}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){let r=t.length;n.Sw(e,r,i),i+=4;for(let s=0;s<r;s++)n.gN(e,t.charCodeAt(s),i),i+=2;return i}static _readString(e,t){let i=n.bb(e,t);return t+=4,(0,r.Su)(e,t,i)}writeSize(){return 8+o._writeStringSize(this.oldText)+o._writeStringSize(this.newText)}write(e,t){return n.Sw(e,this.oldPosition,t),t+=4,n.Sw(e,this.newPosition,t),t+=4,t=o._writeString(e,this.oldText,t),t=o._writeString(e,this.newText,t)}static read(e,t,i){let r=n.bb(e,t);t+=4;let s=n.bb(e,t);t+=4;let a=o._readString(e,t);t+=o._writeStringSize(a);let l=o._readString(e,t);return t+=o._writeStringSize(l),i.push(new o(r,a,s,l)),t}}function a(e,t){return null===e||0===e.length?t:new l(e,t).compress()}class l{constructor(e,t){this._prevEdits=e,this._currEdits=t,this._result=[],this._resultLen=0,this._prevLen=this._prevEdits.length,this._prevDeltaOffset=0,this._currLen=this._currEdits.length,this._currDeltaOffset=0}compress(){let e=0,t=0,i=this._getPrev(e),n=this._getCurr(t);for(;e<this._prevLen||t<this._currLen;){let r,s;if(null===i){this._acceptCurr(n),n=this._getCurr(++t);continue}if(null===n){this._acceptPrev(i),i=this._getPrev(++e);continue}if(n.oldEnd<=i.newPosition){this._acceptCurr(n),n=this._getCurr(++t);continue}if(i.newEnd<=n.oldPosition){this._acceptPrev(i),i=this._getPrev(++e);continue}if(n.oldPosition<i.newPosition){let[e,t]=l._splitCurr(n,i.newPosition-n.oldPosition);this._acceptCurr(e),n=t;continue}if(i.newPosition<n.oldPosition){let[e,t]=l._splitPrev(i,n.oldPosition-i.newPosition);this._acceptPrev(e),i=t;continue}if(n.oldEnd===i.newEnd)r=i,s=n,i=this._getPrev(++e),n=this._getCurr(++t);else if(n.oldEnd<i.newEnd){let[e,o]=l._splitPrev(i,n.oldLength);r=e,s=n,i=o,n=this._getCurr(++t)}else{let[t,o]=l._splitCurr(n,i.newLength);r=i,s=t,i=this._getPrev(++e),n=o}this._result[this._resultLen++]=new o(r.oldPosition,r.oldText,s.newPosition,s.newText),this._prevDeltaOffset+=r.newLength-r.oldLength,this._currDeltaOffset+=s.newLength-s.oldLength}
1let r=l._merge(this._result);return l._removeNoOps(r)}_acceptCurr(e){this._result[this._resultLen++]=l._rebaseCurr(this._prevDeltaOffset,e),this._currDeltaOffset+=e.newLength-e.oldLength}_getCurr(e){return e<this._currLen?this._currEdits[e]:null}_acceptPrev(e){this._result[this._resultLen++]=l._rebasePrev(this._currDeltaOffset,e),this._prevDeltaOffset+=e.newLength-e.oldLength}_getPrev(e){return e<this._prevLen?this._prevEdits[e]:null}static _rebaseCurr(e,t){return new o(t.oldPosition-e,t.oldText,t.newPosition,t.newText)}static _rebasePrev(e,t){return new o(t.oldPosition,t.oldText,t.newPosition+e,t.newText)}static _splitPrev(e,t){let i=e.newText.substr(0,t),n=e.newText.substr(t);return[new o(e.oldPosition,e.oldText,e.newPosition,i),new o(e.oldEnd,"",e.newPosition+t,n)]}static _splitCurr(e,t){let i=e.oldText.substr(0,t),n=e.oldText.substr(t);return[new o(e.oldPosition,i,e.newPosition,e.newText),new o(e.oldPosition+t,n,e.newEnd,"")]}static _merge(e){if(0===e.length)return e;let t=[],i=0,n=e[0];for(let r=1;r<e.length;r++){let s=e[r];n.oldEnd===s.oldPosition?n=new o(n.oldPosition,n.oldText+s.oldText,n.newPosition,n.newText+s.newText):(t[i++]=n,n=s)}return t[i++]=n,t}static _removeNoOps(e){if(0===e.length)return e;let t=[],i=0;for(let n=0;n<e.length;n++){let r=e[n];r.oldText!==r.newText&&(t[i++]=r)}return t}}},31490:(e,t,i)=>{i.d(t,{M:()=>o});var n=i(13374),r=i(39448),s=i(42189);function o(e,t){if(0===e.length)return t;if(0===t.length)return e;let i=new n.j3(l(e)),o=l(t);o.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let h=i.dequeue(),d=[];function u(e,t,i){if(d.length>0&&(0,s.wP)(d[d.length-1].endOffset,e)){let e=d[d.length-1];d[d.length-1]=new r.c(e.startOffset,t,(0,s.QB)(e.newLength,i))}else d.push({startOffset:e,endOffset:t,newLength:i})}let g=s.Vp;for(let e of o){let t=function(e){if(void 0===e){let e=i.takeWhile(e=>!0)||[];return h&&e.unshift(h),e}let t=[];for(;h&&!(0,s.Vh)(e);){let[n,r]=h.splitAt(e);t.push(n),e=(0,s.MS)(n.lengthAfter,e),h=r??i.dequeue()}return(0,s.Vh)(e)||t.push(new a(!1,e,e)),t}(e.lengthBefore);if(e.modified){let i=(0,s.pW)(t,e=>e.lengthBefore),n=(0,s.QB)(g,i);u(g,n,e.lengthAfter),g=n}else for(let e of t){let t=g;g=(0,s.QB)(g,e.lengthBefore),e.modified&&u(t,g,e.lengthAfter)}}return d}class a{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){let t=(0,s.MS)(e,this.lengthAfter);return(0,s.wP)(t,s.Vp)?[this,void 0]:this.modified?[new a(this.modified,this.lengthBefore,e),new a(this.modified,s.Vp,t)]:[new a(this.modified,e,e),new a(this.modified,t,t)]}toString(){return`${this.modified?"M":"U"}:${(0,s.l4)(this.lengthBefore)} -> ${(0,s.l4)(this.lengthAfter)}`}}function l(e){let t=[],i=s.Vp;for(let n of e){let e=(0,s.MS)(i,n.startOffset);(0,s.Vh)(e)||t.push(new a(!1,e,e));let r=(0,s.MS)(n.startOffset,n.endOffset);t.push(new a(!0,r,n.newLength)),i=n.endOffset}return t}},35928:(e,t,i)=>{var n;i.d(t,{GB:()=>s,i3:()=>r,l:()=>n}),function(e){e[e.None=0]="None",e[e.Indent=1]="Indent",e[e.IndentOutdent=2]="IndentOutdent",e[e.Outdent=3]="Outdent"}(n||(n={}));class r{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t<i;t++)switch(e.notIn[t]){case"string":this._inString=!1;break;case"comment":this._inComment=!1;break;case"regex":this._inRegEx=!1}}isOK(e){switch(e){case 0:return!0;case 1:return this._inComment;case 2:return this._inString;case 3:return this._inRegEx}}shouldAutoClose(e,t){if(0===e.getTokenCount())return!0;let i=e.findTokenIndexAtOffset(t-2),n=e.getStandardTokenType(i);return this.isOK(n)}_findNeutralCharacterInRange(e,t){for(let i=e;i<=t;i++){let e=String.fromCharCode(i);if(!this.open.includes(e)&&!this.close.includes(e))return e}return null}findNeutralCharacter(){return!this._neutralCharacterSearched&&(this._neutralCharacterSearched=!0,this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(48,57)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(97,122)),this._neutralCharacter||(this._neutralCharacter=this._findNeutralCharacterInRange(65,90))),this._neutralCharacter}}class s{constructor(e){for(let t of(this.autoClosingPairsOpenByStart=new Map,this.autoClosingPairsOpenByEnd=new Map,this.autoClosingPairsCloseByStart=new Map,this.autoClosingPairsCloseByEnd=new Map,this.autoClosingPairsCloseSingleChar=new Map,e))o(this.autoClosingPairsOpenByStart,t.open.charAt(0),t),o(this.autoClosingPairsOpenByEnd,t.open.charAt(t.open.length-1),t),o(this.autoClosingPairsCloseByStart,t.close.charAt(0),t),o(this.autoClosingPairsCloseByEnd,t.close.charAt(t.close.length-1),t),1===t.close.length&&1===t.open.length&&o(this.autoClosingPairsCloseSingleChar,t.close,t)}}function o(e,t,i){e.has(t)?e.get(t).push(i):e.set(t,[i])}},36329:(e,t,i)=>{i.d(t,{A:()=>r});var n=i(97478);class r{static _nextVisibleColumn(e,t,i){return 9===e?r.nextRenderTabStop(t,i):n.ne(e)||n.Ss(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){let r=Math.min(t-1,e.length),s=e.substring(0,r),o=new n.km(s),a=0;for(;!o.eol();){let e=n.Z5(s,r,o.offset);o.nextGraphemeLength(),a=this._nextVisibleColumn(e,a,i)}return a}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;let r=e.length,s=new n.km(e),o=0,a=1;for(;!s.eol();){let l=n.Z5(e,r,s.offset);s.nextGraphemeLength();let h=this._nextVisibleColumn(l,o,i),d=s.offset+1;
1if(h>=t){let e=t-o;if(h-t<e)return d;return a}o=h,a=d}return r+1}static nextRenderTabStop(e,t){return e+t-e%t}static nextIndentTabStop(e,t){return e+t-e%t}static prevRenderTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}static prevIndentTabStop(e,t){return Math.max(0,e-1-(e-1)%t)}}},39448:(e,t,i)=>{i.d(t,{W:()=>o,c:()=>s});var n=i(74885),r=i(42189);class s{static fromModelContentChanges(e){return e.map(e=>{let t=n.Q.lift(e.range);return new s((0,r.VL)(t.getStartPosition()),(0,r.VL)(t.getEndPosition()),(0,r.rR)(e.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return`[${(0,r.l4)(this.startOffset)}...${(0,r.l4)(this.endOffset)}) -> ${(0,r.l4)(this.newLength)}`}}class o{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(e=>a.from(e))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);let t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return null===i?null:(0,r.MS)(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?(0,r.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):(0,r.qe)(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){let t=(0,r.l4)(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?(0,r.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):(0,r.qe)(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx<this.edits.length;){let t=this.edits[this.nextEditIdx],i=this.translateOldToCur(t.endOffsetAfterObj);if((0,r.vr)(i,e)){this.nextEditIdx++;let e=(0,r.l4)(i),n=(0,r.l4)(this.translateOldToCur(t.endOffsetBeforeObj)),s=e.lineCount-n.lineCount;this.deltaOldToNewLineCount+=s;let o=this.deltaLineIdxInOld===t.endOffsetBeforeObj.lineCount?this.deltaOldToNewColumnCount:0,a=e.columnCount-n.columnCount;this.deltaOldToNewColumnCount=o+a,this.deltaLineIdxInOld=t.endOffsetBeforeObj.lineCount}else break}}}class a{static from(e){return new a(e.startOffset,e.endOffset,e.newLength)}constructor(e,t,i){this.endOffsetBeforeObj=(0,r.l4)(t),this.endOffsetAfterObj=(0,r.l4)((0,r.QB)(e,i)),this.offsetObj=(0,r.l4)(e)}}},42189:(e,t,i)=>{i.d(t,{C7:()=>o,MS:()=>p,QB:()=>c,Qx:()=>L,VL:()=>b,Vh:()=>l,Vp:()=>a,eu:()=>u,l4:()=>d,o0:()=>C,pW:()=>f,qe:()=>h,rR:()=>I,sS:()=>g,vr:()=>k,wP:()=>_,zG:()=>m});var n=i(97478),r=i(74885),s=i(42403);function o(e,t,i,n){return e!==i?h(i-e,n):h(0,n-t)}let a=0;function l(e){return 0===e}function h(e,t){return 0x4000000*e+t}function d(e){let t=Math.floor(e/0x4000000);return new s.W(t,e-0x4000000*t)}function u(e){return Math.floor(e/0x4000000)}function g(e){return e}function c(e,t){let i=e+t;return t>=0x4000000&&(i-=e%0x4000000),i}function f(e,t){return e.reduce((e,i)=>c(e,t(i)),a)}function _(e,t){return e===t}function p(e,t){if(t-e<=0)return a;let i=Math.floor(e/0x4000000),n=Math.floor(t/0x4000000),r=t-0x4000000*n;return i===n?h(0,r-(e-0x4000000*i)):h(n-i,r)}function m(e,t){return e<t}function k(e,t){return e<=t}function C(e,t){return e>=t}function b(e){return h(e.lineNumber-1,e.column-1)}function L(e,t){let i=Math.floor(e/0x4000000),n=Math.floor(t/0x4000000);return new r.Q(i+1,e-0x4000000*i+1,n+1,t-0x4000000*n+1)}function I(e){let t=(0,n.uz)(e);return h(t.length-1,t[t.length-1].length)}},43347:(e,t,i)=>{i.d(t,{T:()=>c});var n=i(12463),r=i(39448),s=i(96052),o=i(42189);function a(e,t=!1){if(0===e.length)return null;if(1===e.length)return e[0];let i=e.length;for(;i>3;){let r=i>>1;for(let s=0;s<r;s++){let r=s<<1;e[s]=n.Xw.create23(e[r],e[r+1],r+3===i?e[r+2]:null,t)}i=r}return n.Xw.create23(e[0],e[1],i>=3?e[2]:null,t)}function l(e,t){return Math.abs(e.listHeight-t.listHeight)}function h(e,t){return e.listHeight===t.listHeight?n.Xw.create23(e,t,null,!1):e.listHeight>t.listHeight?function(e,t){let i,r=e=e.toMutable(),s=[];for(;;){if(t.listHeight===r.listHeight){i=t;break}if(4!==r.kind)throw Error("unexpected");s.push(r),r=r.makeLastElementMutable()}for(let e=s.length-1;e>=0;e--){let t=s[e];i?t.childrenLength>=3?i=n.Xw.create23(t.unappendChild(),i,null,!1):(t.appendChildOfSameHeight(i),i=void 0):t.handleChildrenChanged()}return i?n.Xw.create23(e,i,null,!1):e}(e,t):function(e,t){let i=e=e.toMutable(),r=[];for(;t.listHeight!==i.listHeight;){if(4!==i.kind)throw Error("unexpected");r.push(i),i=i.makeFirstElementMutable()}let s=t;for(let e=r.length-1;e>=0;e--){let t=r[e];s?t.childrenLength>=3?s=n.Xw.create23(s,t.unprependChild(),null,!1):(t.prependChildOfSameHeight(s),s=void 0):t.handleChildrenChanged()}return s?n.Xw.create23(s,e,null,!1):e}(t,e)}class d{constructor(e){this.lastOffset=o.Vp,this.nextNodes=[e],this.offsets=[o.Vp],this.idxs=[]}readLongestNodeAt(e,t){if((0,o.zG)(e,this.lastOffset))throw Error("Invalid offset");for(this.lastOffset=e;;){let i=g(this.nextNodes);if(!i)return;let n=g(this.offsets);if((0,o.zG)(e,n))return;if((0,o.zG)(n,e))if((0,o.QB)(n,i.length)<=e)this.nextNodeAfterCurrent();else{let e=u(i);-1!==e?(this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;let e=u(i);if(-1===e)return void this.nextNodeAfterCurrent();this.nextNodes.push(i.getChild(e)),this.offsets.push(n),this.idxs.push(e)}}}nextNodeAfterCurrent(){for(;;){let e=g(this.offsets),t=g(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;let i=g(this.nextNodes),n=u(i,this.idxs[this.idxs.length-1]);if(-1!==n){this.nextNodes.push(i.getChild(n)),this.offsets.push((0,o.QB)(e,t.length)),this.idxs[this.idxs.length-1]=n;break}this.idxs.pop()}}}function u(e,t=-1){for(;;){if(++t>=e.childrenLength)return -1;if(e.getChild(t))return t}}function g(e){return e.length>0?e[e.length-1]:void 0}function c(e,t,i,n){return new f(e,t,i,n).parseDocument()}class f{constructor(e,t,i,n){if(this.tokenizer=e,this.createImmutableLists=n,this._itemsConstructed=0,this._itemsFromCache=0,i&&n)throw Error("Not supported");this.oldNodeReader=i?new d(i):void 0,this.positionMapper=new r.W(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(s.gV.getEmpty(),0);return e||(e=n.Xw.getEmpty()),e}parseList(e,t){let i=[];for(;;
1){let n=this.tryReadChildFromCache(e);if(!n){let i=this.tokenizer.peek();if(!i||2===i.kind&&i.bracketIds.intersects(e))break;n=this.parseChild(e,t+1)}(4!==n.kind||0!==n.childrenLength)&&i.push(n)}return this.oldNodeReader?function(e){if(0===e.length)return null;if(1===e.length)return e[0];let t=0;function i(){if(t>=e.length)return null;let i=t,n=e[i].listHeight;for(t++;t<e.length&&e[t].listHeight===n;)t++;return t-i>=2?a(0===i&&t===e.length?e:e.slice(i,t),!1):e[i]}let n=i(),r=i();if(!r)return n;for(let e=i();e;e=i())l(n,r)<=l(r,e)?(n=h(n,r),r=e):r=h(r,e);return h(n,r)}(i):a(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){let t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===t||!(0,o.Vh)(t)){let i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),i=>(null===t||!!(0,o.zG)(i.length,t))&&i.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;let i=this.tokenizer.read();switch(i.kind){case 2:return new n.Gc(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new n.yF(i.length);let r=e.merge(i.bracketIds),s=this.parseList(r,t+1),o=this.tokenizer.peek();if(o&&2===o.kind&&(o.bracketId===i.bracketId||o.bracketIds.intersects(i.bracketIds)))return this.tokenizer.read(),n.Nn.create(i.astNode,s,o.astNode);return n.Nn.create(i.astNode,s,null)}default:throw Error("unexpected")}}}},46050:(e,t,i)=>{let n;i.d(t,{$l:()=>l,Gs:()=>c,MB:()=>a,Sw:()=>u,bb:()=>d,gN:()=>h,pJ:()=>g});var r=i(63718),s=i(81029).Buffer;let o=void 0!==s;new r.d(()=>new Uint8Array(256));class a{static wrap(e){return o&&!s.isBuffer(e)&&(e=s.from(e.buffer,e.byteOffset,e.byteLength)),new a(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return o?this.buffer.toString():(n||(n=new TextDecoder),n.decode(this.buffer))}}function l(e,t){return(0|e[t+0])>>>0|e[t+1]<<8>>>0}function h(e,t,i){e[i+0]=255&t,t>>>=8,e[i+1]=255&t}function d(e,t){return 0x1000000*e[t]+65536*e[t+1]+256*e[t+2]+e[t+3]}function u(e,t,i){e[i+3]=t,t>>>=8,e[i+2]=t,t>>>=8,e[i+1]=t,t>>>=8,e[i]=t}function g(e,t){return e[t]}function c(e,t,i){e[i]=t}},46101:(e,t,i)=>{i.d(t,{E$:()=>o,HP:()=>h,Ic:()=>u,U0:()=>s,Wn:()=>n,bg:()=>a,mS:()=>l,uK:()=>r,vn:()=>d});
1class n{constructor(){this.changeType=1}}class r{static applyInjectedText(e,t){if(!t||0===t.length)return e;let i="",n=0;for(let r of t)i+=e.substring(n,r.column-1),n=r.column-1,i+=r.options.content;return i+e.substring(n)}static fromDecorations(e){let t=[];for(let i of e)i.options.before&&i.options.before.content.length>0&&t.push(new r(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new r(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column===t.column?e.order-t.order:e.column-t.column:e.lineNumber-t.lineNumber),t}constructor(e,t,i,n,r){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=n,this.order=r}}class s{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class o{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class a{constructor(e,t,i,n){this.changeType=4,this.injectedTexts=n,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class l{constructor(){this.changeType=5}}class h{constructor(e,t,i,n){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=n,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t<i;t++)if(this.changes[t].changeType===e)return!0;return!1}static merge(e,t){let i=[].concat(e.changes).concat(t.changes),n=t.versionId;return new h(i,n,e.isUndoing||t.isUndoing,e.isRedoing||t.isRedoing)}}class d{constructor(e){this.changes=e}}class u{constructor(e,t){this.rawContentChangedEvent=e,this.contentChangedEvent=t}merge(e){let t=h.merge(this.rawContentChangedEvent,e.rawContentChangedEvent),i=u._mergeChangeEvents(this.contentChangedEvent,e.contentChangedEvent);return new u(t,i)}static _mergeChangeEvents(e,t){let i=[].concat(e.changes).concat(t.changes),n=t.eol,r=t.versionId,s=e.isUndoing||t.isUndoing,o=e.isRedoing||t.isRedoing,a=e.isFlush||t.isFlush;return{changes:i,eol:n,isEolChange:e.isEolChange&&t.isEolChange,versionId:r,isUndoing:s,isRedoing:o,isFlush:a}}}},46605:(e,t,i)=>{i.d(t,{Ho:()=>tN,kI:()=>tO,Bz:()=>tL});var n,r,s=i(13374),o=i(43127),a=i(98839),l=i(52232),h=i(90288),d=i(97478),u=i(55674),g=i(53208),c=i(59007),f=i(20903),_=i(74885),p=i(34098),m=i(64726),k=i(65050),C=i(24823),b=i(86001),L=i(16628),I=i(92142);class x{constructor(e,t,i,n){this.range=e,this.nestingLevel=t,this.nestingLevelOfEqualBracketType=i,this.isInvalid=n}}class v{constructor(e,t,i,n,r,s){this.range=e,this.openingBracketRange=t,this.closingBracketRange=i,this.nestingLevel=n,this.nestingLevelOfEqualBracketType=r,this.bracketPairNode=s}get openingBracketInfo(){return this.bracketPairNode.openingBracket.bracketInfo}}class T extends v{constructor(e,t,i,n,r,s,o){super(e,t,i,n,r,s),this.minVisibleColumnIndentation=o}}var S=i(39448),w=i(75664),E=i(42189),B=i(43347),N=i(96052),O=i(74226),A=i(31490);class R extends h.jG{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new l.vl,this.denseKeyProvider=new N.Mg,this.brackets=new w.Z(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)2===e.tokenization.backgroundTokenizationState?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{let e=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),t=new O._(this.textModel.getValue(),e);this.initialAstWithoutTokens=(0,B.T)(t,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){let e=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){let t=e.map(e=>new S.c((0,E.qe)(e.fromLineNumber-1,0),(0,E.qe)(e.toLineNumber,0),(0,E.qe)(e.toLineNumber-e.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.f
1ire()}handleContentChanged(e){let t=S.c.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){let i=(0,A.M)(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=(0,A.M)(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){let n=new O.tk(this.textModel,this.brackets);return(0,B.T)(n,e,t,i)}getBracketsInRange(e,t){this.flushQueue();let i=(0,E.qe)(e.startLineNumber-1,e.startColumn-1),n=(0,E.qe)(e.endLineNumber-1,e.endColumn-1);return new s.c1(e=>{let r=this.initialAstWithoutTokens||this.astWithTokens;!function e(t,i,n,r,s,o,a,l,h,d,u=!1){if(a>200)return!0;e:for(;;)switch(t.kind){case 4:{let l=t.childrenLength;for(let u=0;u<l;u++){let l=t.getChild(u);if(l){if(n=(0,E.QB)(i,l.length),(0,E.vr)(i,s)&&(0,E.o0)(n,r)){if((0,E.o0)(n,s)){t=l;continue e}if(!e(l,i,n,r,s,o,a,0,h,d))return!1}i=n}}return!0}case 2:{let u=!d||!t.closingBracket||t.closingBracket.bracketInfo.closesColorized(t.openingBracket.bracketInfo),g=0;if(h){let e=h.get(t.openingBracket.text);void 0===e&&(e=0),g=e,u&&(e++,h.set(t.openingBracket.text,e))}let c=t.childrenLength;for(let f=0;f<c;f++){let c=t.getChild(f);if(c){if(n=(0,E.QB)(i,c.length),(0,E.vr)(i,s)&&(0,E.o0)(n,r)){if((0,E.o0)(n,s)&&1!==c.kind){t=c,u?(a++,l=g+1):l=g;continue e}if((u||1!==c.kind||!t.closingBracket)&&!e(c,i,n,r,s,o,u?a+1:a,u?g+1:g,h,d,!t.closingBracket))return!1}i=n}}return h?.set(t.openingBracket.text,g),!0}case 3:return o(new x((0,E.Qx)(i,n),a-1,0,!0));case 1:return o(new x((0,E.Qx)(i,n),a-1,l-1,u));case 0:return!0}}(r,E.Vp,r.length,i,n,e,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();let i=(0,E.VL)(e.getStartPosition()),n=(0,E.VL)(e.getEndPosition());return new s.c1(e=>{let r=this.initialAstWithoutTokens||this.astWithTokens,s=new D(e,t,this.textModel);!function e(t,i,n,r,s,o,a,l){if(a>200)return!0;let h=!0;if(2===t.kind){let d=0;if(l){let e=l.get(t.openingBracket.text);void 0===e&&(e=0),d=e,e++,l.set(t.openingBracket.text,e)}let u=(0,E.QB)(i,t.openingBracket.length),g=-1;if(o.includeMinIndentation&&(g=t.computeMinIndentation(i,o.textModel)),h=o.push(new T((0,E.Qx)(i,n),(0,E.Qx)(i,u),t.closingBracket?(0,E.Qx)((0,E.QB)(u,t.child?.length||E.Vp),n):void 0,a,d,t,g)),i=u,h&&t.child){let d=t.child;if(n=(0,E.QB)(i,d.length),(0,E.vr)(i,s)&&(0,E.o0)(n,r)&&!(h=e(d,i,n,r,s,o,a+1,l)))return!1}l?.set(t.openingBracket.text,d)}else{let n=i;for(let i of t.children){let t=n;if(n=(0,E.QB)(n,i.length),(0,E.vr)(t,s)&&(0,E.vr)(r,n)&&!(h=e(i,t,n,r,s,o,a,l)))return!1}}return h}(r,E.Vp,r.length,i,n,s,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();let t=this.initialAstWithoutTokens||this.astWithTokens;return function e(t,i,n,r){if(4===t.kind||2===t.kind)for(let s of t.children){if(n=(0,E.QB)(i,s.length),(0,E.zG)(r,n)){let t=e(s,i,n,r);if(t)return t}i=n}else if(3===t.kind);else if(1===t.kind){let e=(0,E.Qx)(i,n);return{bracketInfo:t.bracketInfo,range:e}}return null}(t,E.Vp,t.length,(0,E.VL)(e))}getFirstBracketBefore(e){this.flushQueue();let t=this.initialAstWithoutTokens||this.astWithTokens;return function e(t,i,n,r){if(4===t.kind||2===t.kind){let s=[];for(let e of t.children)n=(0,E.QB)(i,e.length),s.push({nodeOffsetStart:i,nodeOffsetEnd:n}),i=n;for(let i=s.length-1;i>=0;i--){let{nodeOffsetStart:n,nodeOffsetEnd:o}=s[i];if((0,E.zG)(n,r)){let s=e(t.children[i],n,o,r);if(s)return s}}}else if(3===t.kind);else if(1===t.kind){let e=(0,E.Qx)(i,n);return{bracketInfo:t.bracketInfo,range:e}}return null}(t,E.Vp,t.length,(0,E.VL)(e))}}class D{constructor(e,t,i){this.push=e,this.includeMinIndentation=t,this.textModel=i}}class M extends h.jG{get canBuildAST(){return 5e6>=this.textModel.getValueLength()}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new h.HE),this.onDidChangeEmitter=new l.vl,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){(!e.languageId||this.bracketPairsTree.value?.object.didLanguageChange(e.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){this.bracketPairsTree.value?.object.handleContentChanged(e)}
1handleDidChangeBackgroundTokenizationState(){this.bracketPairsTree.value?.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){this.bracketPairsTree.value?.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){var e,t;let i=new h.Cm;this.bracketPairsTree.value=(e=i.add(new R(this.textModel,e=>this.languageConfigurationService.getLanguageConfiguration(e))),t=i,{object:e,dispose:()=>t?.dispose()}),i.add(this.bracketPairsTree.value.object.onDidChange(e=>this.onDidChangeEmitter.fire(e))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!1)||s.c1.empty}getBracketPairsInRangeWithMinIndentation(e){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketPairsInRange(e,!0)||s.c1.empty}getBracketsInRange(e,t=!1){return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getBracketsInRange(e,t)||s.c1.empty}findMatchingBracketUp(e,t,i){let n=this.textModel.validatePosition(t),r=this.textModel.getLanguageIdAtPosition(n.lineNumber,n.column);if(this.canBuildAST){let i=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew.getClosingBracketInfo(e);if(!i)return null;let n=this.getBracketPairsInRange(_.Q.fromPositions(t,t)).findLast(e=>i.closes(e.openingBracketInfo));return n?n.openingBracketRange:null}{let t=e.toLowerCase(),s=this.languageConfigurationService.getLanguageConfiguration(r).brackets;if(!s)return null;let o=s.textIsBracket[t];return o?y(this._findMatchingBracketUp(o,n,z(i))):null}}matchBracket(e,t){if(this.canBuildAST){let t=this.getBracketPairsInRange(_.Q.fromPositions(e,e)).filter(t=>void 0!==t.closingBracketRange&&(t.openingBracketRange.containsPosition(e)||t.closingBracketRange.containsPosition(e))).findLastMaxBy((0,s.VE)(t=>t.openingBracketRange.containsPosition(e)?t.openingBracketRange:t.closingBracketRange,_.Q.compareRangesUsingStarts));return t?[t.openingBracketRange,t.closingBracketRange]:null}{let i=z(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,n){let r=t.getCount(),s=t.getLanguageId(n),o=Math.max(0,e.column-1-i.maxBracketLength);for(let e=n-1;e>=0;e--){let i=t.getEndOffset(e);if(i<=o)break;if((0,L.Yo)(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){o=i;break}}let a=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let e=n+1;e<r;e++){let i=t.getStartOffset(e);if(i>=a)break;if((0,L.Yo)(t.getStandardTokenType(e))||t.getLanguageId(e)!==s){a=i;break}}return{searchStartOffset:o,searchEndOffset:a}}_matchBracket(e,t){let i=e.lineNumber,n=this.textModel.tokenization.getLineTokens(i),r=this.textModel.getLineContent(i),s=n.findTokenIndexAtOffset(e.column-1);if(s<0)return null;let o=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(s)).brackets;if(o&&!(0,L.Yo)(n.getStandardTokenType(s))){let{searchStartOffset:a,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,o,s),h=null;for(;;){let n=I.Fu.findNextBracketInRange(o.forwardRegex,i,r,a,l);if(!n)break;if(n.startColumn<=e.column&&e.column<=n.endColumn){let e=r.substring(n.startColumn-1,n.endColumn-1).toLowerCase(),i=this._matchFoundBracket(n,o.textIsBracket[e],o.textIsOpenBracket[e],t);if(i){if(i instanceof P)return null;h=i}}a=n.endColumn-1}if(h)return h}if(s>0&&n.getStartOffset(s)===e.column-1){let o=s-1,a=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId(o)).brackets;if(a&&!(0,L.Yo)(n.getStandardTokenType(o))){let{searchStartOffset:s,searchEndOffset:l}=this._establishBracketSearchOffsets(e,n,a,o),h=I.Fu.findPrevBracketInRange(a.reversedRegex,i,r,s,l);if(h&&h.startColumn<=e.column&&e.column<=h.endColumn){let e=r.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),i=this._matchFoundBracket(h,a.textIsBracket[e],a.textIsOpenBracket[e],t);if(i)return i instanceof P?null:i}}}return null}_matchFoundBracket(e,t,i,n){if(!t)return null;let r=i?this._findMatchingBracketDown(t,e.getEndPosition(),n):this._findMatchingBracketUp(t,e.getStartPosition(),n);return r?r instanceof P?r:[e,r]:null}_findMatchingBracketUp(e,t,i){let n=e.languageId,r=e.reversedRegex,s=-1,o=0,a=(t,n,a,l)=>{for(;;){if(i&&++o%100==0&&!i())return P.INSTANCE;let h=I.Fu.findPrevBracketInRange(r,t,n,a,l);
1if(!h)break;let d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?s++:e.isClose(d)&&s--,0===s)return h;l=h.startColumn-1}return null};for(let e=t.lineNumber;e>=1;e--){let i=this.textModel.tokenization.getLineTokens(e),r=i.getCount(),s=this.textModel.getLineContent(e),o=r-1,l=s.length,h=s.length;e===t.lineNumber&&(o=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,h=t.column-1);let d=!0;for(;o>=0;o--){let t=i.getLanguageId(o)===n&&!(0,L.Yo)(i.getStandardTokenType(o));if(t)d?l=i.getStartOffset(o):(l=i.getStartOffset(o),h=i.getEndOffset(o));else if(d&&l!==h){let t=a(e,s,l,h);if(t)return t}d=t}if(d&&l!==h){let t=a(e,s,l,h);if(t)return t}}return null}_findMatchingBracketDown(e,t,i){let n=e.languageId,r=e.forwardRegex,s=1,o=0,a=(t,n,a,l)=>{for(;;){if(i&&++o%100==0&&!i())return P.INSTANCE;let h=I.Fu.findNextBracketInRange(r,t,n,a,l);if(!h)break;let d=n.substring(h.startColumn-1,h.endColumn-1).toLowerCase();if(e.isOpen(d)?s++:e.isClose(d)&&s--,0===s)return h;a=h.endColumn-1}return null},l=this.textModel.getLineCount();for(let e=t.lineNumber;e<=l;e++){let i=this.textModel.tokenization.getLineTokens(e),r=i.getCount(),s=this.textModel.getLineContent(e),o=0,l=0,h=0;e===t.lineNumber&&(o=i.findTokenIndexAtOffset(t.column-1),l=t.column-1,h=t.column-1);let d=!0;for(;o<r;o++){let t=i.getLanguageId(o)===n&&!(0,L.Yo)(i.getStandardTokenType(o));if(t)d||(l=i.getStartOffset(o)),h=i.getEndOffset(o);else if(d&&l!==h){let t=a(e,s,l,h);if(t)return t}d=t}if(d&&l!==h){let t=a(e,s,l,h);if(t)return t}}return null}findPrevBracket(e){let t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketBefore(t)||null;let i=null,n=null,r=null;for(let e=t.lineNumber;e>=1;e--){let s=this.textModel.tokenization.getLineTokens(e),o=s.getCount(),a=this.textModel.getLineContent(e),l=o-1,h=a.length,d=a.length;if(e===t.lineNumber){l=s.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;let e=s.getLanguageId(l);i!==e&&(i=e,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,r=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let u=!0;for(;l>=0;l--){let t=s.getLanguageId(l);if(i!==t){if(n&&r&&u&&h!==d){let t=I.Fu.findPrevBracketInRange(n.reversedRegex,e,a,h,d);if(t)return this._toFoundBracket(r,t);u=!1}i=t,n=this.languageConfigurationService.getLanguageConfiguration(i).brackets,r=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}
1let o=!!n&&!(0,L.Yo)(s.getStandardTokenType(l));if(o)u?h=s.getStartOffset(l):(h=s.getStartOffset(l),d=s.getEndOffset(l));else if(r&&n&&u&&h!==d){let t=I.Fu.findPrevBracketInRange(n.reversedRegex,e,a,h,d);if(t)return this._toFoundBracket(r,t)}u=o}if(r&&n&&u&&h!==d){let t=I.Fu.findPrevBracketInRange(n.reversedRegex,e,a,h,d);if(t)return this._toFoundBracket(r,t)}}return null}findNextBracket(e){let t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),this.bracketPairsTree.value?.object.getFirstBracketAfter(t)||null;let i=this.textModel.getLineCount(),n=null,r=null,s=null;for(let e=t.lineNumber;e<=i;e++){let i=this.textModel.tokenization.getLineTokens(e),o=i.getCount(),a=this.textModel.getLineContent(e),l=0,h=0,d=0;if(e===t.lineNumber){l=i.findTokenIndexAtOffset(t.column-1),h=t.column-1,d=t.column-1;let e=i.getLanguageId(l);n!==e&&(n=e,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;l<o;l++){let t=i.getLanguageId(l);if(n!==t){if(s&&r&&u&&h!==d){let t=I.Fu.findNextBracketInRange(r.forwardRegex,e,a,h,d);if(t)return this._toFoundBracket(s,t);u=!1}n=t,r=this.languageConfigurationService.getLanguageConfiguration(n).brackets,s=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew}let o=!!r&&!(0,L.Yo)(i.getStandardTokenType(l));if(o)u||(h=i.getStartOffset(l)),d=i.getEndOffset(l);else if(s&&r&&u&&h!==d){let t=I.Fu.findNextBracketInRange(r.forwardRegex,e,a,h,d);if(t)return this._toFoundBracket(s,t)}u=o}if(s&&r&&u&&h!==d){let t=I.Fu.findNextBracketInRange(r.forwardRegex,e,a,h,d);if(t)return this._toFoundBracket(s,t)}}return null}findEnclosingBrackets(e,t){let i=this.textModel.validatePosition(e);if(this.canBuildAST){let e=_.Q.fromPositions(i),t=this.getBracketPairsInRange(_.Q.fromPositions(i,i)).findLast(t=>void 0!==t.closingBracketRange&&t.range.strictContainsRange(e));return t?[t.openingBracketRange,t.closingBracketRange]:null}let n=z(t),r=this.textModel.getLineCount(),s=new Map,o=[],a=(e,t)=>{if(!s.has(e)){let i=[];for(let e=0,n=t?t.brackets.length:0;e<n;e++)i[e]=0;s.set(e,i)}o=s.get(e)},l=0,h=(e,t,i,r,s)=>{for(;;){if(n&&++l%100==0&&!n())return P.INSTANCE;let a=I.Fu.findNextBracketInRange(e.forwardRegex,t,i,r,s);if(!a)break;let h=i.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),d=e.textIsBracket[h];if(d&&(d.isOpen(h)?o[d.index]++:d.isClose(h)&&o[d.index]--,-1===o[d.index]))return this._matchFoundBracket(a,d,!1,n);r=a.endColumn-1}return null},d=null,u=null;for(let e=i.lineNumber;e<=r;e++){let t=this.textModel.tokenization.getLineTokens(e),n=t.getCount(),r=this.textModel.getLineContent(e),s=0,o=0,l=0;if(e===i.lineNumber){s=t.findTokenIndexAtOffset(i.column-1),o=i.column-1,l=i.column-1;let e=t.getLanguageId(s);d!==e&&(d=e,u=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,u))}let g=!0;for(;s<n;s++){let i=t.getLanguageId(s);if(d!==i){if(u&&g&&o!==l){let t=h(u,e,r,o,l);if(t)return y(t);g=!1}d=i,u=this.languageConfigurationService.getLanguageConfiguration(d).brackets,a(d,u)}let n=!!u&&!(0,L.Yo)(t.getStandardTokenType(s));if(n)g||(o=t.getStartOffset(s)),l=t.getEndOffset(s);else if(u&&g&&o!==l){let t=h(u,e,r,o,l);if(t)return y(t)}g=n}if(u&&g&&o!==l){let t=h(u,e,r,o,l);if(t)return y(t)}}return null}_toFoundBracket(e,t){if(!t)return null;let i=this.textModel.getValueInRange(t);i=i.toLowerCase();let n=e.getBracketInfo(i);return n?{range:t,bracketInfo:n}:null}}function z(e){if(void 0===e)return()=>!0;{let t=Date.now();return()=>Date.now()-t<=e}}class P{static{this.INSTANCE=new P}constructor(){this._searchCanceledBrand=void 0}}function y(e){return e instanceof P?null:e}var F=i(47131),V=i(64444);class W extends h.jG{constructor(e){super(),this.textModel=e,this.colorProvider=new U,this.onDidChangeEmitter=new l.vl,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(e=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,n){return n||void 0===t||!this.colorizationOptions.enabled?[]:this.textModel.bracketPairs.getBracketsInRange(e,!0).map(e=>({id:`bracket${e.range.toString()}-${e.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(e,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:e.range})).toArray()}getAllDecorations(e,t){return void 0!==e&&this.colorizationOptions.enabled?this.getDecorationsInRange(new _.Q(1,1,this.textModel.getLineCount(),1),e,t):[]}}class U{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return`bracket-highlighting-${e%30}`}}(0,V.zy)((e,t)=>{let i=[F.sN,F.lQ,F.ss,F.l5,F.sH,F.zp],n=new U;
1t.addRule(`.monaco-editor .${n.unexpectedClosingBracketClassName} { color: ${e.getColor(F.s7)}; }`);let r=i.map(t=>e.getColor(t)).filter(e=>!!e).filter(e=>!e.isTransparent());for(let e=0;e<30;e++){let i=r[e%r.length];t.addRule(`.monaco-editor .${n.getInlineClassNameOfLevel(e)} { color: ${i}; }`)}});var H=i(77102),G=i(67800);class j{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function Q(e,t,i){let n=Math.min(e.getLineCount(),1e4),r=0,s=0,o="",a=0,l=[0,0,0,0,0,0,0,0,0],h=new j;for(let d=1;d<=n;d++){let n=e.getLineLength(d),u=e.getLineContent(d),g=n<=65536,c=!1,f=0,_=0,p=0;for(let t=0;t<n;t++){let i=g?u.charCodeAt(t):e.getLineCharCode(d,t);if(9===i)p++;else if(32===i)_++;else{c=!0,f=t;break}}if(!c||(p>0?r++:_>1&&s++,!function(e,t,i,n,r){let s;for(s=0,r.spacesDiff=0,r.looksLikeAlignment=!1;s<t&&s<n&&e.charCodeAt(s)===i.charCodeAt(s);s++);let o=0,a=0;for(let i=s;i<t;i++)32===e.charCodeAt(i)?o++:a++;let l=0,h=0;for(let e=s;e<n;e++)32===i.charCodeAt(e)?l++:h++;if(o>0&&a>0||l>0&&h>0)return;let d=Math.abs(a-h),u=Math.abs(o-l);if(0===d){r.spacesDiff=u,u>0&&0<=l-1&&l-1<e.length&&l<i.length&&32!==i.charCodeAt(l)&&32===e.charCodeAt(l-1)&&44===e.charCodeAt(e.length-1)&&(r.looksLikeAlignment=!0);return}u%d==0&&(r.spacesDiff=u/d)}(o,a,u,f,h),h.looksLikeAlignment&&!(i&&t===h.spacesDiff)))continue;let m=h.spacesDiff;m<=8&&l[m]++,o=u,a=f}let d=i;r!==s&&(d=r<s);let u=t;if(d){let e=d?0:.1*n;[2,4,6,8,3,5,7].forEach(t=>{let i=l[t];i>e&&(e=i,u=t)}),4===u&&l[4]>0&&l[2]>0&&l[2]>=l[4]/2&&(u=2)}return{insertSpaces:d,tabSize:u}}function q(e){return(1&e.metadata)>>>0}function $(e,t){e.metadata=254&e.metadata|(0|t)}function X(e){return(2&e.metadata)>>>1==1}function Y(e,t){e.metadata=253&e.metadata|!!t<<1}function K(e){return(4&e.metadata)>>>2==1}function Z(e,t){e.metadata=251&e.metadata|!!t<<2}function J(e){return(64&e.metadata)>>>6==1}function ee(e,t){e.metadata=191&e.metadata|!!t<<6}function et(e,t){e.metadata=231&e.metadata|t<<3}function ei(e,t){e.metadata=223&e.metadata|!!t<<5}class en{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,$(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,Z(this,!1),ee(this,!1),et(this,1),ei(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,Y(this,!1)}reset(e,t,i,n){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=n}setOptions(e){this.options=e;let t=this.options.className;Z(this,"squiggly-error"===t||"squiggly-warning"===t||"squiggly-info"===t),ee(this,null!==this.options.glyphMarginClassName),et(this,this.options.stickiness),ei(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}let er=new en(null,0,0);er.parent=er,er.left=er,er.right=er,$(er,0);class es{constructor(){this.root=er,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,n,r,s){return this.root===er?[]:function(e,t,i,n,r,s,o){let a=e.root,l=0,h=0,d=0,u=[],g=0;for(;a!==er;){if(X(a)){Y(a.left,!1),Y(a.right,!1),a===a.parent.right&&(l-=a.parent.delta),a=a.parent;continue}if(!X(a.left)){if(l+a.maxEnd<t){Y(a,!0);continue}if(a.left!==er){a=a.left;continue}}if((h=l+a.start)>i){Y(a,!0);continue}if((d=l+a.end)>=t){a.setCachedOffsets(h,d,s);let e=!0;n&&a.ownerId&&a.ownerId!==n&&(e=!1),r&&K(a)&&(e=!1),o&&!J(a)&&(e=!1),e&&(u[g++]=a)}if(Y(a,!0),a.right!==er&&!X(a.right)){l+=a.delta,a=a.right;continue}}return Y(e.root,!1),u}(this,e,t,i,n,r,s)}search(e,t,i,n){return this.root===er?[]:function(e,t,i,n,r){let s=e.root,o=0,a=0,l=0,h=[],d=0;for(;s!==er;){if(X(s)){Y(s.left,!1),Y(s.right,!1),s===s.parent.right&&(o-=s.parent.delta),s=s.parent;continue}if(s.left!==er&&!X(s.left)){s=s.left;continue}a=o+s.start,l=o+s.end,s.setCachedOffsets(a,l,n);let e=!0;if(t&&s.ownerId&&s.ownerId!==t&&(e=!1),i&&K(s)&&(e=!1),r&&!J(s)&&(e=!1),e&&(h[d++]=s),Y(s,!0),s.right!==er&&!X(s.right)){o+=s.delta,s=s.right;continue}}return Y(e.root,!1),h}(this,e,t,i,n)}collectNodesFromOwner(e){return function(e,t){let i=e.root,n=[],r=0;for(;i!==er;){if(X(i)){Y(i.left,!1),Y(i.right,!1),i=i.parent;continue}if(i.left!==er&&!X(i.left)){i=i.left;continue}if(i.ownerId===t&&(n[r++]=i),Y(i,!0),i.right!==er&&!X(i.right)){i=i.right;continue}}return Y(e.root,!1),n}(this,e)}collectNodesPostOrder(){return function(e){let t=e.root,i=[],n=0;for(;t!==er;){if(X(t)){Y(t.left,!1),Y(t.right,!1),t=t.parent;continue}if(t.left!==er&&!X(t.left)){t=t.left;continue}if(t.right!==er&&!X(t.right)){t=t.right;continue}i[n++]=t,Y(t,!0)}return Y(e.root,!1),i}(this)}insert(e){ea(this,e),this._normalizeDeltaIfNecessary()}delete(e){el(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){let i=e,n=0;for(;e!==this.root;)e===e.parent.right&&(n+=e.parent.delta),e=e.parent;let r=i.start+n,s=i.end+n;i.setCachedOffsets(r,s,t)}acceptReplace(e,t,i,n){let r=function(e,t,i){let n=e.root,r=0,s=0,o=0,a=[],l=0;for(;n!==er;){if(X(n)){Y(n.left,!1),Y(n.right,!1),n===n.parent.right&&(r-=n.parent.delta),n=n.parent;continue}if(!X(n.left)){if(r+n.maxEnd<t){Y(n,!0);continue}if(n.left!==er){n=n.left;continue}}if((s=r+n.start)>i){Y(n,!0);continue}if((o=r+n.end)>=t&&(n.setCachedOffsets(s,o,0),a[l++]=n),Y(n,!0),n.right!==er&&!X(n.right)){r+=n.delta,n=n.right;continue}}return Y(e.root,!1),a}(this,e,e+t);for(let e=0,t=r.length;e<t;e++)el(this,r[e]);this._normalizeDeltaIfNecessary(),function(e,t,i,n){let r=e.root,s=0,o=n-(i-t);for(;r!==er;){if(X(r)){Y(r.left,!1),Y(r.right,!1),r===r.parent.right&&(s-=r.parent.delta),ec(r),r=r.parent;continue}if(!X(r.left)){if(s+r.maxEnd<t){Y(r,!0);continue}if(r.left!==er){r=r.left;continue}}if(s+r.start>i){r.start+=o,r.end+=o,r.delta+=o,(r.delta<-0x40000000||r.delta>0x40000000)&&(e.requestNormalizeDelta=!0),Y(r,!0);continue}if(Y(r,!0),r.right!==er&&!X(r.right)){s+=r.delta,r=r.right;continue}}Y(e.root,!1)}(this,e,e+t,i),this._normalizeDeltaIfNecessary();for(let s=0,o=r.length;s<o;s++){let o=r[s];o.start=o.cachedAbsoluteStart,o.end=o.cachedAbsoluteEnd,function(e,t,i,n,r){let s=(24&e.metadata)>>>3,o=0===s||2===s,a=1===s||2===s,l=i-t,h=Math.min(l,n),d=e.start,u=!1,g=e.end,c=!1;t<=d&&g<=i&&(32&e.metadata)>>>5==1&&(e.start=t,u=!0,e.end=t,c=!0);{let e=r?1:2*(l>0);!u&&eo(d,o,t,e)&&(u=!0),!c&&eo(g,a,t,e)&&(c=!0)}if(h>0&&!r){let e=2*(l>n);!u&&eo(d,o,t+h,e)&&(u=!0),!c&&eo(g,a,t+h,e)&&(c=!0)}{let s=+!!r;!u&&eo(d,o,i,s)&&(e.start=t+n,u=!0),!c&&eo(g,a,i,s)&&(e.end=t+n,c=!0)}let f=n-l;u||(e.start=Math.max(0,d+f)),c||(e.end=Math.max(0,g+f)),e.start>e.end&&(e.end=e.start)}(o,e,e+t,i,n),o.maxEnd=o.end,ea(this,o)}this._normalizeDeltaIfNecessary()}_normalizeDeltaIfNecessary(){this.requestNormalizeDelta&&(this.requestNormalizeDelta=!1,function(e){let t=e.root,i=0;for(;t!==er;){if(t.left!==er&&!X(t.left)){t=t.left;continue}if(t.right!==er&&!X(t.right)){i+=t.delta,t=t.right;continue}t.start=i+t.start,t.end=i+t.end,t.delta=0,ec(t),Y(t,!0),Y(t.left,!1),Y(t.right,!1),t===t.parent.right&&(i-=t.parent.delta),t=t.parent}Y(e.root,!1)}(this))}}function eo(e,t,i,n){return e<i||!(e>i)&&1!==n&&(2===n||t)}function ea(e,t){if(e.root===er)return t.parent=er,t.left=er,t.right=er,$(t,0),e.root=t,e.root;(function(e,t){let i=0,n=e.root,r=t.start,s=t.end;for(;;){var o,a,l,h;if(0>
1(o=r,a=s,l=n.start+i,h=n.end+i,o===l?a-h:o-l))if(n.left===er){t.start-=i,t.end-=i,t.maxEnd-=i,n.left=t;break}else n=n.left;else if(n.right===er){t.start-=i+n.delta,t.end-=i+n.delta,t.maxEnd-=i+n.delta,n.right=t;break}else i+=n.delta,n=n.right}t.parent=n,t.left=er,t.right=er,$(t,1)})(e,t),ef(t.parent);let i=t;for(;i!==e.root&&1===q(i.parent);)if(i.parent===i.parent.parent.left){let t=i.parent.parent.right;1===q(t)?($(i.parent,0),$(t,0),$(i.parent.parent,1),i=i.parent.parent):(i===i.parent.right&&ed(e,i=i.parent),$(i.parent,0),$(i.parent.parent,1),eu(e,i.parent.parent))}else{let t=i.parent.parent.left;1===q(t)?($(i.parent,0),$(t,0),$(i.parent.parent,1),i=i.parent.parent):(i===i.parent.left&&eu(e,i=i.parent),$(i.parent,0),$(i.parent.parent,1),ed(e,i.parent.parent))}return $(e.root,0),t}function el(e,t){let i,n,r;if(t.left===er?(i=t.right,n=t,i.delta+=t.delta,(i.delta<-0x40000000||i.delta>0x40000000)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta):t.right===er?(i=t.left,n=t):(i=(n=function(e){for(;e.left!==er;)e=e.left;return e}(t.right)).right,i.start+=n.delta,i.end+=n.delta,i.delta+=n.delta,(i.delta<-0x40000000||i.delta>0x40000000)&&(e.requestNormalizeDelta=!0),n.start+=t.delta,n.end+=t.delta,n.delta=t.delta,(n.delta<-0x40000000||n.delta>0x40000000)&&(e.requestNormalizeDelta=!0)),n===e.root){e.root=i,$(i,0),t.detach(),eh(),ec(i),e.root.parent=er;return}let s=1===q(n);if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?i.parent=n.parent:(n.parent===t?i.parent=n:i.parent=n.parent,n.left=t.left,n.right=t.right,n.parent=t.parent,$(n,q(t)),t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==er&&(n.left.parent=n),n.right!==er&&(n.right.parent=n)),t.detach(),s){ef(i.parent),n!==t&&(ef(n),ef(n.parent)),eh();return}for(ef(i),ef(i.parent),n!==t&&(ef(n),ef(n.parent));i!==e.root&&0===q(i);)i===i.parent.left?(1===q(r=i.parent.right)&&($(r,0),$(i.parent,1),ed(e,i.parent),r=i.parent.right),0===q(r.left)&&0===q(r.right)?($(r,1),i=i.parent):(0===q(r.right)&&($(r.left,0),$(r,1),eu(e,r),r=i.parent.right),$(r,q(i.parent)),$(i.parent,0),$(r.right,0),ed(e,i.parent),i=e.root)):(1===q(r=i.parent.left)&&($(r,0),$(i.parent,1),eu(e,i.parent),r=i.parent.left),0===q(r.left)&&0===q(r.right)?($(r,1),i=i.parent):(0===q(r.left)&&($(r.right,0),$(r,1),ed(e,r),r=i.parent.left),$(r,q(i.parent)),$(i.parent,0),$(r.left,0),eu(e,i.parent),i=e.root));$(i,0),eh()}function eh(){er.parent=er,er.delta=0,er.start=0,er.end=0}function ed(e,t){let i=t.right;i.delta+=t.delta,(i.delta<-0x40000000||i.delta>0x40000000)&&(e.requestNormalizeDelta=!0),i.start+=t.delta,i.end+=t.delta,t.right=i.left,i.left!==er&&(i.left.parent=t),i.parent=t.parent,t.parent===er?e.root=i:t===t.parent.left?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i,ec(t),ec(i)}function eu(e,t){let i=t.left;t.delta-=i.delta,(t.delta<-0x40000000||t.delta>0x40000000)&&(e.requestNormalizeDelta=!0),t.start-=i.delta,t.end-=i.delta,t.left=i.right,i.right!==er&&(i.right.parent=t),i.parent=t.parent,t.parent===er?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i,ec(t),ec(i)}function eg(e){let t=e.end;if(e.left!==er){let i=e.left.maxEnd;i>t&&(t=i)}if(e.right!==er){let i=e.right.maxEnd+e.delta;i>t&&(t=i)}return t}function ec(e){e.maxEnd=eg(e)}function ef(e){for(;e!==er;){let t=eg(e);if(e.maxEnd===t)return;e.maxEnd=t,e=e.parent}}class e_{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==ep)return em(this.right);let e=this;for(;e.parent!==ep&&e.parent.left!==e;)e=e.parent;return e.parent===ep?ep:e.parent}prev(){if(this.left!==ep)return ek(this.left);let e=this;for(;e.parent!==ep&&e.parent.right!==e;)e=e.parent;return e.parent===ep?ep:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}let ep=new e_(null,0);function em(e){for(;e.left!==ep;)e=e.left;return e}function ek(e){for(;e.right!==ep;)e=e.right;return e}function eC(e){return e===ep?0:e.size_left+e.piece.length+eC(e.right)}function eb(e){return e===ep?0:e.lf_left+e.piece.lineFeedCnt+eb(e.right)}function eL(){ep.parent=ep}function eI(e,t){let i=t.right;i.size_left+=t.size_left+(t.piece?t.piece.length:0),i.lf_left+=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),t.right=i.left,i.left!==ep&&(i.left.parent=t),i.parent=t.parent,t.parent===ep?e.root=i:t.parent.left===t?t.parent.left=i:t.parent.right=i,i.left=t,t.parent=i}function ex(e,t){let i=t.left;t.left=i.right,i.right!==ep&&(i.right.parent=t),i.parent=t.parent,t.size_left-=i.size_left+(i.piece?i.piece.length:0),t.lf_left-=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),t.parent===ep?e.root=i:t===t.parent.right?t.parent.right=i:t.parent.left=i,i.right=t,t.parent=i}function ev(e,t){let i,n,r;if(i=t.left===ep?(n=t).right:t.right===ep?(n=t).left:(n=em(t.right)).right,n===e.root){e.root=i,i.color=0,t.detach(),eL(),e.root.parent=ep;return}let s=1===n.color;if(n===n.parent.left?n.parent.left=i:n.parent.right=i,n===t?(i.parent=n.parent,ew(e,i)):(n.parent===t?i.parent=n:i.parent=n.parent,ew(e,i),n.left=t.left,n.right=t.right,n.parent=t.parent,n.color=t.color,t===e.root?e.root=n:t===t.parent.left?t.parent.left=n:t.parent.right=n,n.left!==ep&&(n.left.parent=n),n.right!==ep&&(n.right.parent=n),n.size_left=t.size_left,n.lf_left=t.lf_left,ew(e,n)),t.detach(),i.parent.left===i){let t=eC(i),n=eb(i);if(t!==i.parent.size_left||n!==i.parent.lf_left){let r=t-i.parent.size_left,s=n-i.parent.lf_left;i.parent.size_left=t,i.parent.lf_left=n,eS(e,i.parent,r,s)}}if(ew(e,i.parent),s)return void eL();for(;i!==e.root&&0===i.color;)i===i.parent.left?(1===(r=i.parent.right).color&&(r.color=0,i.parent.color=1,eI(e,i.parent),r=i.parent.right),0===r.left.color&&0===r.right.color?(r.color=1,i=i.parent):(0===r.right.color&&(r.left.color=0,r.color=1,ex(e,r),r=i.parent.right),r.color=i.parent.color,i.parent.color=0,r.right.color=0,eI(e,i.parent),i=e.root)):(1===(r=i.parent.left).color&&(r.color=0,i.parent.color=1,ex(e,i.parent),r=i.parent.left),0===r.left.color&&0===r.right.color?(r.color=1,i=i.parent):(0===r.left.color&&(r.right.color=0,r.color=1,eI(e,r),r=i.parent.left),r.color=i.parent.color,i.parent.color=0,r.left.color=0,ex(e,i.parent),i=e.root));i.color=0,eL()}function eT(e,t){for(ew(e,t);t!==e.root&&1===t.parent.color;)if(t.parent===t.parent.parent.left){let i=t.parent.parent.right;
11===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.right&&eI(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,ex(e,t.parent.parent))}else{let i=t.parent.parent.left;1===i.color?(t.parent.color=0,i.color=0,t.parent.parent.color=1,t=t.parent.parent):(t===t.parent.left&&ex(e,t=t.parent),t.parent.color=0,t.parent.parent.color=1,eI(e,t.parent.parent))}e.root.color=0}function eS(e,t,i,n){for(;t!==e.root&&t!==ep;)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}function ew(e,t){let i=0,n=0;if(t!==e.root){for(;t!==e.root&&t===t.parent.right;)t=t.parent;if(t!==e.root)for(i=eC((t=t.parent).left)-t.size_left,n=eb(t.left)-t.lf_left,t.size_left+=i,t.lf_left+=n;t!==e.root&&(0!==i||0!==n);)t.parent.left===t&&(t.parent.size_left+=i,t.parent.lf_left+=n),t=t.parent}}ep.parent=ep,ep.left=ep,ep.right=ep,ep.color=0;var eE=i(54170);function eB(e){let t;return(t=e[e.length-1]<65536?new Uint16Array(e.length):new Uint32Array(e.length)).set(e,0),t}class eN{constructor(e,t,i,n,r){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=n,this.isBasicASCII=r}}function eO(e,t=!0){let i=[0],n=1;for(let t=0,r=e.length;t<r;t++){let s=e.charCodeAt(t);13===s?t+1<r&&10===e.charCodeAt(t+1)?(i[n++]=t+2,t++):i[n++]=t+1:10===s&&(i[n++]=t+1)}return t?eB(i):i}class eA{constructor(e,t,i,n,r){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=n,this.length=r}}class eR{constructor(e,t){this.buffer=e,this.lineStarts=t}}class eD{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==ep&&e.iterate(e.root,e=>(e!==ep&&this._pieces.push(e.piece),!0))}read(){if(0===this._pieces.length)if(0===this._index)return this._index++,this._BOM;else return null;return this._index>this._pieces.length-1?null:0===this._index?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class eM{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){let i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){let i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber<e&&i.nodeStartLineNumber+i.node.piece.lineFeedCnt>=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1,i=this._cache;for(let n=0;n<i.length;n++){let r=i[n];if(null===r.node.parent||r.nodeStartOffset>=e){i[n]=null,t=!0;continue}}if(t){let e=[];for(let t of i)null!==t&&e.push(t);this._cache=e}}}class ez{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new eR("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=ep,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let n=null;for(let t=0,i=e.length;t<i;t++)if(e[t].buffer.length>0){e[t].lineStarts||(e[t].lineStarts=eO(e[t].buffer));let i=new eA(t+1,{line:0,column:0},{line:e[t].lineStarts.length-1,column:e[t].buffer.length-e[t].lineStarts[e[t].lineStarts.length-1]},e[t].lineStarts.length-1,e[t].buffer.length);this._buffers.push(e[t]),n=this.rbInsertRight(n,i)}this._searchCache=new eM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){let t=65535-Math.floor(21845),i=2*t,n="",r=0,s=[];if(this.iterate(this.root,o=>{let a=this.getNodeContent(o),l=a.length;if(r<=t||r+l<i)return n+=a,r+=l,!0;let h=n.replace(/\r\n|\r|\n/g,e);return s.push(new eR(h,eO(h))),n=a,r=l,!0}),r>0){let t=n.replace(/\r\n|\r|\n/g,e);s.push(new eR(t,eO(t)))}this.create(s,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new eD(this,e)}getOffsetAt(e,t){let i=0,n=this.root;for(;n!==ep;)if(n.left!==ep&&n.lf_left+1>=e)n=n.left;else{if(n.lf_left+n.piece.lineFeedCnt+1>=e)return(i+=n.size_left)+(this.getAccumulatedValue(n,e-n.lf_left-2)+t-1);e-=n.lf_left+n.piece.lineFeedCnt,i+=n.size_left+n.piece.length,n=n.right}return i}getPositionAt(e){e=Math.max(0,e=Math.floor(e));let t=this.root,i=0,n=e;for(;t!==ep;)if(0!==t.size_left&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){let r=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+r.index,0===r.index){let e=n-this.getOffsetAt(i+1,1);return new f.y(i+1,e+1)}return new f.y(i+1,r.remainder+1)}else{if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===ep){let t=this.getOffsetAt(i+1,1),r=n-e-t;return new f.y(i+1,r+1)}t=t.right}return new f.y(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";let i=this.nodeAt2(e.startLineNumber,e.startColumn),n=this.nodeAt2(e.endLineNumber,e.endColumn),r=this.getValueInRange2(i,n);return t?t===this._EOL&&this._EOLNormalized&&t===this.getEOL()&&this._EOLNormalized?r:r.replace(/\r\n|\r|\n/g,t):r}getValueInRange2(e,t){if(e.node===t.node){let i=e.node,n=this._buffers[i.piece.bufferIndex].buffer,r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return n.substring(r+e.remainder,r+t.remainder)}let i=e.node,n=this._buffers[i.piece.bufferIndex].buffer,r=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start),s=n.substring(r+e.remainder,r+i.piece.length);for(i=i.next();i!==ep;){let e=this._buffers[i.piece.bufferIndex].buffer,n=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){s+=e.substring(n,n+t.remainder);break}s+=e.substr(n,i.piece.length),i=i.next()}return s}getLinesContent(){let e=[],t=0,i="",n=!1;return this.iterate(this.root,r=>{if(r===ep)return!0;let s=r.piece,o=s.length;if(0===o)return!0;let a=this._buffers[s.bufferIndex].buffer,l=this._buffers[s.bufferIndex].lineStarts,h=s.start.line,d=s.end.line,u=l[h]+s.start.column;
1if(n&&(10===a.charCodeAt(u)&&(u++,o--),e[t++]=i,i="",n=!1,0===o))return!0;if(h===d)return this._EOLNormalized||13!==a.charCodeAt(u+o-1)?i+=a.substr(u,o):(n=!0,i+=a.substr(u,o-1)),!0;i+=this._EOLNormalized?a.substring(u,Math.max(u,l[h+1]-this._EOLLength)):a.substring(u,l[h+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let n=h+1;n<d;n++)i=this._EOLNormalized?a.substring(l[n],l[n+1]-this._EOLLength):a.substring(l[n],l[n+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;return this._EOLNormalized||13!==a.charCodeAt(l[d]+s.end.column-1)?i=a.substr(l[d],s.end.column):(n=!0,0===s.end.column?t--:i=a.substr(l[d],s.end.column-1)),!0}),n&&(e[t++]=i,i=""),e[t++]=i,e}getLength(){return this._length}getLineCount(){return this._lineCnt}getLineContent(e){return this._lastVisitedLine.lineNumber===e||(this._lastVisitedLine.lineNumber=e,e===this._lineCnt?this._lastVisitedLine.value=this.getLineRawContent(e):this._EOLNormalized?this._lastVisitedLine.value=this.getLineRawContent(e,this._EOLLength):this._lastVisitedLine.value=this.getLineRawContent(e).replace(/(\r\n|\r|\n)$/,"")),this._lastVisitedLine.value}_getCharCode(e){if(e.remainder===e.node.piece.length){let t=e.node.next();if(!t)return 0;let i=this._buffers[t.piece.bufferIndex],n=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start);return i.buffer.charCodeAt(n)}{let t=this._buffers[e.node.piece.bufferIndex],i=this.offsetInBuffer(e.node.piece.bufferIndex,e.node.piece.start)+e.remainder;return t.buffer.charCodeAt(i)}}getLineCharCode(e,t){let i=this.nodeAt2(e,t+1);return this._getCharCode(i)}getLineLength(e){if(e===this.getLineCount()){let t=this.getOffsetAt(e,1);return this.getLength()-t}return this.getOffsetAt(e+1,1)-this.getOffsetAt(e,1)-this._EOLLength}findMatchesInNode(e,t,i,n,r,s,o,a,l,h,d){let u,g,c,f=this._buffers[e.piece.bufferIndex],p=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start),m=this.offsetInBuffer(e.piece.bufferIndex,r),k=this.offsetInBuffer(e.piece.bufferIndex,s),C={line:0,column:0};t._wordSeparators?(g=f.buffer.substring(m,k),c=e=>e+m,t.reset(0)):(g=f.buffer,c=e=>e,t.reset(m));do if(u=t.next(g)){if(c(u.index)>=k)return h;this.positionInBuffer(e,c(u.index)-p,C);let t=this.getLineFeedCnt(e.piece.bufferIndex,r,C),s=C.line===r.line?C.column-r.column+n:C.column+1,o=s+u[0].length;if(d[h++]=(0,eE.dr)(new _.Q(i+t,s,i+t,o),u,a),c(u.index)+u[0].length>=k)return h;if(h>=l)break}while(u);return h}findMatchesLineByLine(e,t,i,n){let r=[],s=0,o=new eE.W5(t.wordSeparators,t.regex),a=this.nodeAt2(e.startLineNumber,e.startColumn);if(null===a)return[];let l=this.nodeAt2(e.endLineNumber,e.endColumn);if(null===l)return[];let h=this.positionInBuffer(a.node,a.remainder),d=this.positionInBuffer(l.node,l.remainder);if(a.node===l.node)return this.findMatchesInNode(a.node,o,e.startLineNumber,e.startColumn,h,d,t,i,n,s,r),r;let u=e.startLineNumber,g=a.node;for(;g!==l.node;){let l=this.getLineFeedCnt(g.piece.bufferIndex,h,g.piece.end);if(l>=1){let a=this._buffers[g.piece.bufferIndex].lineStarts,d=this.offsetInBuffer(g.piece.bufferIndex,g.piece.start),c=a[h.line+l],f=u===e.startLineNumber?e.startColumn:1;if((s=this.findMatchesInNode(g,o,u,f,h,this.positionInBuffer(g,c-d),t,i,n,s,r))>=n)return r;u+=l}let d=u===e.startLineNumber?e.startColumn-1:0;if(u===e.endLineNumber){let a=this.getLineContent(u).substring(d,e.endColumn-1);return s=this._findMatchesInLine(t,o,a,e.endLineNumber,d,s,r,i,n),r}if((s=this._findMatchesInLine(t,o,this.getLineContent(u).substr(d),u,d,s,r,i,n))>=n)return r;u++,g=(a=this.nodeAt2(u,1)).node,h=this.positionInBuffer(a.node,a.remainder)}if(u===e.endLineNumber){let a=u===e.startLineNumber?e.startColumn-1:0,l=this.getLineContent(u).substring(a,e.endColumn-1);return s=this._findMatchesInLine(t,o,l,e.endLineNumber,a,s,r,i,n),r}let c=u===e.startLineNumber?e.startColumn:1;return s=this.findMatchesInNode(l.node,o,u,c,h,d,t,i,n,s,r),r}_findMatchesInLine(e,t,i,n,r,s,o,a,l){let h,d=e.wordSeparators;if(!a&&e.simpleSearch){let t=e.simpleSearch,a=t.length,h=i.length,u=-a;for(;-1!==(u=i.indexOf(t,u+a))&&(!(!d||(0,eE.wC)(d,i,h,u,a))||(o[s++]=new b.Dg(new _.Q(n,u+1+r,n,u+1+a+r),null),!(s>=l))););return s}t.reset(0);do if((h=t.next(i))&&(o[s++]=(0,eE.dr)(new _.Q(n,h.index+1+r,n,h.index+1+h[0].length+r),h,a),s>=l))break;while(h);return s}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==ep){let{node:i,remainder:n,nodeStartOffset:r}=this.nodeAt(e),s=i.piece,o=s.bufferIndex,a=this.positionInBuffer(i,n);if(0===i.piece.bufferIndex&&s.end.line===this._lastChangeBufferPos.line&&s.end.column===this._lastChangeBufferPos.column&&r+s.length===e&&t.length<65535){this.appendToNode(i,t),this.computeBufferMetadata();return}if(r===e)this.insertContentToNodeLeft(t,i),this._searchCache.validate(e);else if(r+i.piece.length>e){let e=[],r=new eA(s.bufferIndex,a,s.end,this.getLineFeedCnt(s.bufferIndex,a,s.end),this.offsetInBuffer(o,s.end)-this.offsetInBuffer(o,a));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&10===this.nodeCharCodeAt(i,n)){let e={line:r.start.line+1,column:0};r=new eA(r.bufferIndex,e,r.end,this.getLineFeedCnt(r.bufferIndex,e,r.end),r.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(13===this.nodeCharCodeAt(i,n-1)){let r=this.positionInBuffer(i,n-1);this.deleteNodeTail(i,r),t="\r"+t,0===i.piece.length&&e.push(i)}else this.deleteNodeTail(i,a);else this.deleteNodeTail(i,a);let l=this.createNewPieces(t);r.length>0&&this.rbInsertRight(i,r);let h=i;for(let e=0;e<l.length;e++)h=this.rbInsertRight(h,l[e]);this.deleteNodes(e)}else this.insertContentToNodeRight(t,i)}else{let e=this.createNewPieces(t),i=this.rbInsertLeft(null,e[0]);for(let t=1;t<e.length;t++)i=this.rbInsertRight(i,e[t])}this.computeBufferMetadata()}delete(e,t){if(this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",t<=0||this.root===ep)return;let i=this.nodeAt(e),n=this.nodeAt(e+t),r=i.node,s=n.node;if(r===s){let s=this.positionInBuffer(r,i.remainder),o=this.positionInBuffer(r,n.remainder);if(i.nodeStartOffset===e){if(t===r.piece.length){let e=r.next();ev(this,r),this.validateCRLFWithPrevNode(e),this.computeBufferMetadata();return}this.deleteNodeHead(r,o),this._searchCache.validate(e),this.validateCRLFWithPrevNode(r),this.computeBufferMetadata();return}if(i.nodeStartOffset+r.piece.length===e+t){this.deleteNodeTail(r,s),this.validateCRLFWithNextNode(r),this.computeBufferMetadata();return}this.shrinkNode(r,s,o),this.computeBufferMetadata();return}let o=[],a=this.positionInBuffer(r,i.remainder);this.deleteNodeTail(r,a),this._searchCache.validate(e),0===r.piece.length&&o.push(r);let l=this.positionInBuffer(s,n.remainder);this.deleteNodeHead(s,l),0===s.piece.length&&o.push(s);let h=r.next();for(let e=h;e!==ep&&e!==s;e=e.next())o.push(e);let d=0===r.piece.length?r.prev():r;
1this.deleteNodes(o),this.validateCRLFWithNextNode(d),this.computeBufferMetadata()}insertContentToNodeLeft(e,t){let i=[];if(this.shouldCheckCRLF()&&this.endWithCR(e)&&this.startWithLF(t)){let n=t.piece,r={line:n.start.line+1,column:0};t.piece=new eA(n.bufferIndex,r,n.end,this.getLineFeedCnt(n.bufferIndex,r,n.end),n.length-1),e+="\n",eS(this,t,-1,-1),0===t.piece.length&&i.push(t)}let n=this.createNewPieces(e),r=this.rbInsertLeft(t,n[n.length-1]);for(let e=n.length-2;e>=0;e--)r=this.rbInsertLeft(r,n[e]);this.validateCRLFWithPrevNode(r),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");let i=this.createNewPieces(e),n=this.rbInsertRight(t,i[0]),r=n;for(let e=1;e<i.length;e++)r=this.rbInsertRight(r,i[e]);this.validateCRLFWithPrevNode(n)}positionInBuffer(e,t,i){let n=e.piece,r=e.piece.bufferIndex,s=this._buffers[r].lineStarts,o=s[n.start.line]+n.start.column+t,a=n.start.line,l=n.end.line,h=0,d=0,u=0;for(;a<=l&&(u=s[h=a+(l-a)/2|0],h!==l);)if(d=s[h+1],o<u)l=h-1;else if(o>=d)a=h+1;else break;return i?(i.line=h,i.column=o-u,null):{line:h,column:o-u}}getLineFeedCnt(e,t,i){if(0===i.column)return i.line-t.line;let n=this._buffers[e].lineStarts;if(i.line===n.length-1)return i.line-t.line;let r=n[i.line+1],s=n[i.line]+i.column;return r>s+1?i.line-t.line:13===this._buffers[e].buffer.charCodeAt(s-1)?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;t<e.length;t++)ev(this,e[t])}createNewPieces(e){if(e.length>65535){let t=[];for(;e.length>65535;){let i,n=e.charCodeAt(65534);13===n||n>=55296&&n<=56319?(i=e.substring(0,65534),e=e.substring(65534)):(i=e.substring(0,65535),e=e.substring(65535));let r=eO(i);t.push(new eA(this._buffers.length,{line:0,column:0},{line:r.length-1,column:i.length-r[r.length-1]},r.length-1,i.length)),this._buffers.push(new eR(i,r))}let i=eO(e);return t.push(new eA(this._buffers.length,{line:0,column:0},{line:i.length-1,column:e.length-i[i.length-1]},i.length-1,e.length)),this._buffers.push(new eR(e,i)),t}let t=this._buffers[0].buffer.length,i=eO(e,!1),n=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&0!==t&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},n=this._lastChangeBufferPos;for(let e=0;e<i.length;e++)i[e]+=t+1;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+="_"+e,t+=1}else{if(0!==t)for(let e=0;e<i.length;e++)i[e]+=t;this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(i.slice(1)),this._buffers[0].buffer+=e}let r=this._buffers[0].buffer.length,s=this._buffers[0].lineStarts.length-1,o=r-this._buffers[0].lineStarts[s],a={line:s,column:o},l=new eA(0,n,a,this.getLineFeedCnt(0,n,a),r-t);return this._lastChangeBufferPos=a,[l]}getLineRawContent(e,t=0){let i=this.root,n="",r=this._searchCache.get2(e);if(r){i=r.node;let s=this.getAccumulatedValue(i,e-r.nodeStartLineNumber-1),o=this._buffers[i.piece.bufferIndex].buffer,a=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(r.nodeStartLineNumber+i.piece.lineFeedCnt===e)n=o.substring(a+s,a+i.piece.length);else{let n=this.getAccumulatedValue(i,e-r.nodeStartLineNumber);return o.substring(a+s,a+n-t)}}else{let r=0,s=e;for(;i!==ep;)if(i.left!==ep&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){let n=this.getAccumulatedValue(i,e-i.lf_left-2),o=this.getAccumulatedValue(i,e-i.lf_left-1),a=this._buffers[i.piece.bufferIndex].buffer,l=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:r,nodeStartLineNumber:s-(e-1-i.lf_left)}),a.substring(l+n,l+o-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){let t=this.getAccumulatedValue(i,e-i.lf_left-2),r=this._buffers[i.piece.bufferIndex].buffer,s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n=r.substring(s+t,s+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==ep;){let e=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){let r=this.getAccumulatedValue(i,0),s=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);n+=e.substring(s,s+r-t);break}{let t=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);
1n+=e.substr(t,i.piece.length)}i=i.next()}return n}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==ep;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){let i=e.piece,n=this.positionInBuffer(e,t),r=n.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){let t=this.getLineFeedCnt(e.piece.bufferIndex,i.start,n);if(t!==r)return{index:t,remainder:0}}return{index:r,remainder:n.column}}getAccumulatedValue(e,t){if(t<0)return 0;let i=e.piece,n=this._buffers[i.bufferIndex].lineStarts,r=i.start.line+t+1;return r>i.end.line?n[i.end.line]+i.end.column-n[i.start.line]-i.start.column:n[r]-n[i.start.line]-i.start.column}deleteNodeTail(e,t){let i=e.piece,n=i.lineFeedCnt,r=this.offsetInBuffer(i.bufferIndex,i.end),s=this.offsetInBuffer(i.bufferIndex,t),o=this.getLineFeedCnt(i.bufferIndex,i.start,t),a=o-n,l=s-r,h=i.length+l;e.piece=new eA(i.bufferIndex,i.start,t,o,h),eS(this,e,l,a)}deleteNodeHead(e,t){let i=e.piece,n=i.lineFeedCnt,r=this.offsetInBuffer(i.bufferIndex,i.start),s=this.getLineFeedCnt(i.bufferIndex,t,i.end),o=this.offsetInBuffer(i.bufferIndex,t),a=s-n,l=r-o,h=i.length+l;e.piece=new eA(i.bufferIndex,t,i.end,s,h),eS(this,e,l,a)}shrinkNode(e,t,i){let n=e.piece,r=n.start,s=n.end,o=n.length,a=n.lineFeedCnt,l=this.getLineFeedCnt(n.bufferIndex,n.start,t),h=this.offsetInBuffer(n.bufferIndex,t)-this.offsetInBuffer(n.bufferIndex,r);e.piece=new eA(n.bufferIndex,n.start,t,l,h),eS(this,e,h-o,l-a);let d=new eA(n.bufferIndex,i,s,this.getLineFeedCnt(n.bufferIndex,i,s),this.offsetInBuffer(n.bufferIndex,s)-this.offsetInBuffer(n.bufferIndex,i)),u=this.rbInsertRight(e,d);this.validateCRLFWithPrevNode(u)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");let i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),n=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;let r=eO(t,!1);for(let e=0;e<r.length;e++)r[e]+=n;if(i){let e=this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-2];this._buffers[0].lineStarts.pop(),this._lastChangeBufferPos={line:this._lastChangeBufferPos.line-1,column:n-e}}this._buffers[0].lineStarts=this._buffers[0].lineStarts.concat(r.slice(1));let s=this._buffers[0].lineStarts.length-1,o=this._buffers[0].buffer.length-this._buffers[0].lineStarts[s],a={line:s,column:o},l=e.piece.length+t.length,h=e.piece.lineFeedCnt,d=this.getLineFeedCnt(0,e.piece.start,a),u=d-h;e.piece=new eA(e.piece.bufferIndex,e.piece.start,a,d,l),this._lastChangeBufferPos=a,eS(this,e,t.length,u)}nodeAt(e){let t=this.root,i=this._searchCache.get(e);if(i)return{node:i.node,nodeStartOffset:i.nodeStartOffset,remainder:e-i.nodeStartOffset};let n=0;for(;t!==ep;)if(t.size_left>e)t=t.left;else if(t.size_left+t.piece.length>=e){n+=t.size_left;let i={node:t,remainder:e-t.size_left,nodeStartOffset:n};return this._searchCache.set(i),i}else e-=t.size_left+t.piece.length,n+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,n=0;for(;i!==ep;)if(i.left!==ep&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){let r=this.getAccumulatedValue(i,e-i.lf_left-2),s=this.getAccumulatedValue(i,e-i.lf_left-1);return n+=i.size_left,{node:i,remainder:Math.min(r+t-1,s),nodeStartOffset:n}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){let r=this.getAccumulatedValue(i,e-i.lf_left-2);if(r+t-1<=i.piece.length)return{node:i,remainder:r+t-1,nodeStartOffset:n};t-=i.piece.length-r;break}else e-=i.lf_left+i.piece.lineFeedCnt,n+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==ep;){if(i.piece.lineFeedCnt>0){let e=this.getAccumulatedValue(i,0),n=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,e),nodeStartOffset:n}}if(i.piece.length>=t-1){let e=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:e}}t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return -1;let i=this._buffers[e.piece.bufferIndex],n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(n)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(e){if("string"==typeof e)return 10===e.charCodeAt(0);if(e===ep||0===e.piece.lineFeedCnt)return!1;let t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,n=t.start.line,r=i[n]+t.start.column;return n!==i.length-1&&!(i[n+1]>
1r+1)&&10===this._buffers[t.bufferIndex].buffer.charCodeAt(r)}endWithCR(e){return"string"==typeof e?13===e.charCodeAt(e.length-1):e!==ep&&0!==e.piece.lineFeedCnt&&13===this.nodeCharCodeAt(e,e.piece.length-1)}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){let t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){let t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){let i,n=[],r=this._buffers[e.piece.bufferIndex].lineStarts;i=0===e.piece.end.column?{line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:{line:e.piece.end.line,column:e.piece.end.column-1};let s=e.piece.length-1,o=e.piece.lineFeedCnt-1;e.piece=new eA(e.piece.bufferIndex,e.piece.start,i,o,s),eS(this,e,-1,-1),0===e.piece.length&&n.push(e);let a={line:t.piece.start.line+1,column:0},l=t.piece.length-1,h=this.getLineFeedCnt(t.piece.bufferIndex,a,t.piece.end);t.piece=new eA(t.piece.bufferIndex,a,t.piece.end,h,l),eS(this,t,-1,-1),0===t.piece.length&&n.push(t);let d=this.createNewPieces("\r\n");this.rbInsertRight(e,d[0]);for(let e=0;e<n.length;e++)ev(this,n[e])}adjustCarriageReturnFromNext(e,t){if(this.shouldCheckCRLF()&&this.endWithCR(e)){let i=t.next();if(this.startWithLF(i)){if(e+="\n",1===i.piece.length)ev(this,i);else{let e=i.piece,t={line:e.start.line+1,column:0},n=e.length-1,r=this.getLineFeedCnt(e.bufferIndex,t,e.end);i.piece=new eA(e.bufferIndex,t,e.end,r,n),eS(this,i,-1,-1)}return!0}}return!1}iterate(e,t){if(e===ep)return t(ep);let i=this.iterate(e.left,t);return i?t(e)&&this.iterate(e.right,t):i}getNodeContent(e){if(e===ep)return"";let t=this._buffers[e.piece.bufferIndex],i=e.piece,n=this.offsetInBuffer(i.bufferIndex,i.start),r=this.offsetInBuffer(i.bufferIndex,i.end);return t.buffer.substring(n,r)}getPieceContent(e){let t=this._buffers[e.bufferIndex],i=this.offsetInBuffer(e.bufferIndex,e.start),n=this.offsetInBuffer(e.bufferIndex,e.end);return t.buffer.substring(i,n)}rbInsertRight(e,t){let i=new e_(t,1);if(i.left=ep,i.right=ep,i.parent=ep,i.size_left=0,i.lf_left=0,this.root===ep)this.root=i,i.color=0;else if(e.right===ep)e.right=i,i.parent=e;else{let t=em(e.right);t.left=i,i.parent=t}return eT(this,i),i}rbInsertLeft(e,t){let i=new e_(t,1);if(i.left=ep,i.right=ep,i.parent=ep,i.size_left=0,i.lf_left=0,this.root===ep)this.root=i,i.color=0;else if(e.left===ep)e.left=i,i.parent=e;else{let t=ek(e.left);t.right=i,i.parent=t}return eT(this,i),i}}var eP=i(31051);class ey extends h.jG{constructor(e,t,i,n,r,s,o){super(),this._onDidChangeContent=this._register(new l.vl),this._BOM=t,this._mightContainNonBasicASCII=!s,this._mightContainRTL=n,this._mightContainUnusualLineTerminators=r,this._pieceTree=new ez(e,i,o)}mightContainRTL(){return this._mightContainRTL}mightContainUnusualLineTerminators(){return this._mightContainUnusualLineTerminators}resetMightContainUnusualLineTerminators(){this._mightContainUnusualLineTerminators=!1}mightContainNonBasicASCII(){return this._mightContainNonBasicASCII}getBOM(){return this._BOM}getEOL(){return this._pieceTree.getEOL()}createSnapshot(e){return this._pieceTree.createSnapshot(e?this._BOM:"")}getOffsetAt(e,t){return this._pieceTree.getOffsetAt(e,t)}getPositionAt(e){return this._pieceTree.getPositionAt(e)}getRangeAt(e,t){let i=this.getPositionAt(e),n=this.getPositionAt(e+t);return new _.Q(i.lineNumber,i.column,n.lineNumber,n.column)}getValueInRange(e,t=0){if(e.isEmpty())return"";let i=this._getEndOfLine(t);return this._pieceTree.getValueInRange(e,i)}getValueLengthInRange(e,t=0){if(e.isEmpty())return 0;if(e.startLineNumber===e.endLineNumber)return e.endColumn-e.startColumn;let i=this.getOffsetAt(e.startLineNumber,e.startColumn),n=this.getOffsetAt(e.endLineNumber,e.endColumn),r=0,s=this._getEndOfLine(t),o=this.getEOL();return s.length!==o.length&&(r=(s.length-o.length)*(e.endLineNumber-e.startLineNumber)),n-i+r}getCharacterCountInRange(e,t=0){if(this._mightContainNonBasicASCII){let i=0,n=e.startLineNumber,r=e.endLineNumber;for(let t=n;t<=r;t++){let s=this.getLineContent(t),o=t===n?e.startColumn-1:0,a=t===r?e.endColumn-1:s.length;for(let e=o;e<a;e++)d.pc(s.charCodeAt(e))?(i+=1,e+=1):i+=1}return i+this._getEndOfLine(t).length*(r-n)}return this.getValueLengthInRange(e,t)}getLength(){return this._pieceTree.getLength()}getLineCount(){return this._pieceTree.getLineCount()}getLinesContent(){return this._pieceTree.getLinesContent()}getLineContent(e){return this._pieceTree.getLineContent(e)}getLineCharCode(e,t){return this._pieceTree.getLineCharCode(e,t)}getLineLength(e){return this._pieceTree.getLineLength(e)}getLineFirstNonWhitespaceColumn(e){let t=d.HG(this.getLineContent(e));return -1===t?0:t+1}getLineLastNonWhitespaceColumn(e){let t=d.lT(this.getLineContent(e));return -1===t?0:t+2}_getEndOfLine(e){switch(e){case 1:return"\n";case 2:return"\r\n";case 0:return this.getEOL();default:throw Error("Unknown EOL preference")}}setEOL(e){this._pieceTree.setEOL(e)}applyEdits(e,t,i){let n=this._mightContainRTL,r=this._mightContainUnusualLineTerminators,s=this._mightContainNonBasicASCII,o=!0,a=[];for(let t=0;t<e.length;t++){let i=e[t];o&&i._isTracked&&(o=!1);let l=i.range;if(i.text){let e=!0;s||(s=e=!d.aC(i.text)),!n&&e&&(n=d.E_(i.text)),!r&&e&&(r=d.$X(i.text))}let h="",u=0,c=0,f=0;if(i.text){let e;[u,c,f,e]=(0,g.W)(i.text);let t=this.getEOL(),n="\r\n"===t?2:1;h=0===e||e===n?i.text:i.text.replace(/\r\n|\r|\n/g,t)}a[t]={sortIndex:t,identifier:i.identifier||null,range:l,rangeOffset:this.getOffsetAt(l.startLineNumber,l.startColumn),rangeLength:this.getValueLengthInRange(l),text:h,eolCount:u,firstLineLength:c,lastLineLength:f,forceMoveMarkers:!!i.forceMoveMarkers,isAutoWhitespaceEdit:i.isAutoWhitespaceEdit||!1}}a.sort(ey._sortOpsAscending);let l=!1;for(let e=0,t=a.length-1;e<t;e++){let t=a[e].range.getEndPosition(),i=a[e+1].range.getStartPosition();if(i.isBeforeOrEqual(t)){if(i.isBefore(t))throw Error("Overlapping ranges are not allowed!");l=!0}}o&&(a=this._reduceOperations(a));let h=i||t?ey._getInverseEditRanges(a):[],u=[];
1if(t)for(let e=0;e<a.length;e++){let t=a[e],i=h[e];if(t.isAutoWhitespaceEdit&&t.range.isEmpty())for(let e=i.startLineNumber;e<=i.endLineNumber;e++){let n="";(e!==i.startLineNumber||(n=this.getLineContent(t.range.startLineNumber),-1===d.HG(n)))&&u.push({lineNumber:e,oldContent:n})}}let c=null;if(i){let e=0;c=[];for(let t=0;t<a.length;t++){let i=a[t],n=h[t],r=this.getValueInRange(i.range),s=i.rangeOffset+e;e+=i.text.length-r.length,c[t]={sortIndex:i.sortIndex,identifier:i.identifier,range:n,text:r,textChange:new eP.k(i.rangeOffset,r,s,i.text)}}l||c.sort((e,t)=>e.sortIndex-t.sortIndex)}this._mightContainRTL=n,this._mightContainUnusualLineTerminators=r,this._mightContainNonBasicASCII=s;let f=this._doApplyEdits(a),_=null;if(t&&u.length>0){u.sort((e,t)=>t.lineNumber-e.lineNumber),_=[];for(let e=0,t=u.length;e<t;e++){let t=u[e].lineNumber;if(e>0&&u[e-1].lineNumber===t)continue;let i=u[e].oldContent,n=this.getLineContent(t);0!==n.length&&n!==i&&-1===d.HG(n)&&_.push(t)}}return this._onDidChangeContent.fire(),new b.F4(c,f,_)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1,i=e[0].range,n=e[e.length-1].range,r=new _.Q(i.startLineNumber,i.startColumn,n.endLineNumber,n.endColumn),s=i.startLineNumber,o=i.startColumn,a=[];for(let i=0,n=e.length;i<n;i++){let n=e[i],r=n.range;t=t||n.forceMoveMarkers,a.push(this.getValueInRange(new _.Q(s,o,r.startLineNumber,r.startColumn))),n.text.length>0&&a.push(n.text),s=r.endLineNumber,o=r.endColumn}let l=a.join(""),[h,d,u]=(0,g.W)(l);return{sortIndex:0,identifier:e[0].identifier,range:r,rangeOffset:this.getOffsetAt(r.startLineNumber,r.startColumn),rangeLength:this.getValueLengthInRange(r,0),text:l,eolCount:h,firstLineLength:d,lastLineLength:u,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(ey._sortOpsDescending);let t=[];for(let i=0;i<e.length;i++){let n=e[i],r=n.range.startLineNumber,s=n.range.startColumn,o=n.range.endLineNumber,a=n.range.endColumn;if(r===o&&s===a&&0===n.text.length)continue;n.text?(this._pieceTree.delete(n.rangeOffset,n.rangeLength),this._pieceTree.insert(n.rangeOffset,n.text,!0)):this._pieceTree.delete(n.rangeOffset,n.rangeLength);let l=new _.Q(r,s,o,a);t.push({range:l,rangeLength:n.rangeLength,text:n.text,rangeOffset:n.rangeOffset,forceMoveMarkers:n.forceMoveMarkers})}return t}findMatchesLineByLine(e,t,i,n){return this._pieceTree.findMatchesLineByLine(e,t,i,n)}static _getInverseEditRanges(e){let t=[],i=0,n=0,r=null;for(let s=0,o=e.length;s<o;s++){let o,a,l,h=e[s];if(r?r.range.endLineNumber===h.range.startLineNumber?(o=i,a=n+(h.range.startColumn-r.range.endColumn)):(o=i+(h.range.startLineNumber-r.range.endLineNumber),a=h.range.startColumn):(o=h.range.startLineNumber,a=h.range.startColumn),h.text.length>0){let e=h.eolCount+1;l=1===e?new _.Q(o,a,o,a+h.firstLineLength):new _.Q(o,a,o+e-1,h.lastLineLength+1)}else l=new _.Q(o,a,o,a);i=l.endLineNumber,n=l.endColumn,t.push(l),r=h}return t}static _sortOpsAscending(e,t){let i=_.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){let i=_.Q.compareRangesUsingEnds(e.range,t.range);return 0===i?t.sortIndex-e.sortIndex:-i}}class eF{constructor(e,t,i,n,r,s,o,a,l){this._chunks=e,this._bom=t,this._cr=i,this._lf=n,this._crlf=r,this._containsRTL=s,this._containsUnusualLineTerminators=o,this._isBasicASCII=a,this._normalizeEOL=l}_getEOL(e){let t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return 0===t?1===e?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){let t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&("\r\n"===t&&(this._cr>0||this._lf>0)||"\n"===t&&(this._cr>0||this._crlf>0)))for(let e=0,n=i.length;e<n;e++){let n=i[e].buffer.replace(/\r\n|\r|\n/g,t),r=eO(n);i[e]=new eR(n,r)}let n=new ey(i,this._bom,t,this._containsRTL,this._containsUnusualLineTerminators,this._isBasicASCII,this._normalizeEOL);return{textBuffer:n,disposable:n}}}class eV{constructor(){this.chunks=[],this.BOM="",this._hasPreviousChar=!1,this._previousChar=0,this._tmpLineStarts=[],this.cr=0,this.lf=0,this.crlf=0,this.containsRTL=!1,this.containsUnusualLineTerminators=!1,this.isBasicASCII=!0}acceptChunk(e){if(0===e.length)return;0===this.chunks.length&&d.LU(e)&&(this.BOM=d.r_,e=e.substr(1));let t=e.charCodeAt(e.length-1);13===t||t>=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1),this._previousChar=t}_acceptChunk1(e,t){(t||0!==e.length)&&(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){let t=function(e,t){e.length=0,e[0]=0;let i=1,n=0,r=0,s=0,o=!0;for(let a=0,l=t.length;a<l;a++){let h=t.charCodeAt(a);13===h?a+1<l&&10===t.charCodeAt(a+1)?(s++,e[i++]=a+2,a++):(n++,e[i++]=a+1):10===h?(r++,e[i++]=a+1):o&&9!==h&&(h<32||h>126)&&(o=!1)}let a=new eN(eB(e),n,r,s,o);return e.length=0,a}(this._tmpLineStarts,e);this.chunks.push(new eR(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,!t.isBasicASCII&&(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=d.E_(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=d.$X(e)))}finish(e=!0){return this._finish(),new eF(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;let e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);let t=eO(e.buffer);e.lineStarts=t,13===this._previousChar&&this.cr++}}}var eW=i(71791),eU=i(58012),eH=i(67727),eG=i(57071),ej=i(9248),eQ=i(43731),eq=i(34747),e$=i(39100),eX=i(536);class eY{constructor(e){this._default=e,this._store=[]}get(e){return e<this._store.length?this._store[e]:this._default}set(e,t){for(;e>=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(0===t)return void this.insert(e,i);if(0===i)return void this.delete(e,t);let n=this._store.slice(0,e),r=this._store.slice(e+t),s=function(e,t){let i=[];for(let n=0;n<e;n++)i[n]=t;return i}(i,this._default);this._store=n.concat(s,r)}delete(e,t){0===t||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(0===t||e>=this._store.length)return;let i=[];for(let e=0;e<t;e++)i[e]=this._default;this._store=(0,s.nK)(this._store,e,i)}}class eK{get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._startLineNumber+this._tokens.length-1}constructor(e,t){this._startLineNumber=e,this._tokens=t}getLineTokens(e){return this._tokens[e-this._startLineNumber]}appendLineTokens(e){this._tokens.push(e)}}class eZ{constructor(){this._tokens=[]}add(e,t){if(this._tokens.length>0){let i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e)return void i.appendLineTokens(t)}this._tokens.push(new eK(e,[t]))}finalize(){return this._tokens}}var eJ=i(84367);class e0{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new e2(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class e1 extends e0{constructor(e,t,i,n){super(e,t),this._textModel=i,this._languageIdCodec=n}updateTokensUntilLine(e,t){let i=this._textModel.getLanguageId();for(;;){let n=this.getFirstInvalidLine();if(!n||n.lineNumber>t)break;let r=this._textModel.getLineContent(n.lineNumber),s=e5(this._languageIdCodec,i,this.tokenizationSupport,r,!0,n.startState);e.add(n.lineNumber,s.tokens),this.store.setEndState(n.lineNumber,s.endState)}}getTokenTypeIfInsertingCharacter(e,t){let i=this.getStartState(e.lineNumber);if(!i)return 0;let n=this._textModel.getLanguageId(),r=this._textModel.getLineContent(e.lineNumber),s=r.substring(0,e.column-1)+t+r.substring(e.column-1),o=e5(this._languageIdCodec,n,this.tokenizationSupport,s,!0,i),a=new eJ.f(o.tokens,s,this._languageIdCodec);if(0===a.getCount())return 0;let l=a.findTokenIndexAtOffset(e.column-1);return a.getStandardTokenType(l)}tokenizeLineWithEdit(e,t,i){let n=e.lineNumber,r=e.column,s=this.getStartState(n);if(!s)return null;let o=this._textModel.getLineContent(n),a=o.substring(0,r-1)+i+o.substring(r-1+t),l=this._textModel.getLanguageIdAtPosition(n,0),h=e5(this._languageIdCodec,l,this.tokenizationSupport,a,!0,s);return new eJ.f(h.tokens,a,this._languageIdCodec)}hasAccurateTokensForLine(e){return e<this.store.getFirstInvalidEndStateLineNumberOrMax()}isCheapToTokenize(e){let t=this.store.getFirstInvalidEndStateLineNumberOrMax();return!!(e<t||e===t&&2048>this._textModel.getLineLength(e))}tokenizeHeuristically(e,t,i){if(i<=this.store.getFirstInvalidEndStateLineNumberOrMax())return{heuristicTokens:!1};if(t<=this.store.getFirstInvalidEndStateLineNumberOrMax())return this.updateTokensUntilLine(e,i),{heuristicTokens:!1};let n=this.guessStartState(t),r=this._textModel.getLanguageId();for(let s=t;s<=i;s++){let t=this._textModel.getLineContent(s),i=e5(this._languageIdCodec,r,this.tokenizationSupport,t,!0,n);e.add(s,i.tokens),n=i.endState}return{heuristicTokens:!0}}guessStartState(e){let t=this._textModel.getLineFirstNonWhitespaceColumn(e),i=[],n=null;for(let r=e-1;t>1&&r>=1;r--){let e=this._textModel.getLineFirstNonWhitespaceColumn(r);if(0!==e&&e<t&&(i.push(this._textModel.getLineContent(r)),t=e,n=this.getStartState(r)))break}n||(n=this.tokenizationSupport.getInitialState()),i.reverse();let r=this._textModel.getLanguageId(),s=n;for(let e of i)s=e5(this._languageIdCodec,r,this.tokenizationSupport,e,!1,s).endState;return s}}class e2{constructor(e){this.lineCount=e,this._tokenizationStateStore=new e3,this._invalidEndStatesLineNumbers=new e4,this._invalidEndStatesLineNumbers.addRange(new e$.L(1,e+1))}getEndState(e){return this._tokenizationStateStore.getEndState(e)}setEndState(e,t){if(!t)throw new a.D7("Cannot set null/undefined state");this._invalidEndStatesLineNumbers.delete(e);let i=this._tokenizationStateStore.setEndState(e,t);return i&&e<this.lineCount&&this._invalidEndStatesLineNumbers.addRange(new e$.L(e+1,e+2)),i}acceptChange(e,t){this.lineCount+=t-e.length,this._tokenizationStateStore.acceptChange(e,t),this._invalidEndStatesLineNumbers.addRangeAndResize(new e$.L(e.startLineNumber,e.endLineNumberExclusive),t)}acceptChanges(e){for(let t of e){let[e]=(0,g.W)(t.text);this.acceptChange(new eW.M(t.range.startLineNumber,t.range.endLineNumber+1),e+1)}}invalidateEndStateRange(e){this._invalidEndStatesLineNumbers.addRange(new e$.L(e.startLineNumber,e.endLineNumberExclusive))}getFirstInvalidEndStateLineNumber(){return this._invalidEndStatesLineNumbers.min}getFirstInvalidEndStateLineNumberOrMax(){return this.getFirstInvalidEndStateLineNumber()||Number.MAX_SAFE_INTEGER}allStatesValid(){return null===this._invalidEndStatesLineNumbers.min}getStartState(e,t){return 1===e?t:this.getEndState(e-1)}getFirstInvalidLine(e){let t=this.getFirstInvalidEndStateLineNumber();if(null===t)return null;let i=this.getStartState(t,e);if(!i)throw new a.D7("Start state must be defined");return{lineNumber:t,startState:i}}}class e3{constructor(){this._lineEndStates=new eY(null)}getEndState(e){return this._lineEndStates.get(e)}setEndState(e,t){let i=this._lineEndStates.get(e);return!(i&&i.equals(t))&&(this._lineEndStates.set(e,t),!0)}acceptChange(e,t){let i=e.length;t>0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class e4{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(e){let t=this._ranges.findIndex(t=>t.contains(e));if(-1!==t){let i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new e$.L(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new e$.L(i.start,e):this._ranges.splice(t,1,new e$.L(i.start,e),new e$.L(e+1,i.endExclusive))}}addRange(e){e$.L.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let n=i;for(;!(n>=this._ranges.length||e.endExclusive<this._ranges[n].start);)n++;let r=t-e.length;for(let e=n;e<this._ranges.length;e++)this._ranges[e]=this._ranges[e].delta(r);if(i===n){let n=new e$.L(e.start,e.start+t);n.isEmpty||this._ranges.splice(i,0,n)}else{let t=Math.min(e.start,this._ranges[i].start),s=Math.max(e.endExclusive,this._ranges[n-1].endExclusive),o=new e$.L(t,s+r);o.isEmpty?this._ranges.splice(i,n-i):this._ranges.splice(i,n-i,o)}}toString(){return this._ranges.map(e=>e.toString()).join(" + ")}}function e5(e,t,i,n,r,s){let o=null;if(i)try{o=i.tokenizeEncoded(n,r,s.clone())}catch(e){(0,a.dz)(e)}return o||(o=(0,eX.Lh)(e.encodeLanguageId(t),s)),eJ.f.convertToEndOffset(o.tokens,n.length),o}class e6{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}
1handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){!this._isScheduled&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._isScheduled=!0,(0,ej.$6)(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){let t=Date.now()+e.timeRemaining(),i=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()<t?(0,eQ._p)(i):this._beginBackgroundTokenization())};i()}_backgroundTokenizeForAtLeast1ms(){let e=this._tokenizerWithStateStore._textModel.getLineCount(),t=new eZ,i=eq.W.create(!1);do if(i.elapsed()>1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(e){let t=this._tokenizerWithStateStore?.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){!this._isDisposed&&this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new eW.M(e,t))}}class e7{constructor(){this._onDidChangeVisibleRanges=new l.vl,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){let e=new e8(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class e8{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){let i=e.map(e=>new eW.M(e.startLineNumber,e.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class e9 extends h.jG{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new ej.uC(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){(0,s.aI)(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class te extends h.jG{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new l.vl),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new l.vl),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class tt extends te{constructor(e,t,i,n){super(t,i,n),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){let e=this.getLanguageId();this._tokenizationSupport&&this._lastLanguageId===e||(this._lastLanguageId=e,this._tokenizationSupport=eH.OB.get(e))}getLineTokens(e){let t=this._textModel.getLineContent(e);if(this._tokenizationSupport){let i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new eJ.f(i,t,this._languageIdCodec)}return eJ.f.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return void 0!==this._treeSitterService.getParseResult(this._textModel)}}var ti=i(10108);let tn=new Uint32Array(0).buffer;class tr{static deleteBeginning(e,t){return null===e||e===tn?e:tr.delete(e,0,t)}static deleteEnding(e,t){if(null===e||e===tn)return e;let i=ts(e),n=i[i.length-2];return tr.delete(e,t,n)}static delete(e,t,i){let n,r;if(null===e||e===tn||t===i)return e;let s=ts(e),o=s.length>>>1;if(0===t&&s[s.length-2]===i)return tn;let a=eJ.f.findIndexInTokensArray(s,t),l=a>0?s[a-1<<1]:0;if(i<s[a<<1]){let n=i-t;for(let e=a;
1e<o;e++)s[e<<1]-=n;return e}l!==t?(s[a<<1]=t,n=a+1<<1,r=t):(n=a<<1,r=l);let h=i-t;for(let e=a+1;e<o;e++){let t=s[e<<1]-h;t>r&&(s[n++]=t,s[n++]=s[(e<<1)+1],r=t)}if(n===s.length)return e;let d=new Uint32Array(n);return d.set(s.subarray(0,n),0),d.buffer}static append(e,t){if(t===tn)return e;if(e===tn)return t;if(null===e)return e;if(null===t)return null;let i=ts(e),n=ts(t),r=n.length>>>1,s=new Uint32Array(i.length+n.length);s.set(i,0);let o=i.length,a=i[i.length-2];for(let e=0;e<r;e++)s[o++]=n[e<<1]+a,s[o++]=n[(e<<1)+1];return s.buffer}static insert(e,t,i){if(null===e||e===tn)return e;let n=ts(e),r=n.length>>>1,s=eJ.f.findIndexInTokensArray(n,t);s>0&&n[s-1<<1]===t&&s--;for(let e=s;e<r;e++)n[e<<1]+=i;return e}}function ts(e){return e instanceof Uint32Array?e:new Uint32Array(e)}var to=i(36802);class ta{constructor(e){this._lineTokens=[],this._len=0,this._languageIdCodec=e}flush(){this._lineTokens=[],this._len=0}get hasTokens(){return this._lineTokens.length>0}getTokens(e,t,i){let n=null;if(t<this._len&&(n=this._lineTokens[t]),null!==n&&n!==tn)return new eJ.f(ts(n),i,this._languageIdCodec);let r=new Uint32Array(2);return r[0]=i.length,r[1]=tl(this._languageIdCodec.encodeLanguageId(e)),new eJ.f(r,i,this._languageIdCodec)}static _massageTokens(e,t,i){let n=i?ts(i):null;if(0===t){let t=!1;if(n&&n.length>1&&(t=to.x.getLanguageId(n[1])!==e),!t)return tn}if(!n||0===n.length){let i=new Uint32Array(2);return i[0]=t,i[1]=tl(e),i.buffer}return(n[n.length-2]=t,0===n.byteOffset&&n.byteLength===n.buffer.byteLength)?n.buffer:n}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){0!==t&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(0===t)return;let i=[];for(let e=0;e<t;e++)i[e]=null;this._lineTokens=s.nK(this._lineTokens,e,i),this._len+=t}setTokens(e,t,i,n,r){let s=ta._massageTokens(this._languageIdCodec.encodeLanguageId(e),i,n);this._ensureLine(t);let o=this._lineTokens[t];return this._lineTokens[t]=s,!!r&&!ta._equals(o,s)}static _equals(e,t){if(!e||!t)return!e&&!t;let i=ts(e),n=ts(t);if(i.length!==n.length)return!1;for(let e=0,t=i.length;e<t;e++)if(i[e]!==n[e])return!1;return!0}acceptEdit(e,t,i){this._acceptDeleteRange(e),this._acceptInsertText(new f.y(e.startLineNumber,e.startColumn),t,i)}_acceptDeleteRange(e){let t=e.startLineNumber-1;if(t>=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=tr.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=tr.deleteEnding(this._lineTokens[t],e.startColumn-1);let i=e.endLineNumber-1,n=null;i<this._len&&(n=tr.deleteBeginning(this._lineTokens[i],e.endColumn-1)),this._lineTokens[t]=tr.append(this._lineTokens[t],n),this._deleteLines(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t,i){if(0===t&&0===i)return;let n=e.lineNumber-1;if(!(n>=this._len)){if(0===t){this._lineTokens[n]=tr.insert(this._lineTokens[n],e.column-1,i);return}this._lineTokens[n]=tr.deleteEnding(this._lineTokens[n],e.column-1),this._lineTokens[n]=tr.insert(this._lineTokens[n],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(0===e.length)return{changes:[]};let i=[];for(let n=0,r=e.length;n<r;n++){let r=e[n],s=0,o=0,a=!1;for(let e=r.startLineNumber;e<=r.endLineNumber;e++)a?(this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!1),o=e):this.setTokens(t.getLanguageId(),e-1,t.getLineLength(e),r.getLineTokens(e),!0)&&(a=!0,s=e,o=e);a&&i.push({fromLineNumber:s,toLineNumber:o})}return{changes:i}}}function tl(e){return(0|e|0x2008400)>>>0}class th{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){let n=t[0].getRange(),r=t[t.length-1].getRange();if(!n||!r)return e;i=e.plusRange(n).plusRange(r)}let n=null;for(let e=0,t=this._pieces.length;e<t;e++){let r=this._pieces[e];if(r.endLineNumber<i.startLineNumber)continue;if(r.startLineNumber>i.endLineNumber){n=n||{index:e};break}if(r.removeTokens(i),r.isEmpty()){this._pieces.splice(e,1),e--,t--;continue}if(r.endLineNumber<i.startLineNumber)continue;if(r.startLineNumber>i.endLineNumber){n=n||{index:e};continue}let[s,o]=r.split(i);if(s.isEmpty()){n=n||{index:e};continue}o.isEmpty()||(this._pieces.splice(e,1,s,o),e++,t++,n=n||{index:e})}return n=n||{index:this._pieces.length},t.length>0&&(this._pieces=s.nK(this._pieces,n.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(0===t.getLineContent().length)return t;let i=this._pieces;if(0===i.length)return t;let n=th._findFirstPieceWithLine(i,e),r=i[n].getLineTokens(e);if(!r)return t;let s=t.getCount(),o=r.getCount(),a=0,l=[],h=0,d=0,u=(e,t)=>
1{e!==d&&(d=e,l[h++]=e,l[h++]=t)};for(let e=0;e<o;e++){let i=r.getStartCharacter(e),n=r.getEndCharacter(e),o=r.getMetadata(e),l=((1&o?2048:0)|(2&o?4096:0)|(4&o?8192:0)|(8&o?16384:0)|(16&o?0xff8000:0)|(32&o?0xff000000:0))>>>0,h=~l>>>0;for(;a<s&&t.getEndOffset(a)<=i;)u(t.getEndOffset(a),t.getMetadata(a)),a++;for(a<s&&t.getStartOffset(a)<i&&u(i,t.getMetadata(a));a<s&&t.getEndOffset(a)<n;)u(t.getEndOffset(a),t.getMetadata(a)&h|o&l),a++;if(a<s)u(n,t.getMetadata(a)&h|o&l),t.getEndOffset(a)===n&&a++;else{let e=Math.min(Math.max(0,a-1),s-1);u(n,t.getMetadata(e)&h|o&l)}}for(;a<s;)u(t.getEndOffset(a),t.getMetadata(a)),a++;return new eJ.f(new Uint32Array(l),t.getLineContent(),this._languageIdCodec)}static _findFirstPieceWithLine(e,t){let i=0,n=e.length-1;for(;i<n;){let r=i+Math.floor((n-i)/2);if(e[r].endLineNumber<t)i=r+1;else if(e[r].startLineNumber>t)n=r-1;else{for(;r>i&&e[r-1].startLineNumber<=t&&t<=e[r-1].endLineNumber;)r--;return r}}return i}acceptEdit(e,t,i,n,r){for(let s of this._pieces)s.acceptEdit(e,t,i,n,r)}}var td=function(e,t){return function(i,n){t(i,n,e)}};let tu=n=class extends eG._{constructor(e,t,i,n,r,s,o){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=n,this._languageService=r,this._languageConfigurationService=s,this._treeSitterService=o,this._semanticTokens=new th(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new l.vl),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new l.vl),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new l.vl),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new h.Cm),this._register(this._languageConfigurationService.onDidChange(e=>{e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(l.Jh.filter(eH.OB.onDidChange,e=>e.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new tg(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new tt(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(e){let t=void 0!==this._tokens;this._tokens?.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(e=>{this._emitModelTokensChangedEvent(e)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(e=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){eH.OB.get(this._languageId)?this._tokens instanceof tt||this.createTokens(!0):this._tokens instanceof tg||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(let t of e.changes){let[e,i,n]=(0,g.W)(t.text);this._semanticTokens.acceptEdit(t.range,e,i,n,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);let t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new a.D7("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==e,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;let i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();let t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),s=r.findTokenIndexAtOffset(t.column-1),[o,a]=n._findLanguageBoundaries(r,s),l=(0,eU.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(s)).getWordDefinition(),i.substring(o,a),o);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l;if(s>0&&o===t.column-1){let[o,a]=n._findLanguageBoundaries(r,s-1),l=(0,eU.Th)(t.column,this.getLanguageConfiguration(r.getLanguageId(s-1)).getWordDefinition(),i.substring(o,a),o);if(l&&l.startColumn<=e.column&&e.column<=l.endColumn)return l}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){let i=e.getLanguageId(t),n=0;for(let r=t;r>=0&&e.getLanguageId(r)===i;r--)n=e.getStartOffset(r);let r=e.getLineContent().length;for(let n=t,s=e.getCount();n<s&&e.getLanguageId(n)===i;n++)r=e.getEndOffset(n);return[n,r]}getWordUntilPosition(e){let t=this.getWordAtPosition(e);return t?{word:t.word.substr(0,e.column-t.startColumn),startColumn:t.startColumn,endColumn:e.column}:{word:"",startColumn:e.column,endColumn:e.column}}getLanguageId(){return this._languageId}getLanguageIdAtPosition(e,t){let i=this._textModel.validatePosition(new f.y(e,t)),n=this.getLineTokens(i.lineNumber);return n.getLanguageId(n.findTokenIndexAtOffset(i.column-1))}setLanguageId(e,t="api"){if(this._languageId===e)return;let i={oldLanguage:this._languageId,newLanguage:e,source:t};this._languageId=e,this._bracketPairsTextModelPart.handleDidChangeLanguage(i),this._tokens.resetTokenization(),this.createPreferredTokenProvider(),this._onDidChangeLanguage.fire(i),this._onDidChangeLanguageConfiguration.fire({})}};tu=n=function(e,t,i,n){var r,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>
13?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}([td(4,k.L),td(5,C.JZ),td(6,ti.ITreeSitterParserService)],tu);class tg extends te{constructor(e,t,i,n){super(e,t,i),this._tokenizer=null,this._defaultBackgroundTokenizer=null,this._backgroundTokenizer=this._register(new h.HE),this._tokens=new ta(this._languageIdCodec),this._debugBackgroundTokenizer=this._register(new h.HE),this._attachedViewStates=this._register(new h.$w),this._register(eH.dG.onDidChange(e=>{let t=this.getLanguageId();-1!==e.changedLanguages.indexOf(t)&&this.resetTokenization()})),this.resetTokenization(),this._register(n.onDidChangeVisibleRanges(({view:e,state:t})=>{if(t){let i=this._attachedViewStates.get(e);i||(i=new e9(()=>this.refreshRanges(i.lineRanges)),this._attachedViewStates.set(e,i)),i.handleStateChange(t)}else this._attachedViewStates.deleteAndDispose(e)}))}resetTokenization(e=!0){this._tokens.flush(),this._debugBackgroundTokens?.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new e2(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});let[t,i]=(()=>{let e;if(this._textModel.isTooLargeForTokenization())return[null,null];let t=eH.dG.get(this.getLanguageId());if(!t)return[null,null];try{e=t.getInitialState()}catch(e){return(0,a.dz)(e),[null,null]}return[t,e]})();if(t&&i?this._tokenizer=new e1(this._textModel.getLineCount(),t,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){let e={setTokens:e=>{this.setTokens(e)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(e,t)=>{if(!this._tokenizer)return;let i=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==i&&e>=i&&this._tokenizer?.store.setEndState(e,t)}};t&&t.createBackgroundTokenizer&&!t.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,e)),this._backgroundTokenizer.value||this._textModel.isTooLargeForTokenization()||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new e6(this._tokenizer,e),this._defaultBackgroundTokenizer.handleChanges()),t?.backgroundTokenizerShouldOnlyVerifyTokens&&t.createBackgroundTokenizer?(this._debugBackgroundTokens=new ta(this._languageIdCodec),this._debugBackgroundStates=new e2(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=t.createBackgroundTokenizer(this._textModel,{setTokens:e=>{this._debugBackgroundTokens?.setMultilineTokens(e,this._textModel)},backgroundTokenizationFinished(){},setEndState:(e,t)=>{this._debugBackgroundStates?.setEndState(e,t)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){this._defaultBackgroundTokenizer?.handleChanges()}handleDidChangeContent(e){if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(let t of e.changes){let[e,i]=(0,g.W)(t.text);this._tokens.acceptEdit(t.range,e,i),this._debugBackgroundTokens?.acceptEdit(t.range,e,i)}this._debugBackgroundStates?.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),this._defaultBackgroundTokenizer?.handleChanges()}}setTokens(e){let{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){let e=eW.M.joinMany([...this._attachedViewStates].map(([e,t])=>t.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(let t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);let i=new eZ,{heuristicTokens:n}=this._tokenizer.tokenizeHeuristically(i,e,t),r=this.setTokens(i.finalize());if(n)for(let e of r.changes)this._backgroundTokenizer.value?.requestTokens(e.fromLineNumber,e.toLineNumber+1);
1this._defaultBackgroundTokenizer?.checkFinished()}forceTokenization(e){let t=new eZ;this._tokenizer?.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),this._defaultBackgroundTokenizer?.checkFinished()}hasAccurateTokensForLine(e){return!this._tokenizer||this._tokenizer.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return!this._tokenizer||this._tokenizer.isCheapToTokenize(e)}getLineTokens(e){let t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){let n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(n)&&this._debugBackgroundTokenizer.value?.reportMismatchingTokens&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;let n=this._textModel.validatePosition(new f.y(e,t));return this.forceTokenization(n.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(n,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;let n=this._textModel.validatePosition(e);return this.forceTokenization(n.lineNumber),this._tokenizer.tokenizeLineWithEdit(n,t,i)}get hasTokens(){return this._tokens.hasTokens}}var tc=i(46101),tf=i(77917),t_=i(5757),tp=function(e,t){return function(i,n){t(i,n,e)}};function tm(e,t){return("string"==typeof e?function(e){let t=new eV;return t.acceptChunk(e),t.finish()}(e):b.nk(e)?function(e){let t,i=new eV;for(;"string"==typeof(t=e.read());)i.acceptChunk(t);return i.finish()}(e):e).create(t)}let tk=0;class tC{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;let e=[],t=0,i=0;for(;;){let n=this._source.read();if(null===n){if(this._eos=!0,0===t)return null;return e.join("")}if(n.length>0&&(e[t++]=n,i+=n.length),i>=65536)return e.join("")}}}let tb=()=>{throw Error("Invalid change accessor")},tL=class extends h.jG{static{r=this}static{this._MODEL_SYNC_LIMIT=0x3200000}static{this.LARGE_FILE_SIZE_THRESHOLD=0x1400000}static{this.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5}static{this.LARGE_FILE_HEAP_OPERATION_THRESHOLD=0x10000000}static{this.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:m.R.tabSize,indentSize:m.R.indentSize,insertSpaces:m.R.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:m.R.trimAutoWhitespace,largeFileOptimizations:m.R.largeFileOptimizations,bracketPairColorizationOptions:m.R.bracketPairColorizationOptions}}static resolveOptions(e,t){if(t.detectIndentation){let i=Q(e,t.tabSize,t.insertSpaces);return new b.X2({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new b.X2(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return(0,h.qE)(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,n=null,s,o,a,g){super(),this._undoRedoService=s,this._languageService=o,this._languageConfigurationService=a,this.instantiationService=g,this._onWillDispose=this._register(new l.vl),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new tD(e=>this.handleBeforeFireDecorationsChangedEvent(e))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new l.vl),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new l.vl),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new l.vl),this._eventEmitter=this._register(new tM),this._languageSelectionListener=this._register(new h.HE),this._deltaDecorationCallCnt=0,this._attachedViews=new e7,tk++,this.id="$model"+tk,this.isForSimpleWidget=i.isForSimpleWidget,null==n?this._associatedResource=u.r.parse("inmemory://model/"+tk):this._associatedResource=n,this._attachedEditorCount=0;let{textBuffer:c,disposable:f}=tm(e,i.defaultEOL);this._buffer=c,this._bufferDisposable=f,this._options=r.resolveOptions(this._buffer,i);
1let p="string"==typeof t?t:t.languageId;"string"!=typeof t&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new M(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new G.P(this,this._languageConfigurationService)),this._decorationProvider=this._register(new W(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(tu,this,this._bracketPairs,p,this._attachedViews);let m=this._buffer.getLineCount(),k=this._buffer.getValueLengthInRange(new _.Q(1,1,m,this._buffer.getLineLength(m)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=k>r.LARGE_FILE_SIZE_THRESHOLD||m>r.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=k>r.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=k>r._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=d.tk(tk),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new tv,this._commandManager=new H.z8(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(p),this._register(this._languageConfigurationService.onDidChange(e=>{this._bracketPairs.handleLanguageConfigurationServiceChange(e),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;let e=new ey([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=h.jG.None}_assertNotDisposed(){if(this._isDisposed)throw new a.D7("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.f
1ire(new tc.Ic(e,t)))}setValue(e){if(this._assertNotDisposed(),null==e)throw(0,a.Qg)();let{textBuffer:t,disposable:i}=tm(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,n,r,s,o,a){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:n}],eol:this._buffer.getEOL(),isEolChange:a,versionId:this.getVersionId(),isUndoing:r,isRedoing:s,isFlush:o}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();let i=this.getFullModelRange(),n=this.getValueLengthInRange(i),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new tv,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new tc.HP([new tc.Wn],this._versionId,!1,!1),this._createContentChanged2(new _.Q(1,1,r,s),0,n,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();let t=1===e?"\r\n":"\n";if(this._buffer.getEOL()===t)return;let i=this.getFullModelRange(),n=this.getValueLengthInRange(i),r=this.getLineCount(),s=this.getLineMaxColumn(r);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new tc.HP([new tc.mS],this._versionId,!1,!1),this._createContentChanged2(new _.Q(1,1,r,s),0,n,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){let e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,n=t.length;i<n;i++){let n=t[i],r=n.range,s=n.cachedAbsoluteStart-n.start,o=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),a=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);n.cachedAbsoluteStart=o,n.cachedAbsoluteEnd=a,n.cachedVersionId=e,n.start=o-s,n.end=a-s,ec(n)}}onBeforeAttached(){return this._attachedEditorCount++,1===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.attachView()}onBeforeDetached(e){this._attachedEditorCount--,0===this._attachedEditorCount&&(this._tokenizationTextModelPart.handleDidChangeAttached(),this._onDidChangeAttached.fire(void 0)),this._attachedViews.detachView(e)}isAttachedToEditor(){return this._attachedEditorCount>0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0,i=this._buffer.getLineCount();for(let n=1;n<=i;n++){let i=this._buffer.getLineLength(n);i>=1e4?t+=i:e+=i}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();let t=void 0!==e.tabSize?e.tabSize:this._options.tabSize,i=void 0!==e.indentSize?e.indentSize:this._options.originalIndentSize,n=void 0!==e.insertSpaces?e.insertSpaces:this._options.insertSpaces,r=void 0!==e.trimAutoWhitespace?e.trimAutoWhitespace:this._options.trimAutoWhitespace,s=void 0!==e.bracketColorizationOptions?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,o=new b.X2({tabSize:t,indentSize:i,insertSpaces:n,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:r,bracketPairColorizationOptions:s});if(this._options.equals(o))return;let a=this._options.createChangeEvent(o);this._options=o,this._bracketPairs.handleDidChangeOptions(a),this._decorationProvider.handleDidChangeOptions(a),this._onDidChangeOptions.fire(a)}detectIndentation(e,t){this._assertNotDisposed();let i=Q(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),(0,c.P)(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){let t=this.findMatches(d._J.source,!1,!0,!1,null,!1,0x40000000);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(e=>({range:e.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();
1let t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();let t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new a.D7("Operation would exceed heap memory limits");let i=this.getFullModelRange(),n=this.getValueInRange(i,e);return t?this._buffer.getBOM()+n:n}createSnapshot(e=!1){return new tC(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();let i=this.getFullModelRange(),n=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+n:n}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new a.D7("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new a.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new a.D7("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),+("\n"!==this._buffer.getEOL())}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new a.D7("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new a.D7("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new a.D7("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){let t=this._buffer.getLineCount(),i=e.startLineNumber,n=e.startColumn,r=Math.floor("number"!=typeof i||isNaN(i)?1:i),s=Math.floor("number"!=typeof n||isNaN(n)?1:n);if(r<1)r=1,s=1;else if(r>t)r=t,s=this.getLineMaxColumn(r);else if(s<=1)s=1;else{let e=this.getLineMaxColumn(r);s>=e&&(s=e)}let o=e.endLineNumber,a=e.endColumn,l=Math.floor("number"!=typeof o||isNaN(o)?1:o),h=Math.floor("number"!=typeof a||isNaN(a)?1:a);if(l<1)l=1,h=1;else if(l>t)l=t,h=this.getLineMaxColumn(l);else if(h<=1)h=1;else{let e=this.getLineMaxColumn(l);h>=e&&(h=e)}return i===r&&n===s&&o===l&&a===h&&e instanceof _.Q&&!(e instanceof p.L)?e:new _.Q(r,s,l,h)}_isValidPosition(e,t,i){if("number"!=typeof e||"number"!=typeof t||isNaN(e)||isNaN(t)||e<1||t<1||(0|e)!==e||(0|t)!==t||e>this._buffer.getLineCount())return!1;if(1===t)return!0;if(t>this.getLineMaxColumn(e))return!1;if(1===i){let i=this._buffer.getLineCharCode(e,t-2);if(d.pc(i))return!1}return!0}_validatePosition(e,t,i){let n=Math.floor("number"!=typeof e||isNaN(e)?1:e),r=Math.floor("number"!=typeof t||isNaN(t)?1:t),s=this._buffer.getLineCount();if(n<1)return new f.y(1,1);if(n>s)return new f.y(s,this.getLineMaxColumn(s));if(r<=1)return new f.y(n,1);let o=this.getLineMaxColumn(n);if(r>=o)return new f.y(n,o);if(1===i){let e=this._buffer.getLineCharCode(n,r-2);if(d.pc(e))return new f.y(n,r-1)}return new f.y(n,r)}validatePosition(e){return(this._assertNotDisposed(),e instanceof f.y&&this._isValidPosition(e.lineNumber,e.column,1))?e:this._val
1idatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){let i=e.startLineNumber,n=e.startColumn,r=e.endLineNumber,s=e.endColumn;if(!this._isValidPosition(i,n,0)||!this._isValidPosition(r,s,0))return!1;if(1===t){let e=n>1?this._buffer.getLineCharCode(i,n-2):0,t=s>1&&s<=this._buffer.getLineLength(r)?this._buffer.getLineCharCode(r,s-2):0,o=d.pc(e),a=d.pc(t);return!o&&!a}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof _.Q&&!(e instanceof p.L)&&this._isValidRange(e,1))return e;let t=this._validatePosition(e.startLineNumber,e.startColumn,0),i=this._validatePosition(e.endLineNumber,e.endColumn,0),n=t.lineNumber,r=t.column,s=i.lineNumber,o=i.column;{let e=r>1?this._buffer.getLineCharCode(n,r-2):0,t=o>1&&o<=this._buffer.getLineLength(s)?this._buffer.getLineCharCode(s,o-2):0,i=d.pc(e),a=d.pc(t);return i||a?n===s&&r===o?new _.Q(n,r-1,s,o-1):i&&a?new _.Q(n,r-1,s,o+1):i?new _.Q(n,r-1,s,o):new _.Q(n,r,s,o+1):new _.Q(n,r,s,o)}}modifyPosition(e,t){this._assertNotDisposed();let i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();let e=this.getLineCount();return new _.Q(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,n){return this._buffer.findMatchesLineByLine(e,t,i,n)}
1findMatches(e,t,i,n,r,s,o=999){let a;this._assertNotDisposed();let l=null;null!==t&&(Array.isArray(t)||(t=[t]),t.every(e=>_.Q.isIRange(e))&&(l=t.map(e=>this.validateRange(e)))),null===l&&(l=[this.getFullModelRange()]),l=l.sort((e,t)=>e.startLineNumber-t.startLineNumber||e.startColumn-t.startColumn);let h=[];if(h.push(l.reduce((e,t)=>_.Q.areIntersecting(e,t)?e.plusRange(t):(h.push(e),t))),!i&&0>e.indexOf("\n")){let t=new eE.lt(e,i,n,r).parseSearchRequest();if(!t)return[];a=e=>this.findMatchesLineByLine(e,t,s,o)}else a=t=>eE.hB.findMatches(this,new eE.lt(e,i,n,r),t,s,o);return h.map(a).reduce((e,t)=>e.concat(t),[])}findNextMatch(e,t,i,n,r,s){this._assertNotDisposed();let o=this.validatePosition(t);if(!i&&0>e.indexOf("\n")){let t=new eE.lt(e,i,n,r).parseSearchRequest();if(!t)return null;let a=this.getLineCount(),l=new _.Q(o.lineNumber,o.column,a,this.getLineMaxColumn(a)),h=this.findMatchesLineByLine(l,t,s,1);return(eE.hB.findNextMatch(this,new eE.lt(e,i,n,r),o,s),h.length>0||(l=new _.Q(1,1,o.lineNumber,this.getLineMaxColumn(o.lineNumber)),(h=this.findMatchesLineByLine(l,t,s,1)).length>0))?h[0]:null}return eE.hB.findNextMatch(this,new eE.lt(e,i,n,r),o,s)}findPreviousMatch(e,t,i,n,r,s){this._assertNotDisposed();let o=this.validatePosition(t);return eE.hB.findPreviousMatch(this,new eE.lt(e,i,n,r),o,s)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if(+("\n"!==this.getEOL())!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof b.Wo?e:new b.Wo(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){let t=[];for(let i=0,n=e.length;i<n;i++)t[i]=this._validateEditOperation(e[i]);return t}pushEditOperations(e,t,i,n){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),i,n)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,i,n){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let i=t.map(e=>({range:this.validateRange(e.range),text:e.text})),n=!0;if(e)for(let t=0,r=e.length;t<r;t++){let r=e[t],s=!1;for(let e=0,t=i.length;e<t;e++){let t=i[e].range,n=t.startLineNumber>r.endLineNumber,o=r.startLineNumber>t.endLineNumber;if(!n&&!o){s=!0;break}}if(!s){n=!1;break}}if(n)for(let e=0,n=this._trimAutoWhitespaceLines.length;e<n;e++){let n=this._trimAutoWhitespaceLines[e],r=this.getLineMaxColumn(n),s=!0;for(let e=0,t=i.length;e<t;e++){let t=i[e].range,o=i[e].text;if(!(n<t.startLineNumber||n>t.endLineNumber||n===t.startLineNumber&&t.startColumn===r&&t.isEmpty()&&o&&o.length>0&&"\n"===o.charAt(0))&&(!(n===t.startLineNumber&&1===t.startColumn&&t.isEmpty())||!o||!(o.length>0)||"\n"!==o.charAt(o.length-1))){s=!1;break}}if(s){let e=new _.Q(n,1,n,r);t.push(new b.Wo(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,n)}_applyUndo(e,t,i,n){let r=e.map(e=>{let t=this.getPositionAt(e.newPosition),i=this.getPositionAt(e.newEnd);return{range:new _.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.oldText}});this._applyUndoRedoEdits(r,t,!0,!1,i,n)}_applyRedo(e,t,i,n){let r=e.map(e=>{let t=this.getPositionAt(e.oldPosition),i=this.getPositionAt(e.oldEnd);return{range:new _.Q(t.lineNumber,t.column,i.lineNumber,i.column),text:e.newText}});this._applyUndoRedoEdits(r,t,!1,!0,i,n)}_applyUndoRedoEdits(e,t,i,n,r,s){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=n,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(r)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(s),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();
1let i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){let i=this._buffer.getLineCount(),n=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),r=this._buffer.getLineCount(),o=n.changes;if(this._trimAutoWhitespaceLines=n.trimAutoWhitespaceLineNumbers,0!==o.length){for(let e=0,t=o.length;e<t;e++){let t=o[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}let e=[];this._increaseVersionId();let t=i;for(let i=0,n=o.length;i<n;i++){let n=o[i],[a]=(0,g.W)(n.text);this._onDidChangeDecorations.fire();let l=n.range.startLineNumber,h=n.range.endLineNumber,d=h-l,u=Math.min(d,a),c=a-d,_=r-t-c+l,p=_+a,m=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new f.y(_,1)),this.getOffsetAt(new f.y(p,this.getLineMaxColumn(p))),0),k=tc.uK.fromDecorations(m),C=new s.j3(k);for(let t=u;t>=0;t--){let i=l+t,n=_+t;C.takeFromEndWhile(e=>e.lineNumber>n);let r=C.takeFromEndWhile(e=>e.lineNumber===n);e.push(new tc.U0(i,this.getLineContent(n),r))}if(u<d){let t=l+u;e.push(new tc.E$(t+1,h))}if(u<a){let i=new s.j3(k),n=l+u,o=a-u,h=r-t-o+n+1,d=[],g=[];for(let e=0;e<o;e++){let t=h+e;g[e]=this.getLineContent(t),i.takeWhile(e=>e.lineNumber<t),d[e]=i.takeWhile(e=>e.lineNumber===t)}e.push(new tc.bg(n+1,l+a,g,d))}t+=c}this._emitContentChangedEvent(new tc.HP(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===n.reverseEdits?void 0:n.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(null===e||0===e.size)return;let t=Array.from(e).map(e=>new tc.U0(e,this.getLineContent(e),this._getInjectedTextInLine(e)));this._onDidChangeInjectedText.fire(new tc.vn(t))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){let i={addDecoration:(t,i)=>this._deltaDecorationsImpl(e,[],[{range:t,options:i}])[0],changeDecoration:(e,t)=>{this._changeDecorationImpl(e,t)},changeDecorationOptions:(e,t)=>{this._changeDecorationOptionsImpl(e,tR(t))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,i)=>0===t.length&&0===i.length?[]:this._deltaDecorationsImpl(e,t,i)},n=null;try{n=t(i)}catch(e){(0,a.dz)(e)}return i.addDecoration=tb,i.changeDecoration=tb,i.changeDecorationOptions=tb,i.removeDecoration=tb,i.deltaDecorations=tb,n}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),0===e.length&&0===t.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),(0,a.dz)(Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){let n=e?this._decorations[e]:null;if(!n)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:tA[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(n),delete this._decorations[n.id],null;let r=this._validateRangeRelaxedNoAllocations(t),s=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),o=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);return this._decorationsTree.delete(n),n.reset(this.getVersionId(),s,o,r),n.setOptions(tA[i]),this._decorationsTree.insert(n),n.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;let t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,i=t.length;e<i;e++){let i=t[e];this._decorationsTree.delete(i),delete this._decorations[i.id]}}getDecorationOptions(e){let t=this._decorations[e];return t?t.options:null}getDecorationRange(e){let t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,i=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,n=!1,r=!1){let o=this.getLineCount(),a=Math.min(o,Math.max(1,e)),l=Math.min(o,Math.max(1,t)),h=this.getLineMaxColumn(l),d=new _.Q(a,1,l,h),u=this._getDecorationsInRange(d,i,n,r);return(0,s.E4)(u,this._decorationProvider.getDecorationsInRange(d,i,n)),u}getDecorationsInRange(e,t=0,i=!1,n=!1,r=!1){let o=this.validateRange(e),a=this._getDecorationsInRange(o,t,i,r);return(0,s.E4)(a,this._decorationProvider.getDecorationsInRange(o,t,i,n)),a}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){let t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),n=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return tc.uK.fromDecorations(n).filter(t=>t.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i.concat(this._decorationProvider.getAllDecorations(e,t))}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,n){let r=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),s=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,r,s,t,i,n)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){let i=this._decorations[e];if(!i)return;if(i.options.after){let t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(i.options.before){let t=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}
1let n=this._validateRangeRelaxedNoAllocations(t),r=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),s=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),r,s,n),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(n.startLineNumber)}_changeDecorationOptionsImpl(e,t){var i;let n=this._decorations[e];if(!n)return;let r=!!n.options.overviewRuler&&!!n.options.overviewRuler.color,s=!!t.overviewRuler&&!!t.overviewRuler.color;if(this._onDidChangeDecorations.checkAffectedAndFire(n.options),this._onDidChangeDecorations.checkAffectedAndFire(t),n.options.after||t.after){let e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(n.options.before||t.before){let e=this._decorationsTree.getNodeRange(this,n);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}let o=(!!(i=t).after||!!i.before)!==tx(n);r!==s||o?(this._decorationsTree.delete(n),n.setOptions(t),this._decorationsTree.insert(n)):n.setOptions(t)}_deltaDecorationsImpl(e,t,i,n=!1){let r=this.getVersionId(),s=t.length,o=0,a=i.length,l=0;this._onDidChangeDecorations.beginDeferredEmit();try{let h=Array(a);for(;o<s||l<a;){let d=null;if(o<s){do d=this._decorations[t[o++]];while(!d&&o<s);if(d){if(d.options.after){let e=this._decorationsTree.getNodeRange(this,d);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(d.options.before){let e=this._decorationsTree.getNodeRange(this,d);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}this._decorationsTree.delete(d),n||this._onDidChangeDecorations.checkAffectedAndFire(d.options)}}if(l<a){if(!d){let e=++this._lastDecorationId,t=`${this._instanceId};${e}`;d=new en(t,0,0),this._decorations[t]=d}let t=i[l],s=this._validateRangeRelaxedNoAllocations(t.range),o=tR(t.options),a=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),u=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);d.ownerId=e,d.reset(r,a,u,s),d.setOptions(o),d.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),d.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber),n||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(d),h[l]=d.id,l++}else d&&delete this._decorations[d.id]}return h}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){"string"==typeof e?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return function(e){let t=0;for(let i of e)if(" "===i||" "===i)t++;else break;return t}(this.getLineContent(e))+1}};function tI(e){return!!e.options.overviewRuler&&!!e.options.overviewRuler.color}function tx(e){return!!e.options.after||!!e.options.before}tL=r=function(e,t,i,n){var r,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o}([tp(4,t_.$D),tp(5,k.L),tp(6,C.JZ),tp(7,tf._Y)],tL);class tv{constructor(){this._decorationsTree0=new es,this._decorationsTree1=new es,this._injectedTextDecorationsTree=new es}
1ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(let i of t)null===i.range&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,n,r,s){let o=e.getVersionId(),a=this._intervalSearch(t,i,n,r,o,s);return this._ensureNodesHaveRanges(e,a)}_intervalSearch(e,t,i,n,r,s){let o=this._decorationsTree0.intervalSearch(e,t,i,n,r,s),a=this._decorationsTree1.intervalSearch(e,t,i,n,r,s),l=this._injectedTextDecorationsTree.intervalSearch(e,t,i,n,r,s);return o.concat(a).concat(l)}getInjectedTextInInterval(e,t,i,n){let r=e.getVersionId(),s=this._injectedTextDecorationsTree.intervalSearch(t,i,n,!1,r,!1);return this._ensureNodesHaveRanges(e,s).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllInjectedText(e,t){let i=e.getVersionId(),n=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,n).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAll(e,t,i,n,r){let s=e.getVersionId(),o=this._search(t,i,n,s,r);return this._ensureNodesHaveRanges(e,o)}_search(e,t,i,n,r){if(i)return this._decorationsTree1.search(e,t,n,r);{let i=this._decorationsTree0.search(e,t,n,r),s=this._decorationsTree1.search(e,t,n,r),o=this._injectedTextDecorationsTree.search(e,t,n,r);return i.concat(s).concat(o)}}collectNodesFromOwner(e){let t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),n=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(n)}collectNodesPostOrder(){let e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){tx(e)?this._injectedTextDecorationsTree.insert(e):tI(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){tx(e)?this._injectedTextDecorationsTree.delete(e):tI(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){let i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),null===t.range&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){tx(e)?this._injectedTextDecorationsTree.resolveNode(e,t):tI(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,n){this._decorationsTree0.acceptReplace(e,t,i,n),this._decorationsTree1.acceptReplace(e,t,i,n),this._injectedTextDecorationsTree.acceptReplace(e,t,i,n)}}function tT(e){return e.replace(/[^a-z0-9\-_]/gi," ")}class tS{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class tw extends tS{constructor(e){super(e),this._resolvedColor=null,this.position="number"==typeof e.position?e.position:b.A5.Center}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if("string"==typeof e)return e;let i=e?t.getColor(e.id):null;return i?i.toString():""}}class tE{constructor(e){this.position=e?.position??b.ZS.Center,this.persistLane=e?.persistLane}}class tB extends tS{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||("light"!==e.type&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return"string"==typeof e?o.Q1.fromHex(e):t.getColor(e.id)}}class tN{static from(e){return e instanceof tN?e:new tN(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class tO{static register(e){return new tO(e)}static createDynamic(e){return new tO(e)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?tT(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||
10,this.className=e.className?tT(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new tw(e.overviewRuler):null,this.minimap=e.minimap?new tB(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new tE(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?tT(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?tT(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?tT(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?d.jy(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?tT(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?tT(e.marginClassName):null,this.inlineClassName=e.inlineClassName?tT(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?tT(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?tT(e.afterContentClassName):null,this.after=e.after?tN.from(e.after):null,this.before=e.before?tN.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1}}tO.EMPTY=tO.register({description:"empty"});let tA=[tO.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),tO.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),tO.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),tO.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function tR(e){return e instanceof tO?e:tO.createDynamic(e)}class tD extends h.jG{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new l.vl),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){0===this._deferredCnt?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);let e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class tM extends h.jG{constructor(){super(),this._fastEmitter=this._register(new l.vl),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new l.vl),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;let t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.f
1ire(t)}}fire(e){if(this._deferredCnt>0)return void(this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e);this._fastEmitter.fire(e),this._slowEmitter.fire(e)}}},47131:(e,t,i)=>{i.d(t,{A3:()=>E,AQ:()=>W,Am:()=>S,As:()=>N,BD:()=>J,Bo:()=>K,CM:()=>v,D0:()=>h,Ek:()=>z,H0:()=>T,I2:()=>Y,IW:()=>ee,If:()=>Z,JB:()=>A,L0:()=>f,Mf:()=>l,P1:()=>es,Pe:()=>en,Qt:()=>p,WD:()=>er,WS:()=>ei,WY:()=>eo,Xr:()=>D,aZ:()=>V,bB:()=>et,hz:()=>L,je:()=>g,kG:()=>a,kM:()=>d,l5:()=>j,lQ:()=>H,n4:()=>X,ob:()=>b,ow:()=>I,s7:()=>$,sC:()=>u,sH:()=>Q,sN:()=>U,ss:()=>G,tK:()=>w,tp:()=>B,vP:()=>x,vV:()=>C,vp:()=>y,w4:()=>_,we:()=>c,x9:()=>R,yI:()=>F,yw:()=>M,zp:()=>q});var n=i(40507),r=i(43127),s=i(46454),o=i(64444);let a=(0,s.x1A)("editor.lineHighlightBackground",null,n.kg("lineHighlight","Background color for the highlight of line at the cursor position.")),l=(0,s.x1A)("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:s.b1q},n.kg("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));
1(0,s.x1A)("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},n.kg("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},n.kg("rangeHighlightBorder","Background color of the border around highlighted ranges.")),(0,s.x1A)("editor.symbolHighlightBackground",{dark:s.Ubg,light:s.Ubg,hcDark:null,hcLight:null},n.kg("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0),(0,s.x1A)("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:s.buw,hcLight:s.buw},n.kg("symbolHighlightBorder","Background color of the border around highlighted symbols."));let h=(0,s.x1A)("editorCursor.foreground",{dark:"#AEAFAD",light:r.Q1.black,hcDark:r.Q1.white,hcLight:"#0F4A85"},n.kg("caret","Color of the editor cursor.")),d=(0,s.x1A)("editorCursor.background",null,n.kg("editorCursorBackgroun
1d","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),u=(0,s.x1A)("editorMultiCursor.primary.foreground",h,n.kg("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),g=(0,s.x1A)("editorMultiCursor.primary.background",d,n.kg("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),c=(0,s.x1A)("editorMultiCursor.secondary.foreground",h,n.kg("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),f=(0,s.x1A)("editorMultiCursor.secondary.background",d,n.kg("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),_=(0,s.x1A)("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},n.kg("editorWhitespaces","Color of whitespace characters in the editor.")),p=(0,s.x1A)("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:r.Q1.white,hcLight:"#292929"},n.kg("editorLineNumbers","Color of editor line numbers.")),m=(0,s.x1A)("editorIndentGuide.background",_,n.kg("editorIndentGuides","Color of the editor indentation guides."),!1,n.kg("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),k=(0,s.x1A)("editorIndentGuide.activeBackground",_,n.kg("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,n.kg("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),C=(0,s.x1A)("editorIndentGuide.background1",m,n.kg("editorIndentGuides1","Color of the editor indentation guides (1).")),b=(0,s.x1A)("editorIndentGuide.background2","#00000000",n.kg("editorIndentGuides2","Color of the editor indentation guides (2).")),L=(0,s.x1A)("editorIndentGuide.background3","#00000000",n.kg("editorIndentGuides3","Color of the editor indentation guides (3).")),I=(0,s.x1A)("editorIndentGuide.background4","#00000000",n.kg("editorIndentGuides4","Color of the editor indentation guides (4).")),x=(0,s.x1A)("editorIndentGuide.background5","#00000000",n.kg("editorIndentGuides5","Color of the editor indentation guides (5).")),v=(0,s.x1A)("editorIndentGuide.background6","#00000000",n.kg("editorIndentGuides6","Color of the editor indentation guides (6).")),T=(0,s.x1A)("editorIndentGuide.activeBackground1",k,n.kg("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),S=(0,s.x1A)("editorIndentGuide.activeBackground2","#00000000",n.kg("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),w=(0,s.x1A)("editorIndentGuide.activeBackground3","#00000000",n.kg("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),E=(0,s.x1A)("editorIndentGuide.activeBackground4","#00000000",n.kg("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),B=(0,s.x1A)("editorIndentGuide.activeBackground5","#00000000",n.kg("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),N=(0,s.x1A)("editorIndentGuide.activeBackground6","#00000000",n.kg("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),O=(0,s.x1A)("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:s.buw,hcLight:s.buw},n.kg("editorActiveLineNumber","Color of editor active line number"),!1,n.kg("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));(0,s.x1A)("editorLineNumber.activeForeground",O,n.kg("editorActiveLineNumber","Color of editor active line number"));let A=(0,s.x1A)("editorLineNumber.dimmedForeground",null,n.kg("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));(0,s.x1A)("editorRuler.foreground",{dark:"#5A5A5A",light:r.Q1.lightgrey,hcDark:r.Q1.white,hcLight:"#292929"},n.kg("editorRuler","Color of the editor rulers.")),(0,s.x1A)("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},n.kg("editorCodeLensForeground","Foreground color of editor CodeLens")),(0,s.x1A)("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"}
1,n.kg("editorBracketMatchBackground","Background color behind matching brackets")),(0,s.x1A)("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:s.b1q,hcLight:s.b1q},n.kg("editorBracketMatchBorder","Color for matching brackets boxes"));let R=(0,s.x1A)("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},n.kg("editorOverviewRulerBorder","Color of the overview ruler border.")),D=(0,s.x1A)("editorOverviewRuler.background",null,n.kg("editorOverviewRulerBackground","Background color of the editor overview ruler."));(0,s.x1A)("editorGutter.background",s.YtV,n.kg("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),(0,s.x1A)("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:s.b1q},n.kg("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));let M=(0,s.x1A)("editorUnnecessaryCode.opacity",{dark:r.Q1.fromHex("#000a"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."));(0,s.x1A)("editorGhostText.border",{dark:null,light:null,hcDark:r.Q1.fromHex("#fff").transparent(.8),hcLight:r.Q1.fromHex("#292929").transparent(.8)},n.kg("editorGhostTextBorder","Border color of ghost text in the editor."));let z=(0,s.x1A)("editorGhostText.foreground",{dark:r.Q1.fromHex("#ffffff56"),light:r.Q1.fromHex("#0007"),hcDark:null,hcLight:null},n.kg("editorGhostTextForeground","Foreground color of the ghost text in the editor."));(0,s.x1A)("editorGhostText.background",null,n.kg("editorGhostTextBackground","Background color of the ghost text in the editor."));let P=new r.Q1(new r.bU(0,122,204,.6)),y=(0,s.x1A)("editorOverviewRuler.rangeHighlightForeground",P,n.kg("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),F=(0,s.x1A)("editorOverviewRuler.errorForeground",{dark:new r.Q1(new r.bU(255,18,18,.7)),light:new r.Q1(new r.bU(255,18,18,.7)),hcDark:new r.Q1(new r.bU(255,50,50,1)),hcLight:"#B5200D"},n.kg("overviewRuleError","Overview ruler marker color for errors.")),V=(0,s.x1A)("editorOverviewRuler.warningForeground",{dark:s.Hng,light:s.Hng,hcDark:s.Stt,hcLight:s.Stt},n.kg("overviewRuleWarning","Overview ruler marker color for warnings.")),W=(0,s.x1A)("editorOverviewRuler.infoForeground",{dark:s.pOz,light:s.pOz,hcDark:s.IIb,hcLight:s.IIb},n.kg("overviewRuleInfo","Overview ruler marker color for infos.")),U=(0,s.x1A)("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},n.kg("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),H=(0,s.x1A)("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},n.kg("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),G=(0,s.x1A)("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},n.kg("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),j=(0,s.x1A)("editorBracketHighlight.foreground4","#00000000",n.kg("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Q=(0,s.x1A)("editorBracketHighlight.foreground5","#00000000",n.kg("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),q=(0,s.x1A)("editorBracketHighlight.foreground6","#00000000",n.kg("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),$=(0,s.x1A)("editorBracketHighlight.unexpectedBracket.foreground",{dark:new r.Q1(new r.bU(255,18,18,.8)),light:new r.Q1(new r.bU(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},n.kg("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),X=(0,s.x1A)("editorBracketPairGuide.background1","#00000000",n.kg("editorBracketPairGuide.background1","Backgroun
1d color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Y=(0,s.x1A)("editorBracketPairGuide.background2","#00000000",n.kg("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),K=(0,s.x1A)("editorBracketPairGuide.background3","#00000000",n.kg("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),Z=(0,s.x1A)("editorBracketPairGuide.background4","#00000000",n.kg("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),J=(0,s.x1A)("editorBracketPairGuide.background5","#00000000",n.kg("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),ee=(0,s.x1A)("editorBracketPairGuide.background6","#00000000",n.kg("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),et=(0,s.x1A)("editorBracketPairGuide.activeBackground1","#00000000",n.kg("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),ei=(0,s.x1A)("editorBracketPairGuide.activeBackground2","#00000000",n.kg("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),en=(0,s.x1A)("editorBracketPairGuide.activeBackground3","#00000000",n.kg("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),er=(0,s.x1A)("editorBracketPairGuide.activeBackground4","#00000000",n.kg("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),es=(0,s.x1A)("editorBracketPairGuide.activeBackground5","#00000000",n.kg("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),eo=(0,s.x1A)("editorBracketPairGuide.activeBackground6","#00000000",n.kg("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));(0,s.x1A)("editorUnicodeHighlight.border",s.Hng,n.kg("editorUnicodeHighlight.border","Border color used to highlight unicode characters.")),(0,s.x1A)("editorUnicodeHighlight.background",s.whs,n.kg("editorUnicodeHighlight.background","Background color used to highlight unicode characters.")),(0,o.zy)((e,t)=>{let i=e.getColor(s.YtV),n=e.getColor(a),r=n&&!n.isTransparent()?n:i;r&&t.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${r}; }`)})},47162:(e,t,i)=>{i.d(t,{d:()=>n});class n{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}},57071:(e,t,i)=>{i.d(t,{_:()=>r});var n=i(90288);class r extends n.jG{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw Error("TextModelPart is disposed!")}}},59007:(e,t,i)=>{i.d(t,{P:()=>s});var n=i(97478),r=i(36329);function s(e,t,i){let s=n.HG(e);return -1===s&&(s=e.length),function(e,t,i){let n=0;for(let i=0;i<e.length;i++)" "===e.charAt(i)?n=r.A.nextIndentTabStop(n,t):n++;let s="";if(!i){let e=Math.floor(n/t);n%=t;for(let t=0;t<e;t++)s+=" "}for(let e=0;e<n;e++)s+=" ";return s}(e.substring(0,s),t,i)+e.substring(s)}},64726:(e,t,i)=>{i.d(t,{R:()=>n});let n={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}},67800:(e,t,i)=>{i.d(t,{P:()=>u,k:()=>g});var n=i(76193),r=i(97478),s=i(36329),o=i(74885),a=i(57071),l=i(27395),h=i(13321),d=i(98839);class u extends a._{constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t}getLanguageConfiguration(e){return this.languageConfigurationService.getLanguageConfiguration(e)}_computeIndentLevel(e){return(0,l.G)(this.textModel.getLineContent(e+1),this.textModel.getOptions().tabSize)}getActiveIndentGuide(e,t,i){this.assertNotDisposed();let n=this.textModel.getLineCount();if(e<1||e>n)throw new d.D7("Illegal value for lineNumber");let r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(r&&r.offSide),o=-2,a=-1,l=-2,h=-1,u=e=>{if(-1!==o&&(-2===o||o>e-1)){o=-1,a=-1;for(let t=e-2;t>=0;t--){let e=this._computeIndentLevel(t);if(e>=0){o=t,a=e;break}}}if(-2===l){l=-1,h=-1;for(let t=e;t<n;t++){let e=this._computeIndentLevel(t);if(e>=0){l=t,h=e;break}}}},g=-2,c=-1,f=-2,_=-1,p=e=>{if(-2===g){g=-1,c=-1;for(let t=e-2;t>=0;t--){let e=this._computeIndentLevel(t);if(e>=0){g=t,c=e;break}}}if(-1!==f&&(-2===f||f<e-1)){f=-1,_=-1;for(let t=e;t<n;t++){let e=this._computeIndentLevel(t);if(e>=0){f=t,_=e;break}}}},m=0,k=!0,C=0,b=!0,L=0,I=0;for(let r=0;k||b;r++){let o=e-r,d=e+r;r>1&&(o<1||o<t)&&(k=!1),r>1&&(d>n||d>i)&&(b=!1),r>5e4&&(k=!1,b=!1);let f=-1;if(k&&o>=1){let e=this._computeIndentLevel(o-1);e>=0?(l=o-1,h=e,f=Math.ceil(e/this.textModel.getOptions().indentSize)):(u(o),f=this._getIndentLevelForWhitespaceLine(s,a,h))}let x=-1;if(b&&d<=n){let e=this._computeIndentLevel(d-1);e>=0?(g=d-1,c=e,x=Math.ceil(e/this.textModel.getOptions().indentSize)):(p(d),x=this._getIndentLevelForWhitespaceLine(s,c,_))}if(0===r){I=f;continue}if(1===r){if(d<=n&&x>=0&&I+1===x){k=!1,m=d,C=d,L=x;continue}if(o>=1&&f>=0&&f-1===I){b=!1,m=o,C=o,L=f;continue}if(m=e,C=e,0===(L=I))break}k&&(f>=L?m=o:k=!1),b&&(x>=L?C=d:b=!1)}return{startLineNumber:m,endLineNumber:C,indent:L}}getLinesBracketGuides(e,t,i,s){let a,l=[];for(let i=e;i<=t;
1i++)l.push([]);let d=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new o.Q(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();if(i&&d.length>0){let r=(e<=i.lineNumber&&i.lineNumber<=t?d:this.textModel.bracketPairs.getBracketPairsInRange(o.Q.fromPositions(i)).toArray()).filter(e=>o.Q.strictContainsPosition(e.range,i));a=(0,n.Uk)(r,e=>!0)?.range}let u=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,c=new g;for(let i of d){if(!i.closingBracketRange)continue;let n=a&&i.range.equalsRange(a);if(!n&&!s.includeInactive)continue;let o=c.getInlineClassName(i.nestingLevel,i.nestingLevelOfEqualBracketType,u)+(s.highlightActive&&n?" "+c.activeClassName:""),d=i.openingBracketRange.getStartPosition(),g=i.closingBracketRange.getStartPosition(),f=s.horizontalGuides===h.N6.Enabled||s.horizontalGuides===h.N6.EnabledForActive&&n;if(i.range.startLineNumber===i.range.endLineNumber){f&&l[i.range.startLineNumber-e].push(new h.TH(-1,i.openingBracketRange.getEndPosition().column,o,new h.pv(!1,g.column),-1,-1));continue}let _=this.getVisibleColumnFromPosition(g),p=this.getVisibleColumnFromPosition(i.openingBracketRange.getStartPosition()),m=Math.min(p,_,i.minVisibleColumnIndentation+1),k=!1;r.HG(this.textModel.getLineContent(i.closingBracketRange.startLineNumber))<i.closingBracketRange.startColumn-1&&(k=!0);let C=Math.max(d.lineNumber,e),b=Math.min(g.lineNumber,t),L=+!!k;for(let t=C;t<b+L;t++)l[t-e].push(new h.TH(m,-1,o,null,t===d.lineNumber?d.column:-1,t===g.lineNumber?g.column:-1));f&&(d.lineNumber>=e&&p>m&&l[d.lineNumber-e].push(new h.TH(m,-1,o,new h.pv(!1,d.column),-1,-1)),g.lineNumber<=t&&_>m&&l[g.lineNumber-e].push(new h.TH(m,-1,o,new h.pv(!k,g.column),-1,-1)))}for(let e of l)e.sort((e,t)=>e.visibleColumn-t.visibleColumn);return l}getVisibleColumnFromPosition(e){return s.A.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();let i=this.textModel.getLineCount();if(e<1||e>i)throw Error("Illegal value for startLineNumber");if(t<1||t>i)throw Error("Illegal value for endLineNumber");let n=this.textModel.getOptions(),r=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,s=!!(r&&r.offSide),o=Array(t-e+1),a=-2,l=-1,h=-2,d=-1;for(let r=e;r<=t;r++){let t=r-e,u=this._computeIndentLevel(r-1);if(u>=0){a=r-1,l=u,o[t]=Math.ceil(u/n.indentSize);continue}if(-2===a){a=-1,l=-1;for(let e=r-2;e>=0;e--){let t=this._computeIndentLevel(e);if(t>=0){a=e,l=t;break}}}if(-1!==h&&(-2===h||h<r-1)){h=-1,d=-1;for(let e=r;e<i;e++){let t=this._computeIndentLevel(e);if(t>=0){h=e,d=t;break}}}o[t]=this._getIndentLevelForWhitespaceLine(s,l,d)}return o}_getIndentLevelForWhitespaceLine(e,t,i){let n=this.textModel.getOptions();return -1===t||-1===i?0:t<i?1+Math.floor(t/n.indentSize):t===i?Math.ceil(i/n.indentSize):e?Math.ceil(i/n.indentSize):1+Math.floor(i/n.indentSize)}}class g{constructor(){this.activeClassName="indent-active"}getInlineClassName(e,t,i){return this.getInlineClassNameOfLevel(i?t:e)}getInlineClassNameOfLevel(e){return`bracket-indent-guide lvl-${e%30}`}}},68696:(e,t,i)=>{i.r(t),i.d(t,{ITextResourceConfigurationService:()=>r,ITextResourcePropertiesService:()=>s});var n=i(77917);let r=(0,n.u1)("textResourceConfigurationService"),s=(0,n.u1)("textResourcePropertiesService")},74226:(e,t,i)=>{i.d(t,{_:()=>u,ou:()=>l,tk:()=>h});var n=i(98839),r=i(36802),s=i(12463),o=i(42189),a=i(96052);class l{constructor(e,t,i,n,r){this.length=e,this.kind=t,this.bracketId=i,this.bracketIds=n,this.astNode=r}}class h{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.reader=new d(this.textModel,this.bracketTokens),this._offset=o.Vp,this.didPeek=!1,this.peeked=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}get offset(){return this._offset}get length(){return(0,o.qe)(this.textBufferLineCount-1,this.textBufferLastLineLength)}skip(e){this.didPeek=!1,this._offset=(0,o.QB)(this._offset,e);let t=(0,o.l4)(this._offset);this.reader.setPosition(t.lineCount,t.columnCount)}read(){let e;
1return this.peeked?(this.didPeek=!1,e=this.peeked):e=this.reader.read(),e&&(this._offset=(0,o.QB)(this._offset,e.length)),e}peek(){return this.didPeek||(this.peeked=this.reader.read(),this.didPeek=!0),this.peeked}}class d{constructor(e,t){this.textModel=e,this.bracketTokens=t,this.lineIdx=0,this.line=null,this.lineCharOffset=0,this.lineTokens=null,this.lineTokenOffset=0,this.peekedToken=null,this.textBufferLineCount=e.getLineCount(),this.textBufferLastLineLength=e.getLineLength(this.textBufferLineCount)}setPosition(e,t){e===this.lineIdx?(this.lineCharOffset=t,null!==this.line&&(this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset))):(this.lineIdx=e,this.lineCharOffset=t,this.line=null),this.peekedToken=null}read(){if(this.peekedToken){let e=this.peekedToken;return this.peekedToken=null,this.lineCharOffset+=(0,o.sS)(e.length),e}if(this.lineIdx>this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;null===this.line&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=0===this.lineCharOffset?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));let e=this.lineIdx,t=this.lineCharOffset,i=0;for(;;){let n=this.lineTokens,s=n.getCount(),a=null;if(this.lineTokenOffset<s){let l=n.getMetadata(this.lineTokenOffset);for(;this.lineTokenOffset+1<s&&l===n.getMetadata(this.lineTokenOffset+1);)this.lineTokenOffset++;let h=0===r.x.getTokenType(l),d=r.x.containsBalancedBrackets(l),u=n.getEndOffset(this.lineTokenOffset);if(d&&h&&this.lineCharOffset<u){let e=n.getLanguageId(this.lineTokenOffset),t=this.line.substring(this.lineCharOffset,u),i=this.bracketTokens.getSingleLanguageBracketTokens(e),r=i.regExpGlobal;if(r){r.lastIndex=0;let e=r.exec(t);e&&(a=i.getToken(e[0]))&&(this.lineCharOffset+=e.index)}}if(i+=u-this.lineCharOffset,a)if(e===this.lineIdx&&t===this.lineCharOffset)return this.lineCharOffset+=(0,o.sS)(a.length),a;else{this.peekedToken=a;break}this.lineTokenOffset++,this.lineCharOffset=u}else if(this.lineIdx===this.textBufferLineCount-1||(this.lineIdx++,this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.lineTokenOffset=0,this.line=this.lineTokens.getLineContent(),this.lineCharOffset=0,(i+=33)>1e3))break;if(i>1500)break}let n=(0,o.C7)(e,t,this.lineIdx,this.lineCharOffset);return new l(n,0,-1,a.gV.getEmpty(),new s.yF(n))}}class u{constructor(e,t){let i;this.text=e,this._offset=o.Vp,this.idx=0;let n=t.getRegExpStr(),r=n?RegExp(n+"|\n","gi"):null,h=[],d=0,u=0,g=0,c=0,f=[];for(let e=0;e<60;e++)f.push(new l((0,o.qe)(0,e),0,-1,a.gV.getEmpty(),new s.yF((0,o.qe)(0,e))));let _=[];for(let e=0;e<60;e++)_.push(new l((0,o.qe)(1,e),0,-1,a.gV.getEmpty(),new s.yF((0,o.qe)(1,e))));if(r)for(r.lastIndex=0;null!==(i=r.exec(e));){let e=i.index,n=i[0];if("\n"===n)d++,u=e+1;else{if(g!==e){let t;if(c===d){let i=e-g;if(i<f.length)t=f[i];else{let e=(0,o.qe)(0,i);t=new l(e,0,-1,a.gV.getEmpty(),new s.yF(e))}}else{let i=d-c,n=e-u;if(1===i&&n<_.length)t=_[n];else{let e=(0,o.qe)(i,n);t=new l(e,0,-1,a.gV.getEmpty(),new s.yF(e))}}h.push(t)}h.push(t.getToken(n)),g=e+n.length,c=d}}let p=e.length;if(g!==p){let e=c===d?(0,o.qe)(0,p-g):(0,o.qe)(d-c,p-u);h.push(new l(e,0,-1,a.gV.getEmpty(),new s.yF(e)))}this.length=(0,o.qe)(d,p-u),this.tokens=h}get offset(){return this._offset}read(){return this.tokens[this.idx++]||null}peek(){return this.tokens[this.idx]||null}skip(e){throw new n.EM}}},75664:(e,t,i)=>{i.d(t,{Z:()=>h});var n=i(97478),r=i(12463),s=i(42189),o=i(96052),a=i(74226);class l{static createFromLanguage(e,t){function i(e){return t.getKey(`${e.languageId}:::${e.bracketText}`)}let n=new Map;for(let t of e.bracketsNew.openingBrackets){let e=(0,s.qe)(0,t.bracketText.length),l=i(t),h=o.gV.getEmpty().add(l,o.FD);n.set(t.bracketText,new a.ou(e,1,l,h,r.rh.create(e,t,h)))}for(let t of e.bracketsNew.closingBrackets){let e=(0,s.qe)(0,t.bracketText.length),l=o.gV.getEmpty(),h=t.getOpeningBrackets();for(let e of h)l=l.add(i(e),o.FD);n.set(t.bracketText,new a.ou(e,2,i(h[0]),l,r.rh.create(e,t,l)))}return new l(n)}constructor(e){this.map=e,this.hasRegExp=!1,this._regExpGlobal=null}getRegExpStr(){if(this.isEmpty)return null;
1{let e=[...this.map.keys()];return e.sort(),e.reverse(),e.map(e=>{var t;let i;return t=e,i=(0,n.bm)(t),/^[\w ]+/.test(t)&&(i=`\\b${i}`),/[\w ]+$/.test(t)&&(i=`${i}\\b`),i}).join("|")}}get regExpGlobal(){if(!this.hasRegExp){let e=this.getRegExpStr();this._regExpGlobal=e?RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(let[t,i]of this.map)if(2===i.kind&&i.bracketIds.intersects(e))return t}get isEmpty(){return 0===this.map.size}}class h{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=l.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}},77102:(e,t,i)=>{i.d(t,{Th:()=>_,z8:()=>p});var n=i(40507),r=i(98839),s=i(34098),o=i(55674),a=i(31051),l=i(46050),h=i(19601);function d(e){return e.toString()}class u{static create(e,t){let i=e.getAlternativeVersionId(),n=f(e);return new u(i,i,n,n,t,t,[])}constructor(e,t,i,n,r,s,o){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=n,this.beforeCursorState=r,this.afterCurs
1orState=s,this.changes=o}append(e,t,i,n,r){t.length>0&&(this.changes=(0,a.x)(this.changes,t)),this.afterEOL=i,this.afterVersionId=n,this.afterCursorState=r}static _writeSelectionsSize(e){return 4+16*(e?e.length:0)}static _writeSelections(e,t,i){if(l.Sw(e,t?t.length:0,i),i+=4,t)for(let n of t)l.Sw(e,n.selectionStartLineNumber,i),i+=4,l.Sw(e,n.selectionStartColumn,i),i+=4,l.Sw(e,n.positionLineNumber,i),i+=4,l.Sw(e,n.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){let n=l.bb(e,t);t+=4;for(let r=0;r<n;r++){let n=l.bb(e,t);t+=4;let r=l.bb(e,t);t+=4;let o=l.bb(e,t);t+=4;let a=l.bb(e,t);t+=4,i.push(new s.L(n,r,o,a))}return t}serialize(){let e=10+u._writeSelectionsSize(this.beforeCursorState)+u._writeSelectionsSize(this.afterCursorState)+4;for(let t of this.changes)e+=t.writeSize();let t=new Uint8Array(e),i=0;for(let e of(l.Sw(t,this.beforeVersionId,i),i+=4,l.Sw(t,this.afterVersionId,i),i+=4,l.Gs(t,this.beforeEOL,i),i+=1,l.Gs(t,this.afterEOL,i),i+=1,i=u._writeSelections(t,this.beforeCursorState,i),i=u._writeSelections(t,this.afterCurs
1orState,i),l.Sw(t,this.changes.length,i),i+=4,this.changes))i=e.write(t,i);return t.buffer}static deserialize(e){let t=new Uint8Array(e),i=0,n=l.bb(t,i);i+=4;let r=l.bb(t,i);i+=4;let s=l.pJ(t,i);i+=1;let o=l.pJ(t,i);i+=1;let h=[];i=u._readSelections(t,i,h);let d=[];i=u._readSelections(t,i,d);let g=l.bb(t,i);i+=4;let c=[];for(let e=0;e<g;e++)i=a.k.read(t,i,c);return new u(n,r,s,o,h,d,c)}}class g{get type(){return 0}get resource(){return o.r.isUri(this.model)?this.model:this.model.uri}constructor(e,t,i,n){this.label=e,this.code=t,this.model=i,this._data=u.create(i,n)}toString(){return(this._data instanceof u?this._data:u.deserialize(this._data)).changes.map(e=>e.toString()).join(", ")}matchesResource(e){return(o.r.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof u}append(e,t,i,n,r){this._data instanceof u&&this._data.append(e,t,i,n,r)}close(){this._data instanceof u&&(this._data=this._data.serialize())}open(){this._data instanceof u||(this._data=u.deserialize(this._data))}undo(){if(o.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof u&&(this._data=this._data.serialize());let e=u.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(o.r.isUri(this.model))throw Error("Invalid SingleModelEditStackElement");this._data instanceof u&&(this._data=this._data.serialize());let e=u.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof u&&(this._data=this._data.serialize()),this._data.byteLength+168}}class c{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){for(let n of(this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map,this._editStackElementsArr)){let e=d(n.resource);this._editStackElementsMap.set(e,n)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){let t=d(e);return this._editStackElementsMap.has(t)}setModel(e){let t=d(o.r.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;let t=d(e.uri);return!!this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).canAppend(e)}append(e,t,i,n,r){let s=d(e.uri);this._editStackElementsMap.get(s).append(e,t,i,n,r)}close(){this._isOpen=!1}open(){}undo(){for(let e of(this._isOpen=!1,this._editStackElementsArr))e.undo()}redo(){for(let e of this._editStackElementsArr)e.redo()}heapSize(e){let t=d(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){let e=[];for(let t of this._editStackElementsArr)e.push(`${(0,h.P8)(t.resource)}: ${t}`);return`{${e.join(", ")}}`}}function f(e){return+("\n"!==e.getEOL())}function _(e){return!!e&&(e instanceof g||e instanceof c)}class p{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){let e=this._undoRedoService.getLastElement(this._model.uri);_(e)&&e.close()}popStackElement(){let e=this._undoRedoService.getLastElement(this._model.uri);_(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){let i=this._undoRedoService.getLastElement(this._model.uri);if(_(i)&&i.canAppend(this._model))return i;let r=new g(n.kg("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){let t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],f(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,n){let r=this._getOrCreateEditStackElement(e,n),s=this._model.applyEdits(t,!0),o=p._computeCursorState(i,s),a=s.map((e,t)=>({index:t,textChange:e.textChange}));return a.sort((e,t)=>e.textChange.oldPosition===t.textChange.oldPosition?e.index-t.index:e.textChange.oldPosition-t.textChange.oldPosition),r.append(this._model,a.map(e=>e.textChange),f(this._model),this._model.getAlternativeVersionId(),o),o}static _computeCursorState(e,t){try{return e?e(t):null}catch(e){return(0,r.dz)(e),null}}}},84367:(e,t,i)=>{i.d(t,{T:()=>
1o,f:()=>r});var n=i(36802);class r{static{this.defaultTokenMetadata=0x2008000}static createEmpty(e,t){let i=r.defaultTokenMetadata,n=new Uint32Array(2);return n[0]=e.length,n[1]=i,new r(n,e,t)}static createFromTextAndMetadata(e,t){let i=0,n="",s=[];for(let{text:t,metadata:r}of e)s.push(i+t.length,r),i+=t.length,n+=t;return new r(new Uint32Array(s),n,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof r&&this.slicedEquals(e,0,this._tokensCount)}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let n=t<<1,r=n+(i<<1);for(let t=n;t<r;t++)if(this._tokens[t]!==e._tokens[t])return!1;return!0}getLineContent(){return this._text}getCount(){return this._tokensCount}getStartOffset(e){return e>0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],i=n.x.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return n.x.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return n.x.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return n.x.getClassNameFromMetadata(t)}getInlineStyle(e,t){let i=this._tokens[(e<<1)+1];return n.x.getInlineStyleFromMetadata(i,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return n.x.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return r.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new s(this,e,t,i)}static convertToEndOffset(e,t){let i=(e.length>>>1)-1;for(let t=0;t<i;t++)e[t<<1]=e[t+1<<1];e[i<<1]=t}static findIndexInTokensArray(e,t){if(e.length<=2)return 0;let i=0,n=(e.length>>>1)-1;for(;i<n;){let r=i+Math.floor((n-i)/2),s=e[r<<1];if(s===t)return r+1;s<t?i=r+1:s>t&&(n=r)}return i}withInserted(e){if(0===e.length)return this;let t=0,i=0,n="",s=[],o=0;for(;;){let r=t<this._tokensCount?this._tokens[t<<1]:-1,a=i<e.length?e[i]:null;if(-1!==r&&(null===a||r<=a.offset)){n+=this._text.substring(o,r);let e=this._tokens[(t<<1)+1];s.push(n.length,e),t++,o=r}else if(a){if(a.offset>o){n+=this._text.substring(o,a.offset);let e=this._tokens[(t<<1)+1];s.push(n.length,e),o=a.offset}n+=a.text,s.push(n.length,a.tokenMetadata),i++}else break}return new r(new Uint32Array(s),n,this.languageIdCodec)}getTokenText(e){let t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){let t=this.getCount();for(let i=0;i<t;i++)e(i)}}class s{constructor(e,t,i,n){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=n,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,n=e.getCount();t<n&&!(e.getStartOffset(t)>=i);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof s&&this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),n=this._source.getEndOffset(t),r=this._source.getTokenText(t);return i<this._startOffset&&(r=r.substring(this._startOffset-i)),n>this._endOffset&&(r=r.substring(0,r.length-(n-this._endOffset))),r}forEach(e){for(let t=0;t<this.getCount();t++)e(t)}}function o(e,t){let i=t.lineNumber;if(!e.tokenization.isCheapToTokenize(i))return;e.tokenization.forceTokenization(i);let n=e.tokenization.getLineTokens(i),r=n.findTokenIndexAtOffset(t.column-1);return n.getStandardTokenType(r)}},85302:(e,t,i)=>{i.d(t,{N:()=>o,v:()=>s});var n=i(47162);let r=[];function s(e,t,i){t instanceof n.d||(t=new n.d(t,[],!!i)),r.push([e,t])}function o(){return r}},92142:(e,t,i)=>{i.d(t,{Fu:()=>f,az:()=>a,xb:()=>g});var n=i(97478),r=i(8948),s=i(74885);class o{constructor(e,t,i,n,r,s){this._richEditBracketBrand=void 0,this.languageId=e,this.index=t,this.open=i,this.close=n,this.forwardRegex=r,this.reversedRegex=s,this._openSet=o._toSet(this.open),this._closeSet=o._toSet(this.close)}isOpen(e){return this._openSet.has(e)}isClose(e){return this._closeSet.has(e)}static _toSet(e){let t=new Set;for(let i of e)t.add(i);return t}}class a{constructor(e,t){this._richEditBracketsBrand=void 0;let i=function(e){let t=e.length;e=e.map(e=>[e[0].toLowerCase(),e[1].toLowerCase()]);let i=[];for(let e=0;e<t;e++)i[e]=e;let n=(e,t)=>{let[i,n]=e,[r,s]=t;return i===r||i===s||n===r||n===s},r=(e,n)=>{let r=Math.min(e,n),s=Math.max(e,n);for(let e=0;e<t;e++)i[e]===s&&(i[e]=r)};for(let s=0;s<t;s++){let o=e[s];for(let a=s+1;a<t;a++)n(o,e[a])&&r(i[s],i[a])}let s=[];for(let n=0;n<t;n++){let r=[],o=[];for(let s=0;s<t;s++)if(i[s]===n){let[t,i]=e[s];
1r.push(t),o.push(i)}r.length>0&&s.push({open:r,close:o})}return s}(t);for(let t of(this.brackets=i.map((t,n)=>new o(e,n,t.open,t.close,function(e,t,i,n){let r=[];r=(r=r.concat(e)).concat(t);for(let e=0,t=r.length;e<t;e++)l(r[e],i,n,r);return(r=d(r)).sort(h),r.reverse(),g(r)}(t.open,t.close,i,n),function(e,t,i,n){let r=[];r=(r=r.concat(e)).concat(t);for(let e=0,t=r.length;e<t;e++)l(r[e],i,n,r);return(r=d(r)).sort(h),r.reverse(),g(r.map(c))}(t.open,t.close,i,n))),this.forwardRegex=function(e){let t=[];for(let i of e){for(let e of i.open)t.push(e);for(let e of i.close)t.push(e)}return g(t=d(t))}(this.brackets),this.reversedRegex=function(e){let t=[];for(let i of e){for(let e of i.open)t.push(e);for(let e of i.close)t.push(e)}return g((t=d(t)).map(c))}(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0,this.brackets)){for(let e of t.open)this.textIsBracket[e]=t,this.textIsOpenBracket[e]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,e.length);for(let e of t.close)this.textIsBracket[e]=t,this.textIsOpenBracket[e]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,e.length)}}}function l(e,t,i,n){for(let r=0,s=t.length;r<s;r++){if(r===i)continue;let s=t[r];for(let t of s.open)t.indexOf(e)>=0&&n.push(t);for(let t of s.close)t.indexOf(e)>=0&&n.push(t)}}function h(e,t){return e.length-t.length}function d(e){if(e.length<=1)return e;let t=[],i=new Set;for(let n of e)i.has(n)||(t.push(n),i.add(n));return t}function u(e){let t=/^[\w ]+$/.test(e);return e=n.bm(e),t?`\\b${e}\\b`:e}function g(e,t){let i=`(${e.map(u).join(")|(")})`;return n.OS(i,!0,t)}let c=function(){let e=null,t=null;return function(i){return e!==i&&(t=function(e){let t=new Uint16Array(e.length),i=0;for(let n=e.length-1;n>=0;n--)t[i++]=e.charCodeAt(n);return r.b7().decode(t)}(e=i)),t}}();class f{static _findPrevBracketInText(e,t,i,n){let r=i.match(e);if(!r)return null;let o=i.length-(r.index||0),a=r[0].length,l=n+o;return new s.Q(t,l-a+1,t,l+1)}static findPrevBracketInRange(e,t,i,n,r){let s=c(i).substring(i.length-r,i.length-n);return this._findPrevBracketInText(e,t,s,n)}static findNextBracketInText(e,t,i,n){let r=i.match(e);if(!r)return null;let o=r.index||0,a=r[0].length;if(0===a)return null;let l=n+o;return new s.Q(t,l+1,t,l+1+a)}static findNextBracketInRange(e,t,i,n,r){let s=i.substring(n,r);return this.findNextBracketInText(e,t,s,n)}}},96052:(e,t,i)=>{i.d(t,{FD:()=>s,Mg:()=>o,gV:()=>r});let n=[];class r{static{this.cache=Array(129)}static create(e,t){if(e<=128&&0===t.length){let i=r.cache[e];return i||(i=new r(e,t),r.cache[e]=i),i}return new r(e,t)}static{this.empty=r.create(0,n)}static getEmpty(){return this.empty}constructor(e,t){this.items=e,this.additionalItems=t}add(e,t){let i=t.getKey(e),n=i>>5;if(0===n){let e=1<<i|this.items;return e===this.items?this:r.create(e,this.additionalItems)}n--;let s=this.additionalItems.slice(0);for(;s.length<n;)s.push(0);return s[n]|=1<<(31&i),r.create(this.items,s)}merge(e){let t=this.items|e.items;if(this.additionalItems===n&&e.additionalItems===n)return t===this.items?this:t===e.items?e:r.create(t,n);let i=[];for(let t=0;t<Math.max(this.additionalItems.length,e.additionalItems.length);t++){let n=this.additionalItems[t]||0,r=e.additionalItems[t]||0;i.push(n|r)}return r.create(t,i)}intersects(e){if((this.items&e.items)!=0)return!0;for(let t=0;t<Math.min(this.additionalItems.length,e.additionalItems.length);t++)if((this.additionalItems[t]&e.additionalItems[t])!=0)return!0;return!1}}let s={getKey:e=>e};class o{constructor(){this.items=new Map}getKey(e){let t=this.items.get(e);return void 0===t&&(t=this.items.size,this.items.set(e,t)),t}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.