2026-06-10 21:18:23 +08:00
import { n as e , t } from "./useSnackbar-BFeYjAzp.js" ; import { $r as n , Ar as r , Cr as i , Er as a , I as o , Ir as s , Nr as c , Or as l , Q as u , Rr as d , Sr as f , Tr as p , Ur as m , Vr as h , Wr as g , Yr as _ , Zr as v , an as ee , br as y , di as b , ei as te , en as ne , gr as re , h as ie , hi as x , hr as S , i as ae , ii as C , in as oe , l as se , m as ce , mi as w , n as le , pi as ue , v as de , xr as T , y as fe , yr as E } from "./index-BKLG6eUi.js" ; import { t as pe } from "./_plugin-vue_export-helper-BDNMzG2s.js" ; import { n as me } from "./paginatedFetch-Bh_Ds7m8.js" ; import { _ as he , b as ge , t as D , v as _e } from "./VTextField-Bs8XQAKI.js" ; import { t as ve } from "./VSelect-Dy70bHJm.js" ; import { t as ye } from "./VSkeletonLoader-0xYOvLhE.js" ; import { t as be } from "./VDialog-CfMJJXmK.js" ; import { t as xe } from "./wsUrl-CqmqkTTE.js" ; import { r as Se , t as Ce } from "./useTerminalQuickCommands-W_qZP3Tp.js" ; var we = Object . defineProperty , Te = Object . getOwnPropertyDescriptor , Ee = ( e , t )=>{ for ( var n in t ) we ( e , n ,{ get : t [ n ], enumerable :! 0 })}, O = ( e , t , n , r )=>{ for ( var i = r > 1 ? void 0 : r ? Te ( t , n ) : t , a = e . length - 1 , o ; a >= 0 ; a -- )( o = e [ a ]) && ( i = ( r ? o ( t , n , i ) : o ( i )) || i ); return r && i && we ( t , n , i ), i }, k = ( e , t )=>( n , r )=> t ( n , r , e ), De = `Terminal input` , Oe = { get : ()=> De , set : e => De = e }, ke = `Too much output to announce, navigate to rows manually to read` , Ae = { get : ()=> ke , set : e => ke = e }; function je ( e ){ return e . replace ( /\r?\n/g , `\r` )} function Me ( e , t ){ return t ? `\x1B[200~` + e + `\x1B[201~` : e } function Ne ( e , t ){ e . clipboardData && e . clipboardData . setData ( `text/plain` , t . selectionText ), e . preventDefault ()} function Pe ( e , t , n , r ){ e . stopPropagation (), e . clipboardData && Fe ( e . clipboardData . getData ( `text/plain` ), t , n , r )} function Fe ( e , t , n , r ){ e = je ( e ), e = Me ( e , n . decPrivateModes . bracketedPasteMode && r . rawOptions . ignoreBracketedPasteMode !==! 0 ), n . triggerDataEvent ( e , ! 0 ), t . value = `` } function Ie ( e , t , n ){ let r = n . getBoundingClientRect (), i = e . clientX - r . left - 10 , a = e . clientY - r . top - 10 ; t . style . width = `20px` , t . style . height = `20px` , t . style . left = ` ${ i } px` , t . style . top = ` ${ a } px` , t . style . zIndex = `1000` , t . focus ()} function Le ( e , t , n , r , i ){ Ie ( e , t , n ), i && r . rightClickSelect ( e ), t . value = r . selectionText , t . select ()} function Re ( e ){ return e > 65535 ? ( e -= 65536 , String . fromCharCode (( e >> 10 ) + 55296 ) + String . fromCharCode ( e % 1024 + 56320 )) : String . fromCharCode ( e )} function ze ( e , t = 0 , n = e . length ){ let r = `` ; for ( let i = t ; i < n ; ++ i ){ let t = e [ i ]; t > 65535 ? ( t -= 65536 , r += String . fromCharCode (( t >> 10 ) + 55296 ) + String . fromCharCode ( t % 1024 + 56320 )) : r += String . fromCharCode ( t )} return r } var Be = class { constructor (){ this . _interim = 0 } clear (){ this . _interim = 0 } decode ( e , t ){ let n = e . length ; if ( ! n ) return 0 ; let r = 0 , i = 0 ; if ( this . _interim ){ let n = e . charCodeAt ( i ++ ); 56320 <= n && n <= 57343 ? t [ r ++ ] = ( this . _interim - 55296 ) * 1024 + n - 56320 + 65536 : ( t [ r ++ ] = this . _interim , t [ r ++ ] = n ), this . _interim = 0 } for ( let a = i ; a < n ; ++ a ){ let i = e . charCodeAt ( a ); if ( 55296 <= i && i <= 56319 ){ if ( ++ a >= n ) return this . _interim = i , r ; let o = e . charCodeAt ( a ); 56320 <= o && o <= 57343 ? t [ r ++ ] = ( i - 55296 ) * 1024 + o - 56320 + 65536 : ( t [ r ++ ] = i , t [ r ++ ] = o ); continue } i !== 65279 && ( t [ r ++ ] = i )} return r }}, Ve = class { constructor (){ this . interim = new Uint8Array ( 3 )} clear (){ this . interim . fill ( 0 )} decode ( e , t ){ let n = e . length ; if ( ! n ) return 0 ; let r = 0 , i , a , o , s , c = 0 , l = 0 ; if ( this . interim [ 0 ]){ let i =! 1 , a = this . interim [ 0 ]; a &= ( a & 224 ) == 192 ? 31 : ( a & 240 ) == 224 ? 15 : 7 ; let o = 0 , s ; for (;( s = this . interim [ ++ o ] & 63 ) && o < 4 ;) a <<= 6 , a |= s ; let c = ( this . interim [ 0 ] & 224 ) == 192 ? 2 : ( this . interim [ 0 ] & 240 ) == 224 ? 3 : 4 , u = c - o ; for (; l < u ;){ if ( l >= n ) return 0 ; if ( s = e [ l ++ ],( s & 192 ) != 128 ){ l -- , i =! 0 ; break } else this . interim [ o ++ ] = s , a <<= 6 , a |= s & 63 } i || ( c === 2 ? a < 128 ? l --: t [ r ++ ] = a : c === 3 ? a < 2048 || a >= 55296 && a <= 57343 || a === 65279 || ( t [ r ++ ] = a ) : a < 65536 || a > 1114111 || ( t [ r ++ ] = a )), this . interim . fill ( 0 )} let u = n - 4 , d = l ; for (; d < n ;){ for (; d < u &&! (( i = e [ d ]) & 128 ) &&! (( a = e [ d + 1 ]) & 128 ) &&! (( o = e [ d + 2 ]) & 128 ) &&! (( s = e [ d + 3 ]) & 128 );) t [ r ++ ] = i , t [ r ++ ] = a , t [ r ++ ] = o , t [ r ++ ] = s , d += 4 ; if ( i = e [ d ++ ], i < 128 ) t [ r ++ ] = i ; else if (( i & 224 ) == 192 ){ if ( d >= n ) return this . interim [ 0 ] = i , r ; if ( a = e [ d ++ ],( a & 192 ) != 128 ){ d -- ; continue } if ( c = ( i & 31 ) << 6 | a & 63 , c < 128 ){ d -- ; continue } t [ r ++ ] = c } else if (( i & 240 ) == 224 ){ if ( d >= n ) return this . interim [ 0 ] = i , r ; if ( a = e [ d ++ ],( a & 192 ) != 128 ){ d -- ; continue } if ( d >= n ) return this . interim [ 0 ] = i , this . interim [ 1 ] = a , r ; if ( o = e [ d ++ ],( o & 192 ) != 128 ){ d -- ; continue } if ( c = ( i & 15 ) << 12 | ( a & 63 ) << 6 | o & 63 , c < 2048 || c >= 55296 && c <= 57343 || c === 65279 ) continue ; t [ r ++ ] = c } else if (( i & 248 ) == 240 ){ if ( d >= n
2026-06-10 20:58:46 +08:00
WARNING : This link could potentially be dangerous `)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(` Opening link blocked as opener could not be cleared `)}}var ut=A(` CharSizeService `),dt=A(` CoreBrowserService `),ft=A(` MouseService `),pt=A(` RenderService `),mt=A(` SelectionService `),ht=A(` CharacterJoinerService `),gt=A(` ThemeService `),_t=A(` LinkProviderService `),vt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?wt.isErrorNoTelemetry(e)?new wt(e.message+`
`+e.stack):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)}};function yt(e){xt(e)||vt.onUnexpectedError(e)}var bt=` Canceled `;function xt(e){return e instanceof St?!0:e instanceof Error&&e.name===bt&&e.message===bt}var St=class extends Error{constructor(){super(bt),this.name=this.message}};function Ct(e){return Error(e?` Illegal argument : $ { e } `:` Illegal argument `)}var wt=class e extends Error{constructor(e){super(e),this.name=` CodeExpectedError `}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===` CodeExpectedError `}},Tt=class e extends Error{constructor(t){super(t||` An unexpected bug occurred . `),Object.setPrototypeOf(this,e.prototype)}};function Et(e,t,n=0,r=e.length){let i=n,a=r;for(;i<a;){let n=Math.floor((i+a)/2);t(e[n])?i=n+1:a=n}return i-1}var Dt=class e{constructor(e){this._array=e,this._findLastMonotonousLastIdx=0}findLastMonotonous(t){if(e.assertInvariants){if(this._prevFindLastPredicate){for(let e of this._array)if(this._prevFindLastPredicate(e)&&!t(e))throw Error(` MonotonousArray : current predicate must be weaker than ( or equal to ) the previous predicate . `)}this._prevFindLastPredicate=t}let n=Et(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=n+1,n===-1?void 0:this._array[n]}};Dt.assertInvariants=!1;function Ot(e,t=0){return e[e.length-(1+t)]}var kt;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(kt||={});function At(e,t){return(n,r)=>t(e(n),e(r))}var jt=(e,t)=>e-t,Mt=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new e(e=>this.iterate(n=>e(t(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||kt.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};Mt.empty=new Mt(e=>{});function Nt(e,t){let n=Object.create(null);for(let r of e){let e=t(r),i=n[e];i||=n[e]=[],i.push(r)}return n}var Pt=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){return this.map.get(e)||new Set}};function Ft(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var It;(e=>{function t(e){return e&&typeof e==` object `&&typeof e[Symbol.iterator]==` function `}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n
` ). map ( e => e . trim (). replace ( `at ` , `` )). filter ( e => e !== `` ); return t ( n ,[ `Error` , /^trackDisposable \(.*\)$/ , /^DisposableTracker.trackDisposable \(.*\)$/ ]), n . reverse ()} let i = new Pt ; for ( let e of n ){ let t = r ( e ); for ( let n = 0 ; n <= t . length ; n ++ ) i . add ( t . slice ( 0 , n ). join ( `
` ), e )} n . sort ( At ( e => e . idx , jt )); let a = `` , o = 0 ; for ( let t of n . slice ( 0 , e )){ o ++ ; let e = r ( t ), s = []; for ( let t = 0 ; t < e . length ; t ++ ){ let a = e [ t ]; a = `(shared with ${ i . get ( e . slice ( 0 , t + 1 ). join ( `
` )). size } / ${ n . length } leaks) at ${ a } ` ; let o = Nt ([... i . get ( e . slice ( 0 , t ). join ( `
` ))]. map ( e => r ( e )[ t ]), e => e ); delete o [ e [ t ]]; for ( let [ e , t ] of Object . entries ( o )) s . unshift ( ` - stacktraces of ${ t . length } other leaks continue with ${ e } ` ); s . unshift ( a )} a += `
==================== Leaking disposable ${ o } / ${ n . length } : ${ t . value . constructor . name } ====================
${ s . join ( `
` ) }
============================================================
` } return n . length > e && ( a += `
... and ${ n . length - e } more leaking disposables
` ),{ leaks : n , details : a }}}; zt . idx = 0 ; function Bt ( e ){ Rt = e } if ( Lt ){ let e = `__is_disposable_tracked__` ; Bt ( new class { trackDisposable ( t ){ let n = Error ( `Potentially leaked disposable` ). stack ; setTimeout (()=>{ t [ e ] || console . log ( n )}, 3e3 )} setParent ( t , n ){ if ( t && t !== M . None ) try { t [ e ] =! 0 } catch {}} markAsDisposed ( t ){ if ( t && t !== M . None ) try { t [ e ] =! 0 } catch {}} markAsSingleton ( e ){}})} function Vt ( e ){ return Rt ? . trackDisposable ( e ), e } function Ht ( e ){ Rt ? . markAsDisposed ( e )} function Ut ( e , t ){ Rt ? . setParent ( e , t )} function Wt ( e , t ){ if ( Rt ) for ( let n of e ) Rt . setParent ( n , t )} function Gt ( e ){ return Rt ? . markAsSingleton ( e ), e } function Kt ( e ){ if ( It . is ( e )){ let t = []; for ( let n of e ) if ( n ) try { n . dispose ()} catch ( e ){ t . push ( e )} if ( t . length === 1 ) throw t [ 0 ]; if ( t . length > 1 ) throw AggregateError ( t , `Encountered errors while disposing of store` ); return Array . isArray ( e ) ? [] : e } else if ( e ) return e . dispose (), e } function qt (... e ){ let t = j (()=> Kt ( e )); return Wt ( e , t ), t } function j ( e ){ let t = Vt ({ dispose : Ft (()=>{ Ht ( t ), e ()})}); return t } var Jt = class e { constructor (){ this . _toDispose = new Set , this . _isDisposed =! 1 , Vt ( this )} dispose (){ this . _isDisposed || ( Ht ( this ), this . _isDisposed =! 0 , this . clear ())} get isDisposed (){ return this . _isDisposed } clear (){ if ( this . _toDispose . size !== 0 ) try { Kt ( this . _toDispose )} finally { this . _toDispose . clear ()}} add ( t ){ if ( ! t ) return t ; if ( t === this ) throw Error ( `Cannot register a disposable on itself!` ); return Ut ( t , this ), this . _isDisposed ? e . DISABLE_DISPOSED_WARNING || console . warn ( 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 ( t ), t } delete ( e ){ if ( e ){ if ( e === this ) throw Error ( `Cannot dispose a disposable on itself!` ); this . _toDispose . delete ( e ), e . dispose ()}} deleteAndLeak ( e ){ e && this . _toDispose . has ( e ) && ( this . _toDispose . delete ( e ), Ut ( e , null ))}}; Jt . DISABLE_DISPOSED_WARNING =! 1 ; var Yt = Jt , M = class { constructor (){ this . _store = new Yt , Vt ( this ), Ut ( this . _store , this )} dispose (){ Ht ( this ), this . _store . dispose ()} _register ( e ){ if ( e === this ) throw Error ( `Cannot register a disposable on itself!` ); return this . _store . add ( e )}}; M . None = Object . freeze ({ dispose (){}}); var Xt = class { constructor (){ this . _isDisposed =! 1 , Vt ( this )} get value (){ return this . _isDisposed ? void 0 : this . _value } set value ( e ){ this . _isDisposed || e === this . _value || ( this . _value ? . dispose (), e && Ut ( e , this ), this . _value = e )} clear (){ this . value = void 0 } dispose (){ this . _isDisposed =! 0 , Ht ( this ), this . _value ? . dispose (), this . _value = void 0 } clearAndLeak (){ let e = this . _value ; return this . _value = void 0 , e && Ut ( e , null ), e }}, Zt = typeof window == `object` ? window : globalThis , Qt = class e { constructor ( t ){ this . element = t , this . next = e . Undefined , this . prev = e . Undefined }}; Qt . Undefined = new Qt ( void 0 ); var N = Qt , $t = class { constructor (){ this . _first = N . Undefined , this . _last = N . Undefined , this . _size = 0 } get size (){ return this . _size } isEmpty (){ return this . _first === N . Undefined } clear (){ let e = this . _first ; for (; e !== N . Undefined ;){ let t = e . next ; e . prev = N . Undefined , e . next = N . Undefined , e = t } this . _first = N . Undefined , this . _last = N . Undefined , this . _size = 0 } unshift ( e ){ return this . _insert ( e , ! 1 )} push ( e ){ return this . _insert ( e , ! 0 )} _insert ( e , t ){ let n = new N ( e ); if ( this . _first === N . Undefined ) this . _first = n , this . _last = n ; else if ( t ){ let e = this . _last ; this . _last = n , n . prev = e , e . next = n } else { let e = this . _first ; this . _first = n , n . next = e , e . prev = n } this . _size += 1 ; let r =! 1 ; return ()=>{ r || ( r =! 0 , this . _remove ( n ))}} shift (){ if ( this . _first !== N . Undefined ){ let e = this . _first . element ; return this . _remove ( this . _first ), e }} pop (){ if ( this . _last !== N . Undefined ){ let e = this . _last . element ; return this . _remove ( this . _last ), e }} _remove ( e ){ if ( e . prev !== N . Undefined && e . next !== N . Undefined ){ let t = e . prev ; t . next = e . next , e . next . prev = t } else e . prev === N . Undefined && e . next === N . Undefined ? ( this . _first = N . Undefined , this . _last = N . Undefined ) : e . next === N . Undefined ? ( this . _last = this . _last . prev , this . _last . next = N . Undefined ) : e . prev === N . Undefined && ( this . _first = this . _first . next , this . _first . prev = N . Undefined ); -- this . _size } * [ Symbol . iterator ](){ let e = this . _first ; for (; e !== N . Undefined ;) yield e . element , e = e . next }}, en = globalThis . performance && typeof globalThis . performance . now == `function` , tn = class e { static create ( t ){ return new e ( t )} constructor ( e ){ this . _now = en && e ===! 1 ? Date . now :
`).slice(2).join(`
`))}},fn=class extends Error{constructor(e,t){super(e),this.name=` ListenerLeakError `,this.stack=t}},pn=class extends Error{constructor(e,t){super(e),this.name=` ListenerRefusalError `,this.stack=t}},mn=0,hn=class{constructor(e){this.value=e,this.id=mn++}},gn=2,_n=(e,t)=>{if(e instanceof hn)t(e);else for(let n=0;n<e.length;n++){let r=e[n];r&&t(r)}},vn;if(nn){let e=[];setInterval(()=>{e.length!==0&&(console.warn(` [ LEAKING LISTENERS ] GC 'ed these listeners that were NOT yet disposed:`),console.warn(e.join(`
`)),e.length=0)},3e3),vn=new FinalizationRegistry(t=>{typeof t==`string`&&e.push(t)})}var F=class{constructor(e){this._size=0,this._options=e,this._leakageMon=cn>0||this._options?.leakWarningThreshold?new un(e?.onListenerError??yt,this._options?.leakWarningThreshold??cn):void 0,this._perfMon=this._options?._profName?new sn(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(rn){let e=this._listeners;queueMicrotask(()=>{_n(e,e=>e.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 e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new pn(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||yt)(n),M.None}if(this._disposed)return M.None;t&&(e=e.bind(t));let r=new hn(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=dn.create(),i=this._leakageMon.check(r.stack,this._size+1)),rn&&(r.stack=dn.create()),this._listeners?this._listeners instanceof hn?(this._deliveryQueue??=new yn,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=j(()=>{vn?.unregister(a),i?.(),this._removeListener(r)});if(n instanceof Yt?n.add(a):Array.isArray(n)&&n.push(a),vn){let e=Error().stack.split(`
`).slice(2,3).join(`
`).trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);vn.register(a,t?.[2]??e,a)}return a},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)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*gn<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||yt;if(!n){e.value(t);return}try{e.value(t)}catch(e){n(e)}}_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 hn)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}},yn=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}},bn=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new F,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new F,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};bn.INSTANCE=new bn;var xn=bn;function Sn(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}xn.INSTANCE.onDidChangeZoomLevel;function Cn(e){return xn.INSTANCE.getZoomFactor(e)}xn.INSTANCE.onDidChangeFullscreen;var wn=typeof navigator==`object`?navigator.userAgent:``,Tn=wn.indexOf(`Firefox`)>=0,En=wn.indexOf(`AppleWebKit`)>=0,Dn=wn.indexOf(`Chrome`)>=0,On=!Dn&&wn.indexOf(`Safari`)>=0;wn.indexOf(`Electron/`),wn.indexOf(`Android`);var kn=!1;if(typeof Zt.matchMedia==`function`){let e=Zt.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Zt.matchMedia(`(display-mode: fullscreen)`);kn=e.matches,Sn(Zt,e,({matches:e})=>{kn&&t.matches||(kn=e)})}function An(){return kn}var jn=`en`,Mn=!1,Nn=!1,Pn=!1,Fn=!1,In=!1,Ln=jn,Rn,zn=globalThis,Bn;typeof zn.vscode<`u`&&typeof zn.vscode.process<`u`?Bn=zn.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(Bn=process);var Vn=typeof Bn?.versions?.electron==`string`&&Bn?.type===`renderer`;if(typeof Bn==`object`){Mn=Bn.platform===`win32`,Nn=Bn.platform===`darwin`,Pn=Bn.platform===`linux`,Pn&&Bn.env.SNAP&&Bn.env.SNAP_REVISION,Bn.env.CI||Bn.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Ln=jn;let e=Bn.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Ln=t.resolvedLanguage||jn,t.languagePack?.translationsConfigFile}catch{}Fn=!0}else typeof navigator==`object`&&!Vn?(Rn=navigator.userAgent,Mn=Rn.indexOf(`Windows`)>=0,Nn=Rn.indexOf(`Macintosh`)>=0,(Rn.indexOf(`Macintosh`)>=0||Rn.indexOf(`iPad`)>=0||Rn.indexOf(`iPhone`)>
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};Hi=O([k(2,Qe),k(3,dt),k(4,$e),k(5,gt),k(6,it),k(7,pt)],Hi);var Ui=class extends M{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(j(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=` `,e.SI=` `,e.DLE=` `,e.DC1=` `,e.DC2=` `,e.DC3=` `,e.DC4=` `,e.NAK=` `,e.SYN=` `,e.ETB=` `,e.CAN=` `,e.EM=` `,e.SUB=` `,e.ESC=`\x1B`,e.FS=` `,e.GS=` `,e.RS=` `,e.US=` `,e.SP=` `,e.DEL=` `))(R||={});var Yi;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))(Yi||={});var Xi;(e=>e.ST=`${R.ESC}\\`)(Xi||={});var Zi=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${R.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Zi=O([k(2,Qe),k(3,it),k(4,et),k(5,pt)],Zi);var z=0,B=0,V=0,H=0,Qi={css:`#00000000`,rgba:0},U;(e=>{function t(e,t,n,r){return r===void 0?`#${ta(e)}${ta(t)}${ta(n)}`:`#${ta(e)}${ta(t)}${ta(n)}${ta(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(U||={});var
`:`
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),Ka&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=go(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=Aa(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-_o),_o),t/=_o,t/Math.abs(t)+Math.round(t*(vo-1)))}shouldForceSelection(e){return Ha?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),yo)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDouble
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(I(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(j(()=>{pc?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<fc+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===fc+1&&(this._liveRegion.textContent+=Ae.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocu
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Oe.get()},set promptLabel(e){Oe.set(e)},get tooMuchOutput(){return Ae.get()},set tooMuchOutput(e){Ae.set(e)}}}_verifyIntegers(...e){for(Ec of e)if(Ec===1/0||isNaN(Ec)||Ec%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Ec of e)if(Ec&&(Ec===1/0||isNaN(Ec)||Ec%1!=0||Ec<0))throw Error(`This API only accepts positive integers`)}},Oc=2,kc=1,Ac=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Oc,Math.floor(u/e.css.cell.width)),rows:Math.max(kc,Math.floor(l/e.css.cell.height))}}},jc=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=Nc.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function Mc(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var Nc=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!Mc(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),!(!n.isWrapped||o.indexOf(` `)!==-1)););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n<e.length;++n){e.getCell(n,a);let o=a.getChars();if(a.getWidth()&&(r-=o.length||1,n===e.length-1&&o===``)){let e=i.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,a),a.getWidth()===2&&(r+=1))}if(r<0)return[t,n]}t++,o=0}return[t,o]}},Pc=/(https?|HTTPS?):[/]{2}[^\s"' !* (){} | \\\ ^<> `]*[^\s"':,.!?{}|\\\^~\[\]` () <> ] / ; function Fc ( e , t ){ let n = window . open (); if ( n ){ try { n . opener = null } catch {} n . location . href = t } else console . warn ( `Opening link blocked as opener could not be cleared` )} var Ic = class { constructor ( e = Fc , t = {}){ this . _handler = e , this . _options = t } activate ( e ){ this . _terminal = e ; let t = this . _options , n = t . urlRegex || Pc ; this . _linkProvider = this . _terminal . r
\ x1B [ 31 m ⚠ SSH 连接超时 \ x1B [ 0 m `);try{s.close(4e3,` SSH init timeout `)}catch{}}},45e3),i.term?.focus()},s.onmessage=t=>{try{let r=JSON.parse(t.data);switch(r.type){case` TERMINAL_INIT `:D(e),n.status=` connected `,n.serverName=r.server_name||n.serverName,n.showOverlay=!1,n.overlayMsg=``,pe(n),ge(n);{let e=i.fitAddon?.proposeDimensions();e&&s.readyState===WebSocket.OPEN&&s.send(JSON.stringify({type:` RESIZE `,cols:e.cols,rows:e.rows}))}n.pendingPath&&!n.initialCdSent&&Kc(n)&&de(n,n.pendingPath),i.term?.focus();break;case` DATA `:i.term?.write(il(r));break;case` ERROR `:i.term?.write(` \ r \ n \ x1b [ 31 m ⚠ $ { r . message } \ x1b [ 0 m \ r \ n `);break;case` PONG `:n.pingMs=Date.now()-(r.ts||0);break;case` CLOSE `:i.term?.write(` \ r
\ x1B [ 33 m ━━ 连接已关闭 ━━\ x1B [ 0 m \ r
`);break}}catch{i.term?.write(t.data)}},s.onclose=t=>{if(D(e),he(n),T(n),t.code===4001){i.term?.write(` \ r
\ x1B [ 31 m ⚠ 认证失败 , 请重新登录 \ x1B [ 0 m \ r
`),setTimeout(()=>r.push(` / login `),2e3);return}if(t.code===4003){n.status=` error `,i.term?.write(` \ r \ n \ x1b [ 31 m ⚠ 授权失败 : $ { t . reason || `SSH凭据未配置` } \ x1b [ 0 m \ r \ n `),n.showOverlay=!0,n.overlayMsg=t.reason||` SSH 凭据未配置 `,n.reconnectCountdown=``;return}n.status=` error `,i.ws=null,!n.manualDisconnect&&t.code!==1e3&&t.code!==4001&&t.code!==4003?ye(n):(n.showOverlay=!0,n.overlayMsg=` 连接已断开 `,n.reconnectCountdown=``)},s.onerror=()=>{}}function ye(e){let t=$(e.id);if(!t)return;e.reconnectAttempt++;let n=Math.min(1e3*2**(e.reconnectAttempt-1),3e4);e.showOverlay=!0,e.overlayMsg=` 连接已断开 `,e.reconnectCountdown=` $ { Math . ceil ( n / 1e3 )} 秒后自动重连 … `,t.reconnectTimer=setTimeout(()=>{be(e)},n)}async function be(e){let t=$(e.id);t&&(e.showOverlay=!1,e.reconnectCountdown=``,e.manualDisconnect=!1,e.reconnectAttempt=0,t.term?.clear(),await ve(e.id))}function Se(){let e=g.value;if(!e)return;let t=$(e.id);t?.reconnectTimer&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),e.reconnectAttempt=0,be(e)}function we(){let e=g.value;if(!e)return;let t=$(e.id);t&&(e.manualDisconnect=!0,t.reconnectTimer&&=(clearTimeout(t.reconnectTimer),null),t.ws&&=(t.ws.readyState===WebSocket.OPEN&&(t.ws.send(JSON.stringify({type:` CLOSE `})),t.ws.close(1e3,` User disconnect `)),null),he(e),T(e),e.status=` error `,e.showOverlay=!0,e.overlayMsg=` 连接已断开 `,e.reconnectCountdown=``)}async function Te(e){s.value=e,await c();let t=$(e);t?.fitAddon&&setTimeout(()=>{try{t.fitAddon.fit()}catch{}},50),t?.term?.focus()}async function Ee(e){let t=o.value.findIndex(t=>t.id===e);if(t<0)return;if(_e(e),u.delete(e),o.value.splice(t,1),o.value.length===0){s.value=``;return}let n=Math.min(t,o.value.length-1);await Te(o.value[n].id)}async function O(e,t){if(o.value.length>=al){i(` 最多10个标签 `,` warning `);return}if(!e){d.value=!0;return}let n=o.value.find(t=>t.serverId===e);if(n){i(` 该服务器已有会话 , 已切换过去 `,` info `),await Te(n.id),t?.path&&de(n,t.path);return}let r=ne.post(` / auth / webssh - token `,{server_id:e}),a=(await x(e))?.name??` # $ { e } `,s=` term_$ { Date . now ()} `,c={id:s,serverId:e,serverName:a,cwd:``,cmdHistory:ce.loadHistoryForNewSession(),cmdIdx:-1,reconnectAttempt:0,manualDisconnect:!1,status:` connecting `,showOverlay:!1,overlayMsg:``,reconnectCountdown:``,uptime:``,pingMs:null,connectionStartTime:0,pendingPath:qc(t?.path||``),initialCdSent:!1};zc(s),o.value.push(c),await Te(s);let l=await te(s);if(!l){i(` 终端面板未就绪 , 请关闭标签后重试 `,` error `),await Ee(s);return}let u=ue(),f=new Ac;u.loadAddon(f),u.loadAddon(new Ic),u.open(l),Vc(s,u),Hc(s,f),u.onData(e=>{let t=ae(s);t&&Kc(t)&&se(s,e)}),u.onResize(({cols:e,rows:t})=>{let n=$(s)?.ws;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify({type:` RESIZE `,cols:e,rows:t}))}),u.onTitleChange(e=>{let t=ae(s);if(t){let n=e.match(/^(\/.+)/);n&&(t.cwd=n[1])}});let p=new ResizeObserver(()=>{try{f.fit()}catch{}});p.observe(l),Uc(s,p),await ve(s,{websshTokenPromise:r}),setTimeout(()=>{try{f.fit()}catch{}},100),u.focus()}async function k(){let e=b(),t=qc(String(n.query.path||``)),r=n.query.new_tab===` 1 `||n.query.new_tab===` true `;if(e){if(!r){let n=o.value.find(t=>t.serverId===e);if(n){await Te(n.id),t&&de(n,t);return}}await O(e,{path:t})}}function De(){document.fullscreenElement?document.exitFullscreen?.():l.value?.requestFullscreen?.()}async function Oe(){try{h.value=Ce(await ne.get(` / terminal / quick - commands `)||[])}catch{i(` 快捷命令加载失败 , 已使用内置命令 `,` warning `),h.value=Ce([{id:1,name:` 系统状态 `,cmd:` systemctl status -- no - pager 2 >& 1 | head - 20 \ r `,is_builtin:!0,sort_order:1001},{id:2,name:` 系统日志 `,cmd:` journalctl - n 30 -- no - pager 2 >& 1 \ r `,is_builtin:!0,sort_order:1002},{id:3,name:` 磁盘使用 `,cmd:` df - h \ r `,is_builtin:!0,sort_order:1003},{id:4,name:` 内存使用 `,cmd:` free - h \ r `,is_builtin:!0,sort_order:1004},{id:5,name:` 进程列表 `,cmd:` ps aux -- sort =-% mem 2 >& 1 | head - 15 \ r `,is_builtin:!0,sort_order:1005}])}}function ke(e){let t=g.value;if(!t||!Kc(t)){i(t?.status===` connecting `?` 终端连接中 , 请稍候 `:` 终端未连接 `,` warn