@termiq/cli 3.46.3 → 3.46.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +26 -24
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -1,38 +1,40 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var Op=Object.create;var Zo=Object.defineProperty;var Pp=Object.getOwnPropertyDescriptor;var Ap=Object.getOwnPropertyNames;var Rp=Object.getPrototypeOf,Ip=Object.prototype.hasOwnProperty;var $t=(r,e)=>()=>(r&&(e=r(r=0)),e);var L=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Lp=(r,e)=>{for(var t in e)Zo(r,t,{get:e[t],enumerable:!0})},Np=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ap(e))!Ip.call(r,i)&&i!==t&&Zo(r,i,{get:()=>e[i],enumerable:!(n=Pp(e,i))||n.enumerable});return r};var he=(r,e,t)=>(t=r!=null?Op(Rp(r)):{},Np(e||!r||!r.__esModule?Zo(t,"default",{value:r,enumerable:!0}):t,r));var us=L(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.generateCorrelationId=Dp;vi.runWithCorrelation=Bp;vi.getCurrentCorrelationId=jp;var Fp=require("async_hooks");function Dp(){let r=new Uint8Array(4),e=globalThis.crypto;if(e?.getRandomValues)e.getRandomValues(r);else for(let t=0;t<4;t++)r[t]=Math.floor(Math.random()*256);return"c-"+Array.from(r,t=>t.toString(16).padStart(2,"0")).join("")}var jf=new Fp.AsyncLocalStorage;function Bp(r,e){return jf.run(r,e)}function jp(){return jf.getStore()}});var Kf=L(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.LOG_LEVELS=void 0;Fn.shouldLog=Kp;Fn.formatLogLine=qp;var Up=us();Fn.LOG_LEVELS=["silent","error","warn","info","debug"];var Uf={silent:0,error:1,warn:2,info:3,debug:4};function Kp(r,e){return Uf[r]<=Uf[e]}function qp(r,e,t,n){let i={ts:new Date().toISOString(),level:r,src:e,msg:t},s=(0,Up.getCurrentCorrelationId)();s&&(i.cid=s);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(i.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(i.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(i.args=a);try{return JSON.stringify(i)}catch{return JSON.stringify({ts:i.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var qf=L(Br=>{"use strict";Object.defineProperty(Br,"__esModule",{value:!0});Br.formatLogLine=Br.shouldLog=Br.LOG_LEVELS=void 0;var Qo=Kf();Object.defineProperty(Br,"LOG_LEVELS",{enumerable:!0,get:function(){return Qo.LOG_LEVELS}});Object.defineProperty(Br,"shouldLog",{enumerable:!0,get:function(){return Qo.shouldLog}});Object.defineProperty(Br,"formatLogLine",{enumerable:!0,get:function(){return Qo.formatLogLine}})});var Wf=L(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.CircularBuffer=void 0;var ea=class{buffer=[];totalSize=0;maxSize;constructor(e=100){this.maxSize=e*1024}append(e){for(this.buffer.push(e),this.totalSize+=e.length;this.totalSize>this.maxSize&&this.buffer.length>1;){let t=this.buffer.shift();t&&(this.totalSize-=t.length)}}getContent(){return this.buffer.join("")}getLastBytes(e){let t=this.getContent();return t.length<=e?t:t.slice(-e)}getSize(){return this.totalSize}clear(){this.buffer=[],this.totalSize=0}};ls.CircularBuffer=ea});var ds=L(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.getApiUrl=Wp;hs.getWsUrl=Hp;function Wp(r){return`${r.getServerUrl()}/api`}function Hp(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var Vf=L(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.getCurrentCorrelationId=wt.runWithCorrelation=wt.generateCorrelationId=wt.getWsUrl=wt.getApiUrl=wt.CircularBuffer=void 0;var Vp=Wf();Object.defineProperty(wt,"CircularBuffer",{enumerable:!0,get:function(){return Vp.CircularBuffer}});var Hf=ds();Object.defineProperty(wt,"getApiUrl",{enumerable:!0,get:function(){return Hf.getApiUrl}});Object.defineProperty(wt,"getWsUrl",{enumerable:!0,get:function(){return Hf.getWsUrl}});var ta=us();Object.defineProperty(wt,"generateCorrelationId",{enumerable:!0,get:function(){return ta.generateCorrelationId}});Object.defineProperty(wt,"runWithCorrelation",{enumerable:!0,get:function(){return ta.runWithCorrelation}});Object.defineProperty(wt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return ta.getCurrentCorrelationId}})});var zf=L($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0})});var Yf=L(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0})});var Xf=L(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.PLAN_LIMITS=void 0;ps.PLAN_LIMITS={free:{maxAgents:1,maxTerminals:2,maxTeamMembers:1,historyDays:1},basic:{maxAgents:3,maxTerminals:10,maxTeamMembers:1,historyDays:7},pro:{maxAgents:10,maxTerminals:50,maxTeamMembers:5,historyDays:30}}});var Zf=L(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0})});var Qf=L(nr=>{"use strict";var $p=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),gs=nr&&nr.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&$p(e,r,t)};Object.defineProperty(nr,"__esModule",{value:!0});gs(zf(),nr);gs(Yf(),nr);gs(Xf(),nr);gs(Zf(),nr)});var eu=L(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.API_VERSION=Mt.WS_NAMESPACES=Mt.TIMEOUTS=Mt.STATUS_PATTERNS=Mt.TERMINAL_STATUSES=void 0;Mt.TERMINAL_STATUSES={idle:{label:"Idle",color:"gray",icon:"\u25CF"},working:{label:"Working",color:"blue",icon:"\u27F3"},waiting:{label:"Awaiting input",color:"orange",icon:"\u26A0"},completed:{label:"Completed",color:"green",icon:"\u2713"},error:{label:"Error",color:"red",icon:"\u2715"},offline:{label:"Offline",color:"black",icon:"\u26AB"}};Mt.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Mt.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Mt.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Mt.API_VERSION="v1"});var tu=L(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.isMultiRecipientPayload=zp;ms.isEncryptedPayload=Gp;function zp(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function Gp(r){if(typeof r!="object"||r===null||!("encrypted"in r))return!1;let e=r.encrypted;if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.v=="number"&&typeof t.sid=="string"&&typeof t.n=="string"&&typeof t.c=="string"}});var ra=L(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.KX_SIG_VERSION=ir.KX_FINGERPRINT_LABEL=ir.KX_ACK_LABEL=ir.KX_SIGN_LABEL=void 0;ir.KX_SIGN_LABEL="termiq-kx-v1";ir.KX_ACK_LABEL="termiq-kxack-v1";ir.KX_FINGERPRINT_LABEL="termiq-fp-v1";ir.KX_SIG_VERSION=1});var wi=L((kv,ys)=>{(function(r){"use strict";var e=function(f){var d,l=new Float64Array(16);if(f)for(d=0;d<f.length;d++)l[d]=f[d];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var s=e(),a=e([1]),c=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),h=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),p=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),m=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),_=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function E(f,d,l,o){f[d]=l>>24&255,f[d+1]=l>>16&255,f[d+2]=l>>8&255,f[d+3]=l&255,f[d+4]=o>>24&255,f[d+5]=o>>16&255,f[d+6]=o>>8&255,f[d+7]=o&255}function S(f,d,l,o,g){var b,v=0;for(b=0;b<g;b++)v|=f[d+b]^l[o+b];return(1&v-1>>>8)-1}function C(f,d,l,o){return S(f,d,l,o,16)}function H(f,d,l,o){return S(f,d,l,o,32)}function ie(f,d,l,o){for(var g=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,b=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,v=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,D=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Z=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=d[0]&255|(d[1]&255)<<8|(d[2]&255)<<16|(d[3]&255)<<24,Pe=d[4]&255|(d[5]&255)<<8|(d[6]&255)<<16|(d[7]&255)<<24,$=d[8]&255|(d[9]&255)<<8|(d[10]&255)<<16|(d[11]&255)<<24,oe=d[12]&255|(d[13]&255)<<8|(d[14]&255)<<16|(d[15]&255)<<24,ae=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ge=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,de=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ce=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,le=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,fe=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,Y=g,Q=b,V=v,X=O,J=D,q=Z,w=W,x=Pe,A=$,k=oe,P=ae,M=ge,ne=de,me=ce,_e=le,ye=fe,y,ve=0;ve<20;ve+=2)y=Y+ne|0,J^=y<<7|y>>>25,y=J+Y|0,A^=y<<9|y>>>23,y=A+J|0,ne^=y<<13|y>>>19,y=ne+A|0,Y^=y<<18|y>>>14,y=q+Q|0,k^=y<<7|y>>>25,y=k+q|0,me^=y<<9|y>>>23,y=me+k|0,Q^=y<<13|y>>>19,y=Q+me|0,q^=y<<18|y>>>14,y=P+w|0,_e^=y<<7|y>>>25,y=_e+P|0,V^=y<<9|y>>>23,y=V+_e|0,w^=y<<13|y>>>19,y=w+V|0,P^=y<<18|y>>>14,y=ye+M|0,X^=y<<7|y>>>25,y=X+ye|0,x^=y<<9|y>>>23,y=x+X|0,M^=y<<13|y>>>19,y=M+x|0,ye^=y<<18|y>>>14,y=Y+X|0,Q^=y<<7|y>>>25,y=Q+Y|0,V^=y<<9|y>>>23,y=V+Q|0,X^=y<<13|y>>>19,y=X+V|0,Y^=y<<18|y>>>14,y=q+J|0,w^=y<<7|y>>>25,y=w+q|0,x^=y<<9|y>>>23,y=x+w|0,J^=y<<13|y>>>19,y=J+x|0,q^=y<<18|y>>>14,y=P+k|0,M^=y<<7|y>>>25,y=M+P|0,A^=y<<9|y>>>23,y=A+M|0,k^=y<<13|y>>>19,y=k+A|0,P^=y<<18|y>>>14,y=ye+_e|0,ne^=y<<7|y>>>25,y=ne+ye|0,me^=y<<9|y>>>23,y=me+ne|0,_e^=y<<13|y>>>19,y=_e+me|0,ye^=y<<18|y>>>14;Y=Y+g|0,Q=Q+b|0,V=V+v|0,X=X+O|0,J=J+D|0,q=q+Z|0,w=w+W|0,x=x+Pe|0,A=A+$|0,k=k+oe|0,P=P+ae|0,M=M+ge|0,ne=ne+de|0,me=me+ce|0,_e=_e+le|0,ye=ye+fe|0,f[0]=Y>>>0&255,f[1]=Y>>>8&255,f[2]=Y>>>16&255,f[3]=Y>>>24&255,f[4]=Q>>>0&255,f[5]=Q>>>8&255,f[6]=Q>>>16&255,f[7]=Q>>>24&255,f[8]=V>>>0&255,f[9]=V>>>8&255,f[10]=V>>>16&255,f[11]=V>>>24&255,f[12]=X>>>0&255,f[13]=X>>>8&255,f[14]=X>>>16&255,f[15]=X>>>24&255,f[16]=J>>>0&255,f[17]=J>>>8&255,f[18]=J>>>16&255,f[19]=J>>>24&255,f[20]=q>>>0&255,f[21]=q>>>8&255,f[22]=q>>>16&255,f[23]=q>>>24&255,f[24]=w>>>0&255,f[25]=w>>>8&255,f[26]=w>>>16&255,f[27]=w>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=A>>>0&255,f[33]=A>>>8&255,f[34]=A>>>16&255,f[35]=A>>>24&255,f[36]=k>>>0&255,f[37]=k>>>8&255,f[38]=k>>>16&255,f[39]=k>>>24&255,f[40]=P>>>0&255,f[41]=P>>>8&255,f[42]=P>>>16&255,f[43]=P>>>24&255,f[44]=M>>>0&255,f[45]=M>>>8&255,f[46]=M>>>16&255,f[47]=M>>>24&255,f[48]=ne>>>0&255,f[49]=ne>>>8&255,f[50]=ne>>>16&255,f[51]=ne>>>24&255,f[52]=me>>>0&255,f[53]=me>>>8&255,f[54]=me>>>16&255,f[55]=me>>>24&255,f[56]=_e>>>0&255,f[57]=_e>>>8&255,f[58]=_e>>>16&255,f[59]=_e>>>24&255,f[60]=ye>>>0&255,f[61]=ye>>>8&255,f[62]=ye>>>16&255,f[63]=ye>>>24&255}function z(f,d,l,o){for(var g=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,b=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,v=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,D=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Z=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=d[0]&255|(d[1]&255)<<8|(d[2]&255)<<16|(d[3]&255)<<24,Pe=d[4]&255|(d[5]&255)<<8|(d[6]&255)<<16|(d[7]&255)<<24,$=d[8]&255|(d[9]&255)<<8|(d[10]&255)<<16|(d[11]&255)<<24,oe=d[12]&255|(d[13]&255)<<8|(d[14]&255)<<16|(d[15]&255)<<24,ae=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ge=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,de=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ce=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,le=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,fe=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,Y=g,Q=b,V=v,X=O,J=D,q=Z,w=W,x=Pe,A=$,k=oe,P=ae,M=ge,ne=de,me=ce,_e=le,ye=fe,y,ve=0;ve<20;ve+=2)y=Y+ne|0,J^=y<<7|y>>>25,y=J+Y|0,A^=y<<9|y>>>23,y=A+J|0,ne^=y<<13|y>>>19,y=ne+A|0,Y^=y<<18|y>>>14,y=q+Q|0,k^=y<<7|y>>>25,y=k+q|0,me^=y<<9|y>>>23,y=me+k|0,Q^=y<<13|y>>>19,y=Q+me|0,q^=y<<18|y>>>14,y=P+w|0,_e^=y<<7|y>>>25,y=_e+P|0,V^=y<<9|y>>>23,y=V+_e|0,w^=y<<13|y>>>19,y=w+V|0,P^=y<<18|y>>>14,y=ye+M|0,X^=y<<7|y>>>25,y=X+ye|0,x^=y<<9|y>>>23,y=x+X|0,M^=y<<13|y>>>19,y=M+x|0,ye^=y<<18|y>>>14,y=Y+X|0,Q^=y<<7|y>>>25,y=Q+Y|0,V^=y<<9|y>>>23,y=V+Q|0,X^=y<<13|y>>>19,y=X+V|0,Y^=y<<18|y>>>14,y=q+J|0,w^=y<<7|y>>>25,y=w+q|0,x^=y<<9|y>>>23,y=x+w|0,J^=y<<13|y>>>19,y=J+x|0,q^=y<<18|y>>>14,y=P+k|0,M^=y<<7|y>>>25,y=M+P|0,A^=y<<9|y>>>23,y=A+M|0,k^=y<<13|y>>>19,y=k+A|0,P^=y<<18|y>>>14,y=ye+_e|0,ne^=y<<7|y>>>25,y=ne+ye|0,me^=y<<9|y>>>23,y=me+ne|0,_e^=y<<13|y>>>19,y=_e+me|0,ye^=y<<18|y>>>14;f[0]=Y>>>0&255,f[1]=Y>>>8&255,f[2]=Y>>>16&255,f[3]=Y>>>24&255,f[4]=q>>>0&255,f[5]=q>>>8&255,f[6]=q>>>16&255,f[7]=q>>>24&255,f[8]=P>>>0&255,f[9]=P>>>8&255,f[10]=P>>>16&255,f[11]=P>>>24&255,f[12]=ye>>>0&255,f[13]=ye>>>8&255,f[14]=ye>>>16&255,f[15]=ye>>>24&255,f[16]=w>>>0&255,f[17]=w>>>8&255,f[18]=w>>>16&255,f[19]=w>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=A>>>0&255,f[25]=A>>>8&255,f[26]=A>>>16&255,f[27]=A>>>24&255,f[28]=k>>>0&255,f[29]=k>>>8&255,f[30]=k>>>16&255,f[31]=k>>>24&255}function T(f,d,l,o){ie(f,d,l,o)}function F(f,d,l,o){z(f,d,l,o)}var te=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function U(f,d,l,o,g,b,v){var O=new Uint8Array(16),D=new Uint8Array(64),Z,W;for(W=0;W<16;W++)O[W]=0;for(W=0;W<8;W++)O[W]=b[W];for(;g>=64;){for(T(D,O,v,te),W=0;W<64;W++)f[d+W]=l[o+W]^D[W];for(Z=1,W=8;W<16;W++)Z=Z+(O[W]&255)|0,O[W]=Z&255,Z>>>=8;g-=64,d+=64,o+=64}if(g>0)for(T(D,O,v,te),W=0;W<g;W++)f[d+W]=l[o+W]^D[W];return 0}function ee(f,d,l,o,g){var b=new Uint8Array(16),v=new Uint8Array(64),O,D;for(D=0;D<16;D++)b[D]=0;for(D=0;D<8;D++)b[D]=o[D];for(;l>=64;){for(T(v,b,g,te),D=0;D<64;D++)f[d+D]=v[D];for(O=1,D=8;D<16;D++)O=O+(b[D]&255)|0,b[D]=O&255,O>>>=8;l-=64,d+=64}if(l>0)for(T(v,b,g,te),D=0;D<l;D++)f[d+D]=v[D];return 0}function pe(f,d,l,o,g){var b=new Uint8Array(32);F(b,o,g,te);for(var v=new Uint8Array(8),O=0;O<8;O++)v[O]=o[O+16];return ee(f,d,l,v,b)}function K(f,d,l,o,g,b,v){var O=new Uint8Array(32);F(O,b,v,te);for(var D=new Uint8Array(8),Z=0;Z<8;Z++)D[Z]=b[Z+16];return U(f,d,l,o,g,D,O)}var Ne=function(f){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var d,l,o,g,b,v,O,D;d=f[0]&255|(f[1]&255)<<8,this.r[0]=d&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(d>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,g=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|g<<9)&8191,b=f[8]&255|(f[9]&255)<<8,this.r[4]=(g>>>4|b<<12)&255,this.r[5]=b>>>1&8190,v=f[10]&255|(f[11]&255)<<8,this.r[6]=(b>>>14|v<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(v>>>11|O<<5)&8065,D=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|D<<8)&8191,this.r[9]=D>>>5&127,this.pad[0]=f[16]&255|(f[17]&255)<<8,this.pad[1]=f[18]&255|(f[19]&255)<<8,this.pad[2]=f[20]&255|(f[21]&255)<<8,this.pad[3]=f[22]&255|(f[23]&255)<<8,this.pad[4]=f[24]&255|(f[25]&255)<<8,this.pad[5]=f[26]&255|(f[27]&255)<<8,this.pad[6]=f[28]&255|(f[29]&255)<<8,this.pad[7]=f[30]&255|(f[31]&255)<<8};Ne.prototype.blocks=function(f,d,l){for(var o=this.fin?0:2048,g,b,v,O,D,Z,W,Pe,$,oe,ae,ge,de,ce,le,fe,Y,Q,V,X=this.h[0],J=this.h[1],q=this.h[2],w=this.h[3],x=this.h[4],A=this.h[5],k=this.h[6],P=this.h[7],M=this.h[8],ne=this.h[9],me=this.r[0],_e=this.r[1],ye=this.r[2],y=this.r[3],ve=this.r[4],Ae=this.r[5],Re=this.r[6],be=this.r[7],Te=this.r[8],Ce=this.r[9];l>=16;)g=f[d+0]&255|(f[d+1]&255)<<8,X+=g&8191,b=f[d+2]&255|(f[d+3]&255)<<8,J+=(g>>>13|b<<3)&8191,v=f[d+4]&255|(f[d+5]&255)<<8,q+=(b>>>10|v<<6)&8191,O=f[d+6]&255|(f[d+7]&255)<<8,w+=(v>>>7|O<<9)&8191,D=f[d+8]&255|(f[d+9]&255)<<8,x+=(O>>>4|D<<12)&8191,A+=D>>>1&8191,Z=f[d+10]&255|(f[d+11]&255)<<8,k+=(D>>>14|Z<<2)&8191,W=f[d+12]&255|(f[d+13]&255)<<8,P+=(Z>>>11|W<<5)&8191,Pe=f[d+14]&255|(f[d+15]&255)<<8,M+=(W>>>8|Pe<<8)&8191,ne+=Pe>>>5|o,$=0,oe=$,oe+=X*me,oe+=J*(5*Ce),oe+=q*(5*Te),oe+=w*(5*be),oe+=x*(5*Re),$=oe>>>13,oe&=8191,oe+=A*(5*Ae),oe+=k*(5*ve),oe+=P*(5*y),oe+=M*(5*ye),oe+=ne*(5*_e),$+=oe>>>13,oe&=8191,ae=$,ae+=X*_e,ae+=J*me,ae+=q*(5*Ce),ae+=w*(5*Te),ae+=x*(5*be),$=ae>>>13,ae&=8191,ae+=A*(5*Re),ae+=k*(5*Ae),ae+=P*(5*ve),ae+=M*(5*y),ae+=ne*(5*ye),$+=ae>>>13,ae&=8191,ge=$,ge+=X*ye,ge+=J*_e,ge+=q*me,ge+=w*(5*Ce),ge+=x*(5*Te),$=ge>>>13,ge&=8191,ge+=A*(5*be),ge+=k*(5*Re),ge+=P*(5*Ae),ge+=M*(5*ve),ge+=ne*(5*y),$+=ge>>>13,ge&=8191,de=$,de+=X*y,de+=J*ye,de+=q*_e,de+=w*me,de+=x*(5*Ce),$=de>>>13,de&=8191,de+=A*(5*Te),de+=k*(5*be),de+=P*(5*Re),de+=M*(5*Ae),de+=ne*(5*ve),$+=de>>>13,de&=8191,ce=$,ce+=X*ve,ce+=J*y,ce+=q*ye,ce+=w*_e,ce+=x*me,$=ce>>>13,ce&=8191,ce+=A*(5*Ce),ce+=k*(5*Te),ce+=P*(5*be),ce+=M*(5*Re),ce+=ne*(5*Ae),$+=ce>>>13,ce&=8191,le=$,le+=X*Ae,le+=J*ve,le+=q*y,le+=w*ye,le+=x*_e,$=le>>>13,le&=8191,le+=A*me,le+=k*(5*Ce),le+=P*(5*Te),le+=M*(5*be),le+=ne*(5*Re),$+=le>>>13,le&=8191,fe=$,fe+=X*Re,fe+=J*Ae,fe+=q*ve,fe+=w*y,fe+=x*ye,$=fe>>>13,fe&=8191,fe+=A*_e,fe+=k*me,fe+=P*(5*Ce),fe+=M*(5*Te),fe+=ne*(5*be),$+=fe>>>13,fe&=8191,Y=$,Y+=X*be,Y+=J*Re,Y+=q*Ae,Y+=w*ve,Y+=x*y,$=Y>>>13,Y&=8191,Y+=A*ye,Y+=k*_e,Y+=P*me,Y+=M*(5*Ce),Y+=ne*(5*Te),$+=Y>>>13,Y&=8191,Q=$,Q+=X*Te,Q+=J*be,Q+=q*Re,Q+=w*Ae,Q+=x*ve,$=Q>>>13,Q&=8191,Q+=A*y,Q+=k*ye,Q+=P*_e,Q+=M*me,Q+=ne*(5*Ce),$+=Q>>>13,Q&=8191,V=$,V+=X*Ce,V+=J*Te,V+=q*be,V+=w*Re,V+=x*Ae,$=V>>>13,V&=8191,V+=A*ve,V+=k*y,V+=P*ye,V+=M*_e,V+=ne*me,$+=V>>>13,V&=8191,$=($<<2)+$|0,$=$+oe|0,oe=$&8191,$=$>>>13,ae+=$,X=oe,J=ae,q=ge,w=de,x=ce,A=le,k=fe,P=Y,M=Q,ne=V,d+=16,l-=16;this.h[0]=X,this.h[1]=J,this.h[2]=q,this.h[3]=w,this.h[4]=x,this.h[5]=A,this.h[6]=k,this.h[7]=P,this.h[8]=M,this.h[9]=ne},Ne.prototype.finish=function(f,d){var l=new Uint16Array(10),o,g,b,v;if(this.leftover){for(v=this.leftover,this.buffer[v++]=1;v<16;v++)this.buffer[v]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(o=this.h[1]>>>13,this.h[1]&=8191,v=2;v<10;v++)this.h[v]+=o,o=this.h[v]>>>13,this.h[v]&=8191;for(this.h[0]+=o*5,o=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=o,o=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=o,l[0]=this.h[0]+5,o=l[0]>>>13,l[0]&=8191,v=1;v<10;v++)l[v]=this.h[v]+o,o=l[v]>>>13,l[v]&=8191;for(l[9]-=8192,g=(o^1)-1,v=0;v<10;v++)l[v]&=g;for(g=~g,v=0;v<10;v++)this.h[v]=this.h[v]&g|l[v];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,b=this.h[0]+this.pad[0],this.h[0]=b&65535,v=1;v<8;v++)b=(this.h[v]+this.pad[v]|0)+(b>>>16)|0,this.h[v]=b&65535;f[d+0]=this.h[0]>>>0&255,f[d+1]=this.h[0]>>>8&255,f[d+2]=this.h[1]>>>0&255,f[d+3]=this.h[1]>>>8&255,f[d+4]=this.h[2]>>>0&255,f[d+5]=this.h[2]>>>8&255,f[d+6]=this.h[3]>>>0&255,f[d+7]=this.h[3]>>>8&255,f[d+8]=this.h[4]>>>0&255,f[d+9]=this.h[4]>>>8&255,f[d+10]=this.h[5]>>>0&255,f[d+11]=this.h[5]>>>8&255,f[d+12]=this.h[6]>>>0&255,f[d+13]=this.h[6]>>>8&255,f[d+14]=this.h[7]>>>0&255,f[d+15]=this.h[7]>>>8&255},Ne.prototype.update=function(f,d,l){var o,g;if(this.leftover){for(g=16-this.leftover,g>l&&(g=l),o=0;o<g;o++)this.buffer[this.leftover+o]=f[d+o];if(l-=g,d+=g,this.leftover+=g,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(g=l-l%16,this.blocks(f,d,g),d+=g,l-=g),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[d+o];this.leftover+=l}};function tt(f,d,l,o,g,b){var v=new Ne(b);return v.update(l,o,g),v.finish(f,d),0}function Se(f,d,l,o,g,b){var v=new Uint8Array(16);return tt(v,0,l,o,g,b),C(f,d,v,0)}function Me(f,d,l,o,g){var b;if(l<32)return-1;for(K(f,0,d,0,l,o,g),tt(f,16,f,32,l-32,f),b=0;b<16;b++)f[b]=0;return 0}function we(f,d,l,o,g){var b,v=new Uint8Array(32);if(l<32||(pe(v,0,32,o,g),Se(d,16,d,32,l-32,v)!==0))return-1;for(K(f,0,d,0,l,o,g),b=0;b<32;b++)f[b]=0;return 0}function Ke(f,d){var l;for(l=0;l<16;l++)f[l]=d[l]|0}function Ee(f){var d,l,o=1;for(d=0;d<16;d++)l=f[d]+o+65535,o=Math.floor(l/65536),f[d]=l-o*65536;f[0]+=o-1+37*(o-1)}function rt(f,d,l){for(var o,g=~(l-1),b=0;b<16;b++)o=g&(f[b]^d[b]),f[b]^=o,d[b]^=o}function Fe(f,d){var l,o,g,b=e(),v=e();for(l=0;l<16;l++)v[l]=d[l];for(Ee(v),Ee(v),Ee(v),o=0;o<2;o++){for(b[0]=v[0]-65517,l=1;l<15;l++)b[l]=v[l]-65535-(b[l-1]>>16&1),b[l-1]&=65535;b[15]=v[15]-32767-(b[14]>>16&1),g=b[15]>>16&1,b[14]&=65535,rt(v,b,1-g)}for(l=0;l<16;l++)f[2*l]=v[l]&255,f[2*l+1]=v[l]>>8}function yt(f,d){var l=new Uint8Array(32),o=new Uint8Array(32);return Fe(l,f),Fe(o,d),H(l,0,o,0)}function qe(f){var d=new Uint8Array(32);return Fe(d,f),d[0]&1}function dt(f,d){var l;for(l=0;l<16;l++)f[l]=d[2*l]+(d[2*l+1]<<8);f[15]&=32767}function I(f,d,l){for(var o=0;o<16;o++)f[o]=d[o]+l[o]}function B(f,d,l){for(var o=0;o<16;o++)f[o]=d[o]-l[o]}function R(f,d,l){var o,g,b=0,v=0,O=0,D=0,Z=0,W=0,Pe=0,$=0,oe=0,ae=0,ge=0,de=0,ce=0,le=0,fe=0,Y=0,Q=0,V=0,X=0,J=0,q=0,w=0,x=0,A=0,k=0,P=0,M=0,ne=0,me=0,_e=0,ye=0,y=l[0],ve=l[1],Ae=l[2],Re=l[3],be=l[4],Te=l[5],Ce=l[6],it=l[7],De=l[8],Ze=l[9],Qe=l[10],et=l[11],at=l[12],pt=l[13],gt=l[14],mt=l[15];o=d[0],b+=o*y,v+=o*ve,O+=o*Ae,D+=o*Re,Z+=o*be,W+=o*Te,Pe+=o*Ce,$+=o*it,oe+=o*De,ae+=o*Ze,ge+=o*Qe,de+=o*et,ce+=o*at,le+=o*pt,fe+=o*gt,Y+=o*mt,o=d[1],v+=o*y,O+=o*ve,D+=o*Ae,Z+=o*Re,W+=o*be,Pe+=o*Te,$+=o*Ce,oe+=o*it,ae+=o*De,ge+=o*Ze,de+=o*Qe,ce+=o*et,le+=o*at,fe+=o*pt,Y+=o*gt,Q+=o*mt,o=d[2],O+=o*y,D+=o*ve,Z+=o*Ae,W+=o*Re,Pe+=o*be,$+=o*Te,oe+=o*Ce,ae+=o*it,ge+=o*De,de+=o*Ze,ce+=o*Qe,le+=o*et,fe+=o*at,Y+=o*pt,Q+=o*gt,V+=o*mt,o=d[3],D+=o*y,Z+=o*ve,W+=o*Ae,Pe+=o*Re,$+=o*be,oe+=o*Te,ae+=o*Ce,ge+=o*it,de+=o*De,ce+=o*Ze,le+=o*Qe,fe+=o*et,Y+=o*at,Q+=o*pt,V+=o*gt,X+=o*mt,o=d[4],Z+=o*y,W+=o*ve,Pe+=o*Ae,$+=o*Re,oe+=o*be,ae+=o*Te,ge+=o*Ce,de+=o*it,ce+=o*De,le+=o*Ze,fe+=o*Qe,Y+=o*et,Q+=o*at,V+=o*pt,X+=o*gt,J+=o*mt,o=d[5],W+=o*y,Pe+=o*ve,$+=o*Ae,oe+=o*Re,ae+=o*be,ge+=o*Te,de+=o*Ce,ce+=o*it,le+=o*De,fe+=o*Ze,Y+=o*Qe,Q+=o*et,V+=o*at,X+=o*pt,J+=o*gt,q+=o*mt,o=d[6],Pe+=o*y,$+=o*ve,oe+=o*Ae,ae+=o*Re,ge+=o*be,de+=o*Te,ce+=o*Ce,le+=o*it,fe+=o*De,Y+=o*Ze,Q+=o*Qe,V+=o*et,X+=o*at,J+=o*pt,q+=o*gt,w+=o*mt,o=d[7],$+=o*y,oe+=o*ve,ae+=o*Ae,ge+=o*Re,de+=o*be,ce+=o*Te,le+=o*Ce,fe+=o*it,Y+=o*De,Q+=o*Ze,V+=o*Qe,X+=o*et,J+=o*at,q+=o*pt,w+=o*gt,x+=o*mt,o=d[8],oe+=o*y,ae+=o*ve,ge+=o*Ae,de+=o*Re,ce+=o*be,le+=o*Te,fe+=o*Ce,Y+=o*it,Q+=o*De,V+=o*Ze,X+=o*Qe,J+=o*et,q+=o*at,w+=o*pt,x+=o*gt,A+=o*mt,o=d[9],ae+=o*y,ge+=o*ve,de+=o*Ae,ce+=o*Re,le+=o*be,fe+=o*Te,Y+=o*Ce,Q+=o*it,V+=o*De,X+=o*Ze,J+=o*Qe,q+=o*et,w+=o*at,x+=o*pt,A+=o*gt,k+=o*mt,o=d[10],ge+=o*y,de+=o*ve,ce+=o*Ae,le+=o*Re,fe+=o*be,Y+=o*Te,Q+=o*Ce,V+=o*it,X+=o*De,J+=o*Ze,q+=o*Qe,w+=o*et,x+=o*at,A+=o*pt,k+=o*gt,P+=o*mt,o=d[11],de+=o*y,ce+=o*ve,le+=o*Ae,fe+=o*Re,Y+=o*be,Q+=o*Te,V+=o*Ce,X+=o*it,J+=o*De,q+=o*Ze,w+=o*Qe,x+=o*et,A+=o*at,k+=o*pt,P+=o*gt,M+=o*mt,o=d[12],ce+=o*y,le+=o*ve,fe+=o*Ae,Y+=o*Re,Q+=o*be,V+=o*Te,X+=o*Ce,J+=o*it,q+=o*De,w+=o*Ze,x+=o*Qe,A+=o*et,k+=o*at,P+=o*pt,M+=o*gt,ne+=o*mt,o=d[13],le+=o*y,fe+=o*ve,Y+=o*Ae,Q+=o*Re,V+=o*be,X+=o*Te,J+=o*Ce,q+=o*it,w+=o*De,x+=o*Ze,A+=o*Qe,k+=o*et,P+=o*at,M+=o*pt,ne+=o*gt,me+=o*mt,o=d[14],fe+=o*y,Y+=o*ve,Q+=o*Ae,V+=o*Re,X+=o*be,J+=o*Te,q+=o*Ce,w+=o*it,x+=o*De,A+=o*Ze,k+=o*Qe,P+=o*et,M+=o*at,ne+=o*pt,me+=o*gt,_e+=o*mt,o=d[15],Y+=o*y,Q+=o*ve,V+=o*Ae,X+=o*Re,J+=o*be,q+=o*Te,w+=o*Ce,x+=o*it,A+=o*De,k+=o*Ze,P+=o*Qe,M+=o*et,ne+=o*at,me+=o*pt,_e+=o*gt,ye+=o*mt,b+=38*Q,v+=38*V,O+=38*X,D+=38*J,Z+=38*q,W+=38*w,Pe+=38*x,$+=38*A,oe+=38*k,ae+=38*P,ge+=38*M,de+=38*ne,ce+=38*me,le+=38*_e,fe+=38*ye,g=1,o=b+g+65535,g=Math.floor(o/65536),b=o-g*65536,o=v+g+65535,g=Math.floor(o/65536),v=o-g*65536,o=O+g+65535,g=Math.floor(o/65536),O=o-g*65536,o=D+g+65535,g=Math.floor(o/65536),D=o-g*65536,o=Z+g+65535,g=Math.floor(o/65536),Z=o-g*65536,o=W+g+65535,g=Math.floor(o/65536),W=o-g*65536,o=Pe+g+65535,g=Math.floor(o/65536),Pe=o-g*65536,o=$+g+65535,g=Math.floor(o/65536),$=o-g*65536,o=oe+g+65535,g=Math.floor(o/65536),oe=o-g*65536,o=ae+g+65535,g=Math.floor(o/65536),ae=o-g*65536,o=ge+g+65535,g=Math.floor(o/65536),ge=o-g*65536,o=de+g+65535,g=Math.floor(o/65536),de=o-g*65536,o=ce+g+65535,g=Math.floor(o/65536),ce=o-g*65536,o=le+g+65535,g=Math.floor(o/65536),le=o-g*65536,o=fe+g+65535,g=Math.floor(o/65536),fe=o-g*65536,o=Y+g+65535,g=Math.floor(o/65536),Y=o-g*65536,b+=g-1+37*(g-1),g=1,o=b+g+65535,g=Math.floor(o/65536),b=o-g*65536,o=v+g+65535,g=Math.floor(o/65536),v=o-g*65536,o=O+g+65535,g=Math.floor(o/65536),O=o-g*65536,o=D+g+65535,g=Math.floor(o/65536),D=o-g*65536,o=Z+g+65535,g=Math.floor(o/65536),Z=o-g*65536,o=W+g+65535,g=Math.floor(o/65536),W=o-g*65536,o=Pe+g+65535,g=Math.floor(o/65536),Pe=o-g*65536,o=$+g+65535,g=Math.floor(o/65536),$=o-g*65536,o=oe+g+65535,g=Math.floor(o/65536),oe=o-g*65536,o=ae+g+65535,g=Math.floor(o/65536),ae=o-g*65536,o=ge+g+65535,g=Math.floor(o/65536),ge=o-g*65536,o=de+g+65535,g=Math.floor(o/65536),de=o-g*65536,o=ce+g+65535,g=Math.floor(o/65536),ce=o-g*65536,o=le+g+65535,g=Math.floor(o/65536),le=o-g*65536,o=fe+g+65535,g=Math.floor(o/65536),fe=o-g*65536,o=Y+g+65535,g=Math.floor(o/65536),Y=o-g*65536,b+=g-1+37*(g-1),f[0]=b,f[1]=v,f[2]=O,f[3]=D,f[4]=Z,f[5]=W,f[6]=Pe,f[7]=$,f[8]=oe,f[9]=ae,f[10]=ge,f[11]=de,f[12]=ce,f[13]=le,f[14]=fe,f[15]=Y}function se(f,d){R(f,d,d)}function Oe(f,d){var l=e(),o;for(o=0;o<16;o++)l[o]=d[o];for(o=253;o>=0;o--)se(l,l),o!==2&&o!==4&&R(l,l,d);for(o=0;o<16;o++)f[o]=l[o]}function j(f,d){var l=e(),o;for(o=0;o<16;o++)l[o]=d[o];for(o=250;o>=0;o--)se(l,l),o!==1&&R(l,l,d);for(o=0;o<16;o++)f[o]=l[o]}function ue(f,d,l){var o=new Uint8Array(32),g=new Float64Array(80),b,v,O=e(),D=e(),Z=e(),W=e(),Pe=e(),$=e();for(v=0;v<31;v++)o[v]=d[v];for(o[31]=d[31]&127|64,o[0]&=248,dt(g,l),v=0;v<16;v++)D[v]=g[v],W[v]=O[v]=Z[v]=0;for(O[0]=W[0]=1,v=254;v>=0;--v)b=o[v>>>3]>>>(v&7)&1,rt(O,D,b),rt(Z,W,b),I(Pe,O,Z),B(O,O,Z),I(Z,D,W),B(D,D,W),se(W,Pe),se($,O),R(O,Z,O),R(Z,D,Pe),I(Pe,O,Z),B(O,O,Z),se(D,O),B(Z,W,$),R(O,Z,c),I(O,O,W),R(Z,Z,O),R(O,W,$),R(W,D,g),se(D,Pe),rt(O,D,b),rt(Z,W,b);for(v=0;v<16;v++)g[v+16]=O[v],g[v+32]=Z[v],g[v+48]=D[v],g[v+64]=W[v];var oe=g.subarray(32),ae=g.subarray(16);return Oe(oe,oe),R(ae,ae,oe),Fe(f,ae),0}function je(f,d){return ue(f,d,i)}function nt(f,d){return t(d,32),je(f,d)}function _t(f,d,l){var o=new Uint8Array(32);return ue(o,l,d),F(f,n,o,te)}var Vt=Me,on=we;function Dr(f,d,l,o,g,b){var v=new Uint8Array(32);return _t(v,g,b),Vt(f,d,l,o,v)}function Ln(f,d,l,o,g,b){var v=new Uint8Array(32);return _t(v,g,b),on(f,d,l,o,v)}var es=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Rf(f,d,l,o){for(var g=new Int32Array(16),b=new Int32Array(16),v,O,D,Z,W,Pe,$,oe,ae,ge,de,ce,le,fe,Y,Q,V,X,J,q,w,x,A,k,P,M,ne=f[0],me=f[1],_e=f[2],ye=f[3],y=f[4],ve=f[5],Ae=f[6],Re=f[7],be=d[0],Te=d[1],Ce=d[2],it=d[3],De=d[4],Ze=d[5],Qe=d[6],et=d[7],at=0;o>=128;){for(J=0;J<16;J++)q=8*J+at,g[J]=l[q+0]<<24|l[q+1]<<16|l[q+2]<<8|l[q+3],b[J]=l[q+4]<<24|l[q+5]<<16|l[q+6]<<8|l[q+7];for(J=0;J<80;J++)if(v=ne,O=me,D=_e,Z=ye,W=y,Pe=ve,$=Ae,oe=Re,ae=be,ge=Te,de=Ce,ce=it,le=De,fe=Ze,Y=Qe,Q=et,w=Re,x=et,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=(y>>>14|De<<18)^(y>>>18|De<<14)^(De>>>9|y<<23),x=(De>>>14|y<<18)^(De>>>18|y<<14)^(y>>>9|De<<23),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=y&ve^~y&Ae,x=De&Ze^~De&Qe,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=es[J*2],x=es[J*2+1],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=g[J%16],x=b[J%16],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,V=P&65535|M<<16,X=A&65535|k<<16,w=V,x=X,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=(ne>>>28|be<<4)^(be>>>2|ne<<30)^(be>>>7|ne<<25),x=(be>>>28|ne<<4)^(ne>>>2|be<<30)^(ne>>>7|be<<25),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=ne&me^ne&_e^me&_e,x=be&Te^be&Ce^Te&Ce,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,oe=P&65535|M<<16,Q=A&65535|k<<16,w=Z,x=ce,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=V,x=X,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,Z=P&65535|M<<16,ce=A&65535|k<<16,me=v,_e=O,ye=D,y=Z,ve=W,Ae=Pe,Re=$,ne=oe,Te=ae,Ce=ge,it=de,De=ce,Ze=le,Qe=fe,et=Y,be=Q,J%16===15)for(q=0;q<16;q++)w=g[q],x=b[q],A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=g[(q+9)%16],x=b[(q+9)%16],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,V=g[(q+1)%16],X=b[(q+1)%16],w=(V>>>1|X<<31)^(V>>>8|X<<24)^V>>>7,x=(X>>>1|V<<31)^(X>>>8|V<<24)^(X>>>7|V<<25),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,V=g[(q+14)%16],X=b[(q+14)%16],w=(V>>>19|X<<13)^(X>>>29|V<<3)^V>>>6,x=(X>>>19|V<<13)^(V>>>29|X<<3)^(X>>>6|V<<26),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,g[q]=P&65535|M<<16,b[q]=A&65535|k<<16;w=ne,x=be,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[0],x=d[0],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[0]=ne=P&65535|M<<16,d[0]=be=A&65535|k<<16,w=me,x=Te,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[1],x=d[1],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[1]=me=P&65535|M<<16,d[1]=Te=A&65535|k<<16,w=_e,x=Ce,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[2],x=d[2],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[2]=_e=P&65535|M<<16,d[2]=Ce=A&65535|k<<16,w=ye,x=it,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[3],x=d[3],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[3]=ye=P&65535|M<<16,d[3]=it=A&65535|k<<16,w=y,x=De,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[4],x=d[4],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[4]=y=P&65535|M<<16,d[4]=De=A&65535|k<<16,w=ve,x=Ze,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[5],x=d[5],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[5]=ve=P&65535|M<<16,d[5]=Ze=A&65535|k<<16,w=Ae,x=Qe,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[6],x=d[6],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[6]=Ae=P&65535|M<<16,d[6]=Qe=A&65535|k<<16,w=Re,x=et,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[7],x=d[7],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[7]=Re=P&65535|M<<16,d[7]=et=A&65535|k<<16,at+=128,o-=128}return o}function an(f,d,l){var o=new Int32Array(8),g=new Int32Array(8),b=new Uint8Array(256),v,O=l;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,g[0]=4089235720,g[1]=2227873595,g[2]=4271175723,g[3]=1595750129,g[4]=2917565137,g[5]=725511199,g[6]=4215389547,g[7]=327033209,Rf(o,g,d,l),l%=128,v=0;v<l;v++)b[v]=d[O-l+v];for(b[l]=128,l=256-128*(l<112?1:0),b[l-9]=0,E(b,l-8,O/536870912|0,O<<3),Rf(o,g,b,l),v=0;v<8;v++)E(f,8*v,o[v],g[v]);return 0}function ts(f,d){var l=e(),o=e(),g=e(),b=e(),v=e(),O=e(),D=e(),Z=e(),W=e();B(l,f[1],f[0]),B(W,d[1],d[0]),R(l,l,W),I(o,f[0],f[1]),I(W,d[0],d[1]),R(o,o,W),R(g,f[3],d[3]),R(g,g,h),R(b,f[2],d[2]),I(b,b,b),B(v,o,l),B(O,b,g),I(D,b,g),I(Z,o,l),R(f[0],v,O),R(f[1],Z,D),R(f[2],D,O),R(f[3],v,Z)}function If(f,d,l){var o;for(o=0;o<4;o++)rt(f[o],d[o],l)}function qo(f,d){var l=e(),o=e(),g=e();Oe(g,d[2]),R(l,d[0],g),R(o,d[1],g),Fe(f,o),f[31]^=qe(l)<<7}function Wo(f,d,l){var o,g;for(Ke(f[0],s),Ke(f[1],a),Ke(f[2],a),Ke(f[3],s),g=255;g>=0;--g)o=l[g/8|0]>>(g&7)&1,If(f,d,o),ts(d,f),ts(f,f),If(f,d,o)}function rs(f,d){var l=[e(),e(),e(),e()];Ke(l[0],p),Ke(l[1],m),Ke(l[2],a),R(l[3],p,m),Wo(f,l,d)}function Ho(f,d,l){var o=new Uint8Array(64),g=[e(),e(),e(),e()],b;for(l||t(d,32),an(o,d,32),o[0]&=248,o[31]&=127,o[31]|=64,rs(g,o),qo(f,g),b=0;b<32;b++)d[b+32]=f[b];return 0}var ns=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Vo(f,d){var l,o,g,b;for(o=63;o>=32;--o){for(l=0,g=o-32,b=o-12;g<b;++g)d[g]+=l-16*d[o]*ns[g-(o-32)],l=Math.floor((d[g]+128)/256),d[g]-=l*256;d[g]+=l,d[o]=0}for(l=0,g=0;g<32;g++)d[g]+=l-(d[31]>>4)*ns[g],l=d[g]>>8,d[g]&=255;for(g=0;g<32;g++)d[g]-=l*ns[g];for(o=0;o<32;o++)d[o+1]+=d[o]>>8,f[o]=d[o]&255}function $o(f){var d=new Float64Array(64),l;for(l=0;l<64;l++)d[l]=f[l];for(l=0;l<64;l++)f[l]=0;Vo(f,d)}function Lf(f,d,l,o){var g=new Uint8Array(64),b=new Uint8Array(64),v=new Uint8Array(64),O,D,Z=new Float64Array(64),W=[e(),e(),e(),e()];an(g,o,32),g[0]&=248,g[31]&=127,g[31]|=64;var Pe=l+64;for(O=0;O<l;O++)f[64+O]=d[O];for(O=0;O<32;O++)f[32+O]=g[32+O];for(an(v,f.subarray(32),l+32),$o(v),rs(W,v),qo(f,W),O=32;O<64;O++)f[O]=o[O];for(an(b,f,l+64),$o(b),O=0;O<64;O++)Z[O]=0;for(O=0;O<32;O++)Z[O]=v[O];for(O=0;O<32;O++)for(D=0;D<32;D++)Z[O+D]+=b[O]*g[D];return Vo(f.subarray(32),Z),Pe}function Sp(f,d){var l=e(),o=e(),g=e(),b=e(),v=e(),O=e(),D=e();return Ke(f[2],a),dt(f[1],d),se(g,f[1]),R(b,g,u),B(g,g,f[2]),I(b,f[2],b),se(v,b),se(O,v),R(D,O,v),R(l,D,g),R(l,l,b),j(l,l),R(l,l,g),R(l,l,b),R(l,l,b),R(f[0],l,b),se(o,f[0]),R(o,o,b),yt(o,g)&&R(f[0],f[0],_),se(o,f[0]),R(o,o,b),yt(o,g)?-1:(qe(f[0])===d[31]>>7&&B(f[0],s,f[0]),R(f[3],f[0],f[1]),0)}function zo(f,d,l,o){var g,b=new Uint8Array(32),v=new Uint8Array(64),O=[e(),e(),e(),e()],D=[e(),e(),e(),e()];if(l<64||Sp(D,o))return-1;for(g=0;g<l;g++)f[g]=d[g];for(g=0;g<32;g++)f[g+32]=o[g];if(an(v,f,l),$o(v),Wo(O,D,v),rs(D,d.subarray(32)),ts(O,D),qo(b,O),l-=64,H(d,0,b,0)){for(g=0;g<l;g++)f[g]=0;return-1}for(g=0;g<l;g++)f[g]=d[g+64];return l}var Go=32,is=24,gi=32,Nn=16,mi=32,ss=32,yi=32,_i=32,Yo=32,Nf=is,Tp=gi,Cp=Nn,Er=64,cn=32,Mn=64,Xo=32,Jo=64;r.lowlevel={crypto_core_hsalsa20:F,crypto_stream_xor:K,crypto_stream:pe,crypto_stream_salsa20_xor:U,crypto_stream_salsa20:ee,crypto_onetimeauth:tt,crypto_onetimeauth_verify:Se,crypto_verify_16:C,crypto_verify_32:H,crypto_secretbox:Me,crypto_secretbox_open:we,crypto_scalarmult:ue,crypto_scalarmult_base:je,crypto_box_beforenm:_t,crypto_box_afternm:Vt,crypto_box:Dr,crypto_box_open:Ln,crypto_box_keypair:nt,crypto_hash:an,crypto_sign:Lf,crypto_sign_keypair:Ho,crypto_sign_open:zo,crypto_secretbox_KEYBYTES:Go,crypto_secretbox_NONCEBYTES:is,crypto_secretbox_ZEROBYTES:gi,crypto_secretbox_BOXZEROBYTES:Nn,crypto_scalarmult_BYTES:mi,crypto_scalarmult_SCALARBYTES:ss,crypto_box_PUBLICKEYBYTES:yi,crypto_box_SECRETKEYBYTES:_i,crypto_box_BEFORENMBYTES:Yo,crypto_box_NONCEBYTES:Nf,crypto_box_ZEROBYTES:Tp,crypto_box_BOXZEROBYTES:Cp,crypto_sign_BYTES:Er,crypto_sign_PUBLICKEYBYTES:cn,crypto_sign_SECRETKEYBYTES:Mn,crypto_sign_SEEDBYTES:Xo,crypto_hash_BYTES:Jo,gf:e,D:u,L:ns,pack25519:Fe,unpack25519:dt,M:R,A:I,S:se,Z:B,pow2523:j,add:ts,set25519:Ke,modL:Vo,scalarmult:Wo,scalarbase:rs};function Mf(f,d){if(f.length!==Go)throw new Error("bad key size");if(d.length!==is)throw new Error("bad nonce size")}function kp(f,d){if(f.length!==yi)throw new Error("bad public key size");if(d.length!==_i)throw new Error("bad secret key size")}function Ct(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Ff(f){for(var d=0;d<f.length;d++)f[d]=0}r.randomBytes=function(f){var d=new Uint8Array(f);return t(d,f),d},r.secretbox=function(f,d,l){Ct(f,d,l),Mf(l,d);for(var o=new Uint8Array(gi+f.length),g=new Uint8Array(o.length),b=0;b<f.length;b++)o[b+gi]=f[b];return Me(g,o,o.length,d,l),g.subarray(Nn)},r.secretbox.open=function(f,d,l){Ct(f,d,l),Mf(l,d);for(var o=new Uint8Array(Nn+f.length),g=new Uint8Array(o.length),b=0;b<f.length;b++)o[b+Nn]=f[b];return o.length<32||we(g,o,o.length,d,l)!==0?null:g.subarray(gi)},r.secretbox.keyLength=Go,r.secretbox.nonceLength=is,r.secretbox.overheadLength=Nn,r.scalarMult=function(f,d){if(Ct(f,d),f.length!==ss)throw new Error("bad n size");if(d.length!==mi)throw new Error("bad p size");var l=new Uint8Array(mi);return ue(l,f,d),l},r.scalarMult.base=function(f){if(Ct(f),f.length!==ss)throw new Error("bad n size");var d=new Uint8Array(mi);return je(d,f),d},r.scalarMult.scalarLength=ss,r.scalarMult.groupElementLength=mi,r.box=function(f,d,l,o){var g=r.box.before(l,o);return r.secretbox(f,d,g)},r.box.before=function(f,d){Ct(f,d),kp(f,d);var l=new Uint8Array(Yo);return _t(l,f,d),l},r.box.after=r.secretbox,r.box.open=function(f,d,l,o){var g=r.box.before(l,o);return r.secretbox.open(f,d,g)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(yi),d=new Uint8Array(_i);return nt(f,d),{publicKey:f,secretKey:d}},r.box.keyPair.fromSecretKey=function(f){if(Ct(f),f.length!==_i)throw new Error("bad secret key size");var d=new Uint8Array(yi);return je(d,f),{publicKey:d,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=yi,r.box.secretKeyLength=_i,r.box.sharedKeyLength=Yo,r.box.nonceLength=Nf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,d){if(Ct(f,d),d.length!==Mn)throw new Error("bad secret key size");var l=new Uint8Array(Er+f.length);return Lf(l,f,f.length,d),l},r.sign.open=function(f,d){if(Ct(f,d),d.length!==cn)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=zo(l,f,f.length,d);if(o<0)return null;for(var g=new Uint8Array(o),b=0;b<g.length;b++)g[b]=l[b];return g},r.sign.detached=function(f,d){for(var l=r.sign(f,d),o=new Uint8Array(Er),g=0;g<o.length;g++)o[g]=l[g];return o},r.sign.detached.verify=function(f,d,l){if(Ct(f,d,l),d.length!==Er)throw new Error("bad signature size");if(l.length!==cn)throw new Error("bad public key size");var o=new Uint8Array(Er+f.length),g=new Uint8Array(Er+f.length),b;for(b=0;b<Er;b++)o[b]=d[b];for(b=0;b<f.length;b++)o[b+Er]=f[b];return zo(g,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(cn),d=new Uint8Array(Mn);return Ho(f,d),{publicKey:f,secretKey:d}},r.sign.keyPair.fromSecretKey=function(f){if(Ct(f),f.length!==Mn)throw new Error("bad secret key size");for(var d=new Uint8Array(cn),l=0;l<d.length;l++)d[l]=f[32+l];return{publicKey:d,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(Ct(f),f.length!==Xo)throw new Error("bad seed size");for(var d=new Uint8Array(cn),l=new Uint8Array(Mn),o=0;o<32;o++)l[o]=f[o];return Ho(d,l,!0),{publicKey:d,secretKey:l}},r.sign.publicKeyLength=cn,r.sign.secretKeyLength=Mn,r.sign.seedLength=Xo,r.sign.signatureLength=Er,r.hash=function(f){Ct(f);var d=new Uint8Array(Jo);return an(d,f,f.length),d},r.hash.hashLength=Jo,r.verify=function(f,d){return Ct(f,d),f.length===0||d.length===0||f.length!==d.length?!1:S(f,0,d,0,f.length)===0},r.setPRNG=function(f){t=f},(function(){var f=typeof self<"u"?self.crypto||self.msCrypto:null;if(f&&f.getRandomValues){var d=65536;r.setPRNG(function(l,o){var g,b=new Uint8Array(o);for(g=0;g<o;g+=d)f.getRandomValues(b.subarray(g,g+Math.min(o-g,d)));for(g=0;g<o;g++)l[g]=b[g];Ff(b)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var g,b=f.randomBytes(o);for(g=0;g<o;g++)l[g]=b[g];Ff(b)}))})()})(typeof ys<"u"&&ys.exports?ys.exports:self.nacl=self.nacl||{})});var xi=L((ru,_s)=>{(function(r,e){"use strict";typeof _s<"u"&&_s.exports?_s.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(ru,function(){"use strict";var r={};function e(t){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(t))throw new TypeError("invalid encoding")}return r.decodeUTF8=function(t){if(typeof t!="string")throw new TypeError("expected string");var n,i=unescape(encodeURIComponent(t)),s=new Uint8Array(i.length);for(n=0;n<i.length;n++)s[n]=i.charCodeAt(n);return s},r.encodeUTF8=function(t){var n,i=[];for(n=0;n<t.length;n++)i.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(i.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(r.encodeBase64=function(t){return Buffer.from(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(Buffer.from(t,"base64"),0))}):(r.encodeBase64=function(t){return new Buffer(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(new Buffer(t,"base64"),0))}):(r.encodeBase64=function(t){var n,i=[],s=t.length;for(n=0;n<s;n++)i.push(String.fromCharCode(t[n]));return btoa(i.join(""))},r.decodeBase64=function(t){e(t);var n,i=atob(t),s=new Uint8Array(i.length);for(n=0;n<i.length;n++)s[n]=i.charCodeAt(n);return s}),r})});var nu=L(Ot=>{"use strict";var Yp=Ot&&Ot.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ot,"__esModule",{value:!0});Ot.concatBytes=Si;Ot.generateIdentityKeyPair=Xp;Ot.identityPublicFromSecret=Jp;Ot.signSessionKey=Zp;Ot.verifySessionKey=Qp;Ot.buildKxCanonical=eg;Ot.buildKxAckCanonical=tg;Ot.fingerprintIdentityKey=rg;Ot.fingerprintShortHex=ng;var sr=Yp(wi()),kt=xi(),bs=ra();function Si(...r){let e=0;for(let i of r)e+=i.length;let t=new Uint8Array(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function Xp(){let r=sr.default.sign.keyPair();return{identityPublicKey:(0,kt.encodeBase64)(r.publicKey),identitySecretKey:(0,kt.encodeBase64)(r.secretKey)}}function Jp(r){let e=(0,kt.decodeBase64)(r);if(e.length!==sr.default.sign.secretKeyLength)throw new Error("bad identity secret key length");let t=sr.default.sign.keyPair.fromSecretKey(e);return(0,kt.encodeBase64)(t.publicKey)}function Zp(r,e){let t=(0,kt.decodeBase64)(e);if(t.length!==sr.default.sign.secretKeyLength)throw new Error("bad identity secret key length");return(0,kt.encodeBase64)(sr.default.sign.detached(r,t))}function Qp(r,e,t){try{let n=(0,kt.decodeBase64)(e),i=(0,kt.decodeBase64)(t);return i.length!==sr.default.sign.publicKeyLength||n.length!==sr.default.sign.signatureLength?!1:sr.default.sign.detached.verify(r,n,i)}catch{return!1}}var fn=new Uint8Array([0]);function eg(r){let e=new TextEncoder,t=e.encode(bs.KX_SIGN_LABEL),n=e.encode(r.agentId),i=e.encode(String(r.keyVersion)),s=(0,kt.decodeBase64)(r.boxPublicKey);return Si(t,fn,n,fn,i,fn,s)}function tg(r){let e=new TextEncoder;return Si(e.encode(bs.KX_ACK_LABEL),fn,e.encode(r.agentId),fn,e.encode(String(r.keyVersion)),fn,(0,kt.decodeBase64)(r.boxPublicKey),fn,(0,kt.decodeBase64)(r.boundClientKey))}function rg(r){let e=(0,kt.decodeBase64)(r),t=Si(new TextEncoder().encode(bs.KX_FINGERPRINT_LABEL),e),n=sr.default.hash(t),i=[];for(let s=0;s<12;s++){let a=s*5,u=(((n[a]<<24>>>0)+(n[a+1]<<16)+(n[a+2]<<8)+n[a+3]^n[a+4])>>>0)%1e5;i.push(String(u).padStart(5,"0"))}return i.join(" ")}function ng(r){let e=(0,kt.decodeBase64)(r),t=Si(new TextEncoder().encode(bs.KX_FINGERPRINT_LABEL),e),n=sr.default.hash(t).slice(0,8);return Array.from(n).map(i=>i.toString(16).padStart(2,"0")).join(":").toUpperCase()}});var iu=L(Ur=>{"use strict";var ig=Ur&&Ur.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.encrypt=sg;Ur.decrypt=og;Ur.encryptBinary=ag;Ur.decryptBinary=cg;var xr=ig(wi()),jr=xi();function sg(r,e,t){let n=xr.default.randomBytes(xr.default.secretbox.nonceLength),i=new TextEncoder().encode(r),s=xr.default.secretbox(i,n,e);return{v:1,sid:t,n:(0,jr.encodeBase64)(n),c:(0,jr.encodeBase64)(s)}}function og(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,jr.decodeBase64)(r.n),n=(0,jr.decodeBase64)(r.c);if(t.length!==xr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let i=xr.default.secretbox.open(n,t,e);if(!i)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(i)}function ag(r,e,t){let n=xr.default.randomBytes(xr.default.secretbox.nonceLength),i=xr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,jr.encodeBase64)(n),c:(0,jr.encodeBase64)(i)}}function cg(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,jr.decodeBase64)(r.n),n=(0,jr.decodeBase64)(r.c),i=xr.default.secretbox.open(n,t,e);if(!i)throw new Error("Decryption failed: invalid ciphertext or wrong key");return i}});var su=L(zt=>{"use strict";var fg=zt&&zt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zt,"__esModule",{value:!0});zt.generateKeyPair=ug;zt.deriveSharedSecret=lg;zt.deriveMetaSid=hg;zt.isValidPublicKey=dg;zt.clearKey=pg;zt.keyToBase64=gg;zt.base64ToKey=mg;var Dn=fg(wi()),or=xi();function ug(){let r=Dn.default.box.keyPair();return{publicKey:(0,or.encodeBase64)(r.publicKey),secretKey:(0,or.encodeBase64)(r.secretKey)}}function lg(r,e){let t=(0,or.decodeBase64)(r),n=(0,or.decodeBase64)(e);if(t.length!==Dn.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==Dn.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return Dn.default.box.before(t,n)}function hg(r,e){let t=new TextEncoder().encode("termiq-meta-v1"),n=(0,or.decodeBase64)(r),i=(0,or.decodeBase64)(e),s=new Uint8Array(t.length+n.length+i.length);return s.set(t,0),s.set(n,t.length),s.set(i,t.length+n.length),(0,or.encodeBase64)(Dn.default.hash(s).slice(0,32))}function dg(r){try{return(0,or.decodeBase64)(r).length===Dn.default.box.publicKeyLength}catch{return!1}}function pg(r){r.fill(0)}function gg(r){return(0,or.encodeBase64)(r)}function mg(r){return(0,or.decodeBase64)(r)}});var au=L(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.base64ToKey=re.keyToBase64=re.clearKey=re.isValidPublicKey=re.deriveMetaSid=re.deriveSharedSecret=re.generateKeyPair=re.decryptBinary=re.encryptBinary=re.decrypt=re.encrypt=re.concatBytes=re.fingerprintShortHex=re.fingerprintIdentityKey=re.buildKxAckCanonical=re.buildKxCanonical=re.verifySessionKey=re.signSessionKey=re.identityPublicFromSecret=re.generateIdentityKeyPair=re.KX_SIG_VERSION=re.KX_FINGERPRINT_LABEL=re.KX_ACK_LABEL=re.KX_SIGN_LABEL=re.isMultiRecipientPayload=re.isEncryptedPayload=void 0;var ou=tu();Object.defineProperty(re,"isEncryptedPayload",{enumerable:!0,get:function(){return ou.isEncryptedPayload}});Object.defineProperty(re,"isMultiRecipientPayload",{enumerable:!0,get:function(){return ou.isMultiRecipientPayload}});var Es=ra();Object.defineProperty(re,"KX_SIGN_LABEL",{enumerable:!0,get:function(){return Es.KX_SIGN_LABEL}});Object.defineProperty(re,"KX_ACK_LABEL",{enumerable:!0,get:function(){return Es.KX_ACK_LABEL}});Object.defineProperty(re,"KX_FINGERPRINT_LABEL",{enumerable:!0,get:function(){return Es.KX_FINGERPRINT_LABEL}});Object.defineProperty(re,"KX_SIG_VERSION",{enumerable:!0,get:function(){return Es.KX_SIG_VERSION}});var Sr=nu();Object.defineProperty(re,"generateIdentityKeyPair",{enumerable:!0,get:function(){return Sr.generateIdentityKeyPair}});Object.defineProperty(re,"identityPublicFromSecret",{enumerable:!0,get:function(){return Sr.identityPublicFromSecret}});Object.defineProperty(re,"signSessionKey",{enumerable:!0,get:function(){return Sr.signSessionKey}});Object.defineProperty(re,"verifySessionKey",{enumerable:!0,get:function(){return Sr.verifySessionKey}});Object.defineProperty(re,"buildKxCanonical",{enumerable:!0,get:function(){return Sr.buildKxCanonical}});Object.defineProperty(re,"buildKxAckCanonical",{enumerable:!0,get:function(){return Sr.buildKxAckCanonical}});Object.defineProperty(re,"fingerprintIdentityKey",{enumerable:!0,get:function(){return Sr.fingerprintIdentityKey}});Object.defineProperty(re,"fingerprintShortHex",{enumerable:!0,get:function(){return Sr.fingerprintShortHex}});Object.defineProperty(re,"concatBytes",{enumerable:!0,get:function(){return Sr.concatBytes}});var vs=iu();Object.defineProperty(re,"encrypt",{enumerable:!0,get:function(){return vs.encrypt}});Object.defineProperty(re,"decrypt",{enumerable:!0,get:function(){return vs.decrypt}});Object.defineProperty(re,"encryptBinary",{enumerable:!0,get:function(){return vs.encryptBinary}});Object.defineProperty(re,"decryptBinary",{enumerable:!0,get:function(){return vs.decryptBinary}});var un=su();Object.defineProperty(re,"generateKeyPair",{enumerable:!0,get:function(){return un.generateKeyPair}});Object.defineProperty(re,"deriveSharedSecret",{enumerable:!0,get:function(){return un.deriveSharedSecret}});Object.defineProperty(re,"deriveMetaSid",{enumerable:!0,get:function(){return un.deriveMetaSid}});Object.defineProperty(re,"isValidPublicKey",{enumerable:!0,get:function(){return un.isValidPublicKey}});Object.defineProperty(re,"clearKey",{enumerable:!0,get:function(){return un.clearKey}});Object.defineProperty(re,"keyToBase64",{enumerable:!0,get:function(){return un.keyToBase64}});Object.defineProperty(re,"base64ToKey",{enumerable:!0,get:function(){return un.base64ToKey}})});var cu=L(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.MIN_CLIENT_VERSION=Pt.PROTOCOL_VERSION_MINOR=Pt.PROTOCOL_VERSION_MAJOR=Pt.PROTOCOL_VERSION=void 0;Pt.isCompatibleVersion=yg;Pt.compareVersions=_g;Pt.PROTOCOL_VERSION="2.1";Pt.PROTOCOL_VERSION_MAJOR=2;Pt.PROTOCOL_VERSION_MINOR=1;Pt.MIN_CLIENT_VERSION="2.0";function yg(r){let[e]=r.split(".").map(Number);return e===Pt.PROTOCOL_VERSION_MAJOR}function _g(r,e){let[t,n]=r.split(".").map(Number),[i,s]=e.split(".").map(Number);return t!==i?t<i?-1:1:n!==s?n<s?-1:1:0}});var fu=L(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.SERVER_CAPABILITIES=ar.DEFAULT_CLIENT_CAPABILITIES=ar.Capability=void 0;ar.hasCapability=bg;ar.negotiateCapabilities=Eg;var Bn;(function(r){r.FILE_TRANSFER="file-transfer",r.RELIABLE_MESSAGING="reliable-messaging",r.COMPRESSION="compression",r.E2E_ENCRYPTION="e2e-encryption",r.PRIORITY_QUEUES="priority-queues",r.OFFLINE_QUEUE="offline-queue",r.MULTI_DEVICE="multi-device",r.TERMINAL_EVENTS="terminal-events",r.E2E_PRIVACY="e2e-privacy",r.RELIABLE_INPUT="reliable-input",r.MULTI_VIEWER_RENDER="multi-viewer-render"})(Bn||(ar.Capability=Bn={}));ar.DEFAULT_CLIENT_CAPABILITIES=[Bn.E2E_ENCRYPTION,Bn.TERMINAL_EVENTS,Bn.RELIABLE_INPUT];ar.SERVER_CAPABILITIES=Object.values(Bn);function bg(r,e){return r.includes(e)}function Eg(r,e){return r.filter(t=>e.includes(t))}});var uu=L(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.DEFAULT_PRIORITY=Tr.PRIORITY_NAMES=Tr.Priority=void 0;Tr.comparePriority=vg;var ln;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})(ln||(Tr.Priority=ln={}));Tr.PRIORITY_NAMES={[ln.CRITICAL]:"CRITICAL",[ln.HIGH]:"HIGH",[ln.NORMAL]:"NORMAL",[ln.LOW]:"LOW"};Tr.DEFAULT_PRIORITY=ln.NORMAL;function vg(r,e){return r-e}});var lu=L(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DEFAULT_RELIABILITY=cr.RELIABILITY_NAMES=cr.Reliability=void 0;cr.requiresAck=wg;cr.requiresBuffer=xg;var Kr;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(Kr||(cr.Reliability=Kr={}));cr.RELIABILITY_NAMES={[Kr.FIRE_FORGET]:"FIRE_FORGET",[Kr.BUFFERED]:"BUFFERED",[Kr.GUARANTEED]:"GUARANTEED"};cr.DEFAULT_RELIABILITY=Kr.FIRE_FORGET;function wg(r){return r===Kr.GUARANTEED}function xg(r){return r>=Kr.BUFFERED}});var hu=L(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.createMessage=Sg;function Sg(r,e,t={}){return{id:crypto.randomUUID(),type:r,payload:e,priority:t.priority??2,reliability:t.reliability??0,seq:t.seq,timestamp:new Date().toISOString()}}});var du=L(hn=>{"use strict";Object.defineProperty(hn,"__esModule",{value:!0});hn.TerminalEventType=void 0;hn.deriveStatusFromEvent=Tg;hn.shouldTriggerPushNotification=Cg;hn.getPushNotificationMessage=kg;var bt;(function(r){r.SESSION_START="session_start",r.SESSION_END="session_end",r.MESSAGE="message",r.TOOL_START="tool_start",r.TOOL_END="tool_end",r.WAITING_INPUT="waiting_input",r.ERROR="error"})(bt||(hn.TerminalEventType=bt={}));function Tg(r){switch(r.type){case bt.SESSION_START:case bt.TOOL_START:case bt.MESSAGE:return"working";case bt.WAITING_INPUT:return"waiting";case bt.SESSION_END:return r.status==="success"?"completed":"error";case bt.ERROR:return r.severity==="fatal"?"error":"working";case bt.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function Cg(r){switch(r.type){case bt.WAITING_INPUT:return!0;case bt.SESSION_END:return!0;case bt.ERROR:return r.severity!=="warning";default:return!1}}function kg(r,e){switch(r.type){case bt.WAITING_INPUT:{let t=r.question;return{title:`${e}: Input Required`,body:t?t.slice(0,100):"Waiting for your input"}}case bt.SESSION_END:{let t=r;return t.status==="success"?{title:`${e}: Task Completed`,body:t.summary||"Session finished successfully"}:{title:`${e}: Task Failed`,body:t.summary||"Session ended with error"}}case bt.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var mu=L($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.TransferDirection=$e.TransferStatus=$e.CHUNK_TTL_SECONDS=$e.TRANSFER_TTL_SECONDS=$e.MAX_RETRIES=$e.ACK_TIMEOUT_MS=$e.WINDOW_SIZE=$e.DEFAULT_MAX_FILE_SIZE=$e.CHUNK_SIZE=void 0;$e.calculateTotalChunks=Og;$e.getMissingChunks=Pg;$e.isTransferComplete=Ag;$e.CHUNK_SIZE=64*1024;$e.DEFAULT_MAX_FILE_SIZE=100*1024*1024;$e.WINDOW_SIZE=10;$e.ACK_TIMEOUT_MS=3e4;$e.MAX_RETRIES=3;$e.TRANSFER_TTL_SECONDS=1440*60;$e.CHUNK_TTL_SECONDS=1440*60;var pu;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(pu||($e.TransferStatus=pu={}));var gu;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(gu||($e.TransferDirection=gu={}));function Og(r,e=$e.CHUNK_SIZE){return Math.ceil(r/e)}function Pg(r,e){let t=new Set(e),n=[];for(let i=0;i<r;i++)t.has(i)||n.push(i);return n}function Ag(r,e){return e.length===r}});var yu=L(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ERROR_MESSAGES=Cr.ErrorCode=void 0;Cr.createError=Rg;Cr.isRetryableError=Ig;var Ie;(function(r){r.AUTH_FAILED="E001",r.TOKEN_EXPIRED="E002",r.TOKEN_INVALID="E003",r.NOT_FOUND="E011",r.ALREADY_EXISTS="E012",r.ACCESS_DENIED="E021",r.FORBIDDEN="E022",r.RATE_LIMITED="E031",r.TOO_MANY_CONNECTIONS="E032",r.QUOTA_EXCEEDED="E041",r.FILE_TOO_LARGE="E042",r.QUEUE_FULL="E043",r.TRANSFERS_LIMIT="E044",r.TRANSFER_FAILED="E051",r.TRANSFER_EXPIRED="E052",r.TRANSFER_CANCELLED="E053",r.CHECKSUM_MISMATCH="E054",r.CHUNK_MISSING="E055",r.INVALID_MESSAGE="E061",r.UNSUPPORTED_VERSION="E062",r.CAPABILITY_REQUIRED="E063",r.INVALID_STATE="E071",r.TIMEOUT="E072",r.CONNECTION_LOST="E073",r.INTERNAL_ERROR="E091",r.SERVICE_UNAVAILABLE="E092"})(Ie||(Cr.ErrorCode=Ie={}));Cr.ERROR_MESSAGES={[Ie.AUTH_FAILED]:"Authentication failed",[Ie.TOKEN_EXPIRED]:"Token expired",[Ie.TOKEN_INVALID]:"Invalid token",[Ie.NOT_FOUND]:"Resource not found",[Ie.ALREADY_EXISTS]:"Resource already exists",[Ie.ACCESS_DENIED]:"Access denied",[Ie.FORBIDDEN]:"Operation forbidden",[Ie.RATE_LIMITED]:"Rate limit exceeded",[Ie.TOO_MANY_CONNECTIONS]:"Too many connections",[Ie.QUOTA_EXCEEDED]:"Plan quota exceeded",[Ie.FILE_TOO_LARGE]:"File size exceeds limit",[Ie.QUEUE_FULL]:"Message queue is full",[Ie.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Ie.TRANSFER_FAILED]:"File transfer failed",[Ie.TRANSFER_EXPIRED]:"Transfer expired",[Ie.TRANSFER_CANCELLED]:"Transfer cancelled",[Ie.CHECKSUM_MISMATCH]:"File checksum mismatch",[Ie.CHUNK_MISSING]:"Chunk missing or corrupted",[Ie.INVALID_MESSAGE]:"Invalid message format",[Ie.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Ie.CAPABILITY_REQUIRED]:"Required capability not supported",[Ie.INVALID_STATE]:"Invalid state for this operation",[Ie.TIMEOUT]:"Operation timed out",[Ie.CONNECTION_LOST]:"Connection lost",[Ie.INTERNAL_ERROR]:"Internal server error",[Ie.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Rg(r,e={}){return{code:r,message:e.message||Cr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Ig(r){return[Ie.RATE_LIMITED,Ie.TIMEOUT,Ie.CONNECTION_LOST,Ie.SERVICE_UNAVAILABLE].includes(r)}});var vu=L(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FileEntryType=At.DiffBase=At.FileViewType=At.FileChangeType=void 0;At.getLanguageFromPath=Lg;At.parseUnifiedDiff=Ng;At.createSimpleDiff=Mg;var qr;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(qr||(At.FileChangeType=qr={}));var _u;(function(r){r.CONTENT="content",r.DIFF="diff"})(_u||(At.FileViewType=_u={}));var bu;(function(r){r.GIT="git",r.PREVIOUS="previous"})(bu||(At.DiffBase=bu={}));function Lg(r){let e=r.split(".").pop()?.toLowerCase(),t={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",mjs:"javascript",cjs:"javascript",html:"html",htm:"html",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",toml:"toml",md:"markdown",mdx:"markdown",env:"plaintext",gitignore:"plaintext",dockerignore:"plaintext",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",py:"python",pyw:"python",pyi:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",dockerfile:"dockerfile"},n=r.split("/").pop()?.toLowerCase()||"";return{dockerfile:"dockerfile",makefile:"makefile",".gitignore":"plaintext",".env":"plaintext",".env.local":"plaintext",".env.development":"plaintext",".env.production":"plaintext"}[n]||t[e||""]||"plaintext"}function Ng(r,e){let t=r.split(`
|
|
3
|
-
`),n=[],i=0,s=0,a=null,c=0,u=0;for(let p of t){if(p.startsWith("diff ")||p.startsWith("index ")||p.startsWith("---")||p.startsWith("+++"))continue;let m=p.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let _=parseInt(m[1],10),E=parseInt(m[2]||"1",10),S=parseInt(m[3],10),C=parseInt(m[4]||"1",10);a={oldStart:_,oldLines:E,newStart:S,newLines:C,lines:[]},c=_,u=S;continue}a&&(p.startsWith("+")?(a.lines.push({type:"add",content:p.slice(1),oldLineNumber:null,newLineNumber:u++}),i++):p.startsWith("-")?(a.lines.push({type:"remove",content:p.slice(1),oldLineNumber:c++,newLineNumber:null}),s++):(p.startsWith(" ")||p==="")&&a.lines.push({type:"context",content:p.startsWith(" ")?p.slice(1):p,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let h;return s===0&&i>0&&n.length===1&&n[0].oldLines===0?h=
|
|
2
|
+
"use strict";var Op=Object.create;var Zo=Object.defineProperty;var Pp=Object.getOwnPropertyDescriptor;var Ap=Object.getOwnPropertyNames;var Rp=Object.getPrototypeOf,Ip=Object.prototype.hasOwnProperty;var $t=(r,e)=>()=>(r&&(e=r(r=0)),e);var L=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Lp=(r,e)=>{for(var t in e)Zo(r,t,{get:e[t],enumerable:!0})},Np=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ap(e))!Ip.call(r,i)&&i!==t&&Zo(r,i,{get:()=>e[i],enumerable:!(n=Pp(e,i))||n.enumerable});return r};var he=(r,e,t)=>(t=r!=null?Op(Rp(r)):{},Np(e||!r||!r.__esModule?Zo(t,"default",{value:r,enumerable:!0}):t,r));var us=L(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.generateCorrelationId=Dp;vi.runWithCorrelation=Bp;vi.getCurrentCorrelationId=jp;var Fp=require("async_hooks");function Dp(){let r=new Uint8Array(4),e=globalThis.crypto;if(e?.getRandomValues)e.getRandomValues(r);else for(let t=0;t<4;t++)r[t]=Math.floor(Math.random()*256);return"c-"+Array.from(r,t=>t.toString(16).padStart(2,"0")).join("")}var jf=new Fp.AsyncLocalStorage;function Bp(r,e){return jf.run(r,e)}function jp(){return jf.getStore()}});var Kf=L(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.LOG_LEVELS=void 0;Fn.shouldLog=Kp;Fn.formatLogLine=qp;var Up=us();Fn.LOG_LEVELS=["silent","error","warn","info","debug"];var Uf={silent:0,error:1,warn:2,info:3,debug:4};function Kp(r,e){return Uf[r]<=Uf[e]}function qp(r,e,t,n){let i={ts:new Date().toISOString(),level:r,src:e,msg:t},s=(0,Up.getCurrentCorrelationId)();s&&(i.cid=s);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(i.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(i.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(i.args=a);try{return JSON.stringify(i)}catch{return JSON.stringify({ts:i.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var qf=L(jr=>{"use strict";Object.defineProperty(jr,"__esModule",{value:!0});jr.formatLogLine=jr.shouldLog=jr.LOG_LEVELS=void 0;var Qo=Kf();Object.defineProperty(jr,"LOG_LEVELS",{enumerable:!0,get:function(){return Qo.LOG_LEVELS}});Object.defineProperty(jr,"shouldLog",{enumerable:!0,get:function(){return Qo.shouldLog}});Object.defineProperty(jr,"formatLogLine",{enumerable:!0,get:function(){return Qo.formatLogLine}})});var Wf=L(ls=>{"use strict";Object.defineProperty(ls,"__esModule",{value:!0});ls.CircularBuffer=void 0;var ea=class{buffer=[];totalSize=0;maxSize;constructor(e=100){this.maxSize=e*1024}append(e){for(this.buffer.push(e),this.totalSize+=e.length;this.totalSize>this.maxSize&&this.buffer.length>1;){let t=this.buffer.shift();t&&(this.totalSize-=t.length)}}getContent(){return this.buffer.join("")}getLastBytes(e){let t=this.getContent();return t.length<=e?t:t.slice(-e)}getSize(){return this.totalSize}clear(){this.buffer=[],this.totalSize=0}};ls.CircularBuffer=ea});var ds=L(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.getApiUrl=Wp;hs.getWsUrl=Hp;function Wp(r){return`${r.getServerUrl()}/api`}function Hp(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var Vf=L(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.getCurrentCorrelationId=wt.runWithCorrelation=wt.generateCorrelationId=wt.getWsUrl=wt.getApiUrl=wt.CircularBuffer=void 0;var Vp=Wf();Object.defineProperty(wt,"CircularBuffer",{enumerable:!0,get:function(){return Vp.CircularBuffer}});var Hf=ds();Object.defineProperty(wt,"getApiUrl",{enumerable:!0,get:function(){return Hf.getApiUrl}});Object.defineProperty(wt,"getWsUrl",{enumerable:!0,get:function(){return Hf.getWsUrl}});var ta=us();Object.defineProperty(wt,"generateCorrelationId",{enumerable:!0,get:function(){return ta.generateCorrelationId}});Object.defineProperty(wt,"runWithCorrelation",{enumerable:!0,get:function(){return ta.runWithCorrelation}});Object.defineProperty(wt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return ta.getCurrentCorrelationId}})});var zf=L($f=>{"use strict";Object.defineProperty($f,"__esModule",{value:!0})});var Yf=L(Gf=>{"use strict";Object.defineProperty(Gf,"__esModule",{value:!0})});var Xf=L(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});ps.PLAN_LIMITS=void 0;ps.PLAN_LIMITS={free:{maxAgents:1,maxTerminals:2,maxTeamMembers:1,historyDays:1},basic:{maxAgents:3,maxTerminals:10,maxTeamMembers:1,historyDays:7},pro:{maxAgents:10,maxTerminals:50,maxTeamMembers:5,historyDays:30}}});var Zf=L(Jf=>{"use strict";Object.defineProperty(Jf,"__esModule",{value:!0})});var Qf=L(nr=>{"use strict";var $p=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),gs=nr&&nr.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&$p(e,r,t)};Object.defineProperty(nr,"__esModule",{value:!0});gs(zf(),nr);gs(Yf(),nr);gs(Xf(),nr);gs(Zf(),nr)});var eu=L(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.API_VERSION=Mt.WS_NAMESPACES=Mt.TIMEOUTS=Mt.STATUS_PATTERNS=Mt.TERMINAL_STATUSES=void 0;Mt.TERMINAL_STATUSES={idle:{label:"Idle",color:"gray",icon:"\u25CF"},working:{label:"Working",color:"blue",icon:"\u27F3"},waiting:{label:"Awaiting input",color:"orange",icon:"\u26A0"},completed:{label:"Completed",color:"green",icon:"\u2713"},error:{label:"Error",color:"red",icon:"\u2715"},offline:{label:"Offline",color:"black",icon:"\u26AB"}};Mt.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Mt.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Mt.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Mt.API_VERSION="v1"});var tu=L(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.isMultiRecipientPayload=zp;ms.isEncryptedPayload=Gp;function zp(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function Gp(r){if(typeof r!="object"||r===null||!("encrypted"in r))return!1;let e=r.encrypted;if(typeof e!="object"||e===null)return!1;let t=e;return typeof t.v=="number"&&typeof t.sid=="string"&&typeof t.n=="string"&&typeof t.c=="string"}});var ra=L(ir=>{"use strict";Object.defineProperty(ir,"__esModule",{value:!0});ir.KX_SIG_VERSION=ir.KX_FINGERPRINT_LABEL=ir.KX_ACK_LABEL=ir.KX_SIGN_LABEL=void 0;ir.KX_SIGN_LABEL="termiq-kx-v1";ir.KX_ACK_LABEL="termiq-kxack-v1";ir.KX_FINGERPRINT_LABEL="termiq-fp-v1";ir.KX_SIG_VERSION=1});var wi=L((Rv,ys)=>{(function(r){"use strict";var e=function(f){var d,l=new Float64Array(16);if(f)for(d=0;d<f.length;d++)l[d]=f[d];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),i=new Uint8Array(32);i[0]=9;var s=e(),a=e([1]),c=e([56129,1]),u=e([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),h=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),p=e([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),m=e([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),_=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function E(f,d,l,o){f[d]=l>>24&255,f[d+1]=l>>16&255,f[d+2]=l>>8&255,f[d+3]=l&255,f[d+4]=o>>24&255,f[d+5]=o>>16&255,f[d+6]=o>>8&255,f[d+7]=o&255}function S(f,d,l,o,g){var b,v=0;for(b=0;b<g;b++)v|=f[d+b]^l[o+b];return(1&v-1>>>8)-1}function C(f,d,l,o){return S(f,d,l,o,16)}function H(f,d,l,o){return S(f,d,l,o,32)}function ie(f,d,l,o){for(var g=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,b=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,v=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,D=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Z=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=d[0]&255|(d[1]&255)<<8|(d[2]&255)<<16|(d[3]&255)<<24,Pe=d[4]&255|(d[5]&255)<<8|(d[6]&255)<<16|(d[7]&255)<<24,$=d[8]&255|(d[9]&255)<<8|(d[10]&255)<<16|(d[11]&255)<<24,oe=d[12]&255|(d[13]&255)<<8|(d[14]&255)<<16|(d[15]&255)<<24,ae=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ge=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,de=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ce=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,le=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,fe=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,Y=g,Q=b,V=v,X=O,J=D,q=Z,w=W,x=Pe,A=$,k=oe,P=ae,M=ge,ne=de,me=ce,_e=le,ye=fe,y,ve=0;ve<20;ve+=2)y=Y+ne|0,J^=y<<7|y>>>25,y=J+Y|0,A^=y<<9|y>>>23,y=A+J|0,ne^=y<<13|y>>>19,y=ne+A|0,Y^=y<<18|y>>>14,y=q+Q|0,k^=y<<7|y>>>25,y=k+q|0,me^=y<<9|y>>>23,y=me+k|0,Q^=y<<13|y>>>19,y=Q+me|0,q^=y<<18|y>>>14,y=P+w|0,_e^=y<<7|y>>>25,y=_e+P|0,V^=y<<9|y>>>23,y=V+_e|0,w^=y<<13|y>>>19,y=w+V|0,P^=y<<18|y>>>14,y=ye+M|0,X^=y<<7|y>>>25,y=X+ye|0,x^=y<<9|y>>>23,y=x+X|0,M^=y<<13|y>>>19,y=M+x|0,ye^=y<<18|y>>>14,y=Y+X|0,Q^=y<<7|y>>>25,y=Q+Y|0,V^=y<<9|y>>>23,y=V+Q|0,X^=y<<13|y>>>19,y=X+V|0,Y^=y<<18|y>>>14,y=q+J|0,w^=y<<7|y>>>25,y=w+q|0,x^=y<<9|y>>>23,y=x+w|0,J^=y<<13|y>>>19,y=J+x|0,q^=y<<18|y>>>14,y=P+k|0,M^=y<<7|y>>>25,y=M+P|0,A^=y<<9|y>>>23,y=A+M|0,k^=y<<13|y>>>19,y=k+A|0,P^=y<<18|y>>>14,y=ye+_e|0,ne^=y<<7|y>>>25,y=ne+ye|0,me^=y<<9|y>>>23,y=me+ne|0,_e^=y<<13|y>>>19,y=_e+me|0,ye^=y<<18|y>>>14;Y=Y+g|0,Q=Q+b|0,V=V+v|0,X=X+O|0,J=J+D|0,q=q+Z|0,w=w+W|0,x=x+Pe|0,A=A+$|0,k=k+oe|0,P=P+ae|0,M=M+ge|0,ne=ne+de|0,me=me+ce|0,_e=_e+le|0,ye=ye+fe|0,f[0]=Y>>>0&255,f[1]=Y>>>8&255,f[2]=Y>>>16&255,f[3]=Y>>>24&255,f[4]=Q>>>0&255,f[5]=Q>>>8&255,f[6]=Q>>>16&255,f[7]=Q>>>24&255,f[8]=V>>>0&255,f[9]=V>>>8&255,f[10]=V>>>16&255,f[11]=V>>>24&255,f[12]=X>>>0&255,f[13]=X>>>8&255,f[14]=X>>>16&255,f[15]=X>>>24&255,f[16]=J>>>0&255,f[17]=J>>>8&255,f[18]=J>>>16&255,f[19]=J>>>24&255,f[20]=q>>>0&255,f[21]=q>>>8&255,f[22]=q>>>16&255,f[23]=q>>>24&255,f[24]=w>>>0&255,f[25]=w>>>8&255,f[26]=w>>>16&255,f[27]=w>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=A>>>0&255,f[33]=A>>>8&255,f[34]=A>>>16&255,f[35]=A>>>24&255,f[36]=k>>>0&255,f[37]=k>>>8&255,f[38]=k>>>16&255,f[39]=k>>>24&255,f[40]=P>>>0&255,f[41]=P>>>8&255,f[42]=P>>>16&255,f[43]=P>>>24&255,f[44]=M>>>0&255,f[45]=M>>>8&255,f[46]=M>>>16&255,f[47]=M>>>24&255,f[48]=ne>>>0&255,f[49]=ne>>>8&255,f[50]=ne>>>16&255,f[51]=ne>>>24&255,f[52]=me>>>0&255,f[53]=me>>>8&255,f[54]=me>>>16&255,f[55]=me>>>24&255,f[56]=_e>>>0&255,f[57]=_e>>>8&255,f[58]=_e>>>16&255,f[59]=_e>>>24&255,f[60]=ye>>>0&255,f[61]=ye>>>8&255,f[62]=ye>>>16&255,f[63]=ye>>>24&255}function z(f,d,l,o){for(var g=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,b=l[0]&255|(l[1]&255)<<8|(l[2]&255)<<16|(l[3]&255)<<24,v=l[4]&255|(l[5]&255)<<8|(l[6]&255)<<16|(l[7]&255)<<24,O=l[8]&255|(l[9]&255)<<8|(l[10]&255)<<16|(l[11]&255)<<24,D=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,Z=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=d[0]&255|(d[1]&255)<<8|(d[2]&255)<<16|(d[3]&255)<<24,Pe=d[4]&255|(d[5]&255)<<8|(d[6]&255)<<16|(d[7]&255)<<24,$=d[8]&255|(d[9]&255)<<8|(d[10]&255)<<16|(d[11]&255)<<24,oe=d[12]&255|(d[13]&255)<<8|(d[14]&255)<<16|(d[15]&255)<<24,ae=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ge=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,de=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,ce=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,le=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,fe=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,Y=g,Q=b,V=v,X=O,J=D,q=Z,w=W,x=Pe,A=$,k=oe,P=ae,M=ge,ne=de,me=ce,_e=le,ye=fe,y,ve=0;ve<20;ve+=2)y=Y+ne|0,J^=y<<7|y>>>25,y=J+Y|0,A^=y<<9|y>>>23,y=A+J|0,ne^=y<<13|y>>>19,y=ne+A|0,Y^=y<<18|y>>>14,y=q+Q|0,k^=y<<7|y>>>25,y=k+q|0,me^=y<<9|y>>>23,y=me+k|0,Q^=y<<13|y>>>19,y=Q+me|0,q^=y<<18|y>>>14,y=P+w|0,_e^=y<<7|y>>>25,y=_e+P|0,V^=y<<9|y>>>23,y=V+_e|0,w^=y<<13|y>>>19,y=w+V|0,P^=y<<18|y>>>14,y=ye+M|0,X^=y<<7|y>>>25,y=X+ye|0,x^=y<<9|y>>>23,y=x+X|0,M^=y<<13|y>>>19,y=M+x|0,ye^=y<<18|y>>>14,y=Y+X|0,Q^=y<<7|y>>>25,y=Q+Y|0,V^=y<<9|y>>>23,y=V+Q|0,X^=y<<13|y>>>19,y=X+V|0,Y^=y<<18|y>>>14,y=q+J|0,w^=y<<7|y>>>25,y=w+q|0,x^=y<<9|y>>>23,y=x+w|0,J^=y<<13|y>>>19,y=J+x|0,q^=y<<18|y>>>14,y=P+k|0,M^=y<<7|y>>>25,y=M+P|0,A^=y<<9|y>>>23,y=A+M|0,k^=y<<13|y>>>19,y=k+A|0,P^=y<<18|y>>>14,y=ye+_e|0,ne^=y<<7|y>>>25,y=ne+ye|0,me^=y<<9|y>>>23,y=me+ne|0,_e^=y<<13|y>>>19,y=_e+me|0,ye^=y<<18|y>>>14;f[0]=Y>>>0&255,f[1]=Y>>>8&255,f[2]=Y>>>16&255,f[3]=Y>>>24&255,f[4]=q>>>0&255,f[5]=q>>>8&255,f[6]=q>>>16&255,f[7]=q>>>24&255,f[8]=P>>>0&255,f[9]=P>>>8&255,f[10]=P>>>16&255,f[11]=P>>>24&255,f[12]=ye>>>0&255,f[13]=ye>>>8&255,f[14]=ye>>>16&255,f[15]=ye>>>24&255,f[16]=w>>>0&255,f[17]=w>>>8&255,f[18]=w>>>16&255,f[19]=w>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=A>>>0&255,f[25]=A>>>8&255,f[26]=A>>>16&255,f[27]=A>>>24&255,f[28]=k>>>0&255,f[29]=k>>>8&255,f[30]=k>>>16&255,f[31]=k>>>24&255}function T(f,d,l,o){ie(f,d,l,o)}function F(f,d,l,o){z(f,d,l,o)}var te=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function U(f,d,l,o,g,b,v){var O=new Uint8Array(16),D=new Uint8Array(64),Z,W;for(W=0;W<16;W++)O[W]=0;for(W=0;W<8;W++)O[W]=b[W];for(;g>=64;){for(T(D,O,v,te),W=0;W<64;W++)f[d+W]=l[o+W]^D[W];for(Z=1,W=8;W<16;W++)Z=Z+(O[W]&255)|0,O[W]=Z&255,Z>>>=8;g-=64,d+=64,o+=64}if(g>0)for(T(D,O,v,te),W=0;W<g;W++)f[d+W]=l[o+W]^D[W];return 0}function ee(f,d,l,o,g){var b=new Uint8Array(16),v=new Uint8Array(64),O,D;for(D=0;D<16;D++)b[D]=0;for(D=0;D<8;D++)b[D]=o[D];for(;l>=64;){for(T(v,b,g,te),D=0;D<64;D++)f[d+D]=v[D];for(O=1,D=8;D<16;D++)O=O+(b[D]&255)|0,b[D]=O&255,O>>>=8;l-=64,d+=64}if(l>0)for(T(v,b,g,te),D=0;D<l;D++)f[d+D]=v[D];return 0}function pe(f,d,l,o,g){var b=new Uint8Array(32);F(b,o,g,te);for(var v=new Uint8Array(8),O=0;O<8;O++)v[O]=o[O+16];return ee(f,d,l,v,b)}function K(f,d,l,o,g,b,v){var O=new Uint8Array(32);F(O,b,v,te);for(var D=new Uint8Array(8),Z=0;Z<8;Z++)D[Z]=b[Z+16];return U(f,d,l,o,g,D,O)}var Ne=function(f){this.buffer=new Uint8Array(16),this.r=new Uint16Array(10),this.h=new Uint16Array(10),this.pad=new Uint16Array(8),this.leftover=0,this.fin=0;var d,l,o,g,b,v,O,D;d=f[0]&255|(f[1]&255)<<8,this.r[0]=d&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(d>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,g=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|g<<9)&8191,b=f[8]&255|(f[9]&255)<<8,this.r[4]=(g>>>4|b<<12)&255,this.r[5]=b>>>1&8190,v=f[10]&255|(f[11]&255)<<8,this.r[6]=(b>>>14|v<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(v>>>11|O<<5)&8065,D=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|D<<8)&8191,this.r[9]=D>>>5&127,this.pad[0]=f[16]&255|(f[17]&255)<<8,this.pad[1]=f[18]&255|(f[19]&255)<<8,this.pad[2]=f[20]&255|(f[21]&255)<<8,this.pad[3]=f[22]&255|(f[23]&255)<<8,this.pad[4]=f[24]&255|(f[25]&255)<<8,this.pad[5]=f[26]&255|(f[27]&255)<<8,this.pad[6]=f[28]&255|(f[29]&255)<<8,this.pad[7]=f[30]&255|(f[31]&255)<<8};Ne.prototype.blocks=function(f,d,l){for(var o=this.fin?0:2048,g,b,v,O,D,Z,W,Pe,$,oe,ae,ge,de,ce,le,fe,Y,Q,V,X=this.h[0],J=this.h[1],q=this.h[2],w=this.h[3],x=this.h[4],A=this.h[5],k=this.h[6],P=this.h[7],M=this.h[8],ne=this.h[9],me=this.r[0],_e=this.r[1],ye=this.r[2],y=this.r[3],ve=this.r[4],Ae=this.r[5],Re=this.r[6],be=this.r[7],Te=this.r[8],Ce=this.r[9];l>=16;)g=f[d+0]&255|(f[d+1]&255)<<8,X+=g&8191,b=f[d+2]&255|(f[d+3]&255)<<8,J+=(g>>>13|b<<3)&8191,v=f[d+4]&255|(f[d+5]&255)<<8,q+=(b>>>10|v<<6)&8191,O=f[d+6]&255|(f[d+7]&255)<<8,w+=(v>>>7|O<<9)&8191,D=f[d+8]&255|(f[d+9]&255)<<8,x+=(O>>>4|D<<12)&8191,A+=D>>>1&8191,Z=f[d+10]&255|(f[d+11]&255)<<8,k+=(D>>>14|Z<<2)&8191,W=f[d+12]&255|(f[d+13]&255)<<8,P+=(Z>>>11|W<<5)&8191,Pe=f[d+14]&255|(f[d+15]&255)<<8,M+=(W>>>8|Pe<<8)&8191,ne+=Pe>>>5|o,$=0,oe=$,oe+=X*me,oe+=J*(5*Ce),oe+=q*(5*Te),oe+=w*(5*be),oe+=x*(5*Re),$=oe>>>13,oe&=8191,oe+=A*(5*Ae),oe+=k*(5*ve),oe+=P*(5*y),oe+=M*(5*ye),oe+=ne*(5*_e),$+=oe>>>13,oe&=8191,ae=$,ae+=X*_e,ae+=J*me,ae+=q*(5*Ce),ae+=w*(5*Te),ae+=x*(5*be),$=ae>>>13,ae&=8191,ae+=A*(5*Re),ae+=k*(5*Ae),ae+=P*(5*ve),ae+=M*(5*y),ae+=ne*(5*ye),$+=ae>>>13,ae&=8191,ge=$,ge+=X*ye,ge+=J*_e,ge+=q*me,ge+=w*(5*Ce),ge+=x*(5*Te),$=ge>>>13,ge&=8191,ge+=A*(5*be),ge+=k*(5*Re),ge+=P*(5*Ae),ge+=M*(5*ve),ge+=ne*(5*y),$+=ge>>>13,ge&=8191,de=$,de+=X*y,de+=J*ye,de+=q*_e,de+=w*me,de+=x*(5*Ce),$=de>>>13,de&=8191,de+=A*(5*Te),de+=k*(5*be),de+=P*(5*Re),de+=M*(5*Ae),de+=ne*(5*ve),$+=de>>>13,de&=8191,ce=$,ce+=X*ve,ce+=J*y,ce+=q*ye,ce+=w*_e,ce+=x*me,$=ce>>>13,ce&=8191,ce+=A*(5*Ce),ce+=k*(5*Te),ce+=P*(5*be),ce+=M*(5*Re),ce+=ne*(5*Ae),$+=ce>>>13,ce&=8191,le=$,le+=X*Ae,le+=J*ve,le+=q*y,le+=w*ye,le+=x*_e,$=le>>>13,le&=8191,le+=A*me,le+=k*(5*Ce),le+=P*(5*Te),le+=M*(5*be),le+=ne*(5*Re),$+=le>>>13,le&=8191,fe=$,fe+=X*Re,fe+=J*Ae,fe+=q*ve,fe+=w*y,fe+=x*ye,$=fe>>>13,fe&=8191,fe+=A*_e,fe+=k*me,fe+=P*(5*Ce),fe+=M*(5*Te),fe+=ne*(5*be),$+=fe>>>13,fe&=8191,Y=$,Y+=X*be,Y+=J*Re,Y+=q*Ae,Y+=w*ve,Y+=x*y,$=Y>>>13,Y&=8191,Y+=A*ye,Y+=k*_e,Y+=P*me,Y+=M*(5*Ce),Y+=ne*(5*Te),$+=Y>>>13,Y&=8191,Q=$,Q+=X*Te,Q+=J*be,Q+=q*Re,Q+=w*Ae,Q+=x*ve,$=Q>>>13,Q&=8191,Q+=A*y,Q+=k*ye,Q+=P*_e,Q+=M*me,Q+=ne*(5*Ce),$+=Q>>>13,Q&=8191,V=$,V+=X*Ce,V+=J*Te,V+=q*be,V+=w*Re,V+=x*Ae,$=V>>>13,V&=8191,V+=A*ve,V+=k*y,V+=P*ye,V+=M*_e,V+=ne*me,$+=V>>>13,V&=8191,$=($<<2)+$|0,$=$+oe|0,oe=$&8191,$=$>>>13,ae+=$,X=oe,J=ae,q=ge,w=de,x=ce,A=le,k=fe,P=Y,M=Q,ne=V,d+=16,l-=16;this.h[0]=X,this.h[1]=J,this.h[2]=q,this.h[3]=w,this.h[4]=x,this.h[5]=A,this.h[6]=k,this.h[7]=P,this.h[8]=M,this.h[9]=ne},Ne.prototype.finish=function(f,d){var l=new Uint16Array(10),o,g,b,v;if(this.leftover){for(v=this.leftover,this.buffer[v++]=1;v<16;v++)this.buffer[v]=0;this.fin=1,this.blocks(this.buffer,0,16)}for(o=this.h[1]>>>13,this.h[1]&=8191,v=2;v<10;v++)this.h[v]+=o,o=this.h[v]>>>13,this.h[v]&=8191;for(this.h[0]+=o*5,o=this.h[0]>>>13,this.h[0]&=8191,this.h[1]+=o,o=this.h[1]>>>13,this.h[1]&=8191,this.h[2]+=o,l[0]=this.h[0]+5,o=l[0]>>>13,l[0]&=8191,v=1;v<10;v++)l[v]=this.h[v]+o,o=l[v]>>>13,l[v]&=8191;for(l[9]-=8192,g=(o^1)-1,v=0;v<10;v++)l[v]&=g;for(g=~g,v=0;v<10;v++)this.h[v]=this.h[v]&g|l[v];for(this.h[0]=(this.h[0]|this.h[1]<<13)&65535,this.h[1]=(this.h[1]>>>3|this.h[2]<<10)&65535,this.h[2]=(this.h[2]>>>6|this.h[3]<<7)&65535,this.h[3]=(this.h[3]>>>9|this.h[4]<<4)&65535,this.h[4]=(this.h[4]>>>12|this.h[5]<<1|this.h[6]<<14)&65535,this.h[5]=(this.h[6]>>>2|this.h[7]<<11)&65535,this.h[6]=(this.h[7]>>>5|this.h[8]<<8)&65535,this.h[7]=(this.h[8]>>>8|this.h[9]<<5)&65535,b=this.h[0]+this.pad[0],this.h[0]=b&65535,v=1;v<8;v++)b=(this.h[v]+this.pad[v]|0)+(b>>>16)|0,this.h[v]=b&65535;f[d+0]=this.h[0]>>>0&255,f[d+1]=this.h[0]>>>8&255,f[d+2]=this.h[1]>>>0&255,f[d+3]=this.h[1]>>>8&255,f[d+4]=this.h[2]>>>0&255,f[d+5]=this.h[2]>>>8&255,f[d+6]=this.h[3]>>>0&255,f[d+7]=this.h[3]>>>8&255,f[d+8]=this.h[4]>>>0&255,f[d+9]=this.h[4]>>>8&255,f[d+10]=this.h[5]>>>0&255,f[d+11]=this.h[5]>>>8&255,f[d+12]=this.h[6]>>>0&255,f[d+13]=this.h[6]>>>8&255,f[d+14]=this.h[7]>>>0&255,f[d+15]=this.h[7]>>>8&255},Ne.prototype.update=function(f,d,l){var o,g;if(this.leftover){for(g=16-this.leftover,g>l&&(g=l),o=0;o<g;o++)this.buffer[this.leftover+o]=f[d+o];if(l-=g,d+=g,this.leftover+=g,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(g=l-l%16,this.blocks(f,d,g),d+=g,l-=g),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[d+o];this.leftover+=l}};function tt(f,d,l,o,g,b){var v=new Ne(b);return v.update(l,o,g),v.finish(f,d),0}function Se(f,d,l,o,g,b){var v=new Uint8Array(16);return tt(v,0,l,o,g,b),C(f,d,v,0)}function Me(f,d,l,o,g){var b;if(l<32)return-1;for(K(f,0,d,0,l,o,g),tt(f,16,f,32,l-32,f),b=0;b<16;b++)f[b]=0;return 0}function we(f,d,l,o,g){var b,v=new Uint8Array(32);if(l<32||(pe(v,0,32,o,g),Se(d,16,d,32,l-32,v)!==0))return-1;for(K(f,0,d,0,l,o,g),b=0;b<32;b++)f[b]=0;return 0}function qe(f,d){var l;for(l=0;l<16;l++)f[l]=d[l]|0}function Ee(f){var d,l,o=1;for(d=0;d<16;d++)l=f[d]+o+65535,o=Math.floor(l/65536),f[d]=l-o*65536;f[0]+=o-1+37*(o-1)}function rt(f,d,l){for(var o,g=~(l-1),b=0;b<16;b++)o=g&(f[b]^d[b]),f[b]^=o,d[b]^=o}function Fe(f,d){var l,o,g,b=e(),v=e();for(l=0;l<16;l++)v[l]=d[l];for(Ee(v),Ee(v),Ee(v),o=0;o<2;o++){for(b[0]=v[0]-65517,l=1;l<15;l++)b[l]=v[l]-65535-(b[l-1]>>16&1),b[l-1]&=65535;b[15]=v[15]-32767-(b[14]>>16&1),g=b[15]>>16&1,b[14]&=65535,rt(v,b,1-g)}for(l=0;l<16;l++)f[2*l]=v[l]&255,f[2*l+1]=v[l]>>8}function yt(f,d){var l=new Uint8Array(32),o=new Uint8Array(32);return Fe(l,f),Fe(o,d),H(l,0,o,0)}function We(f){var d=new Uint8Array(32);return Fe(d,f),d[0]&1}function dt(f,d){var l;for(l=0;l<16;l++)f[l]=d[2*l]+(d[2*l+1]<<8);f[15]&=32767}function I(f,d,l){for(var o=0;o<16;o++)f[o]=d[o]+l[o]}function B(f,d,l){for(var o=0;o<16;o++)f[o]=d[o]-l[o]}function R(f,d,l){var o,g,b=0,v=0,O=0,D=0,Z=0,W=0,Pe=0,$=0,oe=0,ae=0,ge=0,de=0,ce=0,le=0,fe=0,Y=0,Q=0,V=0,X=0,J=0,q=0,w=0,x=0,A=0,k=0,P=0,M=0,ne=0,me=0,_e=0,ye=0,y=l[0],ve=l[1],Ae=l[2],Re=l[3],be=l[4],Te=l[5],Ce=l[6],it=l[7],De=l[8],Ze=l[9],Qe=l[10],et=l[11],at=l[12],pt=l[13],gt=l[14],mt=l[15];o=d[0],b+=o*y,v+=o*ve,O+=o*Ae,D+=o*Re,Z+=o*be,W+=o*Te,Pe+=o*Ce,$+=o*it,oe+=o*De,ae+=o*Ze,ge+=o*Qe,de+=o*et,ce+=o*at,le+=o*pt,fe+=o*gt,Y+=o*mt,o=d[1],v+=o*y,O+=o*ve,D+=o*Ae,Z+=o*Re,W+=o*be,Pe+=o*Te,$+=o*Ce,oe+=o*it,ae+=o*De,ge+=o*Ze,de+=o*Qe,ce+=o*et,le+=o*at,fe+=o*pt,Y+=o*gt,Q+=o*mt,o=d[2],O+=o*y,D+=o*ve,Z+=o*Ae,W+=o*Re,Pe+=o*be,$+=o*Te,oe+=o*Ce,ae+=o*it,ge+=o*De,de+=o*Ze,ce+=o*Qe,le+=o*et,fe+=o*at,Y+=o*pt,Q+=o*gt,V+=o*mt,o=d[3],D+=o*y,Z+=o*ve,W+=o*Ae,Pe+=o*Re,$+=o*be,oe+=o*Te,ae+=o*Ce,ge+=o*it,de+=o*De,ce+=o*Ze,le+=o*Qe,fe+=o*et,Y+=o*at,Q+=o*pt,V+=o*gt,X+=o*mt,o=d[4],Z+=o*y,W+=o*ve,Pe+=o*Ae,$+=o*Re,oe+=o*be,ae+=o*Te,ge+=o*Ce,de+=o*it,ce+=o*De,le+=o*Ze,fe+=o*Qe,Y+=o*et,Q+=o*at,V+=o*pt,X+=o*gt,J+=o*mt,o=d[5],W+=o*y,Pe+=o*ve,$+=o*Ae,oe+=o*Re,ae+=o*be,ge+=o*Te,de+=o*Ce,ce+=o*it,le+=o*De,fe+=o*Ze,Y+=o*Qe,Q+=o*et,V+=o*at,X+=o*pt,J+=o*gt,q+=o*mt,o=d[6],Pe+=o*y,$+=o*ve,oe+=o*Ae,ae+=o*Re,ge+=o*be,de+=o*Te,ce+=o*Ce,le+=o*it,fe+=o*De,Y+=o*Ze,Q+=o*Qe,V+=o*et,X+=o*at,J+=o*pt,q+=o*gt,w+=o*mt,o=d[7],$+=o*y,oe+=o*ve,ae+=o*Ae,ge+=o*Re,de+=o*be,ce+=o*Te,le+=o*Ce,fe+=o*it,Y+=o*De,Q+=o*Ze,V+=o*Qe,X+=o*et,J+=o*at,q+=o*pt,w+=o*gt,x+=o*mt,o=d[8],oe+=o*y,ae+=o*ve,ge+=o*Ae,de+=o*Re,ce+=o*be,le+=o*Te,fe+=o*Ce,Y+=o*it,Q+=o*De,V+=o*Ze,X+=o*Qe,J+=o*et,q+=o*at,w+=o*pt,x+=o*gt,A+=o*mt,o=d[9],ae+=o*y,ge+=o*ve,de+=o*Ae,ce+=o*Re,le+=o*be,fe+=o*Te,Y+=o*Ce,Q+=o*it,V+=o*De,X+=o*Ze,J+=o*Qe,q+=o*et,w+=o*at,x+=o*pt,A+=o*gt,k+=o*mt,o=d[10],ge+=o*y,de+=o*ve,ce+=o*Ae,le+=o*Re,fe+=o*be,Y+=o*Te,Q+=o*Ce,V+=o*it,X+=o*De,J+=o*Ze,q+=o*Qe,w+=o*et,x+=o*at,A+=o*pt,k+=o*gt,P+=o*mt,o=d[11],de+=o*y,ce+=o*ve,le+=o*Ae,fe+=o*Re,Y+=o*be,Q+=o*Te,V+=o*Ce,X+=o*it,J+=o*De,q+=o*Ze,w+=o*Qe,x+=o*et,A+=o*at,k+=o*pt,P+=o*gt,M+=o*mt,o=d[12],ce+=o*y,le+=o*ve,fe+=o*Ae,Y+=o*Re,Q+=o*be,V+=o*Te,X+=o*Ce,J+=o*it,q+=o*De,w+=o*Ze,x+=o*Qe,A+=o*et,k+=o*at,P+=o*pt,M+=o*gt,ne+=o*mt,o=d[13],le+=o*y,fe+=o*ve,Y+=o*Ae,Q+=o*Re,V+=o*be,X+=o*Te,J+=o*Ce,q+=o*it,w+=o*De,x+=o*Ze,A+=o*Qe,k+=o*et,P+=o*at,M+=o*pt,ne+=o*gt,me+=o*mt,o=d[14],fe+=o*y,Y+=o*ve,Q+=o*Ae,V+=o*Re,X+=o*be,J+=o*Te,q+=o*Ce,w+=o*it,x+=o*De,A+=o*Ze,k+=o*Qe,P+=o*et,M+=o*at,ne+=o*pt,me+=o*gt,_e+=o*mt,o=d[15],Y+=o*y,Q+=o*ve,V+=o*Ae,X+=o*Re,J+=o*be,q+=o*Te,w+=o*Ce,x+=o*it,A+=o*De,k+=o*Ze,P+=o*Qe,M+=o*et,ne+=o*at,me+=o*pt,_e+=o*gt,ye+=o*mt,b+=38*Q,v+=38*V,O+=38*X,D+=38*J,Z+=38*q,W+=38*w,Pe+=38*x,$+=38*A,oe+=38*k,ae+=38*P,ge+=38*M,de+=38*ne,ce+=38*me,le+=38*_e,fe+=38*ye,g=1,o=b+g+65535,g=Math.floor(o/65536),b=o-g*65536,o=v+g+65535,g=Math.floor(o/65536),v=o-g*65536,o=O+g+65535,g=Math.floor(o/65536),O=o-g*65536,o=D+g+65535,g=Math.floor(o/65536),D=o-g*65536,o=Z+g+65535,g=Math.floor(o/65536),Z=o-g*65536,o=W+g+65535,g=Math.floor(o/65536),W=o-g*65536,o=Pe+g+65535,g=Math.floor(o/65536),Pe=o-g*65536,o=$+g+65535,g=Math.floor(o/65536),$=o-g*65536,o=oe+g+65535,g=Math.floor(o/65536),oe=o-g*65536,o=ae+g+65535,g=Math.floor(o/65536),ae=o-g*65536,o=ge+g+65535,g=Math.floor(o/65536),ge=o-g*65536,o=de+g+65535,g=Math.floor(o/65536),de=o-g*65536,o=ce+g+65535,g=Math.floor(o/65536),ce=o-g*65536,o=le+g+65535,g=Math.floor(o/65536),le=o-g*65536,o=fe+g+65535,g=Math.floor(o/65536),fe=o-g*65536,o=Y+g+65535,g=Math.floor(o/65536),Y=o-g*65536,b+=g-1+37*(g-1),g=1,o=b+g+65535,g=Math.floor(o/65536),b=o-g*65536,o=v+g+65535,g=Math.floor(o/65536),v=o-g*65536,o=O+g+65535,g=Math.floor(o/65536),O=o-g*65536,o=D+g+65535,g=Math.floor(o/65536),D=o-g*65536,o=Z+g+65535,g=Math.floor(o/65536),Z=o-g*65536,o=W+g+65535,g=Math.floor(o/65536),W=o-g*65536,o=Pe+g+65535,g=Math.floor(o/65536),Pe=o-g*65536,o=$+g+65535,g=Math.floor(o/65536),$=o-g*65536,o=oe+g+65535,g=Math.floor(o/65536),oe=o-g*65536,o=ae+g+65535,g=Math.floor(o/65536),ae=o-g*65536,o=ge+g+65535,g=Math.floor(o/65536),ge=o-g*65536,o=de+g+65535,g=Math.floor(o/65536),de=o-g*65536,o=ce+g+65535,g=Math.floor(o/65536),ce=o-g*65536,o=le+g+65535,g=Math.floor(o/65536),le=o-g*65536,o=fe+g+65535,g=Math.floor(o/65536),fe=o-g*65536,o=Y+g+65535,g=Math.floor(o/65536),Y=o-g*65536,b+=g-1+37*(g-1),f[0]=b,f[1]=v,f[2]=O,f[3]=D,f[4]=Z,f[5]=W,f[6]=Pe,f[7]=$,f[8]=oe,f[9]=ae,f[10]=ge,f[11]=de,f[12]=ce,f[13]=le,f[14]=fe,f[15]=Y}function se(f,d){R(f,d,d)}function Oe(f,d){var l=e(),o;for(o=0;o<16;o++)l[o]=d[o];for(o=253;o>=0;o--)se(l,l),o!==2&&o!==4&&R(l,l,d);for(o=0;o<16;o++)f[o]=l[o]}function j(f,d){var l=e(),o;for(o=0;o<16;o++)l[o]=d[o];for(o=250;o>=0;o--)se(l,l),o!==1&&R(l,l,d);for(o=0;o<16;o++)f[o]=l[o]}function ue(f,d,l){var o=new Uint8Array(32),g=new Float64Array(80),b,v,O=e(),D=e(),Z=e(),W=e(),Pe=e(),$=e();for(v=0;v<31;v++)o[v]=d[v];for(o[31]=d[31]&127|64,o[0]&=248,dt(g,l),v=0;v<16;v++)D[v]=g[v],W[v]=O[v]=Z[v]=0;for(O[0]=W[0]=1,v=254;v>=0;--v)b=o[v>>>3]>>>(v&7)&1,rt(O,D,b),rt(Z,W,b),I(Pe,O,Z),B(O,O,Z),I(Z,D,W),B(D,D,W),se(W,Pe),se($,O),R(O,Z,O),R(Z,D,Pe),I(Pe,O,Z),B(O,O,Z),se(D,O),B(Z,W,$),R(O,Z,c),I(O,O,W),R(Z,Z,O),R(O,W,$),R(W,D,g),se(D,Pe),rt(O,D,b),rt(Z,W,b);for(v=0;v<16;v++)g[v+16]=O[v],g[v+32]=Z[v],g[v+48]=D[v],g[v+64]=W[v];var oe=g.subarray(32),ae=g.subarray(16);return Oe(oe,oe),R(ae,ae,oe),Fe(f,ae),0}function je(f,d){return ue(f,d,i)}function nt(f,d){return t(d,32),je(f,d)}function _t(f,d,l){var o=new Uint8Array(32);return ue(o,l,d),F(f,n,o,te)}var Vt=Me,an=we;function Br(f,d,l,o,g,b){var v=new Uint8Array(32);return _t(v,g,b),Vt(f,d,l,o,v)}function Ln(f,d,l,o,g,b){var v=new Uint8Array(32);return _t(v,g,b),an(f,d,l,o,v)}var es=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function Rf(f,d,l,o){for(var g=new Int32Array(16),b=new Int32Array(16),v,O,D,Z,W,Pe,$,oe,ae,ge,de,ce,le,fe,Y,Q,V,X,J,q,w,x,A,k,P,M,ne=f[0],me=f[1],_e=f[2],ye=f[3],y=f[4],ve=f[5],Ae=f[6],Re=f[7],be=d[0],Te=d[1],Ce=d[2],it=d[3],De=d[4],Ze=d[5],Qe=d[6],et=d[7],at=0;o>=128;){for(J=0;J<16;J++)q=8*J+at,g[J]=l[q+0]<<24|l[q+1]<<16|l[q+2]<<8|l[q+3],b[J]=l[q+4]<<24|l[q+5]<<16|l[q+6]<<8|l[q+7];for(J=0;J<80;J++)if(v=ne,O=me,D=_e,Z=ye,W=y,Pe=ve,$=Ae,oe=Re,ae=be,ge=Te,de=Ce,ce=it,le=De,fe=Ze,Y=Qe,Q=et,w=Re,x=et,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=(y>>>14|De<<18)^(y>>>18|De<<14)^(De>>>9|y<<23),x=(De>>>14|y<<18)^(De>>>18|y<<14)^(y>>>9|De<<23),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=y&ve^~y&Ae,x=De&Ze^~De&Qe,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=es[J*2],x=es[J*2+1],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=g[J%16],x=b[J%16],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,V=P&65535|M<<16,X=A&65535|k<<16,w=V,x=X,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=(ne>>>28|be<<4)^(be>>>2|ne<<30)^(be>>>7|ne<<25),x=(be>>>28|ne<<4)^(ne>>>2|be<<30)^(ne>>>7|be<<25),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,w=ne&me^ne&_e^me&_e,x=be&Te^be&Ce^Te&Ce,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,oe=P&65535|M<<16,Q=A&65535|k<<16,w=Z,x=ce,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=V,x=X,A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,Z=P&65535|M<<16,ce=A&65535|k<<16,me=v,_e=O,ye=D,y=Z,ve=W,Ae=Pe,Re=$,ne=oe,Te=ae,Ce=ge,it=de,De=ce,Ze=le,Qe=fe,et=Y,be=Q,J%16===15)for(q=0;q<16;q++)w=g[q],x=b[q],A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=g[(q+9)%16],x=b[(q+9)%16],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,V=g[(q+1)%16],X=b[(q+1)%16],w=(V>>>1|X<<31)^(V>>>8|X<<24)^V>>>7,x=(X>>>1|V<<31)^(X>>>8|V<<24)^(X>>>7|V<<25),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,V=g[(q+14)%16],X=b[(q+14)%16],w=(V>>>19|X<<13)^(X>>>29|V<<3)^V>>>6,x=(X>>>19|V<<13)^(V>>>29|X<<3)^(X>>>6|V<<26),A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,g[q]=P&65535|M<<16,b[q]=A&65535|k<<16;w=ne,x=be,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[0],x=d[0],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[0]=ne=P&65535|M<<16,d[0]=be=A&65535|k<<16,w=me,x=Te,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[1],x=d[1],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[1]=me=P&65535|M<<16,d[1]=Te=A&65535|k<<16,w=_e,x=Ce,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[2],x=d[2],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[2]=_e=P&65535|M<<16,d[2]=Ce=A&65535|k<<16,w=ye,x=it,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[3],x=d[3],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[3]=ye=P&65535|M<<16,d[3]=it=A&65535|k<<16,w=y,x=De,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[4],x=d[4],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[4]=y=P&65535|M<<16,d[4]=De=A&65535|k<<16,w=ve,x=Ze,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[5],x=d[5],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[5]=ve=P&65535|M<<16,d[5]=Ze=A&65535|k<<16,w=Ae,x=Qe,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[6],x=d[6],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[6]=Ae=P&65535|M<<16,d[6]=Qe=A&65535|k<<16,w=Re,x=et,A=x&65535,k=x>>>16,P=w&65535,M=w>>>16,w=f[7],x=d[7],A+=x&65535,k+=x>>>16,P+=w&65535,M+=w>>>16,k+=A>>>16,P+=k>>>16,M+=P>>>16,f[7]=Re=P&65535|M<<16,d[7]=et=A&65535|k<<16,at+=128,o-=128}return o}function cn(f,d,l){var o=new Int32Array(8),g=new Int32Array(8),b=new Uint8Array(256),v,O=l;for(o[0]=1779033703,o[1]=3144134277,o[2]=1013904242,o[3]=2773480762,o[4]=1359893119,o[5]=2600822924,o[6]=528734635,o[7]=1541459225,g[0]=4089235720,g[1]=2227873595,g[2]=4271175723,g[3]=1595750129,g[4]=2917565137,g[5]=725511199,g[6]=4215389547,g[7]=327033209,Rf(o,g,d,l),l%=128,v=0;v<l;v++)b[v]=d[O-l+v];for(b[l]=128,l=256-128*(l<112?1:0),b[l-9]=0,E(b,l-8,O/536870912|0,O<<3),Rf(o,g,b,l),v=0;v<8;v++)E(f,8*v,o[v],g[v]);return 0}function ts(f,d){var l=e(),o=e(),g=e(),b=e(),v=e(),O=e(),D=e(),Z=e(),W=e();B(l,f[1],f[0]),B(W,d[1],d[0]),R(l,l,W),I(o,f[0],f[1]),I(W,d[0],d[1]),R(o,o,W),R(g,f[3],d[3]),R(g,g,h),R(b,f[2],d[2]),I(b,b,b),B(v,o,l),B(O,b,g),I(D,b,g),I(Z,o,l),R(f[0],v,O),R(f[1],Z,D),R(f[2],D,O),R(f[3],v,Z)}function If(f,d,l){var o;for(o=0;o<4;o++)rt(f[o],d[o],l)}function qo(f,d){var l=e(),o=e(),g=e();Oe(g,d[2]),R(l,d[0],g),R(o,d[1],g),Fe(f,o),f[31]^=We(l)<<7}function Wo(f,d,l){var o,g;for(qe(f[0],s),qe(f[1],a),qe(f[2],a),qe(f[3],s),g=255;g>=0;--g)o=l[g/8|0]>>(g&7)&1,If(f,d,o),ts(d,f),ts(f,f),If(f,d,o)}function rs(f,d){var l=[e(),e(),e(),e()];qe(l[0],p),qe(l[1],m),qe(l[2],a),R(l[3],p,m),Wo(f,l,d)}function Ho(f,d,l){var o=new Uint8Array(64),g=[e(),e(),e(),e()],b;for(l||t(d,32),cn(o,d,32),o[0]&=248,o[31]&=127,o[31]|=64,rs(g,o),qo(f,g),b=0;b<32;b++)d[b+32]=f[b];return 0}var ns=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function Vo(f,d){var l,o,g,b;for(o=63;o>=32;--o){for(l=0,g=o-32,b=o-12;g<b;++g)d[g]+=l-16*d[o]*ns[g-(o-32)],l=Math.floor((d[g]+128)/256),d[g]-=l*256;d[g]+=l,d[o]=0}for(l=0,g=0;g<32;g++)d[g]+=l-(d[31]>>4)*ns[g],l=d[g]>>8,d[g]&=255;for(g=0;g<32;g++)d[g]-=l*ns[g];for(o=0;o<32;o++)d[o+1]+=d[o]>>8,f[o]=d[o]&255}function $o(f){var d=new Float64Array(64),l;for(l=0;l<64;l++)d[l]=f[l];for(l=0;l<64;l++)f[l]=0;Vo(f,d)}function Lf(f,d,l,o){var g=new Uint8Array(64),b=new Uint8Array(64),v=new Uint8Array(64),O,D,Z=new Float64Array(64),W=[e(),e(),e(),e()];cn(g,o,32),g[0]&=248,g[31]&=127,g[31]|=64;var Pe=l+64;for(O=0;O<l;O++)f[64+O]=d[O];for(O=0;O<32;O++)f[32+O]=g[32+O];for(cn(v,f.subarray(32),l+32),$o(v),rs(W,v),qo(f,W),O=32;O<64;O++)f[O]=o[O];for(cn(b,f,l+64),$o(b),O=0;O<64;O++)Z[O]=0;for(O=0;O<32;O++)Z[O]=v[O];for(O=0;O<32;O++)for(D=0;D<32;D++)Z[O+D]+=b[O]*g[D];return Vo(f.subarray(32),Z),Pe}function Sp(f,d){var l=e(),o=e(),g=e(),b=e(),v=e(),O=e(),D=e();return qe(f[2],a),dt(f[1],d),se(g,f[1]),R(b,g,u),B(g,g,f[2]),I(b,f[2],b),se(v,b),se(O,v),R(D,O,v),R(l,D,g),R(l,l,b),j(l,l),R(l,l,g),R(l,l,b),R(l,l,b),R(f[0],l,b),se(o,f[0]),R(o,o,b),yt(o,g)&&R(f[0],f[0],_),se(o,f[0]),R(o,o,b),yt(o,g)?-1:(We(f[0])===d[31]>>7&&B(f[0],s,f[0]),R(f[3],f[0],f[1]),0)}function zo(f,d,l,o){var g,b=new Uint8Array(32),v=new Uint8Array(64),O=[e(),e(),e(),e()],D=[e(),e(),e(),e()];if(l<64||Sp(D,o))return-1;for(g=0;g<l;g++)f[g]=d[g];for(g=0;g<32;g++)f[g+32]=o[g];if(cn(v,f,l),$o(v),Wo(O,D,v),rs(D,d.subarray(32)),ts(O,D),qo(b,O),l-=64,H(d,0,b,0)){for(g=0;g<l;g++)f[g]=0;return-1}for(g=0;g<l;g++)f[g]=d[g+64];return l}var Go=32,is=24,gi=32,Nn=16,mi=32,ss=32,yi=32,_i=32,Yo=32,Nf=is,Tp=gi,Cp=Nn,Er=64,fn=32,Mn=64,Xo=32,Jo=64;r.lowlevel={crypto_core_hsalsa20:F,crypto_stream_xor:K,crypto_stream:pe,crypto_stream_salsa20_xor:U,crypto_stream_salsa20:ee,crypto_onetimeauth:tt,crypto_onetimeauth_verify:Se,crypto_verify_16:C,crypto_verify_32:H,crypto_secretbox:Me,crypto_secretbox_open:we,crypto_scalarmult:ue,crypto_scalarmult_base:je,crypto_box_beforenm:_t,crypto_box_afternm:Vt,crypto_box:Br,crypto_box_open:Ln,crypto_box_keypair:nt,crypto_hash:cn,crypto_sign:Lf,crypto_sign_keypair:Ho,crypto_sign_open:zo,crypto_secretbox_KEYBYTES:Go,crypto_secretbox_NONCEBYTES:is,crypto_secretbox_ZEROBYTES:gi,crypto_secretbox_BOXZEROBYTES:Nn,crypto_scalarmult_BYTES:mi,crypto_scalarmult_SCALARBYTES:ss,crypto_box_PUBLICKEYBYTES:yi,crypto_box_SECRETKEYBYTES:_i,crypto_box_BEFORENMBYTES:Yo,crypto_box_NONCEBYTES:Nf,crypto_box_ZEROBYTES:Tp,crypto_box_BOXZEROBYTES:Cp,crypto_sign_BYTES:Er,crypto_sign_PUBLICKEYBYTES:fn,crypto_sign_SECRETKEYBYTES:Mn,crypto_sign_SEEDBYTES:Xo,crypto_hash_BYTES:Jo,gf:e,D:u,L:ns,pack25519:Fe,unpack25519:dt,M:R,A:I,S:se,Z:B,pow2523:j,add:ts,set25519:qe,modL:Vo,scalarmult:Wo,scalarbase:rs};function Mf(f,d){if(f.length!==Go)throw new Error("bad key size");if(d.length!==is)throw new Error("bad nonce size")}function kp(f,d){if(f.length!==yi)throw new Error("bad public key size");if(d.length!==_i)throw new Error("bad secret key size")}function Ct(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function Ff(f){for(var d=0;d<f.length;d++)f[d]=0}r.randomBytes=function(f){var d=new Uint8Array(f);return t(d,f),d},r.secretbox=function(f,d,l){Ct(f,d,l),Mf(l,d);for(var o=new Uint8Array(gi+f.length),g=new Uint8Array(o.length),b=0;b<f.length;b++)o[b+gi]=f[b];return Me(g,o,o.length,d,l),g.subarray(Nn)},r.secretbox.open=function(f,d,l){Ct(f,d,l),Mf(l,d);for(var o=new Uint8Array(Nn+f.length),g=new Uint8Array(o.length),b=0;b<f.length;b++)o[b+Nn]=f[b];return o.length<32||we(g,o,o.length,d,l)!==0?null:g.subarray(gi)},r.secretbox.keyLength=Go,r.secretbox.nonceLength=is,r.secretbox.overheadLength=Nn,r.scalarMult=function(f,d){if(Ct(f,d),f.length!==ss)throw new Error("bad n size");if(d.length!==mi)throw new Error("bad p size");var l=new Uint8Array(mi);return ue(l,f,d),l},r.scalarMult.base=function(f){if(Ct(f),f.length!==ss)throw new Error("bad n size");var d=new Uint8Array(mi);return je(d,f),d},r.scalarMult.scalarLength=ss,r.scalarMult.groupElementLength=mi,r.box=function(f,d,l,o){var g=r.box.before(l,o);return r.secretbox(f,d,g)},r.box.before=function(f,d){Ct(f,d),kp(f,d);var l=new Uint8Array(Yo);return _t(l,f,d),l},r.box.after=r.secretbox,r.box.open=function(f,d,l,o){var g=r.box.before(l,o);return r.secretbox.open(f,d,g)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(yi),d=new Uint8Array(_i);return nt(f,d),{publicKey:f,secretKey:d}},r.box.keyPair.fromSecretKey=function(f){if(Ct(f),f.length!==_i)throw new Error("bad secret key size");var d=new Uint8Array(yi);return je(d,f),{publicKey:d,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=yi,r.box.secretKeyLength=_i,r.box.sharedKeyLength=Yo,r.box.nonceLength=Nf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,d){if(Ct(f,d),d.length!==Mn)throw new Error("bad secret key size");var l=new Uint8Array(Er+f.length);return Lf(l,f,f.length,d),l},r.sign.open=function(f,d){if(Ct(f,d),d.length!==fn)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=zo(l,f,f.length,d);if(o<0)return null;for(var g=new Uint8Array(o),b=0;b<g.length;b++)g[b]=l[b];return g},r.sign.detached=function(f,d){for(var l=r.sign(f,d),o=new Uint8Array(Er),g=0;g<o.length;g++)o[g]=l[g];return o},r.sign.detached.verify=function(f,d,l){if(Ct(f,d,l),d.length!==Er)throw new Error("bad signature size");if(l.length!==fn)throw new Error("bad public key size");var o=new Uint8Array(Er+f.length),g=new Uint8Array(Er+f.length),b;for(b=0;b<Er;b++)o[b]=d[b];for(b=0;b<f.length;b++)o[b+Er]=f[b];return zo(g,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(fn),d=new Uint8Array(Mn);return Ho(f,d),{publicKey:f,secretKey:d}},r.sign.keyPair.fromSecretKey=function(f){if(Ct(f),f.length!==Mn)throw new Error("bad secret key size");for(var d=new Uint8Array(fn),l=0;l<d.length;l++)d[l]=f[32+l];return{publicKey:d,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(Ct(f),f.length!==Xo)throw new Error("bad seed size");for(var d=new Uint8Array(fn),l=new Uint8Array(Mn),o=0;o<32;o++)l[o]=f[o];return Ho(d,l,!0),{publicKey:d,secretKey:l}},r.sign.publicKeyLength=fn,r.sign.secretKeyLength=Mn,r.sign.seedLength=Xo,r.sign.signatureLength=Er,r.hash=function(f){Ct(f);var d=new Uint8Array(Jo);return cn(d,f,f.length),d},r.hash.hashLength=Jo,r.verify=function(f,d){return Ct(f,d),f.length===0||d.length===0||f.length!==d.length?!1:S(f,0,d,0,f.length)===0},r.setPRNG=function(f){t=f},(function(){var f=typeof self<"u"?self.crypto||self.msCrypto:null;if(f&&f.getRandomValues){var d=65536;r.setPRNG(function(l,o){var g,b=new Uint8Array(o);for(g=0;g<o;g+=d)f.getRandomValues(b.subarray(g,g+Math.min(o-g,d)));for(g=0;g<o;g++)l[g]=b[g];Ff(b)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var g,b=f.randomBytes(o);for(g=0;g<o;g++)l[g]=b[g];Ff(b)}))})()})(typeof ys<"u"&&ys.exports?ys.exports:self.nacl=self.nacl||{})});var xi=L((ru,_s)=>{(function(r,e){"use strict";typeof _s<"u"&&_s.exports?_s.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(ru,function(){"use strict";var r={};function e(t){if(!/^(?:[A-Za-z0-9+\/]{2}[A-Za-z0-9+\/]{2})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/.test(t))throw new TypeError("invalid encoding")}return r.decodeUTF8=function(t){if(typeof t!="string")throw new TypeError("expected string");var n,i=unescape(encodeURIComponent(t)),s=new Uint8Array(i.length);for(n=0;n<i.length;n++)s[n]=i.charCodeAt(n);return s},r.encodeUTF8=function(t){var n,i=[];for(n=0;n<t.length;n++)i.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(i.join("")))},typeof atob>"u"?typeof Buffer.from<"u"?(r.encodeBase64=function(t){return Buffer.from(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(Buffer.from(t,"base64"),0))}):(r.encodeBase64=function(t){return new Buffer(t).toString("base64")},r.decodeBase64=function(t){return e(t),new Uint8Array(Array.prototype.slice.call(new Buffer(t,"base64"),0))}):(r.encodeBase64=function(t){var n,i=[],s=t.length;for(n=0;n<s;n++)i.push(String.fromCharCode(t[n]));return btoa(i.join(""))},r.decodeBase64=function(t){e(t);var n,i=atob(t),s=new Uint8Array(i.length);for(n=0;n<i.length;n++)s[n]=i.charCodeAt(n);return s}),r})});var nu=L(Ot=>{"use strict";var Yp=Ot&&Ot.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ot,"__esModule",{value:!0});Ot.concatBytes=Si;Ot.generateIdentityKeyPair=Xp;Ot.identityPublicFromSecret=Jp;Ot.signSessionKey=Zp;Ot.verifySessionKey=Qp;Ot.buildKxCanonical=eg;Ot.buildKxAckCanonical=tg;Ot.fingerprintIdentityKey=rg;Ot.fingerprintShortHex=ng;var sr=Yp(wi()),kt=xi(),bs=ra();function Si(...r){let e=0;for(let i of r)e+=i.length;let t=new Uint8Array(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function Xp(){let r=sr.default.sign.keyPair();return{identityPublicKey:(0,kt.encodeBase64)(r.publicKey),identitySecretKey:(0,kt.encodeBase64)(r.secretKey)}}function Jp(r){let e=(0,kt.decodeBase64)(r);if(e.length!==sr.default.sign.secretKeyLength)throw new Error("bad identity secret key length");let t=sr.default.sign.keyPair.fromSecretKey(e);return(0,kt.encodeBase64)(t.publicKey)}function Zp(r,e){let t=(0,kt.decodeBase64)(e);if(t.length!==sr.default.sign.secretKeyLength)throw new Error("bad identity secret key length");return(0,kt.encodeBase64)(sr.default.sign.detached(r,t))}function Qp(r,e,t){try{let n=(0,kt.decodeBase64)(e),i=(0,kt.decodeBase64)(t);return i.length!==sr.default.sign.publicKeyLength||n.length!==sr.default.sign.signatureLength?!1:sr.default.sign.detached.verify(r,n,i)}catch{return!1}}var un=new Uint8Array([0]);function eg(r){let e=new TextEncoder,t=e.encode(bs.KX_SIGN_LABEL),n=e.encode(r.agentId),i=e.encode(String(r.keyVersion)),s=(0,kt.decodeBase64)(r.boxPublicKey);return Si(t,un,n,un,i,un,s)}function tg(r){let e=new TextEncoder;return Si(e.encode(bs.KX_ACK_LABEL),un,e.encode(r.agentId),un,e.encode(String(r.keyVersion)),un,(0,kt.decodeBase64)(r.boxPublicKey),un,(0,kt.decodeBase64)(r.boundClientKey))}function rg(r){let e=(0,kt.decodeBase64)(r),t=Si(new TextEncoder().encode(bs.KX_FINGERPRINT_LABEL),e),n=sr.default.hash(t),i=[];for(let s=0;s<12;s++){let a=s*5,u=(((n[a]<<24>>>0)+(n[a+1]<<16)+(n[a+2]<<8)+n[a+3]^n[a+4])>>>0)%1e5;i.push(String(u).padStart(5,"0"))}return i.join(" ")}function ng(r){let e=(0,kt.decodeBase64)(r),t=Si(new TextEncoder().encode(bs.KX_FINGERPRINT_LABEL),e),n=sr.default.hash(t).slice(0,8);return Array.from(n).map(i=>i.toString(16).padStart(2,"0")).join(":").toUpperCase()}});var iu=L(Kr=>{"use strict";var ig=Kr&&Kr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Kr,"__esModule",{value:!0});Kr.encrypt=sg;Kr.decrypt=og;Kr.encryptBinary=ag;Kr.decryptBinary=cg;var xr=ig(wi()),Ur=xi();function sg(r,e,t){let n=xr.default.randomBytes(xr.default.secretbox.nonceLength),i=new TextEncoder().encode(r),s=xr.default.secretbox(i,n,e);return{v:1,sid:t,n:(0,Ur.encodeBase64)(n),c:(0,Ur.encodeBase64)(s)}}function og(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Ur.decodeBase64)(r.n),n=(0,Ur.decodeBase64)(r.c);if(t.length!==xr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let i=xr.default.secretbox.open(n,t,e);if(!i)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(i)}function ag(r,e,t){let n=xr.default.randomBytes(xr.default.secretbox.nonceLength),i=xr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,Ur.encodeBase64)(n),c:(0,Ur.encodeBase64)(i)}}function cg(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Ur.decodeBase64)(r.n),n=(0,Ur.decodeBase64)(r.c),i=xr.default.secretbox.open(n,t,e);if(!i)throw new Error("Decryption failed: invalid ciphertext or wrong key");return i}});var su=L(zt=>{"use strict";var fg=zt&&zt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zt,"__esModule",{value:!0});zt.generateKeyPair=ug;zt.deriveSharedSecret=lg;zt.deriveMetaSid=hg;zt.isValidPublicKey=dg;zt.clearKey=pg;zt.keyToBase64=gg;zt.base64ToKey=mg;var Dn=fg(wi()),or=xi();function ug(){let r=Dn.default.box.keyPair();return{publicKey:(0,or.encodeBase64)(r.publicKey),secretKey:(0,or.encodeBase64)(r.secretKey)}}function lg(r,e){let t=(0,or.decodeBase64)(r),n=(0,or.decodeBase64)(e);if(t.length!==Dn.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==Dn.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return Dn.default.box.before(t,n)}function hg(r,e){let t=new TextEncoder().encode("termiq-meta-v1"),n=(0,or.decodeBase64)(r),i=(0,or.decodeBase64)(e),s=new Uint8Array(t.length+n.length+i.length);return s.set(t,0),s.set(n,t.length),s.set(i,t.length+n.length),(0,or.encodeBase64)(Dn.default.hash(s).slice(0,32))}function dg(r){try{return(0,or.decodeBase64)(r).length===Dn.default.box.publicKeyLength}catch{return!1}}function pg(r){r.fill(0)}function gg(r){return(0,or.encodeBase64)(r)}function mg(r){return(0,or.decodeBase64)(r)}});var au=L(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.base64ToKey=re.keyToBase64=re.clearKey=re.isValidPublicKey=re.deriveMetaSid=re.deriveSharedSecret=re.generateKeyPair=re.decryptBinary=re.encryptBinary=re.decrypt=re.encrypt=re.concatBytes=re.fingerprintShortHex=re.fingerprintIdentityKey=re.buildKxAckCanonical=re.buildKxCanonical=re.verifySessionKey=re.signSessionKey=re.identityPublicFromSecret=re.generateIdentityKeyPair=re.KX_SIG_VERSION=re.KX_FINGERPRINT_LABEL=re.KX_ACK_LABEL=re.KX_SIGN_LABEL=re.isMultiRecipientPayload=re.isEncryptedPayload=void 0;var ou=tu();Object.defineProperty(re,"isEncryptedPayload",{enumerable:!0,get:function(){return ou.isEncryptedPayload}});Object.defineProperty(re,"isMultiRecipientPayload",{enumerable:!0,get:function(){return ou.isMultiRecipientPayload}});var Es=ra();Object.defineProperty(re,"KX_SIGN_LABEL",{enumerable:!0,get:function(){return Es.KX_SIGN_LABEL}});Object.defineProperty(re,"KX_ACK_LABEL",{enumerable:!0,get:function(){return Es.KX_ACK_LABEL}});Object.defineProperty(re,"KX_FINGERPRINT_LABEL",{enumerable:!0,get:function(){return Es.KX_FINGERPRINT_LABEL}});Object.defineProperty(re,"KX_SIG_VERSION",{enumerable:!0,get:function(){return Es.KX_SIG_VERSION}});var Sr=nu();Object.defineProperty(re,"generateIdentityKeyPair",{enumerable:!0,get:function(){return Sr.generateIdentityKeyPair}});Object.defineProperty(re,"identityPublicFromSecret",{enumerable:!0,get:function(){return Sr.identityPublicFromSecret}});Object.defineProperty(re,"signSessionKey",{enumerable:!0,get:function(){return Sr.signSessionKey}});Object.defineProperty(re,"verifySessionKey",{enumerable:!0,get:function(){return Sr.verifySessionKey}});Object.defineProperty(re,"buildKxCanonical",{enumerable:!0,get:function(){return Sr.buildKxCanonical}});Object.defineProperty(re,"buildKxAckCanonical",{enumerable:!0,get:function(){return Sr.buildKxAckCanonical}});Object.defineProperty(re,"fingerprintIdentityKey",{enumerable:!0,get:function(){return Sr.fingerprintIdentityKey}});Object.defineProperty(re,"fingerprintShortHex",{enumerable:!0,get:function(){return Sr.fingerprintShortHex}});Object.defineProperty(re,"concatBytes",{enumerable:!0,get:function(){return Sr.concatBytes}});var vs=iu();Object.defineProperty(re,"encrypt",{enumerable:!0,get:function(){return vs.encrypt}});Object.defineProperty(re,"decrypt",{enumerable:!0,get:function(){return vs.decrypt}});Object.defineProperty(re,"encryptBinary",{enumerable:!0,get:function(){return vs.encryptBinary}});Object.defineProperty(re,"decryptBinary",{enumerable:!0,get:function(){return vs.decryptBinary}});var ln=su();Object.defineProperty(re,"generateKeyPair",{enumerable:!0,get:function(){return ln.generateKeyPair}});Object.defineProperty(re,"deriveSharedSecret",{enumerable:!0,get:function(){return ln.deriveSharedSecret}});Object.defineProperty(re,"deriveMetaSid",{enumerable:!0,get:function(){return ln.deriveMetaSid}});Object.defineProperty(re,"isValidPublicKey",{enumerable:!0,get:function(){return ln.isValidPublicKey}});Object.defineProperty(re,"clearKey",{enumerable:!0,get:function(){return ln.clearKey}});Object.defineProperty(re,"keyToBase64",{enumerable:!0,get:function(){return ln.keyToBase64}});Object.defineProperty(re,"base64ToKey",{enumerable:!0,get:function(){return ln.base64ToKey}})});var cu=L(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.MIN_CLIENT_VERSION=Pt.PROTOCOL_VERSION_MINOR=Pt.PROTOCOL_VERSION_MAJOR=Pt.PROTOCOL_VERSION=void 0;Pt.isCompatibleVersion=yg;Pt.compareVersions=_g;Pt.PROTOCOL_VERSION="2.1";Pt.PROTOCOL_VERSION_MAJOR=2;Pt.PROTOCOL_VERSION_MINOR=1;Pt.MIN_CLIENT_VERSION="2.0";function yg(r){let[e]=r.split(".").map(Number);return e===Pt.PROTOCOL_VERSION_MAJOR}function _g(r,e){let[t,n]=r.split(".").map(Number),[i,s]=e.split(".").map(Number);return t!==i?t<i?-1:1:n!==s?n<s?-1:1:0}});var fu=L(ar=>{"use strict";Object.defineProperty(ar,"__esModule",{value:!0});ar.SERVER_CAPABILITIES=ar.DEFAULT_CLIENT_CAPABILITIES=ar.Capability=void 0;ar.hasCapability=bg;ar.negotiateCapabilities=Eg;var Bn;(function(r){r.FILE_TRANSFER="file-transfer",r.RELIABLE_MESSAGING="reliable-messaging",r.COMPRESSION="compression",r.E2E_ENCRYPTION="e2e-encryption",r.PRIORITY_QUEUES="priority-queues",r.OFFLINE_QUEUE="offline-queue",r.MULTI_DEVICE="multi-device",r.TERMINAL_EVENTS="terminal-events",r.E2E_PRIVACY="e2e-privacy",r.RELIABLE_INPUT="reliable-input",r.MULTI_VIEWER_RENDER="multi-viewer-render"})(Bn||(ar.Capability=Bn={}));ar.DEFAULT_CLIENT_CAPABILITIES=[Bn.E2E_ENCRYPTION,Bn.TERMINAL_EVENTS,Bn.RELIABLE_INPUT];ar.SERVER_CAPABILITIES=Object.values(Bn);function bg(r,e){return r.includes(e)}function Eg(r,e){return r.filter(t=>e.includes(t))}});var uu=L(Tr=>{"use strict";Object.defineProperty(Tr,"__esModule",{value:!0});Tr.DEFAULT_PRIORITY=Tr.PRIORITY_NAMES=Tr.Priority=void 0;Tr.comparePriority=vg;var hn;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})(hn||(Tr.Priority=hn={}));Tr.PRIORITY_NAMES={[hn.CRITICAL]:"CRITICAL",[hn.HIGH]:"HIGH",[hn.NORMAL]:"NORMAL",[hn.LOW]:"LOW"};Tr.DEFAULT_PRIORITY=hn.NORMAL;function vg(r,e){return r-e}});var lu=L(cr=>{"use strict";Object.defineProperty(cr,"__esModule",{value:!0});cr.DEFAULT_RELIABILITY=cr.RELIABILITY_NAMES=cr.Reliability=void 0;cr.requiresAck=wg;cr.requiresBuffer=xg;var qr;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(qr||(cr.Reliability=qr={}));cr.RELIABILITY_NAMES={[qr.FIRE_FORGET]:"FIRE_FORGET",[qr.BUFFERED]:"BUFFERED",[qr.GUARANTEED]:"GUARANTEED"};cr.DEFAULT_RELIABILITY=qr.FIRE_FORGET;function wg(r){return r===qr.GUARANTEED}function xg(r){return r>=qr.BUFFERED}});var hu=L(na=>{"use strict";Object.defineProperty(na,"__esModule",{value:!0});na.createMessage=Sg;function Sg(r,e,t={}){return{id:crypto.randomUUID(),type:r,payload:e,priority:t.priority??2,reliability:t.reliability??0,seq:t.seq,timestamp:new Date().toISOString()}}});var du=L(dn=>{"use strict";Object.defineProperty(dn,"__esModule",{value:!0});dn.TerminalEventType=void 0;dn.deriveStatusFromEvent=Tg;dn.shouldTriggerPushNotification=Cg;dn.getPushNotificationMessage=kg;var bt;(function(r){r.SESSION_START="session_start",r.SESSION_END="session_end",r.MESSAGE="message",r.TOOL_START="tool_start",r.TOOL_END="tool_end",r.WAITING_INPUT="waiting_input",r.ERROR="error"})(bt||(dn.TerminalEventType=bt={}));function Tg(r){switch(r.type){case bt.SESSION_START:case bt.TOOL_START:case bt.MESSAGE:return"working";case bt.WAITING_INPUT:return"waiting";case bt.SESSION_END:return r.status==="success"?"completed":"error";case bt.ERROR:return r.severity==="fatal"?"error":"working";case bt.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function Cg(r){switch(r.type){case bt.WAITING_INPUT:return!0;case bt.SESSION_END:return!0;case bt.ERROR:return r.severity!=="warning";default:return!1}}function kg(r,e){switch(r.type){case bt.WAITING_INPUT:{let t=r.question;return{title:`${e}: Input Required`,body:t?t.slice(0,100):"Waiting for your input"}}case bt.SESSION_END:{let t=r;return t.status==="success"?{title:`${e}: Task Completed`,body:t.summary||"Session finished successfully"}:{title:`${e}: Task Failed`,body:t.summary||"Session ended with error"}}case bt.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var mu=L($e=>{"use strict";Object.defineProperty($e,"__esModule",{value:!0});$e.TransferDirection=$e.TransferStatus=$e.CHUNK_TTL_SECONDS=$e.TRANSFER_TTL_SECONDS=$e.MAX_RETRIES=$e.ACK_TIMEOUT_MS=$e.WINDOW_SIZE=$e.DEFAULT_MAX_FILE_SIZE=$e.CHUNK_SIZE=void 0;$e.calculateTotalChunks=Og;$e.getMissingChunks=Pg;$e.isTransferComplete=Ag;$e.CHUNK_SIZE=64*1024;$e.DEFAULT_MAX_FILE_SIZE=100*1024*1024;$e.WINDOW_SIZE=10;$e.ACK_TIMEOUT_MS=3e4;$e.MAX_RETRIES=3;$e.TRANSFER_TTL_SECONDS=1440*60;$e.CHUNK_TTL_SECONDS=1440*60;var pu;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(pu||($e.TransferStatus=pu={}));var gu;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(gu||($e.TransferDirection=gu={}));function Og(r,e=$e.CHUNK_SIZE){return Math.ceil(r/e)}function Pg(r,e){let t=new Set(e),n=[];for(let i=0;i<r;i++)t.has(i)||n.push(i);return n}function Ag(r,e){return e.length===r}});var yu=L(Cr=>{"use strict";Object.defineProperty(Cr,"__esModule",{value:!0});Cr.ERROR_MESSAGES=Cr.ErrorCode=void 0;Cr.createError=Rg;Cr.isRetryableError=Ig;var Ie;(function(r){r.AUTH_FAILED="E001",r.TOKEN_EXPIRED="E002",r.TOKEN_INVALID="E003",r.NOT_FOUND="E011",r.ALREADY_EXISTS="E012",r.ACCESS_DENIED="E021",r.FORBIDDEN="E022",r.RATE_LIMITED="E031",r.TOO_MANY_CONNECTIONS="E032",r.QUOTA_EXCEEDED="E041",r.FILE_TOO_LARGE="E042",r.QUEUE_FULL="E043",r.TRANSFERS_LIMIT="E044",r.TRANSFER_FAILED="E051",r.TRANSFER_EXPIRED="E052",r.TRANSFER_CANCELLED="E053",r.CHECKSUM_MISMATCH="E054",r.CHUNK_MISSING="E055",r.INVALID_MESSAGE="E061",r.UNSUPPORTED_VERSION="E062",r.CAPABILITY_REQUIRED="E063",r.INVALID_STATE="E071",r.TIMEOUT="E072",r.CONNECTION_LOST="E073",r.INTERNAL_ERROR="E091",r.SERVICE_UNAVAILABLE="E092"})(Ie||(Cr.ErrorCode=Ie={}));Cr.ERROR_MESSAGES={[Ie.AUTH_FAILED]:"Authentication failed",[Ie.TOKEN_EXPIRED]:"Token expired",[Ie.TOKEN_INVALID]:"Invalid token",[Ie.NOT_FOUND]:"Resource not found",[Ie.ALREADY_EXISTS]:"Resource already exists",[Ie.ACCESS_DENIED]:"Access denied",[Ie.FORBIDDEN]:"Operation forbidden",[Ie.RATE_LIMITED]:"Rate limit exceeded",[Ie.TOO_MANY_CONNECTIONS]:"Too many connections",[Ie.QUOTA_EXCEEDED]:"Plan quota exceeded",[Ie.FILE_TOO_LARGE]:"File size exceeds limit",[Ie.QUEUE_FULL]:"Message queue is full",[Ie.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Ie.TRANSFER_FAILED]:"File transfer failed",[Ie.TRANSFER_EXPIRED]:"Transfer expired",[Ie.TRANSFER_CANCELLED]:"Transfer cancelled",[Ie.CHECKSUM_MISMATCH]:"File checksum mismatch",[Ie.CHUNK_MISSING]:"Chunk missing or corrupted",[Ie.INVALID_MESSAGE]:"Invalid message format",[Ie.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Ie.CAPABILITY_REQUIRED]:"Required capability not supported",[Ie.INVALID_STATE]:"Invalid state for this operation",[Ie.TIMEOUT]:"Operation timed out",[Ie.CONNECTION_LOST]:"Connection lost",[Ie.INTERNAL_ERROR]:"Internal server error",[Ie.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Rg(r,e={}){return{code:r,message:e.message||Cr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Ig(r){return[Ie.RATE_LIMITED,Ie.TIMEOUT,Ie.CONNECTION_LOST,Ie.SERVICE_UNAVAILABLE].includes(r)}});var vu=L(At=>{"use strict";Object.defineProperty(At,"__esModule",{value:!0});At.FileEntryType=At.DiffBase=At.FileViewType=At.FileChangeType=void 0;At.getLanguageFromPath=Lg;At.parseUnifiedDiff=Ng;At.createSimpleDiff=Mg;var Wr;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(Wr||(At.FileChangeType=Wr={}));var _u;(function(r){r.CONTENT="content",r.DIFF="diff"})(_u||(At.FileViewType=_u={}));var bu;(function(r){r.GIT="git",r.PREVIOUS="previous"})(bu||(At.DiffBase=bu={}));function Lg(r){let e=r.split(".").pop()?.toLowerCase(),t={js:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",mjs:"javascript",cjs:"javascript",html:"html",htm:"html",css:"css",scss:"scss",sass:"scss",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",toml:"toml",md:"markdown",mdx:"markdown",env:"plaintext",gitignore:"plaintext",dockerignore:"plaintext",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",py:"python",pyw:"python",pyi:"python",go:"go",rs:"rust",java:"java",kt:"kotlin",kts:"kotlin",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",sql:"sql",graphql:"graphql",gql:"graphql",prisma:"prisma",dockerfile:"dockerfile"},n=r.split("/").pop()?.toLowerCase()||"";return{dockerfile:"dockerfile",makefile:"makefile",".gitignore":"plaintext",".env":"plaintext",".env.local":"plaintext",".env.development":"plaintext",".env.production":"plaintext"}[n]||t[e||""]||"plaintext"}function Ng(r,e){let t=r.split(`
|
|
3
|
+
`),n=[],i=0,s=0,a=null,c=0,u=0;for(let p of t){if(p.startsWith("diff ")||p.startsWith("index ")||p.startsWith("---")||p.startsWith("+++"))continue;let m=p.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let _=parseInt(m[1],10),E=parseInt(m[2]||"1",10),S=parseInt(m[3],10),C=parseInt(m[4]||"1",10);a={oldStart:_,oldLines:E,newStart:S,newLines:C,lines:[]},c=_,u=S;continue}a&&(p.startsWith("+")?(a.lines.push({type:"add",content:p.slice(1),oldLineNumber:null,newLineNumber:u++}),i++):p.startsWith("-")?(a.lines.push({type:"remove",content:p.slice(1),oldLineNumber:c++,newLineNumber:null}),s++):(p.startsWith(" ")||p==="")&&a.lines.push({type:"context",content:p.startsWith(" ")?p.slice(1):p,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let h;return s===0&&i>0&&n.length===1&&n[0].oldLines===0?h=Wr.CREATE:i===0&&s>0&&n.length===1&&n[0].newLines===0?h=Wr.DELETE:h=Wr.MODIFY,{path:e,changeType:h,hunks:n,additions:i,deletions:s,isBinary:!1}}function Mg(r,e,t){let n=r.split(`
|
|
4
4
|
`),i=e.split(`
|
|
5
|
-
`),s=[],a=0,c=0,u=Math.max(n.length,i.length);for(let p=0;p<u;p++){let m=n[p],_=i[p];m===_?m!==void 0&&s.push({type:"context",content:m,oldLineNumber:p+1,newLineNumber:p+1}):(m!==void 0&&(s.push({type:"remove",content:m,oldLineNumber:p+1,newLineNumber:null}),c++),_!==void 0&&(s.push({type:"add",content:_,oldLineNumber:null,newLineNumber:p+1}),a++))}let h;return r===""?h=qr.CREATE:e===""?h=qr.DELETE:h=qr.MODIFY,{path:t,changeType:h,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:i.length,lines:s}],additions:a,deletions:c,isBinary:!1}}var Eu;(function(r){r.FILE="file",r.DIRECTORY="directory"})(Eu||(At.FileEntryType=Eu={}))});var wu=L(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.createSimpleDiff=N.parseUnifiedDiff=N.getLanguageFromPath=N.FileEntryType=N.DiffBase=N.FileViewType=N.FileChangeType=N.isRetryableError=N.createError=N.ERROR_MESSAGES=N.ErrorCode=N.isTransferComplete=N.getMissingChunks=N.calculateTotalChunks=N.TransferDirection=N.TransferStatus=N.CHUNK_TTL_SECONDS=N.TRANSFER_TTL_SECONDS=N.MAX_RETRIES=N.ACK_TIMEOUT_MS=N.WINDOW_SIZE=N.DEFAULT_MAX_FILE_SIZE=N.CHUNK_SIZE=N.getPushNotificationMessage=N.shouldTriggerPushNotification=N.deriveStatusFromEvent=N.TerminalEventType=N.createMessage=N.requiresBuffer=N.requiresAck=N.DEFAULT_RELIABILITY=N.RELIABILITY_NAMES=N.Reliability=N.comparePriority=N.DEFAULT_PRIORITY=N.PRIORITY_NAMES=N.Priority=N.negotiateCapabilities=N.hasCapability=N.SERVER_CAPABILITIES=N.DEFAULT_CLIENT_CAPABILITIES=N.Capability=N.compareVersions=N.isCompatibleVersion=N.MIN_CLIENT_VERSION=N.PROTOCOL_VERSION_MINOR=N.PROTOCOL_VERSION_MAJOR=N.PROTOCOL_VERSION=void 0;var jn=cu();Object.defineProperty(N,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION}});Object.defineProperty(N,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(N,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION_MINOR}});Object.defineProperty(N,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return jn.MIN_CLIENT_VERSION}});Object.defineProperty(N,"isCompatibleVersion",{enumerable:!0,get:function(){return jn.isCompatibleVersion}});Object.defineProperty(N,"compareVersions",{enumerable:!0,get:function(){return jn.compareVersions}});var Ti=fu();Object.defineProperty(N,"Capability",{enumerable:!0,get:function(){return Ti.Capability}});Object.defineProperty(N,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return Ti.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(N,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return Ti.SERVER_CAPABILITIES}});Object.defineProperty(N,"hasCapability",{enumerable:!0,get:function(){return Ti.hasCapability}});Object.defineProperty(N,"negotiateCapabilities",{enumerable:!0,get:function(){return Ti.negotiateCapabilities}});var ws=uu();Object.defineProperty(N,"Priority",{enumerable:!0,get:function(){return ws.Priority}});Object.defineProperty(N,"PRIORITY_NAMES",{enumerable:!0,get:function(){return ws.PRIORITY_NAMES}});Object.defineProperty(N,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return ws.DEFAULT_PRIORITY}});Object.defineProperty(N,"comparePriority",{enumerable:!0,get:function(){return ws.comparePriority}});var Ci=lu();Object.defineProperty(N,"Reliability",{enumerable:!0,get:function(){return Ci.Reliability}});Object.defineProperty(N,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return Ci.RELIABILITY_NAMES}});Object.defineProperty(N,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return Ci.DEFAULT_RELIABILITY}});Object.defineProperty(N,"requiresAck",{enumerable:!0,get:function(){return Ci.requiresAck}});Object.defineProperty(N,"requiresBuffer",{enumerable:!0,get:function(){return Ci.requiresBuffer}});var Fg=hu();Object.defineProperty(N,"createMessage",{enumerable:!0,get:function(){return Fg.createMessage}});var xs=du();Object.defineProperty(N,"TerminalEventType",{enumerable:!0,get:function(){return xs.TerminalEventType}});Object.defineProperty(N,"deriveStatusFromEvent",{enumerable:!0,get:function(){return xs.deriveStatusFromEvent}});Object.defineProperty(N,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return xs.shouldTriggerPushNotification}});Object.defineProperty(N,"getPushNotificationMessage",{enumerable:!0,get:function(){return xs.getPushNotificationMessage}});var Ft=mu();Object.defineProperty(N,"CHUNK_SIZE",{enumerable:!0,get:function(){return Ft.CHUNK_SIZE}});Object.defineProperty(N,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return Ft.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(N,"WINDOW_SIZE",{enumerable:!0,get:function(){return Ft.WINDOW_SIZE}});Object.defineProperty(N,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return Ft.ACK_TIMEOUT_MS}});Object.defineProperty(N,"MAX_RETRIES",{enumerable:!0,get:function(){return Ft.MAX_RETRIES}});Object.defineProperty(N,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return Ft.TRANSFER_TTL_SECONDS}});Object.defineProperty(N,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return Ft.CHUNK_TTL_SECONDS}});Object.defineProperty(N,"TransferStatus",{enumerable:!0,get:function(){return Ft.TransferStatus}});Object.defineProperty(N,"TransferDirection",{enumerable:!0,get:function(){return Ft.TransferDirection}});Object.defineProperty(N,"calculateTotalChunks",{enumerable:!0,get:function(){return Ft.calculateTotalChunks}});Object.defineProperty(N,"getMissingChunks",{enumerable:!0,get:function(){return Ft.getMissingChunks}});Object.defineProperty(N,"isTransferComplete",{enumerable:!0,get:function(){return Ft.isTransferComplete}});var Ss=yu();Object.defineProperty(N,"ErrorCode",{enumerable:!0,get:function(){return Ss.ErrorCode}});Object.defineProperty(N,"ERROR_MESSAGES",{enumerable:!0,get:function(){return Ss.ERROR_MESSAGES}});Object.defineProperty(N,"createError",{enumerable:!0,get:function(){return Ss.createError}});Object.defineProperty(N,"isRetryableError",{enumerable:!0,get:function(){return Ss.isRetryableError}});var dn=vu();Object.defineProperty(N,"FileChangeType",{enumerable:!0,get:function(){return dn.FileChangeType}});Object.defineProperty(N,"FileViewType",{enumerable:!0,get:function(){return dn.FileViewType}});Object.defineProperty(N,"DiffBase",{enumerable:!0,get:function(){return dn.DiffBase}});Object.defineProperty(N,"FileEntryType",{enumerable:!0,get:function(){return dn.FileEntryType}});Object.defineProperty(N,"getLanguageFromPath",{enumerable:!0,get:function(){return dn.getLanguageFromPath}});Object.defineProperty(N,"parseUnifiedDiff",{enumerable:!0,get:function(){return dn.parseUnifiedDiff}});Object.defineProperty(N,"createSimpleDiff",{enumerable:!0,get:function(){return dn.createSimpleDiff}})});var kr=L(fr=>{"use strict";var Dg=fr&&fr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Ts=fr&&fr.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Dg(e,r,t)};Object.defineProperty(fr,"__esModule",{value:!0});Ts(Qf(),fr);Ts(eu(),fr);Ts(au(),fr);Ts(wu(),fr)});var ia=L(Xe=>{"use strict";var Bg=Xe&&Xe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Xe,"__esModule",{value:!0});Xe.FP_LABEL=Xe.KX_ACK_LABEL=Xe.KX_SIGN_LABEL=void 0;Xe.concatBytes=ki;Xe.generateIdentityKeyPair=jg;Xe.identityPublicFromSecret=Ug;Xe.signSessionKey=Kg;Xe.verifySessionKey=qg;Xe.buildKxCanonical=Wg;Xe.buildKxAckCanonical=Hg;Xe.fingerprintIdentityKey=Vg;Xe.fingerprintShortHex=$g;var ur=Bg(wi()),Rt=xi();Xe.KX_SIGN_LABEL="termiq-kx-v1";Xe.KX_ACK_LABEL="termiq-kxack-v1";Xe.FP_LABEL="termiq-fp-v1";function ki(...r){let e=0;for(let i of r)e+=i.length;let t=new Uint8Array(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function jg(){let r=ur.default.sign.keyPair();return{identityPublicKey:(0,Rt.encodeBase64)(r.publicKey),identitySecretKey:(0,Rt.encodeBase64)(r.secretKey)}}function Ug(r){let e=(0,Rt.decodeBase64)(r);if(e.length!==ur.default.sign.secretKeyLength)throw new Error("bad identity secret key length");let t=ur.default.sign.keyPair.fromSecretKey(e);return(0,Rt.encodeBase64)(t.publicKey)}function Kg(r,e){let t=(0,Rt.decodeBase64)(e);if(t.length!==ur.default.sign.secretKeyLength)throw new Error("bad identity secret key length");return(0,Rt.encodeBase64)(ur.default.sign.detached(r,t))}function qg(r,e,t){try{let n=(0,Rt.decodeBase64)(e),i=(0,Rt.decodeBase64)(t);return i.length!==ur.default.sign.publicKeyLength||n.length!==ur.default.sign.signatureLength?!1:ur.default.sign.detached.verify(r,n,i)}catch{return!1}}var pn=new Uint8Array([0]);function Wg(r){let e=new TextEncoder,t=e.encode(Xe.KX_SIGN_LABEL),n=e.encode(r.agentId),i=e.encode(String(r.keyVersion)),s=(0,Rt.decodeBase64)(r.boxPublicKey);return ki(t,pn,n,pn,i,pn,s)}function Hg(r){let e=new TextEncoder;return ki(e.encode(Xe.KX_ACK_LABEL),pn,e.encode(r.agentId),pn,e.encode(String(r.keyVersion)),pn,(0,Rt.decodeBase64)(r.boxPublicKey),pn,(0,Rt.decodeBase64)(r.boundClientKey))}function Vg(r){let e=(0,Rt.decodeBase64)(r),t=ki(new TextEncoder().encode(Xe.FP_LABEL),e),n=ur.default.hash(t),i=[];for(let s=0;s<12;s++){let a=s*5,u=(((n[a]<<24>>>0)+(n[a+1]<<16)+(n[a+2]<<8)+n[a+3]^n[a+4])>>>0)%1e5;i.push(String(u).padStart(5,"0"))}return i.join(" ")}function $g(r){let e=(0,Rt.decodeBase64)(r),t=ki(new TextEncoder().encode(Xe.FP_LABEL),e),n=ur.default.hash(t).slice(0,8);return Array.from(n).map(i=>i.toString(16).padStart(2,"0")).join(":").toUpperCase()}});var Su=L(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.CryptoService=void 0;var st=kr(),Wr=ia(),zg=3600*1e3,xu=10,sa=class{storage;logger;sessions=new Map;agentSessions=new Map;metaSessions=new Map;keyPair=null;identityKeyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;identityPublicKeyKey;identitySecretKeyKey;constructor(e,t,n,i){this.storage=e,this.logger=t;let s=`termiq.${n}.${i}`;this.publicKeyKey=`${s}.crypto.publicKey`,this.secretKeyKey=`${s}.crypto.secretKey`,this.keyVersionKey=`${s}.crypto.keyVersion`,this.identityPublicKeyKey=`${s}.crypto.identityPublicKey`,this.identitySecretKeyKey=`${s}.crypto.identitySecretKey`,this.logger.info("CryptoService namespace",n,i)}async initialize(){let e=await this.storage.get(this.publicKeyKey),t=await this.storage.get(this.secretKeyKey);e&&t?(this.keyPair={publicKey:e,secretKey:t},this.logger.info("Loaded existing box key pair")):await this.generateBoxKeyPair(),await this.ensureIdentityKeyPair()}async generateBoxKeyPair(){this.logger.info("Generating new box key pair"),this.keyPair=(0,st.generateKeyPair)(),await this.storage.set(this.publicKeyKey,this.keyPair.publicKey),await this.storage.set(this.secretKeyKey,this.keyPair.secretKey);let e=await this.getKeyVersion();return await this.storage.set(this.keyVersionKey,String(e+1)),this.logger.info("Box key pair generated and stored"),this.keyPair}async generateIdentityKeyPair(){return this.generateBoxKeyPair()}async ensureIdentityKeyPair(){if(this.identityKeyPair)return this.identityKeyPair;let e=await this.storage.get(this.identitySecretKeyKey),t=await this.storage.get(this.identityPublicKeyKey);return e?(t||(t=(0,Wr.identityPublicFromSecret)(e),await this.storage.set(this.identityPublicKeyKey,t)),this.identityKeyPair={identityPublicKey:t,identitySecretKey:e},this.logger.info("Loaded existing identity (Ed25519) key pair"),this.identityKeyPair):(this.logger.info("Generating new identity (Ed25519) key pair"),this.identityKeyPair=(0,Wr.generateIdentityKeyPair)(),await this.storage.set(this.identityPublicKeyKey,this.identityKeyPair.identityPublicKey),await this.storage.set(this.identitySecretKeyKey,this.identityKeyPair.identitySecretKey),this.logger.info("Identity (Ed25519) key pair generated and stored"),this.identityKeyPair)}async getIdentityPublicKey(){return(await this.ensureIdentityKeyPair()).identityPublicKey}async getPublicKey(){return this.keyPair?this.keyPair.publicKey:await this.storage.get(this.publicKeyKey)||null}async getKeyVersion(){let e=await this.storage.get(this.keyVersionKey);return e?parseInt(e,10):1}async getSignedAgentKey(e){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return this.logger.error("No box key pair available for signing"),null;let t=await this.ensureIdentityKeyPair(),n=await this.getKeyVersion(),i=this.keyPair.publicKey,s=(0,Wr.buildKxCanonical)({agentId:e,keyVersion:n,boxPublicKey:i}),a=(0,Wr.signSessionKey)(s,t.identitySecretKey);return{boxPublicKey:i,identityPublicKey:t.identityPublicKey,keyVersion:n,signature:a,sigVersion:1}}async signKeyExchangeAck(e,t){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return this.logger.error("No box key pair available for ACK signing"),null;let n=await this.ensureIdentityKeyPair(),i=await this.getKeyVersion(),s=(0,Wr.buildKxAckCanonical)({agentId:e,keyVersion:i,boxPublicKey:this.keyPair.publicKey,boundClientKey:t});return(0,Wr.signSessionKey)(s,n.identitySecretKey)}async getSafetyNumber(){let e=await this.ensureIdentityKeyPair();return(0,Wr.fingerprintIdentityKey)(e.identityPublicKey)}async getShortFingerprint(){let e=await this.ensureIdentityKeyPair();return(0,Wr.fingerprintShortHex)(e.identityPublicKey)}async handleKeyExchange(e,t,n){if(!this.keyPair&&(this.logger.warn("Key pair missing, attempting re-initialization"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available after re-initialization"),!1;this.logger.info("Starting key exchange",e,n);try{let i=this.sessions.get(e);i||(i=new Map,this.sessions.set(e,i));let s=(0,st.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:s,createdAt:Date.now(),sessionId:n};return i.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",i.size),!0}catch(i){return this.logger.error("Key exchange failed",i),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let s=n.values().next().value;return s?(0,st.encrypt)(t,s.sharedSecret,s.sessionId):null}let i=[];for(let s of n.values()){let a=(0,st.encrypt)(t,s.sharedSecret,s.sessionId);i.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:i}}catch(i){return this.logger.error("Encryption failed",i),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let i=n.get(t.sid);if(!i)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,st.decrypt)(t,i.sharedSecret)}catch(s){return this.logger.error("Decryption failed",s),null}}encryptFileChunk(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;let i=null;for(let s of n.values())(!i||s.createdAt>i.createdAt)&&(i=s);if(!i)return null;try{return(0,st.encryptBinary)(t,i.sharedSecret,i.sessionId)}catch(s){return this.logger.error("File chunk encryption failed",s),null}}decryptFileChunk(e,t){let n=this.sessions.get(e)?.get(t.sid);if(!n)return this.logger.error("No session for file chunk",e,t.sid),null;try{return(0,st.decryptBinary)(t,n.sharedSecret)}catch(i){return this.logger.error("File chunk decryption failed",i),null}}hasSession(e){let t=this.sessions.get(e);return t!==void 0&&t.size>0}removeSession(e,t){let n=this.sessions.get(e);if(n)if(t){let i=n.get(t);i&&((0,st.clearKey)(i.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let i of n.values())(0,st.clearKey)(i.sharedSecret);this.sessions.delete(e),this.logger.debug("All sessions removed for terminal",e)}}clearAllSessions(){for(let e of this.sessions.values())for(let t of e.values())(0,st.clearKey)(t.sharedSecret);this.sessions.clear(),this.logger.debug("All sessions cleared")}cleanupStaleSessions(e){let t=this.sessions.get(e);if(!t||t.size===0)return;let n=Date.now(),i=[];for(let[s,a]of t)n-a.createdAt>zg&&i.push(s);for(let s of i){let a=t.get(s);a&&((0,st.clearKey)(a.sharedSecret),t.delete(s),this.logger.info("Session expired (TTL)",e,s,`age:${Math.round((n-a.createdAt)/1e3)}s`))}if(t.size>xu){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-xu);for(let[,c]of a)(0,st.clearKey)(c.sharedSecret),t.delete(c.sessionId)}t.size===0&&this.sessions.delete(e)}cleanupAllStaleSessions(){for(let e of this.sessions.keys())this.cleanupStaleSessions(e)}getSessionInfo(){let e=[];for(let[t,n]of this.sessions.entries())for(let i of n.values())e.push({terminalId:t,createdAt:i.createdAt,sessionId:i.sessionId});return e}async handleAgentKeyExchange(e,t){if(!this.keyPair&&(this.logger.warn("Key pair missing for agent key exchange"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available for agent key exchange"),!1;try{let n=this.agentSessions.get(t);n&&(this.logger.info("Rekeying existing agent session",t),(0,st.clearKey)(n.sharedSecret));let i=(0,st.deriveSharedSecret)(e,this.keyPair.secretKey),s={sessionId:t,clientPublicKey:e,sharedSecret:i,createdAt:Date.now()};return this.agentSessions.set(t,s),this.logger.info("Agent key exchange completed",t,"total:",this.agentSessions.size),!0}catch(n){return this.logger.error("Agent key exchange failed",n),!1}}removeAgentSession(e){let t=this.agentSessions.get(e);t&&((0,st.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}async handleMetaKeyExchange(e){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return{ok:!1,isNew:!1};try{let t=!this.metaSessions.has(e),n=(0,st.deriveSharedSecret)(e,this.keyPair.secretKey),i=(0,st.deriveMetaSid)(this.keyPair.publicKey,e);return this.metaSessions.set(e,{clientIdentityPub:e,sharedSecret:n,sidMeta:i}),this.logger.info("Meta key exchange completed",i,"isNew:",t,"total:",this.metaSessions.size),{ok:!0,isNew:t}}catch(t){return this.logger.error("Meta key exchange failed",t),{ok:!1,isNew:!1}}}hasMetaSession(){return this.metaSessions.size>0}encryptWorkspaceInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptTerminalInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptPromptInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptForMeta(e){if(this.metaSessions.size===0)return null;try{if(this.metaSessions.size===1){let n=this.metaSessions.values().next().value;return n?(0,st.encrypt)(e,n.sharedSecret,n.sidMeta):null}let t=[];for(let n of this.metaSessions.values()){let i=(0,st.encrypt)(e,n.sharedSecret,n.sidMeta);t.push({sid:i.sid,n:i.n,c:i.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Meta encryption failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,st.clearKey)(e.sharedSecret);this.agentSessions.clear(),this.logger.debug("All agent sessions cleared")}async deleteKeys(){await this.storage.delete(this.publicKeyKey),await this.storage.delete(this.secretKeyKey),await this.storage.delete(this.keyVersionKey),await this.storage.delete(this.identityPublicKeyKey),await this.storage.delete(this.identitySecretKeyKey),this.keyPair=null,this.identityKeyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};Cs.CryptoService=sa});var Tu=L(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.AuthService=void 0;var Oi=ds(),oa=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,i,s,a,c,u,h){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=i,this.logger=s,this.notification=a,this.browser=c;let p=`termiq.${u}.${h}`;this.tokenKey=`${p}.accessToken`,this.refreshTokenKey=`${p}.refreshToken`,this.agentIdKey=`${p}.agentId`,this.logger.info("AuthService namespace",u,h)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,Oi.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let s=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:i})});if(!s.ok){let a=await s.text();throw new Error(`Failed to get device code: ${a}`)}return s.json()}async pollForToken(e){this.cancelPolling();let t=(0,Oi.getApiUrl)(this.config),n=5e3,i=60;this.pollingAbortController=new AbortController;let s=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<i;a++){if(s.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),s.aborted)return this.logger.info("Polling was cancelled"),null;try{let c=await fetch(`${t}/auth/device/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e}),signal:s});if(!c.ok){if(c.status===403)try{let h=await c.json();if(h.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(h.current),"/",String(h.max)),this.notification.warn(`Agent limit reached (${h.current}/${h.max}). Upgrade your plan to add more devices.`),null}catch{}this.logger.warn("Poll request failed",String(c.status));continue}let u=await c.json();if(u.status==="success"&&u.accessToken)return this.logger.info("Token received successfully"),this.pollingAbortController=null,await this.saveTokens(u),u;if(u.status==="expired")return this.logger.warn("Device code expired"),null;if(u.status==="limit_exceeded")return this.logger.warn("Agent limit exceeded",String(u.current),"/",String(u.max)),this.notification.warn(`Agent limit reached (${u.current}/${u.max}). Remove an old agent or upgrade your plan.`),null;this.logger.debug("Token pending, continuing poll",String(a))}catch(c){if(s.aborted)return this.logger.info("Polling was cancelled"),null;let u=c instanceof Error?c.message:String(c);this.logger.warn(`Poll error: ${u}`)}}return this.logger.warn("Polling timed out"),this.pollingAbortController=null,null}async loginWithApiKey(e){let t=(0,Oi.getApiUrl)(this.config),n=await this.machineId.getMachineId(),i=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Logging in with API key");try{let a=await fetch(`${t}/auth/api-key/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e,machineId:n,machineName:i,publicKey:s})});if(!a.ok){let u=await a.text();return this.logger.error("API key login failed",u),!1}let c=await a.json();return c.accessToken?(await this.saveTokens(c),this.logger.info("API key login successful"),!0):!1}catch(a){return this.logger.error("API key login error",a),!1}}async hasValidToken(){let e=await this.storage.get(this.tokenKey);if(!e)return!1;try{let n=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()).exp*1e3;return Date.now()<n}catch{return!1}}async getAccessToken(){return await this.storage.get(this.tokenKey)||null}async getAgentId(){return await this.storage.get(this.agentIdKey)||null}async refreshAccessToken(){let e=await this.storage.get(this.refreshTokenKey);if(!e)return this.logger.debug("No refresh token available"),null;let t=(0,Oi.getApiUrl)(this.config);try{this.logger.info("Refreshing access token");let n=await fetch(`${t}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e})});if(!n.ok)return this.logger.warn("Token refresh failed",String(n.status)),n.status===401&&await this.storage.delete(this.refreshTokenKey),null;let i=await n.json();return await this.storage.set(this.tokenKey,i.accessToken),await this.storage.set(this.refreshTokenKey,i.refreshToken),this.logger.info("Access token refreshed successfully"),i.accessToken}catch(n){return this.logger.warn("Token refresh error",n),null}}async logout(){this.logger.info("Logging out"),this.cancelPolling(),await this.storage.delete(this.tokenKey),await this.storage.delete(this.refreshTokenKey),await this.storage.delete(this.agentIdKey),await this.cryptoService.deleteKeys()}async saveTokens(e){e.accessToken&&await this.storage.set(this.tokenKey,e.accessToken),e.refreshToken&&await this.storage.set(this.refreshTokenKey,e.refreshToken),e.agentId&&await this.storage.set(this.agentIdKey,e.agentId)}async getLimits(){let e=await this.getAccessToken();if(!e)return this.logger.warn("Cannot fetch limits: no access token"),null;let t=(0,Oi.getApiUrl)(this.config);try{let n=await fetch(`${t}/users/me/limits`,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});return n.ok?await n.json():(this.logger.error("Failed to fetch limits",String(n.status)),null)}catch(n){let i=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${i}`),null}}async openUrl(e){await this.browser.openUrl(e)}async canCreateTerminal(){let e=await this.getLimits();return e?e.terminals.unlimited?{allowed:!0,limits:e}:e.terminals.current>=e.terminals.max?{allowed:!1,reason:`Terminal limit reached (${e.terminals.current}/${e.terminals.max}). Upgrade your plan to create more terminals.`,limits:e}:{allowed:!0,limits:e}:{allowed:!0}}sleep(e){return new Promise(t=>setTimeout(t,e))}};ks.AuthService=oa});var Cu=L(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.scanOsc=Xg;Os.classifyTitle=Zg;var Gg=4096,aa=/\x1b\]([^\x1b\x07]*)(?:\x07|\x1b\\)/g,Yg="\x1B]";function Xg(r,e=""){let t=e+r,n=[];aa.lastIndex=0;let i=0,s;for(;(s=aa.exec(t))!==null;)n.push(s[1]),i=aa.lastIndex;let a=t.slice(i),c=a.lastIndexOf(Yg),u=c===-1?"":a.slice(c),h=u.indexOf("\x1B",1);return h!==-1&&h!==u.length-1&&(u=""),u.length>Gg&&(u=""),{seqs:n,carry:u}}var Jg=/^([012]);([\s\S]*)$/;function Zg(r){let e=r.match(Jg);if(!e)return null;let t=e[2].trim();return t?t.includes("Action Required")?{agent:t.startsWith("\u270B")?"gemini":/^\[\s*[!.]\s*\]/.test(t)?"codex":null,state:"waiting",title:t}:t.startsWith("\u2726")||t.startsWith("\u23F2")?{agent:"gemini",state:"working",title:t}:t.startsWith("\u25C7")?{agent:"gemini",state:"idle",title:t}:t.startsWith("\u25D0")||t.startsWith("\u25D1")?{agent:"claude",state:"working",title:t}:t.startsWith("\u2733")?{agent:"claude",state:"unknown",title:t}:{agent:null,state:"unknown",title:t}:{agent:null,state:"unknown",title:""}}});var Pu=L(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.MAX_TAIL_PLAIN=We.MAX_TAIL_WITH_SELECTOR=We.MAX_LABEL_LEN=We.MAX_QUESTION_LEN=We.classifyTitle=We.scanOsc=void 0;We.stripAnsi=fa;We.normalizeBuffer=Ou;We.clampQuestion=ca;We.promptKey=Qg;We.extractQuestion=em;We.extractNumberedChoices=tm;var ku=Cu();Object.defineProperty(We,"scanOsc",{enumerable:!0,get:function(){return ku.scanOsc}});Object.defineProperty(We,"classifyTitle",{enumerable:!0,get:function(){return ku.classifyTitle}});We.MAX_QUESTION_LEN=160;We.MAX_LABEL_LEN=100;We.MAX_TAIL_WITH_SELECTOR=12;We.MAX_TAIL_PLAIN=2;function fa(r){return r.replace(/\x1b\[[0-9]*[GC]/g," ").replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x1b\x07]*(?:\x07|\x1b\\)/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f]/g,"")}function Ou(r){return r.replace(/\r\n/g,`
|
|
5
|
+
`),s=[],a=0,c=0,u=Math.max(n.length,i.length);for(let p=0;p<u;p++){let m=n[p],_=i[p];m===_?m!==void 0&&s.push({type:"context",content:m,oldLineNumber:p+1,newLineNumber:p+1}):(m!==void 0&&(s.push({type:"remove",content:m,oldLineNumber:p+1,newLineNumber:null}),c++),_!==void 0&&(s.push({type:"add",content:_,oldLineNumber:null,newLineNumber:p+1}),a++))}let h;return r===""?h=Wr.CREATE:e===""?h=Wr.DELETE:h=Wr.MODIFY,{path:t,changeType:h,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:i.length,lines:s}],additions:a,deletions:c,isBinary:!1}}var Eu;(function(r){r.FILE="file",r.DIRECTORY="directory"})(Eu||(At.FileEntryType=Eu={}))});var wu=L(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.createSimpleDiff=N.parseUnifiedDiff=N.getLanguageFromPath=N.FileEntryType=N.DiffBase=N.FileViewType=N.FileChangeType=N.isRetryableError=N.createError=N.ERROR_MESSAGES=N.ErrorCode=N.isTransferComplete=N.getMissingChunks=N.calculateTotalChunks=N.TransferDirection=N.TransferStatus=N.CHUNK_TTL_SECONDS=N.TRANSFER_TTL_SECONDS=N.MAX_RETRIES=N.ACK_TIMEOUT_MS=N.WINDOW_SIZE=N.DEFAULT_MAX_FILE_SIZE=N.CHUNK_SIZE=N.getPushNotificationMessage=N.shouldTriggerPushNotification=N.deriveStatusFromEvent=N.TerminalEventType=N.createMessage=N.requiresBuffer=N.requiresAck=N.DEFAULT_RELIABILITY=N.RELIABILITY_NAMES=N.Reliability=N.comparePriority=N.DEFAULT_PRIORITY=N.PRIORITY_NAMES=N.Priority=N.negotiateCapabilities=N.hasCapability=N.SERVER_CAPABILITIES=N.DEFAULT_CLIENT_CAPABILITIES=N.Capability=N.compareVersions=N.isCompatibleVersion=N.MIN_CLIENT_VERSION=N.PROTOCOL_VERSION_MINOR=N.PROTOCOL_VERSION_MAJOR=N.PROTOCOL_VERSION=void 0;var jn=cu();Object.defineProperty(N,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION}});Object.defineProperty(N,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(N,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return jn.PROTOCOL_VERSION_MINOR}});Object.defineProperty(N,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return jn.MIN_CLIENT_VERSION}});Object.defineProperty(N,"isCompatibleVersion",{enumerable:!0,get:function(){return jn.isCompatibleVersion}});Object.defineProperty(N,"compareVersions",{enumerable:!0,get:function(){return jn.compareVersions}});var Ti=fu();Object.defineProperty(N,"Capability",{enumerable:!0,get:function(){return Ti.Capability}});Object.defineProperty(N,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return Ti.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(N,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return Ti.SERVER_CAPABILITIES}});Object.defineProperty(N,"hasCapability",{enumerable:!0,get:function(){return Ti.hasCapability}});Object.defineProperty(N,"negotiateCapabilities",{enumerable:!0,get:function(){return Ti.negotiateCapabilities}});var ws=uu();Object.defineProperty(N,"Priority",{enumerable:!0,get:function(){return ws.Priority}});Object.defineProperty(N,"PRIORITY_NAMES",{enumerable:!0,get:function(){return ws.PRIORITY_NAMES}});Object.defineProperty(N,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return ws.DEFAULT_PRIORITY}});Object.defineProperty(N,"comparePriority",{enumerable:!0,get:function(){return ws.comparePriority}});var Ci=lu();Object.defineProperty(N,"Reliability",{enumerable:!0,get:function(){return Ci.Reliability}});Object.defineProperty(N,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return Ci.RELIABILITY_NAMES}});Object.defineProperty(N,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return Ci.DEFAULT_RELIABILITY}});Object.defineProperty(N,"requiresAck",{enumerable:!0,get:function(){return Ci.requiresAck}});Object.defineProperty(N,"requiresBuffer",{enumerable:!0,get:function(){return Ci.requiresBuffer}});var Fg=hu();Object.defineProperty(N,"createMessage",{enumerable:!0,get:function(){return Fg.createMessage}});var xs=du();Object.defineProperty(N,"TerminalEventType",{enumerable:!0,get:function(){return xs.TerminalEventType}});Object.defineProperty(N,"deriveStatusFromEvent",{enumerable:!0,get:function(){return xs.deriveStatusFromEvent}});Object.defineProperty(N,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return xs.shouldTriggerPushNotification}});Object.defineProperty(N,"getPushNotificationMessage",{enumerable:!0,get:function(){return xs.getPushNotificationMessage}});var Ft=mu();Object.defineProperty(N,"CHUNK_SIZE",{enumerable:!0,get:function(){return Ft.CHUNK_SIZE}});Object.defineProperty(N,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return Ft.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(N,"WINDOW_SIZE",{enumerable:!0,get:function(){return Ft.WINDOW_SIZE}});Object.defineProperty(N,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return Ft.ACK_TIMEOUT_MS}});Object.defineProperty(N,"MAX_RETRIES",{enumerable:!0,get:function(){return Ft.MAX_RETRIES}});Object.defineProperty(N,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return Ft.TRANSFER_TTL_SECONDS}});Object.defineProperty(N,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return Ft.CHUNK_TTL_SECONDS}});Object.defineProperty(N,"TransferStatus",{enumerable:!0,get:function(){return Ft.TransferStatus}});Object.defineProperty(N,"TransferDirection",{enumerable:!0,get:function(){return Ft.TransferDirection}});Object.defineProperty(N,"calculateTotalChunks",{enumerable:!0,get:function(){return Ft.calculateTotalChunks}});Object.defineProperty(N,"getMissingChunks",{enumerable:!0,get:function(){return Ft.getMissingChunks}});Object.defineProperty(N,"isTransferComplete",{enumerable:!0,get:function(){return Ft.isTransferComplete}});var Ss=yu();Object.defineProperty(N,"ErrorCode",{enumerable:!0,get:function(){return Ss.ErrorCode}});Object.defineProperty(N,"ERROR_MESSAGES",{enumerable:!0,get:function(){return Ss.ERROR_MESSAGES}});Object.defineProperty(N,"createError",{enumerable:!0,get:function(){return Ss.createError}});Object.defineProperty(N,"isRetryableError",{enumerable:!0,get:function(){return Ss.isRetryableError}});var pn=vu();Object.defineProperty(N,"FileChangeType",{enumerable:!0,get:function(){return pn.FileChangeType}});Object.defineProperty(N,"FileViewType",{enumerable:!0,get:function(){return pn.FileViewType}});Object.defineProperty(N,"DiffBase",{enumerable:!0,get:function(){return pn.DiffBase}});Object.defineProperty(N,"FileEntryType",{enumerable:!0,get:function(){return pn.FileEntryType}});Object.defineProperty(N,"getLanguageFromPath",{enumerable:!0,get:function(){return pn.getLanguageFromPath}});Object.defineProperty(N,"parseUnifiedDiff",{enumerable:!0,get:function(){return pn.parseUnifiedDiff}});Object.defineProperty(N,"createSimpleDiff",{enumerable:!0,get:function(){return pn.createSimpleDiff}})});var kr=L(fr=>{"use strict";var Dg=fr&&fr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Ts=fr&&fr.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Dg(e,r,t)};Object.defineProperty(fr,"__esModule",{value:!0});Ts(Qf(),fr);Ts(eu(),fr);Ts(au(),fr);Ts(wu(),fr)});var ia=L(Xe=>{"use strict";var Bg=Xe&&Xe.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Xe,"__esModule",{value:!0});Xe.FP_LABEL=Xe.KX_ACK_LABEL=Xe.KX_SIGN_LABEL=void 0;Xe.concatBytes=ki;Xe.generateIdentityKeyPair=jg;Xe.identityPublicFromSecret=Ug;Xe.signSessionKey=Kg;Xe.verifySessionKey=qg;Xe.buildKxCanonical=Wg;Xe.buildKxAckCanonical=Hg;Xe.fingerprintIdentityKey=Vg;Xe.fingerprintShortHex=$g;var ur=Bg(wi()),Rt=xi();Xe.KX_SIGN_LABEL="termiq-kx-v1";Xe.KX_ACK_LABEL="termiq-kxack-v1";Xe.FP_LABEL="termiq-fp-v1";function ki(...r){let e=0;for(let i of r)e+=i.length;let t=new Uint8Array(e),n=0;for(let i of r)t.set(i,n),n+=i.length;return t}function jg(){let r=ur.default.sign.keyPair();return{identityPublicKey:(0,Rt.encodeBase64)(r.publicKey),identitySecretKey:(0,Rt.encodeBase64)(r.secretKey)}}function Ug(r){let e=(0,Rt.decodeBase64)(r);if(e.length!==ur.default.sign.secretKeyLength)throw new Error("bad identity secret key length");let t=ur.default.sign.keyPair.fromSecretKey(e);return(0,Rt.encodeBase64)(t.publicKey)}function Kg(r,e){let t=(0,Rt.decodeBase64)(e);if(t.length!==ur.default.sign.secretKeyLength)throw new Error("bad identity secret key length");return(0,Rt.encodeBase64)(ur.default.sign.detached(r,t))}function qg(r,e,t){try{let n=(0,Rt.decodeBase64)(e),i=(0,Rt.decodeBase64)(t);return i.length!==ur.default.sign.publicKeyLength||n.length!==ur.default.sign.signatureLength?!1:ur.default.sign.detached.verify(r,n,i)}catch{return!1}}var gn=new Uint8Array([0]);function Wg(r){let e=new TextEncoder,t=e.encode(Xe.KX_SIGN_LABEL),n=e.encode(r.agentId),i=e.encode(String(r.keyVersion)),s=(0,Rt.decodeBase64)(r.boxPublicKey);return ki(t,gn,n,gn,i,gn,s)}function Hg(r){let e=new TextEncoder;return ki(e.encode(Xe.KX_ACK_LABEL),gn,e.encode(r.agentId),gn,e.encode(String(r.keyVersion)),gn,(0,Rt.decodeBase64)(r.boxPublicKey),gn,(0,Rt.decodeBase64)(r.boundClientKey))}function Vg(r){let e=(0,Rt.decodeBase64)(r),t=ki(new TextEncoder().encode(Xe.FP_LABEL),e),n=ur.default.hash(t),i=[];for(let s=0;s<12;s++){let a=s*5,u=(((n[a]<<24>>>0)+(n[a+1]<<16)+(n[a+2]<<8)+n[a+3]^n[a+4])>>>0)%1e5;i.push(String(u).padStart(5,"0"))}return i.join(" ")}function $g(r){let e=(0,Rt.decodeBase64)(r),t=ki(new TextEncoder().encode(Xe.FP_LABEL),e),n=ur.default.hash(t).slice(0,8);return Array.from(n).map(i=>i.toString(16).padStart(2,"0")).join(":").toUpperCase()}});var Su=L(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});Cs.CryptoService=void 0;var st=kr(),Hr=ia(),zg=3600*1e3,xu=10,sa=class{storage;logger;sessions=new Map;agentSessions=new Map;metaSessions=new Map;keyPair=null;identityKeyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;identityPublicKeyKey;identitySecretKeyKey;constructor(e,t,n,i){this.storage=e,this.logger=t;let s=`termiq.${n}.${i}`;this.publicKeyKey=`${s}.crypto.publicKey`,this.secretKeyKey=`${s}.crypto.secretKey`,this.keyVersionKey=`${s}.crypto.keyVersion`,this.identityPublicKeyKey=`${s}.crypto.identityPublicKey`,this.identitySecretKeyKey=`${s}.crypto.identitySecretKey`,this.logger.info("CryptoService namespace",n,i)}async initialize(){let e=await this.storage.get(this.publicKeyKey),t=await this.storage.get(this.secretKeyKey);e&&t?(this.keyPair={publicKey:e,secretKey:t},this.logger.info("Loaded existing box key pair")):await this.generateBoxKeyPair(),await this.ensureIdentityKeyPair()}async generateBoxKeyPair(){this.logger.info("Generating new box key pair"),this.keyPair=(0,st.generateKeyPair)(),await this.storage.set(this.publicKeyKey,this.keyPair.publicKey),await this.storage.set(this.secretKeyKey,this.keyPair.secretKey);let e=await this.getKeyVersion();return await this.storage.set(this.keyVersionKey,String(e+1)),this.logger.info("Box key pair generated and stored"),this.keyPair}async generateIdentityKeyPair(){return this.generateBoxKeyPair()}async ensureIdentityKeyPair(){if(this.identityKeyPair)return this.identityKeyPair;let e=await this.storage.get(this.identitySecretKeyKey),t=await this.storage.get(this.identityPublicKeyKey);return e?(t||(t=(0,Hr.identityPublicFromSecret)(e),await this.storage.set(this.identityPublicKeyKey,t)),this.identityKeyPair={identityPublicKey:t,identitySecretKey:e},this.logger.info("Loaded existing identity (Ed25519) key pair"),this.identityKeyPair):(this.logger.info("Generating new identity (Ed25519) key pair"),this.identityKeyPair=(0,Hr.generateIdentityKeyPair)(),await this.storage.set(this.identityPublicKeyKey,this.identityKeyPair.identityPublicKey),await this.storage.set(this.identitySecretKeyKey,this.identityKeyPair.identitySecretKey),this.logger.info("Identity (Ed25519) key pair generated and stored"),this.identityKeyPair)}async getIdentityPublicKey(){return(await this.ensureIdentityKeyPair()).identityPublicKey}async getPublicKey(){return this.keyPair?this.keyPair.publicKey:await this.storage.get(this.publicKeyKey)||null}async getKeyVersion(){let e=await this.storage.get(this.keyVersionKey);return e?parseInt(e,10):1}async getSignedAgentKey(e){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return this.logger.error("No box key pair available for signing"),null;let t=await this.ensureIdentityKeyPair(),n=await this.getKeyVersion(),i=this.keyPair.publicKey,s=(0,Hr.buildKxCanonical)({agentId:e,keyVersion:n,boxPublicKey:i}),a=(0,Hr.signSessionKey)(s,t.identitySecretKey);return{boxPublicKey:i,identityPublicKey:t.identityPublicKey,keyVersion:n,signature:a,sigVersion:1}}async signKeyExchangeAck(e,t){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return this.logger.error("No box key pair available for ACK signing"),null;let n=await this.ensureIdentityKeyPair(),i=await this.getKeyVersion(),s=(0,Hr.buildKxAckCanonical)({agentId:e,keyVersion:i,boxPublicKey:this.keyPair.publicKey,boundClientKey:t});return(0,Hr.signSessionKey)(s,n.identitySecretKey)}async getSafetyNumber(){let e=await this.ensureIdentityKeyPair();return(0,Hr.fingerprintIdentityKey)(e.identityPublicKey)}async getShortFingerprint(){let e=await this.ensureIdentityKeyPair();return(0,Hr.fingerprintShortHex)(e.identityPublicKey)}async handleKeyExchange(e,t,n){if(!this.keyPair&&(this.logger.warn("Key pair missing, attempting re-initialization"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available after re-initialization"),!1;this.logger.info("Starting key exchange",e,n);try{let i=this.sessions.get(e);i||(i=new Map,this.sessions.set(e,i));let s=(0,st.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:s,createdAt:Date.now(),sessionId:n};return i.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",i.size),!0}catch(i){return this.logger.error("Key exchange failed",i),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let s=n.values().next().value;return s?(0,st.encrypt)(t,s.sharedSecret,s.sessionId):null}let i=[];for(let s of n.values()){let a=(0,st.encrypt)(t,s.sharedSecret,s.sessionId);i.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:i}}catch(i){return this.logger.error("Encryption failed",i),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let i=n.get(t.sid);if(!i)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,st.decrypt)(t,i.sharedSecret)}catch(s){return this.logger.error("Decryption failed",s),null}}encryptFileChunk(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;let i=null;for(let s of n.values())(!i||s.createdAt>i.createdAt)&&(i=s);if(!i)return null;try{return(0,st.encryptBinary)(t,i.sharedSecret,i.sessionId)}catch(s){return this.logger.error("File chunk encryption failed",s),null}}decryptFileChunk(e,t){let n=this.sessions.get(e)?.get(t.sid);if(!n)return this.logger.error("No session for file chunk",e,t.sid),null;try{return(0,st.decryptBinary)(t,n.sharedSecret)}catch(i){return this.logger.error("File chunk decryption failed",i),null}}hasSession(e){let t=this.sessions.get(e);return t!==void 0&&t.size>0}removeSession(e,t){let n=this.sessions.get(e);if(n)if(t){let i=n.get(t);i&&((0,st.clearKey)(i.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let i of n.values())(0,st.clearKey)(i.sharedSecret);this.sessions.delete(e),this.logger.debug("All sessions removed for terminal",e)}}clearAllSessions(){for(let e of this.sessions.values())for(let t of e.values())(0,st.clearKey)(t.sharedSecret);this.sessions.clear(),this.logger.debug("All sessions cleared")}cleanupStaleSessions(e){let t=this.sessions.get(e);if(!t||t.size===0)return;let n=Date.now(),i=[];for(let[s,a]of t)n-a.createdAt>zg&&i.push(s);for(let s of i){let a=t.get(s);a&&((0,st.clearKey)(a.sharedSecret),t.delete(s),this.logger.info("Session expired (TTL)",e,s,`age:${Math.round((n-a.createdAt)/1e3)}s`))}if(t.size>xu){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-xu);for(let[,c]of a)(0,st.clearKey)(c.sharedSecret),t.delete(c.sessionId)}t.size===0&&this.sessions.delete(e)}cleanupAllStaleSessions(){for(let e of this.sessions.keys())this.cleanupStaleSessions(e)}getSessionInfo(){let e=[];for(let[t,n]of this.sessions.entries())for(let i of n.values())e.push({terminalId:t,createdAt:i.createdAt,sessionId:i.sessionId});return e}async handleAgentKeyExchange(e,t){if(!this.keyPair&&(this.logger.warn("Key pair missing for agent key exchange"),await this.initialize(),!this.keyPair))return this.logger.error("No identity key pair available for agent key exchange"),!1;try{let n=this.agentSessions.get(t);n&&(this.logger.info("Rekeying existing agent session",t),(0,st.clearKey)(n.sharedSecret));let i=(0,st.deriveSharedSecret)(e,this.keyPair.secretKey),s={sessionId:t,clientPublicKey:e,sharedSecret:i,createdAt:Date.now()};return this.agentSessions.set(t,s),this.logger.info("Agent key exchange completed",t,"total:",this.agentSessions.size),!0}catch(n){return this.logger.error("Agent key exchange failed",n),!1}}removeAgentSession(e){let t=this.agentSessions.get(e);t&&((0,st.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}async handleMetaKeyExchange(e){if(!this.keyPair&&(await this.initialize(),!this.keyPair))return{ok:!1,isNew:!1};try{let t=!this.metaSessions.has(e),n=(0,st.deriveSharedSecret)(e,this.keyPair.secretKey),i=(0,st.deriveMetaSid)(this.keyPair.publicKey,e);return this.metaSessions.set(e,{clientIdentityPub:e,sharedSecret:n,sidMeta:i}),this.logger.info("Meta key exchange completed",i,"isNew:",t,"total:",this.metaSessions.size),{ok:!0,isNew:t}}catch(t){return this.logger.error("Meta key exchange failed",t),{ok:!1,isNew:!1}}}hasMetaSession(){return this.metaSessions.size>0}encryptWorkspaceInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptTerminalInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptPromptInfo(e){let t=this.encryptForMeta(JSON.stringify(e));return t?{encrypted:t}:null}encryptForMeta(e){if(this.metaSessions.size===0)return null;try{if(this.metaSessions.size===1){let n=this.metaSessions.values().next().value;return n?(0,st.encrypt)(e,n.sharedSecret,n.sidMeta):null}let t=[];for(let n of this.metaSessions.values()){let i=(0,st.encrypt)(e,n.sharedSecret,n.sidMeta);t.push({sid:i.sid,n:i.n,c:i.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Meta encryption failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,st.clearKey)(e.sharedSecret);this.agentSessions.clear(),this.logger.debug("All agent sessions cleared")}async deleteKeys(){await this.storage.delete(this.publicKeyKey),await this.storage.delete(this.secretKeyKey),await this.storage.delete(this.keyVersionKey),await this.storage.delete(this.identityPublicKeyKey),await this.storage.delete(this.identitySecretKeyKey),this.keyPair=null,this.identityKeyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};Cs.CryptoService=sa});var Tu=L(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.AuthService=void 0;var Oi=ds(),oa=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,i,s,a,c,u,h){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=i,this.logger=s,this.notification=a,this.browser=c;let p=`termiq.${u}.${h}`;this.tokenKey=`${p}.accessToken`,this.refreshTokenKey=`${p}.refreshToken`,this.agentIdKey=`${p}.agentId`,this.logger.info("AuthService namespace",u,h)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,Oi.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let s=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:i})});if(!s.ok){let a=await s.text();throw new Error(`Failed to get device code: ${a}`)}return s.json()}async pollForToken(e){this.cancelPolling();let t=(0,Oi.getApiUrl)(this.config),n=5e3,i=60;this.pollingAbortController=new AbortController;let s=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<i;a++){if(s.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),s.aborted)return this.logger.info("Polling was cancelled"),null;try{let c=await fetch(`${t}/auth/device/poll`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({deviceCode:e}),signal:s});if(!c.ok){if(c.status===403)try{let h=await c.json();if(h.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(h.current),"/",String(h.max)),this.notification.warn(`Agent limit reached (${h.current}/${h.max}). Upgrade your plan to add more devices.`),null}catch{}this.logger.warn("Poll request failed",String(c.status));continue}let u=await c.json();if(u.status==="success"&&u.accessToken)return this.logger.info("Token received successfully"),this.pollingAbortController=null,await this.saveTokens(u),u;if(u.status==="expired")return this.logger.warn("Device code expired"),null;if(u.status==="limit_exceeded")return this.logger.warn("Agent limit exceeded",String(u.current),"/",String(u.max)),this.notification.warn(`Agent limit reached (${u.current}/${u.max}). Remove an old agent or upgrade your plan.`),null;this.logger.debug("Token pending, continuing poll",String(a))}catch(c){if(s.aborted)return this.logger.info("Polling was cancelled"),null;let u=c instanceof Error?c.message:String(c);this.logger.warn(`Poll error: ${u}`)}}return this.logger.warn("Polling timed out"),this.pollingAbortController=null,null}async loginWithApiKey(e){let t=(0,Oi.getApiUrl)(this.config),n=await this.machineId.getMachineId(),i=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Logging in with API key");try{let a=await fetch(`${t}/auth/api-key/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e,machineId:n,machineName:i,publicKey:s})});if(!a.ok){let u=await a.text();return this.logger.error("API key login failed",u),!1}let c=await a.json();return c.accessToken?(await this.saveTokens(c),this.logger.info("API key login successful"),!0):!1}catch(a){return this.logger.error("API key login error",a),!1}}async hasValidToken(){let e=await this.storage.get(this.tokenKey);if(!e)return!1;try{let n=JSON.parse(Buffer.from(e.split(".")[1],"base64").toString()).exp*1e3;return Date.now()<n}catch{return!1}}async getAccessToken(){return await this.storage.get(this.tokenKey)||null}async getAgentId(){return await this.storage.get(this.agentIdKey)||null}async refreshAccessToken(){let e=await this.storage.get(this.refreshTokenKey);if(!e)return this.logger.debug("No refresh token available"),null;let t=(0,Oi.getApiUrl)(this.config);try{this.logger.info("Refreshing access token");let n=await fetch(`${t}/auth/refresh`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:e})});if(!n.ok)return this.logger.warn("Token refresh failed",String(n.status)),n.status===401&&await this.storage.delete(this.refreshTokenKey),null;let i=await n.json();return await this.storage.set(this.tokenKey,i.accessToken),await this.storage.set(this.refreshTokenKey,i.refreshToken),this.logger.info("Access token refreshed successfully"),i.accessToken}catch(n){return this.logger.warn("Token refresh error",n),null}}async logout(){this.logger.info("Logging out"),this.cancelPolling(),await this.storage.delete(this.tokenKey),await this.storage.delete(this.refreshTokenKey),await this.storage.delete(this.agentIdKey),await this.cryptoService.deleteKeys()}async saveTokens(e){e.accessToken&&await this.storage.set(this.tokenKey,e.accessToken),e.refreshToken&&await this.storage.set(this.refreshTokenKey,e.refreshToken),e.agentId&&await this.storage.set(this.agentIdKey,e.agentId)}async getLimits(){let e=await this.getAccessToken();if(!e)return this.logger.warn("Cannot fetch limits: no access token"),null;let t=(0,Oi.getApiUrl)(this.config);try{let n=await fetch(`${t}/users/me/limits`,{headers:{Authorization:`Bearer ${e}`,"Content-Type":"application/json"}});return n.ok?await n.json():(this.logger.error("Failed to fetch limits",String(n.status)),null)}catch(n){let i=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${i}`),null}}async openUrl(e){await this.browser.openUrl(e)}async canCreateTerminal(){let e=await this.getLimits();return e?e.terminals.unlimited?{allowed:!0,limits:e}:e.terminals.current>=e.terminals.max?{allowed:!1,reason:`Terminal limit reached (${e.terminals.current}/${e.terminals.max}). Upgrade your plan to create more terminals.`,limits:e}:{allowed:!0,limits:e}:{allowed:!0}}sleep(e){return new Promise(t=>setTimeout(t,e))}};ks.AuthService=oa});var Cu=L(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});Os.scanOsc=Xg;Os.classifyTitle=Zg;var Gg=4096,aa=/\x1b\]([^\x1b\x07]*)(?:\x07|\x1b\\)/g,Yg="\x1B]";function Xg(r,e=""){let t=e+r,n=[];aa.lastIndex=0;let i=0,s;for(;(s=aa.exec(t))!==null;)n.push(s[1]),i=aa.lastIndex;let a=t.slice(i),c=a.lastIndexOf(Yg),u=c===-1?"":a.slice(c),h=u.indexOf("\x1B",1);return h!==-1&&h!==u.length-1&&(u=""),u.length>Gg&&(u=""),{seqs:n,carry:u}}var Jg=/^([012]);([\s\S]*)$/;function Zg(r){let e=r.match(Jg);if(!e)return null;let t=e[2].trim();return t?t.includes("Action Required")?{agent:t.startsWith("\u270B")?"gemini":/^\[\s*[!.]\s*\]/.test(t)?"codex":null,state:"waiting",title:t}:t.startsWith("\u2726")||t.startsWith("\u23F2")?{agent:"gemini",state:"working",title:t}:t.startsWith("\u25C7")?{agent:"gemini",state:"idle",title:t}:t.startsWith("\u25D0")||t.startsWith("\u25D1")?{agent:"claude",state:"working",title:t}:t.startsWith("\u2733")?{agent:"claude",state:"unknown",title:t}:{agent:null,state:"unknown",title:t}:{agent:null,state:"unknown",title:""}}});var Pu=L(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.MAX_TAIL_PLAIN=Ue.MAX_TAIL_WITH_SELECTOR=Ue.MAX_LABEL_LEN=Ue.MAX_QUESTION_LEN=Ue.classifyTitle=Ue.scanOsc=void 0;Ue.stripAnsi=fa;Ue.normalizeBuffer=Ou;Ue.clampQuestion=ca;Ue.hasMenuSelector=em;Ue.hasBareComposer=rm;Ue.promptKey=nm;Ue.extractQuestion=im;Ue.extractNumberedChoices=sm;var ku=Cu();Object.defineProperty(Ue,"scanOsc",{enumerable:!0,get:function(){return ku.scanOsc}});Object.defineProperty(Ue,"classifyTitle",{enumerable:!0,get:function(){return ku.classifyTitle}});Ue.MAX_QUESTION_LEN=160;Ue.MAX_LABEL_LEN=100;Ue.MAX_TAIL_WITH_SELECTOR=12;Ue.MAX_TAIL_PLAIN=2;function fa(r){return r.replace(/\x1b\[[0-9]*[GC]/g," ").replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x1b\x07]*(?:\x07|\x1b\\)/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"").replace(/[\x00-\x08\x0b\x0c\x0e-\x1f]/g,"")}function Ou(r){return r.replace(/\r\n/g,`
|
|
6
6
|
`).replace(/\r/g,`
|
|
7
7
|
`).replace(/\n{3,}/g,`
|
|
8
8
|
|
|
9
|
-
`)}function ca(r){let e=r.replace(/\s+/g," ").trim(),t=
|
|
10
|
-
`).
|
|
11
|
-
`)
|
|
9
|
+
`)}function ca(r){let e=r.replace(/\s+/g," ").trim(),t=Ue.MAX_QUESTION_LEN;return e.length<=t?e:e.slice(0,t-1).trimEnd()+"\u2026"}var Qg=/^[\s\u2502\u2503\u250a\u250b\u2506\u2507\u254e\u254f]*[\u276f\u25b6\u25b8\u203a\u25cf]\s*(?:\d+[.)]|\[\d+\])/u;function em(r){return r.split(`
|
|
10
|
+
`).some(e=>Qg.test(e))}var tm=/^[\s\u2502\u2503]*[\u276f>]\s*$/u;function rm(r){return r.split(`
|
|
11
|
+
`).some(e=>tm.test(e))}function nm(r){let e=(r.choices||[]).map(t=>`${t.key}=${t.label}`).join("\xA7");return`${r.type}|${r.question}|${e}`}function im(r,e){let t=r.split(`
|
|
12
|
+
`).filter(n=>n.trim());for(let n=t.length-1;n>=Math.max(0,t.length-8);n--){let i=t[n].trim();if(!i||/^[\s│┃]*(?:[❯▶▸›●>*]\s*)?\d+[.)]\s/.test(i)||/^[\s│┃]*\[/.test(i))continue;let s=fa(i).replace(/^[\s│┃┊┋┆┇╎╏]+/u,"").replace(/[\s│┃┊┋┆┇╎╏]+$/u,"").replace(/\s+/g," ");if(s.endsWith("?")||s.endsWith(":"))return ca(s.replace(/\s*\[Y\/n\]\s*$/i,"").replace(/\s*\(y\/n\)\s*$/i,"").replace(/\s*\(yes\/no\)\s*$/i,""));for(let a of e||[]){let c=s.match(a);if(c)return ca(c[1]||s)}}return null}function sm(r){let e=[],n=Ou(fa(r)).split(`
|
|
13
|
+
`),i=/^[\s│┃┊┋┆┇╎╏]*(?:[❯▶▸›●>*]\s*)?(?:(\d+)[.)]\s*|\[(\d+)\]\s*)(.+?)[\s│┃]*$/u,s=/^[\s│┃┊┋┆┇╎╏]*([❯▶▸›●])\s*(?:\d+[.)]|\[\d+\])/u,a=[],c=-1,u=-1,h=!1,p="",m=[],_=-1,E=!1,S="",C=z=>z.length*1e3+z.reduce((T,F)=>T+F.label.length,0),H=()=>{m.length>=1&&C(m)>=c&&(a=m.slice(),c=C(m),u=_,h=E,p=S)};for(let z=0;z<n.length;z++){let T=n[z],F=T.match(i);if(!F)continue;let te=F[1]||F[2],U=F[3].replace(/\s+/g," ").trim();if(!te||!U)continue;let ee=U.length>Ue.MAX_LABEL_LEN?U.slice(0,Ue.MAX_LABEL_LEN-1)+"\u2026":U,pe=parseInt(te,10),K=T.match(s),Ne=K!==null;pe===m.length+1?(m.push({key:te,label:ee}),_=z,E=E||Ne,K&&(S=K[1])):pe===1?(H(),m=[{key:te,label:ee}],_=z,E=Ne,S=K?K[1]:""):(H(),m=[],_=-1,E=!1,S="")}if(H(),u>=0){let z=n.slice(u+1).filter(F=>F.trim().length>0),T=h?Ue.MAX_TAIL_WITH_SELECTOR:Ue.MAX_TAIL_PLAIN;if(z.length>T)return{choices:e,digitSelect:"enter"}}return e.push(...a),{choices:e,digitSelect:p==="\u25CF"?"immediate":"enter"}}});var Au=L(mn=>{"use strict";Object.defineProperty(mn,"__esModule",{value:!0});mn.StatusDetector=void 0;mn.trackAltScreen=om;mn.isTerminalReplyOnly=am;mn.isAnswerKeystroke=cm;var Or=Pu(),Ps={working:[/✶/,/⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/],idle:[/[❯$#>]\s*$/,/^\s*\d+\s*[❯$#>]\s*$/,/\(base\)\s*[❯$#>]\s*$/,/\)\s*[❯$#>]\s*$/],waiting:[/\[y\/n\]\s*$/i,/\[y\/N\]\s*$/i,/\(y\/n\)\s*$/i,/\(yes\/no\)\s*$/i,/press enter to continue\s*$/i,/press any key\s*$/i,/\[enter\]\s*$/i],completed:[/✓\s*(Done|Complete|Success|Finished)/i,/\[done\]/i,/\[success\]/i,/completed successfully/i,/Build succeeded/i,/All tests passed/i],error:[/✕\s*(Error|Failed|Failure)/i,/\[error\]/i,/\[failed\]/i,/Error:/i,/Exception:/i,/FATAL:/i,/Build failed/i,/Tests failed/i,/command not found/i,/Permission denied/i,/No such file or directory/i]},Vr={IDLE_TIMEOUT_MS:5e3,DEBOUNCE_MS:500,BUFFER_SIZE:16e3,WORKING_TIMEOUT_MS:3e4,RESOLVE_GRACE_MS:1500,DRIFT_DWELL_MS:2500,PROMPT_REFRESH_MS:450},ua=class{onSignalDivergence;states=new Map;onStatusChange;signalWaitingEnabled;constructor(e,t,n){this.onSignalDivergence=t,this.onStatusChange=e,this.signalWaitingEnabled=n?.signalWaiting!==!1}startTracking(e){if(this.states.has(e))return;let t={status:"idle",lastUpdate:Date.now(),lastOutput:Date.now(),outputBuffer:"",pendingUpdate:null,pendingStatus:null,pendingPrompt:null,emittedPromptKey:null,lastSeenPromptKey:null,promptRefreshTimer:null,resolveGraceUntil:0,workingTimeout:null,oscCarry:"",signalState:"none",signalAgent:null,agreeWaiting:0,signalOnlyWaiting:0,parserOnlyWaiting:0,lastSignalPair:"",driftTimer:null,signalConfirmedWaiting:!1,parserConfirmedWaiting:!1};this.states.set(e,t),this.emitStatus(e,"idle")}stopTracking(e){let t=this.states.get(e);t&&(t.pendingUpdate&&clearTimeout(t.pendingUpdate),t.workingTimeout&&clearTimeout(t.workingTimeout),t.promptRefreshTimer&&clearTimeout(t.promptRefreshTimer),t.driftTimer&&clearTimeout(t.driftTimer)),this.states.delete(e)}processOutput(e,t){let n=this.states.get(e);if(!n)return;n.lastOutput=Date.now(),this.readTitleSignal(n,t),n.outputBuffer+=t,n.outputBuffer.length>Vr.BUFFER_SIZE&&(n.outputBuffer=n.outputBuffer.slice(-Vr.BUFFER_SIZE));let i=Date.now()<n.resolveGraceUntil,s=!1;if(!i){let a=this.detectPrompt(n.outputBuffer);if(a&&a.type!=="free-input"&&this.isPromptActive(n.outputBuffer)&&(s=!0,n.parserConfirmedWaiting=!0,n.pendingPrompt=a,n.status==="waiting")){let c=this.promptKey(a);c!==n.lastSeenPromptKey&&(n.lastSeenPromptKey=c,this.schedulePromptRefresh(e))}}if(this.accountSignal(e,n,s),s)this.scheduleStatusUpdate(e,"waiting");else if(n.status==="waiting"&&!i){let a=this.analyzeOutput(n.outputBuffer);(a==="completed"||a==="error")&&this.scheduleStatusUpdate(e,a)}else{let a=this.analyzeOutput(n.outputBuffer);a&&this.scheduleStatusUpdate(e,a)}this.resetWorkingTimeout(e,n)}isPromptActive(e){let n=this.normalizeBuffer(this.stripAnsi(e)).split(`
|
|
12
14
|
`).map(a=>a.trim()).filter(Boolean);if(n.length===0)return!1;let i=n[n.length-1],s=n.slice(-18).join(`
|
|
13
|
-
`);return
|
|
15
|
+
`);return(0,Or.hasBareComposer)(s)?!1:(0,Or.hasMenuSelector)(s)||/\[y\/n\]|\(y\/n\)|\[y\/N\]|\(yes\/no\)/i.test(i)||/esc to cancel|enter to confirm|press enter|press any key|\[enter\]|\(esc\)/i.test(s)}onCommandStart(e){let t=this.states.get(e);t&&(t.outputBuffer="",this.scheduleStatusUpdate(e,"working"),this.resetWorkingTimeout(e,t))}onCommandEnd(e,t){let n=this.states.get(e);if(!n)return;n.workingTimeout&&(clearTimeout(n.workingTimeout),n.workingTimeout=null);let i;if(t!==void 0&&t!==0)i="error";else{let s=this.analyzeOutput(n.outputBuffer);s==="waiting"?i="waiting":s==="error"?i="error":s==="completed"?i="completed":i="idle"}this.scheduleStatusUpdate(e,i),(i==="completed"||i==="error")&&setTimeout(()=>{let s=this.states.get(e);s&&(s.status==="completed"||s.status==="error")&&this.scheduleStatusUpdate(e,"idle")},Vr.IDLE_TIMEOUT_MS)}analyzeOutput(e){let n=this.normalizeBuffer(this.stripAnsi(e)).split(`
|
|
14
16
|
`).slice(-10),i=n.join(`
|
|
15
17
|
`),s=(n[n.length-1]||"").trim();for(let a of Ps.waiting)if(a.test(s))return"waiting";for(let a of Ps.working)if(a.test(s))return"working";for(let a of Ps.completed)if(a.test(i))return"completed";for(let a of Ps.idle)if(a.test(s))return"idle";return null}detectPrompt(e){let i=this.normalizeBuffer(this.stripAnsi(e)).split(`
|
|
16
18
|
`).slice(-20),s=i.join(`
|
|
17
|
-
`),a=i[i.length-1]||"",{choices:c,digitSelect:u}=this.extractNumberedChoices(e);if(c.length>=2)return{type:"numbered-choice",question:this.extractQuestion(s)||"Select an option:",choices:c,digitSelect:u};let h=[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i];for(let _ of h)if(_.test(s))return{type:"yes-no",question:this.extractQuestion(s)||"Confirm?"};let p=[/Press Enter to continue/i,/Press Enter/i,/Hit Enter/i,/\[Enter\]/i,/press return/i];for(let _ of p)if(_.test(s))return{type:"enter",question:this.extractQuestion(s)||"Press Enter to continue"};let m=[/Press any key/i,/press a key/i];for(let _ of m)if(_.test(s))return{type:"any-key",question:this.extractQuestion(s)||"Press any key"};return(a.endsWith("?")||a.endsWith(":"))&&!a.startsWith("/")&&!a.includes("error")&&a.length<100?{type:"free-input",question:a}:null}extractNumberedChoices(e){return(0,
|
|
18
|
-
`);return T.substr(0,T.length-2)},this.getRequestHeader=function(T){return typeof T=="string"&&h[T]?h[T]:""},this.send=function(T){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(_)throw new Error("INVALID_STATE_ERR: send has already been called");var F=!1,te=!1,U=Ru.parse(a.url),ee;switch(U.protocol){case"https:":F=!0;case"http:":ee=U.hostname;break;case"file:":te=!0;break;case void 0:case"":ee="localhost";break;default:throw new Error("Protocol not supported.")}if(te){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)Un.readFile(unescape(U.pathname),function(R,se){R?e.handleError(R,R.errno||-1):(e.status=200,e.responseText=se.toString("utf8"),e.response=se,z(e.DONE))});else try{this.response=Un.readFileSync(unescape(U.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,z(e.DONE)}catch(R){this.handleError(R,R.errno||-1)}return}var pe=U.port||(F?443:80),K=U.pathname+(U.search?U.search:"");if(h.Host=ee,F&&pe===443||pe===80||(h.Host+=":"+U.port),a.user){typeof a.password>"u"&&(a.password="");var Ne=new Buffer(a.user+":"+a.password);h.Authorization="Basic "+Ne.toString("base64")}if(a.method==="GET"||a.method==="HEAD")T=null;else if(T){h["Content-Length"]=Buffer.isBuffer(T)?T.length:Buffer.byteLength(T);var tt=Object.keys(h);tt.some(function(R){return R.toLowerCase()==="content-type"})||(h["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(h["Content-Length"]=0);var Se=r.agent||!1,Me={host:ee,port:pe,path:K,method:a.method,headers:h,agent:Se};if(F&&(Me.pfx=r.pfx,Me.key=r.key,Me.passphrase=r.passphrase,Me.cert=r.cert,Me.ca=r.ca,Me.ciphers=r.ciphers,Me.rejectUnauthorized=r.rejectUnauthorized!==!1),E=!1,a.async){var we=F?n.request:t.request;_=!0,e.dispatchEvent("readystatechange");var Ke=function(R){if(s=R,s.statusCode===302||s.statusCode===303||s.statusCode===307){a.url=s.headers.location;var se=Ru.parse(a.url);ee=se.hostname;var Oe={hostname:se.hostname,port:se.port,path:se.path,method:s.statusCode===303?"GET":a.method,headers:h};F&&(Oe.pfx=r.pfx,Oe.key=r.key,Oe.passphrase=r.passphrase,Oe.cert=r.cert,Oe.ca=r.ca,Oe.ciphers=r.ciphers,Oe.rejectUnauthorized=r.rejectUnauthorized!==!1),i=we(Oe,Ke).on("error",Ee),i.end();return}z(e.HEADERS_RECEIVED),e.status=s.statusCode,s.on("data",function(j){if(j){var ue=Buffer.from(j);e.response=Buffer.concat([e.response,ue])}_&&z(e.LOADING)}),s.on("end",function(){_&&(_=!1,z(e.DONE),e.responseText=e.response.toString("utf8"))}),s.on("error",function(j){e.handleError(j)})},Ee=function(R){if(i.reusedSocket&&R.code==="ECONNRESET")return we(Me,Ke).on("error",Ee);e.handleError(R)};i=we(Me,Ke).on("error",Ee),r.autoUnref&&i.on("socket",R=>{R.unref()}),T&&i.write(T),i.end(),e.dispatchEvent("loadstart")}else{var rt=".node-xmlhttprequest-content-"+process.pid,Fe=".node-xmlhttprequest-sync-"+process.pid;Un.writeFileSync(Fe,"","utf8");for(var yt="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(F?"s":"")+".request;var options = "+JSON.stringify(Me)+";var responseText = '';var responseData = Buffer.alloc(0);var req = doRequest(options, function(response) {response.on('data', function(chunk) { var data = Buffer.from(chunk); responseText += data.toString('utf8'); responseData = Buffer.concat([responseData, data]);});response.on('end', function() {fs.writeFileSync('"+rt+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+Fe+"');});response.on('error', function(error) {fs.writeFileSync('"+rt+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Fe+"');});}).on('error', function(error) {fs.writeFileSync('"+rt+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Fe+"');});"+(T?"req.write('"+JSON.stringify(T).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",qe=sm(process.argv[0],["-e",yt]),dt;Un.existsSync(Fe););if(e.responseText=Un.readFileSync(rt,"utf8"),qe.stdin.end(),Un.unlinkSync(rt),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var I=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(I,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var B=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));s={statusCode:e.status,headers:B.data.headers},e.responseText=B.data.text,e.response=Buffer.from(B.data.data,"base64"),z(e.DONE,!0)}}},this.handleError=function(T,F){this.status=F||0,this.statusText=T,this.responseText=T.stack,E=!0,z(this.DONE)},this.abort=function(){i&&(i.abort(),i=null),h=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),E=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||_)&&this.readyState!==this.DONE&&(_=!1,z(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(T,F){T in C||(C[T]=[]),C[T].push(F)},this.removeEventListener=function(T,F){T in C&&(C[T]=C[T].filter(function(te){return te!==F}))},this.dispatchEvent=function(T){if(typeof e["on"+T]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+T]()},0):e["on"+T]()),T in C)for(let F=0,te=C[T].length;F<te;F++)this.readyState===this.DONE?setTimeout(function(){C[T][F].call(e)},0):C[T][F].call(e)};var z=function(T){if(!(e.readyState===T||e.readyState===e.UNSENT&&S)&&(e.readyState=T,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let F;S?F="abort":E?F="error":F="load",e.dispatchEvent(F),e.dispatchEvent("loadend")}}}});var As=L(Vr=>{"use strict";Object.defineProperty(Vr,"__esModule",{value:!0});Vr.ERROR_PACKET=Vr.PACKET_TYPES_REVERSE=Vr.PACKET_TYPES=void 0;var lr=Object.create(null);Vr.PACKET_TYPES=lr;lr.open="0";lr.close="1";lr.ping="2";lr.pong="3";lr.message="4";lr.upgrade="5";lr.noop="6";var Nu=Object.create(null);Vr.PACKET_TYPES_REVERSE=Nu;Object.keys(lr).forEach(r=>{Nu[lr[r]]=r});var om={type:"error",data:"parser error"};Vr.ERROR_PACKET=om});var Fu=L(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.encodePacket=void 0;Kn.encodePacketToBinary=fm;var am=As(),cm=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+Mu(e,!0).toString("base64")):n(am.PACKET_TYPES[r]+(e||""));Kn.encodePacket=cm;var Mu=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),ha;function fm(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(Mu(r.data,!1));(0,Kn.encodePacket)(r,!0,t=>{ha||(ha=new TextEncoder),e(ha.encode(t))})}});var Bu=L(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.decodePacket=void 0;var Rs=As(),um=(r,e)=>{if(typeof r!="string")return{type:"message",data:Du(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:Du(n,e)}}return Rs.PACKET_TYPES_REVERSE[t]?r.length>1?{type:Rs.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:Rs.PACKET_TYPES_REVERSE[t]}:Rs.ERROR_PACKET};Is.decodePacket=um;var Du=(r,e)=>e==="arraybuffer"?r instanceof ArrayBuffer?r:Buffer.isBuffer(r)?r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength):r.buffer:Buffer.isBuffer(r)?r:Buffer.from(r)});var qn=L(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.decodePayload=xt.decodePacket=xt.encodePayload=xt.encodePacket=xt.protocol=void 0;xt.createPacketEncoderStream=dm;xt.createPacketDecoderStream=pm;var pa=Fu();Object.defineProperty(xt,"encodePacket",{enumerable:!0,get:function(){return pa.encodePacket}});var ga=Bu();Object.defineProperty(xt,"decodePacket",{enumerable:!0,get:function(){return ga.decodePacket}});var ju=As(),Uu="",lm=(r,e)=>{let t=r.length,n=new Array(t),i=0;r.forEach((s,a)=>{(0,pa.encodePacket)(s,!1,c=>{n[a]=c,++i===t&&e(n.join(Uu))})})};xt.encodePayload=lm;var hm=(r,e)=>{let t=r.split(Uu),n=[];for(let i=0;i<t.length;i++){let s=(0,ga.decodePacket)(t[i],e);if(n.push(s),s.type==="error")break}return n};xt.decodePayload=hm;function dm(){return new TransformStream({transform(r,e){(0,pa.encodePacketToBinary)(r,t=>{let n=t.length,i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);let s=new DataView(i.buffer);s.setUint8(0,126),s.setUint16(1,n)}else{i=new Uint8Array(9);let s=new DataView(i.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}var da;function Ls(r){return r.reduce((e,t)=>e+t.length,0)}function Ns(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let i=0;i<e;i++)t[i]=r[0][n++],n===r[0].length&&(r.shift(),n=0);return r.length&&n<r[0].length&&(r[0]=r[0].slice(n)),t}function pm(r,e){da||(da=new TextDecoder);let t=[],n=0,i=-1,s=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(Ls(t)<1)break;let u=Ns(t,1);s=(u[0]&128)===128,i=u[0]&127,i<126?n=3:i===126?n=1:n=2}else if(n===1){if(Ls(t)<2)break;let u=Ns(t,2);i=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(Ls(t)<8)break;let u=Ns(t,8),h=new DataView(u.buffer,u.byteOffset,u.length),p=h.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(ju.ERROR_PACKET);break}i=p*Math.pow(2,32)+h.getUint32(4),n=3}else{if(Ls(t)<i)break;let u=Ns(t,i);c.enqueue((0,ga.decodePacket)(s?u:da.decode(u),e)),n=0}if(i===0||i>r){c.enqueue(ju.ERROR_PACKET);break}}}})}xt.protocol=4});var yn=L(Ku=>{Ku.Emitter=Et;function Et(r){if(r)return gm(r)}function gm(r){for(var e in Et.prototype)r[e]=Et.prototype[e];return r}Et.prototype.on=Et.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};Et.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};Et.prototype.off=Et.prototype.removeListener=Et.prototype.removeAllListeners=Et.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var n,i=0;i<t.length;i++)if(n=t[i],n===e||n.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+r],this};Et.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(t){t=t.slice(0);for(var n=0,i=t.length;n<i;++n)t[n].apply(this,e)}return this};Et.prototype.emitReserved=Et.prototype.emit;Et.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};Et.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var _n=L(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.CookieJar=Dt.defaultBinaryType=Dt.globalThisShim=Dt.nextTick=void 0;Dt.createCookieJar=mm;Dt.parse=qu;Dt.nextTick=process.nextTick;Dt.globalThisShim=global;Dt.defaultBinaryType="nodebuffer";function mm(){return new Ms}function qu(r){let e=r.split("; "),t=e[0].indexOf("=");if(t===-1)return;let n=e[0].substring(0,t).trim();if(!n.length)return;let i=e[0].substring(t+1).trim();i.charCodeAt(0)===34&&(i=i.slice(1,-1));let s={name:n,value:i};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),h=c[1].trim();switch(u){case"Expires":s.expires=new Date(h);break;case"Max-Age":let p=new Date;p.setUTCSeconds(p.getUTCSeconds()+parseInt(h,10)),s.expires=p;break;default:}}return s}var Ms=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=qu(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var i;((i=t.expires)===null||i===void 0?void 0:i.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,i]of this.cookies)t.push(`${n}=${i.value}`);t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}appendCookies(e){for(let[t,n]of this.cookies)e.append("cookie",`${t}=${n.value}`)}};Dt.CookieJar=Ms});var bn=L(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.pick=ym;Wn.installTimerFunctions=Em;Wn.byteLength=wm;Wn.randomString=Sm;var $r=_n();function ym(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var _m=$r.globalThisShim.setTimeout,bm=$r.globalThisShim.clearTimeout;function Em(r,e){e.useNativeTimers?(r.setTimeoutFn=_m.bind($r.globalThisShim),r.clearTimeoutFn=bm.bind($r.globalThisShim)):(r.setTimeoutFn=$r.globalThisShim.setTimeout.bind($r.globalThisShim),r.clearTimeoutFn=$r.globalThisShim.clearTimeout.bind($r.globalThisShim))}var vm=1.33;function wm(r){return typeof r=="string"?xm(r):Math.ceil((r.byteLength||r.size)*vm)}function xm(r){let e=0,t=0;for(let n=0,i=r.length;n<i;n++)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(n++,t+=4);return t}function Sm(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var ma=L(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.encode=Tm;Fs.decode=Cm;function Tm(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function Cm(r){let e={},t=r.split("&");for(let n=0,i=t.length;n<i;n++){let s=t[n].split("=");e[decodeURIComponent(s[0])]=decodeURIComponent(s[1])}return e}});var Hu=L((iw,Wu)=>{var Hn=1e3,Vn=Hn*60,$n=Vn*60,En=$n*24,km=En*7,Om=En*365.25;Wu.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Pm(r);if(t==="number"&&isFinite(r))return e.long?Rm(r):Am(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Pm(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Om;case"weeks":case"week":case"w":return t*km;case"days":case"day":case"d":return t*En;case"hours":case"hour":case"hrs":case"hr":case"h":return t*$n;case"minutes":case"minute":case"mins":case"min":case"m":return t*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Hn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Am(r){var e=Math.abs(r);return e>=En?Math.round(r/En)+"d":e>=$n?Math.round(r/$n)+"h":e>=Vn?Math.round(r/Vn)+"m":e>=Hn?Math.round(r/Hn)+"s":r+"ms"}function Rm(r){var e=Math.abs(r);return e>=En?Ds(r,e,En,"day"):e>=$n?Ds(r,e,$n,"hour"):e>=Vn?Ds(r,e,Vn,"minute"):e>=Hn?Ds(r,e,Hn,"second"):r+" ms"}function Ds(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var ya=L((sw,Vu)=>{function Im(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=i,t.enabled=c,t.humanize=Hu(),t.destroy=h,Object.keys(r).forEach(p=>{t[p]=r[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let m=0;for(let _=0;_<p.length;_++)m=(m<<5)-m+p.charCodeAt(_),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(p){let m,_=null,E,S;function C(...H){if(!C.enabled)return;let ie=C,z=Number(new Date),T=z-(m||z);ie.diff=T,ie.prev=m,ie.curr=z,m=z,H[0]=t.coerce(H[0]),typeof H[0]!="string"&&H.unshift("%O");let F=0;H[0]=H[0].replace(/%([a-zA-Z%])/g,(U,ee)=>{if(U==="%%")return"%";F++;let pe=t.formatters[ee];if(typeof pe=="function"){let K=H[F];U=pe.call(ie,K),H.splice(F,1),F--}return U}),t.formatArgs.call(ie,H),(ie.log||t.log).apply(ie,H)}return C.namespace=p,C.useColors=t.useColors(),C.color=t.selectColor(p),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>_!==null?_:(E!==t.namespaces&&(E=t.namespaces,S=t.enabled(p)),S),set:H=>{_=H}}),typeof t.init=="function"&&t.init(C),C}function n(p,m){let _=t(this.namespace+(typeof m>"u"?":":m)+p);return _.log=this.log,_}function i(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let m=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let _ of m)_[0]==="-"?t.skips.push(_.slice(1)):t.names.push(_)}function s(p,m){let _=0,E=0,S=-1,C=0;for(;_<p.length;)if(E<m.length&&(m[E]===p[_]||m[E]==="*"))m[E]==="*"?(S=E,C=_,E++):(_++,E++);else if(S!==-1)E=S+1,C++,_=C;else return!1;for(;E<m.length&&m[E]==="*";)E++;return E===m.length}function a(){let p=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),p}function c(p){for(let m of t.skips)if(s(p,m))return!1;for(let m of t.names)if(s(p,m))return!0;return!1}function u(p){return p instanceof Error?p.stack||p.message:p}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Vu.exports=Im});var $u=L((St,Bs)=>{St.formatArgs=Nm;St.save=Mm;St.load=Fm;St.useColors=Lm;St.storage=Dm();St.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();St.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Lm(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Nm(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Bs.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}St.log=console.debug||console.log||(()=>{});function Mm(r){try{r?St.storage.setItem("debug",r):St.storage.removeItem("debug")}catch{}}function Fm(){let r;try{r=St.storage.getItem("debug")||St.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Dm(){try{return localStorage}catch{}}Bs.exports=ya()(St);var{formatters:Bm}=Bs.exports;Bm.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Gu=L((ow,zu)=>{"use strict";zu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}});var Ju=L((aw,Xu)=>{"use strict";var jm=require("os"),Yu=require("tty"),Bt=Gu(),{env:ct}=process,zr;Bt("no-color")||Bt("no-colors")||Bt("color=false")||Bt("color=never")?zr=0:(Bt("color")||Bt("colors")||Bt("color=true")||Bt("color=always"))&&(zr=1);"FORCE_COLOR"in ct&&(ct.FORCE_COLOR==="true"?zr=1:ct.FORCE_COLOR==="false"?zr=0:zr=ct.FORCE_COLOR.length===0?1:Math.min(parseInt(ct.FORCE_COLOR,10),3));function _a(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function ba(r,e){if(zr===0)return 0;if(Bt("color=16m")||Bt("color=full")||Bt("color=truecolor"))return 3;if(Bt("color=256"))return 2;if(r&&!e&&zr===void 0)return 0;let t=zr||0;if(ct.TERM==="dumb")return t;if(process.platform==="win32"){let n=jm.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in ct)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in ct)||ct.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ct)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ct.TEAMCITY_VERSION)?1:0;if(ct.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ct){let n=parseInt((ct.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ct.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ct.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ct.TERM)||"COLORTERM"in ct?1:t}function Um(r){let e=ba(r,r&&r.isTTY);return _a(e)}Xu.exports={supportsColor:Um,stdout:_a(ba(!0,Yu.isatty(1))),stderr:_a(ba(!0,Yu.isatty(2)))}});var Qu=L((ft,Us)=>{var Km=require("tty"),js=require("util");ft.init=Gm;ft.log=Vm;ft.formatArgs=Wm;ft.save=$m;ft.load=zm;ft.useColors=qm;ft.destroy=js.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ft.colors=[6,2,3,4,5,1];try{let r=Ju();r&&(r.stderr||r).level>=2&&(ft.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ft.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function qm(){return"colors"in ft.inspectOpts?!!ft.inspectOpts.colors:Km.isatty(process.stderr.fd)}function Wm(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${e} \x1B[0m`;r[0]=s+r[0].split(`
|
|
19
|
+
`),a=i[i.length-1]||"",{choices:c,digitSelect:u}=this.extractNumberedChoices(e);if(c.length>=2)return{type:"numbered-choice",question:this.extractQuestion(s)||"Select an option:",choices:c,digitSelect:u};let h=[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i];for(let _ of h)if(_.test(s))return{type:"yes-no",question:this.extractQuestion(s)||"Confirm?"};let p=[/Press Enter to continue/i,/Press Enter/i,/Hit Enter/i,/\[Enter\]/i,/press return/i];for(let _ of p)if(_.test(s))return{type:"enter",question:this.extractQuestion(s)||"Press Enter to continue"};let m=[/Press any key/i,/press a key/i];for(let _ of m)if(_.test(s))return{type:"any-key",question:this.extractQuestion(s)||"Press any key"};return(a.endsWith("?")||a.endsWith(":"))&&!a.startsWith("/")&&!a.includes("error")&&a.length<100?{type:"free-input",question:a}:null}extractNumberedChoices(e){return(0,Or.extractNumberedChoices)(e)}extractQuestion(e){return(0,Or.extractQuestion)(e)}stripAnsi(e){return(0,Or.stripAnsi)(e)}normalizeBuffer(e){return(0,Or.normalizeBuffer)(e)}scheduleStatusUpdate(e,t){let n=this.states.get(e);n&&n.status!==t&&n.pendingStatus!==t&&(n.pendingUpdate&&clearTimeout(n.pendingUpdate),n.pendingStatus=t,n.pendingUpdate=setTimeout(()=>{n.pendingStatus=null,this.emitStatus(e,t),n.pendingUpdate=null},Vr.DEBOUNCE_MS))}emitStatus(e,t){let n=this.states.get(e);if(!n||n.status===t)return;n.status=t,n.lastUpdate=Date.now();let i;if(t==="waiting"){let s=this.detectPrompt(n.outputBuffer);i=s&&s.type!=="free-input"?s:n.pendingPrompt||s||void 0,n.emittedPromptKey=i?this.promptKey(i):null,n.lastSeenPromptKey=n.emittedPromptKey}else n.signalConfirmedWaiting=!1,n.parserConfirmedWaiting=!1,n.pendingPrompt=null,n.emittedPromptKey=null,n.lastSeenPromptKey=null,n.promptRefreshTimer&&(clearTimeout(n.promptRefreshTimer),n.promptRefreshTimer=null);this.onStatusChange(e,t,i)}getEmittedPromptKey(e){return this.states.get(e)?.emittedPromptKey??null}reEmitPrompt(e){let t=this.states.get(e);if(!t)return;let n=this.detectPrompt(t.outputBuffer),i=n&&n.type!=="free-input"?n:t.pendingPrompt||void 0;i&&(t.emittedPromptKey=this.promptKey(i),t.lastSeenPromptKey=t.emittedPromptKey,this.onStatusChange(e,"waiting",i))}promptKey(e){return(0,Or.promptKey)(e)}schedulePromptRefresh(e){let t=this.states.get(e);t&&(t.promptRefreshTimer&&clearTimeout(t.promptRefreshTimer),t.promptRefreshTimer=setTimeout(()=>{let n=this.states.get(e);if(!n||(n.promptRefreshTimer=null,n.status!=="waiting"||Date.now()<n.resolveGraceUntil))return;let i=this.detectPrompt(n.outputBuffer),s=i&&i.type!=="free-input"?i:n.pendingPrompt;if(!s)return;let a=this.promptKey(s);a!==n.emittedPromptKey&&(n.emittedPromptKey=a,n.lastSeenPromptKey=a,this.onStatusChange(e,"waiting",s))},Vr.PROMPT_REFRESH_MS))}readTitleSignal(e,t){let{seqs:n,carry:i}=(0,Or.scanOsc)(t,e.oscCarry);e.oscCarry=i;for(let s of n){let a=(0,Or.classifyTitle)(s);!a||a.state==="unknown"||(e.signalState=a.state,e.signalAgent=a.agent)}}accountSignal(e,t,n){let i=t.signalState==="waiting",s=`${i?1:0}${n?1:0}`;s!==t.lastSignalPair&&(t.lastSignalPair=s,t.driftTimer&&(clearTimeout(t.driftTimer),t.driftTimer=null),i&&n?t.agreeWaiting++:i?t.driftTimer=setTimeout(()=>{t.driftTimer=null,t.signalOnlyWaiting++,this.onSignalDivergence?.(e,t.signalAgent),this.signalWaitingEnabled&&t.status!=="waiting"&&(Date.now()<t.resolveGraceUntil||(t.signalConfirmedWaiting=!0,t.pendingPrompt={type:"free-input",question:"Waiting for your input"},this.scheduleStatusUpdate(e,"waiting")))},Vr.DRIFT_DWELL_MS):n&&t.parserOnlyWaiting++)}getWaitingSource(e){let t=this.states.get(e);if(!t||t.status!=="waiting")return null;let n=t.signalConfirmedWaiting||t.signalState==="waiting";return t.parserConfirmedWaiting&&n?"both":t.parserConfirmedWaiting?"parser":"signal"}getSignalStats(e){let t=this.states.get(e);return t?{agent:t.signalAgent,state:t.signalState,agreeWaiting:t.agreeWaiting,signalOnlyWaiting:t.signalOnlyWaiting,parserOnlyWaiting:t.parserOnlyWaiting}:null}resetWorkingTimeout(e,t){t.workingTimeout&&clearTimeout(t.workingTimeout),t.status==="working"&&(t.workingTimeout=setTimeout(()=>{let n=this.states.get(e);n&&n.status==="working"&&(this.analyzeOutput(n.outputBuffer)==="waiting"?this.emitStatus(e,"waiting"):this.onStatusChange(e,"working",void 0))},Vr.WORKING_TIMEOUT_MS))}resolvePrompt(e){let t=this.states.get(e);t&&t.status==="waiting"&&(t.resolveGraceUntil=Date.now()+Vr.RESOLVE_GRACE_MS,t.pendingPrompt=null,t.emittedPromptKey=null,t.lastSeenPromptKey=null,t.promptRefreshTimer&&(clearTimeout(t.promptRefreshTimer),t.promptRefreshTimer=null),t.outputBuffer="",this.scheduleStatusUpdate(e,"working"))}forceStatus(e,t){this.emitStatus(e,t)}resendWaitingPrompts(){for(let[e,t]of this.states){if(t.status!=="waiting")continue;let n=this.detectPrompt(t.outputBuffer),i=n&&n.type!=="free-input"?n:t.pendingPrompt||void 0;i&&this.onStatusChange(e,"waiting",i)}}getStatus(e){return this.states.get(e)?.status??null}dispose(){for(let e of this.states.keys())this.stopTracking(e)}};mn.StatusDetector=ua;function om(r,e){let t=Math.max(r.lastIndexOf("\x1B[?1049h"),r.lastIndexOf("\x1B[?47h")),n=Math.max(r.lastIndexOf("\x1B[?1049l"),r.lastIndexOf("\x1B[?47l"));return t===-1&&n===-1?e:t>n}function am(r){return r?/^(?:\x1b\[[0-9]+;[0-9]+R|\x1b\[[?>][0-9;]*c|\x1b\[[0-9;]*n|\x1b\[\?[0-9;]*\$y|\x1b\[[IO]|\x1b\][^\x1b\x07]*(?:\x07|\x1b\\))+$/.test(r):!1}function cm(r){for(let e=0;e<r.length;e++){let t=r.charCodeAt(e);if(t===27){let n=r[e+1];if(n==="["||n==="O"){for(e+=2;e<r.length&&!/[A-Za-z~]/.test(r[e]);)e++;continue}if(n==="]"){for(e+=2;e<r.length&&r.charCodeAt(e)!==7;)e++;continue}return!0}if(t===13||t===10||t===3||t>=32&&t!==127)return!0}return!1}});var Lu=L((Qv,Iu)=>{var Un=require("fs"),Ru=require("url"),fm=require("child_process").spawn;Iu.exports=la;la.XMLHttpRequest=la;function la(r){"use strict";r=r||{};var e=this,t=require("http"),n=require("https"),i,s,a={},c=!1,u={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},h=Object.assign({},u),p=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","content-transfer-encoding","cookie","cookie2","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"],m=["TRACE","TRACK","CONNECT"],_=!1,E=!1,S=!1,C={};this.UNSENT=0,this.OPENED=1,this.HEADERS_RECEIVED=2,this.LOADING=3,this.DONE=4,this.readyState=this.UNSENT,this.onreadystatechange=null,this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),this.status=null,this.statusText=null;var H=function(T){return c||T&&p.indexOf(T.toLowerCase())===-1},ie=function(T){return T&&m.indexOf(T)===-1};this.open=function(T,F,te,U,ee){if(this.abort(),E=!1,S=!1,!ie(T))throw new Error("SecurityError: Request method not allowed");a={method:T,url:F.toString(),async:typeof te!="boolean"?!0:te,user:U||null,password:ee||null},z(this.OPENED)},this.setDisableHeaderCheck=function(T){c=T},this.setRequestHeader=function(T,F){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!H(T))return console.warn('Refused to set unsafe header "'+T+'"'),!1;if(_)throw new Error("INVALID_STATE_ERR: send flag is true");return h[T]=F,!0},this.getResponseHeader=function(T){return typeof T=="string"&&this.readyState>this.OPENED&&s.headers[T.toLowerCase()]&&!E?s.headers[T.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||E)return"";var T="";for(var F in s.headers)F!=="set-cookie"&&F!=="set-cookie2"&&(T+=F+": "+s.headers[F]+`\r
|
|
20
|
+
`);return T.substr(0,T.length-2)},this.getRequestHeader=function(T){return typeof T=="string"&&h[T]?h[T]:""},this.send=function(T){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(_)throw new Error("INVALID_STATE_ERR: send has already been called");var F=!1,te=!1,U=Ru.parse(a.url),ee;switch(U.protocol){case"https:":F=!0;case"http:":ee=U.hostname;break;case"file:":te=!0;break;case void 0:case"":ee="localhost";break;default:throw new Error("Protocol not supported.")}if(te){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)Un.readFile(unescape(U.pathname),function(R,se){R?e.handleError(R,R.errno||-1):(e.status=200,e.responseText=se.toString("utf8"),e.response=se,z(e.DONE))});else try{this.response=Un.readFileSync(unescape(U.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,z(e.DONE)}catch(R){this.handleError(R,R.errno||-1)}return}var pe=U.port||(F?443:80),K=U.pathname+(U.search?U.search:"");if(h.Host=ee,F&&pe===443||pe===80||(h.Host+=":"+U.port),a.user){typeof a.password>"u"&&(a.password="");var Ne=new Buffer(a.user+":"+a.password);h.Authorization="Basic "+Ne.toString("base64")}if(a.method==="GET"||a.method==="HEAD")T=null;else if(T){h["Content-Length"]=Buffer.isBuffer(T)?T.length:Buffer.byteLength(T);var tt=Object.keys(h);tt.some(function(R){return R.toLowerCase()==="content-type"})||(h["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(h["Content-Length"]=0);var Se=r.agent||!1,Me={host:ee,port:pe,path:K,method:a.method,headers:h,agent:Se};if(F&&(Me.pfx=r.pfx,Me.key=r.key,Me.passphrase=r.passphrase,Me.cert=r.cert,Me.ca=r.ca,Me.ciphers=r.ciphers,Me.rejectUnauthorized=r.rejectUnauthorized!==!1),E=!1,a.async){var we=F?n.request:t.request;_=!0,e.dispatchEvent("readystatechange");var qe=function(R){if(s=R,s.statusCode===302||s.statusCode===303||s.statusCode===307){a.url=s.headers.location;var se=Ru.parse(a.url);ee=se.hostname;var Oe={hostname:se.hostname,port:se.port,path:se.path,method:s.statusCode===303?"GET":a.method,headers:h};F&&(Oe.pfx=r.pfx,Oe.key=r.key,Oe.passphrase=r.passphrase,Oe.cert=r.cert,Oe.ca=r.ca,Oe.ciphers=r.ciphers,Oe.rejectUnauthorized=r.rejectUnauthorized!==!1),i=we(Oe,qe).on("error",Ee),i.end();return}z(e.HEADERS_RECEIVED),e.status=s.statusCode,s.on("data",function(j){if(j){var ue=Buffer.from(j);e.response=Buffer.concat([e.response,ue])}_&&z(e.LOADING)}),s.on("end",function(){_&&(_=!1,z(e.DONE),e.responseText=e.response.toString("utf8"))}),s.on("error",function(j){e.handleError(j)})},Ee=function(R){if(i.reusedSocket&&R.code==="ECONNRESET")return we(Me,qe).on("error",Ee);e.handleError(R)};i=we(Me,qe).on("error",Ee),r.autoUnref&&i.on("socket",R=>{R.unref()}),T&&i.write(T),i.end(),e.dispatchEvent("loadstart")}else{var rt=".node-xmlhttprequest-content-"+process.pid,Fe=".node-xmlhttprequest-sync-"+process.pid;Un.writeFileSync(Fe,"","utf8");for(var yt="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(F?"s":"")+".request;var options = "+JSON.stringify(Me)+";var responseText = '';var responseData = Buffer.alloc(0);var req = doRequest(options, function(response) {response.on('data', function(chunk) { var data = Buffer.from(chunk); responseText += data.toString('utf8'); responseData = Buffer.concat([responseData, data]);});response.on('end', function() {fs.writeFileSync('"+rt+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+Fe+"');});response.on('error', function(error) {fs.writeFileSync('"+rt+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Fe+"');});}).on('error', function(error) {fs.writeFileSync('"+rt+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+Fe+"');});"+(T?"req.write('"+JSON.stringify(T).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",We=fm(process.argv[0],["-e",yt]),dt;Un.existsSync(Fe););if(e.responseText=Un.readFileSync(rt,"utf8"),We.stdin.end(),Un.unlinkSync(rt),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var I=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(I,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var B=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));s={statusCode:e.status,headers:B.data.headers},e.responseText=B.data.text,e.response=Buffer.from(B.data.data,"base64"),z(e.DONE,!0)}}},this.handleError=function(T,F){this.status=F||0,this.statusText=T,this.responseText=T.stack,E=!0,z(this.DONE)},this.abort=function(){i&&(i.abort(),i=null),h=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),E=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||_)&&this.readyState!==this.DONE&&(_=!1,z(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(T,F){T in C||(C[T]=[]),C[T].push(F)},this.removeEventListener=function(T,F){T in C&&(C[T]=C[T].filter(function(te){return te!==F}))},this.dispatchEvent=function(T){if(typeof e["on"+T]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+T]()},0):e["on"+T]()),T in C)for(let F=0,te=C[T].length;F<te;F++)this.readyState===this.DONE?setTimeout(function(){C[T][F].call(e)},0):C[T][F].call(e)};var z=function(T){if(!(e.readyState===T||e.readyState===e.UNSENT&&S)&&(e.readyState=T,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let F;S?F="abort":E?F="error":F="load",e.dispatchEvent(F),e.dispatchEvent("loadend")}}}});var As=L($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.ERROR_PACKET=$r.PACKET_TYPES_REVERSE=$r.PACKET_TYPES=void 0;var lr=Object.create(null);$r.PACKET_TYPES=lr;lr.open="0";lr.close="1";lr.ping="2";lr.pong="3";lr.message="4";lr.upgrade="5";lr.noop="6";var Nu=Object.create(null);$r.PACKET_TYPES_REVERSE=Nu;Object.keys(lr).forEach(r=>{Nu[lr[r]]=r});var um={type:"error",data:"parser error"};$r.ERROR_PACKET=um});var Fu=L(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.encodePacket=void 0;Kn.encodePacketToBinary=dm;var lm=As(),hm=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+Mu(e,!0).toString("base64")):n(lm.PACKET_TYPES[r]+(e||""));Kn.encodePacket=hm;var Mu=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),ha;function dm(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(Mu(r.data,!1));(0,Kn.encodePacket)(r,!0,t=>{ha||(ha=new TextEncoder),e(ha.encode(t))})}});var Bu=L(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.decodePacket=void 0;var Rs=As(),pm=(r,e)=>{if(typeof r!="string")return{type:"message",data:Du(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:Du(n,e)}}return Rs.PACKET_TYPES_REVERSE[t]?r.length>1?{type:Rs.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:Rs.PACKET_TYPES_REVERSE[t]}:Rs.ERROR_PACKET};Is.decodePacket=pm;var Du=(r,e)=>e==="arraybuffer"?r instanceof ArrayBuffer?r:Buffer.isBuffer(r)?r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength):r.buffer:Buffer.isBuffer(r)?r:Buffer.from(r)});var qn=L(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.decodePayload=xt.decodePacket=xt.encodePayload=xt.encodePacket=xt.protocol=void 0;xt.createPacketEncoderStream=ym;xt.createPacketDecoderStream=_m;var pa=Fu();Object.defineProperty(xt,"encodePacket",{enumerable:!0,get:function(){return pa.encodePacket}});var ga=Bu();Object.defineProperty(xt,"decodePacket",{enumerable:!0,get:function(){return ga.decodePacket}});var ju=As(),Uu="",gm=(r,e)=>{let t=r.length,n=new Array(t),i=0;r.forEach((s,a)=>{(0,pa.encodePacket)(s,!1,c=>{n[a]=c,++i===t&&e(n.join(Uu))})})};xt.encodePayload=gm;var mm=(r,e)=>{let t=r.split(Uu),n=[];for(let i=0;i<t.length;i++){let s=(0,ga.decodePacket)(t[i],e);if(n.push(s),s.type==="error")break}return n};xt.decodePayload=mm;function ym(){return new TransformStream({transform(r,e){(0,pa.encodePacketToBinary)(r,t=>{let n=t.length,i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);let s=new DataView(i.buffer);s.setUint8(0,126),s.setUint16(1,n)}else{i=new Uint8Array(9);let s=new DataView(i.buffer);s.setUint8(0,127),s.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}var da;function Ls(r){return r.reduce((e,t)=>e+t.length,0)}function Ns(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let i=0;i<e;i++)t[i]=r[0][n++],n===r[0].length&&(r.shift(),n=0);return r.length&&n<r[0].length&&(r[0]=r[0].slice(n)),t}function _m(r,e){da||(da=new TextDecoder);let t=[],n=0,i=-1,s=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(Ls(t)<1)break;let u=Ns(t,1);s=(u[0]&128)===128,i=u[0]&127,i<126?n=3:i===126?n=1:n=2}else if(n===1){if(Ls(t)<2)break;let u=Ns(t,2);i=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(Ls(t)<8)break;let u=Ns(t,8),h=new DataView(u.buffer,u.byteOffset,u.length),p=h.getUint32(0);if(p>Math.pow(2,21)-1){c.enqueue(ju.ERROR_PACKET);break}i=p*Math.pow(2,32)+h.getUint32(4),n=3}else{if(Ls(t)<i)break;let u=Ns(t,i);c.enqueue((0,ga.decodePacket)(s?u:da.decode(u),e)),n=0}if(i===0||i>r){c.enqueue(ju.ERROR_PACKET);break}}}})}xt.protocol=4});var yn=L(Ku=>{Ku.Emitter=Et;function Et(r){if(r)return bm(r)}function bm(r){for(var e in Et.prototype)r[e]=Et.prototype[e];return r}Et.prototype.on=Et.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};Et.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};Et.prototype.off=Et.prototype.removeListener=Et.prototype.removeAllListeners=Et.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+r],this;for(var n,i=0;i<t.length;i++)if(n=t[i],n===e||n.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks["$"+r],this};Et.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+r],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(t){t=t.slice(0);for(var n=0,i=t.length;n<i;++n)t[n].apply(this,e)}return this};Et.prototype.emitReserved=Et.prototype.emit;Et.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};Et.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var _n=L(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.CookieJar=Dt.defaultBinaryType=Dt.globalThisShim=Dt.nextTick=void 0;Dt.createCookieJar=Em;Dt.parse=qu;Dt.nextTick=process.nextTick;Dt.globalThisShim=global;Dt.defaultBinaryType="nodebuffer";function Em(){return new Ms}function qu(r){let e=r.split("; "),t=e[0].indexOf("=");if(t===-1)return;let n=e[0].substring(0,t).trim();if(!n.length)return;let i=e[0].substring(t+1).trim();i.charCodeAt(0)===34&&(i=i.slice(1,-1));let s={name:n,value:i};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),h=c[1].trim();switch(u){case"Expires":s.expires=new Date(h);break;case"Max-Age":let p=new Date;p.setUTCSeconds(p.getUTCSeconds()+parseInt(h,10)),s.expires=p;break;default:}}return s}var Ms=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=qu(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var i;((i=t.expires)===null||i===void 0?void 0:i.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,i]of this.cookies)t.push(`${n}=${i.value}`);t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}appendCookies(e){for(let[t,n]of this.cookies)e.append("cookie",`${t}=${n.value}`)}};Dt.CookieJar=Ms});var bn=L(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.pick=vm;Wn.installTimerFunctions=Sm;Wn.byteLength=Cm;Wn.randomString=Om;var zr=_n();function vm(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var wm=zr.globalThisShim.setTimeout,xm=zr.globalThisShim.clearTimeout;function Sm(r,e){e.useNativeTimers?(r.setTimeoutFn=wm.bind(zr.globalThisShim),r.clearTimeoutFn=xm.bind(zr.globalThisShim)):(r.setTimeoutFn=zr.globalThisShim.setTimeout.bind(zr.globalThisShim),r.clearTimeoutFn=zr.globalThisShim.clearTimeout.bind(zr.globalThisShim))}var Tm=1.33;function Cm(r){return typeof r=="string"?km(r):Math.ceil((r.byteLength||r.size)*Tm)}function km(r){let e=0,t=0;for(let n=0,i=r.length;n<i;n++)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(n++,t+=4);return t}function Om(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var ma=L(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.encode=Pm;Fs.decode=Am;function Pm(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function Am(r){let e={},t=r.split("&");for(let n=0,i=t.length;n<i;n++){let s=t[n].split("=");e[decodeURIComponent(s[0])]=decodeURIComponent(s[1])}return e}});var Hu=L((cw,Wu)=>{var Hn=1e3,Vn=Hn*60,$n=Vn*60,En=$n*24,Rm=En*7,Im=En*365.25;Wu.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return Lm(r);if(t==="number"&&isFinite(r))return e.long?Mm(r):Nm(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Lm(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*Im;case"weeks":case"week":case"w":return t*Rm;case"days":case"day":case"d":return t*En;case"hours":case"hour":case"hrs":case"hr":case"h":return t*$n;case"minutes":case"minute":case"mins":case"min":case"m":return t*Vn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Hn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function Nm(r){var e=Math.abs(r);return e>=En?Math.round(r/En)+"d":e>=$n?Math.round(r/$n)+"h":e>=Vn?Math.round(r/Vn)+"m":e>=Hn?Math.round(r/Hn)+"s":r+"ms"}function Mm(r){var e=Math.abs(r);return e>=En?Ds(r,e,En,"day"):e>=$n?Ds(r,e,$n,"hour"):e>=Vn?Ds(r,e,Vn,"minute"):e>=Hn?Ds(r,e,Hn,"second"):r+" ms"}function Ds(r,e,t,n){var i=e>=t*1.5;return Math.round(r/t)+" "+n+(i?"s":"")}});var ya=L((fw,Vu)=>{function Fm(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=i,t.enabled=c,t.humanize=Hu(),t.destroy=h,Object.keys(r).forEach(p=>{t[p]=r[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let m=0;for(let _=0;_<p.length;_++)m=(m<<5)-m+p.charCodeAt(_),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(p){let m,_=null,E,S;function C(...H){if(!C.enabled)return;let ie=C,z=Number(new Date),T=z-(m||z);ie.diff=T,ie.prev=m,ie.curr=z,m=z,H[0]=t.coerce(H[0]),typeof H[0]!="string"&&H.unshift("%O");let F=0;H[0]=H[0].replace(/%([a-zA-Z%])/g,(U,ee)=>{if(U==="%%")return"%";F++;let pe=t.formatters[ee];if(typeof pe=="function"){let K=H[F];U=pe.call(ie,K),H.splice(F,1),F--}return U}),t.formatArgs.call(ie,H),(ie.log||t.log).apply(ie,H)}return C.namespace=p,C.useColors=t.useColors(),C.color=t.selectColor(p),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>_!==null?_:(E!==t.namespaces&&(E=t.namespaces,S=t.enabled(p)),S),set:H=>{_=H}}),typeof t.init=="function"&&t.init(C),C}function n(p,m){let _=t(this.namespace+(typeof m>"u"?":":m)+p);return _.log=this.log,_}function i(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let m=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let _ of m)_[0]==="-"?t.skips.push(_.slice(1)):t.names.push(_)}function s(p,m){let _=0,E=0,S=-1,C=0;for(;_<p.length;)if(E<m.length&&(m[E]===p[_]||m[E]==="*"))m[E]==="*"?(S=E,C=_,E++):(_++,E++);else if(S!==-1)E=S+1,C++,_=C;else return!1;for(;E<m.length&&m[E]==="*";)E++;return E===m.length}function a(){let p=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),p}function c(p){for(let m of t.skips)if(s(p,m))return!1;for(let m of t.names)if(s(p,m))return!0;return!1}function u(p){return p instanceof Error?p.stack||p.message:p}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Vu.exports=Fm});var $u=L((St,Bs)=>{St.formatArgs=Bm;St.save=jm;St.load=Um;St.useColors=Dm;St.storage=Km();St.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();St.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Dm(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let r;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(r=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(r[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Bm(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Bs.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(t++,i==="%c"&&(n=t))}),r.splice(n,0,e)}St.log=console.debug||console.log||(()=>{});function jm(r){try{r?St.storage.setItem("debug",r):St.storage.removeItem("debug")}catch{}}function Um(){let r;try{r=St.storage.getItem("debug")||St.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Km(){try{return localStorage}catch{}}Bs.exports=ya()(St);var{formatters:qm}=Bs.exports;qm.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Gu=L((uw,zu)=>{"use strict";zu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),i=e.indexOf("--");return n!==-1&&(i===-1||n<i)}});var Ju=L((lw,Xu)=>{"use strict";var Wm=require("os"),Yu=require("tty"),Bt=Gu(),{env:ct}=process,Gr;Bt("no-color")||Bt("no-colors")||Bt("color=false")||Bt("color=never")?Gr=0:(Bt("color")||Bt("colors")||Bt("color=true")||Bt("color=always"))&&(Gr=1);"FORCE_COLOR"in ct&&(ct.FORCE_COLOR==="true"?Gr=1:ct.FORCE_COLOR==="false"?Gr=0:Gr=ct.FORCE_COLOR.length===0?1:Math.min(parseInt(ct.FORCE_COLOR,10),3));function _a(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function ba(r,e){if(Gr===0)return 0;if(Bt("color=16m")||Bt("color=full")||Bt("color=truecolor"))return 3;if(Bt("color=256"))return 2;if(r&&!e&&Gr===void 0)return 0;let t=Gr||0;if(ct.TERM==="dumb")return t;if(process.platform==="win32"){let n=Wm.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in ct)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in ct)||ct.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in ct)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(ct.TEAMCITY_VERSION)?1:0;if(ct.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in ct){let n=parseInt((ct.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(ct.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(ct.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(ct.TERM)||"COLORTERM"in ct?1:t}function Hm(r){let e=ba(r,r&&r.isTTY);return _a(e)}Xu.exports={supportsColor:Hm,stdout:_a(ba(!0,Yu.isatty(1))),stderr:_a(ba(!0,Yu.isatty(2)))}});var Qu=L((ft,Us)=>{var Vm=require("tty"),js=require("util");ft.init=Zm;ft.log=Ym;ft.formatArgs=zm;ft.save=Xm;ft.load=Jm;ft.useColors=$m;ft.destroy=js.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");ft.colors=[6,2,3,4,5,1];try{let r=Ju();r&&(r.stderr||r).level>=2&&(ft.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}ft.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[e];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[t]=n,r},{});function $m(){return"colors"in ft.inspectOpts?!!ft.inspectOpts.colors:Vm.isatty(process.stderr.fd)}function zm(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${e} \x1B[0m`;r[0]=s+r[0].split(`
|
|
19
21
|
`).join(`
|
|
20
|
-
`+s),r.push(i+"m+"+Us.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=
|
|
21
|
-
`)}function
|
|
22
|
-
`).map(e=>e.trim()).join(" ")};Zu.O=function(r){return this.inspectOpts.colors=this.useColors,js.inspect(r,this.inspectOpts)}});var jt=L((cw,Ea)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ea.exports=$u():Ea.exports=Qu()});var Pi=L(Gr=>{"use strict";var Ym=Gr&&Gr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.Transport=Gr.TransportError=void 0;var Xm=qn(),Jm=yn(),Zm=bn(),Qm=ma(),ey=Ym(jt()),ty=(0,ey.default)("engine.io-client:transport"),Ks=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Gr.TransportError=Ks;var va=class extends Jm.Emitter{constructor(e){super(),this.writable=!1,(0,Zm.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved("error",new Ks(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"?this.write(e):ty("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,Xm.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=(0,Qm.encode)(e);return t.length?"?"+t:""}};Gr.Transport=va});var xa=L(zn=>{"use strict";var ry=zn&&zn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zn,"__esModule",{value:!0});zn.Polling=void 0;var ny=Pi(),iy=bn(),el=qn(),sy=ry(jt()),Gt=(0,sy.default)("engine.io-client:polling"),wa=class extends ny.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Gt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Gt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Gt("pre-pause polling complete"),--n||t()})),this.writable||(Gt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Gt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Gt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Gt("polling got data %s",e);let t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};(0,el.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Gt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Gt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Gt("transport open - closing"),e()):(Gt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,el.encodePayload)(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=(0,iy.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};zn.Polling=wa});var rl=L(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.hasCORS=void 0;var tl=!1;try{tl=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}qs.hasCORS=tl});var Ca=L(hr=>{"use strict";var oy=hr&&hr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(hr,"__esModule",{value:!0});hr.XHR=hr.Request=hr.BaseXHR=void 0;var ay=xa(),cy=yn(),nl=bn(),sl=_n(),fy=rl(),uy=oy(jt()),Sa=(0,uy.default)("engine.io-client:polling");function ly(){}var Ws=class extends ay.Polling{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",n=location.port;n||(n=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(i,s)=>{this.onError("xhr post error",i,s)})}doPoll(){Sa("xhr poll");let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}};hr.BaseXHR=Ws;var Or=class r extends cy.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,nl.installTimerFunctions)(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var e;let t=(0,nl.pick)(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;let n=this._xhr=this.createRequest(t);try{Sa("xhr open %s: %s",this._method,this._uri),n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&n.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var i;n.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},Sa("xhr data %s",this._data),n.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=ly,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};hr.Request=Or;Or.requestsCount=0;Or.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",il);else if(typeof addEventListener=="function"){let r="onpagehide"in sl.globalThisShim?"pagehide":"unload";addEventListener(r,il,!1)}}function il(){for(let r in Or.requests)Or.requests.hasOwnProperty(r)&&Or.requests[r].abort()}var hy=(function(){let r=ol({xdomain:!1});return r&&r.responseType!==null})(),Ta=class extends Ws{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=hy&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Or(ol,this.uri(),e)}};hr.XHR=Ta;function ol(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||fy.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new sl.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var Oa=L(dr=>{"use strict";var dy=dr&&dr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),py=dr&&dr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),gy=dr&&dr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&dy(e,r,t);return py(e,r),e};Object.defineProperty(dr,"__esModule",{value:!0});dr.XHR=void 0;var al=gy(Lu()),cl=Ca(),my=al.default||al,ka=class extends cl.BaseXHR{request(e={}){var t;return Object.assign(e,{xd:this.xd,cookieJar:(t=this.socket)===null||t===void 0?void 0:t._cookieJar},this.opts),new cl.Request(n=>new my(n),this.uri(),e)}};dr.XHR=ka});var Pr=L((pw,ll)=>{"use strict";var fl=["nodebuffer","arraybuffer","fragments"],ul=typeof Blob<"u";ul&&fl.push("blob");ll.exports={BINARY_TYPES:fl,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:ul,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Ai=L((gw,Hs)=>{"use strict";var{EMPTY_BUFFER:yy}=Pr(),Pa=Buffer[Symbol.species];function _y(r,e){if(r.length===0)return yy;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let i=0;i<r.length;i++){let s=r[i];t.set(s,n),n+=s.length}return n<e?new Pa(t.buffer,t.byteOffset,n):t}function hl(r,e,t,n,i){for(let s=0;s<i;s++)t[n+s]=r[s]^e[s&3]}function dl(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function by(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function Aa(r){if(Aa.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new Pa(r):ArrayBuffer.isView(r)?e=new Pa(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),Aa.readOnly=!1),e}Hs.exports={concat:_y,mask:hl,toArrayBuffer:by,toBuffer:Aa,unmask:dl};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");Hs.exports.mask=function(e,t,n,i,s){s<48?hl(e,t,n,i,s):r.mask(e,t,n,i,s)},Hs.exports.unmask=function(e,t){e.length<32?dl(e,t):r.unmask(e,t)}}catch{}});var ml=L((mw,gl)=>{"use strict";var pl=Symbol("kDone"),Ra=Symbol("kRun"),Ia=class{constructor(e){this[pl]=()=>{this.pending--,this[Ra]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Ra]()}[Ra](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[pl])}}};gl.exports=Ia});var Ii=L((yw,El)=>{"use strict";var Ri=require("zlib"),yl=Ai(),Ey=ml(),{kStatusCode:_l}=Pr(),vy=Buffer[Symbol.species],wy=Buffer.from([0,0,255,255]),$s=Symbol("permessage-deflate"),Ar=Symbol("total-length"),Gn=Symbol("callback"),Yr=Symbol("buffers"),Yn=Symbol("error"),Vs,La=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Vs){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Vs=new Ey(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[Gn];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(i=>!(t.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>i.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let i=t[n];if(i.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(i=i[0],n==="client_max_window_bits"){if(i!==!0){let s=+i;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${i}`);i=s}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${i}`)}else if(n==="server_max_window_bits"){let s=+i;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${i}`);i=s}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${i}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=i})}),e}decompress(e,t,n){Vs.add(i=>{this._decompress(e,t,(s,a)=>{i(),n(s,a)})})}compress(e,t,n){Vs.add(i=>{this._compress(e,t,(s,a)=>{i(),n(s,a)})})}_decompress(e,t,n){let i=this._isServer?"client":"server";if(!this._inflate){let s=`${i}_max_window_bits`,a=typeof this.params[s]!="number"?Ri.Z_DEFAULT_WINDOWBITS:this.params[s];this._inflate=Ri.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[$s]=this,this._inflate[Ar]=0,this._inflate[Yr]=[],this._inflate.on("error",Sy),this._inflate.on("data",bl)}this._inflate[Gn]=n,this._inflate.write(e),t&&this._inflate.write(wy),this._inflate.flush(()=>{let s=this._inflate[Yn];if(s){this._inflate.close(),this._inflate=null,n(s);return}let a=yl.concat(this._inflate[Yr],this._inflate[Ar]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Ar]=0,this._inflate[Yr]=[],t&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let i=this._isServer?"server":"client";if(!this._deflate){let s=`${i}_max_window_bits`,a=typeof this.params[s]!="number"?Ri.Z_DEFAULT_WINDOWBITS:this.params[s];this._deflate=Ri.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[Ar]=0,this._deflate[Yr]=[],this._deflate.on("data",xy)}this._deflate[Gn]=n,this._deflate.write(e),this._deflate.flush(Ri.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let s=yl.concat(this._deflate[Yr],this._deflate[Ar]);t&&(s=new vy(s.buffer,s.byteOffset,s.length-4)),this._deflate[Gn]=null,this._deflate[Ar]=0,this._deflate[Yr]=[],t&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),n(null,s)})}};El.exports=La;function xy(r){this[Yr].push(r),this[Ar]+=r.length}function bl(r){if(this[Ar]+=r.length,this[$s]._maxPayload<1||this[Ar]<=this[$s]._maxPayload){this[Yr].push(r);return}this[Yn]=new RangeError("Max payload size exceeded"),this[Yn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Yn][_l]=1009,this.removeListener("data",bl),this.reset()}function Sy(r){if(this[$s]._inflate=null,this[Yn]){this[Gn](this[Yn]);return}r[_l]=1007,this[Gn](r)}});var Xn=L((_w,zs)=>{"use strict";var{isUtf8:vl}=require("buffer"),{hasBlob:Ty}=Pr(),Cy=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function ky(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function Na(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}function Oy(r){return Ty&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}zs.exports={isBlob:Oy,isValidStatusCode:ky,isValidUTF8:Na,tokenChars:Cy};if(vl)zs.exports.isValidUTF8=function(r){return r.length<24?Na(r):vl(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");zs.exports.isValidUTF8=function(e){return e.length<32?Na(e):r(e)}}catch{}});var ja=L((bw,Ol)=>{"use strict";var{Writable:Py}=require("stream"),wl=Ii(),{BINARY_TYPES:Ay,EMPTY_BUFFER:xl,kStatusCode:Ry,kWebSocket:Iy}=Pr(),{concat:Ma,toArrayBuffer:Ly,unmask:Ny}=Ai(),{isValidStatusCode:My,isValidUTF8:Sl}=Xn(),Gs=Buffer[Symbol.species],Ut=0,Tl=1,Cl=2,kl=3,Fa=4,Da=5,Ys=6,Ba=class extends Py{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Ay[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Iy]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=Ut}_write(e,t,n){if(this._opcode===8&&this._state==Ut)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Gs(n.buffer,n.byteOffset+e,n.length-e),new Gs(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],i=t.length-e;e>=n.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),i),this._buffers[0]=new Gs(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case Ut:this.getInfo(e);break;case Tl:this.getPayloadLength16(e);break;case Cl:this.getPayloadLength64(e);break;case kl:this.getMask();break;case Fa:this.getData(e);break;case Da:case Ys:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let n=(t[0]&64)===64;if(n&&!this._extensions[wl.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(n){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=Tl:this._payloadLength===127?this._state=Cl:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=kl:this._state=Fa}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Fa}getData(e){let t=xl;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Ny(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=Da,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[wl.extensionName].decompress(e,this._fin,(i,s)=>{if(i)return t(i);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(a);return}this._fragments.push(s)}this.dataMessage(t),this._state===Ut&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=Ut;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Ma(n,t):this._binaryType==="arraybuffer"?i=Ly(Ma(n,t)):this._binaryType==="blob"?i=new Blob(n):i=n,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit("message",i,!0),this._state=Ut,this.startLoop(e)}))}else{let i=Ma(n,t);if(!this._skipUTF8Validation&&!Sl(i)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(s);return}this._state===Da||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit("message",i,!1),this._state=Ut,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,xl),this.end();else{let n=e.readUInt16BE(0);if(!My(n)){let s=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(s);return}let i=new Gs(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Sl(i)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(s);return}this._loop=!1,this.emit("conclude",n,i),this.end()}this._state=Ut;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=Ut,this.startLoop(t)}))}createError(e,t,n,i,s){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=s,a[Ry]=i,a}};Ol.exports=Ba});var qa=L((vw,Rl)=>{"use strict";var{Duplex:Ew}=require("stream"),{randomFillSync:Fy}=require("crypto"),Pl=Ii(),{EMPTY_BUFFER:Dy,kWebSocket:By,NOOP:jy}=Pr(),{isBlob:Jn,isValidStatusCode:Uy}=Xn(),{mask:Al,toBuffer:vn}=Ai(),Kt=Symbol("kByteLength"),Ky=Buffer.alloc(4),Xs=8*1024,wn,Zn=Xs,Yt=0,qy=1,Wy=2,Ua=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Yt,this.onerror=jy,this[By]=void 0}static frame(e,t){let n,i=!1,s=2,a=!1;t.mask&&(n=t.maskBuffer||Ky,t.generateMask?t.generateMask(n):(Zn===Xs&&(wn===void 0&&(wn=Buffer.alloc(Xs)),Fy(wn,0,Xs),Zn=0),n[0]=wn[Zn++],n[1]=wn[Zn++],n[2]=wn[Zn++],n[3]=wn[Zn++]),a=(n[0]|n[1]|n[2]|n[3])===0,s=6);let c;typeof e=="string"?(!t.mask||a)&&t[Kt]!==void 0?c=t[Kt]:(e=Buffer.from(e),c=e.length):(c=e.length,i=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(s+=8,u=127):c>125&&(s+=2,u=126);let h=Buffer.allocUnsafe(i?c+s:s);return h[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(h[0]|=64),h[1]=u,u===126?h.writeUInt16BE(c,2):u===127&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),t.mask?(h[1]|=128,h[s-4]=n[0],h[s-3]=n[1],h[s-2]=n[2],h[s-1]=n[3],a?[h,e]:i?(Al(e,n,h,s,c),[h]):(Al(e,n,e,0,c),[h,e])):[h,e]}close(e,t,n,i){let s;if(e===void 0)s=Dy;else{if(typeof e!="number"||!Uy(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)s=Buffer.allocUnsafe(2),s.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");s=Buffer.allocUnsafe(2+c),s.writeUInt16BE(e,0),typeof t=="string"?s.write(t,2):s.set(t,2)}}let a={[Kt]:s.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Yt?this.enqueue([this.dispatch,s,!1,a,i]):this.sendFrame(r.frame(s,a),i)}ping(e,t,n){let i,s;if(typeof e=="string"?(i=Buffer.byteLength(e),s=!1):Jn(e)?(i=e.size,s=!1):(e=vn(e),i=e.length,s=vn.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Kt]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:s,rsv1:!1};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==Yt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let i,s;if(typeof e=="string"?(i=Buffer.byteLength(e),s=!1):Jn(e)?(i=e.size,s=!1):(e=vn(e),i=e.length,s=vn.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Kt]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:s,rsv1:!1};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==Yt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let i=this._extensions[Pl.extensionName],s=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):Jn(e)?(c=e.size,u=!1):(e=vn(e),c=e.length,u=vn.readOnly),this._firstFragment?(this._firstFragment=!1,a&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=i._threshold),this._compress=a):(a=!1,s=0),t.fin&&(this._firstFragment=!0);let h={[Kt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:s,readOnly:u,rsv1:a};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,this._compress,h,n]):this.getBlobData(e,this._compress,h,n):this._state!==Yt?this.enqueue([this.dispatch,e,this._compress,h,n]):this.dispatch(e,this._compress,h,n)}getBlobData(e,t,n,i){this._bufferedBytes+=n[Kt],this._state=Wy,e.arrayBuffer().then(s=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(Ka,this,c,i);return}this._bufferedBytes-=n[Kt];let a=vn(s);t?this.dispatch(a,t,n,i):(this._state=Yt,this.sendFrame(r.frame(a,n),i),this.dequeue())}).catch(s=>{process.nextTick(Hy,this,s,i)})}dispatch(e,t,n,i){if(!t){this.sendFrame(r.frame(e,n),i);return}let s=this._extensions[Pl.extensionName];this._bufferedBytes+=n[Kt],this._state=qy,s.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");Ka(this,u,i);return}this._bufferedBytes-=n[Kt],this._state=Yt,n.readOnly=!1,this.sendFrame(r.frame(c,n),i),this.dequeue()})}dequeue(){for(;this._state===Yt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Kt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Kt],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Rl.exports=Ua;function Ka(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let i=r._queue[n],s=i[i.length-1];typeof s=="function"&&s(e)}}function Hy(r,e,t){Ka(r,e,t),r.onerror(e)}});var Ul=L((ww,jl)=>{"use strict";var{kForOnEventAttribute:Li,kListener:Wa}=Pr(),Il=Symbol("kCode"),Ll=Symbol("kData"),Nl=Symbol("kError"),Ml=Symbol("kMessage"),Fl=Symbol("kReason"),Qn=Symbol("kTarget"),Dl=Symbol("kType"),Bl=Symbol("kWasClean"),Rr=class{constructor(e){this[Qn]=null,this[Dl]=e}get target(){return this[Qn]}get type(){return this[Dl]}};Object.defineProperty(Rr.prototype,"target",{enumerable:!0});Object.defineProperty(Rr.prototype,"type",{enumerable:!0});var xn=class extends Rr{constructor(e,t={}){super(e),this[Il]=t.code===void 0?0:t.code,this[Fl]=t.reason===void 0?"":t.reason,this[Bl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Il]}get reason(){return this[Fl]}get wasClean(){return this[Bl]}};Object.defineProperty(xn.prototype,"code",{enumerable:!0});Object.defineProperty(xn.prototype,"reason",{enumerable:!0});Object.defineProperty(xn.prototype,"wasClean",{enumerable:!0});var ei=class extends Rr{constructor(e,t={}){super(e),this[Nl]=t.error===void 0?null:t.error,this[Ml]=t.message===void 0?"":t.message}get error(){return this[Nl]}get message(){return this[Ml]}};Object.defineProperty(ei.prototype,"error",{enumerable:!0});Object.defineProperty(ei.prototype,"message",{enumerable:!0});var Ni=class extends Rr{constructor(e,t={}){super(e),this[Ll]=t.data===void 0?null:t.data}get data(){return this[Ll]}};Object.defineProperty(Ni.prototype,"data",{enumerable:!0});var Vy={addEventListener(r,e,t={}){for(let i of this.listeners(r))if(!t[Li]&&i[Wa]===e&&!i[Li])return;let n;if(r==="message")n=function(s,a){let c=new Ni("message",{data:a?s:s.toString()});c[Qn]=this,Js(e,this,c)};else if(r==="close")n=function(s,a){let c=new xn("close",{code:s,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Qn]=this,Js(e,this,c)};else if(r==="error")n=function(s){let a=new ei("error",{error:s,message:s.message});a[Qn]=this,Js(e,this,a)};else if(r==="open")n=function(){let s=new Rr("open");s[Qn]=this,Js(e,this,s)};else return;n[Li]=!!t[Li],n[Wa]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[Wa]===e&&!t[Li]){this.removeListener(r,t);break}}};jl.exports={CloseEvent:xn,ErrorEvent:ei,Event:Rr,EventTarget:Vy,MessageEvent:Ni};function Js(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var Ha=L((xw,Kl)=>{"use strict";var{tokenChars:Mi}=Xn();function pr(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function $y(r){let e=Object.create(null),t=Object.create(null),n=!1,i=!1,s=!1,a,c,u=-1,h=-1,p=-1,m=0;for(;m<r.length;m++)if(h=r.charCodeAt(m),a===void 0)if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(m!==0&&(h===32||h===9))p===-1&&u!==-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let E=r.slice(u,p);h===44?(pr(e,E,t),t=Object.create(null)):a=E,u=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(h===32||h===9)p===-1&&u!==-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m),pr(t,r.slice(u,p),!0),h===44&&(pr(e,a,t),t=Object.create(null),a=void 0),u=p=-1}else if(h===61&&u!==-1&&p===-1)c=r.slice(u,m),u=p=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(i){if(Mi[h]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),i=!1}else if(s)if(Mi[h]===1)u===-1&&(u=m);else if(h===34&&u!==-1)s=!1,p=m;else if(h===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(h===34&&r.charCodeAt(m-1)===61)s=!0;else if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(u!==-1&&(h===32||h===9))p===-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let E=r.slice(u,p);n&&(E=E.replace(/\\/g,""),n=!1),pr(t,c,E),h===44&&(pr(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||s||h===32||h===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=m);let _=r.slice(u,p);return a===void 0?pr(e,_,t):(c===void 0?pr(t,_,!0):n?pr(t,c,_.replace(/\\/g,"")):pr(t,c,_),pr(e,a,t)),e}function zy(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(i=>{let s=n[i];return Array.isArray(s)||(s=[s]),s.map(a=>a===!0?i:`${i}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Kl.exports={format:zy,parse:$y}});var to=L((Cw,Ql)=>{"use strict";var Gy=require("events"),Yy=require("https"),Xy=require("http"),Hl=require("net"),Jy=require("tls"),{randomBytes:Zy,createHash:Qy}=require("crypto"),{Duplex:Sw,Readable:Tw}=require("stream"),{URL:Va}=require("url"),Xr=Ii(),e_=ja(),t_=qa(),{isBlob:r_}=Xn(),{BINARY_TYPES:ql,EMPTY_BUFFER:Zs,GUID:n_,kForOnEventAttribute:$a,kListener:i_,kStatusCode:s_,kWebSocket:ut,NOOP:Vl}=Pr(),{EventTarget:{addEventListener:o_,removeEventListener:a_}}=Ul(),{format:c_,parse:f_}=Ha(),{toBuffer:u_}=Ai(),l_=30*1e3,$l=Symbol("kAborted"),za=[8,13],Ir=["CONNECTING","OPEN","CLOSING","CLOSED"],h_=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,ze=class r extends Gy{constructor(e,t,n){super(),this._binaryType=ql[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Zs,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),zl(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){ql.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let i=new e_({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),s=new t_(e,this._extensions,n.generateMask);this._receiver=i,this._sender=s,this._socket=e,i[ut]=this,s[ut]=this,e[ut]=this,i.on("conclude",g_),i.on("drain",m_),i.on("error",y_),i.on("message",__),i.on("ping",b_),i.on("pong",E_),s.onerror=v_,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Xl),e.on("data",eo),e.on("end",Jl),e.on("error",Zl),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Xr.extensionName]&&this._extensions[Xr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){It(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Yl(this)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Zs,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Zs,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Xr.extensionName]||(i.compress=!1),this._sender.send(e||Zs,i,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){It(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(ze,"CONNECTING",{enumerable:!0,value:Ir.indexOf("CONNECTING")});Object.defineProperty(ze.prototype,"CONNECTING",{enumerable:!0,value:Ir.indexOf("CONNECTING")});Object.defineProperty(ze,"OPEN",{enumerable:!0,value:Ir.indexOf("OPEN")});Object.defineProperty(ze.prototype,"OPEN",{enumerable:!0,value:Ir.indexOf("OPEN")});Object.defineProperty(ze,"CLOSING",{enumerable:!0,value:Ir.indexOf("CLOSING")});Object.defineProperty(ze.prototype,"CLOSING",{enumerable:!0,value:Ir.indexOf("CLOSING")});Object.defineProperty(ze,"CLOSED",{enumerable:!0,value:Ir.indexOf("CLOSED")});Object.defineProperty(ze.prototype,"CLOSED",{enumerable:!0,value:Ir.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(ze.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(ze.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[$a])return e[i_];return null},set(e){for(let t of this.listeners(r))if(t[$a]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[$a]:!0})}})});ze.prototype.addEventListener=o_;ze.prototype.removeEventListener=a_;Ql.exports=ze;function zl(r,e,t,n){let i={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:za[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=i.autoPong,!za.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${za.join(", ")})`);let s;if(e instanceof Va)s=e;else try{s=new Va(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),r._url=s.href;let a=s.protocol==="wss:",c=s.protocol==="ws+unix:",u;if(s.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!s.pathname?u="The URL's pathname is empty":s.hash&&(u="The URL contains a fragment identifier"),u){let C=new SyntaxError(u);if(r._redirects===0)throw C;Qs(r,C);return}let h=a?443:80,p=Zy(16).toString("base64"),m=a?Yy.request:Xy.request,_=new Set,E;if(i.createConnection=i.createConnection||(a?p_:d_),i.defaultPort=i.defaultPort||h,i.port=s.port||h,i.host=s.hostname.startsWith("[")?s.hostname.slice(1,-1):s.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},i.path=s.pathname+s.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(E=new Xr(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=c_({[Xr.extensionName]:E.offer()})),t.length){for(let C of t){if(typeof C!="string"||!h_.test(C)||_.has(C))throw new SyntaxError("An invalid or duplicated subprotocol was specified");_.add(C)}i.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(s.username||s.password)&&(i.auth=`${s.username}:${s.password}`),c){let C=i.path.split(":");i.socketPath=C[0],i.path=C[1]}let S;if(i.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?i.socketPath:s.host;let C=n&&n.headers;if(n={...n,headers:{}},C)for(let[H,ie]of Object.entries(C))n.headers[H.toLowerCase()]=ie}else if(r.listenerCount("redirect")===0){let C=c?r._originalIpc?i.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:s.host===r._originalHostOrSocketPath;(!C||r._originalSecure&&!a)&&(delete i.headers.authorization,delete i.headers.cookie,C||delete i.headers.host,i.auth=void 0)}i.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),S=r._req=m(i),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(i);i.timeout&&S.on("timeout",()=>{It(r,S,"Opening handshake has timed out")}),S.on("error",C=>{S===null||S[$l]||(S=r._req=null,Qs(r,C))}),S.on("response",C=>{let H=C.headers.location,ie=C.statusCode;if(H&&i.followRedirects&&ie>=300&&ie<400){if(++r._redirects>i.maxRedirects){It(r,S,"Maximum redirects exceeded");return}S.abort();let z;try{z=new Va(H,e)}catch{let F=new SyntaxError(`Invalid URL: ${H}`);Qs(r,F);return}zl(r,z,t,n)}else r.emit("unexpected-response",S,C)||It(r,S,`Unexpected server response: ${C.statusCode}`)}),S.on("upgrade",(C,H,ie)=>{if(r.emit("upgrade",C),r.readyState!==ze.CONNECTING)return;S=r._req=null;let z=C.headers.upgrade;if(z===void 0||z.toLowerCase()!=="websocket"){It(r,H,"Invalid Upgrade header");return}let T=Qy("sha1").update(p+n_).digest("base64");if(C.headers["sec-websocket-accept"]!==T){It(r,H,"Invalid Sec-WebSocket-Accept header");return}let F=C.headers["sec-websocket-protocol"],te;if(F!==void 0?_.size?_.has(F)||(te="Server sent an invalid subprotocol"):te="Server sent a subprotocol but none was requested":_.size&&(te="Server sent no subprotocol"),te){It(r,H,te);return}F&&(r._protocol=F);let U=C.headers["sec-websocket-extensions"];if(U!==void 0){if(!E){It(r,H,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ee;try{ee=f_(U)}catch{It(r,H,"Invalid Sec-WebSocket-Extensions header");return}let pe=Object.keys(ee);if(pe.length!==1||pe[0]!==Xr.extensionName){It(r,H,"Server indicated an extension that was not requested");return}try{E.accept(ee[Xr.extensionName])}catch{It(r,H,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Xr.extensionName]=E}r.setSocket(H,ie,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(S,r):S.end()}function Qs(r,e){r._readyState=ze.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function d_(r){return r.path=r.socketPath,Hl.connect(r)}function p_(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Hl.isIP(r.host)?"":r.host),Jy.connect(r)}function It(r,e,t){r._readyState=ze.CLOSING;let n=new Error(t);Error.captureStackTrace(n,It),e.setHeader?(e[$l]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Qs,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ga(r,e,t){if(e){let n=r_(e)?e.size:u_(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${Ir[r.readyState]})`);process.nextTick(t,n)}}function g_(r,e){let t=this[ut];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[ut]!==void 0&&(t._socket.removeListener("data",eo),process.nextTick(Gl,t._socket),r===1005?t.close():t.close(r,e))}function m_(){let r=this[ut];r.isPaused||r._socket.resume()}function y_(r){let e=this[ut];e._socket[ut]!==void 0&&(e._socket.removeListener("data",eo),process.nextTick(Gl,e._socket),e.close(r[s_])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function Wl(){this[ut].emitClose()}function __(r,e){this[ut].emit("message",r,e)}function b_(r){let e=this[ut];e._autoPong&&e.pong(r,!this._isServer,Vl),e.emit("ping",r)}function E_(r){this[ut].emit("pong",r)}function Gl(r){r.resume()}function v_(r){let e=this[ut];e.readyState!==ze.CLOSED&&(e.readyState===ze.OPEN&&(e._readyState=ze.CLOSING,Yl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function Yl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),l_)}function Xl(){let r=this[ut];this.removeListener("close",Xl),this.removeListener("data",eo),this.removeListener("end",Jl),r._readyState=ze.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[ut]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Wl),r._receiver.on("finish",Wl))}function eo(r){this[ut]._receiver.write(r)||this.pause()}function Jl(){let r=this[ut];r._readyState=ze.CLOSING,r._receiver.end(),this.end()}function Zl(){let r=this[ut];this.removeListener("error",Zl),this.on("error",Vl),r&&(r._readyState=ze.CLOSING,this.destroy())}});var nh=L((Ow,rh)=>{"use strict";var kw=to(),{Duplex:w_}=require("stream");function eh(r){r.emit("close")}function x_(){!this.destroyed&&this._writableState.finished&&this.destroy()}function th(r){this.removeListener("error",th),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function S_(r,e){let t=!0,n=new w_({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(s,a){let c=!a&&n._readableState.objectMode?s.toString():s;n.push(c)||r.pause()}),r.once("error",function(s){n.destroyed||(t=!1,n.destroy(s))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(i,s){if(r.readyState===r.CLOSED){s(i),process.nextTick(eh,n);return}let a=!1;r.once("error",function(u){a=!0,s(u)}),r.once("close",function(){a||s(i),process.nextTick(eh,n)}),t&&r.terminate()},n._final=function(i){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(i)});return}r._socket!==null&&(r._socket._writableState.finished?(i(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){i()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(i,s,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(i,s,a)});return}r.send(i,a)},n.on("end",x_),n.on("error",th),n}rh.exports=S_});var sh=L((Pw,ih)=>{"use strict";var{tokenChars:T_}=Xn();function C_(r){let e=new Set,t=-1,n=-1,i=0;for(i;i<r.length;i++){let a=r.charCodeAt(i);if(n===-1&&T_[a]===1)t===-1&&(t=i);else if(i!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=i);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${i}`);n===-1&&(n=i);let c=r.slice(t,n);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let s=r.slice(t,i);if(e.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);return e.add(s),e}ih.exports={parse:C_}});var hh=L((Rw,lh)=>{"use strict";var k_=require("events"),ro=require("http"),{Duplex:Aw}=require("stream"),{createHash:O_}=require("crypto"),oh=Ha(),Sn=Ii(),P_=sh(),A_=to(),{GUID:R_,kWebSocket:I_}=Pr(),L_=/^[+/0-9A-Za-z]{22}==$/,ah=0,ch=1,uh=2,Ya=class extends k_{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:A_,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=ro.createServer((n,i)=>{let s=ro.STATUS_CODES[426];i.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),i.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=N_(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,s,a)=>{this.handleUpgrade(i,s,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=ah}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===uh){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Fi,this);return}if(e&&this.once("close",e),this._state!==ch)if(this._state=ch,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Fi,this):process.nextTick(Fi,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Fi(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,i){t.on("error",fh);let s=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Tn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){Tn(this,e,t,400,"Invalid Upgrade header");return}if(s===void 0||!L_.test(s)){Tn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){Tn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Di(t,400);return}let u=e.headers["sec-websocket-protocol"],h=new Set;if(u!==void 0)try{h=P_.parse(u)}catch{Tn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&p!==void 0){let _=new Sn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let E=oh.parse(p);E[Sn.extensionName]&&(_.accept(E[Sn.extensionName]),m[Sn.extensionName]=_)}catch{Tn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let _={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(_,(E,S,C,H)=>{if(!E)return Di(t,S||401,C,H);this.completeUpgrade(m,s,h,e,t,n,i)});return}if(!this.options.verifyClient(_))return Di(t,401)}this.completeUpgrade(m,s,h,e,t,n,i)}completeUpgrade(e,t,n,i,s,a,c){if(!s.readable||!s.writable)return s.destroy();if(s[I_])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>ah)return Di(s,503);let h=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${O_("sha1").update(t+R_).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,i):n.values().next().value;m&&(h.push(`Sec-WebSocket-Protocol: ${m}`),p._protocol=m)}if(e[Sn.extensionName]){let m=e[Sn.extensionName].params,_=oh.format({[Sn.extensionName]:[m]});h.push(`Sec-WebSocket-Extensions: ${_}`),p._extensions=e}this.emit("headers",h,i),s.write(h.concat(`\r
|
|
22
|
+
`+s),r.push(i+"m+"+Us.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Gm()+e+" "+r[0]}function Gm(){return ft.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ym(...r){return process.stderr.write(js.formatWithOptions(ft.inspectOpts,...r)+`
|
|
23
|
+
`)}function Xm(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Jm(){return process.env.DEBUG}function Zm(r){r.inspectOpts={};let e=Object.keys(ft.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=ft.inspectOpts[e[t]]}Us.exports=ya()(ft);var{formatters:Zu}=Us.exports;Zu.o=function(r){return this.inspectOpts.colors=this.useColors,js.inspect(r,this.inspectOpts).split(`
|
|
24
|
+
`).map(e=>e.trim()).join(" ")};Zu.O=function(r){return this.inspectOpts.colors=this.useColors,js.inspect(r,this.inspectOpts)}});var jt=L((hw,Ea)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ea.exports=$u():Ea.exports=Qu()});var Pi=L(Yr=>{"use strict";var Qm=Yr&&Yr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.Transport=Yr.TransportError=void 0;var ey=qn(),ty=yn(),ry=bn(),ny=ma(),iy=Qm(jt()),sy=(0,iy.default)("engine.io-client:transport"),Ks=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Yr.TransportError=Ks;var va=class extends ty.Emitter{constructor(e){super(),this.writable=!1,(0,ry.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,n){return super.emitReserved("error",new Ks(e,t,n)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(e){this.readyState==="open"?this.write(e):sy("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,ey.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(":")===-1?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(e){let t=(0,ny.encode)(e);return t.length?"?"+t:""}};Yr.Transport=va});var xa=L(zn=>{"use strict";var oy=zn&&zn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zn,"__esModule",{value:!0});zn.Polling=void 0;var ay=Pi(),cy=bn(),el=qn(),fy=oy(jt()),Gt=(0,fy.default)("engine.io-client:polling"),wa=class extends ay.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Gt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Gt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Gt("pre-pause polling complete"),--n||t()})),this.writable||(Gt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Gt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Gt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Gt("polling got data %s",e);let t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};(0,el.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Gt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Gt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Gt("transport open - closing"),e()):(Gt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,el.encodePayload)(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){let e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=(0,cy.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};zn.Polling=wa});var rl=L(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.hasCORS=void 0;var tl=!1;try{tl=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}qs.hasCORS=tl});var Ca=L(hr=>{"use strict";var uy=hr&&hr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(hr,"__esModule",{value:!0});hr.XHR=hr.Request=hr.BaseXHR=void 0;var ly=xa(),hy=yn(),nl=bn(),sl=_n(),dy=rl(),py=uy(jt()),Sa=(0,py.default)("engine.io-client:polling");function gy(){}var Ws=class extends ly.Polling{constructor(e){if(super(e),typeof location<"u"){let t=location.protocol==="https:",n=location.port;n||(n=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){let n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(i,s)=>{this.onError("xhr post error",i,s)})}doPoll(){Sa("xhr poll");let e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}};hr.BaseXHR=Ws;var Pr=class r extends hy.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,nl.installTimerFunctions)(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var e;let t=(0,nl.pick)(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;let n=this._xhr=this.createRequest(t);try{Sa("xhr open %s: %s",this._method,this._uri),n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&n.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var i;n.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},Sa("xhr data %s",this._data),n.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=gy,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}};hr.Request=Pr;Pr.requestsCount=0;Pr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",il);else if(typeof addEventListener=="function"){let r="onpagehide"in sl.globalThisShim?"pagehide":"unload";addEventListener(r,il,!1)}}function il(){for(let r in Pr.requests)Pr.requests.hasOwnProperty(r)&&Pr.requests[r].abort()}var my=(function(){let r=ol({xdomain:!1});return r&&r.responseType!==null})(),Ta=class extends Ws{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=my&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new Pr(ol,this.uri(),e)}};hr.XHR=Ta;function ol(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||dy.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new sl.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var Oa=L(dr=>{"use strict";var yy=dr&&dr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),_y=dr&&dr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),by=dr&&dr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&yy(e,r,t);return _y(e,r),e};Object.defineProperty(dr,"__esModule",{value:!0});dr.XHR=void 0;var al=by(Lu()),cl=Ca(),Ey=al.default||al,ka=class extends cl.BaseXHR{request(e={}){var t;return Object.assign(e,{xd:this.xd,cookieJar:(t=this.socket)===null||t===void 0?void 0:t._cookieJar},this.opts),new cl.Request(n=>new Ey(n),this.uri(),e)}};dr.XHR=ka});var Ar=L((_w,ll)=>{"use strict";var fl=["nodebuffer","arraybuffer","fragments"],ul=typeof Blob<"u";ul&&fl.push("blob");ll.exports={BINARY_TYPES:fl,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:ul,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var Ai=L((bw,Hs)=>{"use strict";var{EMPTY_BUFFER:vy}=Ar(),Pa=Buffer[Symbol.species];function wy(r,e){if(r.length===0)return vy;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let i=0;i<r.length;i++){let s=r[i];t.set(s,n),n+=s.length}return n<e?new Pa(t.buffer,t.byteOffset,n):t}function hl(r,e,t,n,i){for(let s=0;s<i;s++)t[n+s]=r[s]^e[s&3]}function dl(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function xy(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function Aa(r){if(Aa.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new Pa(r):ArrayBuffer.isView(r)?e=new Pa(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),Aa.readOnly=!1),e}Hs.exports={concat:wy,mask:hl,toArrayBuffer:xy,toBuffer:Aa,unmask:dl};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");Hs.exports.mask=function(e,t,n,i,s){s<48?hl(e,t,n,i,s):r.mask(e,t,n,i,s)},Hs.exports.unmask=function(e,t){e.length<32?dl(e,t):r.unmask(e,t)}}catch{}});var ml=L((Ew,gl)=>{"use strict";var pl=Symbol("kDone"),Ra=Symbol("kRun"),Ia=class{constructor(e){this[pl]=()=>{this.pending--,this[Ra]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Ra]()}[Ra](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[pl])}}};gl.exports=Ia});var Ii=L((vw,El)=>{"use strict";var Ri=require("zlib"),yl=Ai(),Sy=ml(),{kStatusCode:_l}=Ar(),Ty=Buffer[Symbol.species],Cy=Buffer.from([0,0,255,255]),$s=Symbol("permessage-deflate"),Rr=Symbol("total-length"),Gn=Symbol("callback"),Xr=Symbol("buffers"),Yn=Symbol("error"),Vs,La=class{constructor(e,t,n){if(this._maxPayload=n|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!Vs){let i=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Vs=new Sy(i)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[Gn];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,n=e.find(i=>!(t.serverNoContextTakeover===!1&&i.server_no_context_takeover||i.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>i.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!i.client_max_window_bits));if(!n)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(n.server_no_context_takeover=!0),t.clientNoContextTakeover&&(n.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(n.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?n.client_max_window_bits=t.clientMaxWindowBits:(n.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete n.client_max_window_bits,n}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(n=>{let i=t[n];if(i.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(i=i[0],n==="client_max_window_bits"){if(i!==!0){let s=+i;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${i}`);i=s}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${i}`)}else if(n==="server_max_window_bits"){let s=+i;if(!Number.isInteger(s)||s<8||s>15)throw new TypeError(`Invalid value for parameter "${n}": ${i}`);i=s}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(i!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${i}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=i})}),e}decompress(e,t,n){Vs.add(i=>{this._decompress(e,t,(s,a)=>{i(),n(s,a)})})}compress(e,t,n){Vs.add(i=>{this._compress(e,t,(s,a)=>{i(),n(s,a)})})}_decompress(e,t,n){let i=this._isServer?"client":"server";if(!this._inflate){let s=`${i}_max_window_bits`,a=typeof this.params[s]!="number"?Ri.Z_DEFAULT_WINDOWBITS:this.params[s];this._inflate=Ri.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[$s]=this,this._inflate[Rr]=0,this._inflate[Xr]=[],this._inflate.on("error",Oy),this._inflate.on("data",bl)}this._inflate[Gn]=n,this._inflate.write(e),t&&this._inflate.write(Cy),this._inflate.flush(()=>{let s=this._inflate[Yn];if(s){this._inflate.close(),this._inflate=null,n(s);return}let a=yl.concat(this._inflate[Xr],this._inflate[Rr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Rr]=0,this._inflate[Xr]=[],t&&this.params[`${i}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let i=this._isServer?"server":"client";if(!this._deflate){let s=`${i}_max_window_bits`,a=typeof this.params[s]!="number"?Ri.Z_DEFAULT_WINDOWBITS:this.params[s];this._deflate=Ri.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[Rr]=0,this._deflate[Xr]=[],this._deflate.on("data",ky)}this._deflate[Gn]=n,this._deflate.write(e),this._deflate.flush(Ri.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let s=yl.concat(this._deflate[Xr],this._deflate[Rr]);t&&(s=new Ty(s.buffer,s.byteOffset,s.length-4)),this._deflate[Gn]=null,this._deflate[Rr]=0,this._deflate[Xr]=[],t&&this.params[`${i}_no_context_takeover`]&&this._deflate.reset(),n(null,s)})}};El.exports=La;function ky(r){this[Xr].push(r),this[Rr]+=r.length}function bl(r){if(this[Rr]+=r.length,this[$s]._maxPayload<1||this[Rr]<=this[$s]._maxPayload){this[Xr].push(r);return}this[Yn]=new RangeError("Max payload size exceeded"),this[Yn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Yn][_l]=1009,this.removeListener("data",bl),this.reset()}function Oy(r){if(this[$s]._inflate=null,this[Yn]){this[Gn](this[Yn]);return}r[_l]=1007,this[Gn](r)}});var Xn=L((ww,zs)=>{"use strict";var{isUtf8:vl}=require("buffer"),{hasBlob:Py}=Ar(),Ay=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Ry(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function Na(r){let e=r.length,t=0;for(;t<e;)if((r[t]&128)===0)t++;else if((r[t]&224)===192){if(t+1===e||(r[t+1]&192)!==128||(r[t]&254)===192)return!1;t+=2}else if((r[t]&240)===224){if(t+2>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||r[t]===224&&(r[t+1]&224)===128||r[t]===237&&(r[t+1]&224)===160)return!1;t+=3}else if((r[t]&248)===240){if(t+3>=e||(r[t+1]&192)!==128||(r[t+2]&192)!==128||(r[t+3]&192)!==128||r[t]===240&&(r[t+1]&240)===128||r[t]===244&&r[t+1]>143||r[t]>244)return!1;t+=4}else return!1;return!0}function Iy(r){return Py&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}zs.exports={isBlob:Iy,isValidStatusCode:Ry,isValidUTF8:Na,tokenChars:Ay};if(vl)zs.exports.isValidUTF8=function(r){return r.length<24?Na(r):vl(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");zs.exports.isValidUTF8=function(e){return e.length<32?Na(e):r(e)}}catch{}});var ja=L((xw,Ol)=>{"use strict";var{Writable:Ly}=require("stream"),wl=Ii(),{BINARY_TYPES:Ny,EMPTY_BUFFER:xl,kStatusCode:My,kWebSocket:Fy}=Ar(),{concat:Ma,toArrayBuffer:Dy,unmask:By}=Ai(),{isValidStatusCode:jy,isValidUTF8:Sl}=Xn(),Gs=Buffer[Symbol.species],Ut=0,Tl=1,Cl=2,kl=3,Fa=4,Da=5,Ys=6,Ba=class extends Ly{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Ny[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Fy]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=Ut}_write(e,t,n){if(this._opcode===8&&this._state==Ut)return n();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(n)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let n=this._buffers[0];return this._buffers[0]=new Gs(n.buffer,n.byteOffset+e,n.length-e),new Gs(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],i=t.length-e;e>=n.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),i),this._buffers[0]=new Gs(n.buffer,n.byteOffset+e,n.length-e)),e-=n.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case Ut:this.getInfo(e);break;case Tl:this.getPayloadLength16(e);break;case Cl:this.getPayloadLength64(e);break;case kl:this.getMask();break;case Fa:this.getData(e);break;case Da:case Ys:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let i=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(i);return}let n=(t[0]&64)===64;if(n&&!this._extensions[wl.extensionName]){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(!this._fragmented){let i=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let i=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(i);return}if(n){let i=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(i);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let i=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(i);return}}else{let i=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(i);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let i=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(i);return}}else if(this._masked){let i=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(i);return}this._payloadLength===126?this._state=Tl:this._payloadLength===127?this._state=Cl:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),n=t.readUInt32BE(0);if(n>Math.pow(2,21)-1){let i=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(i);return}this._payloadLength=n*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=kl:this._state=Fa}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Fa}getData(e){let t=xl;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&By(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=Da,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[wl.extensionName].decompress(e,this._fin,(i,s)=>{if(i)return t(i);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let a=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(a);return}this._fragments.push(s)}this.dataMessage(t),this._state===Ut&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=Ut;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let i;this._binaryType==="nodebuffer"?i=Ma(n,t):this._binaryType==="arraybuffer"?i=Dy(Ma(n,t)):this._binaryType==="blob"?i=new Blob(n):i=n,this._allowSynchronousEvents?(this.emit("message",i,!0),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit("message",i,!0),this._state=Ut,this.startLoop(e)}))}else{let i=Ma(n,t);if(!this._skipUTF8Validation&&!Sl(i)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(s);return}this._state===Da||this._allowSynchronousEvents?(this.emit("message",i,!1),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit("message",i,!1),this._state=Ut,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,xl),this.end();else{let n=e.readUInt16BE(0);if(!jy(n)){let s=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(s);return}let i=new Gs(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Sl(i)){let s=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(s);return}this._loop=!1,this.emit("conclude",n,i),this.end()}this._state=Ut;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=Ut):(this._state=Ys,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=Ut,this.startLoop(t)}))}createError(e,t,n,i,s){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=s,a[My]=i,a}};Ol.exports=Ba});var qa=L((Tw,Rl)=>{"use strict";var{Duplex:Sw}=require("stream"),{randomFillSync:Uy}=require("crypto"),Pl=Ii(),{EMPTY_BUFFER:Ky,kWebSocket:qy,NOOP:Wy}=Ar(),{isBlob:Jn,isValidStatusCode:Hy}=Xn(),{mask:Al,toBuffer:vn}=Ai(),Kt=Symbol("kByteLength"),Vy=Buffer.alloc(4),Xs=8*1024,wn,Zn=Xs,Yt=0,$y=1,zy=2,Ua=class r{constructor(e,t,n){this._extensions=t||{},n&&(this._generateMask=n,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=Yt,this.onerror=Wy,this[qy]=void 0}static frame(e,t){let n,i=!1,s=2,a=!1;t.mask&&(n=t.maskBuffer||Vy,t.generateMask?t.generateMask(n):(Zn===Xs&&(wn===void 0&&(wn=Buffer.alloc(Xs)),Uy(wn,0,Xs),Zn=0),n[0]=wn[Zn++],n[1]=wn[Zn++],n[2]=wn[Zn++],n[3]=wn[Zn++]),a=(n[0]|n[1]|n[2]|n[3])===0,s=6);let c;typeof e=="string"?(!t.mask||a)&&t[Kt]!==void 0?c=t[Kt]:(e=Buffer.from(e),c=e.length):(c=e.length,i=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(s+=8,u=127):c>125&&(s+=2,u=126);let h=Buffer.allocUnsafe(i?c+s:s);return h[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(h[0]|=64),h[1]=u,u===126?h.writeUInt16BE(c,2):u===127&&(h[2]=h[3]=0,h.writeUIntBE(c,4,6)),t.mask?(h[1]|=128,h[s-4]=n[0],h[s-3]=n[1],h[s-2]=n[2],h[s-1]=n[3],a?[h,e]:i?(Al(e,n,h,s,c),[h]):(Al(e,n,e,0,c),[h,e])):[h,e]}close(e,t,n,i){let s;if(e===void 0)s=Ky;else{if(typeof e!="number"||!Hy(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)s=Buffer.allocUnsafe(2),s.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");s=Buffer.allocUnsafe(2+c),s.writeUInt16BE(e,0),typeof t=="string"?s.write(t,2):s.set(t,2)}}let a={[Kt]:s.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==Yt?this.enqueue([this.dispatch,s,!1,a,i]):this.sendFrame(r.frame(s,a),i)}ping(e,t,n){let i,s;if(typeof e=="string"?(i=Buffer.byteLength(e),s=!1):Jn(e)?(i=e.size,s=!1):(e=vn(e),i=e.length,s=vn.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Kt]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:s,rsv1:!1};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==Yt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let i,s;if(typeof e=="string"?(i=Buffer.byteLength(e),s=!1):Jn(e)?(i=e.size,s=!1):(e=vn(e),i=e.length,s=vn.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Kt]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:s,rsv1:!1};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==Yt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let i=this._extensions[Pl.extensionName],s=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):Jn(e)?(c=e.size,u=!1):(e=vn(e),c=e.length,u=vn.readOnly),this._firstFragment?(this._firstFragment=!1,a&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=i._threshold),this._compress=a):(a=!1,s=0),t.fin&&(this._firstFragment=!0);let h={[Kt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:s,readOnly:u,rsv1:a};Jn(e)?this._state!==Yt?this.enqueue([this.getBlobData,e,this._compress,h,n]):this.getBlobData(e,this._compress,h,n):this._state!==Yt?this.enqueue([this.dispatch,e,this._compress,h,n]):this.dispatch(e,this._compress,h,n)}getBlobData(e,t,n,i){this._bufferedBytes+=n[Kt],this._state=zy,e.arrayBuffer().then(s=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(Ka,this,c,i);return}this._bufferedBytes-=n[Kt];let a=vn(s);t?this.dispatch(a,t,n,i):(this._state=Yt,this.sendFrame(r.frame(a,n),i),this.dequeue())}).catch(s=>{process.nextTick(Gy,this,s,i)})}dispatch(e,t,n,i){if(!t){this.sendFrame(r.frame(e,n),i);return}let s=this._extensions[Pl.extensionName];this._bufferedBytes+=n[Kt],this._state=$y,s.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");Ka(this,u,i);return}this._bufferedBytes-=n[Kt],this._state=Yt,n.readOnly=!1,this.sendFrame(r.frame(c,n),i),this.dequeue()})}dequeue(){for(;this._state===Yt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Kt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Kt],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};Rl.exports=Ua;function Ka(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let i=r._queue[n],s=i[i.length-1];typeof s=="function"&&s(e)}}function Gy(r,e,t){Ka(r,e,t),r.onerror(e)}});var Ul=L((Cw,jl)=>{"use strict";var{kForOnEventAttribute:Li,kListener:Wa}=Ar(),Il=Symbol("kCode"),Ll=Symbol("kData"),Nl=Symbol("kError"),Ml=Symbol("kMessage"),Fl=Symbol("kReason"),Qn=Symbol("kTarget"),Dl=Symbol("kType"),Bl=Symbol("kWasClean"),Ir=class{constructor(e){this[Qn]=null,this[Dl]=e}get target(){return this[Qn]}get type(){return this[Dl]}};Object.defineProperty(Ir.prototype,"target",{enumerable:!0});Object.defineProperty(Ir.prototype,"type",{enumerable:!0});var xn=class extends Ir{constructor(e,t={}){super(e),this[Il]=t.code===void 0?0:t.code,this[Fl]=t.reason===void 0?"":t.reason,this[Bl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Il]}get reason(){return this[Fl]}get wasClean(){return this[Bl]}};Object.defineProperty(xn.prototype,"code",{enumerable:!0});Object.defineProperty(xn.prototype,"reason",{enumerable:!0});Object.defineProperty(xn.prototype,"wasClean",{enumerable:!0});var ei=class extends Ir{constructor(e,t={}){super(e),this[Nl]=t.error===void 0?null:t.error,this[Ml]=t.message===void 0?"":t.message}get error(){return this[Nl]}get message(){return this[Ml]}};Object.defineProperty(ei.prototype,"error",{enumerable:!0});Object.defineProperty(ei.prototype,"message",{enumerable:!0});var Ni=class extends Ir{constructor(e,t={}){super(e),this[Ll]=t.data===void 0?null:t.data}get data(){return this[Ll]}};Object.defineProperty(Ni.prototype,"data",{enumerable:!0});var Yy={addEventListener(r,e,t={}){for(let i of this.listeners(r))if(!t[Li]&&i[Wa]===e&&!i[Li])return;let n;if(r==="message")n=function(s,a){let c=new Ni("message",{data:a?s:s.toString()});c[Qn]=this,Js(e,this,c)};else if(r==="close")n=function(s,a){let c=new xn("close",{code:s,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Qn]=this,Js(e,this,c)};else if(r==="error")n=function(s){let a=new ei("error",{error:s,message:s.message});a[Qn]=this,Js(e,this,a)};else if(r==="open")n=function(){let s=new Ir("open");s[Qn]=this,Js(e,this,s)};else return;n[Li]=!!t[Li],n[Wa]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[Wa]===e&&!t[Li]){this.removeListener(r,t);break}}};jl.exports={CloseEvent:xn,ErrorEvent:ei,Event:Ir,EventTarget:Yy,MessageEvent:Ni};function Js(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var Ha=L((kw,Kl)=>{"use strict";var{tokenChars:Mi}=Xn();function pr(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function Xy(r){let e=Object.create(null),t=Object.create(null),n=!1,i=!1,s=!1,a,c,u=-1,h=-1,p=-1,m=0;for(;m<r.length;m++)if(h=r.charCodeAt(m),a===void 0)if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(m!==0&&(h===32||h===9))p===-1&&u!==-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let E=r.slice(u,p);h===44?(pr(e,E,t),t=Object.create(null)):a=E,u=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(h===32||h===9)p===-1&&u!==-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m),pr(t,r.slice(u,p),!0),h===44&&(pr(e,a,t),t=Object.create(null),a=void 0),u=p=-1}else if(h===61&&u!==-1&&p===-1)c=r.slice(u,m),u=p=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(i){if(Mi[h]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),i=!1}else if(s)if(Mi[h]===1)u===-1&&(u=m);else if(h===34&&u!==-1)s=!1,p=m;else if(h===92)i=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(h===34&&r.charCodeAt(m-1)===61)s=!0;else if(p===-1&&Mi[h]===1)u===-1&&(u=m);else if(u!==-1&&(h===32||h===9))p===-1&&(p=m);else if(h===59||h===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);p===-1&&(p=m);let E=r.slice(u,p);n&&(E=E.replace(/\\/g,""),n=!1),pr(t,c,E),h===44&&(pr(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=p=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||s||h===32||h===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=m);let _=r.slice(u,p);return a===void 0?pr(e,_,t):(c===void 0?pr(t,_,!0):n?pr(t,c,_.replace(/\\/g,"")):pr(t,c,_),pr(e,a,t)),e}function Jy(r){return Object.keys(r).map(e=>{let t=r[e];return Array.isArray(t)||(t=[t]),t.map(n=>[e].concat(Object.keys(n).map(i=>{let s=n[i];return Array.isArray(s)||(s=[s]),s.map(a=>a===!0?i:`${i}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}Kl.exports={format:Jy,parse:Xy}});var to=L((Aw,Ql)=>{"use strict";var Zy=require("events"),Qy=require("https"),e_=require("http"),Hl=require("net"),t_=require("tls"),{randomBytes:r_,createHash:n_}=require("crypto"),{Duplex:Ow,Readable:Pw}=require("stream"),{URL:Va}=require("url"),Jr=Ii(),i_=ja(),s_=qa(),{isBlob:o_}=Xn(),{BINARY_TYPES:ql,EMPTY_BUFFER:Zs,GUID:a_,kForOnEventAttribute:$a,kListener:c_,kStatusCode:f_,kWebSocket:ut,NOOP:Vl}=Ar(),{EventTarget:{addEventListener:u_,removeEventListener:l_}}=Ul(),{format:h_,parse:d_}=Ha(),{toBuffer:p_}=Ai(),g_=30*1e3,$l=Symbol("kAborted"),za=[8,13],Lr=["CONNECTING","OPEN","CLOSING","CLOSED"],m_=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,ze=class r extends Zy{constructor(e,t,n){super(),this._binaryType=ql[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Zs,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=r.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(n=t,t=[]):t=[t]),zl(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){ql.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,n){let i=new i_({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),s=new s_(e,this._extensions,n.generateMask);this._receiver=i,this._sender=s,this._socket=e,i[ut]=this,s[ut]=this,e[ut]=this,i.on("conclude",b_),i.on("drain",E_),i.on("error",v_),i.on("message",w_),i.on("ping",x_),i.on("pong",S_),s.onerror=T_,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Xl),e.on("data",eo),e.on("end",Jl),e.on("error",Zl),this._readyState=r.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Jr.extensionName]&&this._extensions[Jr.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=r.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){It(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===r.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=r.CLOSING,this._sender.close(e,t,!this._isServer,n=>{n||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),Yl(this)}}pause(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Zs,t,n)}pong(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(n=e,e=t=void 0):typeof t=="function"&&(n=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Zs,t,n)}resume(){this.readyState===r.CONNECTING||this.readyState===r.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,n){if(this.readyState===r.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(n=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==r.OPEN){Ga(this,e,n);return}let i={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Jr.extensionName]||(i.compress=!1),this._sender.send(e||Zs,i,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){It(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(ze,"CONNECTING",{enumerable:!0,value:Lr.indexOf("CONNECTING")});Object.defineProperty(ze.prototype,"CONNECTING",{enumerable:!0,value:Lr.indexOf("CONNECTING")});Object.defineProperty(ze,"OPEN",{enumerable:!0,value:Lr.indexOf("OPEN")});Object.defineProperty(ze.prototype,"OPEN",{enumerable:!0,value:Lr.indexOf("OPEN")});Object.defineProperty(ze,"CLOSING",{enumerable:!0,value:Lr.indexOf("CLOSING")});Object.defineProperty(ze.prototype,"CLOSING",{enumerable:!0,value:Lr.indexOf("CLOSING")});Object.defineProperty(ze,"CLOSED",{enumerable:!0,value:Lr.indexOf("CLOSED")});Object.defineProperty(ze.prototype,"CLOSED",{enumerable:!0,value:Lr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(ze.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(ze.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[$a])return e[c_];return null},set(e){for(let t of this.listeners(r))if(t[$a]){this.removeListener(r,t);break}typeof e=="function"&&this.addEventListener(r,e,{[$a]:!0})}})});ze.prototype.addEventListener=u_;ze.prototype.removeEventListener=l_;Ql.exports=ze;function zl(r,e,t,n){let i={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:za[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...n,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(r._autoPong=i.autoPong,!za.includes(i.protocolVersion))throw new RangeError(`Unsupported protocol version: ${i.protocolVersion} (supported versions: ${za.join(", ")})`);let s;if(e instanceof Va)s=e;else try{s=new Va(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),r._url=s.href;let a=s.protocol==="wss:",c=s.protocol==="ws+unix:",u;if(s.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!s.pathname?u="The URL's pathname is empty":s.hash&&(u="The URL contains a fragment identifier"),u){let C=new SyntaxError(u);if(r._redirects===0)throw C;Qs(r,C);return}let h=a?443:80,p=r_(16).toString("base64"),m=a?Qy.request:e_.request,_=new Set,E;if(i.createConnection=i.createConnection||(a?__:y_),i.defaultPort=i.defaultPort||h,i.port=s.port||h,i.host=s.hostname.startsWith("[")?s.hostname.slice(1,-1):s.hostname,i.headers={...i.headers,"Sec-WebSocket-Version":i.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},i.path=s.pathname+s.search,i.timeout=i.handshakeTimeout,i.perMessageDeflate&&(E=new Jr(i.perMessageDeflate!==!0?i.perMessageDeflate:{},!1,i.maxPayload),i.headers["Sec-WebSocket-Extensions"]=h_({[Jr.extensionName]:E.offer()})),t.length){for(let C of t){if(typeof C!="string"||!m_.test(C)||_.has(C))throw new SyntaxError("An invalid or duplicated subprotocol was specified");_.add(C)}i.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(i.origin&&(i.protocolVersion<13?i.headers["Sec-WebSocket-Origin"]=i.origin:i.headers.Origin=i.origin),(s.username||s.password)&&(i.auth=`${s.username}:${s.password}`),c){let C=i.path.split(":");i.socketPath=C[0],i.path=C[1]}let S;if(i.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?i.socketPath:s.host;let C=n&&n.headers;if(n={...n,headers:{}},C)for(let[H,ie]of Object.entries(C))n.headers[H.toLowerCase()]=ie}else if(r.listenerCount("redirect")===0){let C=c?r._originalIpc?i.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:s.host===r._originalHostOrSocketPath;(!C||r._originalSecure&&!a)&&(delete i.headers.authorization,delete i.headers.cookie,C||delete i.headers.host,i.auth=void 0)}i.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(i.auth).toString("base64")),S=r._req=m(i),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(i);i.timeout&&S.on("timeout",()=>{It(r,S,"Opening handshake has timed out")}),S.on("error",C=>{S===null||S[$l]||(S=r._req=null,Qs(r,C))}),S.on("response",C=>{let H=C.headers.location,ie=C.statusCode;if(H&&i.followRedirects&&ie>=300&&ie<400){if(++r._redirects>i.maxRedirects){It(r,S,"Maximum redirects exceeded");return}S.abort();let z;try{z=new Va(H,e)}catch{let F=new SyntaxError(`Invalid URL: ${H}`);Qs(r,F);return}zl(r,z,t,n)}else r.emit("unexpected-response",S,C)||It(r,S,`Unexpected server response: ${C.statusCode}`)}),S.on("upgrade",(C,H,ie)=>{if(r.emit("upgrade",C),r.readyState!==ze.CONNECTING)return;S=r._req=null;let z=C.headers.upgrade;if(z===void 0||z.toLowerCase()!=="websocket"){It(r,H,"Invalid Upgrade header");return}let T=n_("sha1").update(p+a_).digest("base64");if(C.headers["sec-websocket-accept"]!==T){It(r,H,"Invalid Sec-WebSocket-Accept header");return}let F=C.headers["sec-websocket-protocol"],te;if(F!==void 0?_.size?_.has(F)||(te="Server sent an invalid subprotocol"):te="Server sent a subprotocol but none was requested":_.size&&(te="Server sent no subprotocol"),te){It(r,H,te);return}F&&(r._protocol=F);let U=C.headers["sec-websocket-extensions"];if(U!==void 0){if(!E){It(r,H,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ee;try{ee=d_(U)}catch{It(r,H,"Invalid Sec-WebSocket-Extensions header");return}let pe=Object.keys(ee);if(pe.length!==1||pe[0]!==Jr.extensionName){It(r,H,"Server indicated an extension that was not requested");return}try{E.accept(ee[Jr.extensionName])}catch{It(r,H,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Jr.extensionName]=E}r.setSocket(H,ie,{allowSynchronousEvents:i.allowSynchronousEvents,generateMask:i.generateMask,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation})}),i.finishRequest?i.finishRequest(S,r):S.end()}function Qs(r,e){r._readyState=ze.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function y_(r){return r.path=r.socketPath,Hl.connect(r)}function __(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=Hl.isIP(r.host)?"":r.host),t_.connect(r)}function It(r,e,t){r._readyState=ze.CLOSING;let n=new Error(t);Error.captureStackTrace(n,It),e.setHeader?(e[$l]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Qs,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ga(r,e,t){if(e){let n=o_(e)?e.size:p_(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${Lr[r.readyState]})`);process.nextTick(t,n)}}function b_(r,e){let t=this[ut];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[ut]!==void 0&&(t._socket.removeListener("data",eo),process.nextTick(Gl,t._socket),r===1005?t.close():t.close(r,e))}function E_(){let r=this[ut];r.isPaused||r._socket.resume()}function v_(r){let e=this[ut];e._socket[ut]!==void 0&&(e._socket.removeListener("data",eo),process.nextTick(Gl,e._socket),e.close(r[f_])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function Wl(){this[ut].emitClose()}function w_(r,e){this[ut].emit("message",r,e)}function x_(r){let e=this[ut];e._autoPong&&e.pong(r,!this._isServer,Vl),e.emit("ping",r)}function S_(r){this[ut].emit("pong",r)}function Gl(r){r.resume()}function T_(r){let e=this[ut];e.readyState!==ze.CLOSED&&(e.readyState===ze.OPEN&&(e._readyState=ze.CLOSING,Yl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function Yl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),g_)}function Xl(){let r=this[ut];this.removeListener("close",Xl),this.removeListener("data",eo),this.removeListener("end",Jl),r._readyState=ze.CLOSING;let e;!this._readableState.endEmitted&&!r._closeFrameReceived&&!r._receiver._writableState.errorEmitted&&(e=r._socket.read())!==null&&r._receiver.write(e),r._receiver.end(),this[ut]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",Wl),r._receiver.on("finish",Wl))}function eo(r){this[ut]._receiver.write(r)||this.pause()}function Jl(){let r=this[ut];r._readyState=ze.CLOSING,r._receiver.end(),this.end()}function Zl(){let r=this[ut];this.removeListener("error",Zl),this.on("error",Vl),r&&(r._readyState=ze.CLOSING,this.destroy())}});var nh=L((Iw,rh)=>{"use strict";var Rw=to(),{Duplex:C_}=require("stream");function eh(r){r.emit("close")}function k_(){!this.destroyed&&this._writableState.finished&&this.destroy()}function th(r){this.removeListener("error",th),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function O_(r,e){let t=!0,n=new C_({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(s,a){let c=!a&&n._readableState.objectMode?s.toString():s;n.push(c)||r.pause()}),r.once("error",function(s){n.destroyed||(t=!1,n.destroy(s))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(i,s){if(r.readyState===r.CLOSED){s(i),process.nextTick(eh,n);return}let a=!1;r.once("error",function(u){a=!0,s(u)}),r.once("close",function(){a||s(i),process.nextTick(eh,n)}),t&&r.terminate()},n._final=function(i){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(i)});return}r._socket!==null&&(r._socket._writableState.finished?(i(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){i()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(i,s,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(i,s,a)});return}r.send(i,a)},n.on("end",k_),n.on("error",th),n}rh.exports=O_});var sh=L((Lw,ih)=>{"use strict";var{tokenChars:P_}=Xn();function A_(r){let e=new Set,t=-1,n=-1,i=0;for(i;i<r.length;i++){let a=r.charCodeAt(i);if(n===-1&&P_[a]===1)t===-1&&(t=i);else if(i!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=i);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${i}`);n===-1&&(n=i);let c=r.slice(t,n);if(e.has(c))throw new SyntaxError(`The "${c}" subprotocol is duplicated`);e.add(c),t=n=-1}else throw new SyntaxError(`Unexpected character at index ${i}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let s=r.slice(t,i);if(e.has(s))throw new SyntaxError(`The "${s}" subprotocol is duplicated`);return e.add(s),e}ih.exports={parse:A_}});var hh=L((Mw,lh)=>{"use strict";var R_=require("events"),ro=require("http"),{Duplex:Nw}=require("stream"),{createHash:I_}=require("crypto"),oh=Ha(),Sn=Ii(),L_=sh(),N_=to(),{GUID:M_,kWebSocket:F_}=Ar(),D_=/^[+/0-9A-Za-z]{22}==$/,ah=0,ch=1,uh=2,Ya=class extends R_{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:N_,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=ro.createServer((n,i)=>{let s=ro.STATUS_CODES[426];i.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),i.end(s)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let n=this.emit.bind(this,"connection");this._removeListeners=B_(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(i,s,a)=>{this.handleUpgrade(i,s,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=ah}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===uh){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Fi,this);return}if(e&&this.once("close",e),this._state!==ch)if(this._state=ch,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients?this.clients.size?this._shouldEmitClose=!0:process.nextTick(Fi,this):process.nextTick(Fi,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Fi(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,n,i){t.on("error",fh);let s=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Tn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){Tn(this,e,t,400,"Invalid Upgrade header");return}if(s===void 0||!D_.test(s)){Tn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){Tn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Di(t,400);return}let u=e.headers["sec-websocket-protocol"],h=new Set;if(u!==void 0)try{h=L_.parse(u)}catch{Tn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&p!==void 0){let _=new Sn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let E=oh.parse(p);E[Sn.extensionName]&&(_.accept(E[Sn.extensionName]),m[Sn.extensionName]=_)}catch{Tn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let _={origin:e.headers[`${c===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(_,(E,S,C,H)=>{if(!E)return Di(t,S||401,C,H);this.completeUpgrade(m,s,h,e,t,n,i)});return}if(!this.options.verifyClient(_))return Di(t,401)}this.completeUpgrade(m,s,h,e,t,n,i)}completeUpgrade(e,t,n,i,s,a,c){if(!s.readable||!s.writable)return s.destroy();if(s[F_])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>ah)return Di(s,503);let h=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${I_("sha1").update(t+M_).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,i):n.values().next().value;m&&(h.push(`Sec-WebSocket-Protocol: ${m}`),p._protocol=m)}if(e[Sn.extensionName]){let m=e[Sn.extensionName].params,_=oh.format({[Sn.extensionName]:[m]});h.push(`Sec-WebSocket-Extensions: ${_}`),p._extensions=e}this.emit("headers",h,i),s.write(h.concat(`\r
|
|
23
25
|
`).join(`\r
|
|
24
|
-
`)),s.removeListener("error",fh),p.setSocket(s,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Fi,this)})),c(p,i)}};lh.exports=Ya;function
|
|
26
|
+
`)),s.removeListener("error",fh),p.setSocket(s,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Fi,this)})),c(p,i)}};lh.exports=Ya;function B_(r,e){for(let t of Object.keys(e))r.on(t,e[t]);return function(){for(let n of Object.keys(e))r.removeListener(n,e[n])}}function Fi(r){r._state=uh,r.emit("close")}function fh(){this.destroy()}function Di(r,e,t,n){t=t||ro.STATUS_CODES[e],n={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...n},r.once("finish",r.destroy),r.end(`HTTP/1.1 ${e} ${ro.STATUS_CODES[e]}\r
|
|
25
27
|
`+Object.keys(n).map(i=>`${i}: ${n[i]}`).join(`\r
|
|
26
28
|
`)+`\r
|
|
27
29
|
\r
|
|
28
|
-
`+t)}function Tn(r,e,t,n,i,s){if(r.listenerCount("wsClientError")){let a=new Error(i);Error.captureStackTrace(a,Tn),r.emit("wsClientError",a,t,e)}else Di(t,n,i,s)}});var ph=L((Iw,dh)=>{"use strict";var Lr=to();Lr.createWebSocketStream=nh();Lr.Server=hh();Lr.Receiver=ja();Lr.Sender=qa();Lr.WebSocket=Lr;Lr.WebSocketServer=Lr.Server;dh.exports=Lr});var Qa=L(Jr=>{"use strict";var M_=Jr&&Jr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.WS=Jr.BaseWS=void 0;var F_=Pi(),gh=bn(),D_=qn(),Ja=_n(),B_=M_(jt()),j_=(0,B_.default)("engine.io-client:websocket"),mh=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",no=class extends F_.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=mh?{}:(0,gh.pick)(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],i=t===e.length-1;(0,D_.encodePacket)(n,this.supportsBinary,s=>{try{this.doWrite(n,s)}catch{j_("websocket closed before onclose event")}i&&(0,Ja.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,gh.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Jr.BaseWS=no;var Xa=Ja.globalThisShim.WebSocket||Ja.globalThisShim.MozWebSocket,Za=class extends no{createSocket(e,t,n){return mh?new Xa(e,t,n):t?new Xa(e,t):new Xa(e)}doWrite(e,t){this.ws.send(t)}};Jr.WS=Za});var tc=L(gr=>{"use strict";var U_=gr&&gr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),K_=gr&&gr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),q_=gr&&gr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&U_(e,r,t);return K_(e,r),e};Object.defineProperty(gr,"__esModule",{value:!0});gr.WS=void 0;var W_=q_(ph()),H_=Qa(),ec=class extends H_.BaseWS{createSocket(e,t,n){var i;if(!((i=this.socket)===null||i===void 0)&&i._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[s,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${s}=${a.value}`)}return new W_.WebSocket(e,t,n)}doWrite(e,t){let n={};e.options&&(n.compress=e.options.compress),this.opts.perMessageDeflate&&(typeof t=="string"?Buffer.byteLength(t):t.length)<this.opts.perMessageDeflate.threshold&&(n.compress=!1),this.ws.send(t,n)}};gr.WS=ec});var nc=L(ti=>{"use strict";var V_=ti&&ti.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ti,"__esModule",{value:!0});ti.WT=void 0;var $_=Pi(),z_=_n(),yh=qn(),G_=V_(jt()),Bi=(0,G_.default)("engine.io-client:webtransport"),rc=class extends $_.Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{Bi("transport closed gracefully"),this.onClose()}).catch(e=>{Bi("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,yh.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),i=(0,yh.createPacketEncoderStream)();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();let s=()=>{n.read().then(({done:c,value:u})=>{if(c){Bi("session is closed");return}Bi("received chunk: %o",u),this.onPacket(u),s()}).catch(c=>{Bi("an error occurred while reading: %s",c)})};s();let a={type:"open"};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],i=t===e.length-1;this._writer.write(n).then(()=>{i&&(0,z_.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};ti.WT=rc});var ic=L(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.transports=void 0;var Y_=Oa(),X_=tc(),J_=nc();io.transports={websocket:X_.WS,webtransport:J_.WT,polling:Y_.XHR}});var oc=L(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.parse=e0;var Z_=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Q_=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function e0(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),n=r.indexOf("]");t!=-1&&n!=-1&&(r=r.substring(0,t)+r.substring(t,n).replace(/:/g,";")+r.substring(n,r.length));let i=Z_.exec(r||""),s={},a=14;for(;a--;)s[Q_[a]]=i[a]||"";return t!=-1&&n!=-1&&(s.source=e,s.host=s.host.substring(1,s.host.length-1).replace(/;/g,":"),s.authority=s.authority.replace("[","").replace("]","").replace(/;/g,":"),s.ipv6uri=!0),s.pathNames=t0(s,s.path),s.queryKey=r0(s,s.query),s}function t0(r,e){let t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function r0(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,i,s){i&&(t[i]=s)}),t}});var uc=L(mr=>{"use strict";var n0=mr&&mr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mr,"__esModule",{value:!0});mr.Socket=mr.SocketWithUpgrade=mr.SocketWithoutUpgrade=void 0;var i0=ic(),_h=bn(),s0=ma(),bh=oc(),o0=yn(),Eh=qn(),ac=_n(),a0=n0(jt()),Ue=(0,a0.default)("engine.io-client:socket"),cc=typeof addEventListener=="function"&&typeof removeEventListener=="function",ji=[];cc&&addEventListener("offline",()=>{Ue("closing %d connection(s) because the network was lost",ji.length),ji.forEach(r=>r())},!1);var Cn=class r extends o0.Emitter{constructor(e,t){if(super(),this.binaryType=ac.defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){let n=(0,bh.parse)(e);t.hostname=n.host,t.secure=n.protocol==="https"||n.protocol==="wss",t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=(0,bh.parse)(t.host).host);(0,_h.installTimerFunctions)(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(n=>{let i=n.prototype.name;this.transports.push(i),this._transportsByName[i]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=(0,s0.decode)(this.opts.query)),cc&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(Ue("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ji.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,ac.createCookieJar)()),this._open()}createTransport(e){Ue('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=Eh.protocol,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return Ue("options: %j",n),new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let e=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){Ue("setting transport %s",e.name),this.transport&&(Ue("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){Ue("socket open"),this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(Ue('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}else Ue('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();Ue("flushing %d packets in socket",e.length),this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n<this.writeBuffer.length;n++){let i=this.writeBuffer[n].data;if(i&&(t+=(0,_h.byteLength)(i)),n>0&&t>this._maxPayload)return Ue("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return Ue("payload size is %d (max: %d)",t,this._maxPayload),this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(Ue("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,ac.nextTick)(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,i){if(typeof t=="function"&&(i=t,t=void 0),typeof n=="function"&&(i=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),i&&this.once("flush",i),this.flush()}close(){let e=()=>{this._onClose("forced close"),Ue("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(Ue("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return Ue("trying next transport"),this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(Ue('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),cc&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=ji.indexOf(this._offlineEventListener);n!==-1&&(Ue("removing listener for the 'offline' event"),ji.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};mr.SocketWithoutUpgrade=Cn;Cn.protocol=Eh.protocol;var so=class extends Cn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){Ue("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){Ue('probing transport "%s"',e);let t=this.createTransport(e),n=!1;Cn.priorWebsocketSuccess=!1;let i=()=>{n||(Ue('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!n)if(m.type==="pong"&&m.data==="probe"){if(Ue('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Cn.priorWebsocketSuccess=t.name==="websocket",Ue('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(Ue("changing transport and sending upgrade packet"),p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{Ue('probe transport "%s" failed',e);let _=new Error("probe error");_.transport=t.name,this.emitReserved("upgradeError",_)}}))};function s(){n||(n=!0,p(),t.close(),t=null)}let a=m=>{let _=new Error("probe error: "+m);_.transport=t.name,s(),Ue('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",_)};function c(){a("transport closed")}function u(){a("socket closed")}function h(m){t&&m.name!==t.name&&(Ue('"%s" works - aborting "%s"',m.name,t.name),s())}let p=()=>{t.removeListener("open",i),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",h)};t.once("open",i),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",h),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};mr.SocketWithUpgrade=so;var fc=class extends so{constructor(e,t={}){let n=typeof e=="object"?e:t;(!n.transports||n.transports&&typeof n.transports[0]=="string")&&(n.transports=(n.transports||["polling","websocket","webtransport"]).map(i=>i0.transports[i]).filter(i=>!!i)),super(e,n)}};mr.Socket=fc});var vh=L(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.Fetch=void 0;var c0=xa(),lc=class extends c0.Polling{doPoll(){this._fetch().then(e=>{if(!e.ok)return this.onError("fetch read error",e.status,e);e.text().then(t=>this.onData(t))}).catch(e=>{this.onError("fetch read error",e)})}doWrite(e,t){this._fetch(e).then(n=>{if(!n.ok)return this.onError("fetch write error",n.status,n);t()}).catch(n=>{this.onError("fetch write error",n)})}_fetch(e){var t;let n=e!==void 0,i=new Headers(this.opts.extraHeaders);return n&&i.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(i),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:i,credentials:this.opts.withCredentials?"include":"omit"}).then(s=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(s.headers.getSetCookie()),s})}};oo.Fetch=lc});var ao=L(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.WebTransport=ke.WebSocket=ke.NodeWebSocket=ke.XHR=ke.NodeXHR=ke.Fetch=ke.nextTick=ke.parse=ke.installTimerFunctions=ke.transports=ke.TransportError=ke.Transport=ke.protocol=ke.SocketWithUpgrade=ke.SocketWithoutUpgrade=ke.Socket=void 0;var wh=uc();Object.defineProperty(ke,"Socket",{enumerable:!0,get:function(){return wh.Socket}});var xh=uc();Object.defineProperty(ke,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return xh.SocketWithoutUpgrade}});Object.defineProperty(ke,"SocketWithUpgrade",{enumerable:!0,get:function(){return xh.SocketWithUpgrade}});ke.protocol=wh.Socket.protocol;var Sh=Pi();Object.defineProperty(ke,"Transport",{enumerable:!0,get:function(){return Sh.Transport}});Object.defineProperty(ke,"TransportError",{enumerable:!0,get:function(){return Sh.TransportError}});var f0=ic();Object.defineProperty(ke,"transports",{enumerable:!0,get:function(){return f0.transports}});var u0=bn();Object.defineProperty(ke,"installTimerFunctions",{enumerable:!0,get:function(){return u0.installTimerFunctions}});var l0=oc();Object.defineProperty(ke,"parse",{enumerable:!0,get:function(){return l0.parse}});var h0=_n();Object.defineProperty(ke,"nextTick",{enumerable:!0,get:function(){return h0.nextTick}});var d0=vh();Object.defineProperty(ke,"Fetch",{enumerable:!0,get:function(){return d0.Fetch}});var p0=Oa();Object.defineProperty(ke,"NodeXHR",{enumerable:!0,get:function(){return p0.XHR}});var g0=Ca();Object.defineProperty(ke,"XHR",{enumerable:!0,get:function(){return g0.XHR}});var m0=tc();Object.defineProperty(ke,"NodeWebSocket",{enumerable:!0,get:function(){return m0.WS}});var y0=Qa();Object.defineProperty(ke,"WebSocket",{enumerable:!0,get:function(){return y0.WS}});var _0=nc();Object.defineProperty(ke,"WebTransport",{enumerable:!0,get:function(){return _0.WT}})});var Ch=L(Ui=>{"use strict";var b0=Ui&&Ui.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.url=w0;var E0=ao(),v0=b0(jt()),Th=(0,v0.default)("socket.io-client:url");function w0(r,e="",t){let n=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(Th("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Th("parse %s",r),n=(0,E0.parse)(r)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";let s=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+s+":"+n.port+e,n.href=n.protocol+"://"+s+(t&&t.port===n.port?"":":"+n.port),n}});var hc=L(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.isBinary=Oh;fo.hasBinary=co;var x0=typeof ArrayBuffer=="function",S0=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,kh=Object.prototype.toString,T0=typeof Blob=="function"||typeof Blob<"u"&&kh.call(Blob)==="[object BlobConstructor]",C0=typeof File=="function"||typeof File<"u"&&kh.call(File)==="[object FileConstructor]";function Oh(r){return x0&&(r instanceof ArrayBuffer||S0(r))||T0&&r instanceof Blob||C0&&r instanceof File}function co(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(co(r[t]))return!0;return!1}if(Oh(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return co(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&co(r[t]))return!0;return!1}});var Ph=L(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.deconstructPacket=O0;uo.reconstructPacket=P0;var k0=hc();function O0(r){let e=[],t=r.data,n=r;return n.data=dc(t,e),n.attachments=e.length,{packet:n,buffers:e}}function dc(r,e){if(!r)return r;if((0,k0.isBinary)(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let n=0;n<r.length;n++)t[n]=dc(r[n],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=dc(r[n],e));return t}return r}function P0(r,e){return r.data=pc(r.data,e),delete r.attachments,r}function pc(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=pc(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=pc(r[t],e));return r}});var ho=L(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.Decoder=Xt.Encoder=Xt.PacketType=Xt.protocol=void 0;Xt.isPacketValid=F0;var A0=yn(),Ah=Ph(),Rh=hc(),R0=jt(),gc=(0,R0.default)("socket.io-parser"),Ih=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Xt.protocol=5;var Be;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(Be||(Xt.PacketType=Be={}));var mc=class{constructor(e){this.replacer=e}encode(e){return gc("encoding packet %j",e),(e.type===Be.EVENT||e.type===Be.ACK)&&(0,Rh.hasBinary)(e)?this.encodeAsBinary({type:e.type===Be.EVENT?Be.BINARY_EVENT:Be.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Be.BINARY_EVENT||e.type===Be.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),gc("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,Ah.deconstructPacket)(e),n=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(n),i}};Xt.Encoder=mc;var yc=class r extends A0.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let n=t.type===Be.BINARY_EVENT;n||t.type===Be.BINARY_ACK?(t.type=n?Be.EVENT:Be.ACK,this.reconstructor=new _c(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Rh.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,n={type:Number(e.charAt(0))};if(Be[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Be.BINARY_EVENT||n.type===Be.BINARY_ACK){let s=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(s,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let s=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(s,t)}else n.nsp="/";let i=e.charAt(t+1);if(i!==""&&Number(i)==i){let s=t+1;for(;++t;){let a=e.charAt(t);if(a==null||Number(a)!=a){--t;break}if(t===e.length)break}n.id=Number(e.substring(s,t+1))}if(e.charAt(++t)){let s=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,s))n.data=s;else throw new Error("invalid payload")}return gc("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case Be.CONNECT:return lo(t);case Be.DISCONNECT:return t===void 0;case Be.CONNECT_ERROR:return typeof t=="string"||lo(t);case Be.EVENT:case Be.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Ih.indexOf(t[0])===-1);case Be.ACK:case Be.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Xt.Decoder=yc;var _c=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,Ah.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function I0(r){return typeof r=="string"}var L0=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function N0(r){return r===void 0||L0(r)}function lo(r){return Object.prototype.toString.call(r)==="[object Object]"}function M0(r,e){switch(r){case Be.CONNECT:return e===void 0||lo(e);case Be.DISCONNECT:return e===void 0;case Be.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Ih.indexOf(e[0])===-1);case Be.ACK:return Array.isArray(e);case Be.CONNECT_ERROR:return typeof e=="string"||lo(e);default:return!1}}function F0(r){return I0(r.nsp)&&N0(r.id)&&M0(r.type,r.data)}});var Ec=L(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.on=D0;function D0(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var wc=L(ri=>{"use strict";var B0=ri&&ri.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ri,"__esModule",{value:!0});ri.Socket=void 0;var Jt=ho(),po=Ec(),j0=yn(),U0=B0(jt()),ot=(0,U0.default)("socket.io-client:socket"),K0=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),vc=class extends j0.Emitter{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[(0,po.on)(e,"open",this.onopen.bind(this)),(0,po.on)(e,"packet",this.onpacket.bind(this)),(0,po.on)(e,"error",this.onerror.bind(this)),(0,po.on)(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var n,i,s;if(K0.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let a={type:Jt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let p=this.ids++;ot("emitting packet with ack id %d",p);let m=t.pop();this._registerAckCallback(p,m),a.id=p}let c=(i=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||i===void 0?void 0:i.writable,u=this.connected&&!(!((s=this.io.engine)===null||s===void 0)&&s._hasPingExpired());return this.flags.volatile&&!c?ot("discard packet as the transport is not currently writable"):u?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a),this.flags={},this}_registerAckCallback(e,t){var n;let i=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}let s=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(ot("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));ot("event with ack id %d has timed out after %d ms",e,i),t.call(this,new Error("operation has timed out"))},i),a=(...c)=>{this.io.clearTimeoutFn(s),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,i)=>{let s=(a,c)=>a?i(a):n(c);s.withError=!0,t.push(s),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...s)=>n!==this._queue[0]?ot("packet [%d] already acknowledged",n.id):(i!==null?n.tryCount>this._opts.retries&&(ot("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(i)):(ot("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...s)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(ot("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){ot("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,ot("sending packet [%d] (try n\xB0%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){ot("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Jt.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){ot("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(n=>String(n.id)===e)){let n=this.acks[e];delete this.acks[e],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Jt.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Jt.PacketType.EVENT:case Jt.PacketType.BINARY_EVENT:this.onevent(e);break;case Jt.PacketType.ACK:case Jt.PacketType.BINARY_ACK:this.onack(e);break;case Jt.PacketType.DISCONNECT:this.ondisconnect();break;case Jt.PacketType.CONNECT_ERROR:this.destroy();let n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){let t=e.data||[];ot("emitting event %j",t),e.id!=null&&(ot("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...i){n||(n=!0,ot("sending ack %j",i),t.packet({type:Jt.PacketType.ACK,id:e,data:i}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){ot("bad ack %s",e.id);return}delete this.acks[e.id],ot("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){ot("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){ot("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(ot("performing disconnect (%s)",this.nsp),this.packet({type:Jt.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};ri.Socket=vc});var Lh=L(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.Backoff=ni;function ni(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}ni.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};ni.prototype.reset=function(){this.attempts=0};ni.prototype.setMin=function(r){this.ms=r};ni.prototype.setMax=function(r){this.max=r};ni.prototype.setJitter=function(r){this.jitter=r}});var Nh=L(qt=>{"use strict";var q0=qt&&qt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),W0=qt&&qt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),H0=qt&&qt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&q0(e,r,t);return W0(e,r),e},V0=qt&&qt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qt,"__esModule",{value:!0});qt.Manager=void 0;var Sc=ao(),$0=wc(),z0=H0(ho()),kn=Ec(),G0=Lh(),Y0=yn(),X0=V0(jt()),lt=(0,X0.default)("socket.io-client:manager"),Tc=class extends Y0.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,(0,Sc.installTimerFunctions)(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new G0.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let i=t.parser||z0;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(lt("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;lt("opening %s",this.uri),this.engine=new Sc.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let i=(0,kn.on)(t,"open",function(){n.onopen(),e&&e()}),s=c=>{lt("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,kn.on)(t,"error",s);if(this._timeout!==!1){let c=this._timeout;lt("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{lt("connect attempt timed out after %d",c),i(),s(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(i),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){lt("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,kn.on)(e,"ping",this.onping.bind(this)),(0,kn.on)(e,"data",this.ondata.bind(this)),(0,kn.on)(e,"error",this.onerror.bind(this)),(0,kn.on)(e,"close",this.onclose.bind(this)),(0,kn.on)(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){(0,Sc.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){lt("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new $0.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let n of t)if(this.nsps[n].active){lt("socket %s is still active, skipping close",n);return}this._close()}_packet(e){lt("writing packet %j",e);let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){lt("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){lt("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;lt("closed due to %s",e),this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)lt("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();lt("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(lt("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(lt("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):(lt("reconnect success"),e.onreconnect())}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};qt.Manager=Tc});var Bh=L((He,Dh)=>{"use strict";var J0=He&&He.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(He,"__esModule",{value:!0});He.WebTransport=He.WebSocket=He.NodeWebSocket=He.XHR=He.NodeXHR=He.Fetch=He.Socket=He.Manager=He.protocol=void 0;He.io=On;He.connect=On;He.default=On;var Z0=Ch(),go=Nh();Object.defineProperty(He,"Manager",{enumerable:!0,get:function(){return go.Manager}});var Fh=wc();Object.defineProperty(He,"Socket",{enumerable:!0,get:function(){return Fh.Socket}});var Q0=J0(jt()),Mh=(0,Q0.default)("socket.io-client"),Ki={};function On(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,Z0.url)(r,e.path||"/socket.io"),n=t.source,i=t.id,s=t.path,a=Ki[i]&&s in Ki[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(Mh("ignoring socket cache for %s",n),u=new go.Manager(n,e)):(Ki[i]||(Mh("new io instance for %s",n),Ki[i]=new go.Manager(n,e)),u=Ki[i]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(On,{Manager:go.Manager,Socket:Fh.Socket,io:On,connect:On});var eb=ho();Object.defineProperty(He,"protocol",{enumerable:!0,get:function(){return eb.protocol}});var ii=ao();Object.defineProperty(He,"Fetch",{enumerable:!0,get:function(){return ii.Fetch}});Object.defineProperty(He,"NodeXHR",{enumerable:!0,get:function(){return ii.NodeXHR}});Object.defineProperty(He,"XHR",{enumerable:!0,get:function(){return ii.XHR}});Object.defineProperty(He,"NodeWebSocket",{enumerable:!0,get:function(){return ii.NodeWebSocket}});Object.defineProperty(He,"WebSocket",{enumerable:!0,get:function(){return ii.WebSocket}});Object.defineProperty(He,"WebTransport",{enumerable:!0,get:function(){return ii.WebTransport}});Dh.exports=On});var kc=L(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.InputStreamReceiver=void 0;var tb=64,rb=30,nb=4,ib=256,sb=16,Cc=class{streamId;lastAppliedSeq=0;cb;windowSize;ackThrottleMs;ackTimer=null;framesSinceAck=0;lastResendFrom=0;resendSuppressed=0;constructor(e,t,n={}){this.streamId=e,this.cb=t,this.windowSize=Math.max(1,n.windowSize??tb),this.ackThrottleMs=Math.max(0,n.ackThrottleMs??rb)}get appliedSeq(){return this.lastAppliedSeq}receive(e,t,n,i){if(e<=this.lastAppliedSeq){this.flushAck();return}if(e===this.lastAppliedSeq+1){try{this.cb.onApply(t,n,i)}catch{}this.lastAppliedSeq=e,this.scheduleAck();return}this.flushAck();let s=Math.max(this.windowSize*nb,ib);e-this.lastAppliedSeq>s||this.maybeResend(this.lastAppliedSeq+1)}maybeResend(e){if(e===this.lastResendFrom){if(++this.resendSuppressed<sb)return;this.resendSuppressed=0}else this.lastResendFrom=e,this.resendSuppressed=0;this.cb.onResend(e)}resumeState(){return{streamId:this.streamId,lastAckSeq:this.lastAppliedSeq}}dispose(){this.ackTimer&&(clearTimeout(this.ackTimer),this.ackTimer=null)}scheduleAck(){this.framesSinceAck++;let e=Math.max(1,Math.floor(this.windowSize/4));if(this.windowSize===1||this.framesSinceAck>=e){this.flushAck();return}this.ackTimer||(this.ackTimer=setTimeout(()=>this.flushAck(),this.ackThrottleMs))}flushAck(){this.ackTimer&&(clearTimeout(this.ackTimer),this.ackTimer=null),this.framesSinceAck=0,this.cb.onAck(this.lastAppliedSeq)}};mo.InputStreamReceiver=Cc});var qh=L(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.WebSocketService=void 0;var ob=Bh(),jh=kr(),Uh=ds(),Kh=us(),ab=kc(),Oc=class{authService;cryptoService;config;logger;notification;deviceId;platform;extraCapabilities;socket=null;inputHandler=null;createTerminalHandler=null;getBufferHandler=null;redrawHandler=null;resizeHandler=null;reconnectHandlers=[];authFailureHandler=null;fileViewRequestHandler=null;fileListRequestHandler=null;fileDownloadRequestHandler=null;statusChangeHandler=null;agentNameSyncHandler=null;clientAttachedHandler=null;metaSessionEstablishedHandler=null;clientDetachedHandler=null;inputReceivers=new Map;terminalActiveCheck=null;MAX_INPUT_RECEIVERS=512;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;RESUME_WATCHDOG_INTERVAL=5e3;RESUME_WATCHDOG_THRESHOLD=15e3;resumeWatchdogTimer=null;resumeWatchdogExpectedAt=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;invalidSessionSignalAt=new Map;INVALID_SESSION_SIGNAL_THROTTLE_MS=5e3;attachedClientCount=0;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,i,s,a,c="vscode",u=[]){this.authService=e,this.cryptoService=t,this.config=n,this.logger=i,this.notification=s,this.deviceId=a,this.platform=c,this.extraCapabilities=u}async connect(){let e=await this.authService.getAccessToken();if(!e)throw new Error("No access token available");this.isManualDisconnect=!1,this.stopReconnect(),this.reconnectAttempts=0,this.agentId=await this.authService.getAgentId();let t=(0,Uh.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((i,s)=>{let a=Array.from(new Set([...jh.DEFAULT_CLIENT_CAPABILITIES,...this.extraCapabilities]));this.socket=(0,ob.io)(`${t}/agent`,{auth:{token:e,protocolVersion:jh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:a,publicKey:n},transports:["websocket"],reconnection:!1}),this.socket.on("connect",()=>{if(this.logger.info("WebSocket connected"),this.reconnectAttempts=0,this.statusChangeHandler?.("connected",this.agentId??void 0),this.startHeartbeat(),this.cryptoService.cleanupAllStaleSessions(),this.hasConnectedOnce){this.logger.info("Reconnected - triggering workspace re-registration");for(let c of this.reconnectHandlers)c()}else this.hasConnectedOnce=!0,i()}),this.socket.on("error",c=>{this.logger.error(`Server error [${c.code}]: ${c.message}`),c.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",c=>{this.logger.warn("WebSocket disconnected",c),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(c==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",c=>{this.logger.info("Protocol info received",c.protocolVersion),this.negotiatedCapabilities=c.negotiatedCapabilities,c.agentName&&this.config.getAgentName()!==c.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(c.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(c.agentName),this.logger.info("Agent name synced from server",c.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",c=>{this.logger.error("WebSocket connection error",c),this.statusChangeHandler?.("error"),this.hasConnectedOnce||s(c),this.scheduleReconnect()}),this.socket.on("terminal:input",c=>{this.handleTerminalInput(c)}),this.socket.on("crypto:keyExchange",async(c,u)=>{this.logger.info("Received key exchange request",c.terminalId,c.sessionId),this.rekeyingTerminals.add(c.terminalId),this.outputBuffer.set(c.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(c.terminalId,c.clientPublicKey,c.sessionId)){let p=await this.cryptoService.getPublicKey();u?.({success:!0,agentPublicKey:p||void 0}),this.flushOutputBuffer(c.terminalId)}else u?.({success:!1,error:"Key exchange failed"})}catch(h){this.logger.error("Key exchange error",h),u?.({success:!1,error:String(h)})}finally{this.rekeyingTerminals.delete(c.terminalId),this.outputBuffer.delete(c.terminalId)}}),this.socket.on("crypto:sessionCleanup",c=>{this.cryptoService.removeSession(c.terminalId,c.sessionId)}),this.socket.on("agent:keyExchangeRequest",async c=>{try{let u=await this.cryptoService.handleAgentKeyExchange(c.clientPublicKey,c.sessionId),h={agentId:c.agentId,sessionId:c.sessionId,ok:u,error:u?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",h)}catch(u){this.logger.error("Agent key exchange error",u);let h={agentId:c.agentId,sessionId:c.sessionId,ok:!1,error:String(u)};this.socket?.emit("agent:keyExchangeAck",h)}}),this.socket.on("meta:keyExchange",async(c,u)=>{let{ok:h,isNew:p}=await this.cryptoService.handleMetaKeyExchange(c.clientIdentityPub),m=await this.cryptoService.getPublicKey()||void 0;u?.({ok:h,agentPublicKey:m}),h&&this.metaSessionEstablishedHandler?.(p)}),this.socket.on("agent:sessionEnd",c=>{this.cryptoService.removeAgentSession(c.sessionId)}),this.socket.on("agent:renamed",c=>{this.logger.info("Agent renamed from web client",c.name),this.isRemoteRename=!0,this.config.setAgentName(c.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(c.name)}),this.socket.on("terminal:createRequest",c=>{this.createTerminalHandler?.(c.name)}),this.socket.on("terminal:getBuffer",(c,u)=>{if(!this.getBufferHandler){u?.({success:!1,error:"Buffer handler not set"});return}let h=this.getBufferHandler(c.terminalId);if(h===null){u?.({success:!1,error:"Terminal not found"});return}let p=this.cryptoService.encryptOutput(c.terminalId,h);if(!p){this.signalInvalidSession(void 0,c.terminalId),u?.({success:!1,error:"No E2E session"});return}u?.({success:!0,encrypted:p}),this.redrawHandler?.(c.terminalId)}),this.socket.on("terminal:resize",c=>{this.resizeHandler?.(c.terminalId,c.cols,c.rows)}),this.socket.on("workspace:clientAttached",c=>{this.attachedClientCount=c.clientCount,this.clientAttachedHandler?.(c)}),this.socket.on("workspace:clientDetached",c=>{this.attachedClientCount=c.clientCount,this.clientDetachedHandler?.(c)}),this.socket.on("file:view",c=>{this.fileViewRequestHandler?.(c.terminalId,c.request)}),this.socket.on("file:list",c=>{this.fileListRequestHandler?.(c.terminalId,c.request)}),this.socket.on("file:download:request",c=>{this.fileDownloadRequestHandler?.(c.terminalId,c.path,c.requestId)})})}disconnect(){this.isManualDisconnect=!0,this.hasConnectedOnce=!1,this.stopReconnect(),this.stopHeartbeat(),this.cryptoService.clearAllSessions(),this.socket&&(this.logger.info("Disconnecting WebSocket"),this.socket.disconnect(),this.socket=null)}softDisconnect(){this.stopReconnect(),this.stopHeartbeat(),this.socket&&(this.logger.info("Soft disconnecting WebSocket (for reconnect)"),this.socket.disconnect(),this.socket=null)}getStatus(){return{connected:this.socket?.connected??!1,agentId:this.agentId}}onInput(e){this.inputHandler=e}onCreateTerminalRequest(e){this.createTerminalHandler=e}onGetBufferRequest(e){this.getBufferHandler=e}onRedrawRequest(e){this.redrawHandler=e}onResizeRequest(e){this.resizeHandler=e}onReconnect(e){this.reconnectHandlers.push(e)}onAuthFailure(e){this.authFailureHandler=e}onFileViewRequest(e){this.fileViewRequestHandler=e}onFileListRequest(e){this.fileListRequestHandler=e}onFileDownloadRequest(e){this.fileDownloadRequestHandler=e}onStatusChange(e){this.statusChangeHandler=e}onAgentNameSync(e){this.agentNameSyncHandler=e}onClientAttached(e){this.clientAttachedHandler=e}onMetaSessionEstablished(e){this.metaSessionEstablishedHandler=e}onClientDetached(e){this.clientDetachedHandler=e}async registerWorkspace(e){return this.emit("workspace:register",e)}async unregisterWorkspace(e){await this.emit("workspace:unregister",{instanceId:e})}async terminalCreated(e){return this.emit("terminal:created",e)}async terminalClosed(e){this.cryptoService.removeSession(e.terminalId),await this.emit("terminal:closed",e)}terminalNotFound(e){this.socket?.emit("terminal:notFound",{terminalId:e})}sendPtyResized(e,t,n,i){this.socket?.connected&&this.socket.emit("agent:ptyResized",{instanceId:e,terminalId:t,cols:n,rows:i})}sendClaimControl(e,t,n,i){this.socket?.connected&&this.socket.emit("agent:claimControl",{instanceId:e,terminalId:t,cols:n,rows:i})}sendOutput(e,t,n){if(!this.socket?.connected)return;if(this.rekeyingTerminals.has(t)){let a=this.outputBuffer.get(t);a&&a.length<this.OUTPUT_BUFFER_MAX_SIZE&&a.push({instanceId:e,data:n});return}let i=this.cryptoService.encryptOutput(t,n);if(!i){this.attachedClientCount>0&&this.signalInvalidSession(e,t);return}let s={instanceId:e,terminalId:t,encrypted:i};this.socket?.emit("terminal:output",s)}flushOutputBuffer(e){let t=this.outputBuffer.get(e);if(!(!t||t.length===0)){this.logger.info("Flushing output buffer after rekey",e,String(t.length));for(let{instanceId:n,data:i}of t){let s=this.cryptoService.encryptOutput(e,i);if(!s){this.signalInvalidSession(n,e);continue}let a={instanceId:n,terminalId:e,encrypted:s};this.socket?.emit("terminal:output",a)}}}signalInvalidSession(e,t){let n=Date.now(),i=this.invalidSessionSignalAt.get(t)??0;n-i<this.INVALID_SESSION_SIGNAL_THROTTLE_MS||(this.invalidSessionSignalAt.set(t,n),this.logger.warn("E2E session invalid/missing \u2014 signaling clients to rekey",t),this.socket?.emit("crypto:invalidSession",{instanceId:e??this.instanceIdForTerminal(t),terminalId:t}))}instanceIdForTerminal(e){return this.inputReceivers.get(e)?.instanceId}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let i={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",i)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let i={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",i)}sendFileListResponse(e,t){let n={instanceId:e,response:t};this.socket?.emit("file:list:response",n)}sendAgentRename(e){this.socket?.emit("agent:rename",{name:e})}isRemoteRenameInProgress(){return this.isRemoteRename}getSocket(){return this.socket}emit(e,t){let n=(0,Kh.generateCorrelationId)(),i=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,Kh.runWithCorrelation)(n,()=>new Promise((s,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,i,c=>{c.success?s(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),this.startResumeWatchdog(),this.heartbeatTimer=setInterval(()=>{if(!this.socket?.connected){this.stopHeartbeat();return}if(Date.now()-this.lastPongTime>this.HEARTBEAT_INTERVAL+this.HEARTBEAT_TIMEOUT){this.logger.warn("Heartbeat timeout"),this.socket.disconnect();return}this.socket.emit("ping"),this.pongTimer=setTimeout(()=>{this.logger.warn("Pong timeout - server not responding, forcing teardown + reconnect"),this.statusChangeHandler?.("error"),this.socket?.disconnect()},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout(),this.stopResumeWatchdog()}startResumeWatchdog(){this.stopResumeWatchdog(),this.resumeWatchdogExpectedAt=Date.now()+this.RESUME_WATCHDOG_INTERVAL,this.resumeWatchdogTimer=setTimeout(()=>this.onResumeWatchdogTick(),this.RESUME_WATCHDOG_INTERVAL)}onResumeWatchdogTick(){let e=Date.now(),t=e-this.resumeWatchdogExpectedAt;if(t>this.RESUME_WATCHDOG_THRESHOLD&&(this.logger.warn(`Resume detected (clock drift ${t}ms) - forcing liveness re-check`),!this.isManualDisconnect&&this.socket)){this.statusChangeHandler?.("error"),this.socket.disconnect();return}this.isManualDisconnect||(this.resumeWatchdogExpectedAt=e+this.RESUME_WATCHDOG_INTERVAL,this.resumeWatchdogTimer=setTimeout(()=>this.onResumeWatchdogTick(),this.RESUME_WATCHDOG_INTERVAL))}stopResumeWatchdog(){this.resumeWatchdogTimer&&(clearTimeout(this.resumeWatchdogTimer),this.resumeWatchdogTimer=null)}clearPongTimeout(){this.pongTimer&&(clearTimeout(this.pongTimer),this.pongTimer=null)}handleTerminalInput(e){let t;if(e.encrypted){let n=this.cryptoService.decryptInput(e.terminalId,e.encrypted);if(!n){this.logger.error("Failed to decrypt terminal input",e.terminalId),this.signalInvalidSession(e.instanceId,e.terminalId);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}if(e.streamId&&typeof e.seq=="number"){let n=this.getOrCreateInputReceiver(e.terminalId,e.streamId,e.instanceId,e.dbTerminalId);if(!n)return;n.receive(e.seq,t,e.paste,e.answerFor);return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId,void 0,e.answerFor)}getOrCreateInputReceiver(e,t,n,i){let s=this.inputReceivers.get(e);if(this.terminalActiveCheck&&!this.terminalActiveCheck(e))return s&&this.disposeInputStream(e),null;if(s&&s.receiver.streamId===t)return i&&(s.routeId=i),n&&(s.instanceId=n),s.receiver;if(s&&s.receiver.dispose(),!s&&this.inputReceivers.size>=this.MAX_INPUT_RECEIVERS)return this.logger.error("inputReceivers map at cap, dropping frame",e),null;let a=new ab.InputStreamReceiver(t,{onApply:(c,u,h)=>this.inputHandler?.(e,c,this.routeIdFor(e),u,h),onAck:c=>this.sendInputAck(e,t,c),onResend:c=>this.sendInputResend(e,t,c)});return this.inputReceivers.set(e,{receiver:a,routeId:i??e,instanceId:n??""}),a}setTerminalActiveCheck(e){this.terminalActiveCheck=e}routeIdFor(e){return this.inputReceivers.get(e)?.routeId??e}sendInputAck(e,t,n){let i=this.inputReceivers.get(e)?.instanceId;this.socket?.emit("input:ack",{instanceId:i,terminalId:e,streamId:t,ackSeq:n})}sendInputResend(e,t,n){let i=this.inputReceivers.get(e)?.instanceId;this.socket?.emit("input:resend",{instanceId:i,terminalId:e,streamId:t,fromSeq:n})}sendInputResume(e){let t=this.inputReceivers.get(e);if(!t)return;let{streamId:n,lastAckSeq:i}=t.receiver.resumeState();this.socket?.emit("input:resume",{instanceId:t.instanceId,terminalId:e,streamId:n,lastAckSeq:i})}disposeInputStream(e){this.inputReceivers.get(e)?.receiver.dispose(),this.inputReceivers.delete(e)}hasE2ESession(e){return this.cryptoService.hasSession(e)}getReconnectDelay(){let e=Math.min(this.RECONNECT_BASE_DELAY*Math.pow(2,this.reconnectAttempts),this.RECONNECT_MAX_DELAY),t=1+(Math.random()*2-1)*this.RECONNECT_JITTER;return Math.floor(e*t)}scheduleReconnect(){if(this.isManualDisconnect)return;this.stopReconnect();let e=this.getReconnectDelay();if(this.logger.info("Scheduling reconnect",String(this.reconnectAttempts+1),"delay:",String(e)),!this.isOnline){this.statusChangeHandler?.("disconnected"),this.startNetworkCheck();return}this.statusChangeHandler?.("connecting"),this.reconnectTimer=setTimeout(()=>{this.attemptReconnect()},e)}async attemptReconnect(e=!1){if(this.isManualDisconnect||this.socket?.connected)return;let t=await this.authService.hasValidToken();if(!t){if(this.logger.info("Access token expired, attempting refresh"),!await this.authService.refreshAccessToken()){this.logger.info("Token refresh failed, stopping reconnect"),this.stopReconnect(),this.statusChangeHandler?.("disconnected"),this.notification.warn("Session expired. Please log in again."),this.authFailureHandler?.();return}t=!0}this.reconnectAttempts++;try{if(this.socket&&(this.socket.disconnect(),this.socket=null),!e&&!await this.checkNetwork()){this.isOnline=!1,this.scheduleReconnect();return}this.isOnline=!0,await this.connect(),this.reconnectAttempts=0}catch(n){this.logger.warn("Reconnect failed",n),this.statusChangeHandler?.("error"),this.scheduleReconnect()}}stopReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopNetworkCheck()}async checkNetwork(){let e=Date.now();if(e-this.lastNetworkCheck<1e3)return this.isOnline;this.lastNetworkCheck=e;try{let t=`${(0,Uh.getApiUrl)(this.config)}/health`,n=new AbortController,i=setTimeout(()=>n.abort(),5e3),s=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(i),this.logger.debug("Network check OK",String(s.status)),!0}catch{return this.logger.debug("Network check failed (offline)"),!1}}startNetworkCheck(){this.stopNetworkCheck(),this.networkCheckTimer=setInterval(async()=>{if(this.isManualDisconnect){this.stopNetworkCheck();return}if(this.socket?.connected){this.stopNetworkCheck();return}let e=await this.checkNetwork();e&&!this.isOnline?(this.logger.info("Network restored! Triggering immediate reconnect"),this.isOnline=!0,this.stopNetworkCheck(),this.reconnectAttempts=0,this.attemptReconnect()):e&&this.isOnline?(this.stopNetworkCheck(),this.attemptReconnect()):e||(this.isOnline=!1)},this.NETWORK_CHECK_INTERVAL)}stopNetworkCheck(){this.networkCheckTimer&&(clearInterval(this.networkCheckTimer),this.networkCheckTimer=null)}};yo.WebSocketService=Oc});var Vh=L(Zt=>{"use strict";var cb=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),fb=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Ac=Zt&&Zt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&cb(t,e,n[i]);return fb(t,e),t}})();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.FileTransferService=void 0;Zt.resolveUploadPath=Hh;var _o=Ac(require("fs")),Pn=Ac(require("path")),Wh=Ac(require("crypto")),Ve=kr();function Hh(r,e,t){let n=Pn.basename(t),i=(e??"").trim()||".";if(Pn.isAbsolute(i))return Pn.resolve(i,n);let s=Pn.resolve(r,i),a=s===r||s.startsWith(r+Pn.sep)?s:r;return Pn.resolve(a,n)}var Pc=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;workspaceRoot=null;cryptoService=null;constructor(e,t="/tmp",n=null){this.logger=e,this.fallbackDir=t,this.workspaceRoot=n}setCrypto(e){this.cryptoService=e}attach(e,t){this.socket=e,this.instanceId=t,this.setupEventHandlers(),this.logger.info("FileTransferService attached")}detach(){this.socket=null;for(let[e]of this.activeTransfers)this.cancelTransfer(e,"Disconnected");this.logger.info("FileTransferService detached")}async sendFile(e,t,n,i,s){let a=_o.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:s,onProgress:n,onComplete:i})}async sendBuffer(e,t,n,i,s){return this.initAndSendChunks(e,t,n,{mimeType:i,purpose:s?.purpose,viewMetadata:s?.viewMetadata,requestId:s?.requestId,onProgress:s?.onProgress,onComplete:s?.onComplete})}async initAndSendChunks(e,t,n,i){if(!this.socket)throw new Error("Socket not connected");let s=t.length,a=(0,Ve.calculateTotalChunks)(s),c=this.calculateChecksum(t),u=Wh.randomUUID(),h={id:u,terminalId:e,filename:n,size:s,totalChunks:a,direction:Ve.TransferDirection.DOWNLOAD,status:Ve.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:i.onProgress?(m,_)=>i.onProgress(u,m,_):void 0,onComplete:i.onComplete?(m,_)=>i.onComplete(u,m,_):void 0,ackTimeouts:new Map};h.chunks=[];for(let m=0;m<a;m++){let _=m*Ve.CHUNK_SIZE,E=Math.min(_+Ve.CHUNK_SIZE,s);h.chunks.push(t.subarray(_,E))}this.activeTransfers.set(u,h);let p={transferId:u,terminalId:e,filename:n,size:s,totalChunks:a,mimeType:i.mimeType||"application/octet-stream",checksum:c,direction:Ve.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return i.requestId&&(p.requestId=i.requestId),i.purpose&&(p.purpose=i.purpose),i.viewMetadata&&(p.viewMetadata=i.viewMetadata),new Promise((m,_)=>{this.socket.emit("file:init",p,E=>{E.accepted?(h.status=Ve.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),_(new Error(E.error||"Transfer rejected")))})})}async receiveFile(e,t,n,i,s,a,c,u="sha256",h,p){let m={id:e,terminalId:t,filename:n,filePath:c,size:i,totalChunks:s,direction:Ve.TransferDirection.UPLOAD,status:Ve.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(s).fill(null),checksum:a,checksumAlgorithm:u,onProgress:h?(_,E)=>h(e,_,E):void 0,onComplete:p?(_,E)=>p(e,_,E):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let i of n.ackTimeouts.values())clearTimeout(i);if(n.status=Ve.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let i={transferId:e,reason:t};this.socket.emit("file:cancel",i)}this.activeTransfers.delete(e)}}async resumeTransfer(e){let t=this.activeTransfers.get(e);!t||!this.socket||this.socket.emit("file:sync",{transferId:e},n=>{if(n.status===Ve.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let i of n.deliveredChunks)t.deliveredChunks.add(i);if(t.direction===Ve.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=Ve.TransferStatus.ACTIVE;for(let i of n.missingChunks)this.sendChunk(t,i)}})}getTransferStatus(e){return this.activeTransfers.get(e)?.status??null}getTransferProgress(e){let t=this.activeTransfers.get(e);return t?{delivered:t.deliveredChunks.size,total:t.totalChunks}:null}setupEventHandlers(){this.socket&&(this.socket.on("file:chunk",e=>{this.handleIncomingChunk(e)}),this.socket.on("file:chunk:ack",e=>{this.handleChunkAck(e)}),this.socket.on("file:complete",e=>{this.handleComplete(e)}),this.socket.on("file:progress",e=>{this.handleProgress(e)}),this.socket.on("file:init",(e,t)=>{this.handleIncomingFileInit(e,t)}),this.socket.on("file:cancel",e=>{let t=this.activeTransfers.get(e.transferId);if(t){for(let n of t.ackTimeouts.values())clearTimeout(n);t.status=Ve.TransferStatus.CANCELLED,t.onComplete?.(!1,e.reason||"Cancelled by remote"),this.activeTransfers.delete(e.transferId)}}))}startSendingChunks(e){let t=this.activeTransfers.get(e);if(!(!t||!t.chunks))for(let n=0;n<Math.min(Ve.WINDOW_SIZE,t.totalChunks);n++)t.deliveredChunks.has(n)||this.sendChunk(t,n)}sendChunk(e,t){if(!this.socket||!e.chunks)return;let n=e.chunks[t];if(!n)return;let i=e.pendingChunks.get(t),s={seq:t,data:n,retries:i?i.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,s);let a=this.cryptoService?.encryptFileChunk(e.terminalId,new Uint8Array(n.buffer,n.byteOffset,n.byteLength));if(!a){this.cancelTransfer(e.id,"No E2E session for file transfer");return}let c={transferId:e.id,seq:t,encrypted:a};this.socket.emit("file:chunk",c,h=>{h&&!h.success&&this.cancelTransfer(e.id,h.error||"Server rejected chunk")});let u=setTimeout(()=>{this.handleAckTimeout(e.id,t)},Ve.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,u)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===Ve.TransferStatus.COMPLETED)return;let n=t.ackTimeouts.get(e.seq);n&&(clearTimeout(n),t.ackTimeouts.delete(e.seq)),t.deliveredChunks.add(e.seq),t.pendingChunks.delete(e.seq),t.onProgress?.(t.deliveredChunks.size,t.totalChunks);let i=e.seq+Ve.WINDOW_SIZE;i<t.totalChunks&&!t.deliveredChunks.has(i)&&this.sendChunk(t,i),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let i=n.pendingChunks.get(t);i&&(i.retries<Ve.MAX_RETRIES?(i.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=Ve.TransferStatus.COMPLETED;let t={transferId:e.id,checksum:e.checksum};this.socket.emit("file:end",t)}handleIncomingChunk(e){let t=this.activeTransfers.get(e.transferId);if(!t||!t.chunks)return;let n=e.encrypted?this.cryptoService?.decryptFileChunk(t.terminalId,e.encrypted):null;if(!n){this.cancelTransfer(e.transferId,"Chunk decryption failed (no E2E session?)");return}if(t.chunks[e.seq]=Buffer.from(n),t.deliveredChunks.add(e.seq),this.socket){let i={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",i)}t.onProgress?.(t.deliveredChunks.size,t.totalChunks),t.deliveredChunks.size===t.totalChunks&&this.finishReceiving(t)}finishReceiving(e){if(!e.chunks||!e.filePath)return;let t=Buffer.concat(e.chunks);if(this.calculateChecksum(t,e.checksumAlgorithm)!==e.checksum){e.status=Ve.TransferStatus.FAILED,e.onComplete?.(!1,"Checksum mismatch"),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:"Checksum mismatch"});return}try{let i=Pn.dirname(e.filePath);_o.existsSync(i)||_o.mkdirSync(i,{recursive:!0}),_o.writeFileSync(e.filePath,t),e.status=Ve.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(i){let s=i instanceof Error?i.message:String(i);e.status=Ve.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${s}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${s}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=Ve.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=Ve.TransferStatus.FAILED,t.onComplete?.(!1,e.error));for(let n of t.ackTimeouts.values())clearTimeout(n);this.activeTransfers.delete(e.transferId)}}handleProgress(e){let t=this.activeTransfers.get(e.transferId);t&&t.onProgress?.(e.deliveredChunks,e.totalChunks)}handleIncomingFileInit(e,t){let n=Hh(this.workspaceRoot??this.fallbackDir,e.targetPath,e.filename);this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,n,e.checksumAlgorithm||"sha256").then(()=>t({accepted:!0})).catch(i=>t({accepted:!1,error:i.message}))}calculateChecksum(e,t="sha256"){return t==="fnv1a"?this.fnv1aHash(e):Wh.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let i=0;i<e.length;i++)t^=e[i],t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0").repeat(8)}getMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{txt:"text/plain",json:"application/json",js:"application/javascript",ts:"application/typescript",html:"text/html",css:"text/css",md:"text/markdown",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip"}[t||""]||"application/octet-stream"}};Zt.FileTransferService=Pc});var Dc=L((Zw,vo)=>{function Gh(r){return Array.isArray(r)?r:[r]}var ub=void 0,Ic="",$h=" ",Rc="\\",lb=/^\s+$/,hb=/(?:[^\\]|^)\\$/,db=/^\\!/,pb=/^\\#/,gb=/\r?\n/g,mb=/^\.{0,2}\/|^\.{1,2}$/,yb=/\/$/,si="/",Yh="node-ignore";typeof Symbol<"u"&&(Yh=Symbol.for("node-ignore"));var Xh=Yh,oi=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),_b=/([0-z])-([0-z])/g,Jh=()=>!1,bb=r=>r.replace(_b,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Ic),Eb=r=>{let{length:e}=r;return r.slice(0,e-e%2)},vb=[[/^\uFEFF/,()=>Ic],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?$h:Ic)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+$h}],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6<t.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(r,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Rc],[/\\\\/g,()=>Rc],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,i)=>e===Rc?`\\[${t}${Eb(n)}${i}`:i==="]"&&n.length%2===0?`[${bb(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],wb=/(^|\\\/)?\\\*$/,qi="regex",bo="checkRegex",zh="_",xb={[qi](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[bo](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},Sb=r=>vb.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Eo=r=>typeof r=="string",Tb=r=>r&&Eo(r)&&!lb.test(r)&&!hb.test(r)&&r.indexOf("#")!==0,Cb=r=>r.split(gb).filter(Boolean),Lc=class{constructor(e,t,n,i,s,a){this.pattern=e,this.mark=t,this.negative=s,oi(this,"body",n),oi(this,"ignoreCase",i),oi(this,"regexPrefix",a)}get regex(){let e=zh+qi;return this[e]?this[e]:this._make(qi,e)}get checkRegex(){let e=zh+bo;return this[e]?this[e]:this._make(bo,e)}_make(e,t){let n=this.regexPrefix.replace(wb,xb[e]),i=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return oi(this,t,i)}},kb=({pattern:r,mark:e},t)=>{let n=!1,i=r;i.indexOf("!")===0&&(n=!0,i=i.substr(1)),i=i.replace(db,"!").replace(pb,"#");let s=Sb(i);return new Lc(r,e,i,t,n,s)},Nc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[Xh]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Eo(e)&&(e={pattern:e}),Tb(e.pattern)){let t=kb(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,Gh(Eo(e)?Cb(e):e).forEach(this._add,this),this._added}test(e,t,n){let i=!1,s=!1,a;this._rules.forEach(u=>{let{negative:h}=u;s===h&&i!==s||h&&!i&&!s&&!t||!u[n].test(e)||(i=!h,s=h,a=h?ub:u)});let c={ignored:i,unignored:s};return a&&(c.rule=a),c}},Ob=(r,e)=>{throw new e(r)},Nr=(r,e,t)=>Eo(r)?r?Nr.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),Zh=r=>mb.test(r);Nr.isNotRelative=Zh;Nr.convert=r=>r;var Mc=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){oi(this,Xh,!0),this._rules=new Nc(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,i){let s=e&&Nr.convert(e);return Nr(s,e,this._strictPathCheck?Ob:Jh),this._t(s,t,n,i)}checkIgnore(e){if(!yb.test(e))return this.test(e);let t=e.split(si).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(si)+si,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,bo)}_t(e,t,n,i){if(e in t)return t[e];if(i||(i=e.split(si).filter(Boolean)),i.pop(),!i.length)return t[e]=this._rules.test(e,n,qi);let s=this._t(i.join(si)+si,t,n,i);return t[e]=s.ignored?s:this._rules.test(e,n,qi)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Gh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Fc=r=>new Mc(r),Pb=r=>Nr(r&&Nr.convert(r),r,Jh),Qh=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Nr.convert=r;let e=/^[a-z]:\//i;Nr.isNotRelative=t=>e.test(t)||Zh(t)};typeof process<"u"&&process.platform==="win32"&&Qh();vo.exports=Fc;Fc.default=Fc;vo.exports.isPathValid=Pb;oi(vo.exports,Symbol.for("setupWindows"),Qh)});var td=L(Wt=>{"use strict";var Ab=Wt&&Wt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Rb=Wt&&Wt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),ed=Wt&&Wt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&Ab(t,e,n[i]);return Rb(t,e),t}})(),Ib=Wt&&Wt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.FileListService=void 0;var ai=ed(require("path")),Bc=ed(require("fs/promises")),Lb=Ib(Dc()),jc=kr(),Nb=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],Uc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,Lb.default)(),this.ignoreFilter.add(Nb),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ai.join(this.workspaceRoot,".gitignore");try{let t=await Bc.readFile(e,"utf-8");this.ignoreFilter.add(t)}catch{}}onResponse(e){this.onResponseCallback=e}async handleListRequest(e){if(!this.workspaceRoot){this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:"No workspace root"});return}try{let t=this.resolvePath(e.path),n=await this.listDirectory(t,e.path);this.sendResponse({requestId:e.requestId,path:e.path,entries:n})}catch(t){this.logger.error("Failed to list directory",String(t)),this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:t instanceof Error?t.message:"Unknown error"})}}async listDirectory(e,t){let n=await Bc.readdir(e,{withFileTypes:!0}),i=[];for(let s of n){let a=t==="."||t===""?s.name:ai.join(t,s.name);if(this.shouldHide(a,s.isDirectory()))continue;let c=ai.join(e,s.name),u={name:s.name,path:a,type:s.isDirectory()?jc.FileEntryType.DIRECTORY:jc.FileEntryType.FILE};if(!s.isDirectory())try{let h=await Bc.stat(c);u.size=h.size,u.modified=h.mtime.toISOString()}catch{}i.push(u)}return i.sort((s,a)=>s.type!==a.type?s.type===jc.FileEntryType.DIRECTORY?-1:1:s.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ai.sep).join("/"),i=t?`${n}/`:n;return this.ignoreFilter.ignores(i)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ai.resolve(this.workspaceRoot,e);if(t!==this.workspaceRoot&&!t.startsWith(this.workspaceRoot+ai.sep))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Wt.FileListService=Uc});var nd=L(yr=>{"use strict";var Mb=yr&&yr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Fb=yr&&yr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),rd=yr&&yr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&Mb(t,e,n[i]);return Fb(t,e),t}})();Object.defineProperty(yr,"__esModule",{value:!0});yr.FileTrackerService=void 0;var Kc=rd(require("path")),An=rd(require("fs/promises")),Db=require("child_process"),Bb=require("util"),Qt=kr(),qc=(0,Bb.promisify)(Db.execFile),Wc={toolStart:/⏺\s*(Write|Edit|NotebookEdit)\s*\(\s*(?:file_path|notebook_path)\s*=\s*"([^"]+)"/,toolSuccess:/[✓✔]\s*(?:Wrote|Edited|Updated|Created)\s+([^\s\n]+)/,toolError:/[✗✘]\s*(?:Failed|Error)/i},Hc=class{trackedFiles=new Map;pendingToolCalls=new Map;outputBuffers=new Map;workspaceRoot;onFileChangedCallback=null;onFileViewTransferCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t}onFileChanged(e){this.onFileChangedCallback=e}onFileViewTransfer(e){this.onFileViewTransferCallback=e}async processOutput(e,t){let n=this.outputBuffers.get(e)||"";n+=t,n.length>10240&&(n=n.slice(-10240)),this.outputBuffers.set(e,n);try{await this.parseToolCalls(e,n)}catch(i){this.logger.error("Error parsing tool calls",i)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),i=n.match(Wc.toolStart);if(i){let a=i[1],c=i[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let s=n.match(Wc.toolSuccess);if(s){let a=s[1];for(let[c,u]of this.pendingToolCalls)if(u.filePath===a||a.endsWith(u.filePath)||u.filePath.endsWith(a)){await this.handleToolEnd(e,c,u.toolName,"success");break}}if(Wc.toolError.test(n))for(let[a,c]of this.pendingToolCalls)await this.handleToolEnd(e,a,c.toolName,"error")}stripAnsi(e){return e.replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"")}async handleToolStart(e,t,n,i){if(!this.isFileModifyingTool(n))return;let s=this.extractFilePath(n,i);if(!s)return;let a=this.resolveFilePath(s),c={toolId:t,toolName:n,filePath:s,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await An.readFile(a,"utf-8")}catch{u=void 0}let h={path:s,changeType:u===void 0?Qt.FileChangeType.CREATE:Qt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},p=this.trackedFiles.get(e)||[];p.push(h),this.trackedFiles.set(e,p)}async handleToolEnd(e,t,n,i){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),i==="error"){let p=this.trackedFiles.get(e)||[],m=p.findIndex(_=>_.toolId===t);m!==-1&&p.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(p=>p.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let p=await An.stat(u);c.size=p.size}catch{c.changeType=Qt.FileChangeType.DELETE,c.size=void 0}let h={path:c.path,changeType:c.changeType,timestamp:new Date().toISOString(),source:"tool-call",toolName:c.toolName,toolId:c.toolId,size:c.size};this.onFileChangedCallback?.(e,h)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),i=this.getViewableMimeType(t.path);if(i&&this.onFileViewTransferCallback){try{let a=await An.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:i};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:i,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let s;try{t.type===Qt.FileViewType.CONTENT?s=await this.getFileContent(t,n):s=await this.getFileDiff(e,t,n)}catch(a){s={requestId:t.requestId,path:t.path,type:t.type,error:a instanceof Error?a.message:"Unknown error"}}if(this.onFileViewTransferCallback){let a={requestId:t.requestId,path:t.path,viewType:s.type===Qt.FileViewType.CONTENT?"content":"diff",language:s.language,truncated:s.truncated,error:s.error},c=Buffer.from(s.content||"","utf-8");this.onFileViewTransferCallback(e,c,a)}}getViewableMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf"}[t||""]||null}async getFileContent(e,t){let n=e.maxSize||1048576,i=await An.stat(t),s=await An.readFile(t,"utf-8"),a=!1,c=s;return s.length>n&&(c=s.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Qt.FileViewType.CONTENT,content:c,language:(0,Qt.getLanguageFromPath)(e.path),size:i.size,truncated:a}}async getFileDiff(e,t,n){let i=t.diffBase||Qt.DiffBase.GIT,s;return i===Qt.DiffBase.GIT?s=await this.getGitDiff(n):s=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Qt.FileViewType.DIFF,content:s,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await qc("git",["diff","--cached","--",e],{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await qc("git",["diff","--",e],{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:i}=await qc("git",["status","--porcelain","--",e],{cwd:this.workspaceRoot});if(i.startsWith("??")||i.startsWith("A ")){let a=(await An.readFile(e,"utf-8")).split(`
|
|
30
|
+
`+t)}function Tn(r,e,t,n,i,s){if(r.listenerCount("wsClientError")){let a=new Error(i);Error.captureStackTrace(a,Tn),r.emit("wsClientError",a,t,e)}else Di(t,n,i,s)}});var ph=L((Fw,dh)=>{"use strict";var Nr=to();Nr.createWebSocketStream=nh();Nr.Server=hh();Nr.Receiver=ja();Nr.Sender=qa();Nr.WebSocket=Nr;Nr.WebSocketServer=Nr.Server;dh.exports=Nr});var Qa=L(Zr=>{"use strict";var j_=Zr&&Zr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Zr,"__esModule",{value:!0});Zr.WS=Zr.BaseWS=void 0;var U_=Pi(),gh=bn(),K_=qn(),Ja=_n(),q_=j_(jt()),W_=(0,q_.default)("engine.io-client:websocket"),mh=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",no=class extends U_.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=mh?{}:(0,gh.pick)(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],i=t===e.length-1;(0,K_.encodePacket)(n,this.supportsBinary,s=>{try{this.doWrite(n,s)}catch{W_("websocket closed before onclose event")}i&&(0,Ja.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,gh.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Zr.BaseWS=no;var Xa=Ja.globalThisShim.WebSocket||Ja.globalThisShim.MozWebSocket,Za=class extends no{createSocket(e,t,n){return mh?new Xa(e,t,n):t?new Xa(e,t):new Xa(e)}doWrite(e,t){this.ws.send(t)}};Zr.WS=Za});var tc=L(gr=>{"use strict";var H_=gr&&gr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),V_=gr&&gr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),$_=gr&&gr.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&H_(e,r,t);return V_(e,r),e};Object.defineProperty(gr,"__esModule",{value:!0});gr.WS=void 0;var z_=$_(ph()),G_=Qa(),ec=class extends G_.BaseWS{createSocket(e,t,n){var i;if(!((i=this.socket)===null||i===void 0)&&i._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[s,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${s}=${a.value}`)}return new z_.WebSocket(e,t,n)}doWrite(e,t){let n={};e.options&&(n.compress=e.options.compress),this.opts.perMessageDeflate&&(typeof t=="string"?Buffer.byteLength(t):t.length)<this.opts.perMessageDeflate.threshold&&(n.compress=!1),this.ws.send(t,n)}};gr.WS=ec});var nc=L(ti=>{"use strict";var Y_=ti&&ti.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ti,"__esModule",{value:!0});ti.WT=void 0;var X_=Pi(),J_=_n(),yh=qn(),Z_=Y_(jt()),Bi=(0,Z_.default)("engine.io-client:webtransport"),rc=class extends X_.Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{Bi("transport closed gracefully"),this.onClose()}).catch(e=>{Bi("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,yh.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),i=(0,yh.createPacketEncoderStream)();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();let s=()=>{n.read().then(({done:c,value:u})=>{if(c){Bi("session is closed");return}Bi("received chunk: %o",u),this.onPacket(u),s()}).catch(c=>{Bi("an error occurred while reading: %s",c)})};s();let a={type:"open"};this.query.sid&&(a.data=`{"sid":"${this.query.sid}"}`),this._writer.write(a).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let n=e[t],i=t===e.length-1;this._writer.write(n).then(()=>{i&&(0,J_.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};ti.WT=rc});var ic=L(io=>{"use strict";Object.defineProperty(io,"__esModule",{value:!0});io.transports=void 0;var Q_=Oa(),e0=tc(),t0=nc();io.transports={websocket:e0.WS,webtransport:t0.WT,polling:Q_.XHR}});var oc=L(sc=>{"use strict";Object.defineProperty(sc,"__esModule",{value:!0});sc.parse=i0;var r0=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,n0=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function i0(r){if(r.length>8e3)throw"URI too long";let e=r,t=r.indexOf("["),n=r.indexOf("]");t!=-1&&n!=-1&&(r=r.substring(0,t)+r.substring(t,n).replace(/:/g,";")+r.substring(n,r.length));let i=r0.exec(r||""),s={},a=14;for(;a--;)s[n0[a]]=i[a]||"";return t!=-1&&n!=-1&&(s.source=e,s.host=s.host.substring(1,s.host.length-1).replace(/;/g,":"),s.authority=s.authority.replace("[","").replace("]","").replace(/;/g,":"),s.ipv6uri=!0),s.pathNames=s0(s,s.path),s.queryKey=o0(s,s.query),s}function s0(r,e){let t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function o0(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,i,s){i&&(t[i]=s)}),t}});var uc=L(mr=>{"use strict";var a0=mr&&mr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(mr,"__esModule",{value:!0});mr.Socket=mr.SocketWithUpgrade=mr.SocketWithoutUpgrade=void 0;var c0=ic(),_h=bn(),f0=ma(),bh=oc(),u0=yn(),Eh=qn(),ac=_n(),l0=a0(jt()),Ke=(0,l0.default)("engine.io-client:socket"),cc=typeof addEventListener=="function"&&typeof removeEventListener=="function",ji=[];cc&&addEventListener("offline",()=>{Ke("closing %d connection(s) because the network was lost",ji.length),ji.forEach(r=>r())},!1);var Cn=class r extends u0.Emitter{constructor(e,t){if(super(),this.binaryType=ac.defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){let n=(0,bh.parse)(e);t.hostname=n.host,t.secure=n.protocol==="https"||n.protocol==="wss",t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=(0,bh.parse)(t.host).host);(0,_h.installTimerFunctions)(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(n=>{let i=n.prototype.name;this.transports.push(i),this._transportsByName[i]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=(0,f0.decode)(this.opts.query)),cc&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(Ke("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},ji.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,ac.createCookieJar)()),this._open()}createTransport(e){Ke('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=Eh.protocol,t.transport=e,this.id&&(t.sid=this.id);let n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return Ke("options: %j",n),new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}let e=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";let t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){Ke("setting transport %s",e.name),this.transport&&(Ke("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){Ke("socket open"),this.readyState="open",r.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(Ke('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":let t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}else Ke('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let e=this._getWritablePackets();Ke("flushing %d packets in socket",e.length),this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n<this.writeBuffer.length;n++){let i=this.writeBuffer[n].data;if(i&&(t+=(0,_h.byteLength)(i)),n>0&&t>this._maxPayload)return Ke("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return Ke("payload size is %d (max: %d)",t,this._maxPayload),this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let e=Date.now()>this._pingTimeoutTime;return e&&(Ke("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,ac.nextTick)(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,i){if(typeof t=="function"&&(i=t,t=void 0),typeof n=="function"&&(i=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let s={type:e,data:t,options:n};this.emitReserved("packetCreate",s),this.writeBuffer.push(s),i&&this.once("flush",i),this.flush()}close(){let e=()=>{this._onClose("forced close"),Ke("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(Ke("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return Ke("trying next transport"),this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(Ke('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),cc&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=ji.indexOf(this._offlineEventListener);n!==-1&&(Ke("removing listener for the 'offline' event"),ji.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};mr.SocketWithoutUpgrade=Cn;Cn.protocol=Eh.protocol;var so=class extends Cn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){Ke("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){Ke('probing transport "%s"',e);let t=this.createTransport(e),n=!1;Cn.priorWebsocketSuccess=!1;let i=()=>{n||(Ke('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",m=>{if(!n)if(m.type==="pong"&&m.data==="probe"){if(Ke('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;Cn.priorWebsocketSuccess=t.name==="websocket",Ke('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(Ke("changing transport and sending upgrade packet"),p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{Ke('probe transport "%s" failed',e);let _=new Error("probe error");_.transport=t.name,this.emitReserved("upgradeError",_)}}))};function s(){n||(n=!0,p(),t.close(),t=null)}let a=m=>{let _=new Error("probe error: "+m);_.transport=t.name,s(),Ke('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",_)};function c(){a("transport closed")}function u(){a("socket closed")}function h(m){t&&m.name!==t.name&&(Ke('"%s" works - aborting "%s"',m.name,t.name),s())}let p=()=>{t.removeListener("open",i),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",h)};t.once("open",i),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",h),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let n=0;n<e.length;n++)~this.transports.indexOf(e[n])&&t.push(e[n]);return t}};mr.SocketWithUpgrade=so;var fc=class extends so{constructor(e,t={}){let n=typeof e=="object"?e:t;(!n.transports||n.transports&&typeof n.transports[0]=="string")&&(n.transports=(n.transports||["polling","websocket","webtransport"]).map(i=>c0.transports[i]).filter(i=>!!i)),super(e,n)}};mr.Socket=fc});var vh=L(oo=>{"use strict";Object.defineProperty(oo,"__esModule",{value:!0});oo.Fetch=void 0;var h0=xa(),lc=class extends h0.Polling{doPoll(){this._fetch().then(e=>{if(!e.ok)return this.onError("fetch read error",e.status,e);e.text().then(t=>this.onData(t))}).catch(e=>{this.onError("fetch read error",e)})}doWrite(e,t){this._fetch(e).then(n=>{if(!n.ok)return this.onError("fetch write error",n.status,n);t()}).catch(n=>{this.onError("fetch write error",n)})}_fetch(e){var t;let n=e!==void 0,i=new Headers(this.opts.extraHeaders);return n&&i.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(i),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:i,credentials:this.opts.withCredentials?"include":"omit"}).then(s=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(s.headers.getSetCookie()),s})}};oo.Fetch=lc});var ao=L(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.WebTransport=ke.WebSocket=ke.NodeWebSocket=ke.XHR=ke.NodeXHR=ke.Fetch=ke.nextTick=ke.parse=ke.installTimerFunctions=ke.transports=ke.TransportError=ke.Transport=ke.protocol=ke.SocketWithUpgrade=ke.SocketWithoutUpgrade=ke.Socket=void 0;var wh=uc();Object.defineProperty(ke,"Socket",{enumerable:!0,get:function(){return wh.Socket}});var xh=uc();Object.defineProperty(ke,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return xh.SocketWithoutUpgrade}});Object.defineProperty(ke,"SocketWithUpgrade",{enumerable:!0,get:function(){return xh.SocketWithUpgrade}});ke.protocol=wh.Socket.protocol;var Sh=Pi();Object.defineProperty(ke,"Transport",{enumerable:!0,get:function(){return Sh.Transport}});Object.defineProperty(ke,"TransportError",{enumerable:!0,get:function(){return Sh.TransportError}});var d0=ic();Object.defineProperty(ke,"transports",{enumerable:!0,get:function(){return d0.transports}});var p0=bn();Object.defineProperty(ke,"installTimerFunctions",{enumerable:!0,get:function(){return p0.installTimerFunctions}});var g0=oc();Object.defineProperty(ke,"parse",{enumerable:!0,get:function(){return g0.parse}});var m0=_n();Object.defineProperty(ke,"nextTick",{enumerable:!0,get:function(){return m0.nextTick}});var y0=vh();Object.defineProperty(ke,"Fetch",{enumerable:!0,get:function(){return y0.Fetch}});var _0=Oa();Object.defineProperty(ke,"NodeXHR",{enumerable:!0,get:function(){return _0.XHR}});var b0=Ca();Object.defineProperty(ke,"XHR",{enumerable:!0,get:function(){return b0.XHR}});var E0=tc();Object.defineProperty(ke,"NodeWebSocket",{enumerable:!0,get:function(){return E0.WS}});var v0=Qa();Object.defineProperty(ke,"WebSocket",{enumerable:!0,get:function(){return v0.WS}});var w0=nc();Object.defineProperty(ke,"WebTransport",{enumerable:!0,get:function(){return w0.WT}})});var Ch=L(Ui=>{"use strict";var x0=Ui&&Ui.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ui,"__esModule",{value:!0});Ui.url=C0;var S0=ao(),T0=x0(jt()),Th=(0,T0.default)("socket.io-client:url");function C0(r,e="",t){let n=r;t=t||typeof location<"u"&&location,r==null&&(r=t.protocol+"//"+t.host),typeof r=="string"&&(r.charAt(0)==="/"&&(r.charAt(1)==="/"?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(Th("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Th("parse %s",r),n=(0,S0.parse)(r)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";let s=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+s+":"+n.port+e,n.href=n.protocol+"://"+s+(t&&t.port===n.port?"":":"+n.port),n}});var hc=L(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.isBinary=Oh;fo.hasBinary=co;var k0=typeof ArrayBuffer=="function",O0=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,kh=Object.prototype.toString,P0=typeof Blob=="function"||typeof Blob<"u"&&kh.call(Blob)==="[object BlobConstructor]",A0=typeof File=="function"||typeof File<"u"&&kh.call(File)==="[object FileConstructor]";function Oh(r){return k0&&(r instanceof ArrayBuffer||O0(r))||P0&&r instanceof Blob||A0&&r instanceof File}function co(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(co(r[t]))return!0;return!1}if(Oh(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return co(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&co(r[t]))return!0;return!1}});var Ph=L(uo=>{"use strict";Object.defineProperty(uo,"__esModule",{value:!0});uo.deconstructPacket=I0;uo.reconstructPacket=L0;var R0=hc();function I0(r){let e=[],t=r.data,n=r;return n.data=dc(t,e),n.attachments=e.length,{packet:n,buffers:e}}function dc(r,e){if(!r)return r;if((0,R0.isBinary)(r)){let t={_placeholder:!0,num:e.length};return e.push(r),t}else if(Array.isArray(r)){let t=new Array(r.length);for(let n=0;n<r.length;n++)t[n]=dc(r[n],e);return t}else if(typeof r=="object"&&!(r instanceof Date)){let t={};for(let n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=dc(r[n],e));return t}return r}function L0(r,e){return r.data=pc(r.data,e),delete r.attachments,r}function pc(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num=="number"&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error("illegal attachments")}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=pc(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=pc(r[t],e));return r}});var ho=L(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.Decoder=Xt.Encoder=Xt.PacketType=Xt.protocol=void 0;Xt.isPacketValid=U0;var N0=yn(),Ah=Ph(),Rh=hc(),M0=jt(),gc=(0,M0.default)("socket.io-parser"),Ih=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Xt.protocol=5;var Be;(function(r){r[r.CONNECT=0]="CONNECT",r[r.DISCONNECT=1]="DISCONNECT",r[r.EVENT=2]="EVENT",r[r.ACK=3]="ACK",r[r.CONNECT_ERROR=4]="CONNECT_ERROR",r[r.BINARY_EVENT=5]="BINARY_EVENT",r[r.BINARY_ACK=6]="BINARY_ACK"})(Be||(Xt.PacketType=Be={}));var mc=class{constructor(e){this.replacer=e}encode(e){return gc("encoding packet %j",e),(e.type===Be.EVENT||e.type===Be.ACK)&&(0,Rh.hasBinary)(e)?this.encodeAsBinary({type:e.type===Be.EVENT?Be.BINARY_EVENT:Be.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Be.BINARY_EVENT||e.type===Be.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),gc("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,Ah.deconstructPacket)(e),n=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(n),i}};Xt.Encoder=mc;var yc=class r extends N0.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let n=t.type===Be.BINARY_EVENT;n||t.type===Be.BINARY_ACK?(t.type=n?Be.EVENT:Be.ACK,this.reconstructor=new _c(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Rh.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,n={type:Number(e.charAt(0))};if(Be[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Be.BINARY_EVENT||n.type===Be.BINARY_ACK){let s=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(s,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let s=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(s,t)}else n.nsp="/";let i=e.charAt(t+1);if(i!==""&&Number(i)==i){let s=t+1;for(;++t;){let a=e.charAt(t);if(a==null||Number(a)!=a){--t;break}if(t===e.length)break}n.id=Number(e.substring(s,t+1))}if(e.charAt(++t)){let s=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,s))n.data=s;else throw new Error("invalid payload")}return gc("decoded %s as %j",e,n),n}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case Be.CONNECT:return lo(t);case Be.DISCONNECT:return t===void 0;case Be.CONNECT_ERROR:return typeof t=="string"||lo(t);case Be.EVENT:case Be.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Ih.indexOf(t[0])===-1);case Be.ACK:case Be.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Xt.Decoder=yc;var _c=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,Ah.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function F0(r){return typeof r=="string"}var D0=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function B0(r){return r===void 0||D0(r)}function lo(r){return Object.prototype.toString.call(r)==="[object Object]"}function j0(r,e){switch(r){case Be.CONNECT:return e===void 0||lo(e);case Be.DISCONNECT:return e===void 0;case Be.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Ih.indexOf(e[0])===-1);case Be.ACK:return Array.isArray(e);case Be.CONNECT_ERROR:return typeof e=="string"||lo(e);default:return!1}}function U0(r){return F0(r.nsp)&&B0(r.id)&&j0(r.type,r.data)}});var Ec=L(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.on=K0;function K0(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var wc=L(ri=>{"use strict";var q0=ri&&ri.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ri,"__esModule",{value:!0});ri.Socket=void 0;var Jt=ho(),po=Ec(),W0=yn(),H0=q0(jt()),ot=(0,H0.default)("socket.io-client:socket"),V0=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),vc=class extends W0.Emitter{constructor(e,t,n){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,n&&n.auth&&(this.auth=n.auth),this._opts=Object.assign({},n),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[(0,po.on)(e,"open",this.onopen.bind(this)),(0,po.on)(e,"packet",this.onpacket.bind(this)),(0,po.on)(e,"error",this.onerror.bind(this)),(0,po.on)(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){var n,i,s;if(V0.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let a={type:Jt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let p=this.ids++;ot("emitting packet with ack id %d",p);let m=t.pop();this._registerAckCallback(p,m),a.id=p}let c=(i=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||i===void 0?void 0:i.writable,u=this.connected&&!(!((s=this.io.engine)===null||s===void 0)&&s._hasPingExpired());return this.flags.volatile&&!c?ot("discard packet as the transport is not currently writable"):u?(this.notifyOutgoingListeners(a),this.packet(a)):this.sendBuffer.push(a),this.flags={},this}_registerAckCallback(e,t){var n;let i=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}let s=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(ot("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));ot("event with ack id %d has timed out after %d ms",e,i),t.call(this,new Error("operation has timed out"))},i),a=(...c)=>{this.io.clearTimeoutFn(s),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,i)=>{let s=(a,c)=>a?i(a):n(c);s.withError=!0,t.push(s),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());let n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...s)=>n!==this._queue[0]?ot("packet [%d] already acknowledged",n.id):(i!==null?n.tryCount>this._opts.retries&&(ot("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(i)):(ot("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...s)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(ot("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){ot("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,ot("sending packet [%d] (try n\xB0%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){ot("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:Jt.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){ot("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(n=>String(n.id)===e)){let n=this.acks[e];delete this.acks[e],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case Jt.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case Jt.PacketType.EVENT:case Jt.PacketType.BINARY_EVENT:this.onevent(e);break;case Jt.PacketType.ACK:case Jt.PacketType.BINARY_ACK:this.onack(e);break;case Jt.PacketType.DISCONNECT:this.ondisconnect();break;case Jt.PacketType.CONNECT_ERROR:this.destroy();let n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){let t=e.data||[];ot("emitting event %j",t),e.id!=null&&(ot("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,n=!1;return function(...i){n||(n=!0,ot("sending ack %j",i),t.packet({type:Jt.PacketType.ACK,id:e,data:i}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){ot("bad ack %s",e.id);return}delete this.acks[e.id],ot("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){ot("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){ot("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(ot("performing disconnect (%s)",this.nsp),this.packet({type:Jt.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let n=0;n<t.length;n++)if(e===t[n])return t.splice(n,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let n of t)n.apply(this,e.data)}}};ri.Socket=vc});var Lh=L(xc=>{"use strict";Object.defineProperty(xc,"__esModule",{value:!0});xc.Backoff=ni;function ni(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}ni.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};ni.prototype.reset=function(){this.attempts=0};ni.prototype.setMin=function(r){this.ms=r};ni.prototype.setMax=function(r){this.max=r};ni.prototype.setJitter=function(r){this.jitter=r}});var Nh=L(qt=>{"use strict";var $0=qt&&qt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),z0=qt&&qt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),G0=qt&&qt.__importStar||function(r){if(r&&r.__esModule)return r;var e={};if(r!=null)for(var t in r)t!=="default"&&Object.prototype.hasOwnProperty.call(r,t)&&$0(e,r,t);return z0(e,r),e},Y0=qt&&qt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(qt,"__esModule",{value:!0});qt.Manager=void 0;var Sc=ao(),X0=wc(),J0=G0(ho()),kn=Ec(),Z0=Lh(),Q0=yn(),eb=Y0(jt()),lt=(0,eb.default)("socket.io-client:manager"),Tc=class extends Q0.Emitter{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,(0,Sc.installTimerFunctions)(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new Z0.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;let i=t.parser||J0;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(lt("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;lt("opening %s",this.uri),this.engine=new Sc.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let i=(0,kn.on)(t,"open",function(){n.onopen(),e&&e()}),s=c=>{lt("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,kn.on)(t,"error",s);if(this._timeout!==!1){let c=this._timeout;lt("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{lt("connect attempt timed out after %d",c),i(),s(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(i),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){lt("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,kn.on)(e,"ping",this.onping.bind(this)),(0,kn.on)(e,"data",this.ondata.bind(this)),(0,kn.on)(e,"error",this.onerror.bind(this)),(0,kn.on)(e,"close",this.onclose.bind(this)),(0,kn.on)(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){(0,Sc.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){lt("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new X0.Socket(this,e,t),this.nsps[e]=n),n}_destroy(e){let t=Object.keys(this.nsps);for(let n of t)if(this.nsps[n].active){lt("socket %s is still active, skipping close",n);return}this._close()}_packet(e){lt("writing packet %j",e);let t=this.encoder.encode(e);for(let n=0;n<t.length;n++)this.engine.write(t[n],e.options)}cleanup(){lt("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){lt("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;lt("closed due to %s",e),this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)lt("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();lt("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(lt("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(lt("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):(lt("reconnect success"),e.onreconnect())}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}};qt.Manager=Tc});var Bh=L((He,Dh)=>{"use strict";var tb=He&&He.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(He,"__esModule",{value:!0});He.WebTransport=He.WebSocket=He.NodeWebSocket=He.XHR=He.NodeXHR=He.Fetch=He.Socket=He.Manager=He.protocol=void 0;He.io=On;He.connect=On;He.default=On;var rb=Ch(),go=Nh();Object.defineProperty(He,"Manager",{enumerable:!0,get:function(){return go.Manager}});var Fh=wc();Object.defineProperty(He,"Socket",{enumerable:!0,get:function(){return Fh.Socket}});var nb=tb(jt()),Mh=(0,nb.default)("socket.io-client"),Ki={};function On(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,rb.url)(r,e.path||"/socket.io"),n=t.source,i=t.id,s=t.path,a=Ki[i]&&s in Ki[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(Mh("ignoring socket cache for %s",n),u=new go.Manager(n,e)):(Ki[i]||(Mh("new io instance for %s",n),Ki[i]=new go.Manager(n,e)),u=Ki[i]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(On,{Manager:go.Manager,Socket:Fh.Socket,io:On,connect:On});var ib=ho();Object.defineProperty(He,"protocol",{enumerable:!0,get:function(){return ib.protocol}});var ii=ao();Object.defineProperty(He,"Fetch",{enumerable:!0,get:function(){return ii.Fetch}});Object.defineProperty(He,"NodeXHR",{enumerable:!0,get:function(){return ii.NodeXHR}});Object.defineProperty(He,"XHR",{enumerable:!0,get:function(){return ii.XHR}});Object.defineProperty(He,"NodeWebSocket",{enumerable:!0,get:function(){return ii.NodeWebSocket}});Object.defineProperty(He,"WebSocket",{enumerable:!0,get:function(){return ii.WebSocket}});Object.defineProperty(He,"WebTransport",{enumerable:!0,get:function(){return ii.WebTransport}});Dh.exports=On});var kc=L(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.InputStreamReceiver=void 0;var sb=64,ob=30,ab=4,cb=256,fb=16,Cc=class{streamId;lastAppliedSeq=0;cb;windowSize;ackThrottleMs;ackTimer=null;framesSinceAck=0;lastResendFrom=0;resendSuppressed=0;constructor(e,t,n={}){this.streamId=e,this.cb=t,this.windowSize=Math.max(1,n.windowSize??sb),this.ackThrottleMs=Math.max(0,n.ackThrottleMs??ob)}get appliedSeq(){return this.lastAppliedSeq}receive(e,t,n,i){if(e<=this.lastAppliedSeq){this.flushAck();return}if(e===this.lastAppliedSeq+1){try{this.cb.onApply(t,n,i)}catch{}this.lastAppliedSeq=e,this.scheduleAck();return}this.flushAck();let s=Math.max(this.windowSize*ab,cb);e-this.lastAppliedSeq>s||this.maybeResend(this.lastAppliedSeq+1)}maybeResend(e){if(e===this.lastResendFrom){if(++this.resendSuppressed<fb)return;this.resendSuppressed=0}else this.lastResendFrom=e,this.resendSuppressed=0;this.cb.onResend(e)}resumeState(){return{streamId:this.streamId,lastAckSeq:this.lastAppliedSeq}}dispose(){this.ackTimer&&(clearTimeout(this.ackTimer),this.ackTimer=null)}scheduleAck(){this.framesSinceAck++;let e=Math.max(1,Math.floor(this.windowSize/4));if(this.windowSize===1||this.framesSinceAck>=e){this.flushAck();return}this.ackTimer||(this.ackTimer=setTimeout(()=>this.flushAck(),this.ackThrottleMs))}flushAck(){this.ackTimer&&(clearTimeout(this.ackTimer),this.ackTimer=null),this.framesSinceAck=0,this.cb.onAck(this.lastAppliedSeq)}};mo.InputStreamReceiver=Cc});var qh=L(yo=>{"use strict";Object.defineProperty(yo,"__esModule",{value:!0});yo.WebSocketService=void 0;var ub=Bh(),jh=kr(),Uh=ds(),Kh=us(),lb=kc(),Oc=class{authService;cryptoService;config;logger;notification;deviceId;platform;extraCapabilities;socket=null;inputHandler=null;createTerminalHandler=null;getBufferHandler=null;redrawHandler=null;resizeHandler=null;reconnectHandlers=[];authFailureHandler=null;fileViewRequestHandler=null;fileListRequestHandler=null;fileDownloadRequestHandler=null;statusChangeHandler=null;agentNameSyncHandler=null;clientAttachedHandler=null;metaSessionEstablishedHandler=null;clientDetachedHandler=null;inputReceivers=new Map;terminalActiveCheck=null;MAX_INPUT_RECEIVERS=512;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;RESUME_WATCHDOG_INTERVAL=5e3;RESUME_WATCHDOG_THRESHOLD=15e3;resumeWatchdogTimer=null;resumeWatchdogExpectedAt=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;invalidSessionSignalAt=new Map;INVALID_SESSION_SIGNAL_THROTTLE_MS=5e3;attachedClientCount=0;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,i,s,a,c="vscode",u=[]){this.authService=e,this.cryptoService=t,this.config=n,this.logger=i,this.notification=s,this.deviceId=a,this.platform=c,this.extraCapabilities=u}async connect(){let e=await this.authService.getAccessToken();if(!e)throw new Error("No access token available");this.isManualDisconnect=!1,this.stopReconnect(),this.reconnectAttempts=0,this.agentId=await this.authService.getAgentId();let t=(0,Uh.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((i,s)=>{let a=Array.from(new Set([...jh.DEFAULT_CLIENT_CAPABILITIES,...this.extraCapabilities]));this.socket=(0,ub.io)(`${t}/agent`,{auth:{token:e,protocolVersion:jh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:a,publicKey:n},transports:["websocket"],reconnection:!1}),this.socket.on("connect",()=>{if(this.logger.info("WebSocket connected"),this.reconnectAttempts=0,this.statusChangeHandler?.("connected",this.agentId??void 0),this.startHeartbeat(),this.cryptoService.cleanupAllStaleSessions(),this.hasConnectedOnce){this.logger.info("Reconnected - triggering workspace re-registration");for(let c of this.reconnectHandlers)c()}else this.hasConnectedOnce=!0,i()}),this.socket.on("error",c=>{this.logger.error(`Server error [${c.code}]: ${c.message}`),c.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",c=>{this.logger.warn("WebSocket disconnected",c),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(c==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",c=>{this.logger.info("Protocol info received",c.protocolVersion),this.negotiatedCapabilities=c.negotiatedCapabilities,c.agentName&&this.config.getAgentName()!==c.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(c.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(c.agentName),this.logger.info("Agent name synced from server",c.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",c=>{this.logger.error("WebSocket connection error",c),this.statusChangeHandler?.("error"),this.hasConnectedOnce||s(c),this.scheduleReconnect()}),this.socket.on("terminal:input",c=>{this.handleTerminalInput(c)}),this.socket.on("crypto:keyExchange",async(c,u)=>{this.logger.info("Received key exchange request",c.terminalId,c.sessionId),this.rekeyingTerminals.add(c.terminalId),this.outputBuffer.set(c.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(c.terminalId,c.clientPublicKey,c.sessionId)){let p=await this.cryptoService.getPublicKey();u?.({success:!0,agentPublicKey:p||void 0}),this.flushOutputBuffer(c.terminalId)}else u?.({success:!1,error:"Key exchange failed"})}catch(h){this.logger.error("Key exchange error",h),u?.({success:!1,error:String(h)})}finally{this.rekeyingTerminals.delete(c.terminalId),this.outputBuffer.delete(c.terminalId)}}),this.socket.on("crypto:sessionCleanup",c=>{this.cryptoService.removeSession(c.terminalId,c.sessionId)}),this.socket.on("agent:keyExchangeRequest",async c=>{try{let u=await this.cryptoService.handleAgentKeyExchange(c.clientPublicKey,c.sessionId),h={agentId:c.agentId,sessionId:c.sessionId,ok:u,error:u?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",h)}catch(u){this.logger.error("Agent key exchange error",u);let h={agentId:c.agentId,sessionId:c.sessionId,ok:!1,error:String(u)};this.socket?.emit("agent:keyExchangeAck",h)}}),this.socket.on("meta:keyExchange",async(c,u)=>{let{ok:h,isNew:p}=await this.cryptoService.handleMetaKeyExchange(c.clientIdentityPub),m=await this.cryptoService.getPublicKey()||void 0;u?.({ok:h,agentPublicKey:m}),h&&this.metaSessionEstablishedHandler?.(p)}),this.socket.on("agent:sessionEnd",c=>{this.cryptoService.removeAgentSession(c.sessionId)}),this.socket.on("agent:renamed",c=>{this.logger.info("Agent renamed from web client",c.name),this.isRemoteRename=!0,this.config.setAgentName(c.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(c.name)}),this.socket.on("terminal:createRequest",c=>{this.createTerminalHandler?.(c.name)}),this.socket.on("terminal:getBuffer",(c,u)=>{if(!this.getBufferHandler){u?.({success:!1,error:"Buffer handler not set"});return}let h=this.getBufferHandler(c.terminalId);if(h===null){u?.({success:!1,error:"Terminal not found"});return}let p=this.cryptoService.encryptOutput(c.terminalId,h);if(!p){this.signalInvalidSession(void 0,c.terminalId),u?.({success:!1,error:"No E2E session"});return}u?.({success:!0,encrypted:p}),this.redrawHandler?.(c.terminalId)}),this.socket.on("terminal:resize",c=>{this.resizeHandler?.(c.terminalId,c.cols,c.rows)}),this.socket.on("workspace:clientAttached",c=>{this.attachedClientCount=c.clientCount,this.clientAttachedHandler?.(c)}),this.socket.on("workspace:clientDetached",c=>{this.attachedClientCount=c.clientCount,this.clientDetachedHandler?.(c)}),this.socket.on("file:view",c=>{this.fileViewRequestHandler?.(c.terminalId,c.request)}),this.socket.on("file:list",c=>{this.fileListRequestHandler?.(c.terminalId,c.request)}),this.socket.on("file:download:request",c=>{this.fileDownloadRequestHandler?.(c.terminalId,c.path,c.requestId)})})}disconnect(){this.isManualDisconnect=!0,this.hasConnectedOnce=!1,this.stopReconnect(),this.stopHeartbeat(),this.cryptoService.clearAllSessions(),this.socket&&(this.logger.info("Disconnecting WebSocket"),this.socket.disconnect(),this.socket=null)}softDisconnect(){this.stopReconnect(),this.stopHeartbeat(),this.socket&&(this.logger.info("Soft disconnecting WebSocket (for reconnect)"),this.socket.disconnect(),this.socket=null)}getStatus(){return{connected:this.socket?.connected??!1,agentId:this.agentId}}onInput(e){this.inputHandler=e}onCreateTerminalRequest(e){this.createTerminalHandler=e}onGetBufferRequest(e){this.getBufferHandler=e}onRedrawRequest(e){this.redrawHandler=e}onResizeRequest(e){this.resizeHandler=e}onReconnect(e){this.reconnectHandlers.push(e)}onAuthFailure(e){this.authFailureHandler=e}onFileViewRequest(e){this.fileViewRequestHandler=e}onFileListRequest(e){this.fileListRequestHandler=e}onFileDownloadRequest(e){this.fileDownloadRequestHandler=e}onStatusChange(e){this.statusChangeHandler=e}onAgentNameSync(e){this.agentNameSyncHandler=e}onClientAttached(e){this.clientAttachedHandler=e}onMetaSessionEstablished(e){this.metaSessionEstablishedHandler=e}onClientDetached(e){this.clientDetachedHandler=e}async registerWorkspace(e){return this.emit("workspace:register",e)}async unregisterWorkspace(e){await this.emit("workspace:unregister",{instanceId:e})}async terminalCreated(e){return this.emit("terminal:created",e)}async terminalClosed(e){this.cryptoService.removeSession(e.terminalId),await this.emit("terminal:closed",e)}terminalNotFound(e){this.socket?.emit("terminal:notFound",{terminalId:e})}sendPtyResized(e,t,n,i){this.socket?.connected&&this.socket.emit("agent:ptyResized",{instanceId:e,terminalId:t,cols:n,rows:i})}sendClaimControl(e,t,n,i){this.socket?.connected&&this.socket.emit("agent:claimControl",{instanceId:e,terminalId:t,cols:n,rows:i})}sendOutput(e,t,n){if(!this.socket?.connected)return;if(this.rekeyingTerminals.has(t)){let a=this.outputBuffer.get(t);a&&a.length<this.OUTPUT_BUFFER_MAX_SIZE&&a.push({instanceId:e,data:n});return}let i=this.cryptoService.encryptOutput(t,n);if(!i){this.attachedClientCount>0&&this.signalInvalidSession(e,t);return}let s={instanceId:e,terminalId:t,encrypted:i};this.socket?.emit("terminal:output",s)}flushOutputBuffer(e){let t=this.outputBuffer.get(e);if(!(!t||t.length===0)){this.logger.info("Flushing output buffer after rekey",e,String(t.length));for(let{instanceId:n,data:i}of t){let s=this.cryptoService.encryptOutput(e,i);if(!s){this.signalInvalidSession(n,e);continue}let a={instanceId:n,terminalId:e,encrypted:s};this.socket?.emit("terminal:output",a)}}}signalInvalidSession(e,t){let n=Date.now(),i=this.invalidSessionSignalAt.get(t)??0;n-i<this.INVALID_SESSION_SIGNAL_THROTTLE_MS||(this.invalidSessionSignalAt.set(t,n),this.logger.warn("E2E session invalid/missing \u2014 signaling clients to rekey",t),this.socket?.emit("crypto:invalidSession",{instanceId:e??this.instanceIdForTerminal(t),terminalId:t}))}instanceIdForTerminal(e){return this.inputReceivers.get(e)?.instanceId}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let i={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",i)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let i={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",i)}sendFileListResponse(e,t){let n={instanceId:e,response:t};this.socket?.emit("file:list:response",n)}sendAgentRename(e){this.socket?.emit("agent:rename",{name:e})}isRemoteRenameInProgress(){return this.isRemoteRename}getSocket(){return this.socket}emit(e,t){let n=(0,Kh.generateCorrelationId)(),i=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,Kh.runWithCorrelation)(n,()=>new Promise((s,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,i,c=>{c.success?s(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),this.startResumeWatchdog(),this.heartbeatTimer=setInterval(()=>{if(!this.socket?.connected){this.stopHeartbeat();return}if(Date.now()-this.lastPongTime>this.HEARTBEAT_INTERVAL+this.HEARTBEAT_TIMEOUT){this.logger.warn("Heartbeat timeout"),this.socket.disconnect();return}this.socket.emit("ping"),this.pongTimer=setTimeout(()=>{this.logger.warn("Pong timeout - server not responding, forcing teardown + reconnect"),this.statusChangeHandler?.("error"),this.socket?.disconnect()},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout(),this.stopResumeWatchdog()}startResumeWatchdog(){this.stopResumeWatchdog(),this.resumeWatchdogExpectedAt=Date.now()+this.RESUME_WATCHDOG_INTERVAL,this.resumeWatchdogTimer=setTimeout(()=>this.onResumeWatchdogTick(),this.RESUME_WATCHDOG_INTERVAL)}onResumeWatchdogTick(){let e=Date.now(),t=e-this.resumeWatchdogExpectedAt;if(t>this.RESUME_WATCHDOG_THRESHOLD&&(this.logger.warn(`Resume detected (clock drift ${t}ms) - forcing liveness re-check`),!this.isManualDisconnect&&this.socket)){this.statusChangeHandler?.("error"),this.socket.disconnect();return}this.isManualDisconnect||(this.resumeWatchdogExpectedAt=e+this.RESUME_WATCHDOG_INTERVAL,this.resumeWatchdogTimer=setTimeout(()=>this.onResumeWatchdogTick(),this.RESUME_WATCHDOG_INTERVAL))}stopResumeWatchdog(){this.resumeWatchdogTimer&&(clearTimeout(this.resumeWatchdogTimer),this.resumeWatchdogTimer=null)}clearPongTimeout(){this.pongTimer&&(clearTimeout(this.pongTimer),this.pongTimer=null)}handleTerminalInput(e){let t;if(e.encrypted){let n=this.cryptoService.decryptInput(e.terminalId,e.encrypted);if(!n){this.logger.error("Failed to decrypt terminal input",e.terminalId),this.signalInvalidSession(e.instanceId,e.terminalId);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}if(e.streamId&&typeof e.seq=="number"){let n=this.getOrCreateInputReceiver(e.terminalId,e.streamId,e.instanceId,e.dbTerminalId);if(!n)return;n.receive(e.seq,t,e.paste,e.answerFor);return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId,void 0,e.answerFor)}getOrCreateInputReceiver(e,t,n,i){let s=this.inputReceivers.get(e);if(this.terminalActiveCheck&&!this.terminalActiveCheck(e))return s&&this.disposeInputStream(e),null;if(s&&s.receiver.streamId===t)return i&&(s.routeId=i),n&&(s.instanceId=n),s.receiver;if(s&&s.receiver.dispose(),!s&&this.inputReceivers.size>=this.MAX_INPUT_RECEIVERS)return this.logger.error("inputReceivers map at cap, dropping frame",e),null;let a=new lb.InputStreamReceiver(t,{onApply:(c,u,h)=>this.inputHandler?.(e,c,this.routeIdFor(e),u,h),onAck:c=>this.sendInputAck(e,t,c),onResend:c=>this.sendInputResend(e,t,c)});return this.inputReceivers.set(e,{receiver:a,routeId:i??e,instanceId:n??""}),a}setTerminalActiveCheck(e){this.terminalActiveCheck=e}routeIdFor(e){return this.inputReceivers.get(e)?.routeId??e}sendInputAck(e,t,n){let i=this.inputReceivers.get(e)?.instanceId;this.socket?.emit("input:ack",{instanceId:i,terminalId:e,streamId:t,ackSeq:n})}sendInputResend(e,t,n){let i=this.inputReceivers.get(e)?.instanceId;this.socket?.emit("input:resend",{instanceId:i,terminalId:e,streamId:t,fromSeq:n})}sendInputResume(e){let t=this.inputReceivers.get(e);if(!t)return;let{streamId:n,lastAckSeq:i}=t.receiver.resumeState();this.socket?.emit("input:resume",{instanceId:t.instanceId,terminalId:e,streamId:n,lastAckSeq:i})}disposeInputStream(e){this.inputReceivers.get(e)?.receiver.dispose(),this.inputReceivers.delete(e)}hasE2ESession(e){return this.cryptoService.hasSession(e)}getReconnectDelay(){let e=Math.min(this.RECONNECT_BASE_DELAY*Math.pow(2,this.reconnectAttempts),this.RECONNECT_MAX_DELAY),t=1+(Math.random()*2-1)*this.RECONNECT_JITTER;return Math.floor(e*t)}scheduleReconnect(){if(this.isManualDisconnect)return;this.stopReconnect();let e=this.getReconnectDelay();if(this.logger.info("Scheduling reconnect",String(this.reconnectAttempts+1),"delay:",String(e)),!this.isOnline){this.statusChangeHandler?.("disconnected"),this.startNetworkCheck();return}this.statusChangeHandler?.("connecting"),this.reconnectTimer=setTimeout(()=>{this.attemptReconnect()},e)}async attemptReconnect(e=!1){if(this.isManualDisconnect||this.socket?.connected)return;let t=await this.authService.hasValidToken();if(!t){if(this.logger.info("Access token expired, attempting refresh"),!await this.authService.refreshAccessToken()){this.logger.info("Token refresh failed, stopping reconnect"),this.stopReconnect(),this.statusChangeHandler?.("disconnected"),this.notification.warn("Session expired. Please log in again."),this.authFailureHandler?.();return}t=!0}this.reconnectAttempts++;try{if(this.socket&&(this.socket.disconnect(),this.socket=null),!e&&!await this.checkNetwork()){this.isOnline=!1,this.scheduleReconnect();return}this.isOnline=!0,await this.connect(),this.reconnectAttempts=0}catch(n){this.logger.warn("Reconnect failed",n),this.statusChangeHandler?.("error"),this.scheduleReconnect()}}stopReconnect(){this.reconnectTimer&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.stopNetworkCheck()}async checkNetwork(){let e=Date.now();if(e-this.lastNetworkCheck<1e3)return this.isOnline;this.lastNetworkCheck=e;try{let t=`${(0,Uh.getApiUrl)(this.config)}/health`,n=new AbortController,i=setTimeout(()=>n.abort(),5e3),s=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(i),this.logger.debug("Network check OK",String(s.status)),!0}catch{return this.logger.debug("Network check failed (offline)"),!1}}startNetworkCheck(){this.stopNetworkCheck(),this.networkCheckTimer=setInterval(async()=>{if(this.isManualDisconnect){this.stopNetworkCheck();return}if(this.socket?.connected){this.stopNetworkCheck();return}let e=await this.checkNetwork();e&&!this.isOnline?(this.logger.info("Network restored! Triggering immediate reconnect"),this.isOnline=!0,this.stopNetworkCheck(),this.reconnectAttempts=0,this.attemptReconnect()):e&&this.isOnline?(this.stopNetworkCheck(),this.attemptReconnect()):e||(this.isOnline=!1)},this.NETWORK_CHECK_INTERVAL)}stopNetworkCheck(){this.networkCheckTimer&&(clearInterval(this.networkCheckTimer),this.networkCheckTimer=null)}};yo.WebSocketService=Oc});var Vh=L(Zt=>{"use strict";var hb=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),db=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Ac=Zt&&Zt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&hb(t,e,n[i]);return db(t,e),t}})();Object.defineProperty(Zt,"__esModule",{value:!0});Zt.FileTransferService=void 0;Zt.resolveUploadPath=Hh;var _o=Ac(require("fs")),Pn=Ac(require("path")),Wh=Ac(require("crypto")),Ve=kr();function Hh(r,e,t){let n=Pn.basename(t),i=(e??"").trim()||".";if(Pn.isAbsolute(i))return Pn.resolve(i,n);let s=Pn.resolve(r,i),a=s===r||s.startsWith(r+Pn.sep)?s:r;return Pn.resolve(a,n)}var Pc=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;workspaceRoot=null;cryptoService=null;constructor(e,t="/tmp",n=null){this.logger=e,this.fallbackDir=t,this.workspaceRoot=n}setCrypto(e){this.cryptoService=e}attach(e,t){this.socket=e,this.instanceId=t,this.setupEventHandlers(),this.logger.info("FileTransferService attached")}detach(){this.socket=null;for(let[e]of this.activeTransfers)this.cancelTransfer(e,"Disconnected");this.logger.info("FileTransferService detached")}async sendFile(e,t,n,i,s){let a=_o.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:s,onProgress:n,onComplete:i})}async sendBuffer(e,t,n,i,s){return this.initAndSendChunks(e,t,n,{mimeType:i,purpose:s?.purpose,viewMetadata:s?.viewMetadata,requestId:s?.requestId,onProgress:s?.onProgress,onComplete:s?.onComplete})}async initAndSendChunks(e,t,n,i){if(!this.socket)throw new Error("Socket not connected");let s=t.length,a=(0,Ve.calculateTotalChunks)(s),c=this.calculateChecksum(t),u=Wh.randomUUID(),h={id:u,terminalId:e,filename:n,size:s,totalChunks:a,direction:Ve.TransferDirection.DOWNLOAD,status:Ve.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:i.onProgress?(m,_)=>i.onProgress(u,m,_):void 0,onComplete:i.onComplete?(m,_)=>i.onComplete(u,m,_):void 0,ackTimeouts:new Map};h.chunks=[];for(let m=0;m<a;m++){let _=m*Ve.CHUNK_SIZE,E=Math.min(_+Ve.CHUNK_SIZE,s);h.chunks.push(t.subarray(_,E))}this.activeTransfers.set(u,h);let p={transferId:u,terminalId:e,filename:n,size:s,totalChunks:a,mimeType:i.mimeType||"application/octet-stream",checksum:c,direction:Ve.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return i.requestId&&(p.requestId=i.requestId),i.purpose&&(p.purpose=i.purpose),i.viewMetadata&&(p.viewMetadata=i.viewMetadata),new Promise((m,_)=>{this.socket.emit("file:init",p,E=>{E.accepted?(h.status=Ve.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),_(new Error(E.error||"Transfer rejected")))})})}async receiveFile(e,t,n,i,s,a,c,u="sha256",h,p){let m={id:e,terminalId:t,filename:n,filePath:c,size:i,totalChunks:s,direction:Ve.TransferDirection.UPLOAD,status:Ve.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(s).fill(null),checksum:a,checksumAlgorithm:u,onProgress:h?(_,E)=>h(e,_,E):void 0,onComplete:p?(_,E)=>p(e,_,E):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let i of n.ackTimeouts.values())clearTimeout(i);if(n.status=Ve.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let i={transferId:e,reason:t};this.socket.emit("file:cancel",i)}this.activeTransfers.delete(e)}}async resumeTransfer(e){let t=this.activeTransfers.get(e);!t||!this.socket||this.socket.emit("file:sync",{transferId:e},n=>{if(n.status===Ve.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let i of n.deliveredChunks)t.deliveredChunks.add(i);if(t.direction===Ve.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=Ve.TransferStatus.ACTIVE;for(let i of n.missingChunks)this.sendChunk(t,i)}})}getTransferStatus(e){return this.activeTransfers.get(e)?.status??null}getTransferProgress(e){let t=this.activeTransfers.get(e);return t?{delivered:t.deliveredChunks.size,total:t.totalChunks}:null}setupEventHandlers(){this.socket&&(this.socket.on("file:chunk",e=>{this.handleIncomingChunk(e)}),this.socket.on("file:chunk:ack",e=>{this.handleChunkAck(e)}),this.socket.on("file:complete",e=>{this.handleComplete(e)}),this.socket.on("file:progress",e=>{this.handleProgress(e)}),this.socket.on("file:init",(e,t)=>{this.handleIncomingFileInit(e,t)}),this.socket.on("file:cancel",e=>{let t=this.activeTransfers.get(e.transferId);if(t){for(let n of t.ackTimeouts.values())clearTimeout(n);t.status=Ve.TransferStatus.CANCELLED,t.onComplete?.(!1,e.reason||"Cancelled by remote"),this.activeTransfers.delete(e.transferId)}}))}startSendingChunks(e){let t=this.activeTransfers.get(e);if(!(!t||!t.chunks))for(let n=0;n<Math.min(Ve.WINDOW_SIZE,t.totalChunks);n++)t.deliveredChunks.has(n)||this.sendChunk(t,n)}sendChunk(e,t){if(!this.socket||!e.chunks)return;let n=e.chunks[t];if(!n)return;let i=e.pendingChunks.get(t),s={seq:t,data:n,retries:i?i.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,s);let a=this.cryptoService?.encryptFileChunk(e.terminalId,new Uint8Array(n.buffer,n.byteOffset,n.byteLength));if(!a){this.cancelTransfer(e.id,"No E2E session for file transfer");return}let c={transferId:e.id,seq:t,encrypted:a};this.socket.emit("file:chunk",c,h=>{h&&!h.success&&this.cancelTransfer(e.id,h.error||"Server rejected chunk")});let u=setTimeout(()=>{this.handleAckTimeout(e.id,t)},Ve.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,u)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===Ve.TransferStatus.COMPLETED)return;let n=t.ackTimeouts.get(e.seq);n&&(clearTimeout(n),t.ackTimeouts.delete(e.seq)),t.deliveredChunks.add(e.seq),t.pendingChunks.delete(e.seq),t.onProgress?.(t.deliveredChunks.size,t.totalChunks);let i=e.seq+Ve.WINDOW_SIZE;i<t.totalChunks&&!t.deliveredChunks.has(i)&&this.sendChunk(t,i),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let i=n.pendingChunks.get(t);i&&(i.retries<Ve.MAX_RETRIES?(i.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=Ve.TransferStatus.COMPLETED;let t={transferId:e.id,checksum:e.checksum};this.socket.emit("file:end",t)}handleIncomingChunk(e){let t=this.activeTransfers.get(e.transferId);if(!t||!t.chunks)return;let n=e.encrypted?this.cryptoService?.decryptFileChunk(t.terminalId,e.encrypted):null;if(!n){this.cancelTransfer(e.transferId,"Chunk decryption failed (no E2E session?)");return}if(t.chunks[e.seq]=Buffer.from(n),t.deliveredChunks.add(e.seq),this.socket){let i={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",i)}t.onProgress?.(t.deliveredChunks.size,t.totalChunks),t.deliveredChunks.size===t.totalChunks&&this.finishReceiving(t)}finishReceiving(e){if(!e.chunks||!e.filePath)return;let t=Buffer.concat(e.chunks);if(this.calculateChecksum(t,e.checksumAlgorithm)!==e.checksum){e.status=Ve.TransferStatus.FAILED,e.onComplete?.(!1,"Checksum mismatch"),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:"Checksum mismatch"});return}try{let i=Pn.dirname(e.filePath);_o.existsSync(i)||_o.mkdirSync(i,{recursive:!0}),_o.writeFileSync(e.filePath,t),e.status=Ve.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(i){let s=i instanceof Error?i.message:String(i);e.status=Ve.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${s}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${s}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=Ve.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=Ve.TransferStatus.FAILED,t.onComplete?.(!1,e.error));for(let n of t.ackTimeouts.values())clearTimeout(n);this.activeTransfers.delete(e.transferId)}}handleProgress(e){let t=this.activeTransfers.get(e.transferId);t&&t.onProgress?.(e.deliveredChunks,e.totalChunks)}handleIncomingFileInit(e,t){let n=Hh(this.workspaceRoot??this.fallbackDir,e.targetPath,e.filename);this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,n,e.checksumAlgorithm||"sha256").then(()=>t({accepted:!0})).catch(i=>t({accepted:!1,error:i.message}))}calculateChecksum(e,t="sha256"){return t==="fnv1a"?this.fnv1aHash(e):Wh.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let i=0;i<e.length;i++)t^=e[i],t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0").repeat(8)}getMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{txt:"text/plain",json:"application/json",js:"application/javascript",ts:"application/typescript",html:"text/html",css:"text/css",md:"text/markdown",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",zip:"application/zip",tar:"application/x-tar",gz:"application/gzip"}[t||""]||"application/octet-stream"}};Zt.FileTransferService=Pc});var Dc=L((rx,vo)=>{function Gh(r){return Array.isArray(r)?r:[r]}var pb=void 0,Ic="",$h=" ",Rc="\\",gb=/^\s+$/,mb=/(?:[^\\]|^)\\$/,yb=/^\\!/,_b=/^\\#/,bb=/\r?\n/g,Eb=/^\.{0,2}\/|^\.{1,2}$/,vb=/\/$/,si="/",Yh="node-ignore";typeof Symbol<"u"&&(Yh=Symbol.for("node-ignore"));var Xh=Yh,oi=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),wb=/([0-z])-([0-z])/g,Jh=()=>!1,xb=r=>r.replace(wb,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:Ic),Sb=r=>{let{length:e}=r;return r.slice(0,e-e%2)},Tb=[[/^\uFEFF/,()=>Ic],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?$h:Ic)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+$h}],[/[\\$.|*+(){^]/g,r=>`\\${r}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(r,e,t)=>e+6<t.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(r,e,t)=>{let n=t.replace(/\\\*/g,"[^\\/]*");return e+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Rc],[/\\\\/g,()=>Rc],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,i)=>e===Rc?`\\[${t}${Sb(n)}${i}`:i==="]"&&n.length%2===0?`[${xb(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],Cb=/(^|\\\/)?\\\*$/,qi="regex",bo="checkRegex",zh="_",kb={[qi](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[bo](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},Ob=r=>Tb.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Eo=r=>typeof r=="string",Pb=r=>r&&Eo(r)&&!gb.test(r)&&!mb.test(r)&&r.indexOf("#")!==0,Ab=r=>r.split(bb).filter(Boolean),Lc=class{constructor(e,t,n,i,s,a){this.pattern=e,this.mark=t,this.negative=s,oi(this,"body",n),oi(this,"ignoreCase",i),oi(this,"regexPrefix",a)}get regex(){let e=zh+qi;return this[e]?this[e]:this._make(qi,e)}get checkRegex(){let e=zh+bo;return this[e]?this[e]:this._make(bo,e)}_make(e,t){let n=this.regexPrefix.replace(Cb,kb[e]),i=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return oi(this,t,i)}},Rb=({pattern:r,mark:e},t)=>{let n=!1,i=r;i.indexOf("!")===0&&(n=!0,i=i.substr(1)),i=i.replace(yb,"!").replace(_b,"#");let s=Ob(i);return new Lc(r,e,i,t,n,s)},Nc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[Xh]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Eo(e)&&(e={pattern:e}),Pb(e.pattern)){let t=Rb(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,Gh(Eo(e)?Ab(e):e).forEach(this._add,this),this._added}test(e,t,n){let i=!1,s=!1,a;this._rules.forEach(u=>{let{negative:h}=u;s===h&&i!==s||h&&!i&&!s&&!t||!u[n].test(e)||(i=!h,s=h,a=h?pb:u)});let c={ignored:i,unignored:s};return a&&(c.rule=a),c}},Ib=(r,e)=>{throw new e(r)},Mr=(r,e,t)=>Eo(r)?r?Mr.isNotRelative(r)?t(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:t("path must not be empty",TypeError):t(`path must be a string, but got \`${e}\``,TypeError),Zh=r=>Eb.test(r);Mr.isNotRelative=Zh;Mr.convert=r=>r;var Mc=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){oi(this,Xh,!0),this._rules=new Nc(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,i){let s=e&&Mr.convert(e);return Mr(s,e,this._strictPathCheck?Ib:Jh),this._t(s,t,n,i)}checkIgnore(e){if(!vb.test(e))return this.test(e);let t=e.split(si).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(si)+si,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,bo)}_t(e,t,n,i){if(e in t)return t[e];if(i||(i=e.split(si).filter(Boolean)),i.pop(),!i.length)return t[e]=this._rules.test(e,n,qi);let s=this._t(i.join(si)+si,t,n,i);return t[e]=s.ignored?s:this._rules.test(e,n,qi)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Gh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},Fc=r=>new Mc(r),Lb=r=>Mr(r&&Mr.convert(r),r,Jh),Qh=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");Mr.convert=r;let e=/^[a-z]:\//i;Mr.isNotRelative=t=>e.test(t)||Zh(t)};typeof process<"u"&&process.platform==="win32"&&Qh();vo.exports=Fc;Fc.default=Fc;vo.exports.isPathValid=Lb;oi(vo.exports,Symbol.for("setupWindows"),Qh)});var td=L(Wt=>{"use strict";var Nb=Wt&&Wt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Mb=Wt&&Wt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),ed=Wt&&Wt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&Nb(t,e,n[i]);return Mb(t,e),t}})(),Fb=Wt&&Wt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Wt,"__esModule",{value:!0});Wt.FileListService=void 0;var ai=ed(require("path")),Bc=ed(require("fs/promises")),Db=Fb(Dc()),jc=kr(),Bb=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],Uc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,Db.default)(),this.ignoreFilter.add(Bb),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ai.join(this.workspaceRoot,".gitignore");try{let t=await Bc.readFile(e,"utf-8");this.ignoreFilter.add(t)}catch{}}onResponse(e){this.onResponseCallback=e}async handleListRequest(e){if(!this.workspaceRoot){this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:"No workspace root"});return}try{let t=this.resolvePath(e.path),n=await this.listDirectory(t,e.path);this.sendResponse({requestId:e.requestId,path:e.path,entries:n})}catch(t){this.logger.error("Failed to list directory",String(t)),this.sendResponse({requestId:e.requestId,path:e.path,entries:[],error:t instanceof Error?t.message:"Unknown error"})}}async listDirectory(e,t){let n=await Bc.readdir(e,{withFileTypes:!0}),i=[];for(let s of n){let a=t==="."||t===""?s.name:ai.join(t,s.name);if(this.shouldHide(a,s.isDirectory()))continue;let c=ai.join(e,s.name),u={name:s.name,path:a,type:s.isDirectory()?jc.FileEntryType.DIRECTORY:jc.FileEntryType.FILE};if(!s.isDirectory())try{let h=await Bc.stat(c);u.size=h.size,u.modified=h.mtime.toISOString()}catch{}i.push(u)}return i.sort((s,a)=>s.type!==a.type?s.type===jc.FileEntryType.DIRECTORY?-1:1:s.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ai.sep).join("/"),i=t?`${n}/`:n;return this.ignoreFilter.ignores(i)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ai.resolve(this.workspaceRoot,e);if(t!==this.workspaceRoot&&!t.startsWith(this.workspaceRoot+ai.sep))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Wt.FileListService=Uc});var nd=L(yr=>{"use strict";var jb=yr&&yr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var i=Object.getOwnPropertyDescriptor(e,t);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,i)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Ub=yr&&yr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),rd=yr&&yr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(n[n.length]=i);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),i=0;i<n.length;i++)n[i]!=="default"&&jb(t,e,n[i]);return Ub(t,e),t}})();Object.defineProperty(yr,"__esModule",{value:!0});yr.FileTrackerService=void 0;var Kc=rd(require("path")),An=rd(require("fs/promises")),Kb=require("child_process"),qb=require("util"),Qt=kr(),qc=(0,qb.promisify)(Kb.execFile),Wc={toolStart:/⏺\s*(Write|Edit|NotebookEdit)\s*\(\s*(?:file_path|notebook_path)\s*=\s*"([^"]+)"/,toolSuccess:/[✓✔]\s*(?:Wrote|Edited|Updated|Created)\s+([^\s\n]+)/,toolError:/[✗✘]\s*(?:Failed|Error)/i},Hc=class{trackedFiles=new Map;pendingToolCalls=new Map;outputBuffers=new Map;workspaceRoot;onFileChangedCallback=null;onFileViewTransferCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t}onFileChanged(e){this.onFileChangedCallback=e}onFileViewTransfer(e){this.onFileViewTransferCallback=e}async processOutput(e,t){let n=this.outputBuffers.get(e)||"";n+=t,n.length>10240&&(n=n.slice(-10240)),this.outputBuffers.set(e,n);try{await this.parseToolCalls(e,n)}catch(i){this.logger.error("Error parsing tool calls",i)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),i=n.match(Wc.toolStart);if(i){let a=i[1],c=i[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let s=n.match(Wc.toolSuccess);if(s){let a=s[1];for(let[c,u]of this.pendingToolCalls)if(u.filePath===a||a.endsWith(u.filePath)||u.filePath.endsWith(a)){await this.handleToolEnd(e,c,u.toolName,"success");break}}if(Wc.toolError.test(n))for(let[a,c]of this.pendingToolCalls)await this.handleToolEnd(e,a,c.toolName,"error")}stripAnsi(e){return e.replace(/\x1b\[[0-9;?]*[a-zA-Z]/g,"").replace(/\x1b\][^\x07]*\x07/g,"").replace(/\x1b[()][AB012]/g,"").replace(/\x1b[=>]/g,"").replace(/\x1b[78DMEHc]/g,"")}async handleToolStart(e,t,n,i){if(!this.isFileModifyingTool(n))return;let s=this.extractFilePath(n,i);if(!s)return;let a=this.resolveFilePath(s),c={toolId:t,toolName:n,filePath:s,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await An.readFile(a,"utf-8")}catch{u=void 0}let h={path:s,changeType:u===void 0?Qt.FileChangeType.CREATE:Qt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},p=this.trackedFiles.get(e)||[];p.push(h),this.trackedFiles.set(e,p)}async handleToolEnd(e,t,n,i){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),i==="error"){let p=this.trackedFiles.get(e)||[],m=p.findIndex(_=>_.toolId===t);m!==-1&&p.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(p=>p.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let p=await An.stat(u);c.size=p.size}catch{c.changeType=Qt.FileChangeType.DELETE,c.size=void 0}let h={path:c.path,changeType:c.changeType,timestamp:new Date().toISOString(),source:"tool-call",toolName:c.toolName,toolId:c.toolId,size:c.size};this.onFileChangedCallback?.(e,h)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),i=this.getViewableMimeType(t.path);if(i&&this.onFileViewTransferCallback){try{let a=await An.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:i};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:i,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let s;try{t.type===Qt.FileViewType.CONTENT?s=await this.getFileContent(t,n):s=await this.getFileDiff(e,t,n)}catch(a){s={requestId:t.requestId,path:t.path,type:t.type,error:a instanceof Error?a.message:"Unknown error"}}if(this.onFileViewTransferCallback){let a={requestId:t.requestId,path:t.path,viewType:s.type===Qt.FileViewType.CONTENT?"content":"diff",language:s.language,truncated:s.truncated,error:s.error},c=Buffer.from(s.content||"","utf-8");this.onFileViewTransferCallback(e,c,a)}}getViewableMimeType(e){let t=e.split(".").pop()?.toLowerCase();return{png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf"}[t||""]||null}async getFileContent(e,t){let n=e.maxSize||1048576,i=await An.stat(t),s=await An.readFile(t,"utf-8"),a=!1,c=s;return s.length>n&&(c=s.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Qt.FileViewType.CONTENT,content:c,language:(0,Qt.getLanguageFromPath)(e.path),size:i.size,truncated:a}}async getFileDiff(e,t,n){let i=t.diffBase||Qt.DiffBase.GIT,s;return i===Qt.DiffBase.GIT?s=await this.getGitDiff(n):s=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Qt.FileViewType.DIFF,content:s,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await qc("git",["diff","--cached","--",e],{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await qc("git",["diff","--",e],{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:i}=await qc("git",["status","--porcelain","--",e],{cwd:this.workspaceRoot});if(i.startsWith("??")||i.startsWith("A ")){let a=(await An.readFile(e,"utf-8")).split(`
|
|
29
31
|
`),c=Kc.relative(this.workspaceRoot,e);return[`diff --git a/${c} b/${c}`,"new file mode 100644","--- /dev/null",`+++ b/${c}`,`@@ -0,0 +1,${a.length} @@`,...a.map(u=>`+${u}`)].join(`
|
|
30
32
|
`)}return"(no changes)"}catch{throw new Error("Git not available")}}async getPreviousDiff(e,t,n){let a=(this.trackedFiles.get(e)||[]).find(h=>h.path===t&&h.previousContent!==void 0)?.previousContent||"",c;try{c=await An.readFile(n,"utf-8")}catch{c=""}let u=(0,Qt.createSimpleDiff)(a,c,t);return this.diffContentToUnifiedText(u)}diffContentToUnifiedText(e){let t=[];t.push(`--- a/${e.path}`),t.push(`+++ b/${e.path}`);for(let n of e.hunks){t.push(`@@ -${n.oldStart},${n.oldLines} +${n.newStart},${n.newLines} @@`);for(let i of n.lines)switch(i.type){case"add":t.push(`+${i.content}`);break;case"remove":t.push(`-${i.content}`);break;case"context":t.push(` ${i.content}`);break}}return t.join(`
|
|
31
|
-
`)}clearTerminal(e){this.trackedFiles.delete(e),this.outputBuffers.delete(e)}getChangedFiles(e){return(this.trackedFiles.get(e)||[]).map(n=>({path:n.path,changeType:n.changeType,timestamp:n.timestamp,source:"tool-call",toolName:n.toolName,toolId:n.toolId,size:n.size}))}isFileModifyingTool(e){return["Write","Edit","NotebookEdit"].includes(e)}extractFilePath(e,t){return t?e==="Write"||e==="Edit"?t.file_path||null:e==="NotebookEdit"&&t.notebook_path||null:null}resolveFilePath(e){let t=this.workspaceRoot;if(!t)throw new Error("No workspace root configured");let n=Kc.resolve(t,e);if(n!==t&&!n.startsWith(t+Kc.sep))throw new Error("Path escapes workspace root");return n}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};yr.FileTrackerService=Hc});var id=L(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.InputStreamReceiver=Ge.FileTrackerService=Ge.FileListService=Ge.FileTransferService=Ge.WebSocketService=Ge.trackAltScreen=Ge.isTerminalReplyOnly=Ge.isAnswerKeystroke=Ge.StatusDetector=Ge.AuthService=Ge.CryptoService=void 0;var jb=Su();Object.defineProperty(Ge,"CryptoService",{enumerable:!0,get:function(){return jb.CryptoService}});var Ub=Tu();Object.defineProperty(Ge,"AuthService",{enumerable:!0,get:function(){return Ub.AuthService}});var wo=Au();Object.defineProperty(Ge,"StatusDetector",{enumerable:!0,get:function(){return wo.StatusDetector}});Object.defineProperty(Ge,"isAnswerKeystroke",{enumerable:!0,get:function(){return wo.isAnswerKeystroke}});Object.defineProperty(Ge,"isTerminalReplyOnly",{enumerable:!0,get:function(){return wo.isTerminalReplyOnly}});Object.defineProperty(Ge,"trackAltScreen",{enumerable:!0,get:function(){return wo.trackAltScreen}});var Kb=qh();Object.defineProperty(Ge,"WebSocketService",{enumerable:!0,get:function(){return Kb.WebSocketService}});var qb=Vh();Object.defineProperty(Ge,"FileTransferService",{enumerable:!0,get:function(){return qb.FileTransferService}});var Wb=td();Object.defineProperty(Ge,"FileListService",{enumerable:!0,get:function(){return Wb.FileListService}});var Hb=nd();Object.defineProperty(Ge,"FileTrackerService",{enumerable:!0,get:function(){return Hb.FileTrackerService}});var Vb=kc();Object.defineProperty(Ge,"InputStreamReceiver",{enumerable:!0,get:function(){return Vb.InputStreamReceiver}})});var Wi=L(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.FP_LABEL=G.KX_ACK_LABEL=G.KX_SIGN_LABEL=G.concatBytes=G.fingerprintShortHex=G.fingerprintIdentityKey=G.buildKxAckCanonical=G.buildKxCanonical=G.verifySessionKey=G.signSessionKey=G.identityPublicFromSecret=G.generateIdentityKeyPair=G.InputStreamReceiver=G.FileTrackerService=G.FileListService=G.FileTransferService=G.WebSocketService=G.trackAltScreen=G.isTerminalReplyOnly=G.isAnswerKeystroke=G.StatusDetector=G.AuthService=G.CryptoService=G.getCurrentCorrelationId=G.runWithCorrelation=G.generateCorrelationId=G.getWsUrl=G.getApiUrl=G.CircularBuffer=G.formatLogLine=G.shouldLog=G.LOG_LEVELS=void 0;var Vc=qf();Object.defineProperty(G,"LOG_LEVELS",{enumerable:!0,get:function(){return Vc.LOG_LEVELS}});Object.defineProperty(G,"shouldLog",{enumerable:!0,get:function(){return Vc.shouldLog}});Object.defineProperty(G,"formatLogLine",{enumerable:!0,get:function(){return Vc.formatLogLine}});var ci=Vf();Object.defineProperty(G,"CircularBuffer",{enumerable:!0,get:function(){return ci.CircularBuffer}});Object.defineProperty(G,"getApiUrl",{enumerable:!0,get:function(){return ci.getApiUrl}});Object.defineProperty(G,"getWsUrl",{enumerable:!0,get:function(){return ci.getWsUrl}});Object.defineProperty(G,"generateCorrelationId",{enumerable:!0,get:function(){return ci.generateCorrelationId}});Object.defineProperty(G,"runWithCorrelation",{enumerable:!0,get:function(){return ci.runWithCorrelation}});Object.defineProperty(G,"getCurrentCorrelationId",{enumerable:!0,get:function(){return ci.getCurrentCorrelationId}});var er=id();Object.defineProperty(G,"CryptoService",{enumerable:!0,get:function(){return er.CryptoService}});Object.defineProperty(G,"AuthService",{enumerable:!0,get:function(){return er.AuthService}});Object.defineProperty(G,"StatusDetector",{enumerable:!0,get:function(){return er.StatusDetector}});Object.defineProperty(G,"isAnswerKeystroke",{enumerable:!0,get:function(){return er.isAnswerKeystroke}});Object.defineProperty(G,"isTerminalReplyOnly",{enumerable:!0,get:function(){return er.isTerminalReplyOnly}});Object.defineProperty(G,"trackAltScreen",{enumerable:!0,get:function(){return er.trackAltScreen}});Object.defineProperty(G,"WebSocketService",{enumerable:!0,get:function(){return er.WebSocketService}});Object.defineProperty(G,"FileTransferService",{enumerable:!0,get:function(){return er.FileTransferService}});Object.defineProperty(G,"FileListService",{enumerable:!0,get:function(){return er.FileListService}});Object.defineProperty(G,"FileTrackerService",{enumerable:!0,get:function(){return er.FileTrackerService}});Object.defineProperty(G,"InputStreamReceiver",{enumerable:!0,get:function(){return er.InputStreamReceiver}});var Ht=ia();Object.defineProperty(G,"generateIdentityKeyPair",{enumerable:!0,get:function(){return Ht.generateIdentityKeyPair}});Object.defineProperty(G,"identityPublicFromSecret",{enumerable:!0,get:function(){return Ht.identityPublicFromSecret}});Object.defineProperty(G,"signSessionKey",{enumerable:!0,get:function(){return Ht.signSessionKey}});Object.defineProperty(G,"verifySessionKey",{enumerable:!0,get:function(){return Ht.verifySessionKey}});Object.defineProperty(G,"buildKxCanonical",{enumerable:!0,get:function(){return Ht.buildKxCanonical}});Object.defineProperty(G,"buildKxAckCanonical",{enumerable:!0,get:function(){return Ht.buildKxAckCanonical}});Object.defineProperty(G,"fingerprintIdentityKey",{enumerable:!0,get:function(){return Ht.fingerprintIdentityKey}});Object.defineProperty(G,"fingerprintShortHex",{enumerable:!0,get:function(){return Ht.fingerprintShortHex}});Object.defineProperty(G,"concatBytes",{enumerable:!0,get:function(){return Ht.concatBytes}});Object.defineProperty(G,"KX_SIGN_LABEL",{enumerable:!0,get:function(){return Ht.KX_SIGN_LABEL}});Object.defineProperty(G,"KX_ACK_LABEL",{enumerable:!0,get:function(){return Ht.KX_ACK_LABEL}});Object.defineProperty(G,"FP_LABEL",{enumerable:!0,get:function(){return Ht.FP_LABEL}})});var Yc=L((Vi,Gc)=>{(function(r,e){typeof Vi=="object"&&typeof Gc=="object"?Gc.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Vi=="object"?Vi["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Vi,function(r,e){return(function(t){function n(s){if(i[s])return i[s].exports;var a=i[s]={exports:{},id:s,loaded:!1};return t[s].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var i={};return n.m=t,n.c=i,n.p="",n(0)})([function(t,n,i){t.exports=i(34)},function(t,n,i){var s=i(29)("wks"),a=i(33),c=i(2).Symbol,u=typeof c=="function",h=t.exports=function(p){return s[p]||(s[p]=u&&c[p]||(u?c:a)("Symbol."+p))};h.store=s},function(t,n){var i=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=i)},function(t,n,i){var s=i(9);t.exports=function(a){if(!s(a))throw TypeError(a+" is not an object!");return a}},function(t,n,i){t.exports=!i(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,i){var s=i(12),a=i(17);t.exports=i(4)?function(c,u,h){return s.f(c,u,a(1,h))}:function(c,u,h){return c[u]=h,c}},function(t,n){var i=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=i)},function(t,n,i){var s=i(14);t.exports=function(a,c,u){if(s(a),c===void 0)return a;switch(u){case 1:return function(h){return a.call(c,h)};case 2:return function(h,p){return a.call(c,h,p)};case 3:return function(h,p,m){return a.call(c,h,p,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var i={}.hasOwnProperty;t.exports=function(s,a){return i.call(s,a)}},function(t,n){t.exports=function(i){return typeof i=="object"?i!==null:typeof i=="function"}},function(t,n){t.exports={}},function(t,n){var i={}.toString;t.exports=function(s){return i.call(s).slice(8,-1)}},function(t,n,i){var s=i(3),a=i(26),c=i(32),u=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(h,p,m){if(s(h),p=c(p,!0),s(m),a)try{return u(h,p,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(h[p]=m.value),h}},function(t,n,i){var s=i(42),a=i(15);t.exports=function(c){return s(a(c))}},function(t,n){t.exports=function(i){if(typeof i!="function")throw TypeError(i+" is not a function!");return i}},function(t,n){t.exports=function(i){if(i==null)throw TypeError("Can't call method on "+i);return i}},function(t,n,i){var s=i(9),a=i(2).document,c=s(a)&&s(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},function(t,n,i){var s=i(12).f,a=i(8),c=i(1)("toStringTag");t.exports=function(u,h,p){u&&!a(u=p?u:u.prototype,c)&&s(u,c,{configurable:!0,value:h})}},function(t,n,i){var s=i(29)("keys"),a=i(33);t.exports=function(c){return s[c]||(s[c]=a(c))}},function(t,n){var i=Math.ceil,s=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?s:i)(a)}},function(t,n,i){var s=i(11),a=i(1)("toStringTag"),c=s((function(){return arguments})())=="Arguments",u=function(h,p){try{return h[p]}catch{}};t.exports=function(h){var p,m,_;return h===void 0?"Undefined":h===null?"Null":typeof(m=u(p=Object(h),a))=="string"?m:c?s(p):(_=s(p))=="Object"&&typeof p.callee=="function"?"Arguments":_}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,i){var s=i(2),a=i(6),c=i(7),u=i(5),h="prototype",p=function(m,_,E){var S,C,H,ie=m&p.F,z=m&p.G,T=m&p.S,F=m&p.P,te=m&p.B,U=m&p.W,ee=z?a:a[_]||(a[_]={}),pe=ee[h],K=z?s:T?s[_]:(s[_]||{})[h];z&&(E=_);for(S in E)C=!ie&&K&&K[S]!==void 0,C&&S in ee||(H=C?K[S]:E[S],ee[S]=z&&typeof K[S]!="function"?E[S]:te&&C?c(H,s):U&&K[S]==H?(function(Ne){var tt=function(Se,Me,we){if(this instanceof Ne){switch(arguments.length){case 0:return new Ne;case 1:return new Ne(Se);case 2:return new Ne(Se,Me)}return new Ne(Se,Me,we)}return Ne.apply(this,arguments)};return tt[h]=Ne[h],tt})(H):F&&typeof H=="function"?c(Function.call,H):H,F&&((ee.virtual||(ee.virtual={}))[S]=H,m&p.R&&pe&&!pe[S]&&u(pe,S,H)))};p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,p.U=64,p.R=128,t.exports=p},function(t,n){t.exports=function(i){try{return!!i()}catch{return!0}}},function(t,n,i){t.exports=i(2).document&&document.documentElement},function(t,n,i){t.exports=!i(4)&&!i(24)(function(){return Object.defineProperty(i(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,i){"use strict";var s=i(28),a=i(23),c=i(57),u=i(5),h=i(8),p=i(10),m=i(45),_=i(18),E=i(52),S=i(1)("iterator"),C=!([].keys&&"next"in[].keys()),H="@@iterator",ie="keys",z="values",T=function(){return this};t.exports=function(F,te,U,ee,pe,K,Ne){m(U,te,ee);var tt,Se,Me,we=function(B){if(!C&&B in Fe)return Fe[B];switch(B){case ie:return function(){return new U(this,B)};case z:return function(){return new U(this,B)}}return function(){return new U(this,B)}},Ke=te+" Iterator",Ee=pe==z,rt=!1,Fe=F.prototype,yt=Fe[S]||Fe[H]||pe&&Fe[pe],qe=yt||we(pe),dt=pe?Ee?we("entries"):qe:void 0,I=te=="Array"&&Fe.entries||yt;if(I&&(Me=E(I.call(new F)),Me!==Object.prototype&&(_(Me,Ke,!0),s||h(Me,S)||u(Me,S,T))),Ee&&yt&&yt.name!==z&&(rt=!0,qe=function(){return yt.call(this)}),s&&!Ne||!C&&!rt&&Fe[S]||u(Fe,S,qe),p[te]=qe,p[Ke]=T,pe)if(tt={values:Ee?qe:we(z),keys:K?qe:we(ie),entries:dt},Ne)for(Se in tt)Se in Fe||c(Fe,Se,tt[Se]);else a(a.P+a.F*(C||rt),te,tt);return tt}},function(t,n){t.exports=!0},function(t,n,i){var s=i(2),a="__core-js_shared__",c=s[a]||(s[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,i){var s,a,c,u=i(7),h=i(41),p=i(25),m=i(16),_=i(2),E=_.process,S=_.setImmediate,C=_.clearImmediate,H=_.MessageChannel,ie=0,z={},T="onreadystatechange",F=function(){var U=+this;if(z.hasOwnProperty(U)){var ee=z[U];delete z[U],ee()}},te=function(U){F.call(U.data)};S&&C||(S=function(U){for(var ee=[],pe=1;arguments.length>pe;)ee.push(arguments[pe++]);return z[++ie]=function(){h(typeof U=="function"?U:Function(U),ee)},s(ie),ie},C=function(U){delete z[U]},i(11)(E)=="process"?s=function(U){E.nextTick(u(F,U,1))}:H?(a=new H,c=a.port2,a.port1.onmessage=te,s=u(c.postMessage,c,1)):_.addEventListener&&typeof postMessage=="function"&&!_.importScripts?(s=function(U){_.postMessage(U+"","*")},_.addEventListener("message",te,!1)):s=T in m("script")?function(U){p.appendChild(m("script"))[T]=function(){p.removeChild(this),F.call(U)}}:function(U){setTimeout(u(F,U,1),0)}),t.exports={set:S,clear:C}},function(t,n,i){var s=i(20),a=Math.min;t.exports=function(c){return c>0?a(s(c),9007199254740991):0}},function(t,n,i){var s=i(9);t.exports=function(a,c){if(!s(a))return a;var u,h;if(c&&typeof(u=a.toString)=="function"&&!s(h=u.call(a))||typeof(u=a.valueOf)=="function"&&!s(h=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!s(h=u.call(a)))return h;throw TypeError("Can't convert object to primitive value")}},function(t,n){var i=0,s=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++i+s).toString(36))}},function(t,n,i){"use strict";function s(T){return T&&T.__esModule?T:{default:T}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(T){return(0,S.createHash)("sha256").update(T).digest("hex")}function u(T){switch(H){case"darwin":return T.split("IOPlatformUUID")[1].split(`
|
|
32
|
-
`)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return T.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return T.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return T.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function h(T){var F=u((0,E.execSync)(z[H]).toString());return T?F:c(F)}function p(T){return new _.default(function(F,te){return(0,E.exec)(z[H],{},function(U,ee,pe){if(U)return te(new Error("Error while obtaining machine id: "+U.stack));var K=u(ee.toString());return F(T?K:c(K))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=i(35),_=s(m);n.machineIdSync=h,n.machineId=p;var E=i(70),S=i(71),C=process,H=C.platform,ie={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},z={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:ie[a()]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,n,i){t.exports={default:i(36),__esModule:!0}},function(t,n,i){i(66),i(68),i(69),i(67),t.exports=i(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(i,s,a,c){if(!(i instanceof s)||c!==void 0&&c in i)throw TypeError(a+": incorrect invocation!");return i}},function(t,n,i){var s=i(13),a=i(31),c=i(62);t.exports=function(u){return function(h,p,m){var _,E=s(h),S=a(E.length),C=c(m,S);if(u&&p!=p){for(;S>C;)if(_=E[C++],_!=_)return!0}else for(;S>C;C++)if((u||C in E)&&E[C]===p)return u||C||0;return!u&&-1}}},function(t,E,i){var s=i(7),a=i(44),c=i(43),u=i(3),h=i(31),p=i(64),m={},_={},E=t.exports=function(S,C,H,ie,z){var T,F,te,U,ee=z?function(){return S}:p(S),pe=s(H,ie,C?2:1),K=0;if(typeof ee!="function")throw TypeError(S+" is not iterable!");if(c(ee)){for(T=h(S.length);T>K;K++)if(U=C?pe(u(F=S[K])[0],F[1]):pe(S[K]),U===m||U===_)return U}else for(te=ee.call(S);!(F=te.next()).done;)if(U=a(te,pe,F.value,C),U===m||U===_)return U};E.BREAK=m,E.RETURN=_},function(t,n){t.exports=function(i,s,a){var c=a===void 0;switch(s.length){case 0:return c?i():i.call(a);case 1:return c?i(s[0]):i.call(a,s[0]);case 2:return c?i(s[0],s[1]):i.call(a,s[0],s[1]);case 3:return c?i(s[0],s[1],s[2]):i.call(a,s[0],s[1],s[2]);case 4:return c?i(s[0],s[1],s[2],s[3]):i.call(a,s[0],s[1],s[2],s[3])}return i.apply(a,s)}},function(t,n,i){var s=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return s(a)=="String"?a.split(""):Object(a)}},function(t,n,i){var s=i(10),a=i(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(s.Array===u||c[a]===u)}},function(t,n,i){var s=i(3);t.exports=function(a,c,u,h){try{return h?c(s(u)[0],u[1]):c(u)}catch(m){var p=a.return;throw p!==void 0&&s(p.call(a)),m}}},function(t,n,i){"use strict";var s=i(49),a=i(17),c=i(18),u={};i(5)(u,i(1)("iterator"),function(){return this}),t.exports=function(h,p,m){h.prototype=s(u,{next:a(1,m)}),c(h,p+" Iterator")}},function(t,n,i){var s=i(1)("iterator"),a=!1;try{var c=[7][s]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,h){if(!h&&!a)return!1;var p=!1;try{var m=[7],_=m[s]();_.next=function(){return{done:p=!0}},m[s]=function(){return _},u(m)}catch{}return p}},function(t,n){t.exports=function(i,s){return{value:s,done:!!i}}},function(t,n,i){var s=i(2),a=i(30).set,c=s.MutationObserver||s.WebKitMutationObserver,u=s.process,h=s.Promise,p=i(11)(u)=="process";t.exports=function(){var m,_,E,S=function(){var z,T;for(p&&(z=u.domain)&&z.exit();m;){T=m.fn,m=m.next;try{T()}catch(F){throw m?E():_=void 0,F}}_=void 0,z&&z.enter()};if(p)E=function(){u.nextTick(S)};else if(c){var C=!0,H=document.createTextNode("");new c(S).observe(H,{characterData:!0}),E=function(){H.data=C=!C}}else if(h&&h.resolve){var ie=h.resolve();E=function(){ie.then(S)}}else E=function(){a.call(s,S)};return function(z){var T={fn:z,next:void 0};_&&(_.next=T),m||(m=T,E()),_=T}}},function(t,n,i){var s=i(3),a=i(50),c=i(22),u=i(19)("IE_PROTO"),h=function(){},p="prototype",m=function(){var _,E=i(16)("iframe"),S=c.length,C=">";for(E.style.display="none",i(25).appendChild(E),E.src="javascript:",_=E.contentWindow.document,_.open(),_.write("<script>document.F=Object</script"+C),_.close(),m=_.F;S--;)delete m[p][c[S]];return m()};t.exports=Object.create||function(_,E){var S;return _!==null?(h[p]=s(_),S=new h,h[p]=null,S[u]=_):S=m(),E===void 0?S:a(S,E)}},function(t,n,i){var s=i(12),a=i(3),c=i(54);t.exports=i(4)?Object.defineProperties:function(u,h){a(u);for(var p,m=c(h),_=m.length,E=0;_>E;)s.f(u,p=m[E++],h[p]);return u}},function(t,n,i){var s=i(55),a=i(17),c=i(13),u=i(32),h=i(8),p=i(26),m=Object.getOwnPropertyDescriptor;n.f=i(4)?m:function(_,E){if(_=c(_),E=u(E,!0),p)try{return m(_,E)}catch{}if(h(_,E))return a(!s.f.call(_,E),_[E])}},function(t,n,i){var s=i(8),a=i(63),c=i(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(h){return h=a(h),s(h,c)?h[c]:typeof h.constructor=="function"&&h instanceof h.constructor?h.constructor.prototype:h instanceof Object?u:null}},function(t,n,i){var s=i(8),a=i(13),c=i(39)(!1),u=i(19)("IE_PROTO");t.exports=function(h,p){var m,_=a(h),E=0,S=[];for(m in _)m!=u&&s(_,m)&&S.push(m);for(;p.length>E;)s(_,m=p[E++])&&(~c(S,m)||S.push(m));return S}},function(t,n,i){var s=i(53),a=i(22);t.exports=Object.keys||function(c){return s(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,i){var s=i(5);t.exports=function(a,c,u){for(var h in c)u&&a[h]?a[h]=c[h]:s(a,h,c[h]);return a}},function(t,n,i){t.exports=i(5)},function(t,n,i){var s=i(9),a=i(3),c=function(u,h){if(a(u),!s(h)&&h!==null)throw TypeError(h+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,h,p){try{p=i(7)(Function.call,i(51).f(Object.prototype,"__proto__").set,2),p(u,[]),h=!(u instanceof Array)}catch{h=!0}return function(m,_){return c(m,_),h?m.__proto__=_:p(m,_),m}})({},!1):void 0),check:c}},function(t,n,i){"use strict";var s=i(2),a=i(6),c=i(12),u=i(4),h=i(1)("species");t.exports=function(p){var m=typeof a[p]=="function"?a[p]:s[p];u&&m&&!m[h]&&c.f(m,h,{configurable:!0,get:function(){return this}})}},function(t,n,i){var s=i(3),a=i(14),c=i(1)("species");t.exports=function(u,h){var p,m=s(u).constructor;return m===void 0||(p=s(m)[c])==null?h:a(p)}},function(t,n,i){var s=i(20),a=i(15);t.exports=function(c){return function(u,h){var p,m,_=String(a(u)),E=s(h),S=_.length;return E<0||E>=S?c?"":void 0:(p=_.charCodeAt(E),p<55296||p>56319||E+1===S||(m=_.charCodeAt(E+1))<56320||m>57343?c?_.charAt(E):p:c?_.slice(E,E+2):(p-55296<<10)+(m-56320)+65536)}}},function(t,n,i){var s=i(20),a=Math.max,c=Math.min;t.exports=function(u,h){return u=s(u),u<0?a(u+h,0):c(u,h)}},function(t,n,i){var s=i(15);t.exports=function(a){return Object(s(a))}},function(t,n,i){var s=i(21),a=i(1)("iterator"),c=i(10);t.exports=i(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[s(u)]}},function(t,n,i){"use strict";var s=i(37),a=i(47),c=i(10),u=i(13);t.exports=i(27)(Array,"Array",function(h,p){this._t=u(h),this._i=0,this._k=p},function(){var h=this._t,p=this._k,m=this._i++;return!h||m>=h.length?(this._t=void 0,a(1)):p=="keys"?a(0,m):p=="values"?a(0,h[m]):a(0,[m,h[m]])},"values"),c.Arguments=c.Array,s("keys"),s("values"),s("entries")},function(t,n){},function(t,n,i){"use strict";var s,a,c,u=i(28),h=i(2),p=i(7),m=i(21),_=i(23),E=i(9),S=(i(3),i(14)),C=i(38),H=i(40),ie=(i(58).set,i(60)),z=i(30).set,T=i(48)(),F="Promise",te=h.TypeError,ee=h.process,U=h[F],ee=h.process,pe=m(ee)=="process",K=function(){},Ne=!!(function(){try{var I=U.resolve(1),B=(I.constructor={})[i(1)("species")]=function(R){R(K,K)};return(pe||typeof PromiseRejectionEvent=="function")&&I.then(K)instanceof B}catch{}})(),tt=function(I,B){return I===B||I===U&&B===c},Se=function(I){var B;return!(!E(I)||typeof(B=I.then)!="function")&&B},Me=function(I){return tt(U,I)?new we(I):new a(I)},we=a=function(I){var B,R;this.promise=new I(function(se,Oe){if(B!==void 0||R!==void 0)throw te("Bad Promise constructor");B=se,R=Oe}),this.resolve=S(B),this.reject=S(R)},Ke=function(I){try{I()}catch(B){return{error:B}}},Ee=function(I,B){if(!I._n){I._n=!0;var R=I._c;T(function(){for(var se=I._v,Oe=I._s==1,j=0,ue=function(je){var nt,_t,Vt=Oe?je.ok:je.fail,on=je.resolve,Dr=je.reject,Ln=je.domain;try{Vt?(Oe||(I._h==2&&yt(I),I._h=1),Vt===!0?nt=se:(Ln&&Ln.enter(),nt=Vt(se),Ln&&Ln.exit()),nt===je.promise?Dr(te("Promise-chain cycle")):(_t=Se(nt))?_t.call(nt,on,Dr):on(nt)):Dr(se)}catch(es){Dr(es)}};R.length>j;)ue(R[j++]);I._c=[],I._n=!1,B&&!I._h&&rt(I)})}},rt=function(I){z.call(h,function(){var B,R,se,Oe=I._v;if(Fe(I)&&(B=Ke(function(){pe?ee.emit("unhandledRejection",Oe,I):(R=h.onunhandledrejection)?R({promise:I,reason:Oe}):(se=h.console)&&se.error&&se.error("Unhandled promise rejection",Oe)}),I._h=pe||Fe(I)?2:1),I._a=void 0,B)throw B.error})},Fe=function(I){if(I._h==1)return!1;for(var B,R=I._a||I._c,se=0;R.length>se;)if(B=R[se++],B.fail||!Fe(B.promise))return!1;return!0},yt=function(I){z.call(h,function(){var B;pe?ee.emit("rejectionHandled",I):(B=h.onrejectionhandled)&&B({promise:I,reason:I._v})})},qe=function(I){var B=this;B._d||(B._d=!0,B=B._w||B,B._v=I,B._s=2,B._a||(B._a=B._c.slice()),Ee(B,!0))},dt=function(I){var B,R=this;if(!R._d){R._d=!0,R=R._w||R;try{if(R===I)throw te("Promise can't be resolved itself");(B=Se(I))?T(function(){var se={_w:R,_d:!1};try{B.call(I,p(dt,se,1),p(qe,se,1))}catch(Oe){qe.call(se,Oe)}}):(R._v=I,R._s=1,Ee(R,!1))}catch(se){qe.call({_w:R,_d:!1},se)}}};Ne||(U=function(I){C(this,U,F,"_h"),S(I),s.call(this);try{I(p(dt,this,1),p(qe,this,1))}catch(B){qe.call(this,B)}},s=function(I){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},s.prototype=i(56)(U.prototype,{then:function(I,B){var R=Me(ie(this,U));return R.ok=typeof I!="function"||I,R.fail=typeof B=="function"&&B,R.domain=pe?ee.domain:void 0,this._c.push(R),this._a&&this._a.push(R),this._s&&Ee(this,!1),R.promise},catch:function(I){return this.then(void 0,I)}}),we=function(){var I=new s;this.promise=I,this.resolve=p(dt,I,1),this.reject=p(qe,I,1)}),_(_.G+_.W+_.F*!Ne,{Promise:U}),i(18)(U,F),i(59)(F),c=i(6)[F],_(_.S+_.F*!Ne,F,{reject:function(I){var B=Me(this),R=B.reject;return R(I),B.promise}}),_(_.S+_.F*(u||!Ne),F,{resolve:function(I){if(I instanceof U&&tt(I.constructor,this))return I;var B=Me(this),R=B.resolve;return R(I),B.promise}}),_(_.S+_.F*!(Ne&&i(46)(function(I){U.all(I).catch(K)})),F,{all:function(I){var B=this,R=Me(B),se=R.resolve,Oe=R.reject,j=Ke(function(){var ue=[],je=0,nt=1;H(I,!1,function(_t){var Vt=je++,on=!1;ue.push(void 0),nt++,B.resolve(_t).then(function(Dr){on||(on=!0,ue[Vt]=Dr,--nt||se(ue))},Oe)}),--nt||se(ue)});return j&&Oe(j.error),R.promise},race:function(I){var B=this,R=Me(B),se=R.reject,Oe=Ke(function(){H(I,!1,function(j){B.resolve(j).then(R.resolve,se)})});return Oe&&se(Oe.error),R.promise}})},function(t,n,i){"use strict";var s=i(61)(!0);i(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,c=this._t,u=this._i;return u>=c.length?{value:void 0,done:!0}:(a=s(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,i){i(65);for(var s=i(2),a=i(5),c=i(10),u=i(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],p=0;p<5;p++){var m=h[p],_=s[m],E=_&&_.prototype;E&&!E[u]&&a(E,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function Xb(){try{return Jc.default.statSync("/.dockerenv"),!0}catch{return!1}}function Jb(){try{return Jc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Zc(){return Xc===void 0&&(Xc=Xb()||Jb()),Xc}var Jc,Xc,fd=$t(()=>{Jc=he(require("node:fs"),1)});function fi(){return Qc===void 0&&(Qc=Zb()||Zc()),Qc}var ud,Qc,Zb,ef=$t(()=>{ud=he(require("node:fs"),1);fd();Zb=()=>{try{return ud.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var tf,hd,dd,ld,Qr,rf=$t(()=>{tf=he(require("node:process"),1),hd=he(require("node:os"),1),dd=he(require("node:fs"),1);ef();ld=()=>{if(tf.default.platform!=="linux")return!1;if(hd.default.release().toLowerCase().includes("microsoft"))return!fi();try{return dd.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!fi():!1}catch{return!1}},Qr=tf.default.env.__IS_WSL_TEST__?ld:ld()});var nf,Gi,Qb,eE,sf,pd=$t(()=>{nf=he(require("node:process"),1),Gi=he(require("node:fs/promises"),1);rf();rf();Qb=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Gi.default.access(t,Gi.constants.F_OK),n=!0}catch{}if(!n)return r;let i=await Gi.default.readFile(t,{encoding:"utf8"}),s=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(i);return s?(e=s.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),eE=async()=>`${await Qb()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,sf=async()=>Qr?eE():`${nf.default.env.SYSTEMROOT||nf.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function en(r,e,t){let n=i=>Object.defineProperty(r,e,{value:i,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let i=t();return n(i),i},set(i){n(i)}}),r}var gd=$t(()=>{});async function of(){if(yd.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await tE("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),t=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(r)?.groups.id??"com.apple.Safari";return t==="com.apple.safari"?"com.apple.Safari":t}var md,yd,_d,tE,bd=$t(()=>{md=require("node:util"),yd=he(require("node:process"),1),_d=require("node:child_process"),tE=(0,md.promisify)(_d.execFile)});async function wd(r,{humanReadableOutput:e=!0,signal:t}={}){if(Ed.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],i={};t&&(i.signal=t);let{stdout:s}=await rE("osascript",["-e",r,n],i);return s.trim()}var Ed,vd,af,rE,xd=$t(()=>{Ed=he(require("node:process"),1),vd=require("node:util"),af=require("node:child_process"),rE=(0,vd.promisify)(af.execFile)});async function cf(r){return wd(`tell application "Finder" to set app_path to application file id "${r}" as string
|
|
33
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Sd=$t(()=>{xd()});async function uf(r=
|
|
34
|
-
`,{encoding:"utf8"})}catch{}}var Hi=class{level;toFile;constructor(e="silent",t=!1){typeof e=="boolean"?this.level=e?"info":"silent":this.level=e,this.toFile=t}static getLogFilePath(){return
|
|
35
|
-
`)}info(e,...t){this.write("info",e,t)}warn(e,...t){this.write("warn",e,t)}error(e,...t){this.write("error",e,t)}debug(e,...t){this.write("debug",e,t)}};var ad=he(require("os")),cd=he(Yc()),$i=class{cachedId=null;name;constructor(e){this.name=e||ad.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,cd.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var zi=class{constructor(e){this.logger=e}info(e){this.logger.info("Notification",{message:e})}warn(e){this.logger.warn("Notification",{message:e})}error(e){this.logger.error("Notification",{message:e})}};var Xi=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(Bd(),Dd));await t(e)}};var jd=he(require("fs")),yf=he(require("path"));function Oo(r){let e=r?[r]:[yf.join(__dirname,"..","package.json"),yf.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(jd.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}function Ud(r,e){for(let t=0;t<r.length;t++){let n=r[t];if(n.startsWith("-")){e.has(n)&&t++;continue}return n}}var _f=new Set(["--cid","--token","--server","--log-level"]),Kd=new Set(["--help","-h","--version","-V","--verbose","-v","--watch","-w","--log-to-file","--statusline","--multi-viewer","--force"]);function qd(r,e,t){for(let n=0;n<r.length;n++){let i=r[n];if(!i.startsWith("-"))continue;let s=i.includes("=")?i.slice(0,i.indexOf("=")):i;if(e.has(s)||t.has(s)){e.has(s)&&!i.includes("=")&&n++;continue}return i}}var gp=he(require("path")),ht=he(Wi()),mp=he(kr());var Wd=he(require("os")),Hd=require("crypto"),Vd=he(require("node-pty")),li=he(Wi()),Po=class r{ptyProcess=null;outputBuffer=new li.CircularBuffer(100);altScreenActive=!1;streamId=null;logger;onOutput=null;onExit=null;preWriteHook=null;onResize=null;onLocalClaim=null;onLocalInput=null;sigwinchEnabled=!0;sigwinchListener=null;desiredCols=null;desiredRows=null;rebroadcastTimers=[];static REBROADCAST_DELAYS_MS=[50,200,500];static PASTE_CHAR_DELAY_MS=10;writeQueue=[];draining=!1;drainTimer=null;reservedBottomRows=0;multiViewerMode=!1;constructor(e){this.logger=e}setMultiViewerMode(e){this.multiViewerMode!==e&&(this.multiViewerMode=e,this.logger.info("Multi-viewer mode",{enabled:e}))}spawn(e,t=0){let n=process.env.SHELL||(Wd.platform()==="win32"?"powershell.exe":"/bin/bash"),i=process.stdout.columns||80,s=process.stdout.rows||24,a=Math.max(1,s-t);this.reservedBottomRows=t,this.ptyProcess=Vd.spawn(n,[],{name:"xterm-256color",cols:i,rows:a,cwd:e,env:{...process.env,TERMIQ_SESSION_ACTIVE:"1"}}),this.onResize?.(i,a),this.streamId=(0,Hd.randomUUID)();let c=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(u=>{this.altScreenActive=(0,li.trackAltScreen)(u,this.altScreenActive),this.preWriteHook?.(u),process.stdout.write(u),this.outputBuffer.append(u),this.onOutput?.(u)}),this.ptyProcess.onExit(({exitCode:u})=>{this.logger.info("Shell exited",String(u)),this.onExit?.(u)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",u=>{let h=u.toString();this.multiViewerMode&&!(0,li.isTerminalReplyOnly)(h)&&this.maybeClaimLocalControl(),this.onLocalInput?.(h),this.ptyProcess?.write(h)}),this.sigwinchListener=()=>{let u=process.stdout.columns||80,h=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);if(this.multiViewerMode){this.logger.info("Local resize claims control",{cols:u,rows:h}),this.resize(u,h),this.onLocalClaim?.(u,h);return}if(this.desiredCols!==null&&this.desiredRows!==null){this.logger.info("Local resize ignored (PWA desired-size set)",{host:{cols:u,rows:h},desired:{cols:this.desiredCols,rows:this.desiredRows}});return}if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:u,rows:h});return}this.logger.info("Local resize applied",{cols:u,rows:h}),this.ptyProcess?.resize(u,h),this.onResize?.(u,h)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",n,c),c}write(e,t=!1){if(this.ptyProcess){if(!t&&!this.draining){this.ptyProcess.write(e);return}for(let n of e)this.writeQueue.push(n);this.drainWriteQueue()}}drainWriteQueue(){if(this.draining)return;this.draining=!0;let e=()=>{let t=this.writeQueue.shift();if(t===void 0||!this.ptyProcess){this.draining=!1;return}this.ptyProcess.write(t),this.drainTimer=setTimeout(e,r.PASTE_CHAR_DELAY_MS)};e()}getStreamId(){return this.streamId}getPtyCols(){return this.ptyProcess?.cols??0}getPtyRows(){return this.ptyProcess?.rows??0}resize(e,t){if(this.desiredCols=e,this.desiredRows=t,this.ptyProcess&&this.ptyProcess.cols===e&&this.ptyProcess.rows===t){this.cancelRebroadcast();return}this.ptyProcess?.resize(e,t),this.onResize?.(e,t),this.cancelRebroadcast();for(let n of r.REBROADCAST_DELAYS_MS)this.rebroadcastTimers.push(setTimeout(()=>{this.ptyProcess&&(this.desiredCols!==e||this.desiredRows!==t||this.ptyProcess.cols===e&&this.ptyProcess.rows===t||this.ptyProcess.resize(e,t))},n))}cancelRebroadcast(){for(let e of this.rebroadcastTimers)clearTimeout(e);this.rebroadcastTimers=[]}redrawNoResize(){if(this.ptyProcess){if(this.desiredCols===null||this.desiredRows===null){this.logger.info("Redraw skipped (no desired-size set yet)");return}this.ptyProcess.resize(this.desiredCols,this.desiredRows)}}maybeClaimLocalControl(){if(!this.ptyProcess)return;let e=process.stdout.columns||80,t=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);this.ptyProcess.cols===e&&this.ptyProcess.rows===t||(this.logger.info("Local input claims control",{cols:e,rows:t}),this.resize(e,t),this.onLocalClaim?.(e,t))}setOnLocalClaim(e){this.onLocalClaim=e}setOnLocalInput(e){this.onLocalInput=e}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}))}getBuffer(){let e=this.outputBuffer.getContent();return this.altScreenActive?`\x1B[?1049h${e}`:e}isAltScreen(){return this.altScreenActive}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setPreWriteHook(e){this.preWriteHook=e}setOnResize(e){this.onResize=e}setOnExit(e){this.onExit=e}isAlive(){return this.ptyProcess!==null}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),this.cancelRebroadcast(),this.drainTimer&&(clearTimeout(this.drainTimer),this.drainTimer=null),this.writeQueue=[],this.draining=!1,this.sigwinchListener&&(process.platform==="win32"?process.stdout.removeListener("resize",this.sigwinchListener):process.removeListener("SIGWINCH",this.sigwinchListener),this.sigwinchListener=null),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}};var rn=he(require("path")),di=he(require("fs"));var ap=require("node:events"),cp=require("node:fs"),Do=require("node:fs/promises"),xe=he(require("node:path"),1);var Mr=require("node:fs/promises"),Fr=require("node:path"),Yd=require("node:stream"),Lt={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},bf={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Lt.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(bf);var Xd="READDIRP_RECURSIVE_ERROR",hE=new Set(["ENOENT","EPERM","EACCES","ELOOP",Xd]),$d=[Lt.DIR_TYPE,Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE,Lt.FILE_TYPE],dE=new Set([Lt.DIR_TYPE,Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE]),pE=new Set([Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE,Lt.FILE_TYPE]),gE=r=>hE.has(r.code),mE=process.platform==="win32",zd=r=>!0,Gd=r=>{if(r===void 0)return zd;if(typeof r=="function")return r;if(typeof r=="string"){let e=r.trim();return t=>t.basename===e}if(Array.isArray(r)){let e=r.map(t=>t.trim());return t=>e.some(n=>t.basename===n)}return zd},Ef=class extends Yd.Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...bf,...e},{root:n,type:i}=t;this._fileFilter=Gd(t.fileFilter),this._directoryFilter=Gd(t.directoryFilter);let s=t.lstat?Mr.lstat:Mr.stat;mE?this._stat=a=>s(a,{bigint:!0}):this._stat=s,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:bf.depth,this._wantsDir=i?dE.has(i):!1,this._wantsFile=i?pE.has(i):!1,this._wantsEverything=i===Lt.EVERYTHING_TYPE,this._root=(0,Fr.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:i,depth:s}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,i)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let h=await this._getEntryType(u);h==="directory"&&this._directoryFilter(u)?(s<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,s+1)),this._wantsDir&&(this.push(u),e--)):(h==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let i=this.parents.pop();if(!i){this.push(null);break}if(this.parent=await i,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,Mr.readdir)(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,i=this._isDirent?e.name:e;try{let s=(0,Fr.resolve)((0,Fr.join)(t,i));n={path:(0,Fr.relative)(this._root,s),fullPath:s,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(s){this._onError(s);return}return n}_onError(e){gE(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let n=e.fullPath;try{let i=await(0,Mr.realpath)(n),s=await(0,Mr.lstat)(i);if(s.isFile())return"file";if(s.isDirectory()){let a=i.length;if(n.startsWith(i)&&n.substr(a,1)===Fr.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return c.code=Xd,this._onError(c)}return"directory"}}catch(i){return this._onError(i),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function Jd(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Lt.FILE_DIR_TYPE),t&&(e.type=t),r){if(typeof r!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!$d.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${$d.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new Ef(e)}var In=require("node:fs"),rr=require("node:fs/promises"),Qd=require("node:os"),Ye=he(require("node:path"),1),yE="data",xf="end",ep="close",No=()=>{};var Mo=process.platform,Sf=Mo==="win32",_E=Mo==="darwin",bE=Mo==="linux",EE=Mo==="freebsd",tp=(0,Qd.type)()==="OS400",Je={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},tr=Je,vE="watch",wE={lstat:rr.lstat,stat:rr.stat},Rn="listeners",Ao="errHandlers",hi="rawEmitters",xE=[Rn,Ao,hi],SE=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),TE=r=>SE.has(Ye.extname(r).slice(1).toLowerCase()),wf=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Ji=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},CE=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},Zi=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},rp=r=>r instanceof Set?r.size===0:!r,Ro=new Map;function Zd(r,e,t,n,i){let s=(a,c)=>{t(r),i(a,c,{watchedPath:r}),c&&r!==c&&Io(Ye.resolve(r,c),Rn,Ye.join(r,c))};try{return(0,In.watch)(r,{persistent:e.persistent},s)}catch(a){n(a);return}}var Io=(r,e,t,n,i)=>{let s=Ro.get(r);s&&wf(s[e],a=>{a(t,n,i)})},kE=(r,e,t,n)=>{let{listener:i,errHandler:s,rawEmitter:a}=n,c=Ro.get(e),u;if(!t.persistent)return u=Zd(r,t,i,s,a),u?u.close.bind(u):void 0;if(c)Ji(c,Rn,i),Ji(c,Ao,s),Ji(c,hi,a);else{if(u=Zd(r,t,Io.bind(null,e,Rn),s,Io.bind(null,e,hi)),!u)return;u.on(tr.ERROR,async h=>{let p=Io.bind(null,e,Ao);if(c&&(c.watcherUnusable=!0),Sf&&h.code==="EPERM")try{await(await(0,rr.open)(r,"r")).close(),p(h)}catch{}else p(h)}),c={listeners:i,errHandlers:s,rawEmitters:a,watcher:u},Ro.set(e,c)}return()=>{Zi(c,Rn,i),Zi(c,Ao,s),Zi(c,hi,a),rp(c.listeners)&&(c.watcher.close(),Ro.delete(e),xE.forEach(CE(c)),c.watcher=void 0,Object.freeze(c))}},vf=new Map,OE=(r,e,t,n)=>{let{listener:i,rawEmitter:s}=n,a=vf.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,In.unwatchFile)(e),a=void 0),a?(Ji(a,Rn,i),Ji(a,hi,s)):(a={listeners:i,rawEmitters:s,options:t,watcher:(0,In.watchFile)(e,t,(u,h)=>{wf(a.rawEmitters,m=>{m(tr.CHANGE,e,{curr:u,prev:h})});let p=u.mtimeMs;(u.size!==h.size||p>h.mtimeMs||p===0)&&wf(a.listeners,m=>m(r,u))})},vf.set(e,a)),()=>{Zi(a,Rn,i),Zi(a,hi,s),rp(a.listeners)&&(vf.delete(e),(0,In.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},Lo=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,i=Ye.dirname(e),s=Ye.basename(e);this.fsw._getWatchedDir(i).add(s);let c=Ye.resolve(e),u={persistent:n.persistent};t||(t=No);let h;if(n.usePolling){let p=n.interval!==n.binaryInterval;u.interval=p&&TE(s)?n.binaryInterval:n.interval,h=OE(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else h=kE(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return h}_handleFile(e,t,n){if(this.fsw.closed)return;let i=Ye.dirname(e),s=Ye.basename(e),a=this.fsw._getWatchedDir(i),c=t;if(a.has(s))return;let u=async(p,m)=>{if(this.fsw._throttle(vE,e,5)){if(!m||m.mtimeMs===0)try{let _=await(0,rr.stat)(e);if(this.fsw.closed)return;let E=_.atimeMs,S=_.mtimeMs;if((!E||E<=S||S!==c.mtimeMs)&&this.fsw._emit(tr.CHANGE,e,_),(_E||bE||EE)&&c.ino!==_.ino){this.fsw._closeFile(p),c=_;let C=this._watchWithNodeFs(e,u);C&&this.fsw._addPathCloser(p,C)}else c=_}catch{this.fsw._remove(i,s)}else if(a.has(s)){let _=m.atimeMs,E=m.mtimeMs;(!_||_<=E||E!==c.mtimeMs)&&this.fsw._emit(tr.CHANGE,e,m),c=m}}},h=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(tr.ADD,e,0))return;this.fsw._emit(tr.ADD,e,t)}return h}async _handleSymlink(e,t,n,i){if(this.fsw.closed)return;let s=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,rr.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(i)?this.fsw._symlinkPaths.get(s)!==c&&(this.fsw._symlinkPaths.set(s,c),this.fsw._emit(tr.CHANGE,n,e.stats)):(a.add(i),this.fsw._symlinkPaths.set(s,c),this.fsw._emit(tr.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(s))return!0;this.fsw._symlinkPaths.set(s,!0)}_handleRead(e,t,n,i,s,a,c){e=Ye.join(e,"");let u=i?`${e}:${i}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let h=this.fsw._getWatchedDir(n.path),p=new Set,m=this.fsw._readdirp(e,{fileFilter:_=>n.filterPath(_),directoryFilter:_=>n.filterDir(_)});if(m)return m.on(yE,async _=>{if(this.fsw.closed){m=void 0;return}let E=_.path,S=Ye.join(e,E);if(p.add(E),!(_.stats.isSymbolicLink()&&await this._handleSymlink(_,e,S,E))){if(this.fsw.closed){m=void 0;return}(E===i||!i&&!h.has(E))&&(this.fsw._incrReadyCount(),S=Ye.join(s,Ye.relative(s,S)),this._addToNodeFs(S,t,n,a+1))}}).on(tr.ERROR,this._boundHandleError),new Promise((_,E)=>{if(!m)return E();m.once(xf,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;_(void 0),h.getChildren().filter(C=>C!==e&&!p.has(C)).forEach(C=>{this.fsw._remove(e,C)}),m=void 0,S&&this._handleRead(e,!1,n,i,s,a,c)})})}async _handleDir(e,t,n,i,s,a,c){let u=this.fsw._getWatchedDir(Ye.dirname(e)),h=u.has(Ye.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!s&&!h&&this.fsw._emit(tr.ADD_DIR,e,t),u.add(Ye.basename(e)),this.fsw._getWatchedDir(e);let p,m,_=this.fsw.options.depth;if((_==null||i<=_)&&!this.fsw._symlinkPaths.has(c)){if(!s&&(await this._handleRead(e,n,a,s,e,i,p),this.fsw.closed))return;m=this._watchWithNodeFs(e,(E,S)=>{S&&S.mtimeMs===0||this._handleRead(E,!1,a,s,e,i,p)})}return m}async _addToNodeFs(e,t,n,i,s){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let c=this.fsw._getWatchHelpers(e);n&&(c.filterPath=u=>n.filterPath(u),c.filterDir=u=>n.filterDir(u));try{let u=await wE[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let h=this.fsw.options.followSymlinks,p;if(u.isDirectory()){let m=Ye.resolve(e),_=h?await(0,rr.realpath)(e):e;if(this.fsw.closed||(p=await this._handleDir(c.watchPath,u,t,i,s,c,_),this.fsw.closed))return;m!==_&&_!==void 0&&this.fsw._symlinkPaths.set(m,_)}else if(u.isSymbolicLink()){let m=h?await(0,rr.realpath)(e):e;if(this.fsw.closed)return;let _=Ye.dirname(c.watchPath);if(this.fsw._getWatchedDir(_).add(c.watchPath),this.fsw._emit(tr.ADD,c.watchPath,u),p=await this._handleDir(_,u,t,i,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(Ye.resolve(e),m)}else p=this._handleFile(c.watchPath,u,t);return a(),p&&this.fsw._addPathCloser(e,p),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var Tf="/",PE="//",fp=".",AE="..",RE="string",IE=/\\/g,up=/\/\//g,LE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,NE=/^\.[/\\]/;function Fo(r){return Array.isArray(r)?r:[r]}var Cf=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function ME(r){return typeof r=="function"?r:typeof r=="string"?e=>r===e:r instanceof RegExp?e=>r.test(e):typeof r=="object"&&r!==null?e=>{if(r.path===e)return!0;if(r.recursive){let t=xe.relative(r.path,e);return t?!t.startsWith("..")&&!xe.isAbsolute(t):!1}return!1}:()=>!1}function FE(r){if(typeof r!="string")throw new Error("string expected");r=xe.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(up,"/"),e&&(r="/"+r),r}function np(r,e,t){let n=FE(e);for(let i=0;i<r.length;i++){let s=r[i];if(s(n,t))return!0}return!1}function DE(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=Fo(r).map(i=>ME(i));return e==null?(i,s)=>np(n,i,s):np(n,e)}var ip=r=>{let e=Fo(r).flat();if(!e.every(t=>typeof t===RE))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(lp)},sp=r=>{let e=r.replace(IE,Tf),t=!1;return e.startsWith(PE)&&(t=!0),e=e.replace(up,Tf),t&&(e=Tf+e),e},lp=r=>sp(xe.normalize(sp(r))),op=(r="")=>e=>typeof e=="string"?lp(xe.isAbsolute(e)?e:xe.join(r,e)):e,BE=(r,e)=>xe.isAbsolute(r)?r:xe.join(e,r),jE=Object.freeze(new Set),kf=class{path;_removeWatcher;items;constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==fp&&e!==AE&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,Do.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(xe.dirname(n),xe.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=No,this.items=jE,Object.freeze(this)}},UE="stat",KE="lstat",Of=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let i=e;this.path=e=e.replace(NE,""),this.watchPath=i,this.fullWatchPath=xe.resolve(i),this.dirParts=[],this.dirParts.forEach(s=>{s.length>1&&s.pop()}),this.followSymlinks=t,this.statMethod=t?UE:KE}entryPath(e){return xe.join(this.watchPath,xe.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Pf=class extends ap.EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},i={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Fo(e.ignored):Fo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};tp&&(i.usePolling=!0),i.atomic===void 0&&(i.atomic=!i.usePolling);let s=process.env.CHOKIDAR_USEPOLLING;if(s!==void 0){let u=s.toLowerCase();u==="false"||u==="0"?i.usePolling=!1:u==="true"||u==="1"?i.usePolling=!0:i.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(i.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=No,this._readyEmitted=!0,process.nextTick(()=>this.emit(Je.READY)))},this._emitRaw=(...u)=>this.emit(Je.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=i,this._nodeFsHandler=new Lo(this),Object.freeze(i)}_addIgnoredPath(e){if(Cf(e)){for(let t of this._ignoredPaths)if(Cf(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Cf(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:i}=this.options;this.closed=!1,this._closePromise=void 0;let s=ip(e);return i&&(s=s.map(a=>BE(a,i))),s.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=s.length,Promise.all(s.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!n,void 0,0,t);return c&&this._emitReady(),c})).then(a=>{this.closed||a.forEach(c=>{c&&this.add(xe.dirname(c),xe.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=ip(e),{cwd:n}=this.options;return t.forEach(i=>{!xe.isAbsolute(i)&&!this._closers.has(i)&&(n&&(i=xe.join(n,i)),i=xe.resolve(i)),this._closePath(i),this._addIgnoredPath(i),this._watched.has(i)&&this._addIgnoredPath({path:i,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(n=>{let i=n();i instanceof Promise&&e.push(i)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let s=(this.options.cwd?xe.relative(this.options.cwd,n):n)||fp;e[s]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Je.ERROR&&this.emit(Je.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let i=this.options;Sf&&(t=xe.normalize(t)),i.cwd&&(t=xe.relative(i.cwd,t));let s=[t];n!=null&&s.push(n);let a=i.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(i.atomic){if(e===Je.UNLINK)return this._pendingUnlinks.set(t,[e,...s]),setTimeout(()=>{this._pendingUnlinks.forEach((u,h)=>{this.emit(...u),this.emit(Je.ALL,...u),this._pendingUnlinks.delete(h)})},typeof i.atomic=="number"?i.atomic:100),this;e===Je.ADD&&this._pendingUnlinks.has(t)&&(e=Je.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Je.ADD||e===Je.CHANGE)&&this._readyEmitted){let u=(h,p)=>{h?(e=Je.ERROR,s[0]=h,this.emitWithAll(e,s)):p&&(s.length>1?s[1]=p:s.push(p),this.emitWithAll(e,s))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Je.CHANGE&&!this._throttle(Je.CHANGE,t,50))return this;if(i.alwaysStat&&n===void 0&&(e===Je.ADD||e===Je.ADD_DIR||e===Je.CHANGE)){let u=i.cwd?xe.join(i.cwd,t):t,h;try{h=await(0,Do.stat)(u)}catch{}if(!h||this.closed)return;s.push(h)}return this.emitWithAll(e,s),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Je.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e);if(!i)throw new Error("invalid throttle");let s=i.get(t);if(s)return s.count++,!1;let a,c=()=>{let h=i.get(t),p=h?h.count:0;return i.delete(t),clearTimeout(a),h&&clearTimeout(h.timeoutObject),p};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return i.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,i){let s=this.options.awaitWriteFinish;if(typeof s!="object")return;let a=s.pollInterval,c,u=e;this.options.cwd&&!xe.isAbsolute(e)&&(u=xe.join(this.options.cwd,e));let h=new Date,p=this._pendingWrites;function m(_){(0,cp.stat)(u,(E,S)=>{if(E||!p.has(e)){E&&E.code!=="ENOENT"&&i(E);return}let C=Number(new Date);_&&S.size!==_.size&&(p.get(e).lastChange=C);let H=p.get(e);C-H.lastChange>=t?(p.delete(e),i(void 0,S)):c=setTimeout(m,a,S)})}p.has(e)||(p.set(e,{lastChange:h,cancelWait:()=>(p.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&LE.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,s=(this.options.ignored||[]).map(op(n)),c=[...[...this._ignoredPaths].map(op(n)),...s];this._userIgnored=DE(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Of(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=xe.resolve(e);return this._watched.has(t)||this._watched.set(t,new kf(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let i=xe.join(e,t),s=xe.resolve(i);if(n=n??(this._watched.has(i)||this._watched.has(s)),!this._throttle("remove",i,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(i).getChildren().forEach(_=>this._remove(i,_));let u=this._getWatchedDir(e),h=u.has(t);u.remove(t),this._symlinkPaths.has(s)&&this._symlinkPaths.delete(s);let p=i;if(this.options.cwd&&(p=xe.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(p)&&this._pendingWrites.get(p).cancelWait()===Je.ADD)return;this._watched.delete(i),this._watched.delete(s);let m=n?Je.UNLINK_DIR:Je.UNLINK;h&&!this._isIgnored(i)&&this._emit(m,i),this._closePath(i)}_closePath(e){this._closeFile(e);let t=xe.dirname(e);this._getWatchedDir(t).remove(xe.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n={type:Je.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},i=Jd(e,n);return this._streams.add(i),i.once(ep,()=>{i=void 0}),i.once(xf,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};function hp(r,e={}){let t=new Pf(e);return t.add(r),t}var dp=he(Dc()),_r=he(kr()),qE=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],WE=300,Bo=class{watcher=null;ignoreFilter;workspaceRoot;logger;onFileChangedCallback=null;pendingEvents=new Map;pendingTypes=new Map;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,dp.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add(qE);let e=rn.join(this.workspaceRoot,".gitignore");try{if(di.existsSync(e)){let t=di.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=hp(this.workspaceRoot,{ignored:e=>{let t=rn.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(rn.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,_r.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,_r.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,_r.FileChangeType.DELETE)),this.watcher.on("error",e=>this.logger.error("File watcher error",e)),this.logger.info("File watcher started"))}stop(){this.watcher?.close(),this.watcher=null;for(let e of this.pendingEvents.values())clearTimeout(e);this.pendingEvents.clear(),this.pendingTypes.clear()}handleEvent(e,t){let n=rn.relative(this.workspaceRoot,e);if(!n)return;let i=this.pendingEvents.get(n);i&&clearTimeout(i);let s=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(s,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},WE);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===_r.FileChangeType.DELETE||e===_r.FileChangeType.DELETE?_r.FileChangeType.DELETE:e===_r.FileChangeType.CREATE?_r.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==_r.FileChangeType.DELETE)try{let i=rn.join(this.workspaceRoot,e),s=di.statSync(i);n.size=s.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};var HE={online:!1,viewerCount:0},jo=class r{enabled=!1;state={...HE};altScreenActive=!1;logger;refreshTimer=null;static REFRESH_INTERVAL_MS=1e3;constructor(e){this.logger=e}reservedRows(){return this.enabled&&process.stdout.isTTY?1:0}enable(){if(!process.stdout.isTTY){this.logger.warn("StatusLine: stdout is not a TTY, cannot enable");return}this.enabled=!0,this.installScrollRegion(),this.startRefreshTimer(),this.logger.info("StatusLine enabled")}startRefreshTimer(){this.stopRefreshTimer(),this.refreshTimer=setInterval(()=>{!this.enabled||this.altScreenActive||this.render()},r.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}installScrollRegion(){let e=process.stdout.rows;!e||e<2||(process.stdout.write(`\x1B[1;${e-1}r`),process.stdout.write("\x1B[1;1H"))}resetScrollRegion(){process.stdout.write("\x1B[r")}update(e){this.state={...this.state,...e},this.render()}render(){if(!this.enabled||this.altScreenActive)return;let e=process.stdout.rows;if(!e||e<2)return;let t=this.formatLine(),n=`\x1B[1;${e-1}r\x1B7\x1B[${e};1H\x1B[2K${t}\x1B8`;process.stdout.write(n)}clear(){if(!this.enabled)return;let e=process.stdout.rows;!e||e<2||process.stdout.write(`\x1B7\x1B[${e};1H\x1B[2K\x1B8`)}disable(){this.enabled&&(this.stopRefreshTimer(),this.clear(),this.resetScrollRegion(),this.enabled=!1)}inspectPtyOutput(e){if(this.enabled){if(e.includes("\x1B[?1049h")||e.includes("\x1B[?47h")){this.altScreenActive=!0;return}(e.includes("\x1B[?1049l")||e.includes("\x1B[?47l"))&&(this.altScreenActive=!1,this.render())}}getState(){return this.state}isEnabled(){return this.enabled}isAltScreenActive(){return this.altScreenActive}formatLine(){let e=[];if(e.push(this.state.online?"\u25CF online":"\u25CB offline"),this.state.viewerCount>0){let t=this.state.viewerCount===1?"1 viewer":`${this.state.viewerCount} viewers`;e.push(t)}else e.push("no viewers");return this.state.agentName&&e.push(this.state.agentName),this.state.ptyCols&&this.state.ptyRows&&e.push(`${this.state.ptyCols}\xD7${this.state.ptyRows}`)," "+e.join(" \xB7 ")+" "}};async function Uo(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
|
|
33
|
+
`)}clearTerminal(e){this.trackedFiles.delete(e),this.outputBuffers.delete(e)}getChangedFiles(e){return(this.trackedFiles.get(e)||[]).map(n=>({path:n.path,changeType:n.changeType,timestamp:n.timestamp,source:"tool-call",toolName:n.toolName,toolId:n.toolId,size:n.size}))}isFileModifyingTool(e){return["Write","Edit","NotebookEdit"].includes(e)}extractFilePath(e,t){return t?e==="Write"||e==="Edit"?t.file_path||null:e==="NotebookEdit"&&t.notebook_path||null:null}resolveFilePath(e){let t=this.workspaceRoot;if(!t)throw new Error("No workspace root configured");let n=Kc.resolve(t,e);if(n!==t&&!n.startsWith(t+Kc.sep))throw new Error("Path escapes workspace root");return n}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};yr.FileTrackerService=Hc});var id=L(Ge=>{"use strict";Object.defineProperty(Ge,"__esModule",{value:!0});Ge.InputStreamReceiver=Ge.FileTrackerService=Ge.FileListService=Ge.FileTransferService=Ge.WebSocketService=Ge.trackAltScreen=Ge.isTerminalReplyOnly=Ge.isAnswerKeystroke=Ge.StatusDetector=Ge.AuthService=Ge.CryptoService=void 0;var Wb=Su();Object.defineProperty(Ge,"CryptoService",{enumerable:!0,get:function(){return Wb.CryptoService}});var Hb=Tu();Object.defineProperty(Ge,"AuthService",{enumerable:!0,get:function(){return Hb.AuthService}});var wo=Au();Object.defineProperty(Ge,"StatusDetector",{enumerable:!0,get:function(){return wo.StatusDetector}});Object.defineProperty(Ge,"isAnswerKeystroke",{enumerable:!0,get:function(){return wo.isAnswerKeystroke}});Object.defineProperty(Ge,"isTerminalReplyOnly",{enumerable:!0,get:function(){return wo.isTerminalReplyOnly}});Object.defineProperty(Ge,"trackAltScreen",{enumerable:!0,get:function(){return wo.trackAltScreen}});var Vb=qh();Object.defineProperty(Ge,"WebSocketService",{enumerable:!0,get:function(){return Vb.WebSocketService}});var $b=Vh();Object.defineProperty(Ge,"FileTransferService",{enumerable:!0,get:function(){return $b.FileTransferService}});var zb=td();Object.defineProperty(Ge,"FileListService",{enumerable:!0,get:function(){return zb.FileListService}});var Gb=nd();Object.defineProperty(Ge,"FileTrackerService",{enumerable:!0,get:function(){return Gb.FileTrackerService}});var Yb=kc();Object.defineProperty(Ge,"InputStreamReceiver",{enumerable:!0,get:function(){return Yb.InputStreamReceiver}})});var Wi=L(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.FP_LABEL=G.KX_ACK_LABEL=G.KX_SIGN_LABEL=G.concatBytes=G.fingerprintShortHex=G.fingerprintIdentityKey=G.buildKxAckCanonical=G.buildKxCanonical=G.verifySessionKey=G.signSessionKey=G.identityPublicFromSecret=G.generateIdentityKeyPair=G.InputStreamReceiver=G.FileTrackerService=G.FileListService=G.FileTransferService=G.WebSocketService=G.trackAltScreen=G.isTerminalReplyOnly=G.isAnswerKeystroke=G.StatusDetector=G.AuthService=G.CryptoService=G.getCurrentCorrelationId=G.runWithCorrelation=G.generateCorrelationId=G.getWsUrl=G.getApiUrl=G.CircularBuffer=G.formatLogLine=G.shouldLog=G.LOG_LEVELS=void 0;var Vc=qf();Object.defineProperty(G,"LOG_LEVELS",{enumerable:!0,get:function(){return Vc.LOG_LEVELS}});Object.defineProperty(G,"shouldLog",{enumerable:!0,get:function(){return Vc.shouldLog}});Object.defineProperty(G,"formatLogLine",{enumerable:!0,get:function(){return Vc.formatLogLine}});var ci=Vf();Object.defineProperty(G,"CircularBuffer",{enumerable:!0,get:function(){return ci.CircularBuffer}});Object.defineProperty(G,"getApiUrl",{enumerable:!0,get:function(){return ci.getApiUrl}});Object.defineProperty(G,"getWsUrl",{enumerable:!0,get:function(){return ci.getWsUrl}});Object.defineProperty(G,"generateCorrelationId",{enumerable:!0,get:function(){return ci.generateCorrelationId}});Object.defineProperty(G,"runWithCorrelation",{enumerable:!0,get:function(){return ci.runWithCorrelation}});Object.defineProperty(G,"getCurrentCorrelationId",{enumerable:!0,get:function(){return ci.getCurrentCorrelationId}});var er=id();Object.defineProperty(G,"CryptoService",{enumerable:!0,get:function(){return er.CryptoService}});Object.defineProperty(G,"AuthService",{enumerable:!0,get:function(){return er.AuthService}});Object.defineProperty(G,"StatusDetector",{enumerable:!0,get:function(){return er.StatusDetector}});Object.defineProperty(G,"isAnswerKeystroke",{enumerable:!0,get:function(){return er.isAnswerKeystroke}});Object.defineProperty(G,"isTerminalReplyOnly",{enumerable:!0,get:function(){return er.isTerminalReplyOnly}});Object.defineProperty(G,"trackAltScreen",{enumerable:!0,get:function(){return er.trackAltScreen}});Object.defineProperty(G,"WebSocketService",{enumerable:!0,get:function(){return er.WebSocketService}});Object.defineProperty(G,"FileTransferService",{enumerable:!0,get:function(){return er.FileTransferService}});Object.defineProperty(G,"FileListService",{enumerable:!0,get:function(){return er.FileListService}});Object.defineProperty(G,"FileTrackerService",{enumerable:!0,get:function(){return er.FileTrackerService}});Object.defineProperty(G,"InputStreamReceiver",{enumerable:!0,get:function(){return er.InputStreamReceiver}});var Ht=ia();Object.defineProperty(G,"generateIdentityKeyPair",{enumerable:!0,get:function(){return Ht.generateIdentityKeyPair}});Object.defineProperty(G,"identityPublicFromSecret",{enumerable:!0,get:function(){return Ht.identityPublicFromSecret}});Object.defineProperty(G,"signSessionKey",{enumerable:!0,get:function(){return Ht.signSessionKey}});Object.defineProperty(G,"verifySessionKey",{enumerable:!0,get:function(){return Ht.verifySessionKey}});Object.defineProperty(G,"buildKxCanonical",{enumerable:!0,get:function(){return Ht.buildKxCanonical}});Object.defineProperty(G,"buildKxAckCanonical",{enumerable:!0,get:function(){return Ht.buildKxAckCanonical}});Object.defineProperty(G,"fingerprintIdentityKey",{enumerable:!0,get:function(){return Ht.fingerprintIdentityKey}});Object.defineProperty(G,"fingerprintShortHex",{enumerable:!0,get:function(){return Ht.fingerprintShortHex}});Object.defineProperty(G,"concatBytes",{enumerable:!0,get:function(){return Ht.concatBytes}});Object.defineProperty(G,"KX_SIGN_LABEL",{enumerable:!0,get:function(){return Ht.KX_SIGN_LABEL}});Object.defineProperty(G,"KX_ACK_LABEL",{enumerable:!0,get:function(){return Ht.KX_ACK_LABEL}});Object.defineProperty(G,"FP_LABEL",{enumerable:!0,get:function(){return Ht.FP_LABEL}})});var Yc=L((Vi,Gc)=>{(function(r,e){typeof Vi=="object"&&typeof Gc=="object"?Gc.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Vi=="object"?Vi["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Vi,function(r,e){return(function(t){function n(s){if(i[s])return i[s].exports;var a=i[s]={exports:{},id:s,loaded:!1};return t[s].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var i={};return n.m=t,n.c=i,n.p="",n(0)})([function(t,n,i){t.exports=i(34)},function(t,n,i){var s=i(29)("wks"),a=i(33),c=i(2).Symbol,u=typeof c=="function",h=t.exports=function(p){return s[p]||(s[p]=u&&c[p]||(u?c:a)("Symbol."+p))};h.store=s},function(t,n){var i=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=i)},function(t,n,i){var s=i(9);t.exports=function(a){if(!s(a))throw TypeError(a+" is not an object!");return a}},function(t,n,i){t.exports=!i(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,i){var s=i(12),a=i(17);t.exports=i(4)?function(c,u,h){return s.f(c,u,a(1,h))}:function(c,u,h){return c[u]=h,c}},function(t,n){var i=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=i)},function(t,n,i){var s=i(14);t.exports=function(a,c,u){if(s(a),c===void 0)return a;switch(u){case 1:return function(h){return a.call(c,h)};case 2:return function(h,p){return a.call(c,h,p)};case 3:return function(h,p,m){return a.call(c,h,p,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var i={}.hasOwnProperty;t.exports=function(s,a){return i.call(s,a)}},function(t,n){t.exports=function(i){return typeof i=="object"?i!==null:typeof i=="function"}},function(t,n){t.exports={}},function(t,n){var i={}.toString;t.exports=function(s){return i.call(s).slice(8,-1)}},function(t,n,i){var s=i(3),a=i(26),c=i(32),u=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(h,p,m){if(s(h),p=c(p,!0),s(m),a)try{return u(h,p,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(h[p]=m.value),h}},function(t,n,i){var s=i(42),a=i(15);t.exports=function(c){return s(a(c))}},function(t,n){t.exports=function(i){if(typeof i!="function")throw TypeError(i+" is not a function!");return i}},function(t,n){t.exports=function(i){if(i==null)throw TypeError("Can't call method on "+i);return i}},function(t,n,i){var s=i(9),a=i(2).document,c=s(a)&&s(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},function(t,n,i){var s=i(12).f,a=i(8),c=i(1)("toStringTag");t.exports=function(u,h,p){u&&!a(u=p?u:u.prototype,c)&&s(u,c,{configurable:!0,value:h})}},function(t,n,i){var s=i(29)("keys"),a=i(33);t.exports=function(c){return s[c]||(s[c]=a(c))}},function(t,n){var i=Math.ceil,s=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?s:i)(a)}},function(t,n,i){var s=i(11),a=i(1)("toStringTag"),c=s((function(){return arguments})())=="Arguments",u=function(h,p){try{return h[p]}catch{}};t.exports=function(h){var p,m,_;return h===void 0?"Undefined":h===null?"Null":typeof(m=u(p=Object(h),a))=="string"?m:c?s(p):(_=s(p))=="Object"&&typeof p.callee=="function"?"Arguments":_}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,i){var s=i(2),a=i(6),c=i(7),u=i(5),h="prototype",p=function(m,_,E){var S,C,H,ie=m&p.F,z=m&p.G,T=m&p.S,F=m&p.P,te=m&p.B,U=m&p.W,ee=z?a:a[_]||(a[_]={}),pe=ee[h],K=z?s:T?s[_]:(s[_]||{})[h];z&&(E=_);for(S in E)C=!ie&&K&&K[S]!==void 0,C&&S in ee||(H=C?K[S]:E[S],ee[S]=z&&typeof K[S]!="function"?E[S]:te&&C?c(H,s):U&&K[S]==H?(function(Ne){var tt=function(Se,Me,we){if(this instanceof Ne){switch(arguments.length){case 0:return new Ne;case 1:return new Ne(Se);case 2:return new Ne(Se,Me)}return new Ne(Se,Me,we)}return Ne.apply(this,arguments)};return tt[h]=Ne[h],tt})(H):F&&typeof H=="function"?c(Function.call,H):H,F&&((ee.virtual||(ee.virtual={}))[S]=H,m&p.R&&pe&&!pe[S]&&u(pe,S,H)))};p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,p.U=64,p.R=128,t.exports=p},function(t,n){t.exports=function(i){try{return!!i()}catch{return!0}}},function(t,n,i){t.exports=i(2).document&&document.documentElement},function(t,n,i){t.exports=!i(4)&&!i(24)(function(){return Object.defineProperty(i(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,i){"use strict";var s=i(28),a=i(23),c=i(57),u=i(5),h=i(8),p=i(10),m=i(45),_=i(18),E=i(52),S=i(1)("iterator"),C=!([].keys&&"next"in[].keys()),H="@@iterator",ie="keys",z="values",T=function(){return this};t.exports=function(F,te,U,ee,pe,K,Ne){m(U,te,ee);var tt,Se,Me,we=function(B){if(!C&&B in Fe)return Fe[B];switch(B){case ie:return function(){return new U(this,B)};case z:return function(){return new U(this,B)}}return function(){return new U(this,B)}},qe=te+" Iterator",Ee=pe==z,rt=!1,Fe=F.prototype,yt=Fe[S]||Fe[H]||pe&&Fe[pe],We=yt||we(pe),dt=pe?Ee?we("entries"):We:void 0,I=te=="Array"&&Fe.entries||yt;if(I&&(Me=E(I.call(new F)),Me!==Object.prototype&&(_(Me,qe,!0),s||h(Me,S)||u(Me,S,T))),Ee&&yt&&yt.name!==z&&(rt=!0,We=function(){return yt.call(this)}),s&&!Ne||!C&&!rt&&Fe[S]||u(Fe,S,We),p[te]=We,p[qe]=T,pe)if(tt={values:Ee?We:we(z),keys:K?We:we(ie),entries:dt},Ne)for(Se in tt)Se in Fe||c(Fe,Se,tt[Se]);else a(a.P+a.F*(C||rt),te,tt);return tt}},function(t,n){t.exports=!0},function(t,n,i){var s=i(2),a="__core-js_shared__",c=s[a]||(s[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,i){var s,a,c,u=i(7),h=i(41),p=i(25),m=i(16),_=i(2),E=_.process,S=_.setImmediate,C=_.clearImmediate,H=_.MessageChannel,ie=0,z={},T="onreadystatechange",F=function(){var U=+this;if(z.hasOwnProperty(U)){var ee=z[U];delete z[U],ee()}},te=function(U){F.call(U.data)};S&&C||(S=function(U){for(var ee=[],pe=1;arguments.length>pe;)ee.push(arguments[pe++]);return z[++ie]=function(){h(typeof U=="function"?U:Function(U),ee)},s(ie),ie},C=function(U){delete z[U]},i(11)(E)=="process"?s=function(U){E.nextTick(u(F,U,1))}:H?(a=new H,c=a.port2,a.port1.onmessage=te,s=u(c.postMessage,c,1)):_.addEventListener&&typeof postMessage=="function"&&!_.importScripts?(s=function(U){_.postMessage(U+"","*")},_.addEventListener("message",te,!1)):s=T in m("script")?function(U){p.appendChild(m("script"))[T]=function(){p.removeChild(this),F.call(U)}}:function(U){setTimeout(u(F,U,1),0)}),t.exports={set:S,clear:C}},function(t,n,i){var s=i(20),a=Math.min;t.exports=function(c){return c>0?a(s(c),9007199254740991):0}},function(t,n,i){var s=i(9);t.exports=function(a,c){if(!s(a))return a;var u,h;if(c&&typeof(u=a.toString)=="function"&&!s(h=u.call(a))||typeof(u=a.valueOf)=="function"&&!s(h=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!s(h=u.call(a)))return h;throw TypeError("Can't convert object to primitive value")}},function(t,n){var i=0,s=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++i+s).toString(36))}},function(t,n,i){"use strict";function s(T){return T&&T.__esModule?T:{default:T}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(T){return(0,S.createHash)("sha256").update(T).digest("hex")}function u(T){switch(H){case"darwin":return T.split("IOPlatformUUID")[1].split(`
|
|
34
|
+
`)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return T.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return T.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return T.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function h(T){var F=u((0,E.execSync)(z[H]).toString());return T?F:c(F)}function p(T){return new _.default(function(F,te){return(0,E.exec)(z[H],{},function(U,ee,pe){if(U)return te(new Error("Error while obtaining machine id: "+U.stack));var K=u(ee.toString());return F(T?K:c(K))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=i(35),_=s(m);n.machineIdSync=h,n.machineId=p;var E=i(70),S=i(71),C=process,H=C.platform,ie={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},z={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:ie[a()]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(t,n,i){t.exports={default:i(36),__esModule:!0}},function(t,n,i){i(66),i(68),i(69),i(67),t.exports=i(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(i,s,a,c){if(!(i instanceof s)||c!==void 0&&c in i)throw TypeError(a+": incorrect invocation!");return i}},function(t,n,i){var s=i(13),a=i(31),c=i(62);t.exports=function(u){return function(h,p,m){var _,E=s(h),S=a(E.length),C=c(m,S);if(u&&p!=p){for(;S>C;)if(_=E[C++],_!=_)return!0}else for(;S>C;C++)if((u||C in E)&&E[C]===p)return u||C||0;return!u&&-1}}},function(t,E,i){var s=i(7),a=i(44),c=i(43),u=i(3),h=i(31),p=i(64),m={},_={},E=t.exports=function(S,C,H,ie,z){var T,F,te,U,ee=z?function(){return S}:p(S),pe=s(H,ie,C?2:1),K=0;if(typeof ee!="function")throw TypeError(S+" is not iterable!");if(c(ee)){for(T=h(S.length);T>K;K++)if(U=C?pe(u(F=S[K])[0],F[1]):pe(S[K]),U===m||U===_)return U}else for(te=ee.call(S);!(F=te.next()).done;)if(U=a(te,pe,F.value,C),U===m||U===_)return U};E.BREAK=m,E.RETURN=_},function(t,n){t.exports=function(i,s,a){var c=a===void 0;switch(s.length){case 0:return c?i():i.call(a);case 1:return c?i(s[0]):i.call(a,s[0]);case 2:return c?i(s[0],s[1]):i.call(a,s[0],s[1]);case 3:return c?i(s[0],s[1],s[2]):i.call(a,s[0],s[1],s[2]);case 4:return c?i(s[0],s[1],s[2],s[3]):i.call(a,s[0],s[1],s[2],s[3])}return i.apply(a,s)}},function(t,n,i){var s=i(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return s(a)=="String"?a.split(""):Object(a)}},function(t,n,i){var s=i(10),a=i(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(s.Array===u||c[a]===u)}},function(t,n,i){var s=i(3);t.exports=function(a,c,u,h){try{return h?c(s(u)[0],u[1]):c(u)}catch(m){var p=a.return;throw p!==void 0&&s(p.call(a)),m}}},function(t,n,i){"use strict";var s=i(49),a=i(17),c=i(18),u={};i(5)(u,i(1)("iterator"),function(){return this}),t.exports=function(h,p,m){h.prototype=s(u,{next:a(1,m)}),c(h,p+" Iterator")}},function(t,n,i){var s=i(1)("iterator"),a=!1;try{var c=[7][s]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,h){if(!h&&!a)return!1;var p=!1;try{var m=[7],_=m[s]();_.next=function(){return{done:p=!0}},m[s]=function(){return _},u(m)}catch{}return p}},function(t,n){t.exports=function(i,s){return{value:s,done:!!i}}},function(t,n,i){var s=i(2),a=i(30).set,c=s.MutationObserver||s.WebKitMutationObserver,u=s.process,h=s.Promise,p=i(11)(u)=="process";t.exports=function(){var m,_,E,S=function(){var z,T;for(p&&(z=u.domain)&&z.exit();m;){T=m.fn,m=m.next;try{T()}catch(F){throw m?E():_=void 0,F}}_=void 0,z&&z.enter()};if(p)E=function(){u.nextTick(S)};else if(c){var C=!0,H=document.createTextNode("");new c(S).observe(H,{characterData:!0}),E=function(){H.data=C=!C}}else if(h&&h.resolve){var ie=h.resolve();E=function(){ie.then(S)}}else E=function(){a.call(s,S)};return function(z){var T={fn:z,next:void 0};_&&(_.next=T),m||(m=T,E()),_=T}}},function(t,n,i){var s=i(3),a=i(50),c=i(22),u=i(19)("IE_PROTO"),h=function(){},p="prototype",m=function(){var _,E=i(16)("iframe"),S=c.length,C=">";for(E.style.display="none",i(25).appendChild(E),E.src="javascript:",_=E.contentWindow.document,_.open(),_.write("<script>document.F=Object</script"+C),_.close(),m=_.F;S--;)delete m[p][c[S]];return m()};t.exports=Object.create||function(_,E){var S;return _!==null?(h[p]=s(_),S=new h,h[p]=null,S[u]=_):S=m(),E===void 0?S:a(S,E)}},function(t,n,i){var s=i(12),a=i(3),c=i(54);t.exports=i(4)?Object.defineProperties:function(u,h){a(u);for(var p,m=c(h),_=m.length,E=0;_>E;)s.f(u,p=m[E++],h[p]);return u}},function(t,n,i){var s=i(55),a=i(17),c=i(13),u=i(32),h=i(8),p=i(26),m=Object.getOwnPropertyDescriptor;n.f=i(4)?m:function(_,E){if(_=c(_),E=u(E,!0),p)try{return m(_,E)}catch{}if(h(_,E))return a(!s.f.call(_,E),_[E])}},function(t,n,i){var s=i(8),a=i(63),c=i(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(h){return h=a(h),s(h,c)?h[c]:typeof h.constructor=="function"&&h instanceof h.constructor?h.constructor.prototype:h instanceof Object?u:null}},function(t,n,i){var s=i(8),a=i(13),c=i(39)(!1),u=i(19)("IE_PROTO");t.exports=function(h,p){var m,_=a(h),E=0,S=[];for(m in _)m!=u&&s(_,m)&&S.push(m);for(;p.length>E;)s(_,m=p[E++])&&(~c(S,m)||S.push(m));return S}},function(t,n,i){var s=i(53),a=i(22);t.exports=Object.keys||function(c){return s(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,i){var s=i(5);t.exports=function(a,c,u){for(var h in c)u&&a[h]?a[h]=c[h]:s(a,h,c[h]);return a}},function(t,n,i){t.exports=i(5)},function(t,n,i){var s=i(9),a=i(3),c=function(u,h){if(a(u),!s(h)&&h!==null)throw TypeError(h+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,h,p){try{p=i(7)(Function.call,i(51).f(Object.prototype,"__proto__").set,2),p(u,[]),h=!(u instanceof Array)}catch{h=!0}return function(m,_){return c(m,_),h?m.__proto__=_:p(m,_),m}})({},!1):void 0),check:c}},function(t,n,i){"use strict";var s=i(2),a=i(6),c=i(12),u=i(4),h=i(1)("species");t.exports=function(p){var m=typeof a[p]=="function"?a[p]:s[p];u&&m&&!m[h]&&c.f(m,h,{configurable:!0,get:function(){return this}})}},function(t,n,i){var s=i(3),a=i(14),c=i(1)("species");t.exports=function(u,h){var p,m=s(u).constructor;return m===void 0||(p=s(m)[c])==null?h:a(p)}},function(t,n,i){var s=i(20),a=i(15);t.exports=function(c){return function(u,h){var p,m,_=String(a(u)),E=s(h),S=_.length;return E<0||E>=S?c?"":void 0:(p=_.charCodeAt(E),p<55296||p>56319||E+1===S||(m=_.charCodeAt(E+1))<56320||m>57343?c?_.charAt(E):p:c?_.slice(E,E+2):(p-55296<<10)+(m-56320)+65536)}}},function(t,n,i){var s=i(20),a=Math.max,c=Math.min;t.exports=function(u,h){return u=s(u),u<0?a(u+h,0):c(u,h)}},function(t,n,i){var s=i(15);t.exports=function(a){return Object(s(a))}},function(t,n,i){var s=i(21),a=i(1)("iterator"),c=i(10);t.exports=i(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[s(u)]}},function(t,n,i){"use strict";var s=i(37),a=i(47),c=i(10),u=i(13);t.exports=i(27)(Array,"Array",function(h,p){this._t=u(h),this._i=0,this._k=p},function(){var h=this._t,p=this._k,m=this._i++;return!h||m>=h.length?(this._t=void 0,a(1)):p=="keys"?a(0,m):p=="values"?a(0,h[m]):a(0,[m,h[m]])},"values"),c.Arguments=c.Array,s("keys"),s("values"),s("entries")},function(t,n){},function(t,n,i){"use strict";var s,a,c,u=i(28),h=i(2),p=i(7),m=i(21),_=i(23),E=i(9),S=(i(3),i(14)),C=i(38),H=i(40),ie=(i(58).set,i(60)),z=i(30).set,T=i(48)(),F="Promise",te=h.TypeError,ee=h.process,U=h[F],ee=h.process,pe=m(ee)=="process",K=function(){},Ne=!!(function(){try{var I=U.resolve(1),B=(I.constructor={})[i(1)("species")]=function(R){R(K,K)};return(pe||typeof PromiseRejectionEvent=="function")&&I.then(K)instanceof B}catch{}})(),tt=function(I,B){return I===B||I===U&&B===c},Se=function(I){var B;return!(!E(I)||typeof(B=I.then)!="function")&&B},Me=function(I){return tt(U,I)?new we(I):new a(I)},we=a=function(I){var B,R;this.promise=new I(function(se,Oe){if(B!==void 0||R!==void 0)throw te("Bad Promise constructor");B=se,R=Oe}),this.resolve=S(B),this.reject=S(R)},qe=function(I){try{I()}catch(B){return{error:B}}},Ee=function(I,B){if(!I._n){I._n=!0;var R=I._c;T(function(){for(var se=I._v,Oe=I._s==1,j=0,ue=function(je){var nt,_t,Vt=Oe?je.ok:je.fail,an=je.resolve,Br=je.reject,Ln=je.domain;try{Vt?(Oe||(I._h==2&&yt(I),I._h=1),Vt===!0?nt=se:(Ln&&Ln.enter(),nt=Vt(se),Ln&&Ln.exit()),nt===je.promise?Br(te("Promise-chain cycle")):(_t=Se(nt))?_t.call(nt,an,Br):an(nt)):Br(se)}catch(es){Br(es)}};R.length>j;)ue(R[j++]);I._c=[],I._n=!1,B&&!I._h&&rt(I)})}},rt=function(I){z.call(h,function(){var B,R,se,Oe=I._v;if(Fe(I)&&(B=qe(function(){pe?ee.emit("unhandledRejection",Oe,I):(R=h.onunhandledrejection)?R({promise:I,reason:Oe}):(se=h.console)&&se.error&&se.error("Unhandled promise rejection",Oe)}),I._h=pe||Fe(I)?2:1),I._a=void 0,B)throw B.error})},Fe=function(I){if(I._h==1)return!1;for(var B,R=I._a||I._c,se=0;R.length>se;)if(B=R[se++],B.fail||!Fe(B.promise))return!1;return!0},yt=function(I){z.call(h,function(){var B;pe?ee.emit("rejectionHandled",I):(B=h.onrejectionhandled)&&B({promise:I,reason:I._v})})},We=function(I){var B=this;B._d||(B._d=!0,B=B._w||B,B._v=I,B._s=2,B._a||(B._a=B._c.slice()),Ee(B,!0))},dt=function(I){var B,R=this;if(!R._d){R._d=!0,R=R._w||R;try{if(R===I)throw te("Promise can't be resolved itself");(B=Se(I))?T(function(){var se={_w:R,_d:!1};try{B.call(I,p(dt,se,1),p(We,se,1))}catch(Oe){We.call(se,Oe)}}):(R._v=I,R._s=1,Ee(R,!1))}catch(se){We.call({_w:R,_d:!1},se)}}};Ne||(U=function(I){C(this,U,F,"_h"),S(I),s.call(this);try{I(p(dt,this,1),p(We,this,1))}catch(B){We.call(this,B)}},s=function(I){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},s.prototype=i(56)(U.prototype,{then:function(I,B){var R=Me(ie(this,U));return R.ok=typeof I!="function"||I,R.fail=typeof B=="function"&&B,R.domain=pe?ee.domain:void 0,this._c.push(R),this._a&&this._a.push(R),this._s&&Ee(this,!1),R.promise},catch:function(I){return this.then(void 0,I)}}),we=function(){var I=new s;this.promise=I,this.resolve=p(dt,I,1),this.reject=p(We,I,1)}),_(_.G+_.W+_.F*!Ne,{Promise:U}),i(18)(U,F),i(59)(F),c=i(6)[F],_(_.S+_.F*!Ne,F,{reject:function(I){var B=Me(this),R=B.reject;return R(I),B.promise}}),_(_.S+_.F*(u||!Ne),F,{resolve:function(I){if(I instanceof U&&tt(I.constructor,this))return I;var B=Me(this),R=B.resolve;return R(I),B.promise}}),_(_.S+_.F*!(Ne&&i(46)(function(I){U.all(I).catch(K)})),F,{all:function(I){var B=this,R=Me(B),se=R.resolve,Oe=R.reject,j=qe(function(){var ue=[],je=0,nt=1;H(I,!1,function(_t){var Vt=je++,an=!1;ue.push(void 0),nt++,B.resolve(_t).then(function(Br){an||(an=!0,ue[Vt]=Br,--nt||se(ue))},Oe)}),--nt||se(ue)});return j&&Oe(j.error),R.promise},race:function(I){var B=this,R=Me(B),se=R.reject,Oe=qe(function(){H(I,!1,function(j){B.resolve(j).then(R.resolve,se)})});return Oe&&se(Oe.error),R.promise}})},function(t,n,i){"use strict";var s=i(61)(!0);i(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,c=this._t,u=this._i;return u>=c.length?{value:void 0,done:!0}:(a=s(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,i){i(65);for(var s=i(2),a=i(5),c=i(10),u=i(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],p=0;p<5;p++){var m=h[p],_=s[m],E=_&&_.prototype;E&&!E[u]&&a(E,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function eE(){try{return Jc.default.statSync("/.dockerenv"),!0}catch{return!1}}function tE(){try{return Jc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function Zc(){return Xc===void 0&&(Xc=eE()||tE()),Xc}var Jc,Xc,fd=$t(()=>{Jc=he(require("node:fs"),1)});function fi(){return Qc===void 0&&(Qc=rE()||Zc()),Qc}var ud,Qc,rE,ef=$t(()=>{ud=he(require("node:fs"),1);fd();rE=()=>{try{return ud.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var tf,hd,dd,ld,en,rf=$t(()=>{tf=he(require("node:process"),1),hd=he(require("node:os"),1),dd=he(require("node:fs"),1);ef();ld=()=>{if(tf.default.platform!=="linux")return!1;if(hd.default.release().toLowerCase().includes("microsoft"))return!fi();try{return dd.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!fi():!1}catch{return!1}},en=tf.default.env.__IS_WSL_TEST__?ld:ld()});var nf,Gi,nE,iE,sf,pd=$t(()=>{nf=he(require("node:process"),1),Gi=he(require("node:fs/promises"),1);rf();rf();nE=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Gi.default.access(t,Gi.constants.F_OK),n=!0}catch{}if(!n)return r;let i=await Gi.default.readFile(t,{encoding:"utf8"}),s=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(i);return s?(e=s.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),iE=async()=>`${await nE()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,sf=async()=>en?iE():`${nf.default.env.SYSTEMROOT||nf.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function tn(r,e,t){let n=i=>Object.defineProperty(r,e,{value:i,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let i=t();return n(i),i},set(i){n(i)}}),r}var gd=$t(()=>{});async function of(){if(yd.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await sE("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),t=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(r)?.groups.id??"com.apple.Safari";return t==="com.apple.safari"?"com.apple.Safari":t}var md,yd,_d,sE,bd=$t(()=>{md=require("node:util"),yd=he(require("node:process"),1),_d=require("node:child_process"),sE=(0,md.promisify)(_d.execFile)});async function wd(r,{humanReadableOutput:e=!0,signal:t}={}){if(Ed.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],i={};t&&(i.signal=t);let{stdout:s}=await oE("osascript",["-e",r,n],i);return s.trim()}var Ed,vd,af,oE,xd=$t(()=>{Ed=he(require("node:process"),1),vd=require("node:util"),af=require("node:child_process"),oE=(0,vd.promisify)(af.execFile)});async function cf(r){return wd(`tell application "Finder" to set app_path to application file id "${r}" as string
|
|
35
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Sd=$t(()=>{xd()});async function uf(r=aE){let{stdout:e}=await r("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),t=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(e);if(!t)throw new ff(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=t.groups,i=n.lastIndexOf("."),s=n.lastIndexOf("-"),a=i===-1?void 0:n.slice(0,i),c=s===-1?void 0:n.slice(0,s);return So[n]??So[a]??So[c]??{name:n,id:n}}var Td,Cd,aE,So,xx,ff,kd=$t(()=>{Td=require("node:util"),Cd=require("node:child_process"),aE=(0,Td.promisify)(Cd.execFile),So={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},xx=new Map(Object.entries(So)),ff=class extends Error{}});async function lf(){if(To.default.platform==="darwin"){let r=await of();return{name:await cf(r),id:r}}if(To.default.platform==="linux"){let{stdout:r}=await cE("xdg-mime",["query","default","x-scheme-handler/http"]),e=r.trim();return{name:fE(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(To.default.platform==="win32")return uf();throw new Error("Only macOS, Linux, and Windows are supported")}var Od,To,Pd,cE,fE,Ad=$t(()=>{Od=require("node:util"),To=he(require("node:process"),1),Pd=require("node:child_process");bd();Sd();kd();cE=(0,Od.promisify)(Pd.execFile),fE=r=>r.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var Dd={};Lp(Dd,{apps:()=>rn,default:()=>pE,openApp:()=>dE});async function lE(){let r=await sf(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=pf.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await uE(r,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),i=n.trim(),s={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return s[i]?{id:s[i]}:{}}function Nd(r){if(typeof r=="string"||Array.isArray(r))return r;let{[Id]:e}=r;if(!e)throw new Error(`${Id} is not supported`);return e}function ko({[ui]:r},{wsl:e}){if(e&&en)return Nd(e);if(!r)throw new Error(`${ui} is not supported`);return Nd(r)}var df,pf,gf,Md,Fd,mf,Co,gE,uE,hf,Rd,ui,Id,Ld,Yi,hE,dE,rn,pE,Bd=$t(()=>{df=he(require("node:process"),1),pf=require("node:buffer"),gf=he(require("node:path"),1),Md=require("node:url"),Fd=require("node:util"),mf=he(require("node:child_process"),1),Co=he(require("node:fs/promises"),1);pd();gd();Ad();ef();gE={},uE=(0,Fd.promisify)(mf.default.execFile),hf=gf.default.dirname((0,Md.fileURLToPath)(gE.url)),Rd=gf.default.join(hf,"xdg-open"),{platform:ui,arch:Id}=df.default;Ld=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(i){t=i}throw t},Yi=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Ld(r.app,c=>Yi({...r,app:c}));let{name:e,arguments:t=[]}=r.app??{};if(t=[...t],Array.isArray(e))return Ld(e,c=>Yi({...r,app:{name:c,arguments:t}}));if(e==="browser"||e==="browserPrivate"){let c={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.Browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge"},u={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},h=en?await lE():await lf();if(h.id in c){let p=c[h.id];return e==="browserPrivate"&&t.push(u[p]),Yi({...r,app:{name:rn[p],arguments:t}})}throw new Error(`${h.name} is not supported as a default browser`)}let n,i=[],s={};if(ui==="darwin")n="open",r.wait&&i.push("--wait-apps"),r.background&&i.push("--background"),r.newInstance&&i.push("--new"),e&&i.push("-a",e);else if(ui==="win32"||en&&!fi()&&!e){n=await sf(),i.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),en||(s.windowsVerbatimArguments=!0);let c=["Start"];r.wait&&c.push("-Wait"),e?(c.push(`"\`"${e}\`""`),r.target&&t.push(r.target)):r.target&&c.push(`"${r.target}"`),t.length>0&&(t=t.map(u=>`"\`"${u}\`""`),c.push("-ArgumentList",t.join(","))),r.target=pf.Buffer.from(c.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let c=!hf||hf==="/",u=!1;try{await Co.default.access(Rd,Co.constants.X_OK),u=!0}catch{}n=df.default.versions.electron??(ui==="android"||c||!u)?"xdg-open":Rd}t.length>0&&i.push(...t),r.wait||(s.stdio="ignore",s.detached=!0)}ui==="darwin"&&t.length>0&&i.push("--args",...t),r.target&&i.push(r.target);let a=mf.default.spawn(n,i,s);return r.wait?new Promise((c,u)=>{a.once("error",u),a.once("close",h=>{if(!r.allowNonzeroExitCode&&h>0){u(new Error(`Exited with code ${h}`));return}c(a)})}):(a.unref(),a)},hE=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return Yi({...e,target:r})},dE=(r,e)=>{if(typeof r!="string"&&!Array.isArray(r))throw new TypeError("Expected a valid `name`");let{arguments:t=[]}=e??{};if(t!=null&&!Array.isArray(t))throw new TypeError("Expected `appArguments` as Array type");return Yi({...e,app:{name:r,arguments:t}})};rn={};tn(rn,"chrome",()=>ko({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));tn(rn,"brave",()=>ko({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));tn(rn,"firefox",()=>ko({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));tn(rn,"edge",()=>ko({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));tn(rn,"browser",()=>"browser");tn(rn,"browserPrivate",()=>"browserPrivate");pE=hE});var vr=he(require("fs")),cs=he(require("path"));var Df=he(require("os")),Bf=he(require("path")),os=he(require("fs"));function as(){let r=Bf.join(Df.homedir(),".termiq");return os.existsSync(r)||os.mkdirSync(r,{recursive:!0,mode:448}),r}var bi=class{filePath;data={};constructor(){this.filePath=cs.join(as(),"credentials"),this.load()}async get(e){return this.data[e]}async set(e,t){this.data[e]=t,this.save()}async delete(e){delete this.data[e],this.save()}load(){try{if(vr.existsSync(this.filePath)){let e=vr.readFileSync(this.filePath,"utf-8");this.data=JSON.parse(e)}}catch{this.data={}}}save(){let e=cs.dirname(this.filePath);vr.existsSync(e)||vr.mkdirSync(e,{recursive:!0,mode:448}),vr.writeFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384})}};var wr=he(require("fs")),fs=he(require("path"));var Mp={serverUrl:"https://termiq.io",agentName:"",multiViewer:!1,pushPromptText:!1,signalWaiting:!0},Ei=class{config;filePath;constructor(e){this.filePath=fs.join(as(),"config.json"),this.config={...Mp,...this.loadFromFile(),...e}}getServerUrl(){return this.config.serverUrl}getAgentName(){return this.config.agentName}isAutoConnect(){return!0}getMultiViewer(){return this.config.multiViewer}async setMultiViewer(e){this.config.multiViewer=e,this.saveToFile()}getPushPromptText(){return this.config.pushPromptText}async setPushPromptText(e){this.config.pushPromptText=e,this.saveToFile()}getSignalWaiting(){return this.config.signalWaiting}async setSignalWaiting(e){this.config.signalWaiting=e,this.saveToFile()}async setAgentName(e){this.config.agentName=e,this.saveToFile()}loadFromFile(){try{if(wr.existsSync(this.filePath)){let e=wr.readFileSync(this.filePath,"utf-8");return JSON.parse(e)}}catch{}return{}}saveToFile(){let e=fs.dirname(this.filePath);wr.existsSync(e)||wr.mkdirSync(e,{recursive:!0,mode:448}),wr.writeFileSync(this.filePath,JSON.stringify(this.config,null,2))}};var vt=he(require("fs")),zc=he(require("path")),od=he(require("os")),xo=he(Wi()),Xb="cli",$c=zc.join(od.homedir(),".termiq","logs"),Qr=zc.join($c,"cli.log"),Jb=5*1024*1024,sd=3;function Zb(){try{if(!vt.existsSync(Qr)||vt.statSync(Qr).size<Jb)return;for(let e=sd-1;e>=1;e--){let t=`${Qr}.${e}`,n=`${Qr}.${e+1}`;vt.existsSync(t)&&(e+1>sd?vt.unlinkSync(t):vt.renameSync(t,n))}vt.renameSync(Qr,`${Qr}.1`)}catch{}}function Qb(r){try{vt.existsSync($c)||vt.mkdirSync($c,{recursive:!0}),Zb(),vt.appendFileSync(Qr,r+`
|
|
36
|
+
`,{encoding:"utf8"})}catch{}}var Hi=class{level;toFile;constructor(e="silent",t=!1){typeof e=="boolean"?this.level=e?"info":"silent":this.level=e,this.toFile=t}static getLogFilePath(){return Qr}write(e,t,n){if(!(0,xo.shouldLog)(e,this.level))return;let i=(0,xo.formatLogLine)(e,Xb,t,n);this.toFile?Qb(i):process.stderr.write(i+`
|
|
37
|
+
`)}info(e,...t){this.write("info",e,t)}warn(e,...t){this.write("warn",e,t)}error(e,...t){this.write("error",e,t)}debug(e,...t){this.write("debug",e,t)}};var ad=he(require("os")),cd=he(Yc()),$i=class{cachedId=null;name;constructor(e){this.name=e||ad.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,cd.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var zi=class{constructor(e){this.logger=e}info(e){this.logger.info("Notification",{message:e})}warn(e){this.logger.warn("Notification",{message:e})}error(e){this.logger.error("Notification",{message:e})}};var Xi=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(Bd(),Dd));await t(e)}};var jd=he(require("fs")),yf=he(require("path"));function Oo(r){let e=r?[r]:[yf.join(__dirname,"..","package.json"),yf.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(jd.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}function Ud(r,e){for(let t=0;t<r.length;t++){let n=r[t];if(n.startsWith("-")){e.has(n)&&t++;continue}return n}}var _f=new Set(["--cid","--token","--server","--log-level"]),Kd=new Set(["--help","-h","--version","-V","--verbose","-v","--watch","-w","--log-to-file","--statusline","--multi-viewer","--force"]);function qd(r,e,t){for(let n=0;n<r.length;n++){let i=r[n];if(!i.startsWith("-"))continue;let s=i.includes("=")?i.slice(0,i.indexOf("=")):i;if(e.has(s)||t.has(s)){e.has(s)&&!i.includes("=")&&n++;continue}return i}}var gp=he(require("path")),ht=he(Wi()),mp=he(kr());var Wd=he(require("os")),Hd=require("crypto"),Vd=he(require("node-pty")),li=he(Wi()),Po=class r{ptyProcess=null;outputBuffer=new li.CircularBuffer(100);altScreenActive=!1;streamId=null;logger;onOutput=null;onExit=null;preWriteHook=null;onResize=null;onLocalClaim=null;onLocalInput=null;sigwinchEnabled=!0;sigwinchListener=null;desiredCols=null;desiredRows=null;rebroadcastTimers=[];static REBROADCAST_DELAYS_MS=[50,200,500];static PASTE_CHAR_DELAY_MS=10;writeQueue=[];draining=!1;drainTimer=null;reservedBottomRows=0;multiViewerMode=!1;constructor(e){this.logger=e}setMultiViewerMode(e){this.multiViewerMode!==e&&(this.multiViewerMode=e,this.logger.info("Multi-viewer mode",{enabled:e}))}spawn(e,t=0){let n=process.env.SHELL||(Wd.platform()==="win32"?"powershell.exe":"/bin/bash"),i=process.stdout.columns||80,s=process.stdout.rows||24,a=Math.max(1,s-t);this.reservedBottomRows=t,this.ptyProcess=Vd.spawn(n,[],{name:"xterm-256color",cols:i,rows:a,cwd:e,env:{...process.env,TERMIQ_SESSION_ACTIVE:"1"}}),this.onResize?.(i,a),this.streamId=(0,Hd.randomUUID)();let c=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(u=>{this.altScreenActive=(0,li.trackAltScreen)(u,this.altScreenActive),this.preWriteHook?.(u),process.stdout.write(u),this.outputBuffer.append(u),this.onOutput?.(u)}),this.ptyProcess.onExit(({exitCode:u})=>{this.logger.info("Shell exited",String(u)),this.onExit?.(u)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",u=>{let h=u.toString();this.multiViewerMode&&!(0,li.isTerminalReplyOnly)(h)&&this.maybeClaimLocalControl(),this.onLocalInput?.(h),this.ptyProcess?.write(h)}),this.sigwinchListener=()=>{let u=process.stdout.columns||80,h=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);if(this.multiViewerMode){this.logger.info("Local resize claims control",{cols:u,rows:h}),this.resize(u,h),this.onLocalClaim?.(u,h);return}if(this.desiredCols!==null&&this.desiredRows!==null){this.logger.info("Local resize ignored (PWA desired-size set)",{host:{cols:u,rows:h},desired:{cols:this.desiredCols,rows:this.desiredRows}});return}if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:u,rows:h});return}this.logger.info("Local resize applied",{cols:u,rows:h}),this.ptyProcess?.resize(u,h),this.onResize?.(u,h)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",n,c),c}write(e,t=!1){if(this.ptyProcess){if(!t&&!this.draining){this.ptyProcess.write(e);return}for(let n of e)this.writeQueue.push(n);this.drainWriteQueue()}}drainWriteQueue(){if(this.draining)return;this.draining=!0;let e=()=>{let t=this.writeQueue.shift();if(t===void 0||!this.ptyProcess){this.draining=!1;return}this.ptyProcess.write(t),this.drainTimer=setTimeout(e,r.PASTE_CHAR_DELAY_MS)};e()}getStreamId(){return this.streamId}getPtyCols(){return this.ptyProcess?.cols??0}getPtyRows(){return this.ptyProcess?.rows??0}resize(e,t){if(this.desiredCols=e,this.desiredRows=t,this.ptyProcess&&this.ptyProcess.cols===e&&this.ptyProcess.rows===t){this.cancelRebroadcast();return}this.ptyProcess?.resize(e,t),this.onResize?.(e,t),this.cancelRebroadcast();for(let n of r.REBROADCAST_DELAYS_MS)this.rebroadcastTimers.push(setTimeout(()=>{this.ptyProcess&&(this.desiredCols!==e||this.desiredRows!==t||this.ptyProcess.cols===e&&this.ptyProcess.rows===t||this.ptyProcess.resize(e,t))},n))}cancelRebroadcast(){for(let e of this.rebroadcastTimers)clearTimeout(e);this.rebroadcastTimers=[]}redrawNoResize(){if(this.ptyProcess){if(this.desiredCols===null||this.desiredRows===null){this.logger.info("Redraw skipped (no desired-size set yet)");return}this.ptyProcess.resize(this.desiredCols,this.desiredRows)}}maybeClaimLocalControl(){if(!this.ptyProcess)return;let e=process.stdout.columns||80,t=Math.max(1,(process.stdout.rows||24)-this.reservedBottomRows);this.ptyProcess.cols===e&&this.ptyProcess.rows===t||(this.logger.info("Local input claims control",{cols:e,rows:t}),this.resize(e,t),this.onLocalClaim?.(e,t))}setOnLocalClaim(e){this.onLocalClaim=e}setOnLocalInput(e){this.onLocalInput=e}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}))}getBuffer(){let e=this.outputBuffer.getContent();return this.altScreenActive?`\x1B[?1049h${e}`:e}isAltScreen(){return this.altScreenActive}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setPreWriteHook(e){this.preWriteHook=e}setOnResize(e){this.onResize=e}setOnExit(e){this.onExit=e}isAlive(){return this.ptyProcess!==null}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),this.cancelRebroadcast(),this.drainTimer&&(clearTimeout(this.drainTimer),this.drainTimer=null),this.writeQueue=[],this.draining=!1,this.sigwinchListener&&(process.platform==="win32"?process.stdout.removeListener("resize",this.sigwinchListener):process.removeListener("SIGWINCH",this.sigwinchListener),this.sigwinchListener=null),process.stdin.isTTY&&process.stdin.setRawMode(!1),process.stdin.pause()}};var nn=he(require("path")),di=he(require("fs"));var ap=require("node:events"),cp=require("node:fs"),Do=require("node:fs/promises"),xe=he(require("node:path"),1);var Fr=require("node:fs/promises"),Dr=require("node:path"),Yd=require("node:stream"),Lt={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},bf={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Lt.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(bf);var Xd="READDIRP_RECURSIVE_ERROR",mE=new Set(["ENOENT","EPERM","EACCES","ELOOP",Xd]),$d=[Lt.DIR_TYPE,Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE,Lt.FILE_TYPE],yE=new Set([Lt.DIR_TYPE,Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE]),_E=new Set([Lt.EVERYTHING_TYPE,Lt.FILE_DIR_TYPE,Lt.FILE_TYPE]),bE=r=>mE.has(r.code),EE=process.platform==="win32",zd=r=>!0,Gd=r=>{if(r===void 0)return zd;if(typeof r=="function")return r;if(typeof r=="string"){let e=r.trim();return t=>t.basename===e}if(Array.isArray(r)){let e=r.map(t=>t.trim());return t=>e.some(n=>t.basename===n)}return zd},Ef=class extends Yd.Readable{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...bf,...e},{root:n,type:i}=t;this._fileFilter=Gd(t.fileFilter),this._directoryFilter=Gd(t.directoryFilter);let s=t.lstat?Fr.lstat:Fr.stat;EE?this._stat=a=>s(a,{bigint:!0}):this._stat=s,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:bf.depth,this._wantsDir=i?yE.has(i):!1,this._wantsFile=i?_E.has(i):!1,this._wantsEverything=i===Lt.EVERYTHING_TYPE,this._root=(0,Dr.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:i,depth:s}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,i)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let h=await this._getEntryType(u);h==="directory"&&this._directoryFilter(u)?(s<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,s+1)),this._wantsDir&&(this.push(u),e--)):(h==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let i=this.parents.pop();if(!i){this.push(null);break}if(this.parent=await i,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,Fr.readdir)(e,this._rdOptions)}catch(i){this._onError(i)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,i=this._isDirent?e.name:e;try{let s=(0,Dr.resolve)((0,Dr.join)(t,i));n={path:(0,Dr.relative)(this._root,s),fullPath:s,basename:i},n[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(s){this._onError(s);return}return n}_onError(e){bE(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return"";let t=e[this._statsProp];if(t.isFile())return"file";if(t.isDirectory())return"directory";if(t&&t.isSymbolicLink()){let n=e.fullPath;try{let i=await(0,Fr.realpath)(n),s=await(0,Fr.lstat)(i);if(s.isFile())return"file";if(s.isDirectory()){let a=i.length;if(n.startsWith(i)&&n.substr(a,1)===Dr.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${i}"`);return c.code=Xd,this._onError(c)}return"directory"}}catch(i){return this._onError(i),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function Jd(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Lt.FILE_DIR_TYPE),t&&(e.type=t),r){if(typeof r!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(t&&!$d.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${$d.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new Ef(e)}var In=require("node:fs"),rr=require("node:fs/promises"),Qd=require("node:os"),Ye=he(require("node:path"),1),vE="data",xf="end",ep="close",No=()=>{};var Mo=process.platform,Sf=Mo==="win32",wE=Mo==="darwin",xE=Mo==="linux",SE=Mo==="freebsd",tp=(0,Qd.type)()==="OS400",Je={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},tr=Je,TE="watch",CE={lstat:rr.lstat,stat:rr.stat},Rn="listeners",Ao="errHandlers",hi="rawEmitters",kE=[Rn,Ao,hi],OE=new Set(["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"]),PE=r=>OE.has(Ye.extname(r).slice(1).toLowerCase()),wf=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Ji=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},AE=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},Zi=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},rp=r=>r instanceof Set?r.size===0:!r,Ro=new Map;function Zd(r,e,t,n,i){let s=(a,c)=>{t(r),i(a,c,{watchedPath:r}),c&&r!==c&&Io(Ye.resolve(r,c),Rn,Ye.join(r,c))};try{return(0,In.watch)(r,{persistent:e.persistent},s)}catch(a){n(a);return}}var Io=(r,e,t,n,i)=>{let s=Ro.get(r);s&&wf(s[e],a=>{a(t,n,i)})},RE=(r,e,t,n)=>{let{listener:i,errHandler:s,rawEmitter:a}=n,c=Ro.get(e),u;if(!t.persistent)return u=Zd(r,t,i,s,a),u?u.close.bind(u):void 0;if(c)Ji(c,Rn,i),Ji(c,Ao,s),Ji(c,hi,a);else{if(u=Zd(r,t,Io.bind(null,e,Rn),s,Io.bind(null,e,hi)),!u)return;u.on(tr.ERROR,async h=>{let p=Io.bind(null,e,Ao);if(c&&(c.watcherUnusable=!0),Sf&&h.code==="EPERM")try{await(await(0,rr.open)(r,"r")).close(),p(h)}catch{}else p(h)}),c={listeners:i,errHandlers:s,rawEmitters:a,watcher:u},Ro.set(e,c)}return()=>{Zi(c,Rn,i),Zi(c,Ao,s),Zi(c,hi,a),rp(c.listeners)&&(c.watcher.close(),Ro.delete(e),kE.forEach(AE(c)),c.watcher=void 0,Object.freeze(c))}},vf=new Map,IE=(r,e,t,n)=>{let{listener:i,rawEmitter:s}=n,a=vf.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,In.unwatchFile)(e),a=void 0),a?(Ji(a,Rn,i),Ji(a,hi,s)):(a={listeners:i,rawEmitters:s,options:t,watcher:(0,In.watchFile)(e,t,(u,h)=>{wf(a.rawEmitters,m=>{m(tr.CHANGE,e,{curr:u,prev:h})});let p=u.mtimeMs;(u.size!==h.size||p>h.mtimeMs||p===0)&&wf(a.listeners,m=>m(r,u))})},vf.set(e,a)),()=>{Zi(a,Rn,i),Zi(a,hi,s),rp(a.listeners)&&(vf.delete(e),(0,In.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},Lo=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,i=Ye.dirname(e),s=Ye.basename(e);this.fsw._getWatchedDir(i).add(s);let c=Ye.resolve(e),u={persistent:n.persistent};t||(t=No);let h;if(n.usePolling){let p=n.interval!==n.binaryInterval;u.interval=p&&PE(s)?n.binaryInterval:n.interval,h=IE(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else h=RE(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return h}_handleFile(e,t,n){if(this.fsw.closed)return;let i=Ye.dirname(e),s=Ye.basename(e),a=this.fsw._getWatchedDir(i),c=t;if(a.has(s))return;let u=async(p,m)=>{if(this.fsw._throttle(TE,e,5)){if(!m||m.mtimeMs===0)try{let _=await(0,rr.stat)(e);if(this.fsw.closed)return;let E=_.atimeMs,S=_.mtimeMs;if((!E||E<=S||S!==c.mtimeMs)&&this.fsw._emit(tr.CHANGE,e,_),(wE||xE||SE)&&c.ino!==_.ino){this.fsw._closeFile(p),c=_;let C=this._watchWithNodeFs(e,u);C&&this.fsw._addPathCloser(p,C)}else c=_}catch{this.fsw._remove(i,s)}else if(a.has(s)){let _=m.atimeMs,E=m.mtimeMs;(!_||_<=E||E!==c.mtimeMs)&&this.fsw._emit(tr.CHANGE,e,m),c=m}}},h=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(tr.ADD,e,0))return;this.fsw._emit(tr.ADD,e,t)}return h}async _handleSymlink(e,t,n,i){if(this.fsw.closed)return;let s=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,rr.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(i)?this.fsw._symlinkPaths.get(s)!==c&&(this.fsw._symlinkPaths.set(s,c),this.fsw._emit(tr.CHANGE,n,e.stats)):(a.add(i),this.fsw._symlinkPaths.set(s,c),this.fsw._emit(tr.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(s))return!0;this.fsw._symlinkPaths.set(s,!0)}_handleRead(e,t,n,i,s,a,c){e=Ye.join(e,"");let u=i?`${e}:${i}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let h=this.fsw._getWatchedDir(n.path),p=new Set,m=this.fsw._readdirp(e,{fileFilter:_=>n.filterPath(_),directoryFilter:_=>n.filterDir(_)});if(m)return m.on(vE,async _=>{if(this.fsw.closed){m=void 0;return}let E=_.path,S=Ye.join(e,E);if(p.add(E),!(_.stats.isSymbolicLink()&&await this._handleSymlink(_,e,S,E))){if(this.fsw.closed){m=void 0;return}(E===i||!i&&!h.has(E))&&(this.fsw._incrReadyCount(),S=Ye.join(s,Ye.relative(s,S)),this._addToNodeFs(S,t,n,a+1))}}).on(tr.ERROR,this._boundHandleError),new Promise((_,E)=>{if(!m)return E();m.once(xf,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;_(void 0),h.getChildren().filter(C=>C!==e&&!p.has(C)).forEach(C=>{this.fsw._remove(e,C)}),m=void 0,S&&this._handleRead(e,!1,n,i,s,a,c)})})}async _handleDir(e,t,n,i,s,a,c){let u=this.fsw._getWatchedDir(Ye.dirname(e)),h=u.has(Ye.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!s&&!h&&this.fsw._emit(tr.ADD_DIR,e,t),u.add(Ye.basename(e)),this.fsw._getWatchedDir(e);let p,m,_=this.fsw.options.depth;if((_==null||i<=_)&&!this.fsw._symlinkPaths.has(c)){if(!s&&(await this._handleRead(e,n,a,s,e,i,p),this.fsw.closed))return;m=this._watchWithNodeFs(e,(E,S)=>{S&&S.mtimeMs===0||this._handleRead(E,!1,a,s,e,i,p)})}return m}async _addToNodeFs(e,t,n,i,s){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let c=this.fsw._getWatchHelpers(e);n&&(c.filterPath=u=>n.filterPath(u),c.filterDir=u=>n.filterDir(u));try{let u=await CE[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let h=this.fsw.options.followSymlinks,p;if(u.isDirectory()){let m=Ye.resolve(e),_=h?await(0,rr.realpath)(e):e;if(this.fsw.closed||(p=await this._handleDir(c.watchPath,u,t,i,s,c,_),this.fsw.closed))return;m!==_&&_!==void 0&&this.fsw._symlinkPaths.set(m,_)}else if(u.isSymbolicLink()){let m=h?await(0,rr.realpath)(e):e;if(this.fsw.closed)return;let _=Ye.dirname(c.watchPath);if(this.fsw._getWatchedDir(_).add(c.watchPath),this.fsw._emit(tr.ADD,c.watchPath,u),p=await this._handleDir(_,u,t,i,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(Ye.resolve(e),m)}else p=this._handleFile(c.watchPath,u,t);return a(),p&&this.fsw._addPathCloser(e,p),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var Tf="/",LE="//",fp=".",NE="..",ME="string",FE=/\\/g,up=/\/\//g,DE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,BE=/^\.[/\\]/;function Fo(r){return Array.isArray(r)?r:[r]}var Cf=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function jE(r){return typeof r=="function"?r:typeof r=="string"?e=>r===e:r instanceof RegExp?e=>r.test(e):typeof r=="object"&&r!==null?e=>{if(r.path===e)return!0;if(r.recursive){let t=xe.relative(r.path,e);return t?!t.startsWith("..")&&!xe.isAbsolute(t):!1}return!1}:()=>!1}function UE(r){if(typeof r!="string")throw new Error("string expected");r=xe.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(up,"/"),e&&(r="/"+r),r}function np(r,e,t){let n=UE(e);for(let i=0;i<r.length;i++){let s=r[i];if(s(n,t))return!0}return!1}function KE(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=Fo(r).map(i=>jE(i));return e==null?(i,s)=>np(n,i,s):np(n,e)}var ip=r=>{let e=Fo(r).flat();if(!e.every(t=>typeof t===ME))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(lp)},sp=r=>{let e=r.replace(FE,Tf),t=!1;return e.startsWith(LE)&&(t=!0),e=e.replace(up,Tf),t&&(e=Tf+e),e},lp=r=>sp(xe.normalize(sp(r))),op=(r="")=>e=>typeof e=="string"?lp(xe.isAbsolute(e)?e:xe.join(r,e)):e,qE=(r,e)=>xe.isAbsolute(r)?r:xe.join(e,r),WE=Object.freeze(new Set),kf=class{path;_removeWatcher;items;constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==fp&&e!==NE&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await(0,Do.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(xe.dirname(n),xe.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=No,this.items=WE,Object.freeze(this)}},HE="stat",VE="lstat",Of=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let i=e;this.path=e=e.replace(BE,""),this.watchPath=i,this.fullWatchPath=xe.resolve(i),this.dirParts=[],this.dirParts.forEach(s=>{s.length>1&&s.pop()}),this.followSymlinks=t,this.statMethod=t?HE:VE}entryPath(e){return xe.join(this.watchPath,xe.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Pf=class extends ap.EventEmitter{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},i={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?Fo(e.ignored):Fo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};tp&&(i.usePolling=!0),i.atomic===void 0&&(i.atomic=!i.usePolling);let s=process.env.CHOKIDAR_USEPOLLING;if(s!==void 0){let u=s.toLowerCase();u==="false"||u==="0"?i.usePolling=!1:u==="true"||u==="1"?i.usePolling=!0:i.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(i.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=No,this._readyEmitted=!0,process.nextTick(()=>this.emit(Je.READY)))},this._emitRaw=(...u)=>this.emit(Je.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=i,this._nodeFsHandler=new Lo(this),Object.freeze(i)}_addIgnoredPath(e){if(Cf(e)){for(let t of this._ignoredPaths)if(Cf(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e=="string")for(let t of this._ignoredPaths)Cf(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:i}=this.options;this.closed=!1,this._closePromise=void 0;let s=ip(e);return i&&(s=s.map(a=>qE(a,i))),s.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=s.length,Promise.all(s.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!n,void 0,0,t);return c&&this._emitReady(),c})).then(a=>{this.closed||a.forEach(c=>{c&&this.add(xe.dirname(c),xe.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=ip(e),{cwd:n}=this.options;return t.forEach(i=>{!xe.isAbsolute(i)&&!this._closers.has(i)&&(n&&(i=xe.join(n,i)),i=xe.resolve(i)),this._closePath(i),this._addIgnoredPath(i),this._watched.has(i)&&this._addIgnoredPath({path:i,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(n=>{let i=n();i instanceof Promise&&e.push(i)})),this._streams.forEach(t=>t.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(t=>t.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let s=(this.options.cwd?xe.relative(this.options.cwd,n):n)||fp;e[s]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Je.ERROR&&this.emit(Je.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let i=this.options;Sf&&(t=xe.normalize(t)),i.cwd&&(t=xe.relative(i.cwd,t));let s=[t];n!=null&&s.push(n);let a=i.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(i.atomic){if(e===Je.UNLINK)return this._pendingUnlinks.set(t,[e,...s]),setTimeout(()=>{this._pendingUnlinks.forEach((u,h)=>{this.emit(...u),this.emit(Je.ALL,...u),this._pendingUnlinks.delete(h)})},typeof i.atomic=="number"?i.atomic:100),this;e===Je.ADD&&this._pendingUnlinks.has(t)&&(e=Je.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Je.ADD||e===Je.CHANGE)&&this._readyEmitted){let u=(h,p)=>{h?(e=Je.ERROR,s[0]=h,this.emitWithAll(e,s)):p&&(s.length>1?s[1]=p:s.push(p),this.emitWithAll(e,s))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Je.CHANGE&&!this._throttle(Je.CHANGE,t,50))return this;if(i.alwaysStat&&n===void 0&&(e===Je.ADD||e===Je.ADD_DIR||e===Je.CHANGE)){let u=i.cwd?xe.join(i.cwd,t):t,h;try{h=await(0,Do.stat)(u)}catch{}if(!h||this.closed)return;s.push(h)}return this.emitWithAll(e,s),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Je.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e);if(!i)throw new Error("invalid throttle");let s=i.get(t);if(s)return s.count++,!1;let a,c=()=>{let h=i.get(t),p=h?h.count:0;return i.delete(t),clearTimeout(a),h&&clearTimeout(h.timeoutObject),p};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return i.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,i){let s=this.options.awaitWriteFinish;if(typeof s!="object")return;let a=s.pollInterval,c,u=e;this.options.cwd&&!xe.isAbsolute(e)&&(u=xe.join(this.options.cwd,e));let h=new Date,p=this._pendingWrites;function m(_){(0,cp.stat)(u,(E,S)=>{if(E||!p.has(e)){E&&E.code!=="ENOENT"&&i(E);return}let C=Number(new Date);_&&S.size!==_.size&&(p.get(e).lastChange=C);let H=p.get(e);C-H.lastChange>=t?(p.delete(e),i(void 0,S)):c=setTimeout(m,a,S)})}p.has(e)||(p.set(e,{lastChange:h,cancelWait:()=>(p.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&DE.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,s=(this.options.ignored||[]).map(op(n)),c=[...[...this._ignoredPaths].map(op(n)),...s];this._userIgnored=KE(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Of(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=xe.resolve(e);return this._watched.has(t)||this._watched.set(t,new kf(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let i=xe.join(e,t),s=xe.resolve(i);if(n=n??(this._watched.has(i)||this._watched.has(s)),!this._throttle("remove",i,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(i).getChildren().forEach(_=>this._remove(i,_));let u=this._getWatchedDir(e),h=u.has(t);u.remove(t),this._symlinkPaths.has(s)&&this._symlinkPaths.delete(s);let p=i;if(this.options.cwd&&(p=xe.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(p)&&this._pendingWrites.get(p).cancelWait()===Je.ADD)return;this._watched.delete(i),this._watched.delete(s);let m=n?Je.UNLINK_DIR:Je.UNLINK;h&&!this._isIgnored(i)&&this._emit(m,i),this._closePath(i)}_closePath(e){this._closeFile(e);let t=xe.dirname(e);this._getWatchedDir(t).remove(xe.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(n=>n()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n={type:Je.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},i=Jd(e,n);return this._streams.add(i),i.once(ep,()=>{i=void 0}),i.once(xf,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};function hp(r,e={}){let t=new Pf(e);return t.add(r),t}var dp=he(Dc()),_r=he(kr()),$E=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],zE=300,Bo=class{watcher=null;ignoreFilter;workspaceRoot;logger;onFileChangedCallback=null;pendingEvents=new Map;pendingTypes=new Map;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,dp.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add($E);let e=nn.join(this.workspaceRoot,".gitignore");try{if(di.existsSync(e)){let t=di.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=hp(this.workspaceRoot,{ignored:e=>{let t=nn.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(nn.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,_r.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,_r.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,_r.FileChangeType.DELETE)),this.watcher.on("error",e=>this.logger.error("File watcher error",e)),this.logger.info("File watcher started"))}stop(){this.watcher?.close(),this.watcher=null;for(let e of this.pendingEvents.values())clearTimeout(e);this.pendingEvents.clear(),this.pendingTypes.clear()}handleEvent(e,t){let n=nn.relative(this.workspaceRoot,e);if(!n)return;let i=this.pendingEvents.get(n);i&&clearTimeout(i);let s=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(s,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},zE);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===_r.FileChangeType.DELETE||e===_r.FileChangeType.DELETE?_r.FileChangeType.DELETE:e===_r.FileChangeType.CREATE?_r.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==_r.FileChangeType.DELETE)try{let i=nn.join(this.workspaceRoot,e),s=di.statSync(i);n.size=s.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};var GE={online:!1,viewerCount:0},jo=class r{enabled=!1;state={...GE};altScreenActive=!1;logger;refreshTimer=null;static REFRESH_INTERVAL_MS=1e3;constructor(e){this.logger=e}reservedRows(){return this.enabled&&process.stdout.isTTY?1:0}enable(){if(!process.stdout.isTTY){this.logger.warn("StatusLine: stdout is not a TTY, cannot enable");return}this.enabled=!0,this.installScrollRegion(),this.startRefreshTimer(),this.logger.info("StatusLine enabled")}startRefreshTimer(){this.stopRefreshTimer(),this.refreshTimer=setInterval(()=>{!this.enabled||this.altScreenActive||this.render()},r.REFRESH_INTERVAL_MS)}stopRefreshTimer(){this.refreshTimer&&(clearInterval(this.refreshTimer),this.refreshTimer=null)}installScrollRegion(){let e=process.stdout.rows;!e||e<2||(process.stdout.write(`\x1B[1;${e-1}r`),process.stdout.write("\x1B[1;1H"))}resetScrollRegion(){process.stdout.write("\x1B[r")}update(e){this.state={...this.state,...e},this.render()}render(){if(!this.enabled||this.altScreenActive)return;let e=process.stdout.rows;if(!e||e<2)return;let t=this.formatLine(),n=`\x1B[1;${e-1}r\x1B7\x1B[${e};1H\x1B[2K${t}\x1B8`;process.stdout.write(n)}clear(){if(!this.enabled)return;let e=process.stdout.rows;!e||e<2||process.stdout.write(`\x1B7\x1B[${e};1H\x1B[2K\x1B8`)}disable(){this.enabled&&(this.stopRefreshTimer(),this.clear(),this.resetScrollRegion(),this.enabled=!1)}inspectPtyOutput(e){if(this.enabled){if(e.includes("\x1B[?1049h")||e.includes("\x1B[?47h")){this.altScreenActive=!0;return}(e.includes("\x1B[?1049l")||e.includes("\x1B[?47l"))&&(this.altScreenActive=!1,this.render())}}getState(){return this.state}isEnabled(){return this.enabled}isAltScreenActive(){return this.altScreenActive}formatLine(){let e=[];if(e.push(this.state.online?"\u25CF online":"\u25CB offline"),this.state.viewerCount>0){let t=this.state.viewerCount===1?"1 viewer":`${this.state.viewerCount} viewers`;e.push(t)}else e.push("no viewers");return this.state.agentName&&e.push(this.state.agentName),this.state.ptyCols&&this.state.ptyRows&&e.push(`${this.state.ptyCols}\xD7${this.state.ptyRows}`)," "+e.join(" \xB7 ")+" "}};async function Uo(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
|
|
36
38
|
`),await r.loginWithApiKey(n)?(process.stderr.write(`Login successful.
|
|
37
39
|
`),!0):(process.stderr.write(`Login failed. Check your API key.
|
|
38
40
|
`),!1);try{let i=await r.startDeviceCodeFlow();process.stderr.write(`
|
|
@@ -45,12 +47,12 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
45
47
|
`),!0):(process.stderr.write(` Login failed or expired.
|
|
46
48
|
|
|
47
49
|
`),!1)}catch(i){return t.error("Login error",i),process.stderr.write(`Login error: ${i instanceof Error?i.message:String(i)}
|
|
48
|
-
`),!1}}var pi=he(kr());function
|
|
50
|
+
`),!1}}var pi=he(kr());function YE(r){switch(r){case"numbered-choice":return"select";case"free-input":return"input";default:return"confirmation"}}function pp(r,e,t,n=!1,i){let s=new Date().toISOString();switch(r){case"working":return e==="idle"?{type:pi.TerminalEventType.SESSION_START,timestamp:s}:null;case"waiting":return{type:pi.TerminalEventType.WAITING_INPUT,timestamp:s,promptType:YE(t?.type),...n&&{question:t?.question||"Confirm action?",options:t?.choices?.map(a=>a.label)},...i&&{source:i}};case"completed":return{type:pi.TerminalEventType.SESSION_END,timestamp:s,status:"success"};case"error":return e==="working"?{type:pi.TerminalEventType.SESSION_END,timestamp:s,status:"error"}:{type:pi.TerminalEventType.ERROR,timestamp:s,severity:"error",message:"Command failed"};default:return null}}async function yp(r){let{storage:e,config:t,logger:n,machineId:i,notification:s,browser:a,cwd:c,watch:u,statusLine:h,multiViewer:p,pushPromptText:m=!1,signalWaiting:_=!0}=r,E=new jo(n);h&&E.enable();let S=t.getServerUrl(),C=new URL(S).host,H=await i.getMachineId(),ie=new ht.CryptoService(e,n,C,H);await ie.initialize();let z=await ie.getShortFingerprint();process.stderr.write(`Agent fingerprint: ${z} (verify in the web app; run 'termiq fingerprint' for the full safety number)
|
|
49
51
|
`);let T=new ht.AuthService(e,ie,i,t,n,s,a,C,H),F=await T.hasValidToken();F||await T.refreshAccessToken()||(process.stderr.write(`Not logged in. Starting login flow...
|
|
50
52
|
`),await Uo(T,a,n)||process.exit(1),F=!0);let te;try{let{machineIdSync:j}=await Promise.resolve().then(()=>he(Yc()));te=j()}catch{te=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}let U,ee=new ht.StatusDetector((j,ue,je)=>{if(!K.getStatus().connected)return;let nt=U;U=ue,K.updateStatus({instanceId:Se,terminalId:j,status:ue,encryptedPrompt:je&&ie.encryptPromptInfo(je)||void 0}).catch(()=>{});let _t=pp(ue,nt,je,m,ee.getWaitingSource(j)??void 0);_t&&K.sendTerminalEvent(Se,j,_t)},j=>{n.warn("Detector drift: agent announced waiting, parser did not see it",{terminalId:j})},{signalWaiting:_}),pe=p?[mp.Capability.MULTI_VIEWER_RENDER]:[],K=new ht.WebSocketService(T,ie,t,n,s,te,"cli",pe);p&&n.info("Multi-viewer rendering capability advertised");let Ne=!1;K.onStatusChange(j=>{if(j==="connected"){if(Ne)n.info("Reconnected to termiq.io");else{let ue=p?" (multi-viewer mode)":"";process.stderr.write(`Connected to termiq.io${ue}
|
|
51
53
|
`),Ne=!0}E.update({online:!0})}else j==="disconnected"?(n.info("Disconnected from termiq.io (will retry)"),E.update({online:!1})):j==="error"&&(n.warn("Connection degraded (no server response) \u2014 reconnecting"),E.update({online:!1}))}),K.onAuthFailure(()=>{process.stderr.write(`Session expired. Please run "termiq login" again.
|
|
52
54
|
`),Oe(),process.exit(1)});try{await K.connect()}catch(j){process.stderr.write(`Connection failed: ${j instanceof Error?j.message:String(j)}
|
|
53
|
-
`),process.exit(1)}let tt=gp.basename(c),Se=`cli_${Date.now()}`,Me=ie.encryptWorkspaceInfo({name:tt,path:c});await K.registerWorkspace({instanceId:Se,encryptedInfo:Me||void 0});let we=new Po(n);p&&we.setMultiViewerMode(!0),we.setPreWriteHook(j=>E.inspectPtyOutput(j));let
|
|
55
|
+
`),process.exit(1)}let tt=gp.basename(c),Se=`cli_${Date.now()}`,Me=ie.encryptWorkspaceInfo({name:tt,path:c});await K.registerWorkspace({instanceId:Se,encryptedInfo:Me||void 0});let we=new Po(n);p&&we.setMultiViewerMode(!0),we.setPreWriteHook(j=>E.inspectPtyOutput(j));let qe=null;we.setOnResize((j,ue)=>{E.update({ptyCols:j,ptyRows:ue}),p&&qe&&K.sendPtyResized(Se,qe,j,ue)}),we.setOnLocalClaim((j,ue)=>{p&&qe&&K.sendClaimControl(Se,qe,j,ue)});let Ee=we.spawn(c,E.reservedRows()),rt=`CLI: ${tt}`,Fe=process.env.SHELL||"/bin/bash",yt=ie.encryptTerminalInfo({name:rt,command:Fe,cwd:c});await K.terminalCreated({instanceId:Se,terminalId:Ee,encryptedInfo:yt||void 0,streamId:we.getStreamId()??void 0}),qe=Ee,p&&K.sendPtyResized(Se,Ee,we.getPtyCols(),we.getPtyRows());let We=new ht.FileTransferService(n,"/tmp",c);We.setCrypto(ie);let dt=new ht.FileTrackerService(n,c),I=new ht.FileListService(n,c),B=u?new Bo(n,c):null,R=K.getSocket();R&&We.attach(R,Se),dt.onFileChanged((j,ue)=>{K.sendFileChangedEvent(Se,j,ue)}),dt.onFileViewTransfer(async(j,ue,je)=>{try{await We.sendBuffer(j,ue,je.path.split("/").pop()||"view",je.mimeType||"text/plain",{purpose:"view",viewMetadata:je})}catch(nt){n.error("File view transfer failed",nt)}}),K.onFileViewRequest((j,ue)=>{dt.handleViewRequest(j,ue)}),K.onFileListRequest((j,ue)=>{I.handleListRequest(ue)}),I.onResponse(j=>{K.sendFileListResponse(Se,j)}),K.onFileDownloadRequest(async(j,ue,je)=>{try{await We.sendFile(j,ue,void 0,void 0,je)}catch(nt){n.error("File download failed",nt)}}),B&&(B.onFileChanged(j=>{K.sendFileChangedEvent(Se,Ee,j)}),B.start()),ee.startTracking(Ee),we.setOnOutput(j=>{K.sendOutput(Se,Ee,j),ee.processOutput(Ee,j),dt.processOutput(Ee,j)}),we.setOnLocalInput(j=>{(0,ht.isAnswerKeystroke)(j)&&ee.resolvePrompt(Ee)}),K.onInput((j,ue,je,nt,_t)=>{if(j===Ee){if(_t){let Vt=ee.getEmittedPromptKey(Ee);if(Vt&&Vt!==_t){n.warn("Stale answer rejected \u2014 prompt changed",{terminalId:Ee}),ee.reEmitPrompt(Ee);return}}(0,ht.isAnswerKeystroke)(ue)&&ee.resolvePrompt(Ee),we.write(ue,nt)}}),K.setTerminalActiveCheck(j=>j===Ee&&we.isAlive()),K.onResizeRequest((j,ue,je)=>{j===Ee&&(n.info("Remote resize received",{terminalId:j,cols:ue,rows:je}),we.resize(ue,je))}),K.onClientAttached(({clientCount:j})=>{we.setSigwinchEnabled(!1),E.update({viewerCount:j}),K.sendInputResume(Ee)}),K.onClientDetached(({clientCount:j})=>{j===0&&we.setSigwinchEnabled(!0),E.update({viewerCount:j})}),K.onGetBufferRequest(j=>j===Ee?we.getBuffer():null),K.onRedrawRequest(j=>{j===Ee&&we.redrawNoResize()});async function se(){let j=ie.encryptWorkspaceInfo({name:tt,path:c});await K.registerWorkspace({instanceId:Se,encryptedInfo:j||void 0});let ue=ie.encryptTerminalInfo({name:rt,command:Fe,cwd:c});await K.terminalCreated({instanceId:Se,terminalId:Ee,encryptedInfo:ue||void 0,streamId:we.getStreamId()??void 0})}K.onMetaSessionEstablished(j=>{j&&se().catch(ue=>{n.error("Failed to re-register metadata after meta session",ue)}),ee.resendWaitingPrompts()}),K.onReconnect(async()=>{try{await se();let j=K.getSocket();j&&We.attach(j,Se)}catch(j){n.error("Failed to re-register on reconnect",j)}});function Oe(){B?.dispose(),We.detach(),dt.dispose(),I.dispose(),ee.stopTracking(Ee),ee.dispose(),K.disposeInputStream(Ee),K.terminalClosed({instanceId:Se,terminalId:Ee}).catch(()=>{}),K.unregisterWorkspace(Se).catch(()=>{}),K.disconnect(),we.dispose()}we.setOnExit(()=>{E.disable(),process.stderr.write(`Session ended.
|
|
54
56
|
`),Oe(),process.exit(0)}),process.on("SIGINT",()=>{E.disable(),process.stderr.write(`Session ended.
|
|
55
57
|
`),Oe(),process.exit(0)}),process.on("SIGTERM",()=>{E.disable(),process.stderr.write(`Session ended.
|
|
56
58
|
`),Oe(),process.exit(0)})}async function _p(r){await r.logout(),process.stderr.write(`Logged out.
|
|
@@ -114,13 +116,13 @@ you are connected to THIS agent (no server-in-the-middle).
|
|
|
114
116
|
`),process.exit(0));(Le.includes("--version")||Le.includes("-V"))&&(process.stdout.write(`${Oo()}
|
|
115
117
|
`),process.exit(0));var vp=qd(Le,_f,Kd);vp&&(process.stderr.write(`Unknown flag: ${vp}
|
|
116
118
|
Run 'termiq --help' for usage.
|
|
117
|
-
`),process.exit(1));var wp=Ud(Le,_f)??"start"
|
|
119
|
+
`),process.exit(1));var wp=Ud(Le,_f)??"start",XE=Le.includes("--verbose")||Le.includes("-v"),JE=Le.includes("--watch")||Le.includes("-w"),ZE=Le.includes("--log-to-file"),QE=Le.includes("--statusline"),ev=Le.includes("--multi-viewer"),tv=Le.includes("--push-prompt-text"),rv=Le.includes("--no-signal-waiting"),nv=Le.includes("--force"),iv=Le.find(r=>r.startsWith("--token="))?.split("=")[1]||(Le.includes("--token")?Le[Le.indexOf("--token")+1]:void 0),xp=Le.find(r=>r.startsWith("--server="))?.split("=")[1]||(Le.includes("--server")?Le[Le.indexOf("--server")+1]:void 0),Af=Le.find(r=>r.startsWith("--log-level="))?.split("=")[1]||(Le.includes("--log-level")?Le[Le.indexOf("--log-level")+1]:void 0),sv=["silent","error","warn","info","debug"],ov=Af&&sv.includes(Af)?Af:XE?"info":"silent",av=Le.find(r=>r.startsWith("--cid="))?.split("=")[1]||(Le.includes("--cid")?Le[Le.indexOf("--cid")+1]:void 0),cv=av||(0,Nt.generateCorrelationId)(),fv=process.env.TERMIQ_TOKEN,br=new Hi(ov,ZE),sn=new bi,Tt=new Ei(xp?{serverUrl:xp}:void 0),on=new $i,Ko=new zi(br),Qi=new Xi;async function uv(){switch(wp){case"start":case void 0:{process.env.TERMIQ_SESSION_ACTIVE==="1"&&!nv&&(process.stderr.write(`termiq \u0443\u0436\u0435 \u0437\u0430\u043F\u0443\u0449\u0435\u043D \u0432 \u044D\u0442\u043E\u043C \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0435 (\u0432\u044B \u0432\u043D\u0443\u0442\u0440\u0438 termiq-\u0441\u0435\u0441\u0441\u0438\u0438).
|
|
118
120
|
\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E, \u0438\u043B\u0438 --force \u0434\u043B\u044F \u0432\u043B\u043E\u0436\u0435\u043D\u043D\u043E\u0433\u043E \u0437\u0430\u043F\u0443\u0441\u043A\u0430.
|
|
119
|
-
`),process.exit(1)),
|
|
121
|
+
`),process.exit(1)),ev&&await Tt.setMultiViewer(!0);let r=Tt.getMultiViewer();tv&&await Tt.setPushPromptText(!0);let e=Tt.getPushPromptText();rv&&await Tt.setSignalWaiting(!1);let t=Tt.getSignalWaiting();await yp({storage:sn,config:Tt,logger:br,machineId:on,notification:Ko,browser:Qi,cwd:process.cwd(),watch:JE,statusLine:QE,multiViewer:r,pushPromptText:e,signalWaiting:t});break}case"login":{let r=new URL(Tt.getServerUrl()).host,e=await on.getMachineId(),t=new Nt.CryptoService(sn,br,r,e);await t.initialize();let n=new Nt.AuthService(sn,t,on,Tt,br,Ko,Qi,r,e),i=await Uo(n,Qi,br,iv||fv);process.exit(i?0:1);break}case"logout":{let r=new URL(Tt.getServerUrl()).host,e=await on.getMachineId(),t=new Nt.CryptoService(sn,br,r,e);await t.initialize();let n=new Nt.AuthService(sn,t,on,Tt,br,Ko,Qi,r,e);await _p(n),process.exit(0);break}case"status":{let r=new URL(Tt.getServerUrl()).host,e=await on.getMachineId(),t=new Nt.CryptoService(sn,br,r,e);await t.initialize();let n=new Nt.AuthService(sn,t,on,Tt,br,Ko,Qi,r,e);await bp(n,t),process.exit(0);break}case"fingerprint":{let r=new URL(Tt.getServerUrl()).host,e=await on.getMachineId(),t=new Nt.CryptoService(sn,br,r,e);await t.initialize(),await Ep(t),process.exit(0);break}case"version":{process.stdout.write(`${Oo()}
|
|
120
122
|
`),process.exit(0);break}case"help":{process.stderr.write(`Run 'termiq --help' for full usage.
|
|
121
123
|
`),process.exit(0);break}default:process.stderr.write(`Unknown command: ${wp}
|
|
122
124
|
Run 'termiq --help' for usage.
|
|
123
|
-
`),process.exit(1)}}(0,Nt.runWithCorrelation)(
|
|
125
|
+
`),process.exit(1)}}(0,Nt.runWithCorrelation)(cv,()=>uv().catch(r=>{process.stderr.write(`Fatal error: ${r instanceof Error?r.message:String(r)}
|
|
124
126
|
`),process.exit(1)}));
|
|
125
127
|
/*! Bundled license information:
|
|
126
128
|
|