UNPKG

code-server

Version:

Run VS Code on a remote server.

24 lines (16 loc) • 143 kB
"use strict";var xn=Object.defineProperty;var _n=(i,e)=>{for(var t in e)xn(i,t,{get:e[t],enumerable:!0})};var bn=require("worker_threads");var Lt={};_n(Lt,{computeDiff:()=>Xn,computeDiffSync:()=>gn});function te(i,e){let t=ne(i,e);return t===-1?void 0:i[t]}function ne(i,e,t=0,n=i.length){let r=t,s=n;for(;r<s;){let o=Math.floor((r+s)/2);e(i[o])?r=o+1:s=o}return r-1}function yt(i,e){let t=we(i,e);return t===i.length?void 0:i[t]}function we(i,e,t=0,n=i.length){let r=t,s=n;for(;r<s;){let o=Math.floor((r+s)/2);e(i[o])?s=o:r=o+1}return r}var Ie=class i{constructor(e){this._array=e;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(e){if(i.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!e(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}let t=ne(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,t===-1?void 0:this._array[t]}};var Je=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?qe.isErrorNoTelemetry(e)?new qe(e.message+` `+e.stack):new Error(e.message+` `+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},vn=new Je;function le(i){En(i)||vn.onUnexpectedError(i)}var Ye="Canceled";function En(i){return i instanceof Fe?!0:i instanceof Error&&i.name===Ye&&i.message===Ye}var Fe=class extends Error{constructor(){super(Ye),this.name=this.message}},It=class i extends Error{static{this._name="PendingMigrationError"}static is(e){return e instanceof i||e instanceof Error&&e.name===i._name}constructor(e){super(e),this.name=i._name}};var qe=class i extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof i)return e;let t=new i;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},q=class i extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,i.prototype)}};function Be(i,e,t=(n,r)=>n===r){if(i===e)return!0;if(!i||!e||i.length!==e.length)return!1;for(let n=0,r=i.length;n<r;n++)if(!t(i[n],e[n]))return!1;return!0}function*Nt(i,e){let t,n;for(let r of i)n!==void 0&&e(n,r)?t.push(r):(t&&(yield t),t=[r]),n=r;t&&(yield t)}function Dt(i,e){for(let t=0;t<=i.length;t++)e(t===0?void 0:i[t-1],t===i.length?void 0:i[t])}function St(i,e){for(let t=0;t<i.length;t++)e(t===0?void 0:i[t-1],i[t],t+1===i.length?void 0:i[t+1])}function At(i,e){for(let t of e)i.push(t)}var Ot;(l=>{function i(u){return u<0}l.isLessThan=i;function e(u){return u<=0}l.isLessThanOrEqual=e;function t(u){return u>0}l.isGreaterThan=t;function n(u){return u===0}l.isNeitherLessOrGreaterThan=n,l.greaterThan=1,l.lessThan=-1,l.neitherLessOrGreaterThan=0})(Ot||={});function J(i,e){return(t,n)=>e(i(t),i(n))}var ie=(i,e)=>i-e;function Mt(i){return(e,t)=>-i(e,t)}var wt=class i{constructor(e){this.iterate=e}static{this.empty=new i(e=>{})}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new i(t=>this.iterate(n=>e(n)?t(n):!0))}map(e){return new i(t=>this.iterate(n=>t(e(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>e(n)?(t=n,!1):!0),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Ot.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};function Ze(i,e="unexpected state"){if(!i)throw typeof e=="string"?new q(`Assertion Failed: ${e}`):e}function me(i){if(!i()){debugger;i(),le(new q("Assertion Failed"))}}function Ke(i,e){let t=0;for(;t<i.length-1;){let n=i[t],r=i[t+1];if(!e(n,r))return!1;t++}return!0}var k=class i{constructor(e,t){this.start=e;this.endExclusive=t;if(e>t)throw new q(`Invalid range: ${this.toString()}`)}static fromTo(e,t){return new i(e,t)}static equals(e,t){return e.start===t.start&&e.endExclusive===t.endExclusive}static addRange(e,t){let n=0;for(;n<t.length&&t[n].endExclusive<e.start;)n++;let r=n;for(;r<t.length&&t[r].start<=e.endExclusive;)r++;if(n===r)t.splice(n,0,e);else{let s=Math.min(e.start,t[n].start),o=Math.max(e.endExclusive,t[r-1].endExclusive);t.splice(n,r-n,new i(s,o))}}static tryCreate(e,t){if(!(e>t))return new i(e,t)}static ofLength(e){return new i(0,e)}static ofStartAndLength(e,t){return new i(e,e+t)}static emptyAt(e){return new i(e,e)}get isEmpty(){return this.start===this.endExclusive}delta(e){return new i(this.start+e,this.endExclusive+e)}deltaStart(e){return new i(this.start+e,this.endExclusive)}deltaEnd(e){return new i(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}containsRange(e){return this.start<=e.start&&e.endExclusive<=this.endExclusive}contains(e){return this.start<=e&&e<this.endExclusive}join(e){return new i(Math.min(this.start,e.start),Math.max(this.endExclusive,e.endExclusive))}intersect(e){let t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);if(t<=n)return new i(t,n)}intersectionLength(e){let t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);return Math.max(0,n-t)}intersects(e){let t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);return t<n}intersectsOrTouches(e){let t=Math.max(this.start,e.start),n=Math.min(this.endExclusive,e.endExclusive);return t<=n}isBefore(e){return this.endExclusive<=e.start}isAfter(e){return this.start>=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new q(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new q(`Invalid clipping range: ${this.toString()}`);return e<this.start?this.endExclusive-(this.start-e)%this.length:e>=this.endExclusive?this.start+(e-this.start)%this.length:e}map(e){let t=[];for(let n=this.start;n<this.endExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.start;t<this.endExclusive;t++)e(t)}joinRightTouching(e){if(this.endExclusive!==e.start)throw new q(`Invalid join: ${this.toString()} and ${e.toString()}`);return new i(this.start,e.endExclusive)}withMargin(e,t){return t===void 0&&(t=e),new i(this.start-e,this.endExclusive+t)}};var M=class i{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new i(e,t)}delta(e=0,t=0){return this.with(Math.max(1,this.lineNumber+e),Math.max(1,this.column+t))}equals(e){return i.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return i.isBefore(this,e)}static isBefore(e,t){return e.lineNumber<t.lineNumber?!0:t.lineNumber<e.lineNumber?!1:e.column<t.column}isBeforeOrEqual(e){return i.isBeforeOrEqual(this,e)}static isBeforeOrEqual(e,t){return e.lineNumber<t.lineNumber?!0:t.lineNumber<e.lineNumber?!1:e.column<=t.column}static compare(e,t){let n=e.lineNumber|0,r=t.lineNumber|0;if(n===r){let s=e.column|0,o=t.column|0;return s-o}return n-r}clone(){return new i(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(e){return new i(e.lineNumber,e.column)}static isIPosition(e){return!!e&&typeof e.lineNumber=="number"&&typeof e.column=="number"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}};var w=class i{constructor(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return i.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return i.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<e.startColumn||t.lineNumber===e.endLineNumber&&t.column>e.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumber<e.startLineNumber||t.lineNumber>e.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return i.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber||t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>e.endColumn)}strictContainsRange(e){return i.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumber<e.startLineNumber||t.endLineNumber<e.startLineNumber||t.startLineNumber>e.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return i.plusRange(this,e)}static plusRange(e,t){let n,r,s,o;return t.startLineNumber<e.startLineNumber?(n=t.startLineNumber,r=t.startColumn):t.startLineNumber===e.startLineNumber?(n=t.startLineNumber,r=Math.min(t.startColumn,e.startColumn)):(n=e.startLineNumber,r=e.startColumn),t.endLineNumber>e.endLineNumber?(s=t.endLineNumber,o=t.endColumn):t.endLineNumber===e.endLineNumber?(s=t.endLineNumber,o=Math.max(t.endColumn,e.endColumn)):(s=e.endLineNumber,o=e.endColumn),new i(n,r,s,o)}intersectRanges(e){return i.intersectRanges(this,e)}static intersectRanges(e,t){let n=e.startLineNumber,r=e.startColumn,s=e.endLineNumber,o=e.endColumn,l=t.startLineNumber,u=t.startColumn,a=t.endLineNumber,c=t.endColumn;return n<l?(n=l,r=u):n===l&&(r=Math.max(r,u)),s>a?(s=a,o=c):s===a&&(o=Math.min(o,c)),n>s||n===s&&r>o?null:new i(n,r,s,o)}equalsRange(e){return i.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return i.getEndPosition(this)}static getEndPosition(e){return new M(e.endLineNumber,e.endColumn)}getStartPosition(){return i.getStartPosition(this)}static getStartPosition(e){return new M(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new i(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new i(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return i.collapseToStart(this)}static collapseToStart(e){return new i(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return i.collapseToEnd(this)}static collapseToEnd(e){return new i(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new i(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(e,t=e){return new i(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new i(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return!!e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn||t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn)}static areIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn||t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn)}static areOnlyIntersecting(e,t){return!(e.endLineNumber<t.startLineNumber-1||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn-1||t.endLineNumber<e.startLineNumber-1||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn-1)}static compareRangesUsingStarts(e,t){if(e&&t){let s=e.startLineNumber|0,o=t.startLineNumber|0;if(s===o){let l=e.startColumn|0,u=t.startColumn|0;if(l===u){let a=e.endLineNumber|0,c=t.endLineNumber|0;if(a===c){let f=e.endColumn|0,b=t.endColumn|0;return f-b}return a-c}return l-u}return s-o}return(e?1:0)-(t?1:0)}static compareRangesUsingEnds(e,t){return e.endLineNumber===t.endLineNumber?e.endColumn===t.endColumn?e.startLineNumber===t.startLineNumber?e.startColumn-t.startColumn:e.startLineNumber-t.startLineNumber:e.endColumn-t.endColumn:e.endLineNumber-t.endLineNumber}static spansMultipleLines(e){return e.endLineNumber>e.startLineNumber}toJSON(){return this}};var P=class i{static ofLength(e,t){return new i(e,e+t)}static fromRange(e){return new i(e.startLineNumber,e.endLineNumber)}static fromRangeInclusive(e){return new i(e.startLineNumber,e.endLineNumber+1)}static{this.compareByStart=J(e=>e.startLineNumber,ie)}static subtract(e,t){return t?e.startLineNumber<t.startLineNumber&&t.endLineNumberExclusive<e.endLineNumberExclusive?[new i(e.startLineNumber,t.startLineNumber),new i(t.endLineNumberExclusive,e.endLineNumberExclusive)]:t.startLineNumber<=e.startLineNumber&&e.endLineNumberExclusive<=t.endLineNumberExclusive?[]:t.endLineNumberExclusive<e.endLineNumberExclusive?[new i(Math.max(t.endLineNumberExclusive,e.startLineNumber),e.endLineNumberExclusive)]:[new i(e.startLineNumber,Math.min(t.startLineNumber,e.endLineNumberExclusive))]:[e]}static joinMany(e){if(e.length===0)return[];let t=new de(e[0].slice());for(let n=1;n<e.length;n++)t=t.getUnion(new de(e[n].slice()));return t.ranges}static join(e){if(e.length===0)throw new q("lineRanges cannot be empty");let t=e[0].startLineNumber,n=e[0].endLineNumberExclusive;for(let r=1;r<e.length;r++)t=Math.min(t,e[r].startLineNumber),n=Math.max(n,e[r].endLineNumberExclusive);return new i(t,n)}static deserialize(e){return new i(e[0],e[1])}constructor(e,t){if(e>t)throw new q(`startLineNumber ${e} cannot be after endLineNumberExclusive ${t}`);this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&e<this.endLineNumberExclusive}containsRange(e){return this.startLineNumber<=e.startLineNumber&&e.endLineNumberExclusive<=this.endLineNumberExclusive}get isEmpty(){return this.startLineNumber===this.endLineNumberExclusive}delta(e){return new i(this.startLineNumber+e,this.endLineNumberExclusive+e)}deltaLength(e){return new i(this.startLineNumber,this.endLineNumberExclusive+e)}get length(){return this.endLineNumberExclusive-this.startLineNumber}join(e){return new i(Math.min(this.startLineNumber,e.startLineNumber),Math.max(this.endLineNumberExclusive,e.endLineNumberExclusive))}toString(){return`[${this.startLineNumber},${this.endLineNumberExclusive})`}intersect(e){let t=Math.max(this.startLineNumber,e.startLineNumber),n=Math.min(this.endLineNumberExclusive,e.endLineNumberExclusive);if(t<=n)return new i(t,n)}intersectsStrict(e){return this.startLineNumber<e.endLineNumberExclusive&&e.startLineNumber<this.endLineNumberExclusive}intersectsOrTouches(e){return this.startLineNumber<=e.endLineNumberExclusive&&e.startLineNumber<=this.endLineNumberExclusive}equals(e){return this.startLineNumber===e.startLineNumber&&this.endLineNumberExclusive===e.endLineNumberExclusive}toInclusiveRange(){return this.isEmpty?null:new w(this.startLineNumber,1,this.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER)}toExclusiveRange(){return new w(this.startLineNumber,1,this.endLineNumberExclusive,1)}mapToLineArray(e){let t=[];for(let n=this.startLineNumber;n<this.endLineNumberExclusive;n++)t.push(e(n));return t}forEach(e){for(let t=this.startLineNumber;t<this.endLineNumberExclusive;t++)e(t)}serialize(){return[this.startLineNumber,this.endLineNumberExclusive]}toOffsetRange(){return new k(this.startLineNumber-1,this.endLineNumberExclusive-1)}distanceToRange(e){return this.endLineNumberExclusive<=e.startLineNumber?e.startLineNumber-this.endLineNumberExclusive:e.endLineNumberExclusive<=this.startLineNumber?this.startLineNumber-e.endLineNumberExclusive:0}distanceToLine(e){return this.contains(e)?0:e<this.startLineNumber?this.startLineNumber-e:e-this.endLineNumberExclusive}addMargin(e,t){return new i(this.startLineNumber-e,this.endLineNumberExclusive+t)}},de=class i{constructor(e=[]){this._normalizedRanges=e}get ranges(){return this._normalizedRanges}addRange(e){if(e.length===0)return;let t=we(this._normalizedRanges,r=>r.endLineNumberExclusive>=e.startLineNumber),n=ne(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===n)this._normalizedRanges.splice(t,0,e);else if(t===n-1){let r=this._normalizedRanges[t];this._normalizedRanges[t]=r.join(e)}else{let r=this._normalizedRanges[t].join(this._normalizedRanges[n-1]).join(e);this._normalizedRanges.splice(t,n-t,r)}}contains(e){let t=te(this._normalizedRanges,n=>n.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){let t=te(this._normalizedRanges,n=>n.startLineNumber<e.endLineNumberExclusive);return!!t&&t.endLineNumberExclusive>e.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;let t=[],n=0,r=0,s=null;for(;n<this._normalizedRanges.length||r<e._normalizedRanges.length;){let o=null;if(n<this._normalizedRanges.length&&r<e._normalizedRanges.length){let l=this._normalizedRanges[n],u=e._normalizedRanges[r];l.startLineNumber<u.startLineNumber?(o=l,n++):(o=u,r++)}else n<this._normalizedRanges.length?(o=this._normalizedRanges[n],n++):(o=e._normalizedRanges[r],r++);s===null?s=o:s.endLineNumberExclusive>=o.startLineNumber?s=new P(s.startLineNumber,Math.max(s.endLineNumberExclusive,o.endLineNumberExclusive)):(t.push(s),s=o)}return s!==null&&t.push(s),new i(t)}subtractFrom(e){let t=we(this._normalizedRanges,o=>o.endLineNumberExclusive>=e.startLineNumber),n=ne(this._normalizedRanges,o=>o.startLineNumber<=e.endLineNumberExclusive)+1;if(t===n)return new i([e]);let r=[],s=e.startLineNumber;for(let o=t;o<n;o++){let l=this._normalizedRanges[o];l.startLineNumber>s&&r.push(new P(s,l.startLineNumber)),s=l.endLineNumberExclusive}return s<e.endLineNumberExclusive&&r.push(new P(s,e.endLineNumberExclusive)),new i(r)}toString(){return this._normalizedRanges.map(e=>e.toString()).join(", ")}getIntersection(e){let t=[],n=0,r=0;for(;n<this._normalizedRanges.length&&r<e._normalizedRanges.length;){let s=this._normalizedRanges[n],o=e._normalizedRanges[r],l=s.intersect(o);l&&!l.isEmpty&&t.push(l),s.endLineNumberExclusive<o.endLineNumberExclusive?n++:r++}return new i(t)}getWithDelta(e){return new i(this._normalizedRanges.map(t=>t.delta(e)))}};function Ft(i,e){let t=Object.create(null);for(let n of i){let r=e(n),s=t[r];s||(s=t[r]=[]),s.push(n)}return t}var Pt,Ut,kt=class{constructor(e,t){this.toKey=t;this._map=new Map;this[Pt]="SetWithKey";for(let n of e)this.add(n)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(let e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(let e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach(n=>e.call(t,n,n,this))}[(Ut=Symbol.iterator,Pt=Symbol.toStringTag,Ut)](){return this.values()}};var Ce=class{constructor(e,t){this.uri=e;this.value=t}};function Rn(i){return Array.isArray(i)}var Kt,Ne=class i{constructor(e,t){this[Kt]="ResourceMap";if(e instanceof i)this.map=new Map(e.map),this.toKey=t??i.defaultToKey;else if(Rn(e)){this.map=new Map,this.toKey=t??i.defaultToKey;for(let[n,r]of e)this.set(n,r)}else this.map=new Map,this.toKey=e??i.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new Ce(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[n,r]of this.map)e(r.value,r.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Kt=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Vt,qt=class{constructor(e,t){this[Vt]="ResourceSet";!e||typeof e=="function"?this._map=new Ne(e):(this._map=new Ne(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((n,r)=>e.call(t,r,r,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Vt=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var zt,Bt=class{constructor(){this[zt]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let n=this._map.get(e);if(n)return t!==0&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,n!==0&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let n=this._state,r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:n.key,done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return r}values(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:n.value,done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return r}entries(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:[n.key,n.value],done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return r}[(zt=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,n=e.previous;if(!t||!n)throw new Error("Invalid list");t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let n=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(n.previous=r,r.next=n),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let n=e.next,r=e.previous;e===this._head?(n.previous=void 0,this._head=n):(n.previous=r,r.next=n),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}};var he=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}get(e){let t=this.map.get(e);return t||new Set}};function Wt(i){return!!i&&typeof i[Symbol.iterator]=="function"}var et;(L=>{function i(d){return!!d&&typeof d=="object"&&typeof d[Symbol.iterator]=="function"}L.is=i;let e=Object.freeze([]);function t(){return e}L.empty=t;function*n(d){yield d}L.single=n;function r(d){return i(d)?d:n(d)}L.wrap=r;function s(d){return d??e}L.from=s;function*o(d){for(let T=d.length-1;T>=0;T--)yield d[T]}L.reverse=o;function l(d){return!d||d[Symbol.iterator]().next().done===!0}L.isEmpty=l;function u(d){return d[Symbol.iterator]().next().value}L.first=u;function a(d,T){let R=0;for(let S of d)if(T(S,R++))return!0;return!1}L.some=a;function c(d,T){let R=0;for(let S of d)if(!T(S,R++))return!1;return!0}L.every=c;function f(d,T){for(let R of d)if(T(R))return R}L.find=f;function*b(d,T){for(let R of d)T(R)&&(yield R)}L.filter=b;function*m(d,T){let R=0;for(let S of d)yield T(S,R++)}L.map=m;function*g(d,T){let R=0;for(let S of d)yield*T(S,R++)}L.flatMap=g;function*_(...d){for(let T of d)Wt(T)?yield*T:yield T}L.concat=_;function D(d,T,R){let S=R;for(let z of d)S=T(S,z);return S}L.reduce=D;function I(d){let T=0;for(let R of d)T++;return T}L.length=I;function*N(d,T,R=d.length){for(T<-d.length&&(T=0),T<0&&(T+=d.length),R<0?R+=d.length:R>d.length&&(R=d.length);T<R;T++)yield d[T]}L.slice=N;function K(d,T=Number.POSITIVE_INFINITY){let R=[];if(T===0)return[R,d];let S=d[Symbol.iterator]();for(let z=0;z<T;z++){let F=S.next();if(F.done)return[R,L.empty()];R.push(F.value)}return[R,{[Symbol.iterator](){return S}}]}L.consume=K;async function A(d){let T=[];for await(let R of d)T.push(R);return T}L.asyncToArray=A;async function O(d){let T=[];for await(let R of d)T=T.concat(R);return T}L.asyncToArrayFlat=O})(et||={});var yn=!1,Te=null;var jt=class i{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(e){let t=this.livingDisposables.get(e);return t||(t={parent:null,source:null,isSingleton:!1,value:e,idx:i.idx++},this.livingDisposables.set(e,t)),t}trackDisposable(e){let t=this.getDisposableData(e);t.source||(t.source=new Error().stack)}setParent(e,t){let n=this.getDisposableData(e);n.parent=t}markAsDisposed(e){this.livingDisposables.delete(e)}markAsSingleton(e){this.getDisposableData(e).isSingleton=!0}getRootParent(e,t){let n=t.get(e);if(n)return n;let r=e.parent?this.getRootParent(this.getDisposableData(e.parent),t):e;return t.set(e,r),r}getTrackedDisposables(){let e=new Map;return[...this.livingDisposables.entries()].filter(([,n])=>n.source!==null&&!this.getRootParent(n,e).isSingleton).flatMap(([n])=>n)}computeLeakingDisposables(e=10,t){let n;if(t)n=t;else{let u=new Map,a=[...this.livingDisposables.values()].filter(f=>f.source!==null&&!this.getRootParent(f,u).isSingleton);if(a.length===0)return;let c=new Set(a.map(f=>f.value));if(n=a.filter(f=>!(f.parent&&c.has(f.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function r(u){function a(f,b){for(;f.length>0&&b.some(m=>typeof m=="string"?m===f[0]:f[0].match(m));)f.shift()}let c=u.source.split(` `).map(f=>f.trim().replace("at ","")).filter(f=>f!=="");return a(c,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),c.reverse()}let s=new he;for(let u of n){let a=r(u);for(let c=0;c<=a.length;c++)s.add(a.slice(0,c).join(` `),u)}n.sort(J(u=>u.idx,ie));let o="",l=0;for(let u of n.slice(0,e)){l++;let a=r(u),c=[];for(let f=0;f<a.length;f++){let b=a[f];b=`(shared with ${s.get(a.slice(0,f+1).join(` `)).size}/${n.length} leaks) at ${b}`;let g=s.get(a.slice(0,f).join(` `)),_=Ft([...g].map(D=>r(D)[f]),D=>D);delete _[a[f]];for(let[D,I]of Object.entries(_))I&&c.unshift(` - stacktraces of ${I.length} other leaks continue with ${D}`);c.unshift(b)}o+=` ==================== Leaking disposable ${l}/${n.length}: ${u.value.constructor.name} ==================== ${c.join(` `)} ============================================================ `}return n.length>e&&(o+=` ... and ${n.length-e} more leaking disposables `),{leaks:n,details:o}}};function In(i){Te=i}if(yn){let i="__is_disposable_tracked__";In(new class{trackDisposable(e){let t=new Error("Potentially leaked disposable").stack;setTimeout(()=>{e[i]||console.log(t)},3e3)}setParent(e,t){if(e&&e!==re.None)try{e[i]=!0}catch{}}markAsDisposed(e){if(e&&e!==re.None)try{e[i]=!0}catch{}}markAsSingleton(e){}})}function it(i){return Te?.trackDisposable(i),i}function rt(i){Te?.markAsDisposed(i)}function tt(i,e){Te?.setParent(i,e)}function wn(i,e){if(Te)for(let t of i)Te.setParent(t,e)}function Gt(i){if(et.is(i)){let e=[];for(let t of i)if(t)try{t.dispose()}catch(n){e.push(n)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(i)?[]:i}else if(i)return i.dispose(),i}function $t(...i){let e=st(()=>Gt(i));return wn(i,e),e}var nt=class{constructor(e){this._isDisposed=!1,this._fn=e,it(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,rt(this),this._fn()}}};function st(i){return new nt(i)}var pe=class i{constructor(){this._toDispose=new Set;this._isDisposed=!1;it(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(rt(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Gt(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===re.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return tt(e,this),this._isDisposed?i.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.delete(e)&&tt(e,null)}assertNotDisposed(){this._isDisposed&&le(new q("Object disposed"))}},re=class{constructor(){this._store=new pe;it(this),tt(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){rt(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};var Ht=class i{static{this.Undefined=new i(void 0)}constructor(e){this.element=e,this.next=i.Undefined,this.prev=i.Undefined}};var Nn=globalThis.performance.now.bind(globalThis.performance),Ve=class i{static create(e){return new i(e)}constructor(e){this._now=e===!1?Date.now:Nn,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var Qt=!1,Dn=!1,mt;($=>{$.None=()=>re.None;function e(h){if(Dn){let{onDidAddListener:p}=h,v=De.create(),x=0;h.onDidAddListener=()=>{++x===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),v.print()),p?.()}}}function t(h,p,v){return m(h,()=>{},0,void 0,p??!0,void 0,v)}$.defer=t;function n(h){return(p,v=null,x)=>{let E=!1,y;return y=h(U=>{if(!E)return y?y.dispose():E=!0,p.call(v,U)},null,x),E&&y.dispose(),y}}$.once=n;function r(h,p){return $.once($.filter(h,p))}$.onceIf=r;function s(h,p,v){return f((x,E=null,y)=>h(U=>x.call(E,p(U)),null,y),v)}$.map=s;function o(h,p,v){return f((x,E=null,y)=>h(U=>{p(U),x.call(E,U)},null,y),v)}$.forEach=o;function l(h,p,v){return f((x,E=null,y)=>h(U=>p(U)&&x.call(E,U),null,y),v)}$.filter=l;function u(h){return h}$.signal=u;function a(...h){return(p,v=null,x)=>{let E=$t(...h.map(y=>y(U=>p.call(v,U))));return b(E,x)}}$.any=a;function c(h,p,v,x){let E=v;return s(h,y=>(E=p(E,y),E),x)}$.reduce=c;function f(h,p){let v,x={onWillAddFirstListener(){v=h(E.fire,E)},onDidRemoveLastListener(){v?.dispose()}};p||e(x);let E=new Y(x);return p?.add(E),E.event}function b(h,p){return p instanceof Array?p.push(h):p&&p.add(h),h}function m(h,p,v=100,x=!1,E=!1,y,U){let W,V,H,X=0,oe,ue={leakWarningThreshold:y,onWillAddFirstListener(){W=h(hn=>{X++,V=p(V,hn),x&&!H&&(be.fire(V),V=void 0),oe=()=>{let Tn=V;V=void 0,H=void 0,(!x||X>1)&&be.fire(Tn),X=0},typeof v=="number"?(H&&clearTimeout(H),H=setTimeout(oe,v)):H===void 0&&(H=null,queueMicrotask(oe))})},onWillRemoveListener(){E&&X>0&&oe?.()},onDidRemoveLastListener(){oe=void 0,W.dispose()}};U||e(ue);let be=new Y(ue);return U?.add(be),be.event}$.debounce=m;function g(h,p=0,v,x){return $.debounce(h,(E,y)=>E?(E.push(y),E):[y],p,void 0,v??!0,void 0,x)}$.accumulate=g;function _(h,p,v=100,x=!0,E=!0,y,U){let W,V,H,X=0,oe={leakWarningThreshold:y,onWillAddFirstListener(){W=h(be=>{X++,V=p(V,be),H===void 0&&(x&&(ue.fire(V),V=void 0,X=0),typeof v=="number"?H=setTimeout(()=>{E&&X>0&&ue.fire(V),V=void 0,H=void 0,X=0},v):(H=0,queueMicrotask(()=>{E&&X>0&&ue.fire(V),V=void 0,H=void 0,X=0})))})},onDidRemoveLastListener(){W.dispose()}};U||e(oe);let ue=new Y(oe);return U?.add(ue),ue.event}$.throttle=_;function D(h,p=(x,E)=>x===E,v){let x=!0,E;return l(h,y=>{let U=x||!p(y,E);return x=!1,E=y,U},v)}$.latch=D;function I(h,p,v){return[$.filter(h,p,v),$.filter(h,x=>!p(x),v)]}$.split=I;function N(h,p=!1,v=[],x){let E=v.slice(),y=h(V=>{E?E.push(V):W.fire(V)});x&&x.add(y);let U=()=>{E?.forEach(V=>W.fire(V)),E=null},W=new Y({onWillAddFirstListener(){y||(y=h(V=>W.fire(V)),x&&x.add(y))},onDidAddFirstListener(){E&&(p?setTimeout(U):U())},onDidRemoveLastListener(){y&&y.dispose(),y=null}});return x&&x.add(W),W.event}$.buffer=N;function K(h,p){return(x,E,y)=>{let U=p(new O);return h(function(W){let V=U.evaluate(W);V!==A&&x.call(E,V)},void 0,y)}}$.chain=K;let A=Symbol("HaltChainable");class O{constructor(){this.steps=[]}map(p){return this.steps.push(p),this}forEach(p){return this.steps.push(v=>(p(v),v)),this}filter(p){return this.steps.push(v=>p(v)?v:A),this}reduce(p,v){let x=v;return this.steps.push(E=>(x=p(x,E),x)),this}latch(p=(v,x)=>v===x){let v=!0,x;return this.steps.push(E=>{let y=v||!p(E,x);return v=!1,x=E,y?E:A}),this}evaluate(p){for(let v of this.steps)if(p=v(p),p===A)break;return p}}function L(h,p,v=x=>x){let x=(...W)=>U.fire(v(...W)),E=()=>h.on(p,x),y=()=>h.removeListener(p,x),U=new Y({onWillAddFirstListener:E,onDidRemoveLastListener:y});return U.event}$.fromNodeEventEmitter=L;function d(h,p,v=x=>x){let x=(...W)=>U.fire(v(...W)),E=()=>h.addEventListener(p,x),y=()=>h.removeEventListener(p,x),U=new Y({onWillAddFirstListener:E,onDidRemoveLastListener:y});return U.event}$.fromDOMEventEmitter=d;function T(h,p){let v,x,E=new Promise(y=>{x=n(h)(y),ft(x,p),v=()=>{Jt(x,p)}});return E.cancel=v,p&&E.finally(()=>Jt(x,p)),E}$.toPromise=T;function R(h,p){return h(v=>p.fire(v))}$.forward=R;function S(h,p,v){return p(v),h(x=>p(x))}$.runAndSubscribe=S;class z{constructor(p,v){this._observable=p;this._counter=0;this._hasChanged=!1;let x={onWillAddFirstListener:()=>{p.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{p.removeObserver(this)}};v||e(x),this.emitter=new Y(x),v&&v.add(this.emitter)}beginUpdate(p){this._counter++}handlePossibleChange(p){}handleChange(p,v){this._hasChanged=!0}endUpdate(p){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function F(h,p){return new z(h,p).emitter.event}$.fromObservable=F;function G(h){return(p,v,x)=>{let E=0,y=!1,U={beginUpdate(){E++},endUpdate(){E--,E===0&&(h.reportChanges(),y&&(y=!1,p.call(v)))},handlePossibleChange(){},handleChange(){y=!0}};h.addObserver(U),h.reportChanges();let W={dispose(){h.removeObserver(U)}};return ft(W,x),W}}$.fromObservableLight=G})(mt||={});var ot=class i{constructor(e){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${e}_${i._idPool++}`,i.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(e){this._stopWatch=new Ve,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},Xt=-1;var ut=class i{constructor(e,t,n=(i._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e;this.threshold=t;this.name=n;this._warnCountdown=0}static{this._idPool=1}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||(this._stacks=new Map);let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[s,o]=this.getMostFrequentStack(),l=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${o}):`;console.warn(l),console.warn(s);let u=new lt(l,s);this._errorHandler(u)}return()=>{let s=this._stacks.get(e.value)||0;this._stacks.set(e.value,s-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}},De=class i{constructor(e){this.value=e}static create(){let e=new Error;return new i(e.stack??"")}print(){console.warn(this.value.split(` `).slice(2).join(` `))}},lt=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},at=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},Sn=0,xe=class{constructor(e){this.value=e;this.id=Sn++}},An=2,On=(i,e)=>{if(i instanceof xe)e(i);else for(let t=0;t<i.length;t++){let n=i[t];n&&e(n)}},Y=class{constructor(e){this._size=0;this._options=e,this._leakageMon=Xt>0||this._options?.leakWarningThreshold?new ut(e?.onListenerError??le,this._options?.leakWarningThreshold??Xt):void 0,this._perfMon=this._options?._profName?new ot(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(Qt){let e=this._listeners;queueMicrotask(()=>{On(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let u=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(u);let a=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],c=new at(`${u}. HINT: Stack shows most frequent listener (${a[1]}-times)`,a[0]);return(this._options?.onListenerError||le)(c),re.None}if(this._disposed)return re.None;t&&(e=e.bind(t));let r=new xe(e),s,o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=De.create(),s=this._leakageMon.check(r.stack,this._size+1)),Qt&&(r.stack=o??De.create()),this._listeners?this._listeners instanceof xe?(this._deliveryQueue??=new ct,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let l=st(()=>{s?.(),this._removeListener(r)});return ft(l,n),l},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*An<=t.length){let s=0;for(let o=0;o<t.length;o++)t[o]?t[s++]=t[o]:r&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=s}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||le;if(!n){e.value(t);return}try{e.value(t)}catch(r){n(r)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof xe)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var ct=class{constructor(){this.i=-1;this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};function ft(i,e){e instanceof pe?e.add(i):Array.isArray(e)&&e.push(i)}function Jt(i,e){if(e instanceof pe)e.delete(i);else if(Array.isArray(e)){let t=e.indexOf(i);t!==-1&&e.splice(t,1)}i.dispose()}var Yt=Object.freeze(function(i,e){let t=setTimeout(i.bind(e),0);return{dispose(){clearTimeout(t)}}}),Mn;(n=>{function i(r){return r===n.None||r===n.Cancelled||r instanceof dt?!0:!r||typeof r!="object"?!1:typeof r.isCancellationRequested=="boolean"&&typeof r.onCancellationRequested=="function"}n.isCancellationToken=i,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:mt.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Yt})})(Mn||={});var dt=class{constructor(){this._isCancelled=!1;this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Yt:(this._emitter||(this._emitter=new Y),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};function kn(i){return i}var ze=class{constructor(e,t){this.lastCache=void 0;this.lastArgKey=void 0;typeof e=="function"?(this._fn=e,this._computeKey=kn):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}};var Se=class{constructor(e){this.executor=e;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=2}}else if(this._state===1)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};function tn(i){return i.split(/\r\n|\r|\n/)}function gt(i,e){let t=Math.min(i.length,e.length),n;for(n=0;n<t;n++)if(i.charCodeAt(n)!==e.charCodeAt(n))return n;return t}function bt(i,e){let t=Math.min(i.length,e.length),n,r=i.length-1,s=e.length-1;for(n=0;n<t;n++)if(i.charCodeAt(r-n)!==e.charCodeAt(s-n))return n;return t}var Pn=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,Un=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,Fn=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,ar=new RegExp("(?:"+[Pn.source,Un.source,Fn.source].join("|")+")","g");var cr=String.fromCharCode(65279);var Zt=class i{static{this._INSTANCE=null}static getInstance(){return i._INSTANCE||(i._INSTANCE=new i),i._INSTANCE}constructor(){this._data=qn()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,n=t.length/3,r=1;for(;r<=n;)if(e<t[3*r])r=2*r;else if(e>t[3*r+1])r=2*r+1;else return t[3*r+2];return 0}};function qn(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,4