@termiq/cli 1.9.1 → 1.10.0

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.
Files changed (2) hide show
  1. package/dist/bin.js +25 -25
  2. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- "use strict";var Bd=Object.create;var Co=Object.defineProperty;var jd=Object.getOwnPropertyDescriptor;var Ud=Object.getOwnPropertyNames;var qd=Object.getPrototypeOf,Wd=Object.prototype.hasOwnProperty;var Mt=(r,e)=>()=>(r&&(e=r(r=0)),e);var F=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Hd=(r,e)=>{for(var t in e)Co(r,t,{get:e[t],enumerable:!0})},Vd=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ud(e))!Wd.call(r,s)&&s!==t&&Co(r,s,{get:()=>e[s],enumerable:!(n=jd(e,s))||n.enumerable});return r};var fe=(r,e,t)=>(t=r!=null?Bd(qd(r)):{},Vd(e||!r||!r.__esModule?Co(t,"default",{value:r,enumerable:!0}):t,r));var Hs=F(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.generateCorrelationId=zd;es.runWithCorrelation=Gd;es.getCurrentCorrelationId=Yd;var $d=require("async_hooks");function zd(){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 af=new $d.AsyncLocalStorage;function Gd(r,e){return af.run(r,e)}function Yd(){return af.getStore()}});var ff=F(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.LOG_LEVELS=void 0;yn.shouldLog=Jd;yn.formatLogLine=Zd;var Xd=Hs();yn.LOG_LEVELS=["silent","error","warn","info","debug"];var cf={silent:0,error:1,warn:2,info:3,debug:4};function Jd(r,e){return cf[r]<=cf[e]}function Zd(r,e,t,n){let s={ts:new Date().toISOString(),level:r,src:e,msg:t},i=(0,Xd.getCurrentCorrelationId)();i&&(s.cid=i);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(s.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(s.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(s.args=a);try{return JSON.stringify(s)}catch{return JSON.stringify({ts:s.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var uf=F(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.formatLogLine=xr.shouldLog=xr.LOG_LEVELS=void 0;var Oo=ff();Object.defineProperty(xr,"LOG_LEVELS",{enumerable:!0,get:function(){return Oo.LOG_LEVELS}});Object.defineProperty(xr,"shouldLog",{enumerable:!0,get:function(){return Oo.shouldLog}});Object.defineProperty(xr,"formatLogLine",{enumerable:!0,get:function(){return Oo.formatLogLine}})});var lf=F(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CircularBuffer=void 0;var ko=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}};Vs.CircularBuffer=ko});var $s=F(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.getApiUrl=Qd;Ks.getWsUrl=ep;function Qd(r){return`${r.getServerUrl()}/api`}function ep(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var df=F(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.getCurrentCorrelationId=pt.runWithCorrelation=pt.generateCorrelationId=pt.getWsUrl=pt.getApiUrl=pt.CircularBuffer=void 0;var tp=lf();Object.defineProperty(pt,"CircularBuffer",{enumerable:!0,get:function(){return tp.CircularBuffer}});var hf=$s();Object.defineProperty(pt,"getApiUrl",{enumerable:!0,get:function(){return hf.getApiUrl}});Object.defineProperty(pt,"getWsUrl",{enumerable:!0,get:function(){return hf.getWsUrl}});var Po=Hs();Object.defineProperty(pt,"generateCorrelationId",{enumerable:!0,get:function(){return Po.generateCorrelationId}});Object.defineProperty(pt,"runWithCorrelation",{enumerable:!0,get:function(){return Po.runWithCorrelation}});Object.defineProperty(pt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Po.getCurrentCorrelationId}})});var gf=F(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0})});var _f=F(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0})});var yf=F(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.PLAN_LIMITS=void 0;zs.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 vf=F(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0})});var wf=F(Kt=>{"use strict";var rp=Kt&&Kt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Gs=Kt&&Kt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&rp(e,r,t)};Object.defineProperty(Kt,"__esModule",{value:!0});Gs(gf(),Kt);Gs(_f(),Kt);Gs(yf(),Kt);Gs(vf(),Kt)});var bf=F(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.API_VERSION=Ot.WS_NAMESPACES=Ot.TIMEOUTS=Ot.STATUS_PATTERNS=Ot.TERMINAL_STATUSES=void 0;Ot.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"}};Ot.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Ot.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Ot.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Ot.API_VERSION="v1"});var xf=F(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.isMultiRecipientPayload=np;Ys.isEncryptedPayload=sp;function np(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function sp(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 Ro=F((YE,Xs)=>{(function(r){"use strict";var e=function(f){var h,l=new Float64Array(16);if(f)for(h=0;h<f.length;h++)l[h]=f[h];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),s=new Uint8Array(32);s[0]=9;var i=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]),d=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),g=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]),y=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function w(f,h,l,o){f[h]=l>>24&255,f[h+1]=l>>16&255,f[h+2]=l>>8&255,f[h+3]=l&255,f[h+4]=o>>24&255,f[h+5]=o>>16&255,f[h+6]=o>>8&255,f[h+7]=o&255}function S(f,h,l,o,p){var E,v=0;for(E=0;E<p;E++)v|=f[h+E]^l[o+E];return(1&v-1>>>8)-1}function C(f,h,l,o){return S(f,h,l,o,16)}function V(f,h,l,o){return S(f,h,l,o,32)}function de(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,E=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,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,X=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,re=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,ne=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ue=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,ce=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,se=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,ie=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,$=p,J=E,H=v,G=O,Y=M,q=X,b=W,x=Ce,R=K,T=re,k=ne,D=ue,ee=ce,le=se,ge=ae,he=ie,_,_e=0;_e<20;_e+=2)_=$+ee|0,Y^=_<<7|_>>>25,_=Y+$|0,R^=_<<9|_>>>23,_=R+Y|0,ee^=_<<13|_>>>19,_=ee+R|0,$^=_<<18|_>>>14,_=q+J|0,T^=_<<7|_>>>25,_=T+q|0,le^=_<<9|_>>>23,_=le+T|0,J^=_<<13|_>>>19,_=J+le|0,q^=_<<18|_>>>14,_=k+b|0,ge^=_<<7|_>>>25,_=ge+k|0,H^=_<<9|_>>>23,_=H+ge|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=he+D|0,G^=_<<7|_>>>25,_=G+he|0,x^=_<<9|_>>>23,_=x+G|0,D^=_<<13|_>>>19,_=D+x|0,he^=_<<18|_>>>14,_=$+G|0,J^=_<<7|_>>>25,_=J+$|0,H^=_<<9|_>>>23,_=H+J|0,G^=_<<13|_>>>19,_=G+H|0,$^=_<<18|_>>>14,_=q+Y|0,b^=_<<7|_>>>25,_=b+q|0,x^=_<<9|_>>>23,_=x+b|0,Y^=_<<13|_>>>19,_=Y+x|0,q^=_<<18|_>>>14,_=k+T|0,D^=_<<7|_>>>25,_=D+k|0,R^=_<<9|_>>>23,_=R+D|0,T^=_<<13|_>>>19,_=T+R|0,k^=_<<18|_>>>14,_=he+ge|0,ee^=_<<7|_>>>25,_=ee+he|0,le^=_<<9|_>>>23,_=le+ee|0,ge^=_<<13|_>>>19,_=ge+le|0,he^=_<<18|_>>>14;$=$+p|0,J=J+E|0,H=H+v|0,G=G+O|0,Y=Y+M|0,q=q+X|0,b=b+W|0,x=x+Ce|0,R=R+K|0,T=T+re|0,k=k+ne|0,D=D+ue|0,ee=ee+ce|0,le=le+se|0,ge=ge+ae|0,he=he+ie|0,f[0]=$>>>0&255,f[1]=$>>>8&255,f[2]=$>>>16&255,f[3]=$>>>24&255,f[4]=J>>>0&255,f[5]=J>>>8&255,f[6]=J>>>16&255,f[7]=J>>>24&255,f[8]=H>>>0&255,f[9]=H>>>8&255,f[10]=H>>>16&255,f[11]=H>>>24&255,f[12]=G>>>0&255,f[13]=G>>>8&255,f[14]=G>>>16&255,f[15]=G>>>24&255,f[16]=Y>>>0&255,f[17]=Y>>>8&255,f[18]=Y>>>16&255,f[19]=Y>>>24&255,f[20]=q>>>0&255,f[21]=q>>>8&255,f[22]=q>>>16&255,f[23]=q>>>24&255,f[24]=b>>>0&255,f[25]=b>>>8&255,f[26]=b>>>16&255,f[27]=b>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=R>>>0&255,f[33]=R>>>8&255,f[34]=R>>>16&255,f[35]=R>>>24&255,f[36]=T>>>0&255,f[37]=T>>>8&255,f[38]=T>>>16&255,f[39]=T>>>24&255,f[40]=k>>>0&255,f[41]=k>>>8&255,f[42]=k>>>16&255,f[43]=k>>>24&255,f[44]=D>>>0&255,f[45]=D>>>8&255,f[46]=D>>>16&255,f[47]=D>>>24&255,f[48]=ee>>>0&255,f[49]=ee>>>8&255,f[50]=ee>>>16&255,f[51]=ee>>>24&255,f[52]=le>>>0&255,f[53]=le>>>8&255,f[54]=le>>>16&255,f[55]=le>>>24&255,f[56]=ge>>>0&255,f[57]=ge>>>8&255,f[58]=ge>>>16&255,f[59]=ge>>>24&255,f[60]=he>>>0&255,f[61]=he>>>8&255,f[62]=he>>>16&255,f[63]=he>>>24&255}function B(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,E=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,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,X=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,re=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,ne=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ue=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,ce=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,se=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,ie=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,$=p,J=E,H=v,G=O,Y=M,q=X,b=W,x=Ce,R=K,T=re,k=ne,D=ue,ee=ce,le=se,ge=ae,he=ie,_,_e=0;_e<20;_e+=2)_=$+ee|0,Y^=_<<7|_>>>25,_=Y+$|0,R^=_<<9|_>>>23,_=R+Y|0,ee^=_<<13|_>>>19,_=ee+R|0,$^=_<<18|_>>>14,_=q+J|0,T^=_<<7|_>>>25,_=T+q|0,le^=_<<9|_>>>23,_=le+T|0,J^=_<<13|_>>>19,_=J+le|0,q^=_<<18|_>>>14,_=k+b|0,ge^=_<<7|_>>>25,_=ge+k|0,H^=_<<9|_>>>23,_=H+ge|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=he+D|0,G^=_<<7|_>>>25,_=G+he|0,x^=_<<9|_>>>23,_=x+G|0,D^=_<<13|_>>>19,_=D+x|0,he^=_<<18|_>>>14,_=$+G|0,J^=_<<7|_>>>25,_=J+$|0,H^=_<<9|_>>>23,_=H+J|0,G^=_<<13|_>>>19,_=G+H|0,$^=_<<18|_>>>14,_=q+Y|0,b^=_<<7|_>>>25,_=b+q|0,x^=_<<9|_>>>23,_=x+b|0,Y^=_<<13|_>>>19,_=Y+x|0,q^=_<<18|_>>>14,_=k+T|0,D^=_<<7|_>>>25,_=D+k|0,R^=_<<9|_>>>23,_=R+D|0,T^=_<<13|_>>>19,_=T+R|0,k^=_<<18|_>>>14,_=he+ge|0,ee^=_<<7|_>>>25,_=ee+he|0,le^=_<<9|_>>>23,_=le+ee|0,ge^=_<<13|_>>>19,_=ge+le|0,he^=_<<18|_>>>14;f[0]=$>>>0&255,f[1]=$>>>8&255,f[2]=$>>>16&255,f[3]=$>>>24&255,f[4]=q>>>0&255,f[5]=q>>>8&255,f[6]=q>>>16&255,f[7]=q>>>24&255,f[8]=k>>>0&255,f[9]=k>>>8&255,f[10]=k>>>16&255,f[11]=k>>>24&255,f[12]=he>>>0&255,f[13]=he>>>8&255,f[14]=he>>>16&255,f[15]=he>>>24&255,f[16]=b>>>0&255,f[17]=b>>>8&255,f[18]=b>>>16&255,f[19]=b>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=R>>>0&255,f[25]=R>>>8&255,f[26]=R>>>16&255,f[27]=R>>>24&255,f[28]=T>>>0&255,f[29]=T>>>8&255,f[30]=T>>>16&255,f[31]=T>>>24&255}function P(f,h,l,o){de(f,h,l,o)}function L(f,h,l,o){B(f,h,l,o)}var Q=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function j(f,h,l,o,p,E,v){var O=new Uint8Array(16),M=new Uint8Array(64),X,W;for(W=0;W<16;W++)O[W]=0;for(W=0;W<8;W++)O[W]=E[W];for(;p>=64;){for(P(M,O,v,Q),W=0;W<64;W++)f[h+W]=l[o+W]^M[W];for(X=1,W=8;W<16;W++)X=X+(O[W]&255)|0,O[W]=X&255,X>>>=8;p-=64,h+=64,o+=64}if(p>0)for(P(M,O,v,Q),W=0;W<p;W++)f[h+W]=l[o+W]^M[W];return 0}function Z(f,h,l,o,p){var E=new Uint8Array(16),v=new Uint8Array(64),O,M;for(M=0;M<16;M++)E[M]=0;for(M=0;M<8;M++)E[M]=o[M];for(;l>=64;){for(P(v,E,p,Q),M=0;M<64;M++)f[h+M]=v[M];for(O=1,M=8;M<16;M++)O=O+(E[M]&255)|0,E[M]=O&255,O>>>=8;l-=64,h+=64}if(l>0)for(P(v,E,p,Q),M=0;M<l;M++)f[h+M]=v[M];return 0}function pe(f,h,l,o,p){var E=new Uint8Array(32);L(E,o,p,Q);for(var v=new Uint8Array(8),O=0;O<8;O++)v[O]=o[O+16];return Z(f,h,l,v,E)}function Ee(f,h,l,o,p,E,v){var O=new Uint8Array(32);L(O,E,v,Q);for(var M=new Uint8Array(8),X=0;X<8;X++)M[X]=E[X+16];return j(f,h,l,o,p,M,O)}var ve=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 h,l,o,p,E,v,O,M;h=f[0]&255|(f[1]&255)<<8,this.r[0]=h&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(h>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,p=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|p<<9)&8191,E=f[8]&255|(f[9]&255)<<8,this.r[4]=(p>>>4|E<<12)&255,this.r[5]=E>>>1&8190,v=f[10]&255|(f[11]&255)<<8,this.r[6]=(E>>>14|v<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(v>>>11|O<<5)&8065,M=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|M<<8)&8191,this.r[9]=M>>>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};ve.prototype.blocks=function(f,h,l){for(var o=this.fin?0:2048,p,E,v,O,M,X,W,Ce,K,re,ne,ue,ce,se,ae,ie,$,J,H,G=this.h[0],Y=this.h[1],q=this.h[2],b=this.h[3],x=this.h[4],R=this.h[5],T=this.h[6],k=this.h[7],D=this.h[8],ee=this.h[9],le=this.r[0],ge=this.r[1],he=this.r[2],_=this.r[3],_e=this.r[4],Oe=this.r[5],ke=this.r[6],me=this.r[7],we=this.r[8],be=this.r[9];l>=16;)p=f[h+0]&255|(f[h+1]&255)<<8,G+=p&8191,E=f[h+2]&255|(f[h+3]&255)<<8,Y+=(p>>>13|E<<3)&8191,v=f[h+4]&255|(f[h+5]&255)<<8,q+=(E>>>10|v<<6)&8191,O=f[h+6]&255|(f[h+7]&255)<<8,b+=(v>>>7|O<<9)&8191,M=f[h+8]&255|(f[h+9]&255)<<8,x+=(O>>>4|M<<12)&8191,R+=M>>>1&8191,X=f[h+10]&255|(f[h+11]&255)<<8,T+=(M>>>14|X<<2)&8191,W=f[h+12]&255|(f[h+13]&255)<<8,k+=(X>>>11|W<<5)&8191,Ce=f[h+14]&255|(f[h+15]&255)<<8,D+=(W>>>8|Ce<<8)&8191,ee+=Ce>>>5|o,K=0,re=K,re+=G*le,re+=Y*(5*be),re+=q*(5*we),re+=b*(5*me),re+=x*(5*ke),K=re>>>13,re&=8191,re+=R*(5*Oe),re+=T*(5*_e),re+=k*(5*_),re+=D*(5*he),re+=ee*(5*ge),K+=re>>>13,re&=8191,ne=K,ne+=G*ge,ne+=Y*le,ne+=q*(5*be),ne+=b*(5*we),ne+=x*(5*me),K=ne>>>13,ne&=8191,ne+=R*(5*ke),ne+=T*(5*Oe),ne+=k*(5*_e),ne+=D*(5*_),ne+=ee*(5*he),K+=ne>>>13,ne&=8191,ue=K,ue+=G*he,ue+=Y*ge,ue+=q*le,ue+=b*(5*be),ue+=x*(5*we),K=ue>>>13,ue&=8191,ue+=R*(5*me),ue+=T*(5*ke),ue+=k*(5*Oe),ue+=D*(5*_e),ue+=ee*(5*_),K+=ue>>>13,ue&=8191,ce=K,ce+=G*_,ce+=Y*he,ce+=q*ge,ce+=b*le,ce+=x*(5*be),K=ce>>>13,ce&=8191,ce+=R*(5*we),ce+=T*(5*me),ce+=k*(5*ke),ce+=D*(5*Oe),ce+=ee*(5*_e),K+=ce>>>13,ce&=8191,se=K,se+=G*_e,se+=Y*_,se+=q*he,se+=b*ge,se+=x*le,K=se>>>13,se&=8191,se+=R*(5*be),se+=T*(5*we),se+=k*(5*me),se+=D*(5*ke),se+=ee*(5*Oe),K+=se>>>13,se&=8191,ae=K,ae+=G*Oe,ae+=Y*_e,ae+=q*_,ae+=b*he,ae+=x*ge,K=ae>>>13,ae&=8191,ae+=R*le,ae+=T*(5*be),ae+=k*(5*we),ae+=D*(5*me),ae+=ee*(5*ke),K+=ae>>>13,ae&=8191,ie=K,ie+=G*ke,ie+=Y*Oe,ie+=q*_e,ie+=b*_,ie+=x*he,K=ie>>>13,ie&=8191,ie+=R*ge,ie+=T*le,ie+=k*(5*be),ie+=D*(5*we),ie+=ee*(5*me),K+=ie>>>13,ie&=8191,$=K,$+=G*me,$+=Y*ke,$+=q*Oe,$+=b*_e,$+=x*_,K=$>>>13,$&=8191,$+=R*he,$+=T*ge,$+=k*le,$+=D*(5*be),$+=ee*(5*we),K+=$>>>13,$&=8191,J=K,J+=G*we,J+=Y*me,J+=q*ke,J+=b*Oe,J+=x*_e,K=J>>>13,J&=8191,J+=R*_,J+=T*he,J+=k*ge,J+=D*le,J+=ee*(5*be),K+=J>>>13,J&=8191,H=K,H+=G*be,H+=Y*we,H+=q*me,H+=b*ke,H+=x*Oe,K=H>>>13,H&=8191,H+=R*_e,H+=T*_,H+=k*he,H+=D*ge,H+=ee*le,K+=H>>>13,H&=8191,K=(K<<2)+K|0,K=K+re|0,re=K&8191,K=K>>>13,ne+=K,G=re,Y=ne,q=ue,b=ce,x=se,R=ae,T=ie,k=$,D=J,ee=H,h+=16,l-=16;this.h[0]=G,this.h[1]=Y,this.h[2]=q,this.h[3]=b,this.h[4]=x,this.h[5]=R,this.h[6]=T,this.h[7]=k,this.h[8]=D,this.h[9]=ee},ve.prototype.finish=function(f,h){var l=new Uint16Array(10),o,p,E,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,p=(o^1)-1,v=0;v<10;v++)l[v]&=p;for(p=~p,v=0;v<10;v++)this.h[v]=this.h[v]&p|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,E=this.h[0]+this.pad[0],this.h[0]=E&65535,v=1;v<8;v++)E=(this.h[v]+this.pad[v]|0)+(E>>>16)|0,this.h[v]=E&65535;f[h+0]=this.h[0]>>>0&255,f[h+1]=this.h[0]>>>8&255,f[h+2]=this.h[1]>>>0&255,f[h+3]=this.h[1]>>>8&255,f[h+4]=this.h[2]>>>0&255,f[h+5]=this.h[2]>>>8&255,f[h+6]=this.h[3]>>>0&255,f[h+7]=this.h[3]>>>8&255,f[h+8]=this.h[4]>>>0&255,f[h+9]=this.h[4]>>>8&255,f[h+10]=this.h[5]>>>0&255,f[h+11]=this.h[5]>>>8&255,f[h+12]=this.h[6]>>>0&255,f[h+13]=this.h[6]>>>8&255,f[h+14]=this.h[7]>>>0&255,f[h+15]=this.h[7]>>>8&255},ve.prototype.update=function(f,h,l){var o,p;if(this.leftover){for(p=16-this.leftover,p>l&&(p=l),o=0;o<p;o++)this.buffer[this.leftover+o]=f[h+o];if(l-=p,h+=p,this.leftover+=p,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(p=l-l%16,this.blocks(f,h,p),h+=p,l-=p),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[h+o];this.leftover+=l}};function He(f,h,l,o,p,E){var v=new ve(E);return v.update(l,o,p),v.finish(f,h),0}function $e(f,h,l,o,p,E){var v=new Uint8Array(16);return He(v,0,l,o,p,E),C(f,h,v,0)}function Te(f,h,l,o,p){var E;if(l<32)return-1;for(Ee(f,0,h,0,l,o,p),He(f,16,f,32,l-32,f),E=0;E<16;E++)f[E]=0;return 0}function ze(f,h,l,o,p){var E,v=new Uint8Array(32);if(l<32||(pe(v,0,32,o,p),$e(h,16,h,32,l-32,v)!==0))return-1;for(Ee(f,0,h,0,l,o,p),E=0;E<32;E++)f[E]=0;return 0}function Ve(f,h){var l;for(l=0;l<16;l++)f[l]=h[l]|0}function Ze(f){var h,l,o=1;for(h=0;h<16;h++)l=f[h]+o+65535,o=Math.floor(l/65536),f[h]=l-o*65536;f[0]+=o-1+37*(o-1)}function z(f,h,l){for(var o,p=~(l-1),E=0;E<16;E++)o=p&(f[E]^h[E]),f[E]^=o,h[E]^=o}function te(f,h){var l,o,p,E=e(),v=e();for(l=0;l<16;l++)v[l]=h[l];for(Ze(v),Ze(v),Ze(v),o=0;o<2;o++){for(E[0]=v[0]-65517,l=1;l<15;l++)E[l]=v[l]-65535-(E[l-1]>>16&1),E[l-1]&=65535;E[15]=v[15]-32767-(E[14]>>16&1),p=E[15]>>16&1,E[14]&=65535,z(v,E,1-p)}for(l=0;l<16;l++)f[2*l]=v[l]&255,f[2*l+1]=v[l]>>8}function Re(f,h){var l=new Uint8Array(32),o=new Uint8Array(32);return te(l,f),te(o,h),V(l,0,o,0)}function je(f){var h=new Uint8Array(32);return te(h,f),h[0]&1}function yt(f,h){var l;for(l=0;l<16;l++)f[l]=h[2*l]+(h[2*l+1]<<8);f[15]&=32767}function N(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]+l[o]}function U(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]-l[o]}function A(f,h,l){var o,p,E=0,v=0,O=0,M=0,X=0,W=0,Ce=0,K=0,re=0,ne=0,ue=0,ce=0,se=0,ae=0,ie=0,$=0,J=0,H=0,G=0,Y=0,q=0,b=0,x=0,R=0,T=0,k=0,D=0,ee=0,le=0,ge=0,he=0,_=l[0],_e=l[1],Oe=l[2],ke=l[3],me=l[4],we=l[5],be=l[6],Je=l[7],Ae=l[8],Ge=l[9],Ye=l[10],Xe=l[11],et=l[12],it=l[13],ot=l[14],at=l[15];o=h[0],E+=o*_,v+=o*_e,O+=o*Oe,M+=o*ke,X+=o*me,W+=o*we,Ce+=o*be,K+=o*Je,re+=o*Ae,ne+=o*Ge,ue+=o*Ye,ce+=o*Xe,se+=o*et,ae+=o*it,ie+=o*ot,$+=o*at,o=h[1],v+=o*_,O+=o*_e,M+=o*Oe,X+=o*ke,W+=o*me,Ce+=o*we,K+=o*be,re+=o*Je,ne+=o*Ae,ue+=o*Ge,ce+=o*Ye,se+=o*Xe,ae+=o*et,ie+=o*it,$+=o*ot,J+=o*at,o=h[2],O+=o*_,M+=o*_e,X+=o*Oe,W+=o*ke,Ce+=o*me,K+=o*we,re+=o*be,ne+=o*Je,ue+=o*Ae,ce+=o*Ge,se+=o*Ye,ae+=o*Xe,ie+=o*et,$+=o*it,J+=o*ot,H+=o*at,o=h[3],M+=o*_,X+=o*_e,W+=o*Oe,Ce+=o*ke,K+=o*me,re+=o*we,ne+=o*be,ue+=o*Je,ce+=o*Ae,se+=o*Ge,ae+=o*Ye,ie+=o*Xe,$+=o*et,J+=o*it,H+=o*ot,G+=o*at,o=h[4],X+=o*_,W+=o*_e,Ce+=o*Oe,K+=o*ke,re+=o*me,ne+=o*we,ue+=o*be,ce+=o*Je,se+=o*Ae,ae+=o*Ge,ie+=o*Ye,$+=o*Xe,J+=o*et,H+=o*it,G+=o*ot,Y+=o*at,o=h[5],W+=o*_,Ce+=o*_e,K+=o*Oe,re+=o*ke,ne+=o*me,ue+=o*we,ce+=o*be,se+=o*Je,ae+=o*Ae,ie+=o*Ge,$+=o*Ye,J+=o*Xe,H+=o*et,G+=o*it,Y+=o*ot,q+=o*at,o=h[6],Ce+=o*_,K+=o*_e,re+=o*Oe,ne+=o*ke,ue+=o*me,ce+=o*we,se+=o*be,ae+=o*Je,ie+=o*Ae,$+=o*Ge,J+=o*Ye,H+=o*Xe,G+=o*et,Y+=o*it,q+=o*ot,b+=o*at,o=h[7],K+=o*_,re+=o*_e,ne+=o*Oe,ue+=o*ke,ce+=o*me,se+=o*we,ae+=o*be,ie+=o*Je,$+=o*Ae,J+=o*Ge,H+=o*Ye,G+=o*Xe,Y+=o*et,q+=o*it,b+=o*ot,x+=o*at,o=h[8],re+=o*_,ne+=o*_e,ue+=o*Oe,ce+=o*ke,se+=o*me,ae+=o*we,ie+=o*be,$+=o*Je,J+=o*Ae,H+=o*Ge,G+=o*Ye,Y+=o*Xe,q+=o*et,b+=o*it,x+=o*ot,R+=o*at,o=h[9],ne+=o*_,ue+=o*_e,ce+=o*Oe,se+=o*ke,ae+=o*me,ie+=o*we,$+=o*be,J+=o*Je,H+=o*Ae,G+=o*Ge,Y+=o*Ye,q+=o*Xe,b+=o*et,x+=o*it,R+=o*ot,T+=o*at,o=h[10],ue+=o*_,ce+=o*_e,se+=o*Oe,ae+=o*ke,ie+=o*me,$+=o*we,J+=o*be,H+=o*Je,G+=o*Ae,Y+=o*Ge,q+=o*Ye,b+=o*Xe,x+=o*et,R+=o*it,T+=o*ot,k+=o*at,o=h[11],ce+=o*_,se+=o*_e,ae+=o*Oe,ie+=o*ke,$+=o*me,J+=o*we,H+=o*be,G+=o*Je,Y+=o*Ae,q+=o*Ge,b+=o*Ye,x+=o*Xe,R+=o*et,T+=o*it,k+=o*ot,D+=o*at,o=h[12],se+=o*_,ae+=o*_e,ie+=o*Oe,$+=o*ke,J+=o*me,H+=o*we,G+=o*be,Y+=o*Je,q+=o*Ae,b+=o*Ge,x+=o*Ye,R+=o*Xe,T+=o*et,k+=o*it,D+=o*ot,ee+=o*at,o=h[13],ae+=o*_,ie+=o*_e,$+=o*Oe,J+=o*ke,H+=o*me,G+=o*we,Y+=o*be,q+=o*Je,b+=o*Ae,x+=o*Ge,R+=o*Ye,T+=o*Xe,k+=o*et,D+=o*it,ee+=o*ot,le+=o*at,o=h[14],ie+=o*_,$+=o*_e,J+=o*Oe,H+=o*ke,G+=o*me,Y+=o*we,q+=o*be,b+=o*Je,x+=o*Ae,R+=o*Ge,T+=o*Ye,k+=o*Xe,D+=o*et,ee+=o*it,le+=o*ot,ge+=o*at,o=h[15],$+=o*_,J+=o*_e,H+=o*Oe,G+=o*ke,Y+=o*me,q+=o*we,b+=o*be,x+=o*Je,R+=o*Ae,T+=o*Ge,k+=o*Ye,D+=o*Xe,ee+=o*et,le+=o*it,ge+=o*ot,he+=o*at,E+=38*J,v+=38*H,O+=38*G,M+=38*Y,X+=38*q,W+=38*b,Ce+=38*x,K+=38*R,re+=38*T,ne+=38*k,ue+=38*D,ce+=38*ee,se+=38*le,ae+=38*ge,ie+=38*he,p=1,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=X+p+65535,p=Math.floor(o/65536),X=o-p*65536,o=W+p+65535,p=Math.floor(o/65536),W=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ue+p+65535,p=Math.floor(o/65536),ue=o-p*65536,o=ce+p+65535,p=Math.floor(o/65536),ce=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=ie+p+65535,p=Math.floor(o/65536),ie=o-p*65536,o=$+p+65535,p=Math.floor(o/65536),$=o-p*65536,E+=p-1+37*(p-1),p=1,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=X+p+65535,p=Math.floor(o/65536),X=o-p*65536,o=W+p+65535,p=Math.floor(o/65536),W=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ue+p+65535,p=Math.floor(o/65536),ue=o-p*65536,o=ce+p+65535,p=Math.floor(o/65536),ce=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=ie+p+65535,p=Math.floor(o/65536),ie=o-p*65536,o=$+p+65535,p=Math.floor(o/65536),$=o-p*65536,E+=p-1+37*(p-1),f[0]=E,f[1]=v,f[2]=O,f[3]=M,f[4]=X,f[5]=W,f[6]=Ce,f[7]=K,f[8]=re,f[9]=ne,f[10]=ue,f[11]=ce,f[12]=se,f[13]=ae,f[14]=ie,f[15]=$}function oe(f,h){A(f,h,h)}function Ie(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=253;o>=0;o--)oe(l,l),o!==2&&o!==4&&A(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function ut(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=250;o>=0;o--)oe(l,l),o!==1&&A(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function Et(f,h,l){var o=new Uint8Array(32),p=new Float64Array(80),E,v,O=e(),M=e(),X=e(),W=e(),Ce=e(),K=e();for(v=0;v<31;v++)o[v]=h[v];for(o[31]=h[31]&127|64,o[0]&=248,yt(p,l),v=0;v<16;v++)M[v]=p[v],W[v]=O[v]=X[v]=0;for(O[0]=W[0]=1,v=254;v>=0;--v)E=o[v>>>3]>>>(v&7)&1,z(O,M,E),z(X,W,E),N(Ce,O,X),U(O,O,X),N(X,M,W),U(M,M,W),oe(W,Ce),oe(K,O),A(O,X,O),A(X,M,Ce),N(Ce,O,X),U(O,O,X),oe(M,O),U(X,W,K),A(O,X,c),N(O,O,W),A(X,X,O),A(O,W,K),A(W,M,p),oe(M,Ce),z(O,M,E),z(X,W,E);for(v=0;v<16;v++)p[v+16]=O[v],p[v+32]=X[v],p[v+48]=M[v],p[v+64]=W[v];var re=p.subarray(32),ne=p.subarray(16);return Ie(re,re),A(ne,ne,re),te(f,ne),0}function vt(f,h){return Et(f,h,s)}function wt(f,h){return t(h,32),vt(f,h)}function ir(f,h,l){var o=new Uint8Array(32);return Et(o,l,h),L(f,n,o,Q)}var wr=Te,Wr=ze;function br(f,h,l,o,p,E){var v=new Uint8Array(32);return ir(v,p,E),wr(f,h,l,o,v)}function gn(f,h,l,o,p,E){var v=new Uint8Array(32);return ir(v,p,E),Wr(f,h,l,o,v)}var Ls=[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 Zc(f,h,l,o){for(var p=new Int32Array(16),E=new Int32Array(16),v,O,M,X,W,Ce,K,re,ne,ue,ce,se,ae,ie,$,J,H,G,Y,q,b,x,R,T,k,D,ee=f[0],le=f[1],ge=f[2],he=f[3],_=f[4],_e=f[5],Oe=f[6],ke=f[7],me=h[0],we=h[1],be=h[2],Je=h[3],Ae=h[4],Ge=h[5],Ye=h[6],Xe=h[7],et=0;o>=128;){for(Y=0;Y<16;Y++)q=8*Y+et,p[Y]=l[q+0]<<24|l[q+1]<<16|l[q+2]<<8|l[q+3],E[Y]=l[q+4]<<24|l[q+5]<<16|l[q+6]<<8|l[q+7];for(Y=0;Y<80;Y++)if(v=ee,O=le,M=ge,X=he,W=_,Ce=_e,K=Oe,re=ke,ne=me,ue=we,ce=be,se=Je,ae=Ae,ie=Ge,$=Ye,J=Xe,b=ke,x=Xe,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=(_>>>14|Ae<<18)^(_>>>18|Ae<<14)^(Ae>>>9|_<<23),x=(Ae>>>14|_<<18)^(Ae>>>18|_<<14)^(_>>>9|Ae<<23),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=_&_e^~_&Oe,x=Ae&Ge^~Ae&Ye,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=Ls[Y*2],x=Ls[Y*2+1],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=p[Y%16],x=E[Y%16],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,H=k&65535|D<<16,G=R&65535|T<<16,b=H,x=G,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=(ee>>>28|me<<4)^(me>>>2|ee<<30)^(me>>>7|ee<<25),x=(me>>>28|ee<<4)^(ee>>>2|me<<30)^(ee>>>7|me<<25),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=ee&le^ee&ge^le&ge,x=me&we^me&be^we&be,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,re=k&65535|D<<16,J=R&65535|T<<16,b=X,x=se,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=H,x=G,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,X=k&65535|D<<16,se=R&65535|T<<16,le=v,ge=O,he=M,_=X,_e=W,Oe=Ce,ke=K,ee=re,we=ne,be=ue,Je=ce,Ae=se,Ge=ae,Ye=ie,Xe=$,me=J,Y%16===15)for(q=0;q<16;q++)b=p[q],x=E[q],R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=p[(q+9)%16],x=E[(q+9)%16],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(q+1)%16],G=E[(q+1)%16],b=(H>>>1|G<<31)^(H>>>8|G<<24)^H>>>7,x=(G>>>1|H<<31)^(G>>>8|H<<24)^(G>>>7|H<<25),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(q+14)%16],G=E[(q+14)%16],b=(H>>>19|G<<13)^(G>>>29|H<<3)^H>>>6,x=(G>>>19|H<<13)^(H>>>29|G<<3)^(G>>>6|H<<26),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,p[q]=k&65535|D<<16,E[q]=R&65535|T<<16;b=ee,x=me,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[0],x=h[0],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[0]=ee=k&65535|D<<16,h[0]=me=R&65535|T<<16,b=le,x=we,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[1],x=h[1],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[1]=le=k&65535|D<<16,h[1]=we=R&65535|T<<16,b=ge,x=be,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[2],x=h[2],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[2]=ge=k&65535|D<<16,h[2]=be=R&65535|T<<16,b=he,x=Je,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[3],x=h[3],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[3]=he=k&65535|D<<16,h[3]=Je=R&65535|T<<16,b=_,x=Ae,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[4],x=h[4],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[4]=_=k&65535|D<<16,h[4]=Ae=R&65535|T<<16,b=_e,x=Ge,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[5],x=h[5],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[5]=_e=k&65535|D<<16,h[5]=Ge=R&65535|T<<16,b=Oe,x=Ye,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[6],x=h[6],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[6]=Oe=k&65535|D<<16,h[6]=Ye=R&65535|T<<16,b=ke,x=Xe,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[7],x=h[7],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[7]=ke=k&65535|D<<16,h[7]=Xe=R&65535|T<<16,et+=128,o-=128}return o}function Hr(f,h,l){var o=new Int32Array(8),p=new Int32Array(8),E=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,p[0]=4089235720,p[1]=2227873595,p[2]=4271175723,p[3]=1595750129,p[4]=2917565137,p[5]=725511199,p[6]=4215389547,p[7]=327033209,Zc(o,p,h,l),l%=128,v=0;v<l;v++)E[v]=h[O-l+v];for(E[l]=128,l=256-128*(l<112?1:0),E[l-9]=0,w(E,l-8,O/536870912|0,O<<3),Zc(o,p,E,l),v=0;v<8;v++)w(f,8*v,o[v],p[v]);return 0}function Ns(f,h){var l=e(),o=e(),p=e(),E=e(),v=e(),O=e(),M=e(),X=e(),W=e();U(l,f[1],f[0]),U(W,h[1],h[0]),A(l,l,W),N(o,f[0],f[1]),N(W,h[0],h[1]),A(o,o,W),A(p,f[3],h[3]),A(p,p,d),A(E,f[2],h[2]),N(E,E,E),U(v,o,l),U(O,E,p),N(M,E,p),N(X,o,l),A(f[0],v,O),A(f[1],X,M),A(f[2],M,O),A(f[3],v,X)}function Qc(f,h,l){var o;for(o=0;o<4;o++)z(f[o],h[o],l)}function mo(f,h){var l=e(),o=e(),p=e();Ie(p,h[2]),A(l,h[0],p),A(o,h[1],p),te(f,o),f[31]^=je(l)<<7}function _o(f,h,l){var o,p;for(Ve(f[0],i),Ve(f[1],a),Ve(f[2],a),Ve(f[3],i),p=255;p>=0;--p)o=l[p/8|0]>>(p&7)&1,Qc(f,h,o),Ns(h,f),Ns(f,f),Qc(f,h,o)}function Ds(f,h){var l=[e(),e(),e(),e()];Ve(l[0],g),Ve(l[1],m),Ve(l[2],a),A(l[3],g,m),_o(f,l,h)}function yo(f,h,l){var o=new Uint8Array(64),p=[e(),e(),e(),e()],E;for(l||t(h,32),Hr(o,h,32),o[0]&=248,o[31]&=127,o[31]|=64,Ds(p,o),mo(f,p),E=0;E<32;E++)h[E+32]=f[E];return 0}var Fs=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 Eo(f,h){var l,o,p,E;for(o=63;o>=32;--o){for(l=0,p=o-32,E=o-12;p<E;++p)h[p]+=l-16*h[o]*Fs[p-(o-32)],l=Math.floor((h[p]+128)/256),h[p]-=l*256;h[p]+=l,h[o]=0}for(l=0,p=0;p<32;p++)h[p]+=l-(h[31]>>4)*Fs[p],l=h[p]>>8,h[p]&=255;for(p=0;p<32;p++)h[p]-=l*Fs[p];for(o=0;o<32;o++)h[o+1]+=h[o]>>8,f[o]=h[o]&255}function vo(f){var h=new Float64Array(64),l;for(l=0;l<64;l++)h[l]=f[l];for(l=0;l<64;l++)f[l]=0;Eo(f,h)}function ef(f,h,l,o){var p=new Uint8Array(64),E=new Uint8Array(64),v=new Uint8Array(64),O,M,X=new Float64Array(64),W=[e(),e(),e(),e()];Hr(p,o,32),p[0]&=248,p[31]&=127,p[31]|=64;var Ce=l+64;for(O=0;O<l;O++)f[64+O]=h[O];for(O=0;O<32;O++)f[32+O]=p[32+O];for(Hr(v,f.subarray(32),l+32),vo(v),Ds(W,v),mo(f,W),O=32;O<64;O++)f[O]=o[O];for(Hr(E,f,l+64),vo(E),O=0;O<64;O++)X[O]=0;for(O=0;O<32;O++)X[O]=v[O];for(O=0;O<32;O++)for(M=0;M<32;M++)X[O+M]+=E[O]*p[M];return Eo(f.subarray(32),X),Ce}function Nd(f,h){var l=e(),o=e(),p=e(),E=e(),v=e(),O=e(),M=e();return Ve(f[2],a),yt(f[1],h),oe(p,f[1]),A(E,p,u),U(p,p,f[2]),N(E,f[2],E),oe(v,E),oe(O,v),A(M,O,v),A(l,M,p),A(l,l,E),ut(l,l),A(l,l,p),A(l,l,E),A(l,l,E),A(f[0],l,E),oe(o,f[0]),A(o,o,E),Re(o,p)&&A(f[0],f[0],y),oe(o,f[0]),A(o,o,E),Re(o,p)?-1:(je(f[0])===h[31]>>7&&U(f[0],i,f[0]),A(f[3],f[0],f[1]),0)}function wo(f,h,l,o){var p,E=new Uint8Array(32),v=new Uint8Array(64),O=[e(),e(),e(),e()],M=[e(),e(),e(),e()];if(l<64||Nd(M,o))return-1;for(p=0;p<l;p++)f[p]=h[p];for(p=0;p<32;p++)f[p+32]=o[p];if(Hr(v,f,l),vo(v),_o(O,M,v),Ds(M,h.subarray(32)),Ns(O,M),mo(E,O),l-=64,V(h,0,E,0)){for(p=0;p<l;p++)f[p]=0;return-1}for(p=0;p<l;p++)f[p]=h[p+64];return l}var bo=32,Ms=24,Gn=32,mn=16,Yn=32,Bs=32,Xn=32,Jn=32,xo=32,tf=Ms,Dd=Gn,Fd=mn,or=64,Vr=32,_n=64,So=32,To=64;r.lowlevel={crypto_core_hsalsa20:L,crypto_stream_xor:Ee,crypto_stream:pe,crypto_stream_salsa20_xor:j,crypto_stream_salsa20:Z,crypto_onetimeauth:He,crypto_onetimeauth_verify:$e,crypto_verify_16:C,crypto_verify_32:V,crypto_secretbox:Te,crypto_secretbox_open:ze,crypto_scalarmult:Et,crypto_scalarmult_base:vt,crypto_box_beforenm:ir,crypto_box_afternm:wr,crypto_box:br,crypto_box_open:gn,crypto_box_keypair:wt,crypto_hash:Hr,crypto_sign:ef,crypto_sign_keypair:yo,crypto_sign_open:wo,crypto_secretbox_KEYBYTES:bo,crypto_secretbox_NONCEBYTES:Ms,crypto_secretbox_ZEROBYTES:Gn,crypto_secretbox_BOXZEROBYTES:mn,crypto_scalarmult_BYTES:Yn,crypto_scalarmult_SCALARBYTES:Bs,crypto_box_PUBLICKEYBYTES:Xn,crypto_box_SECRETKEYBYTES:Jn,crypto_box_BEFORENMBYTES:xo,crypto_box_NONCEBYTES:tf,crypto_box_ZEROBYTES:Dd,crypto_box_BOXZEROBYTES:Fd,crypto_sign_BYTES:or,crypto_sign_PUBLICKEYBYTES:Vr,crypto_sign_SECRETKEYBYTES:_n,crypto_sign_SEEDBYTES:So,crypto_hash_BYTES:To,gf:e,D:u,L:Fs,pack25519:te,unpack25519:yt,M:A,A:N,S:oe,Z:U,pow2523:ut,add:Ns,set25519:Ve,modL:Eo,scalarmult:_o,scalarbase:Ds};function rf(f,h){if(f.length!==bo)throw new Error("bad key size");if(h.length!==Ms)throw new Error("bad nonce size")}function Md(f,h){if(f.length!==Xn)throw new Error("bad public key size");if(h.length!==Jn)throw new Error("bad secret key size")}function bt(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function nf(f){for(var h=0;h<f.length;h++)f[h]=0}r.randomBytes=function(f){var h=new Uint8Array(f);return t(h,f),h},r.secretbox=function(f,h,l){bt(f,h,l),rf(l,h);for(var o=new Uint8Array(Gn+f.length),p=new Uint8Array(o.length),E=0;E<f.length;E++)o[E+Gn]=f[E];return Te(p,o,o.length,h,l),p.subarray(mn)},r.secretbox.open=function(f,h,l){bt(f,h,l),rf(l,h);for(var o=new Uint8Array(mn+f.length),p=new Uint8Array(o.length),E=0;E<f.length;E++)o[E+mn]=f[E];return o.length<32||ze(p,o,o.length,h,l)!==0?null:p.subarray(Gn)},r.secretbox.keyLength=bo,r.secretbox.nonceLength=Ms,r.secretbox.overheadLength=mn,r.scalarMult=function(f,h){if(bt(f,h),f.length!==Bs)throw new Error("bad n size");if(h.length!==Yn)throw new Error("bad p size");var l=new Uint8Array(Yn);return Et(l,f,h),l},r.scalarMult.base=function(f){if(bt(f),f.length!==Bs)throw new Error("bad n size");var h=new Uint8Array(Yn);return vt(h,f),h},r.scalarMult.scalarLength=Bs,r.scalarMult.groupElementLength=Yn,r.box=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox(f,h,p)},r.box.before=function(f,h){bt(f,h),Md(f,h);var l=new Uint8Array(xo);return ir(l,f,h),l},r.box.after=r.secretbox,r.box.open=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox.open(f,h,p)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(Xn),h=new Uint8Array(Jn);return wt(f,h),{publicKey:f,secretKey:h}},r.box.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==Jn)throw new Error("bad secret key size");var h=new Uint8Array(Xn);return vt(h,f),{publicKey:h,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=Xn,r.box.secretKeyLength=Jn,r.box.sharedKeyLength=xo,r.box.nonceLength=tf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,h){if(bt(f,h),h.length!==_n)throw new Error("bad secret key size");var l=new Uint8Array(or+f.length);return ef(l,f,f.length,h),l},r.sign.open=function(f,h){if(bt(f,h),h.length!==Vr)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=wo(l,f,f.length,h);if(o<0)return null;for(var p=new Uint8Array(o),E=0;E<p.length;E++)p[E]=l[E];return p},r.sign.detached=function(f,h){for(var l=r.sign(f,h),o=new Uint8Array(or),p=0;p<o.length;p++)o[p]=l[p];return o},r.sign.detached.verify=function(f,h,l){if(bt(f,h,l),h.length!==or)throw new Error("bad signature size");if(l.length!==Vr)throw new Error("bad public key size");var o=new Uint8Array(or+f.length),p=new Uint8Array(or+f.length),E;for(E=0;E<or;E++)o[E]=h[E];for(E=0;E<f.length;E++)o[E+or]=f[E];return wo(p,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(Vr),h=new Uint8Array(_n);return yo(f,h),{publicKey:f,secretKey:h}},r.sign.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==_n)throw new Error("bad secret key size");for(var h=new Uint8Array(Vr),l=0;l<h.length;l++)h[l]=f[32+l];return{publicKey:h,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(bt(f),f.length!==So)throw new Error("bad seed size");for(var h=new Uint8Array(Vr),l=new Uint8Array(_n),o=0;o<32;o++)l[o]=f[o];return yo(h,l,!0),{publicKey:h,secretKey:l}},r.sign.publicKeyLength=Vr,r.sign.secretKeyLength=_n,r.sign.seedLength=So,r.sign.signatureLength=or,r.hash=function(f){bt(f);var h=new Uint8Array(To);return Hr(h,f,f.length),h},r.hash.hashLength=To,r.verify=function(f,h){return bt(f,h),f.length===0||h.length===0||f.length!==h.length?!1:S(f,0,h,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 h=65536;r.setPRNG(function(l,o){var p,E=new Uint8Array(o);for(p=0;p<o;p+=h)f.getRandomValues(E.subarray(p,p+Math.min(o-p,h)));for(p=0;p<o;p++)l[p]=E[p];nf(E)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var p,E=f.randomBytes(o);for(p=0;p<o;p++)l[p]=E[p];nf(E)}))})()})(typeof Xs<"u"&&Xs.exports?Xs.exports:self.nacl=self.nacl||{})});var Ao=F((Sf,Js)=>{(function(r,e){"use strict";typeof Js<"u"&&Js.exports?Js.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(Sf,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,s=unescape(encodeURIComponent(t)),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i},r.encodeUTF8=function(t){var n,s=[];for(n=0;n<t.length;n++)s.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(s.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,s=[],i=t.length;for(n=0;n<i;n++)s.push(String.fromCharCode(t[n]));return btoa(s.join(""))},r.decodeBase64=function(t){e(t);var n,s=atob(t),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i}),r})});var Tf=F(Tr=>{"use strict";var ip=Tr&&Tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Tr,"__esModule",{value:!0});Tr.encrypt=op;Tr.decrypt=ap;Tr.encryptBinary=cp;Tr.decryptBinary=fp;var fr=ip(Ro()),Sr=Ao();function op(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=new TextEncoder().encode(r),i=fr.default.secretbox(s,n,e);return{v:1,sid:t,n:(0,Sr.encodeBase64)(n),c:(0,Sr.encodeBase64)(i)}}function ap(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Sr.decodeBase64)(r.n),n=(0,Sr.decodeBase64)(r.c);if(t.length!==fr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(s)}function cp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=fr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,Sr.encodeBase64)(n),c:(0,Sr.encodeBase64)(s)}}function fp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Sr.decodeBase64)(r.n),n=(0,Sr.decodeBase64)(r.c),s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return s}});var Cf=F($t=>{"use strict";var up=$t&&$t.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty($t,"__esModule",{value:!0});$t.generateKeyPair=lp;$t.deriveSharedSecret=hp;$t.isValidPublicKey=dp;$t.clearKey=pp;$t.keyToBase64=gp;$t.base64ToKey=mp;var ts=up(Ro()),Kr=Ao();function lp(){let r=ts.default.box.keyPair();return{publicKey:(0,Kr.encodeBase64)(r.publicKey),secretKey:(0,Kr.encodeBase64)(r.secretKey)}}function hp(r,e){let t=(0,Kr.decodeBase64)(r),n=(0,Kr.decodeBase64)(e);if(t.length!==ts.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==ts.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return ts.default.box.before(t,n)}function dp(r){try{return(0,Kr.decodeBase64)(r).length===ts.default.box.publicKeyLength}catch{return!1}}function pp(r){r.fill(0)}function gp(r){return(0,Kr.encodeBase64)(r)}function mp(r){return(0,Kr.decodeBase64)(r)}});var kf=F(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.base64ToKey=De.keyToBase64=De.clearKey=De.isValidPublicKey=De.deriveSharedSecret=De.generateKeyPair=De.decryptBinary=De.encryptBinary=De.decrypt=De.encrypt=De.isMultiRecipientPayload=De.isEncryptedPayload=void 0;var Of=xf();Object.defineProperty(De,"isEncryptedPayload",{enumerable:!0,get:function(){return Of.isEncryptedPayload}});Object.defineProperty(De,"isMultiRecipientPayload",{enumerable:!0,get:function(){return Of.isMultiRecipientPayload}});var Zs=Tf();Object.defineProperty(De,"encrypt",{enumerable:!0,get:function(){return Zs.encrypt}});Object.defineProperty(De,"decrypt",{enumerable:!0,get:function(){return Zs.decrypt}});Object.defineProperty(De,"encryptBinary",{enumerable:!0,get:function(){return Zs.encryptBinary}});Object.defineProperty(De,"decryptBinary",{enumerable:!0,get:function(){return Zs.decryptBinary}});var En=Cf();Object.defineProperty(De,"generateKeyPair",{enumerable:!0,get:function(){return En.generateKeyPair}});Object.defineProperty(De,"deriveSharedSecret",{enumerable:!0,get:function(){return En.deriveSharedSecret}});Object.defineProperty(De,"isValidPublicKey",{enumerable:!0,get:function(){return En.isValidPublicKey}});Object.defineProperty(De,"clearKey",{enumerable:!0,get:function(){return En.clearKey}});Object.defineProperty(De,"keyToBase64",{enumerable:!0,get:function(){return En.keyToBase64}});Object.defineProperty(De,"base64ToKey",{enumerable:!0,get:function(){return En.base64ToKey}})});var Pf=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.MIN_CLIENT_VERSION=xt.PROTOCOL_VERSION_MINOR=xt.PROTOCOL_VERSION_MAJOR=xt.PROTOCOL_VERSION=void 0;xt.isCompatibleVersion=_p;xt.compareVersions=yp;xt.PROTOCOL_VERSION="2.0";xt.PROTOCOL_VERSION_MAJOR=2;xt.PROTOCOL_VERSION_MINOR=0;xt.MIN_CLIENT_VERSION="2.0";function _p(r){let[e]=r.split(".").map(Number);return e===xt.PROTOCOL_VERSION_MAJOR}function yp(r,e){let[t,n]=r.split(".").map(Number),[s,i]=e.split(".").map(Number);return t!==s?t<s?-1:1:n!==i?n<i?-1:1:0}});var Rf=F(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.SERVER_CAPABILITIES=zt.DEFAULT_CLIENT_CAPABILITIES=zt.Capability=void 0;zt.hasCapability=Ep;zt.negotiateCapabilities=vp;var rs;(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"})(rs||(zt.Capability=rs={}));zt.DEFAULT_CLIENT_CAPABILITIES=[rs.E2E_ENCRYPTION,rs.TERMINAL_EVENTS];zt.SERVER_CAPABILITIES=Object.values(rs);function Ep(r,e){return r.includes(e)}function vp(r,e){return r.filter(t=>e.includes(t))}});var Af=F(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DEFAULT_PRIORITY=ur.PRIORITY_NAMES=ur.Priority=void 0;ur.comparePriority=wp;var $r;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})($r||(ur.Priority=$r={}));ur.PRIORITY_NAMES={[$r.CRITICAL]:"CRITICAL",[$r.HIGH]:"HIGH",[$r.NORMAL]:"NORMAL",[$r.LOW]:"LOW"};ur.DEFAULT_PRIORITY=$r.NORMAL;function wp(r,e){return r-e}});var If=F(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.DEFAULT_RELIABILITY=Gt.RELIABILITY_NAMES=Gt.Reliability=void 0;Gt.requiresAck=bp;Gt.requiresBuffer=xp;var Cr;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(Cr||(Gt.Reliability=Cr={}));Gt.RELIABILITY_NAMES={[Cr.FIRE_FORGET]:"FIRE_FORGET",[Cr.BUFFERED]:"BUFFERED",[Cr.GUARANTEED]:"GUARANTEED"};Gt.DEFAULT_RELIABILITY=Cr.FIRE_FORGET;function bp(r){return r===Cr.GUARANTEED}function xp(r){return r>=Cr.BUFFERED}});var Lf=F(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.createMessage=Sp;function Sp(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 Nf=F(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.TerminalEventType=void 0;zr.deriveStatusFromEvent=Tp;zr.shouldTriggerPushNotification=Cp;zr.getPushNotificationMessage=Op;var lt;(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"})(lt||(zr.TerminalEventType=lt={}));function Tp(r){switch(r.type){case lt.SESSION_START:case lt.TOOL_START:case lt.MESSAGE:return"working";case lt.WAITING_INPUT:return"waiting";case lt.SESSION_END:return r.status==="success"?"completed":"error";case lt.ERROR:return r.severity==="fatal"?"error":"working";case lt.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function Cp(r){switch(r.type){case lt.WAITING_INPUT:return!0;case lt.SESSION_END:return!0;case lt.ERROR:return r.severity!=="warning";default:return!1}}function Op(r,e){switch(r.type){case lt.WAITING_INPUT:return{title:`${e}: Input Required`,body:r.question.slice(0,100)};case lt.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 lt.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var Mf=F(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.TransferDirection=Ue.TransferStatus=Ue.CHUNK_TTL_SECONDS=Ue.TRANSFER_TTL_SECONDS=Ue.MAX_RETRIES=Ue.ACK_TIMEOUT_MS=Ue.WINDOW_SIZE=Ue.DEFAULT_MAX_FILE_SIZE=Ue.CHUNK_SIZE=void 0;Ue.calculateTotalChunks=kp;Ue.getMissingChunks=Pp;Ue.isTransferComplete=Rp;Ue.CHUNK_SIZE=64*1024;Ue.DEFAULT_MAX_FILE_SIZE=100*1024*1024;Ue.WINDOW_SIZE=10;Ue.ACK_TIMEOUT_MS=3e4;Ue.MAX_RETRIES=3;Ue.TRANSFER_TTL_SECONDS=1440*60;Ue.CHUNK_TTL_SECONDS=1440*60;var Df;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(Df||(Ue.TransferStatus=Df={}));var Ff;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(Ff||(Ue.TransferDirection=Ff={}));function kp(r,e=Ue.CHUNK_SIZE){return Math.ceil(r/e)}function Pp(r,e){let t=new Set(e),n=[];for(let s=0;s<r;s++)t.has(s)||n.push(s);return n}function Rp(r,e){return e.length===r}});var Bf=F(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ERROR_MESSAGES=lr.ErrorCode=void 0;lr.createError=Ap;lr.isRetryableError=Ip;var Pe;(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"})(Pe||(lr.ErrorCode=Pe={}));lr.ERROR_MESSAGES={[Pe.AUTH_FAILED]:"Authentication failed",[Pe.TOKEN_EXPIRED]:"Token expired",[Pe.TOKEN_INVALID]:"Invalid token",[Pe.NOT_FOUND]:"Resource not found",[Pe.ALREADY_EXISTS]:"Resource already exists",[Pe.ACCESS_DENIED]:"Access denied",[Pe.FORBIDDEN]:"Operation forbidden",[Pe.RATE_LIMITED]:"Rate limit exceeded",[Pe.TOO_MANY_CONNECTIONS]:"Too many connections",[Pe.QUOTA_EXCEEDED]:"Plan quota exceeded",[Pe.FILE_TOO_LARGE]:"File size exceeds limit",[Pe.QUEUE_FULL]:"Message queue is full",[Pe.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Pe.TRANSFER_FAILED]:"File transfer failed",[Pe.TRANSFER_EXPIRED]:"Transfer expired",[Pe.TRANSFER_CANCELLED]:"Transfer cancelled",[Pe.CHECKSUM_MISMATCH]:"File checksum mismatch",[Pe.CHUNK_MISSING]:"Chunk missing or corrupted",[Pe.INVALID_MESSAGE]:"Invalid message format",[Pe.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Pe.CAPABILITY_REQUIRED]:"Required capability not supported",[Pe.INVALID_STATE]:"Invalid state for this operation",[Pe.TIMEOUT]:"Operation timed out",[Pe.CONNECTION_LOST]:"Connection lost",[Pe.INTERNAL_ERROR]:"Internal server error",[Pe.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Ap(r,e={}){return{code:r,message:e.message||lr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Ip(r){return[Pe.RATE_LIMITED,Pe.TIMEOUT,Pe.CONNECTION_LOST,Pe.SERVICE_UNAVAILABLE].includes(r)}});var Wf=F(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.FileEntryType=St.DiffBase=St.FileViewType=St.FileChangeType=void 0;St.getLanguageFromPath=Lp;St.parseUnifiedDiff=Np;St.createSimpleDiff=Dp;var Or;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(Or||(St.FileChangeType=Or={}));var jf;(function(r){r.CONTENT="content",r.DIFF="diff"})(jf||(St.FileViewType=jf={}));var Uf;(function(r){r.GIT="git",r.PREVIOUS="previous"})(Uf||(St.DiffBase=Uf={}));function Lp(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 Np(r,e){let t=r.split(`
3
- `),n=[],s=0,i=0,a=null,c=0,u=0;for(let g of t){if(g.startsWith("diff ")||g.startsWith("index ")||g.startsWith("---")||g.startsWith("+++"))continue;let m=g.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let y=parseInt(m[1],10),w=parseInt(m[2]||"1",10),S=parseInt(m[3],10),C=parseInt(m[4]||"1",10);a={oldStart:y,oldLines:w,newStart:S,newLines:C,lines:[]},c=y,u=S;continue}a&&(g.startsWith("+")?(a.lines.push({type:"add",content:g.slice(1),oldLineNumber:null,newLineNumber:u++}),s++):g.startsWith("-")?(a.lines.push({type:"remove",content:g.slice(1),oldLineNumber:c++,newLineNumber:null}),i++):(g.startsWith(" ")||g==="")&&a.lines.push({type:"context",content:g.startsWith(" ")?g.slice(1):g,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let d;return i===0&&s>0&&n.length===1&&n[0].oldLines===0?d=Or.CREATE:s===0&&i>0&&n.length===1&&n[0].newLines===0?d=Or.DELETE:d=Or.MODIFY,{path:e,changeType:d,hunks:n,additions:s,deletions:i,isBinary:!1}}function Dp(r,e,t){let n=r.split(`
2
+ "use strict";var Ud=Object.create;var Co=Object.defineProperty;var qd=Object.getOwnPropertyDescriptor;var Wd=Object.getOwnPropertyNames;var Hd=Object.getPrototypeOf,Vd=Object.prototype.hasOwnProperty;var Mt=(r,e)=>()=>(r&&(e=r(r=0)),e);var F=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Kd=(r,e)=>{for(var t in e)Co(r,t,{get:e[t],enumerable:!0})},zd=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Wd(e))!Vd.call(r,s)&&s!==t&&Co(r,s,{get:()=>e[s],enumerable:!(n=qd(e,s))||n.enumerable});return r};var fe=(r,e,t)=>(t=r!=null?Ud(Hd(r)):{},zd(e||!r||!r.__esModule?Co(t,"default",{value:r,enumerable:!0}):t,r));var Hs=F(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.generateCorrelationId=Yd;es.runWithCorrelation=Xd;es.getCurrentCorrelationId=Jd;var Gd=require("async_hooks");function Yd(){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 af=new Gd.AsyncLocalStorage;function Xd(r,e){return af.run(r,e)}function Jd(){return af.getStore()}});var ff=F(yn=>{"use strict";Object.defineProperty(yn,"__esModule",{value:!0});yn.LOG_LEVELS=void 0;yn.shouldLog=Qd;yn.formatLogLine=ep;var Zd=Hs();yn.LOG_LEVELS=["silent","error","warn","info","debug"];var cf={silent:0,error:1,warn:2,info:3,debug:4};function Qd(r,e){return cf[r]<=cf[e]}function ep(r,e,t,n){let s={ts:new Date().toISOString(),level:r,src:e,msg:t},i=(0,Zd.getCurrentCorrelationId)();i&&(s.cid=i);let a=n;a.length>0&&typeof a[0]=="object"&&a[0]!==null&&!(a[0]instanceof Error)&&!Array.isArray(a[0])&&(s.ctx=a[0],a=a.slice(1));let c=[...a].reverse().find(u=>u instanceof Error);c&&(s.err={message:c.message,stack:c.stack,name:c.name},a=a.filter(u=>u!==c)),a.length>0&&(s.args=a);try{return JSON.stringify(s)}catch{return JSON.stringify({ts:s.ts,level:r,src:e,msg:t,_unserializable:!0})}}});var uf=F(xr=>{"use strict";Object.defineProperty(xr,"__esModule",{value:!0});xr.formatLogLine=xr.shouldLog=xr.LOG_LEVELS=void 0;var Oo=ff();Object.defineProperty(xr,"LOG_LEVELS",{enumerable:!0,get:function(){return Oo.LOG_LEVELS}});Object.defineProperty(xr,"shouldLog",{enumerable:!0,get:function(){return Oo.shouldLog}});Object.defineProperty(xr,"formatLogLine",{enumerable:!0,get:function(){return Oo.formatLogLine}})});var lf=F(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.CircularBuffer=void 0;var ko=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}};Vs.CircularBuffer=ko});var zs=F(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.getApiUrl=tp;Ks.getWsUrl=rp;function tp(r){return`${r.getServerUrl()}/api`}function rp(r){let e=r.getServerUrl();return e.startsWith("https://")?e.replace(/^https:\/\//,"wss://"):e.replace(/^http:\/\//,"ws://")}});var df=F(pt=>{"use strict";Object.defineProperty(pt,"__esModule",{value:!0});pt.getCurrentCorrelationId=pt.runWithCorrelation=pt.generateCorrelationId=pt.getWsUrl=pt.getApiUrl=pt.CircularBuffer=void 0;var np=lf();Object.defineProperty(pt,"CircularBuffer",{enumerable:!0,get:function(){return np.CircularBuffer}});var hf=zs();Object.defineProperty(pt,"getApiUrl",{enumerable:!0,get:function(){return hf.getApiUrl}});Object.defineProperty(pt,"getWsUrl",{enumerable:!0,get:function(){return hf.getWsUrl}});var Po=Hs();Object.defineProperty(pt,"generateCorrelationId",{enumerable:!0,get:function(){return Po.generateCorrelationId}});Object.defineProperty(pt,"runWithCorrelation",{enumerable:!0,get:function(){return Po.runWithCorrelation}});Object.defineProperty(pt,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Po.getCurrentCorrelationId}})});var gf=F(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0})});var _f=F(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0})});var yf=F($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.PLAN_LIMITS=void 0;$s.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 vf=F(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0})});var wf=F(Kt=>{"use strict";var sp=Kt&&Kt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Gs=Kt&&Kt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&sp(e,r,t)};Object.defineProperty(Kt,"__esModule",{value:!0});Gs(gf(),Kt);Gs(_f(),Kt);Gs(yf(),Kt);Gs(vf(),Kt)});var bf=F(Ot=>{"use strict";Object.defineProperty(Ot,"__esModule",{value:!0});Ot.API_VERSION=Ot.WS_NAMESPACES=Ot.TIMEOUTS=Ot.STATUS_PATTERNS=Ot.TERMINAL_STATUSES=void 0;Ot.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"}};Ot.STATUS_PATTERNS={idle:[/[❯$]\s*$/,/>\s*$/],waiting:[/\[Y\/n\]/i,/\(y\/N\)/i,/Continue\?/i,/proceed\?/i],completed:[/✓/,/Done/,/Completed/,/Success/],error:[/Error/,/Failed/,/✕/,/Exception/]};Ot.TIMEOUTS={HEARTBEAT_INTERVAL:3e4,OFFLINE_THRESHOLD:6e4,DEVICE_CODE_EXPIRY:9e5,DEVICE_CODE_POLL_INTERVAL:5e3};Ot.WS_NAMESPACES={AGENT:"/agent",CLIENT:"/client"};Ot.API_VERSION="v1"});var xf=F(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.isMultiRecipientPayload=ip;Ys.isEncryptedPayload=op;function ip(r){return typeof r=="object"&&r!==null&&"v"in r&&r.v===2&&"recipients"in r&&Array.isArray(r.recipients)}function op(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 Ro=F((JE,Xs)=>{(function(r){"use strict";var e=function(f){var h,l=new Float64Array(16);if(f)for(h=0;h<f.length;h++)l[h]=f[h];return l},t=function(){throw new Error("no PRNG")},n=new Uint8Array(16),s=new Uint8Array(32);s[0]=9;var i=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]),d=e([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),g=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]),y=e([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function w(f,h,l,o){f[h]=l>>24&255,f[h+1]=l>>16&255,f[h+2]=l>>8&255,f[h+3]=l&255,f[h+4]=o>>24&255,f[h+5]=o>>16&255,f[h+6]=o>>8&255,f[h+7]=o&255}function S(f,h,l,o,p){var E,v=0;for(E=0;E<p;E++)v|=f[h+E]^l[o+E];return(1&v-1>>>8)-1}function C(f,h,l,o){return S(f,h,l,o,16)}function V(f,h,l,o){return S(f,h,l,o,32)}function de(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,E=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,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,X=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,re=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,ne=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ue=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,ce=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,se=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,ie=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,z=p,J=E,H=v,G=O,Y=M,q=X,b=W,x=Ce,R=K,T=re,k=ne,D=ue,ee=ce,le=se,ge=ae,he=ie,_,_e=0;_e<20;_e+=2)_=z+ee|0,Y^=_<<7|_>>>25,_=Y+z|0,R^=_<<9|_>>>23,_=R+Y|0,ee^=_<<13|_>>>19,_=ee+R|0,z^=_<<18|_>>>14,_=q+J|0,T^=_<<7|_>>>25,_=T+q|0,le^=_<<9|_>>>23,_=le+T|0,J^=_<<13|_>>>19,_=J+le|0,q^=_<<18|_>>>14,_=k+b|0,ge^=_<<7|_>>>25,_=ge+k|0,H^=_<<9|_>>>23,_=H+ge|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=he+D|0,G^=_<<7|_>>>25,_=G+he|0,x^=_<<9|_>>>23,_=x+G|0,D^=_<<13|_>>>19,_=D+x|0,he^=_<<18|_>>>14,_=z+G|0,J^=_<<7|_>>>25,_=J+z|0,H^=_<<9|_>>>23,_=H+J|0,G^=_<<13|_>>>19,_=G+H|0,z^=_<<18|_>>>14,_=q+Y|0,b^=_<<7|_>>>25,_=b+q|0,x^=_<<9|_>>>23,_=x+b|0,Y^=_<<13|_>>>19,_=Y+x|0,q^=_<<18|_>>>14,_=k+T|0,D^=_<<7|_>>>25,_=D+k|0,R^=_<<9|_>>>23,_=R+D|0,T^=_<<13|_>>>19,_=T+R|0,k^=_<<18|_>>>14,_=he+ge|0,ee^=_<<7|_>>>25,_=ee+he|0,le^=_<<9|_>>>23,_=le+ee|0,ge^=_<<13|_>>>19,_=ge+le|0,he^=_<<18|_>>>14;z=z+p|0,J=J+E|0,H=H+v|0,G=G+O|0,Y=Y+M|0,q=q+X|0,b=b+W|0,x=x+Ce|0,R=R+K|0,T=T+re|0,k=k+ne|0,D=D+ue|0,ee=ee+ce|0,le=le+se|0,ge=ge+ae|0,he=he+ie|0,f[0]=z>>>0&255,f[1]=z>>>8&255,f[2]=z>>>16&255,f[3]=z>>>24&255,f[4]=J>>>0&255,f[5]=J>>>8&255,f[6]=J>>>16&255,f[7]=J>>>24&255,f[8]=H>>>0&255,f[9]=H>>>8&255,f[10]=H>>>16&255,f[11]=H>>>24&255,f[12]=G>>>0&255,f[13]=G>>>8&255,f[14]=G>>>16&255,f[15]=G>>>24&255,f[16]=Y>>>0&255,f[17]=Y>>>8&255,f[18]=Y>>>16&255,f[19]=Y>>>24&255,f[20]=q>>>0&255,f[21]=q>>>8&255,f[22]=q>>>16&255,f[23]=q>>>24&255,f[24]=b>>>0&255,f[25]=b>>>8&255,f[26]=b>>>16&255,f[27]=b>>>24&255,f[28]=x>>>0&255,f[29]=x>>>8&255,f[30]=x>>>16&255,f[31]=x>>>24&255,f[32]=R>>>0&255,f[33]=R>>>8&255,f[34]=R>>>16&255,f[35]=R>>>24&255,f[36]=T>>>0&255,f[37]=T>>>8&255,f[38]=T>>>16&255,f[39]=T>>>24&255,f[40]=k>>>0&255,f[41]=k>>>8&255,f[42]=k>>>16&255,f[43]=k>>>24&255,f[44]=D>>>0&255,f[45]=D>>>8&255,f[46]=D>>>16&255,f[47]=D>>>24&255,f[48]=ee>>>0&255,f[49]=ee>>>8&255,f[50]=ee>>>16&255,f[51]=ee>>>24&255,f[52]=le>>>0&255,f[53]=le>>>8&255,f[54]=le>>>16&255,f[55]=le>>>24&255,f[56]=ge>>>0&255,f[57]=ge>>>8&255,f[58]=ge>>>16&255,f[59]=ge>>>24&255,f[60]=he>>>0&255,f[61]=he>>>8&255,f[62]=he>>>16&255,f[63]=he>>>24&255}function B(f,h,l,o){for(var p=o[0]&255|(o[1]&255)<<8|(o[2]&255)<<16|(o[3]&255)<<24,E=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,M=l[12]&255|(l[13]&255)<<8|(l[14]&255)<<16|(l[15]&255)<<24,X=o[4]&255|(o[5]&255)<<8|(o[6]&255)<<16|(o[7]&255)<<24,W=h[0]&255|(h[1]&255)<<8|(h[2]&255)<<16|(h[3]&255)<<24,Ce=h[4]&255|(h[5]&255)<<8|(h[6]&255)<<16|(h[7]&255)<<24,K=h[8]&255|(h[9]&255)<<8|(h[10]&255)<<16|(h[11]&255)<<24,re=h[12]&255|(h[13]&255)<<8|(h[14]&255)<<16|(h[15]&255)<<24,ne=o[8]&255|(o[9]&255)<<8|(o[10]&255)<<16|(o[11]&255)<<24,ue=l[16]&255|(l[17]&255)<<8|(l[18]&255)<<16|(l[19]&255)<<24,ce=l[20]&255|(l[21]&255)<<8|(l[22]&255)<<16|(l[23]&255)<<24,se=l[24]&255|(l[25]&255)<<8|(l[26]&255)<<16|(l[27]&255)<<24,ae=l[28]&255|(l[29]&255)<<8|(l[30]&255)<<16|(l[31]&255)<<24,ie=o[12]&255|(o[13]&255)<<8|(o[14]&255)<<16|(o[15]&255)<<24,z=p,J=E,H=v,G=O,Y=M,q=X,b=W,x=Ce,R=K,T=re,k=ne,D=ue,ee=ce,le=se,ge=ae,he=ie,_,_e=0;_e<20;_e+=2)_=z+ee|0,Y^=_<<7|_>>>25,_=Y+z|0,R^=_<<9|_>>>23,_=R+Y|0,ee^=_<<13|_>>>19,_=ee+R|0,z^=_<<18|_>>>14,_=q+J|0,T^=_<<7|_>>>25,_=T+q|0,le^=_<<9|_>>>23,_=le+T|0,J^=_<<13|_>>>19,_=J+le|0,q^=_<<18|_>>>14,_=k+b|0,ge^=_<<7|_>>>25,_=ge+k|0,H^=_<<9|_>>>23,_=H+ge|0,b^=_<<13|_>>>19,_=b+H|0,k^=_<<18|_>>>14,_=he+D|0,G^=_<<7|_>>>25,_=G+he|0,x^=_<<9|_>>>23,_=x+G|0,D^=_<<13|_>>>19,_=D+x|0,he^=_<<18|_>>>14,_=z+G|0,J^=_<<7|_>>>25,_=J+z|0,H^=_<<9|_>>>23,_=H+J|0,G^=_<<13|_>>>19,_=G+H|0,z^=_<<18|_>>>14,_=q+Y|0,b^=_<<7|_>>>25,_=b+q|0,x^=_<<9|_>>>23,_=x+b|0,Y^=_<<13|_>>>19,_=Y+x|0,q^=_<<18|_>>>14,_=k+T|0,D^=_<<7|_>>>25,_=D+k|0,R^=_<<9|_>>>23,_=R+D|0,T^=_<<13|_>>>19,_=T+R|0,k^=_<<18|_>>>14,_=he+ge|0,ee^=_<<7|_>>>25,_=ee+he|0,le^=_<<9|_>>>23,_=le+ee|0,ge^=_<<13|_>>>19,_=ge+le|0,he^=_<<18|_>>>14;f[0]=z>>>0&255,f[1]=z>>>8&255,f[2]=z>>>16&255,f[3]=z>>>24&255,f[4]=q>>>0&255,f[5]=q>>>8&255,f[6]=q>>>16&255,f[7]=q>>>24&255,f[8]=k>>>0&255,f[9]=k>>>8&255,f[10]=k>>>16&255,f[11]=k>>>24&255,f[12]=he>>>0&255,f[13]=he>>>8&255,f[14]=he>>>16&255,f[15]=he>>>24&255,f[16]=b>>>0&255,f[17]=b>>>8&255,f[18]=b>>>16&255,f[19]=b>>>24&255,f[20]=x>>>0&255,f[21]=x>>>8&255,f[22]=x>>>16&255,f[23]=x>>>24&255,f[24]=R>>>0&255,f[25]=R>>>8&255,f[26]=R>>>16&255,f[27]=R>>>24&255,f[28]=T>>>0&255,f[29]=T>>>8&255,f[30]=T>>>16&255,f[31]=T>>>24&255}function P(f,h,l,o){de(f,h,l,o)}function L(f,h,l,o){B(f,h,l,o)}var Q=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function j(f,h,l,o,p,E,v){var O=new Uint8Array(16),M=new Uint8Array(64),X,W;for(W=0;W<16;W++)O[W]=0;for(W=0;W<8;W++)O[W]=E[W];for(;p>=64;){for(P(M,O,v,Q),W=0;W<64;W++)f[h+W]=l[o+W]^M[W];for(X=1,W=8;W<16;W++)X=X+(O[W]&255)|0,O[W]=X&255,X>>>=8;p-=64,h+=64,o+=64}if(p>0)for(P(M,O,v,Q),W=0;W<p;W++)f[h+W]=l[o+W]^M[W];return 0}function Z(f,h,l,o,p){var E=new Uint8Array(16),v=new Uint8Array(64),O,M;for(M=0;M<16;M++)E[M]=0;for(M=0;M<8;M++)E[M]=o[M];for(;l>=64;){for(P(v,E,p,Q),M=0;M<64;M++)f[h+M]=v[M];for(O=1,M=8;M<16;M++)O=O+(E[M]&255)|0,E[M]=O&255,O>>>=8;l-=64,h+=64}if(l>0)for(P(v,E,p,Q),M=0;M<l;M++)f[h+M]=v[M];return 0}function pe(f,h,l,o,p){var E=new Uint8Array(32);L(E,o,p,Q);for(var v=new Uint8Array(8),O=0;O<8;O++)v[O]=o[O+16];return Z(f,h,l,v,E)}function Ee(f,h,l,o,p,E,v){var O=new Uint8Array(32);L(O,E,v,Q);for(var M=new Uint8Array(8),X=0;X<8;X++)M[X]=E[X+16];return j(f,h,l,o,p,M,O)}var ve=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 h,l,o,p,E,v,O,M;h=f[0]&255|(f[1]&255)<<8,this.r[0]=h&8191,l=f[2]&255|(f[3]&255)<<8,this.r[1]=(h>>>13|l<<3)&8191,o=f[4]&255|(f[5]&255)<<8,this.r[2]=(l>>>10|o<<6)&7939,p=f[6]&255|(f[7]&255)<<8,this.r[3]=(o>>>7|p<<9)&8191,E=f[8]&255|(f[9]&255)<<8,this.r[4]=(p>>>4|E<<12)&255,this.r[5]=E>>>1&8190,v=f[10]&255|(f[11]&255)<<8,this.r[6]=(E>>>14|v<<2)&8191,O=f[12]&255|(f[13]&255)<<8,this.r[7]=(v>>>11|O<<5)&8065,M=f[14]&255|(f[15]&255)<<8,this.r[8]=(O>>>8|M<<8)&8191,this.r[9]=M>>>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};ve.prototype.blocks=function(f,h,l){for(var o=this.fin?0:2048,p,E,v,O,M,X,W,Ce,K,re,ne,ue,ce,se,ae,ie,z,J,H,G=this.h[0],Y=this.h[1],q=this.h[2],b=this.h[3],x=this.h[4],R=this.h[5],T=this.h[6],k=this.h[7],D=this.h[8],ee=this.h[9],le=this.r[0],ge=this.r[1],he=this.r[2],_=this.r[3],_e=this.r[4],Oe=this.r[5],ke=this.r[6],me=this.r[7],we=this.r[8],be=this.r[9];l>=16;)p=f[h+0]&255|(f[h+1]&255)<<8,G+=p&8191,E=f[h+2]&255|(f[h+3]&255)<<8,Y+=(p>>>13|E<<3)&8191,v=f[h+4]&255|(f[h+5]&255)<<8,q+=(E>>>10|v<<6)&8191,O=f[h+6]&255|(f[h+7]&255)<<8,b+=(v>>>7|O<<9)&8191,M=f[h+8]&255|(f[h+9]&255)<<8,x+=(O>>>4|M<<12)&8191,R+=M>>>1&8191,X=f[h+10]&255|(f[h+11]&255)<<8,T+=(M>>>14|X<<2)&8191,W=f[h+12]&255|(f[h+13]&255)<<8,k+=(X>>>11|W<<5)&8191,Ce=f[h+14]&255|(f[h+15]&255)<<8,D+=(W>>>8|Ce<<8)&8191,ee+=Ce>>>5|o,K=0,re=K,re+=G*le,re+=Y*(5*be),re+=q*(5*we),re+=b*(5*me),re+=x*(5*ke),K=re>>>13,re&=8191,re+=R*(5*Oe),re+=T*(5*_e),re+=k*(5*_),re+=D*(5*he),re+=ee*(5*ge),K+=re>>>13,re&=8191,ne=K,ne+=G*ge,ne+=Y*le,ne+=q*(5*be),ne+=b*(5*we),ne+=x*(5*me),K=ne>>>13,ne&=8191,ne+=R*(5*ke),ne+=T*(5*Oe),ne+=k*(5*_e),ne+=D*(5*_),ne+=ee*(5*he),K+=ne>>>13,ne&=8191,ue=K,ue+=G*he,ue+=Y*ge,ue+=q*le,ue+=b*(5*be),ue+=x*(5*we),K=ue>>>13,ue&=8191,ue+=R*(5*me),ue+=T*(5*ke),ue+=k*(5*Oe),ue+=D*(5*_e),ue+=ee*(5*_),K+=ue>>>13,ue&=8191,ce=K,ce+=G*_,ce+=Y*he,ce+=q*ge,ce+=b*le,ce+=x*(5*be),K=ce>>>13,ce&=8191,ce+=R*(5*we),ce+=T*(5*me),ce+=k*(5*ke),ce+=D*(5*Oe),ce+=ee*(5*_e),K+=ce>>>13,ce&=8191,se=K,se+=G*_e,se+=Y*_,se+=q*he,se+=b*ge,se+=x*le,K=se>>>13,se&=8191,se+=R*(5*be),se+=T*(5*we),se+=k*(5*me),se+=D*(5*ke),se+=ee*(5*Oe),K+=se>>>13,se&=8191,ae=K,ae+=G*Oe,ae+=Y*_e,ae+=q*_,ae+=b*he,ae+=x*ge,K=ae>>>13,ae&=8191,ae+=R*le,ae+=T*(5*be),ae+=k*(5*we),ae+=D*(5*me),ae+=ee*(5*ke),K+=ae>>>13,ae&=8191,ie=K,ie+=G*ke,ie+=Y*Oe,ie+=q*_e,ie+=b*_,ie+=x*he,K=ie>>>13,ie&=8191,ie+=R*ge,ie+=T*le,ie+=k*(5*be),ie+=D*(5*we),ie+=ee*(5*me),K+=ie>>>13,ie&=8191,z=K,z+=G*me,z+=Y*ke,z+=q*Oe,z+=b*_e,z+=x*_,K=z>>>13,z&=8191,z+=R*he,z+=T*ge,z+=k*le,z+=D*(5*be),z+=ee*(5*we),K+=z>>>13,z&=8191,J=K,J+=G*we,J+=Y*me,J+=q*ke,J+=b*Oe,J+=x*_e,K=J>>>13,J&=8191,J+=R*_,J+=T*he,J+=k*ge,J+=D*le,J+=ee*(5*be),K+=J>>>13,J&=8191,H=K,H+=G*be,H+=Y*we,H+=q*me,H+=b*ke,H+=x*Oe,K=H>>>13,H&=8191,H+=R*_e,H+=T*_,H+=k*he,H+=D*ge,H+=ee*le,K+=H>>>13,H&=8191,K=(K<<2)+K|0,K=K+re|0,re=K&8191,K=K>>>13,ne+=K,G=re,Y=ne,q=ue,b=ce,x=se,R=ae,T=ie,k=z,D=J,ee=H,h+=16,l-=16;this.h[0]=G,this.h[1]=Y,this.h[2]=q,this.h[3]=b,this.h[4]=x,this.h[5]=R,this.h[6]=T,this.h[7]=k,this.h[8]=D,this.h[9]=ee},ve.prototype.finish=function(f,h){var l=new Uint16Array(10),o,p,E,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,p=(o^1)-1,v=0;v<10;v++)l[v]&=p;for(p=~p,v=0;v<10;v++)this.h[v]=this.h[v]&p|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,E=this.h[0]+this.pad[0],this.h[0]=E&65535,v=1;v<8;v++)E=(this.h[v]+this.pad[v]|0)+(E>>>16)|0,this.h[v]=E&65535;f[h+0]=this.h[0]>>>0&255,f[h+1]=this.h[0]>>>8&255,f[h+2]=this.h[1]>>>0&255,f[h+3]=this.h[1]>>>8&255,f[h+4]=this.h[2]>>>0&255,f[h+5]=this.h[2]>>>8&255,f[h+6]=this.h[3]>>>0&255,f[h+7]=this.h[3]>>>8&255,f[h+8]=this.h[4]>>>0&255,f[h+9]=this.h[4]>>>8&255,f[h+10]=this.h[5]>>>0&255,f[h+11]=this.h[5]>>>8&255,f[h+12]=this.h[6]>>>0&255,f[h+13]=this.h[6]>>>8&255,f[h+14]=this.h[7]>>>0&255,f[h+15]=this.h[7]>>>8&255},ve.prototype.update=function(f,h,l){var o,p;if(this.leftover){for(p=16-this.leftover,p>l&&(p=l),o=0;o<p;o++)this.buffer[this.leftover+o]=f[h+o];if(l-=p,h+=p,this.leftover+=p,this.leftover<16)return;this.blocks(this.buffer,0,16),this.leftover=0}if(l>=16&&(p=l-l%16,this.blocks(f,h,p),h+=p,l-=p),l){for(o=0;o<l;o++)this.buffer[this.leftover+o]=f[h+o];this.leftover+=l}};function He(f,h,l,o,p,E){var v=new ve(E);return v.update(l,o,p),v.finish(f,h),0}function ze(f,h,l,o,p,E){var v=new Uint8Array(16);return He(v,0,l,o,p,E),C(f,h,v,0)}function Te(f,h,l,o,p){var E;if(l<32)return-1;for(Ee(f,0,h,0,l,o,p),He(f,16,f,32,l-32,f),E=0;E<16;E++)f[E]=0;return 0}function $e(f,h,l,o,p){var E,v=new Uint8Array(32);if(l<32||(pe(v,0,32,o,p),ze(h,16,h,32,l-32,v)!==0))return-1;for(Ee(f,0,h,0,l,o,p),E=0;E<32;E++)f[E]=0;return 0}function Ve(f,h){var l;for(l=0;l<16;l++)f[l]=h[l]|0}function Ze(f){var h,l,o=1;for(h=0;h<16;h++)l=f[h]+o+65535,o=Math.floor(l/65536),f[h]=l-o*65536;f[0]+=o-1+37*(o-1)}function $(f,h,l){for(var o,p=~(l-1),E=0;E<16;E++)o=p&(f[E]^h[E]),f[E]^=o,h[E]^=o}function te(f,h){var l,o,p,E=e(),v=e();for(l=0;l<16;l++)v[l]=h[l];for(Ze(v),Ze(v),Ze(v),o=0;o<2;o++){for(E[0]=v[0]-65517,l=1;l<15;l++)E[l]=v[l]-65535-(E[l-1]>>16&1),E[l-1]&=65535;E[15]=v[15]-32767-(E[14]>>16&1),p=E[15]>>16&1,E[14]&=65535,$(v,E,1-p)}for(l=0;l<16;l++)f[2*l]=v[l]&255,f[2*l+1]=v[l]>>8}function Re(f,h){var l=new Uint8Array(32),o=new Uint8Array(32);return te(l,f),te(o,h),V(l,0,o,0)}function je(f){var h=new Uint8Array(32);return te(h,f),h[0]&1}function yt(f,h){var l;for(l=0;l<16;l++)f[l]=h[2*l]+(h[2*l+1]<<8);f[15]&=32767}function N(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]+l[o]}function U(f,h,l){for(var o=0;o<16;o++)f[o]=h[o]-l[o]}function A(f,h,l){var o,p,E=0,v=0,O=0,M=0,X=0,W=0,Ce=0,K=0,re=0,ne=0,ue=0,ce=0,se=0,ae=0,ie=0,z=0,J=0,H=0,G=0,Y=0,q=0,b=0,x=0,R=0,T=0,k=0,D=0,ee=0,le=0,ge=0,he=0,_=l[0],_e=l[1],Oe=l[2],ke=l[3],me=l[4],we=l[5],be=l[6],Je=l[7],Ae=l[8],Ge=l[9],Ye=l[10],Xe=l[11],et=l[12],it=l[13],ot=l[14],at=l[15];o=h[0],E+=o*_,v+=o*_e,O+=o*Oe,M+=o*ke,X+=o*me,W+=o*we,Ce+=o*be,K+=o*Je,re+=o*Ae,ne+=o*Ge,ue+=o*Ye,ce+=o*Xe,se+=o*et,ae+=o*it,ie+=o*ot,z+=o*at,o=h[1],v+=o*_,O+=o*_e,M+=o*Oe,X+=o*ke,W+=o*me,Ce+=o*we,K+=o*be,re+=o*Je,ne+=o*Ae,ue+=o*Ge,ce+=o*Ye,se+=o*Xe,ae+=o*et,ie+=o*it,z+=o*ot,J+=o*at,o=h[2],O+=o*_,M+=o*_e,X+=o*Oe,W+=o*ke,Ce+=o*me,K+=o*we,re+=o*be,ne+=o*Je,ue+=o*Ae,ce+=o*Ge,se+=o*Ye,ae+=o*Xe,ie+=o*et,z+=o*it,J+=o*ot,H+=o*at,o=h[3],M+=o*_,X+=o*_e,W+=o*Oe,Ce+=o*ke,K+=o*me,re+=o*we,ne+=o*be,ue+=o*Je,ce+=o*Ae,se+=o*Ge,ae+=o*Ye,ie+=o*Xe,z+=o*et,J+=o*it,H+=o*ot,G+=o*at,o=h[4],X+=o*_,W+=o*_e,Ce+=o*Oe,K+=o*ke,re+=o*me,ne+=o*we,ue+=o*be,ce+=o*Je,se+=o*Ae,ae+=o*Ge,ie+=o*Ye,z+=o*Xe,J+=o*et,H+=o*it,G+=o*ot,Y+=o*at,o=h[5],W+=o*_,Ce+=o*_e,K+=o*Oe,re+=o*ke,ne+=o*me,ue+=o*we,ce+=o*be,se+=o*Je,ae+=o*Ae,ie+=o*Ge,z+=o*Ye,J+=o*Xe,H+=o*et,G+=o*it,Y+=o*ot,q+=o*at,o=h[6],Ce+=o*_,K+=o*_e,re+=o*Oe,ne+=o*ke,ue+=o*me,ce+=o*we,se+=o*be,ae+=o*Je,ie+=o*Ae,z+=o*Ge,J+=o*Ye,H+=o*Xe,G+=o*et,Y+=o*it,q+=o*ot,b+=o*at,o=h[7],K+=o*_,re+=o*_e,ne+=o*Oe,ue+=o*ke,ce+=o*me,se+=o*we,ae+=o*be,ie+=o*Je,z+=o*Ae,J+=o*Ge,H+=o*Ye,G+=o*Xe,Y+=o*et,q+=o*it,b+=o*ot,x+=o*at,o=h[8],re+=o*_,ne+=o*_e,ue+=o*Oe,ce+=o*ke,se+=o*me,ae+=o*we,ie+=o*be,z+=o*Je,J+=o*Ae,H+=o*Ge,G+=o*Ye,Y+=o*Xe,q+=o*et,b+=o*it,x+=o*ot,R+=o*at,o=h[9],ne+=o*_,ue+=o*_e,ce+=o*Oe,se+=o*ke,ae+=o*me,ie+=o*we,z+=o*be,J+=o*Je,H+=o*Ae,G+=o*Ge,Y+=o*Ye,q+=o*Xe,b+=o*et,x+=o*it,R+=o*ot,T+=o*at,o=h[10],ue+=o*_,ce+=o*_e,se+=o*Oe,ae+=o*ke,ie+=o*me,z+=o*we,J+=o*be,H+=o*Je,G+=o*Ae,Y+=o*Ge,q+=o*Ye,b+=o*Xe,x+=o*et,R+=o*it,T+=o*ot,k+=o*at,o=h[11],ce+=o*_,se+=o*_e,ae+=o*Oe,ie+=o*ke,z+=o*me,J+=o*we,H+=o*be,G+=o*Je,Y+=o*Ae,q+=o*Ge,b+=o*Ye,x+=o*Xe,R+=o*et,T+=o*it,k+=o*ot,D+=o*at,o=h[12],se+=o*_,ae+=o*_e,ie+=o*Oe,z+=o*ke,J+=o*me,H+=o*we,G+=o*be,Y+=o*Je,q+=o*Ae,b+=o*Ge,x+=o*Ye,R+=o*Xe,T+=o*et,k+=o*it,D+=o*ot,ee+=o*at,o=h[13],ae+=o*_,ie+=o*_e,z+=o*Oe,J+=o*ke,H+=o*me,G+=o*we,Y+=o*be,q+=o*Je,b+=o*Ae,x+=o*Ge,R+=o*Ye,T+=o*Xe,k+=o*et,D+=o*it,ee+=o*ot,le+=o*at,o=h[14],ie+=o*_,z+=o*_e,J+=o*Oe,H+=o*ke,G+=o*me,Y+=o*we,q+=o*be,b+=o*Je,x+=o*Ae,R+=o*Ge,T+=o*Ye,k+=o*Xe,D+=o*et,ee+=o*it,le+=o*ot,ge+=o*at,o=h[15],z+=o*_,J+=o*_e,H+=o*Oe,G+=o*ke,Y+=o*me,q+=o*we,b+=o*be,x+=o*Je,R+=o*Ae,T+=o*Ge,k+=o*Ye,D+=o*Xe,ee+=o*et,le+=o*it,ge+=o*ot,he+=o*at,E+=38*J,v+=38*H,O+=38*G,M+=38*Y,X+=38*q,W+=38*b,Ce+=38*x,K+=38*R,re+=38*T,ne+=38*k,ue+=38*D,ce+=38*ee,se+=38*le,ae+=38*ge,ie+=38*he,p=1,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=X+p+65535,p=Math.floor(o/65536),X=o-p*65536,o=W+p+65535,p=Math.floor(o/65536),W=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ue+p+65535,p=Math.floor(o/65536),ue=o-p*65536,o=ce+p+65535,p=Math.floor(o/65536),ce=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=ie+p+65535,p=Math.floor(o/65536),ie=o-p*65536,o=z+p+65535,p=Math.floor(o/65536),z=o-p*65536,E+=p-1+37*(p-1),p=1,o=E+p+65535,p=Math.floor(o/65536),E=o-p*65536,o=v+p+65535,p=Math.floor(o/65536),v=o-p*65536,o=O+p+65535,p=Math.floor(o/65536),O=o-p*65536,o=M+p+65535,p=Math.floor(o/65536),M=o-p*65536,o=X+p+65535,p=Math.floor(o/65536),X=o-p*65536,o=W+p+65535,p=Math.floor(o/65536),W=o-p*65536,o=Ce+p+65535,p=Math.floor(o/65536),Ce=o-p*65536,o=K+p+65535,p=Math.floor(o/65536),K=o-p*65536,o=re+p+65535,p=Math.floor(o/65536),re=o-p*65536,o=ne+p+65535,p=Math.floor(o/65536),ne=o-p*65536,o=ue+p+65535,p=Math.floor(o/65536),ue=o-p*65536,o=ce+p+65535,p=Math.floor(o/65536),ce=o-p*65536,o=se+p+65535,p=Math.floor(o/65536),se=o-p*65536,o=ae+p+65535,p=Math.floor(o/65536),ae=o-p*65536,o=ie+p+65535,p=Math.floor(o/65536),ie=o-p*65536,o=z+p+65535,p=Math.floor(o/65536),z=o-p*65536,E+=p-1+37*(p-1),f[0]=E,f[1]=v,f[2]=O,f[3]=M,f[4]=X,f[5]=W,f[6]=Ce,f[7]=K,f[8]=re,f[9]=ne,f[10]=ue,f[11]=ce,f[12]=se,f[13]=ae,f[14]=ie,f[15]=z}function oe(f,h){A(f,h,h)}function Ie(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=253;o>=0;o--)oe(l,l),o!==2&&o!==4&&A(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function ut(f,h){var l=e(),o;for(o=0;o<16;o++)l[o]=h[o];for(o=250;o>=0;o--)oe(l,l),o!==1&&A(l,l,h);for(o=0;o<16;o++)f[o]=l[o]}function Et(f,h,l){var o=new Uint8Array(32),p=new Float64Array(80),E,v,O=e(),M=e(),X=e(),W=e(),Ce=e(),K=e();for(v=0;v<31;v++)o[v]=h[v];for(o[31]=h[31]&127|64,o[0]&=248,yt(p,l),v=0;v<16;v++)M[v]=p[v],W[v]=O[v]=X[v]=0;for(O[0]=W[0]=1,v=254;v>=0;--v)E=o[v>>>3]>>>(v&7)&1,$(O,M,E),$(X,W,E),N(Ce,O,X),U(O,O,X),N(X,M,W),U(M,M,W),oe(W,Ce),oe(K,O),A(O,X,O),A(X,M,Ce),N(Ce,O,X),U(O,O,X),oe(M,O),U(X,W,K),A(O,X,c),N(O,O,W),A(X,X,O),A(O,W,K),A(W,M,p),oe(M,Ce),$(O,M,E),$(X,W,E);for(v=0;v<16;v++)p[v+16]=O[v],p[v+32]=X[v],p[v+48]=M[v],p[v+64]=W[v];var re=p.subarray(32),ne=p.subarray(16);return Ie(re,re),A(ne,ne,re),te(f,ne),0}function vt(f,h){return Et(f,h,s)}function wt(f,h){return t(h,32),vt(f,h)}function ir(f,h,l){var o=new Uint8Array(32);return Et(o,l,h),L(f,n,o,Q)}var wr=Te,Wr=$e;function br(f,h,l,o,p,E){var v=new Uint8Array(32);return ir(v,p,E),wr(f,h,l,o,v)}function gn(f,h,l,o,p,E){var v=new Uint8Array(32);return ir(v,p,E),Wr(f,h,l,o,v)}var Ls=[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 Zc(f,h,l,o){for(var p=new Int32Array(16),E=new Int32Array(16),v,O,M,X,W,Ce,K,re,ne,ue,ce,se,ae,ie,z,J,H,G,Y,q,b,x,R,T,k,D,ee=f[0],le=f[1],ge=f[2],he=f[3],_=f[4],_e=f[5],Oe=f[6],ke=f[7],me=h[0],we=h[1],be=h[2],Je=h[3],Ae=h[4],Ge=h[5],Ye=h[6],Xe=h[7],et=0;o>=128;){for(Y=0;Y<16;Y++)q=8*Y+et,p[Y]=l[q+0]<<24|l[q+1]<<16|l[q+2]<<8|l[q+3],E[Y]=l[q+4]<<24|l[q+5]<<16|l[q+6]<<8|l[q+7];for(Y=0;Y<80;Y++)if(v=ee,O=le,M=ge,X=he,W=_,Ce=_e,K=Oe,re=ke,ne=me,ue=we,ce=be,se=Je,ae=Ae,ie=Ge,z=Ye,J=Xe,b=ke,x=Xe,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=(_>>>14|Ae<<18)^(_>>>18|Ae<<14)^(Ae>>>9|_<<23),x=(Ae>>>14|_<<18)^(Ae>>>18|_<<14)^(_>>>9|Ae<<23),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=_&_e^~_&Oe,x=Ae&Ge^~Ae&Ye,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=Ls[Y*2],x=Ls[Y*2+1],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=p[Y%16],x=E[Y%16],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,H=k&65535|D<<16,G=R&65535|T<<16,b=H,x=G,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=(ee>>>28|me<<4)^(me>>>2|ee<<30)^(me>>>7|ee<<25),x=(me>>>28|ee<<4)^(ee>>>2|me<<30)^(ee>>>7|me<<25),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,b=ee&le^ee&ge^le&ge,x=me&we^me&be^we&be,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,re=k&65535|D<<16,J=R&65535|T<<16,b=X,x=se,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=H,x=G,R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,X=k&65535|D<<16,se=R&65535|T<<16,le=v,ge=O,he=M,_=X,_e=W,Oe=Ce,ke=K,ee=re,we=ne,be=ue,Je=ce,Ae=se,Ge=ae,Ye=ie,Xe=z,me=J,Y%16===15)for(q=0;q<16;q++)b=p[q],x=E[q],R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=p[(q+9)%16],x=E[(q+9)%16],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(q+1)%16],G=E[(q+1)%16],b=(H>>>1|G<<31)^(H>>>8|G<<24)^H>>>7,x=(G>>>1|H<<31)^(G>>>8|H<<24)^(G>>>7|H<<25),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,H=p[(q+14)%16],G=E[(q+14)%16],b=(H>>>19|G<<13)^(G>>>29|H<<3)^H>>>6,x=(G>>>19|H<<13)^(H>>>29|G<<3)^(G>>>6|H<<26),R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,p[q]=k&65535|D<<16,E[q]=R&65535|T<<16;b=ee,x=me,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[0],x=h[0],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[0]=ee=k&65535|D<<16,h[0]=me=R&65535|T<<16,b=le,x=we,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[1],x=h[1],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[1]=le=k&65535|D<<16,h[1]=we=R&65535|T<<16,b=ge,x=be,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[2],x=h[2],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[2]=ge=k&65535|D<<16,h[2]=be=R&65535|T<<16,b=he,x=Je,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[3],x=h[3],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[3]=he=k&65535|D<<16,h[3]=Je=R&65535|T<<16,b=_,x=Ae,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[4],x=h[4],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[4]=_=k&65535|D<<16,h[4]=Ae=R&65535|T<<16,b=_e,x=Ge,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[5],x=h[5],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[5]=_e=k&65535|D<<16,h[5]=Ge=R&65535|T<<16,b=Oe,x=Ye,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[6],x=h[6],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[6]=Oe=k&65535|D<<16,h[6]=Ye=R&65535|T<<16,b=ke,x=Xe,R=x&65535,T=x>>>16,k=b&65535,D=b>>>16,b=f[7],x=h[7],R+=x&65535,T+=x>>>16,k+=b&65535,D+=b>>>16,T+=R>>>16,k+=T>>>16,D+=k>>>16,f[7]=ke=k&65535|D<<16,h[7]=Xe=R&65535|T<<16,et+=128,o-=128}return o}function Hr(f,h,l){var o=new Int32Array(8),p=new Int32Array(8),E=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,p[0]=4089235720,p[1]=2227873595,p[2]=4271175723,p[3]=1595750129,p[4]=2917565137,p[5]=725511199,p[6]=4215389547,p[7]=327033209,Zc(o,p,h,l),l%=128,v=0;v<l;v++)E[v]=h[O-l+v];for(E[l]=128,l=256-128*(l<112?1:0),E[l-9]=0,w(E,l-8,O/536870912|0,O<<3),Zc(o,p,E,l),v=0;v<8;v++)w(f,8*v,o[v],p[v]);return 0}function Ns(f,h){var l=e(),o=e(),p=e(),E=e(),v=e(),O=e(),M=e(),X=e(),W=e();U(l,f[1],f[0]),U(W,h[1],h[0]),A(l,l,W),N(o,f[0],f[1]),N(W,h[0],h[1]),A(o,o,W),A(p,f[3],h[3]),A(p,p,d),A(E,f[2],h[2]),N(E,E,E),U(v,o,l),U(O,E,p),N(M,E,p),N(X,o,l),A(f[0],v,O),A(f[1],X,M),A(f[2],M,O),A(f[3],v,X)}function Qc(f,h,l){var o;for(o=0;o<4;o++)$(f[o],h[o],l)}function mo(f,h){var l=e(),o=e(),p=e();Ie(p,h[2]),A(l,h[0],p),A(o,h[1],p),te(f,o),f[31]^=je(l)<<7}function _o(f,h,l){var o,p;for(Ve(f[0],i),Ve(f[1],a),Ve(f[2],a),Ve(f[3],i),p=255;p>=0;--p)o=l[p/8|0]>>(p&7)&1,Qc(f,h,o),Ns(h,f),Ns(f,f),Qc(f,h,o)}function Ds(f,h){var l=[e(),e(),e(),e()];Ve(l[0],g),Ve(l[1],m),Ve(l[2],a),A(l[3],g,m),_o(f,l,h)}function yo(f,h,l){var o=new Uint8Array(64),p=[e(),e(),e(),e()],E;for(l||t(h,32),Hr(o,h,32),o[0]&=248,o[31]&=127,o[31]|=64,Ds(p,o),mo(f,p),E=0;E<32;E++)h[E+32]=f[E];return 0}var Fs=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 Eo(f,h){var l,o,p,E;for(o=63;o>=32;--o){for(l=0,p=o-32,E=o-12;p<E;++p)h[p]+=l-16*h[o]*Fs[p-(o-32)],l=Math.floor((h[p]+128)/256),h[p]-=l*256;h[p]+=l,h[o]=0}for(l=0,p=0;p<32;p++)h[p]+=l-(h[31]>>4)*Fs[p],l=h[p]>>8,h[p]&=255;for(p=0;p<32;p++)h[p]-=l*Fs[p];for(o=0;o<32;o++)h[o+1]+=h[o]>>8,f[o]=h[o]&255}function vo(f){var h=new Float64Array(64),l;for(l=0;l<64;l++)h[l]=f[l];for(l=0;l<64;l++)f[l]=0;Eo(f,h)}function ef(f,h,l,o){var p=new Uint8Array(64),E=new Uint8Array(64),v=new Uint8Array(64),O,M,X=new Float64Array(64),W=[e(),e(),e(),e()];Hr(p,o,32),p[0]&=248,p[31]&=127,p[31]|=64;var Ce=l+64;for(O=0;O<l;O++)f[64+O]=h[O];for(O=0;O<32;O++)f[32+O]=p[32+O];for(Hr(v,f.subarray(32),l+32),vo(v),Ds(W,v),mo(f,W),O=32;O<64;O++)f[O]=o[O];for(Hr(E,f,l+64),vo(E),O=0;O<64;O++)X[O]=0;for(O=0;O<32;O++)X[O]=v[O];for(O=0;O<32;O++)for(M=0;M<32;M++)X[O+M]+=E[O]*p[M];return Eo(f.subarray(32),X),Ce}function Fd(f,h){var l=e(),o=e(),p=e(),E=e(),v=e(),O=e(),M=e();return Ve(f[2],a),yt(f[1],h),oe(p,f[1]),A(E,p,u),U(p,p,f[2]),N(E,f[2],E),oe(v,E),oe(O,v),A(M,O,v),A(l,M,p),A(l,l,E),ut(l,l),A(l,l,p),A(l,l,E),A(l,l,E),A(f[0],l,E),oe(o,f[0]),A(o,o,E),Re(o,p)&&A(f[0],f[0],y),oe(o,f[0]),A(o,o,E),Re(o,p)?-1:(je(f[0])===h[31]>>7&&U(f[0],i,f[0]),A(f[3],f[0],f[1]),0)}function wo(f,h,l,o){var p,E=new Uint8Array(32),v=new Uint8Array(64),O=[e(),e(),e(),e()],M=[e(),e(),e(),e()];if(l<64||Fd(M,o))return-1;for(p=0;p<l;p++)f[p]=h[p];for(p=0;p<32;p++)f[p+32]=o[p];if(Hr(v,f,l),vo(v),_o(O,M,v),Ds(M,h.subarray(32)),Ns(O,M),mo(E,O),l-=64,V(h,0,E,0)){for(p=0;p<l;p++)f[p]=0;return-1}for(p=0;p<l;p++)f[p]=h[p+64];return l}var bo=32,Ms=24,Gn=32,mn=16,Yn=32,Bs=32,Xn=32,Jn=32,xo=32,tf=Ms,Md=Gn,Bd=mn,or=64,Vr=32,_n=64,So=32,To=64;r.lowlevel={crypto_core_hsalsa20:L,crypto_stream_xor:Ee,crypto_stream:pe,crypto_stream_salsa20_xor:j,crypto_stream_salsa20:Z,crypto_onetimeauth:He,crypto_onetimeauth_verify:ze,crypto_verify_16:C,crypto_verify_32:V,crypto_secretbox:Te,crypto_secretbox_open:$e,crypto_scalarmult:Et,crypto_scalarmult_base:vt,crypto_box_beforenm:ir,crypto_box_afternm:wr,crypto_box:br,crypto_box_open:gn,crypto_box_keypair:wt,crypto_hash:Hr,crypto_sign:ef,crypto_sign_keypair:yo,crypto_sign_open:wo,crypto_secretbox_KEYBYTES:bo,crypto_secretbox_NONCEBYTES:Ms,crypto_secretbox_ZEROBYTES:Gn,crypto_secretbox_BOXZEROBYTES:mn,crypto_scalarmult_BYTES:Yn,crypto_scalarmult_SCALARBYTES:Bs,crypto_box_PUBLICKEYBYTES:Xn,crypto_box_SECRETKEYBYTES:Jn,crypto_box_BEFORENMBYTES:xo,crypto_box_NONCEBYTES:tf,crypto_box_ZEROBYTES:Md,crypto_box_BOXZEROBYTES:Bd,crypto_sign_BYTES:or,crypto_sign_PUBLICKEYBYTES:Vr,crypto_sign_SECRETKEYBYTES:_n,crypto_sign_SEEDBYTES:So,crypto_hash_BYTES:To,gf:e,D:u,L:Fs,pack25519:te,unpack25519:yt,M:A,A:N,S:oe,Z:U,pow2523:ut,add:Ns,set25519:Ve,modL:Eo,scalarmult:_o,scalarbase:Ds};function rf(f,h){if(f.length!==bo)throw new Error("bad key size");if(h.length!==Ms)throw new Error("bad nonce size")}function jd(f,h){if(f.length!==Xn)throw new Error("bad public key size");if(h.length!==Jn)throw new Error("bad secret key size")}function bt(){for(var f=0;f<arguments.length;f++)if(!(arguments[f]instanceof Uint8Array))throw new TypeError("unexpected type, use Uint8Array")}function nf(f){for(var h=0;h<f.length;h++)f[h]=0}r.randomBytes=function(f){var h=new Uint8Array(f);return t(h,f),h},r.secretbox=function(f,h,l){bt(f,h,l),rf(l,h);for(var o=new Uint8Array(Gn+f.length),p=new Uint8Array(o.length),E=0;E<f.length;E++)o[E+Gn]=f[E];return Te(p,o,o.length,h,l),p.subarray(mn)},r.secretbox.open=function(f,h,l){bt(f,h,l),rf(l,h);for(var o=new Uint8Array(mn+f.length),p=new Uint8Array(o.length),E=0;E<f.length;E++)o[E+mn]=f[E];return o.length<32||$e(p,o,o.length,h,l)!==0?null:p.subarray(Gn)},r.secretbox.keyLength=bo,r.secretbox.nonceLength=Ms,r.secretbox.overheadLength=mn,r.scalarMult=function(f,h){if(bt(f,h),f.length!==Bs)throw new Error("bad n size");if(h.length!==Yn)throw new Error("bad p size");var l=new Uint8Array(Yn);return Et(l,f,h),l},r.scalarMult.base=function(f){if(bt(f),f.length!==Bs)throw new Error("bad n size");var h=new Uint8Array(Yn);return vt(h,f),h},r.scalarMult.scalarLength=Bs,r.scalarMult.groupElementLength=Yn,r.box=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox(f,h,p)},r.box.before=function(f,h){bt(f,h),jd(f,h);var l=new Uint8Array(xo);return ir(l,f,h),l},r.box.after=r.secretbox,r.box.open=function(f,h,l,o){var p=r.box.before(l,o);return r.secretbox.open(f,h,p)},r.box.open.after=r.secretbox.open,r.box.keyPair=function(){var f=new Uint8Array(Xn),h=new Uint8Array(Jn);return wt(f,h),{publicKey:f,secretKey:h}},r.box.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==Jn)throw new Error("bad secret key size");var h=new Uint8Array(Xn);return vt(h,f),{publicKey:h,secretKey:new Uint8Array(f)}},r.box.publicKeyLength=Xn,r.box.secretKeyLength=Jn,r.box.sharedKeyLength=xo,r.box.nonceLength=tf,r.box.overheadLength=r.secretbox.overheadLength,r.sign=function(f,h){if(bt(f,h),h.length!==_n)throw new Error("bad secret key size");var l=new Uint8Array(or+f.length);return ef(l,f,f.length,h),l},r.sign.open=function(f,h){if(bt(f,h),h.length!==Vr)throw new Error("bad public key size");var l=new Uint8Array(f.length),o=wo(l,f,f.length,h);if(o<0)return null;for(var p=new Uint8Array(o),E=0;E<p.length;E++)p[E]=l[E];return p},r.sign.detached=function(f,h){for(var l=r.sign(f,h),o=new Uint8Array(or),p=0;p<o.length;p++)o[p]=l[p];return o},r.sign.detached.verify=function(f,h,l){if(bt(f,h,l),h.length!==or)throw new Error("bad signature size");if(l.length!==Vr)throw new Error("bad public key size");var o=new Uint8Array(or+f.length),p=new Uint8Array(or+f.length),E;for(E=0;E<or;E++)o[E]=h[E];for(E=0;E<f.length;E++)o[E+or]=f[E];return wo(p,o,o.length,l)>=0},r.sign.keyPair=function(){var f=new Uint8Array(Vr),h=new Uint8Array(_n);return yo(f,h),{publicKey:f,secretKey:h}},r.sign.keyPair.fromSecretKey=function(f){if(bt(f),f.length!==_n)throw new Error("bad secret key size");for(var h=new Uint8Array(Vr),l=0;l<h.length;l++)h[l]=f[32+l];return{publicKey:h,secretKey:new Uint8Array(f)}},r.sign.keyPair.fromSeed=function(f){if(bt(f),f.length!==So)throw new Error("bad seed size");for(var h=new Uint8Array(Vr),l=new Uint8Array(_n),o=0;o<32;o++)l[o]=f[o];return yo(h,l,!0),{publicKey:h,secretKey:l}},r.sign.publicKeyLength=Vr,r.sign.secretKeyLength=_n,r.sign.seedLength=So,r.sign.signatureLength=or,r.hash=function(f){bt(f);var h=new Uint8Array(To);return Hr(h,f,f.length),h},r.hash.hashLength=To,r.verify=function(f,h){return bt(f,h),f.length===0||h.length===0||f.length!==h.length?!1:S(f,0,h,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 h=65536;r.setPRNG(function(l,o){var p,E=new Uint8Array(o);for(p=0;p<o;p+=h)f.getRandomValues(E.subarray(p,p+Math.min(o-p,h)));for(p=0;p<o;p++)l[p]=E[p];nf(E)})}else typeof require<"u"&&(f=require("crypto"),f&&f.randomBytes&&r.setPRNG(function(l,o){var p,E=f.randomBytes(o);for(p=0;p<o;p++)l[p]=E[p];nf(E)}))})()})(typeof Xs<"u"&&Xs.exports?Xs.exports:self.nacl=self.nacl||{})});var Ao=F((Sf,Js)=>{(function(r,e){"use strict";typeof Js<"u"&&Js.exports?Js.exports=e():(r.nacl||(r.nacl={}),r.nacl.util=e())})(Sf,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,s=unescape(encodeURIComponent(t)),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i},r.encodeUTF8=function(t){var n,s=[];for(n=0;n<t.length;n++)s.push(String.fromCharCode(t[n]));return decodeURIComponent(escape(s.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,s=[],i=t.length;for(n=0;n<i;n++)s.push(String.fromCharCode(t[n]));return btoa(s.join(""))},r.decodeBase64=function(t){e(t);var n,s=atob(t),i=new Uint8Array(s.length);for(n=0;n<s.length;n++)i[n]=s.charCodeAt(n);return i}),r})});var Tf=F(Tr=>{"use strict";var ap=Tr&&Tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Tr,"__esModule",{value:!0});Tr.encrypt=cp;Tr.decrypt=fp;Tr.encryptBinary=up;Tr.decryptBinary=lp;var fr=ap(Ro()),Sr=Ao();function cp(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=new TextEncoder().encode(r),i=fr.default.secretbox(s,n,e);return{v:1,sid:t,n:(0,Sr.encodeBase64)(n),c:(0,Sr.encodeBase64)(i)}}function fp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Sr.decodeBase64)(r.n),n=(0,Sr.decodeBase64)(r.c);if(t.length!==fr.default.secretbox.nonceLength)throw new Error(`Invalid nonce length: ${t.length}`);let s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return new TextDecoder().decode(s)}function up(r,e,t){let n=fr.default.randomBytes(fr.default.secretbox.nonceLength),s=fr.default.secretbox(r,n,e);return{v:1,sid:t,n:(0,Sr.encodeBase64)(n),c:(0,Sr.encodeBase64)(s)}}function lp(r,e){if(r.v!==1)throw new Error(`Unsupported encryption version: ${r.v}`);let t=(0,Sr.decodeBase64)(r.n),n=(0,Sr.decodeBase64)(r.c),s=fr.default.secretbox.open(n,t,e);if(!s)throw new Error("Decryption failed: invalid ciphertext or wrong key");return s}});var Cf=F(zt=>{"use strict";var hp=zt&&zt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(zt,"__esModule",{value:!0});zt.generateKeyPair=dp;zt.deriveSharedSecret=pp;zt.isValidPublicKey=gp;zt.clearKey=mp;zt.keyToBase64=_p;zt.base64ToKey=yp;var ts=hp(Ro()),Kr=Ao();function dp(){let r=ts.default.box.keyPair();return{publicKey:(0,Kr.encodeBase64)(r.publicKey),secretKey:(0,Kr.encodeBase64)(r.secretKey)}}function pp(r,e){let t=(0,Kr.decodeBase64)(r),n=(0,Kr.decodeBase64)(e);if(t.length!==ts.default.box.publicKeyLength)throw new Error(`Invalid public key length: ${t.length}`);if(n.length!==ts.default.box.secretKeyLength)throw new Error(`Invalid secret key length: ${n.length}`);return ts.default.box.before(t,n)}function gp(r){try{return(0,Kr.decodeBase64)(r).length===ts.default.box.publicKeyLength}catch{return!1}}function mp(r){r.fill(0)}function _p(r){return(0,Kr.encodeBase64)(r)}function yp(r){return(0,Kr.decodeBase64)(r)}});var kf=F(De=>{"use strict";Object.defineProperty(De,"__esModule",{value:!0});De.base64ToKey=De.keyToBase64=De.clearKey=De.isValidPublicKey=De.deriveSharedSecret=De.generateKeyPair=De.decryptBinary=De.encryptBinary=De.decrypt=De.encrypt=De.isMultiRecipientPayload=De.isEncryptedPayload=void 0;var Of=xf();Object.defineProperty(De,"isEncryptedPayload",{enumerable:!0,get:function(){return Of.isEncryptedPayload}});Object.defineProperty(De,"isMultiRecipientPayload",{enumerable:!0,get:function(){return Of.isMultiRecipientPayload}});var Zs=Tf();Object.defineProperty(De,"encrypt",{enumerable:!0,get:function(){return Zs.encrypt}});Object.defineProperty(De,"decrypt",{enumerable:!0,get:function(){return Zs.decrypt}});Object.defineProperty(De,"encryptBinary",{enumerable:!0,get:function(){return Zs.encryptBinary}});Object.defineProperty(De,"decryptBinary",{enumerable:!0,get:function(){return Zs.decryptBinary}});var En=Cf();Object.defineProperty(De,"generateKeyPair",{enumerable:!0,get:function(){return En.generateKeyPair}});Object.defineProperty(De,"deriveSharedSecret",{enumerable:!0,get:function(){return En.deriveSharedSecret}});Object.defineProperty(De,"isValidPublicKey",{enumerable:!0,get:function(){return En.isValidPublicKey}});Object.defineProperty(De,"clearKey",{enumerable:!0,get:function(){return En.clearKey}});Object.defineProperty(De,"keyToBase64",{enumerable:!0,get:function(){return En.keyToBase64}});Object.defineProperty(De,"base64ToKey",{enumerable:!0,get:function(){return En.base64ToKey}})});var Pf=F(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.MIN_CLIENT_VERSION=xt.PROTOCOL_VERSION_MINOR=xt.PROTOCOL_VERSION_MAJOR=xt.PROTOCOL_VERSION=void 0;xt.isCompatibleVersion=Ep;xt.compareVersions=vp;xt.PROTOCOL_VERSION="2.0";xt.PROTOCOL_VERSION_MAJOR=2;xt.PROTOCOL_VERSION_MINOR=0;xt.MIN_CLIENT_VERSION="2.0";function Ep(r){let[e]=r.split(".").map(Number);return e===xt.PROTOCOL_VERSION_MAJOR}function vp(r,e){let[t,n]=r.split(".").map(Number),[s,i]=e.split(".").map(Number);return t!==s?t<s?-1:1:n!==i?n<i?-1:1:0}});var Rf=F($t=>{"use strict";Object.defineProperty($t,"__esModule",{value:!0});$t.SERVER_CAPABILITIES=$t.DEFAULT_CLIENT_CAPABILITIES=$t.Capability=void 0;$t.hasCapability=wp;$t.negotiateCapabilities=bp;var rs;(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"})(rs||($t.Capability=rs={}));$t.DEFAULT_CLIENT_CAPABILITIES=[rs.E2E_ENCRYPTION,rs.TERMINAL_EVENTS];$t.SERVER_CAPABILITIES=Object.values(rs);function wp(r,e){return r.includes(e)}function bp(r,e){return r.filter(t=>e.includes(t))}});var Af=F(ur=>{"use strict";Object.defineProperty(ur,"__esModule",{value:!0});ur.DEFAULT_PRIORITY=ur.PRIORITY_NAMES=ur.Priority=void 0;ur.comparePriority=xp;var zr;(function(r){r[r.CRITICAL=0]="CRITICAL",r[r.HIGH=1]="HIGH",r[r.NORMAL=2]="NORMAL",r[r.LOW=3]="LOW"})(zr||(ur.Priority=zr={}));ur.PRIORITY_NAMES={[zr.CRITICAL]:"CRITICAL",[zr.HIGH]:"HIGH",[zr.NORMAL]:"NORMAL",[zr.LOW]:"LOW"};ur.DEFAULT_PRIORITY=zr.NORMAL;function xp(r,e){return r-e}});var If=F(Gt=>{"use strict";Object.defineProperty(Gt,"__esModule",{value:!0});Gt.DEFAULT_RELIABILITY=Gt.RELIABILITY_NAMES=Gt.Reliability=void 0;Gt.requiresAck=Sp;Gt.requiresBuffer=Tp;var Cr;(function(r){r[r.FIRE_FORGET=0]="FIRE_FORGET",r[r.BUFFERED=1]="BUFFERED",r[r.GUARANTEED=2]="GUARANTEED"})(Cr||(Gt.Reliability=Cr={}));Gt.RELIABILITY_NAMES={[Cr.FIRE_FORGET]:"FIRE_FORGET",[Cr.BUFFERED]:"BUFFERED",[Cr.GUARANTEED]:"GUARANTEED"};Gt.DEFAULT_RELIABILITY=Cr.FIRE_FORGET;function Sp(r){return r===Cr.GUARANTEED}function Tp(r){return r>=Cr.BUFFERED}});var Lf=F(Io=>{"use strict";Object.defineProperty(Io,"__esModule",{value:!0});Io.createMessage=Cp;function Cp(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 Nf=F($r=>{"use strict";Object.defineProperty($r,"__esModule",{value:!0});$r.TerminalEventType=void 0;$r.deriveStatusFromEvent=Op;$r.shouldTriggerPushNotification=kp;$r.getPushNotificationMessage=Pp;var lt;(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"})(lt||($r.TerminalEventType=lt={}));function Op(r){switch(r.type){case lt.SESSION_START:case lt.TOOL_START:case lt.MESSAGE:return"working";case lt.WAITING_INPUT:return"waiting";case lt.SESSION_END:return r.status==="success"?"completed":"error";case lt.ERROR:return r.severity==="fatal"?"error":"working";case lt.TOOL_END:return r.status==="error"?"error":"working";default:return"idle"}}function kp(r){switch(r.type){case lt.WAITING_INPUT:return!0;case lt.SESSION_END:return!0;case lt.ERROR:return r.severity!=="warning";default:return!1}}function Pp(r,e){switch(r.type){case lt.WAITING_INPUT:return{title:`${e}: Input Required`,body:r.question.slice(0,100)};case lt.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 lt.ERROR:{let t=r;return t.severity==="warning"?null:{title:`${e}: Error`,body:t.message.slice(0,100)}}default:return null}}});var Mf=F(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.TransferDirection=Ue.TransferStatus=Ue.CHUNK_TTL_SECONDS=Ue.TRANSFER_TTL_SECONDS=Ue.MAX_RETRIES=Ue.ACK_TIMEOUT_MS=Ue.WINDOW_SIZE=Ue.DEFAULT_MAX_FILE_SIZE=Ue.CHUNK_SIZE=void 0;Ue.calculateTotalChunks=Rp;Ue.getMissingChunks=Ap;Ue.isTransferComplete=Ip;Ue.CHUNK_SIZE=64*1024;Ue.DEFAULT_MAX_FILE_SIZE=100*1024*1024;Ue.WINDOW_SIZE=10;Ue.ACK_TIMEOUT_MS=3e4;Ue.MAX_RETRIES=3;Ue.TRANSFER_TTL_SECONDS=1440*60;Ue.CHUNK_TTL_SECONDS=1440*60;var Df;(function(r){r.PENDING="pending",r.ACTIVE="active",r.PAUSED="paused",r.COMPLETED="completed",r.FAILED="failed",r.CANCELLED="cancelled",r.EXPIRED="expired"})(Df||(Ue.TransferStatus=Df={}));var Ff;(function(r){r.DOWNLOAD="download",r.UPLOAD="upload"})(Ff||(Ue.TransferDirection=Ff={}));function Rp(r,e=Ue.CHUNK_SIZE){return Math.ceil(r/e)}function Ap(r,e){let t=new Set(e),n=[];for(let s=0;s<r;s++)t.has(s)||n.push(s);return n}function Ip(r,e){return e.length===r}});var Bf=F(lr=>{"use strict";Object.defineProperty(lr,"__esModule",{value:!0});lr.ERROR_MESSAGES=lr.ErrorCode=void 0;lr.createError=Lp;lr.isRetryableError=Np;var Pe;(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"})(Pe||(lr.ErrorCode=Pe={}));lr.ERROR_MESSAGES={[Pe.AUTH_FAILED]:"Authentication failed",[Pe.TOKEN_EXPIRED]:"Token expired",[Pe.TOKEN_INVALID]:"Invalid token",[Pe.NOT_FOUND]:"Resource not found",[Pe.ALREADY_EXISTS]:"Resource already exists",[Pe.ACCESS_DENIED]:"Access denied",[Pe.FORBIDDEN]:"Operation forbidden",[Pe.RATE_LIMITED]:"Rate limit exceeded",[Pe.TOO_MANY_CONNECTIONS]:"Too many connections",[Pe.QUOTA_EXCEEDED]:"Plan quota exceeded",[Pe.FILE_TOO_LARGE]:"File size exceeds limit",[Pe.QUEUE_FULL]:"Message queue is full",[Pe.TRANSFERS_LIMIT]:"Daily transfers limit reached",[Pe.TRANSFER_FAILED]:"File transfer failed",[Pe.TRANSFER_EXPIRED]:"Transfer expired",[Pe.TRANSFER_CANCELLED]:"Transfer cancelled",[Pe.CHECKSUM_MISMATCH]:"File checksum mismatch",[Pe.CHUNK_MISSING]:"Chunk missing or corrupted",[Pe.INVALID_MESSAGE]:"Invalid message format",[Pe.UNSUPPORTED_VERSION]:"Unsupported protocol version",[Pe.CAPABILITY_REQUIRED]:"Required capability not supported",[Pe.INVALID_STATE]:"Invalid state for this operation",[Pe.TIMEOUT]:"Operation timed out",[Pe.CONNECTION_LOST]:"Connection lost",[Pe.INTERNAL_ERROR]:"Internal server error",[Pe.SERVICE_UNAVAILABLE]:"Service temporarily unavailable"};function Lp(r,e={}){return{code:r,message:e.message||lr.ERROR_MESSAGES[r],details:e.details,retryable:e.retryable??!1,retryAfter:e.retryAfter}}function Np(r){return[Pe.RATE_LIMITED,Pe.TIMEOUT,Pe.CONNECTION_LOST,Pe.SERVICE_UNAVAILABLE].includes(r)}});var Wf=F(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.FileEntryType=St.DiffBase=St.FileViewType=St.FileChangeType=void 0;St.getLanguageFromPath=Dp;St.parseUnifiedDiff=Fp;St.createSimpleDiff=Mp;var Or;(function(r){r.CREATE="create",r.MODIFY="modify",r.DELETE="delete"})(Or||(St.FileChangeType=Or={}));var jf;(function(r){r.CONTENT="content",r.DIFF="diff"})(jf||(St.FileViewType=jf={}));var Uf;(function(r){r.GIT="git",r.PREVIOUS="previous"})(Uf||(St.DiffBase=Uf={}));function Dp(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 Fp(r,e){let t=r.split(`
3
+ `),n=[],s=0,i=0,a=null,c=0,u=0;for(let g of t){if(g.startsWith("diff ")||g.startsWith("index ")||g.startsWith("---")||g.startsWith("+++"))continue;let m=g.match(/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@/);if(m){a&&n.push(a);let y=parseInt(m[1],10),w=parseInt(m[2]||"1",10),S=parseInt(m[3],10),C=parseInt(m[4]||"1",10);a={oldStart:y,oldLines:w,newStart:S,newLines:C,lines:[]},c=y,u=S;continue}a&&(g.startsWith("+")?(a.lines.push({type:"add",content:g.slice(1),oldLineNumber:null,newLineNumber:u++}),s++):g.startsWith("-")?(a.lines.push({type:"remove",content:g.slice(1),oldLineNumber:c++,newLineNumber:null}),i++):(g.startsWith(" ")||g==="")&&a.lines.push({type:"context",content:g.startsWith(" ")?g.slice(1):g,oldLineNumber:c++,newLineNumber:u++}))}a&&n.push(a);let d;return i===0&&s>0&&n.length===1&&n[0].oldLines===0?d=Or.CREATE:s===0&&i>0&&n.length===1&&n[0].newLines===0?d=Or.DELETE:d=Or.MODIFY,{path:e,changeType:d,hunks:n,additions:s,deletions:i,isBinary:!1}}function Mp(r,e,t){let n=r.split(`
4
4
  `),s=e.split(`
5
- `),i=[],a=0,c=0,u=Math.max(n.length,s.length);for(let g=0;g<u;g++){let m=n[g],y=s[g];m===y?m!==void 0&&i.push({type:"context",content:m,oldLineNumber:g+1,newLineNumber:g+1}):(m!==void 0&&(i.push({type:"remove",content:m,oldLineNumber:g+1,newLineNumber:null}),c++),y!==void 0&&(i.push({type:"add",content:y,oldLineNumber:null,newLineNumber:g+1}),a++))}let d;return r===""?d=Or.CREATE:e===""?d=Or.DELETE:d=Or.MODIFY,{path:t,changeType:d,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:s.length,lines:i}],additions:a,deletions:c,isBinary:!1}}var qf;(function(r){r.FILE="file",r.DIRECTORY="directory"})(qf||(St.FileEntryType=qf={}))});var Hf=F(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.createSimpleDiff=I.parseUnifiedDiff=I.getLanguageFromPath=I.FileEntryType=I.DiffBase=I.FileViewType=I.FileChangeType=I.isRetryableError=I.createError=I.ERROR_MESSAGES=I.ErrorCode=I.isTransferComplete=I.getMissingChunks=I.calculateTotalChunks=I.TransferDirection=I.TransferStatus=I.CHUNK_TTL_SECONDS=I.TRANSFER_TTL_SECONDS=I.MAX_RETRIES=I.ACK_TIMEOUT_MS=I.WINDOW_SIZE=I.DEFAULT_MAX_FILE_SIZE=I.CHUNK_SIZE=I.getPushNotificationMessage=I.shouldTriggerPushNotification=I.deriveStatusFromEvent=I.TerminalEventType=I.createMessage=I.requiresBuffer=I.requiresAck=I.DEFAULT_RELIABILITY=I.RELIABILITY_NAMES=I.Reliability=I.comparePriority=I.DEFAULT_PRIORITY=I.PRIORITY_NAMES=I.Priority=I.negotiateCapabilities=I.hasCapability=I.SERVER_CAPABILITIES=I.DEFAULT_CLIENT_CAPABILITIES=I.Capability=I.compareVersions=I.isCompatibleVersion=I.MIN_CLIENT_VERSION=I.PROTOCOL_VERSION_MINOR=I.PROTOCOL_VERSION_MAJOR=I.PROTOCOL_VERSION=void 0;var vn=Pf();Object.defineProperty(I,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION}});Object.defineProperty(I,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(I,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION_MINOR}});Object.defineProperty(I,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return vn.MIN_CLIENT_VERSION}});Object.defineProperty(I,"isCompatibleVersion",{enumerable:!0,get:function(){return vn.isCompatibleVersion}});Object.defineProperty(I,"compareVersions",{enumerable:!0,get:function(){return vn.compareVersions}});var ns=Rf();Object.defineProperty(I,"Capability",{enumerable:!0,get:function(){return ns.Capability}});Object.defineProperty(I,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return ns.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(I,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return ns.SERVER_CAPABILITIES}});Object.defineProperty(I,"hasCapability",{enumerable:!0,get:function(){return ns.hasCapability}});Object.defineProperty(I,"negotiateCapabilities",{enumerable:!0,get:function(){return ns.negotiateCapabilities}});var Qs=Af();Object.defineProperty(I,"Priority",{enumerable:!0,get:function(){return Qs.Priority}});Object.defineProperty(I,"PRIORITY_NAMES",{enumerable:!0,get:function(){return Qs.PRIORITY_NAMES}});Object.defineProperty(I,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return Qs.DEFAULT_PRIORITY}});Object.defineProperty(I,"comparePriority",{enumerable:!0,get:function(){return Qs.comparePriority}});var ss=If();Object.defineProperty(I,"Reliability",{enumerable:!0,get:function(){return ss.Reliability}});Object.defineProperty(I,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return ss.RELIABILITY_NAMES}});Object.defineProperty(I,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return ss.DEFAULT_RELIABILITY}});Object.defineProperty(I,"requiresAck",{enumerable:!0,get:function(){return ss.requiresAck}});Object.defineProperty(I,"requiresBuffer",{enumerable:!0,get:function(){return ss.requiresBuffer}});var Fp=Lf();Object.defineProperty(I,"createMessage",{enumerable:!0,get:function(){return Fp.createMessage}});var ei=Nf();Object.defineProperty(I,"TerminalEventType",{enumerable:!0,get:function(){return ei.TerminalEventType}});Object.defineProperty(I,"deriveStatusFromEvent",{enumerable:!0,get:function(){return ei.deriveStatusFromEvent}});Object.defineProperty(I,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return ei.shouldTriggerPushNotification}});Object.defineProperty(I,"getPushNotificationMessage",{enumerable:!0,get:function(){return ei.getPushNotificationMessage}});var kt=Mf();Object.defineProperty(I,"CHUNK_SIZE",{enumerable:!0,get:function(){return kt.CHUNK_SIZE}});Object.defineProperty(I,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return kt.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(I,"WINDOW_SIZE",{enumerable:!0,get:function(){return kt.WINDOW_SIZE}});Object.defineProperty(I,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return kt.ACK_TIMEOUT_MS}});Object.defineProperty(I,"MAX_RETRIES",{enumerable:!0,get:function(){return kt.MAX_RETRIES}});Object.defineProperty(I,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return kt.TRANSFER_TTL_SECONDS}});Object.defineProperty(I,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return kt.CHUNK_TTL_SECONDS}});Object.defineProperty(I,"TransferStatus",{enumerable:!0,get:function(){return kt.TransferStatus}});Object.defineProperty(I,"TransferDirection",{enumerable:!0,get:function(){return kt.TransferDirection}});Object.defineProperty(I,"calculateTotalChunks",{enumerable:!0,get:function(){return kt.calculateTotalChunks}});Object.defineProperty(I,"getMissingChunks",{enumerable:!0,get:function(){return kt.getMissingChunks}});Object.defineProperty(I,"isTransferComplete",{enumerable:!0,get:function(){return kt.isTransferComplete}});var ti=Bf();Object.defineProperty(I,"ErrorCode",{enumerable:!0,get:function(){return ti.ErrorCode}});Object.defineProperty(I,"ERROR_MESSAGES",{enumerable:!0,get:function(){return ti.ERROR_MESSAGES}});Object.defineProperty(I,"createError",{enumerable:!0,get:function(){return ti.createError}});Object.defineProperty(I,"isRetryableError",{enumerable:!0,get:function(){return ti.isRetryableError}});var Gr=Wf();Object.defineProperty(I,"FileChangeType",{enumerable:!0,get:function(){return Gr.FileChangeType}});Object.defineProperty(I,"FileViewType",{enumerable:!0,get:function(){return Gr.FileViewType}});Object.defineProperty(I,"DiffBase",{enumerable:!0,get:function(){return Gr.DiffBase}});Object.defineProperty(I,"FileEntryType",{enumerable:!0,get:function(){return Gr.FileEntryType}});Object.defineProperty(I,"getLanguageFromPath",{enumerable:!0,get:function(){return Gr.getLanguageFromPath}});Object.defineProperty(I,"parseUnifiedDiff",{enumerable:!0,get:function(){return Gr.parseUnifiedDiff}});Object.defineProperty(I,"createSimpleDiff",{enumerable:!0,get:function(){return Gr.createSimpleDiff}})});var kr=F(Yt=>{"use strict";var Mp=Yt&&Yt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ri=Yt&&Yt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Mp(e,r,t)};Object.defineProperty(Yt,"__esModule",{value:!0});ri(wf(),Yt);ri(bf(),Yt);ri(kf(),Yt);ri(Hf(),Yt)});var Kf=F(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.CryptoService=void 0;var ct=kr(),Bp=3600*1e3,Vf=10,Lo=class{storage;logger;sessions=new Map;agentSessions=new Map;keyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;constructor(e,t,n,s){this.storage=e,this.logger=t;let i=`termiq.${n}.${s}`;this.publicKeyKey=`${i}.crypto.publicKey`,this.secretKeyKey=`${i}.crypto.secretKey`,this.keyVersionKey=`${i}.crypto.keyVersion`,this.logger.info("CryptoService namespace",n,s)}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 identity key pair")):await this.generateIdentityKeyPair()}async generateIdentityKeyPair(){this.logger.info("Generating new identity key pair"),this.keyPair=(0,ct.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("Identity key pair generated and stored"),this.keyPair}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 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 s=this.sessions.get(e);s||(s=new Map,this.sessions.set(e,s));let i=(0,ct.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:i,createdAt:Date.now(),sessionId:n};return s.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",s.size),!0}catch(s){return this.logger.error("Key exchange failed",s),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let i=n.values().next().value;return i?(0,ct.encrypt)(t,i.sharedSecret,i.sessionId):null}let s=[];for(let i of n.values()){let a=(0,ct.encrypt)(t,i.sharedSecret,i.sessionId);s.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:s}}catch(s){return this.logger.error("Encryption failed",s),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let s=n.get(t.sid);if(!s)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,ct.decrypt)(t,s.sharedSecret)}catch(i){return this.logger.error("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 s=n.get(t);s&&((0,ct.clearKey)(s.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let s of n.values())(0,ct.clearKey)(s.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,ct.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(),s=[];for(let[i,a]of t)n-a.createdAt>Bp&&s.push(i);for(let i of s){let a=t.get(i);a&&((0,ct.clearKey)(a.sharedSecret),t.delete(i))}if(t.size>Vf){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-Vf);for(let[,c]of a)(0,ct.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 s of n.values())e.push({terminalId:t,createdAt:s.createdAt,sessionId:s.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,ct.clearKey)(n.sharedSecret));let s=(0,ct.deriveSharedSecret)(e,this.keyPair.secretKey),i={sessionId:t,clientPublicKey:e,sharedSecret:s,createdAt:Date.now()};return this.agentSessions.set(t,i),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,ct.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}encryptWorkspaceInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptTerminalInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptPromptInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptForAllAgentSessions(e){if(this.agentSessions.size===0)return null;try{if(this.agentSessions.size===1){let n=this.agentSessions.values().next().value;return n?(0,ct.encrypt)(e,n.sharedSecret,n.sessionId):null}let t=[];for(let n of this.agentSessions.values()){let s=(0,ct.encrypt)(e,n.sharedSecret,n.sessionId);t.push({sid:s.sid,n:s.n,c:s.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Encryption for agent sessions failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,ct.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),this.keyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};ni.CryptoService=Lo});var $f=F(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.AuthService=void 0;var is=$s(),No=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,s,i,a,c,u,d){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=s,this.logger=i,this.notification=a,this.browser=c;let g=`termiq.${u}.${d}`;this.tokenKey=`${g}.accessToken`,this.refreshTokenKey=`${g}.refreshToken`,this.agentIdKey=`${g}.agentId`,this.logger.info("AuthService namespace",u,d)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,is.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let i=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:s})});if(!i.ok){let a=await i.text();throw new Error(`Failed to get device code: ${a}`)}return i.json()}async pollForToken(e){this.cancelPolling();let t=(0,is.getApiUrl)(this.config),n=5e3,s=60;this.pollingAbortController=new AbortController;let i=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<s;a++){if(i.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),i.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:i});if(!c.ok){if(c.status===403)try{let d=await c.json();if(d.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(d.current),"/",String(d.max)),this.notification.warn(`Agent limit reached (${d.current}/${d.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(i.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,is.getApiUrl)(this.config),n=await this.machineId.getMachineId(),s=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=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:s,publicKey:i})});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,is.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 s=await n.json();return await this.storage.set(this.tokenKey,s.accessToken),await this.storage.set(this.refreshTokenKey,s.refreshToken),this.logger.info("Access token refreshed successfully"),s.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,is.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 s=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${s}`),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))}};si.AuthService=No});var zf=F(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.StatusDetector=void 0;var ii={working:[/✶/,/⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/],idle:[/[❯$#>]\s*$/,/^\s*\d+\s*[❯$#>]\s*$/,/\(base\)\s*[❯$#>]\s*$/,/\)\s*[❯$#>]\s*$/],waiting:[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i,/Continue\?/i,/Proceed\?/i,/Are you sure\?/i,/Confirm\?/i,/Press Enter to continue/i,/Press any key/i,/\[Enter\]/i,/Do you want to/i,/Would you like to/i,/Shall I/i,/^\s*\d+[.)]\s+.+$/m,/Select.*:/i,/Choose.*:/i,/Which.*\?/i,/Какой вариант/i,/Выберите/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]},os={IDLE_TIMEOUT_MS:5e3,DEBOUNCE_MS:500,BUFFER_SIZE:2e3,WORKING_TIMEOUT_MS:3e4},Do=class{states=new Map;onStatusChange;constructor(e){this.onStatusChange=e}startTracking(e){if(this.states.has(e))return;let t={status:"idle",lastUpdate:Date.now(),lastOutput:Date.now(),outputBuffer:"",pendingUpdate:null,workingTimeout:null};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)),this.states.delete(e)}processOutput(e,t){let n=this.states.get(e);if(!n)return;n.lastOutput=Date.now(),n.outputBuffer+=t,n.outputBuffer.length>os.BUFFER_SIZE&&(n.outputBuffer=n.outputBuffer.slice(-os.BUFFER_SIZE));let s=this.analyzeOutput(n.outputBuffer);s&&this.scheduleStatusUpdate(e,s),this.resetWorkingTimeout(e,n)}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 s;if(t!==void 0&&t!==0)s="error";else{let i=this.analyzeOutput(n.outputBuffer);i==="waiting"?s="waiting":i==="error"?s="error":i==="completed"?s="completed":s="idle"}this.scheduleStatusUpdate(e,s),(s==="completed"||s==="error")&&setTimeout(()=>{let i=this.states.get(e);i&&(i.status==="completed"||i.status==="error")&&this.scheduleStatusUpdate(e,"idle")},os.IDLE_TIMEOUT_MS)}analyzeOutput(e){let t=e.split(`
5
+ `),i=[],a=0,c=0,u=Math.max(n.length,s.length);for(let g=0;g<u;g++){let m=n[g],y=s[g];m===y?m!==void 0&&i.push({type:"context",content:m,oldLineNumber:g+1,newLineNumber:g+1}):(m!==void 0&&(i.push({type:"remove",content:m,oldLineNumber:g+1,newLineNumber:null}),c++),y!==void 0&&(i.push({type:"add",content:y,oldLineNumber:null,newLineNumber:g+1}),a++))}let d;return r===""?d=Or.CREATE:e===""?d=Or.DELETE:d=Or.MODIFY,{path:t,changeType:d,hunks:[{oldStart:1,oldLines:n.length,newStart:1,newLines:s.length,lines:i}],additions:a,deletions:c,isBinary:!1}}var qf;(function(r){r.FILE="file",r.DIRECTORY="directory"})(qf||(St.FileEntryType=qf={}))});var Hf=F(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.createSimpleDiff=I.parseUnifiedDiff=I.getLanguageFromPath=I.FileEntryType=I.DiffBase=I.FileViewType=I.FileChangeType=I.isRetryableError=I.createError=I.ERROR_MESSAGES=I.ErrorCode=I.isTransferComplete=I.getMissingChunks=I.calculateTotalChunks=I.TransferDirection=I.TransferStatus=I.CHUNK_TTL_SECONDS=I.TRANSFER_TTL_SECONDS=I.MAX_RETRIES=I.ACK_TIMEOUT_MS=I.WINDOW_SIZE=I.DEFAULT_MAX_FILE_SIZE=I.CHUNK_SIZE=I.getPushNotificationMessage=I.shouldTriggerPushNotification=I.deriveStatusFromEvent=I.TerminalEventType=I.createMessage=I.requiresBuffer=I.requiresAck=I.DEFAULT_RELIABILITY=I.RELIABILITY_NAMES=I.Reliability=I.comparePriority=I.DEFAULT_PRIORITY=I.PRIORITY_NAMES=I.Priority=I.negotiateCapabilities=I.hasCapability=I.SERVER_CAPABILITIES=I.DEFAULT_CLIENT_CAPABILITIES=I.Capability=I.compareVersions=I.isCompatibleVersion=I.MIN_CLIENT_VERSION=I.PROTOCOL_VERSION_MINOR=I.PROTOCOL_VERSION_MAJOR=I.PROTOCOL_VERSION=void 0;var vn=Pf();Object.defineProperty(I,"PROTOCOL_VERSION",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION}});Object.defineProperty(I,"PROTOCOL_VERSION_MAJOR",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION_MAJOR}});Object.defineProperty(I,"PROTOCOL_VERSION_MINOR",{enumerable:!0,get:function(){return vn.PROTOCOL_VERSION_MINOR}});Object.defineProperty(I,"MIN_CLIENT_VERSION",{enumerable:!0,get:function(){return vn.MIN_CLIENT_VERSION}});Object.defineProperty(I,"isCompatibleVersion",{enumerable:!0,get:function(){return vn.isCompatibleVersion}});Object.defineProperty(I,"compareVersions",{enumerable:!0,get:function(){return vn.compareVersions}});var ns=Rf();Object.defineProperty(I,"Capability",{enumerable:!0,get:function(){return ns.Capability}});Object.defineProperty(I,"DEFAULT_CLIENT_CAPABILITIES",{enumerable:!0,get:function(){return ns.DEFAULT_CLIENT_CAPABILITIES}});Object.defineProperty(I,"SERVER_CAPABILITIES",{enumerable:!0,get:function(){return ns.SERVER_CAPABILITIES}});Object.defineProperty(I,"hasCapability",{enumerable:!0,get:function(){return ns.hasCapability}});Object.defineProperty(I,"negotiateCapabilities",{enumerable:!0,get:function(){return ns.negotiateCapabilities}});var Qs=Af();Object.defineProperty(I,"Priority",{enumerable:!0,get:function(){return Qs.Priority}});Object.defineProperty(I,"PRIORITY_NAMES",{enumerable:!0,get:function(){return Qs.PRIORITY_NAMES}});Object.defineProperty(I,"DEFAULT_PRIORITY",{enumerable:!0,get:function(){return Qs.DEFAULT_PRIORITY}});Object.defineProperty(I,"comparePriority",{enumerable:!0,get:function(){return Qs.comparePriority}});var ss=If();Object.defineProperty(I,"Reliability",{enumerable:!0,get:function(){return ss.Reliability}});Object.defineProperty(I,"RELIABILITY_NAMES",{enumerable:!0,get:function(){return ss.RELIABILITY_NAMES}});Object.defineProperty(I,"DEFAULT_RELIABILITY",{enumerable:!0,get:function(){return ss.DEFAULT_RELIABILITY}});Object.defineProperty(I,"requiresAck",{enumerable:!0,get:function(){return ss.requiresAck}});Object.defineProperty(I,"requiresBuffer",{enumerable:!0,get:function(){return ss.requiresBuffer}});var Bp=Lf();Object.defineProperty(I,"createMessage",{enumerable:!0,get:function(){return Bp.createMessage}});var ei=Nf();Object.defineProperty(I,"TerminalEventType",{enumerable:!0,get:function(){return ei.TerminalEventType}});Object.defineProperty(I,"deriveStatusFromEvent",{enumerable:!0,get:function(){return ei.deriveStatusFromEvent}});Object.defineProperty(I,"shouldTriggerPushNotification",{enumerable:!0,get:function(){return ei.shouldTriggerPushNotification}});Object.defineProperty(I,"getPushNotificationMessage",{enumerable:!0,get:function(){return ei.getPushNotificationMessage}});var kt=Mf();Object.defineProperty(I,"CHUNK_SIZE",{enumerable:!0,get:function(){return kt.CHUNK_SIZE}});Object.defineProperty(I,"DEFAULT_MAX_FILE_SIZE",{enumerable:!0,get:function(){return kt.DEFAULT_MAX_FILE_SIZE}});Object.defineProperty(I,"WINDOW_SIZE",{enumerable:!0,get:function(){return kt.WINDOW_SIZE}});Object.defineProperty(I,"ACK_TIMEOUT_MS",{enumerable:!0,get:function(){return kt.ACK_TIMEOUT_MS}});Object.defineProperty(I,"MAX_RETRIES",{enumerable:!0,get:function(){return kt.MAX_RETRIES}});Object.defineProperty(I,"TRANSFER_TTL_SECONDS",{enumerable:!0,get:function(){return kt.TRANSFER_TTL_SECONDS}});Object.defineProperty(I,"CHUNK_TTL_SECONDS",{enumerable:!0,get:function(){return kt.CHUNK_TTL_SECONDS}});Object.defineProperty(I,"TransferStatus",{enumerable:!0,get:function(){return kt.TransferStatus}});Object.defineProperty(I,"TransferDirection",{enumerable:!0,get:function(){return kt.TransferDirection}});Object.defineProperty(I,"calculateTotalChunks",{enumerable:!0,get:function(){return kt.calculateTotalChunks}});Object.defineProperty(I,"getMissingChunks",{enumerable:!0,get:function(){return kt.getMissingChunks}});Object.defineProperty(I,"isTransferComplete",{enumerable:!0,get:function(){return kt.isTransferComplete}});var ti=Bf();Object.defineProperty(I,"ErrorCode",{enumerable:!0,get:function(){return ti.ErrorCode}});Object.defineProperty(I,"ERROR_MESSAGES",{enumerable:!0,get:function(){return ti.ERROR_MESSAGES}});Object.defineProperty(I,"createError",{enumerable:!0,get:function(){return ti.createError}});Object.defineProperty(I,"isRetryableError",{enumerable:!0,get:function(){return ti.isRetryableError}});var Gr=Wf();Object.defineProperty(I,"FileChangeType",{enumerable:!0,get:function(){return Gr.FileChangeType}});Object.defineProperty(I,"FileViewType",{enumerable:!0,get:function(){return Gr.FileViewType}});Object.defineProperty(I,"DiffBase",{enumerable:!0,get:function(){return Gr.DiffBase}});Object.defineProperty(I,"FileEntryType",{enumerable:!0,get:function(){return Gr.FileEntryType}});Object.defineProperty(I,"getLanguageFromPath",{enumerable:!0,get:function(){return Gr.getLanguageFromPath}});Object.defineProperty(I,"parseUnifiedDiff",{enumerable:!0,get:function(){return Gr.parseUnifiedDiff}});Object.defineProperty(I,"createSimpleDiff",{enumerable:!0,get:function(){return Gr.createSimpleDiff}})});var kr=F(Yt=>{"use strict";var jp=Yt&&Yt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ri=Yt&&Yt.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jp(e,r,t)};Object.defineProperty(Yt,"__esModule",{value:!0});ri(wf(),Yt);ri(bf(),Yt);ri(kf(),Yt);ri(Hf(),Yt)});var Kf=F(ni=>{"use strict";Object.defineProperty(ni,"__esModule",{value:!0});ni.CryptoService=void 0;var ct=kr(),Up=3600*1e3,Vf=10,Lo=class{storage;logger;sessions=new Map;agentSessions=new Map;keyPair=null;publicKeyKey;secretKeyKey;keyVersionKey;constructor(e,t,n,s){this.storage=e,this.logger=t;let i=`termiq.${n}.${s}`;this.publicKeyKey=`${i}.crypto.publicKey`,this.secretKeyKey=`${i}.crypto.secretKey`,this.keyVersionKey=`${i}.crypto.keyVersion`,this.logger.info("CryptoService namespace",n,s)}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 identity key pair")):await this.generateIdentityKeyPair()}async generateIdentityKeyPair(){this.logger.info("Generating new identity key pair"),this.keyPair=(0,ct.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("Identity key pair generated and stored"),this.keyPair}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 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 s=this.sessions.get(e);s||(s=new Map,this.sessions.set(e,s));let i=(0,ct.deriveSharedSecret)(t,this.keyPair.secretKey),a={terminalId:e,clientPublicKey:t,sharedSecret:i,createdAt:Date.now(),sessionId:n};return s.set(n,a),this.logger.info("Key exchange completed",e,n,"total:",s.size),!0}catch(s){return this.logger.error("Key exchange failed",s),!1}}encryptOutput(e,t){let n=this.sessions.get(e);if(!n||n.size===0)return null;try{if(n.size===1){let i=n.values().next().value;return i?(0,ct.encrypt)(t,i.sharedSecret,i.sessionId):null}let s=[];for(let i of n.values()){let a=(0,ct.encrypt)(t,i.sharedSecret,i.sessionId);s.push({sid:a.sid,n:a.n,c:a.c})}return{v:2,recipients:s}}catch(s){return this.logger.error("Encryption failed",s),null}}decryptInput(e,t){let n=this.sessions.get(e);if(!n)return this.logger.error("No sessions for terminal",e),null;let s=n.get(t.sid);if(!s)return this.logger.error("No session for sessionId",t.sid),null;try{return(0,ct.decrypt)(t,s.sharedSecret)}catch(i){return this.logger.error("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 s=n.get(t);s&&((0,ct.clearKey)(s.sharedSecret),n.delete(t),this.logger.info("Session removed",e,t)),n.size===0&&this.sessions.delete(e)}else{for(let s of n.values())(0,ct.clearKey)(s.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,ct.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(),s=[];for(let[i,a]of t)n-a.createdAt>Up&&s.push(i);for(let i of s){let a=t.get(i);a&&((0,ct.clearKey)(a.sharedSecret),t.delete(i))}if(t.size>Vf){let a=Array.from(t.entries()).sort((c,u)=>c[1].createdAt-u[1].createdAt).slice(0,t.size-Vf);for(let[,c]of a)(0,ct.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 s of n.values())e.push({terminalId:t,createdAt:s.createdAt,sessionId:s.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,ct.clearKey)(n.sharedSecret));let s=(0,ct.deriveSharedSecret)(e,this.keyPair.secretKey),i={sessionId:t,clientPublicKey:e,sharedSecret:s,createdAt:Date.now()};return this.agentSessions.set(t,i),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,ct.clearKey)(t.sharedSecret),this.agentSessions.delete(e),this.logger.info("Agent session removed",e))}hasAgentSessions(){return this.agentSessions.size>0}encryptWorkspaceInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptTerminalInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptPromptInfo(e){if(this.agentSessions.size===0)return null;let t=JSON.stringify(e),n=this.encryptForAllAgentSessions(t);return n?{encrypted:n}:null}encryptForAllAgentSessions(e){if(this.agentSessions.size===0)return null;try{if(this.agentSessions.size===1){let n=this.agentSessions.values().next().value;return n?(0,ct.encrypt)(e,n.sharedSecret,n.sessionId):null}let t=[];for(let n of this.agentSessions.values()){let s=(0,ct.encrypt)(e,n.sharedSecret,n.sessionId);t.push({sid:s.sid,n:s.n,c:s.c})}return{v:2,recipients:t}}catch(t){return this.logger.error("Encryption for agent sessions failed",t),null}}clearAllAgentSessions(){for(let e of this.agentSessions.values())(0,ct.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),this.keyPair=null,this.clearAllSessions(),this.clearAllAgentSessions(),this.logger.info("All crypto keys deleted")}};ni.CryptoService=Lo});var zf=F(si=>{"use strict";Object.defineProperty(si,"__esModule",{value:!0});si.AuthService=void 0;var is=zs(),No=class{storage;cryptoService;machineId;config;logger;notification;browser;pollingAbortController=null;tokenKey;refreshTokenKey;agentIdKey;constructor(e,t,n,s,i,a,c,u,d){this.storage=e,this.cryptoService=t,this.machineId=n,this.config=s,this.logger=i,this.notification=a,this.browser=c;let g=`termiq.${u}.${d}`;this.tokenKey=`${g}.accessToken`,this.refreshTokenKey=`${g}.refreshToken`,this.agentIdKey=`${g}.agentId`,this.logger.info("AuthService namespace",u,d)}cancelPolling(){this.pollingAbortController&&(this.logger.info("Cancelling active polling"),this.pollingAbortController.abort(),this.pollingAbortController=null)}async startDeviceCodeFlow(){this.cancelPolling();let e=(0,is.getApiUrl)(this.config),t=await this.machineId.getMachineId(),n=this.machineId.getMachineName(),s=await this.cryptoService.getPublicKey();s||(await this.cryptoService.generateIdentityKeyPair(),s=await this.cryptoService.getPublicKey()),this.logger.info("Starting device code flow",t,n);let i=await fetch(`${e}/auth/device/code`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:t,machineName:n,publicKey:s})});if(!i.ok){let a=await i.text();throw new Error(`Failed to get device code: ${a}`)}return i.json()}async pollForToken(e){this.cancelPolling();let t=(0,is.getApiUrl)(this.config),n=5e3,s=60;this.pollingAbortController=new AbortController;let i=this.pollingAbortController.signal;this.logger.info("Starting token polling");for(let a=0;a<s;a++){if(i.aborted)return this.logger.info("Polling was cancelled"),null;if(await this.sleep(n),i.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:i});if(!c.ok){if(c.status===403)try{let d=await c.json();if(d.error==="AGENT_LIMIT_EXCEEDED")return this.logger.warn("Agent limit exceeded",String(d.current),"/",String(d.max)),this.notification.warn(`Agent limit reached (${d.current}/${d.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(i.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,is.getApiUrl)(this.config),n=await this.machineId.getMachineId(),s=this.machineId.getMachineName(),i=await this.cryptoService.getPublicKey();i||(await this.cryptoService.generateIdentityKeyPair(),i=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:s,publicKey:i})});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,is.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 s=await n.json();return await this.storage.set(this.tokenKey,s.accessToken),await this.storage.set(this.refreshTokenKey,s.refreshToken),this.logger.info("Access token refreshed successfully"),s.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,is.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 s=n instanceof Error?n.message:String(n);return this.logger.error(`Error fetching limits: ${s}`),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))}};si.AuthService=No});var $f=F(oi=>{"use strict";Object.defineProperty(oi,"__esModule",{value:!0});oi.StatusDetector=void 0;var ii={working:[/✶/,/⠋|⠙|⠹|⠸|⠼|⠴|⠦|⠧|⠇|⠏/],idle:[/[❯$#>]\s*$/,/^\s*\d+\s*[❯$#>]\s*$/,/\(base\)\s*[❯$#>]\s*$/,/\)\s*[❯$#>]\s*$/],waiting:[/\[Y\/n\]/i,/\[y\/N\]/i,/\(y\/n\)/i,/\(yes\/no\)/i,/Continue\?/i,/Proceed\?/i,/Are you sure\?/i,/Confirm\?/i,/Press Enter to continue/i,/Press any key/i,/\[Enter\]/i,/Do you want to/i,/Would you like to/i,/Shall I/i,/^\s*\d+[.)]\s+.+$/m,/Select.*:/i,/Choose.*:/i,/Which.*\?/i,/Какой вариант/i,/Выберите/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]},os={IDLE_TIMEOUT_MS:5e3,DEBOUNCE_MS:500,BUFFER_SIZE:2e3,WORKING_TIMEOUT_MS:3e4},Do=class{states=new Map;onStatusChange;constructor(e){this.onStatusChange=e}startTracking(e){if(this.states.has(e))return;let t={status:"idle",lastUpdate:Date.now(),lastOutput:Date.now(),outputBuffer:"",pendingUpdate:null,workingTimeout:null};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)),this.states.delete(e)}processOutput(e,t){let n=this.states.get(e);if(!n)return;n.lastOutput=Date.now(),n.outputBuffer+=t,n.outputBuffer.length>os.BUFFER_SIZE&&(n.outputBuffer=n.outputBuffer.slice(-os.BUFFER_SIZE));let s=this.analyzeOutput(n.outputBuffer);s&&this.scheduleStatusUpdate(e,s),this.resetWorkingTimeout(e,n)}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 s;if(t!==void 0&&t!==0)s="error";else{let i=this.analyzeOutput(n.outputBuffer);i==="waiting"?s="waiting":i==="error"?s="error":i==="completed"?s="completed":s="idle"}this.scheduleStatusUpdate(e,s),(s==="completed"||s==="error")&&setTimeout(()=>{let i=this.states.get(e);i&&(i.status==="completed"||i.status==="error")&&this.scheduleStatusUpdate(e,"idle")},os.IDLE_TIMEOUT_MS)}analyzeOutput(e){let t=e.split(`
6
6
  `).slice(-10),n=t.join(`
7
7
  `),s=t[t.length-1]||"";for(let i of ii.waiting)if(i.test(n))return"waiting";for(let i of ii.working)if(i.test(s))return"working";for(let i of ii.completed)if(i.test(n))return"completed";for(let i of ii.idle)if(i.test(s))return"idle";return null}detectPrompt(e){let s=this.normalizeBuffer(this.stripAnsi(e)).split(`
8
8
  `).slice(-20),i=s.join(`
@@ -12,28 +12,28 @@
12
12
  `).replace(/\r/g,`
13
13
  `).replace(/\n{3,}/g,`
14
14
 
15
- `)}scheduleStatusUpdate(e,t){let n=this.states.get(e);n&&n.status!==t&&(n.pendingUpdate&&clearTimeout(n.pendingUpdate),n.pendingUpdate=setTimeout(()=>{this.emitStatus(e,t),n.pendingUpdate=null},os.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 s;t==="waiting"&&(s=this.detectPrompt(n.outputBuffer)||void 0),this.onStatusChange(e,t,s)}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))},os.WORKING_TIMEOUT_MS))}forceStatus(e,t){this.emitStatus(e,t)}getStatus(e){return this.states.get(e)?.status??null}dispose(){for(let e of this.states.keys())this.stopTracking(e)}};oi.StatusDetector=Do});var Xf=F((dv,Yf)=>{var wn=require("fs"),Gf=require("url"),jp=require("child_process").spawn;Yf.exports=Fo;Fo.XMLHttpRequest=Fo;function Fo(r){"use strict";r=r||{};var e=this,t=require("http"),n=require("https"),s,i,a={},c=!1,u={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},d=Object.assign({},u),g=["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"],y=!1,w=!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 V=function(P){return c||P&&g.indexOf(P.toLowerCase())===-1},de=function(P){return P&&m.indexOf(P)===-1};this.open=function(P,L,Q,j,Z){if(this.abort(),w=!1,S=!1,!de(P))throw new Error("SecurityError: Request method not allowed");a={method:P,url:L.toString(),async:typeof Q!="boolean"?!0:Q,user:j||null,password:Z||null},B(this.OPENED)},this.setDisableHeaderCheck=function(P){c=P},this.setRequestHeader=function(P,L){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!V(P))return console.warn('Refused to set unsafe header "'+P+'"'),!1;if(y)throw new Error("INVALID_STATE_ERR: send flag is true");return d[P]=L,!0},this.getResponseHeader=function(P){return typeof P=="string"&&this.readyState>this.OPENED&&i.headers[P.toLowerCase()]&&!w?i.headers[P.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||w)return"";var P="";for(var L in i.headers)L!=="set-cookie"&&L!=="set-cookie2"&&(P+=L+": "+i.headers[L]+`\r
16
- `);return P.substr(0,P.length-2)},this.getRequestHeader=function(P){return typeof P=="string"&&d[P]?d[P]:""},this.send=function(P){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(y)throw new Error("INVALID_STATE_ERR: send has already been called");var L=!1,Q=!1,j=Gf.parse(a.url),Z;switch(j.protocol){case"https:":L=!0;case"http:":Z=j.hostname;break;case"file:":Q=!0;break;case void 0:case"":Z="localhost";break;default:throw new Error("Protocol not supported.")}if(Q){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)wn.readFile(unescape(j.pathname),function(A,oe){A?e.handleError(A,A.errno||-1):(e.status=200,e.responseText=oe.toString("utf8"),e.response=oe,B(e.DONE))});else try{this.response=wn.readFileSync(unescape(j.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,B(e.DONE)}catch(A){this.handleError(A,A.errno||-1)}return}var pe=j.port||(L?443:80),Ee=j.pathname+(j.search?j.search:"");if(d.Host=Z,L&&pe===443||pe===80||(d.Host+=":"+j.port),a.user){typeof a.password>"u"&&(a.password="");var ve=new Buffer(a.user+":"+a.password);d.Authorization="Basic "+ve.toString("base64")}if(a.method==="GET"||a.method==="HEAD")P=null;else if(P){d["Content-Length"]=Buffer.isBuffer(P)?P.length:Buffer.byteLength(P);var He=Object.keys(d);He.some(function(A){return A.toLowerCase()==="content-type"})||(d["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(d["Content-Length"]=0);var $e=r.agent||!1,Te={host:Z,port:pe,path:Ee,method:a.method,headers:d,agent:$e};if(L&&(Te.pfx=r.pfx,Te.key=r.key,Te.passphrase=r.passphrase,Te.cert=r.cert,Te.ca=r.ca,Te.ciphers=r.ciphers,Te.rejectUnauthorized=r.rejectUnauthorized!==!1),w=!1,a.async){var ze=L?n.request:t.request;y=!0,e.dispatchEvent("readystatechange");var Ve=function(A){if(i=A,i.statusCode===302||i.statusCode===303||i.statusCode===307){a.url=i.headers.location;var oe=Gf.parse(a.url);Z=oe.hostname;var Ie={hostname:oe.hostname,port:oe.port,path:oe.path,method:i.statusCode===303?"GET":a.method,headers:d};L&&(Ie.pfx=r.pfx,Ie.key=r.key,Ie.passphrase=r.passphrase,Ie.cert=r.cert,Ie.ca=r.ca,Ie.ciphers=r.ciphers,Ie.rejectUnauthorized=r.rejectUnauthorized!==!1),s=ze(Ie,Ve).on("error",Ze),s.end();return}B(e.HEADERS_RECEIVED),e.status=i.statusCode,i.on("data",function(ut){if(ut){var Et=Buffer.from(ut);e.response=Buffer.concat([e.response,Et])}y&&B(e.LOADING)}),i.on("end",function(){y&&(y=!1,B(e.DONE),e.responseText=e.response.toString("utf8"))}),i.on("error",function(ut){e.handleError(ut)})},Ze=function(A){if(s.reusedSocket&&A.code==="ECONNRESET")return ze(Te,Ve).on("error",Ze);e.handleError(A)};s=ze(Te,Ve).on("error",Ze),r.autoUnref&&s.on("socket",A=>{A.unref()}),P&&s.write(P),s.end(),e.dispatchEvent("loadstart")}else{var z=".node-xmlhttprequest-content-"+process.pid,te=".node-xmlhttprequest-sync-"+process.pid;wn.writeFileSync(te,"","utf8");for(var Re="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(L?"s":"")+".request;var options = "+JSON.stringify(Te)+";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('"+z+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+te+"');});response.on('error', function(error) {fs.writeFileSync('"+z+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+te+"');});}).on('error', function(error) {fs.writeFileSync('"+z+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+te+"');});"+(P?"req.write('"+JSON.stringify(P).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",je=jp(process.argv[0],["-e",Re]),yt;wn.existsSync(te););if(e.responseText=wn.readFileSync(z,"utf8"),je.stdin.end(),wn.unlinkSync(z),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var N=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(N,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var U=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));i={statusCode:e.status,headers:U.data.headers},e.responseText=U.data.text,e.response=Buffer.from(U.data.data,"base64"),B(e.DONE,!0)}}},this.handleError=function(P,L){this.status=L||0,this.statusText=P,this.responseText=P.stack,w=!0,B(this.DONE)},this.abort=function(){s&&(s.abort(),s=null),d=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),w=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||y)&&this.readyState!==this.DONE&&(y=!1,B(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(P,L){P in C||(C[P]=[]),C[P].push(L)},this.removeEventListener=function(P,L){P in C&&(C[P]=C[P].filter(function(Q){return Q!==L}))},this.dispatchEvent=function(P){if(typeof e["on"+P]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+P]()},0):e["on"+P]()),P in C)for(let L=0,Q=C[P].length;L<Q;L++)this.readyState===this.DONE?setTimeout(function(){C[P][L].call(e)},0):C[P][L].call(e)};var B=function(P){if(!(e.readyState===P||e.readyState===e.UNSENT&&S)&&(e.readyState=P,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let L;S?L="abort":w?L="error":L="load",e.dispatchEvent(L),e.dispatchEvent("loadend")}}}});var ai=F(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.ERROR_PACKET=Pr.PACKET_TYPES_REVERSE=Pr.PACKET_TYPES=void 0;var Xt=Object.create(null);Pr.PACKET_TYPES=Xt;Xt.open="0";Xt.close="1";Xt.ping="2";Xt.pong="3";Xt.message="4";Xt.upgrade="5";Xt.noop="6";var Jf=Object.create(null);Pr.PACKET_TYPES_REVERSE=Jf;Object.keys(Xt).forEach(r=>{Jf[Xt[r]]=r});var Up={type:"error",data:"parser error"};Pr.ERROR_PACKET=Up});var Qf=F(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.encodePacket=void 0;bn.encodePacketToBinary=Hp;var qp=ai(),Wp=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+Zf(e,!0).toString("base64")):n(qp.PACKET_TYPES[r]+(e||""));bn.encodePacket=Wp;var Zf=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),Mo;function Hp(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(Zf(r.data,!1));(0,bn.encodePacket)(r,!0,t=>{Mo||(Mo=new TextEncoder),e(Mo.encode(t))})}});var tu=F(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.decodePacket=void 0;var ci=ai(),Vp=(r,e)=>{if(typeof r!="string")return{type:"message",data:eu(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:eu(n,e)}}return ci.PACKET_TYPES_REVERSE[t]?r.length>1?{type:ci.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:ci.PACKET_TYPES_REVERSE[t]}:ci.ERROR_PACKET};fi.decodePacket=Vp;var eu=(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 xn=F(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.decodePayload=gt.decodePacket=gt.encodePayload=gt.encodePacket=gt.protocol=void 0;gt.createPacketEncoderStream=zp;gt.createPacketDecoderStream=Gp;var jo=Qf();Object.defineProperty(gt,"encodePacket",{enumerable:!0,get:function(){return jo.encodePacket}});var Uo=tu();Object.defineProperty(gt,"decodePacket",{enumerable:!0,get:function(){return Uo.decodePacket}});var ru=ai(),nu="",Kp=(r,e)=>{let t=r.length,n=new Array(t),s=0;r.forEach((i,a)=>{(0,jo.encodePacket)(i,!1,c=>{n[a]=c,++s===t&&e(n.join(nu))})})};gt.encodePayload=Kp;var $p=(r,e)=>{let t=r.split(nu),n=[];for(let s=0;s<t.length;s++){let i=(0,Uo.decodePacket)(t[s],e);if(n.push(i),i.type==="error")break}return n};gt.decodePayload=$p;function zp(){return new TransformStream({transform(r,e){(0,jo.encodePacketToBinary)(r,t=>{let n=t.length,s;if(n<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,n);else if(n<65536){s=new Uint8Array(3);let i=new DataView(s.buffer);i.setUint8(0,126),i.setUint16(1,n)}else{s=new Uint8Array(9);let i=new DataView(s.buffer);i.setUint8(0,127),i.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(t)})}})}var Bo;function ui(r){return r.reduce((e,t)=>e+t.length,0)}function li(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let s=0;s<e;s++)t[s]=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 Gp(r,e){Bo||(Bo=new TextDecoder);let t=[],n=0,s=-1,i=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(ui(t)<1)break;let u=li(t,1);i=(u[0]&128)===128,s=u[0]&127,s<126?n=3:s===126?n=1:n=2}else if(n===1){if(ui(t)<2)break;let u=li(t,2);s=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(ui(t)<8)break;let u=li(t,8),d=new DataView(u.buffer,u.byteOffset,u.length),g=d.getUint32(0);if(g>Math.pow(2,21)-1){c.enqueue(ru.ERROR_PACKET);break}s=g*Math.pow(2,32)+d.getUint32(4),n=3}else{if(ui(t)<s)break;let u=li(t,s);c.enqueue((0,Uo.decodePacket)(i?u:Bo.decode(u),e)),n=0}if(s===0||s>r){c.enqueue(ru.ERROR_PACKET);break}}}})}gt.protocol=4});var Yr=F(su=>{su.Emitter=ht;function ht(r){if(r)return Yp(r)}function Yp(r){for(var e in ht.prototype)r[e]=ht.prototype[e];return r}ht.prototype.on=ht.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};ht.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};ht.prototype.off=ht.prototype.removeListener=ht.prototype.removeAllListeners=ht.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,s=0;s<t.length;s++)if(n=t[s],n===e||n.fn===e){t.splice(s,1);break}return t.length===0&&delete this._callbacks["$"+r],this};ht.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,s=t.length;n<s;++n)t[n].apply(this,e)}return this};ht.prototype.emitReserved=ht.prototype.emit;ht.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};ht.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var Xr=F(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.CookieJar=Pt.defaultBinaryType=Pt.globalThisShim=Pt.nextTick=void 0;Pt.createCookieJar=Xp;Pt.parse=iu;Pt.nextTick=process.nextTick;Pt.globalThisShim=global;Pt.defaultBinaryType="nodebuffer";function Xp(){return new hi}function iu(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 s=e[0].substring(t+1).trim();s.charCodeAt(0)===34&&(s=s.slice(1,-1));let i={name:n,value:s};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),d=c[1].trim();switch(u){case"Expires":i.expires=new Date(d);break;case"Max-Age":let g=new Date;g.setUTCSeconds(g.getUTCSeconds()+parseInt(d,10)),i.expires=g;break;default:}}return i}var hi=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=iu(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var s;((s=t.expires)===null||s===void 0?void 0:s.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,s]of this.cookies)t.push(`${n}=${s.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}`)}};Pt.CookieJar=hi});var Jr=F(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.pick=Jp;Sn.installTimerFunctions=eg;Sn.byteLength=rg;Sn.randomString=sg;var Rr=Xr();function Jp(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var Zp=Rr.globalThisShim.setTimeout,Qp=Rr.globalThisShim.clearTimeout;function eg(r,e){e.useNativeTimers?(r.setTimeoutFn=Zp.bind(Rr.globalThisShim),r.clearTimeoutFn=Qp.bind(Rr.globalThisShim)):(r.setTimeoutFn=Rr.globalThisShim.setTimeout.bind(Rr.globalThisShim),r.clearTimeoutFn=Rr.globalThisShim.clearTimeout.bind(Rr.globalThisShim))}var tg=1.33;function rg(r){return typeof r=="string"?ng(r):Math.ceil((r.byteLength||r.size)*tg)}function ng(r){let e=0,t=0;for(let n=0,s=r.length;n<s;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 sg(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var qo=F(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.encode=ig;di.decode=og;function ig(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function og(r){let e={},t=r.split("&");for(let n=0,s=t.length;n<s;n++){let i=t[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}});var au=F((bv,ou)=>{var Tn=1e3,Cn=Tn*60,On=Cn*60,Zr=On*24,ag=Zr*7,cg=Zr*365.25;ou.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return fg(r);if(t==="number"&&isFinite(r))return e.long?lg(r):ug(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function fg(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*cg;case"weeks":case"week":case"w":return t*ag;case"days":case"day":case"d":return t*Zr;case"hours":case"hour":case"hrs":case"hr":case"h":return t*On;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Tn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function ug(r){var e=Math.abs(r);return e>=Zr?Math.round(r/Zr)+"d":e>=On?Math.round(r/On)+"h":e>=Cn?Math.round(r/Cn)+"m":e>=Tn?Math.round(r/Tn)+"s":r+"ms"}function lg(r){var e=Math.abs(r);return e>=Zr?pi(r,e,Zr,"day"):e>=On?pi(r,e,On,"hour"):e>=Cn?pi(r,e,Cn,"minute"):e>=Tn?pi(r,e,Tn,"second"):r+" ms"}function pi(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Wo=F((xv,cu)=>{function hg(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=s,t.enabled=c,t.humanize=au(),t.destroy=d,Object.keys(r).forEach(g=>{t[g]=r[g]}),t.names=[],t.skips=[],t.formatters={};function e(g){let m=0;for(let y=0;y<g.length;y++)m=(m<<5)-m+g.charCodeAt(y),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(g){let m,y=null,w,S;function C(...V){if(!C.enabled)return;let de=C,B=Number(new Date),P=B-(m||B);de.diff=P,de.prev=m,de.curr=B,m=B,V[0]=t.coerce(V[0]),typeof V[0]!="string"&&V.unshift("%O");let L=0;V[0]=V[0].replace(/%([a-zA-Z%])/g,(j,Z)=>{if(j==="%%")return"%";L++;let pe=t.formatters[Z];if(typeof pe=="function"){let Ee=V[L];j=pe.call(de,Ee),V.splice(L,1),L--}return j}),t.formatArgs.call(de,V),(de.log||t.log).apply(de,V)}return C.namespace=g,C.useColors=t.useColors(),C.color=t.selectColor(g),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(w!==t.namespaces&&(w=t.namespaces,S=t.enabled(g)),S),set:V=>{y=V}}),typeof t.init=="function"&&t.init(C),C}function n(g,m){let y=t(this.namespace+(typeof m>"u"?":":m)+g);return y.log=this.log,y}function s(g){t.save(g),t.namespaces=g,t.names=[],t.skips=[];let m=(typeof g=="string"?g:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of m)y[0]==="-"?t.skips.push(y.slice(1)):t.names.push(y)}function i(g,m){let y=0,w=0,S=-1,C=0;for(;y<g.length;)if(w<m.length&&(m[w]===g[y]||m[w]==="*"))m[w]==="*"?(S=w,C=y,w++):(y++,w++);else if(S!==-1)w=S+1,C++,y=C;else return!1;for(;w<m.length&&m[w]==="*";)w++;return w===m.length}function a(){let g=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),g}function c(g){for(let m of t.skips)if(i(g,m))return!1;for(let m of t.names)if(i(g,m))return!0;return!1}function u(g){return g instanceof Error?g.stack||g.message:g}function d(){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}cu.exports=hg});var fu=F((mt,gi)=>{mt.formatArgs=pg;mt.save=gg;mt.load=mg;mt.useColors=dg;mt.storage=_g();mt.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`."))}})();mt.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 dg(){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 pg(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gi.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,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}mt.log=console.debug||console.log||(()=>{});function gg(r){try{r?mt.storage.setItem("debug",r):mt.storage.removeItem("debug")}catch{}}function mg(){let r;try{r=mt.storage.getItem("debug")||mt.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function _g(){try{return localStorage}catch{}}gi.exports=Wo()(mt);var{formatters:yg}=gi.exports;yg.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var lu=F((Sv,uu)=>{"use strict";uu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var pu=F((Tv,du)=>{"use strict";var Eg=require("os"),hu=require("tty"),Rt=lu(),{env:tt}=process,Ar;Rt("no-color")||Rt("no-colors")||Rt("color=false")||Rt("color=never")?Ar=0:(Rt("color")||Rt("colors")||Rt("color=true")||Rt("color=always"))&&(Ar=1);"FORCE_COLOR"in tt&&(tt.FORCE_COLOR==="true"?Ar=1:tt.FORCE_COLOR==="false"?Ar=0:Ar=tt.FORCE_COLOR.length===0?1:Math.min(parseInt(tt.FORCE_COLOR,10),3));function Ho(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Vo(r,e){if(Ar===0)return 0;if(Rt("color=16m")||Rt("color=full")||Rt("color=truecolor"))return 3;if(Rt("color=256"))return 2;if(r&&!e&&Ar===void 0)return 0;let t=Ar||0;if(tt.TERM==="dumb")return t;if(process.platform==="win32"){let n=Eg.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in tt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in tt)||tt.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in tt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(tt.TEAMCITY_VERSION)?1:0;if(tt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in tt){let n=parseInt((tt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(tt.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(tt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(tt.TERM)||"COLORTERM"in tt?1:t}function vg(r){let e=Vo(r,r&&r.isTTY);return Ho(e)}du.exports={supportsColor:vg,stdout:Ho(Vo(!0,hu.isatty(1))),stderr:Ho(Vo(!0,hu.isatty(2)))}});var mu=F((rt,_i)=>{var wg=require("tty"),mi=require("util");rt.init=kg;rt.log=Tg;rt.formatArgs=xg;rt.save=Cg;rt.load=Og;rt.useColors=bg;rt.destroy=mi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");rt.colors=[6,2,3,4,5,1];try{let r=pu();r&&(r.stderr||r).level>=2&&(rt.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{}rt.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.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 bg(){return"colors"in rt.inspectOpts?!!rt.inspectOpts.colors:wg.isatty(process.stderr.fd)}function xg(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
15
+ `)}scheduleStatusUpdate(e,t){let n=this.states.get(e);n&&n.status!==t&&(n.pendingUpdate&&clearTimeout(n.pendingUpdate),n.pendingUpdate=setTimeout(()=>{this.emitStatus(e,t),n.pendingUpdate=null},os.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 s;t==="waiting"&&(s=this.detectPrompt(n.outputBuffer)||void 0),this.onStatusChange(e,t,s)}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))},os.WORKING_TIMEOUT_MS))}forceStatus(e,t){this.emitStatus(e,t)}getStatus(e){return this.states.get(e)?.status??null}dispose(){for(let e of this.states.keys())this.stopTracking(e)}};oi.StatusDetector=Do});var Xf=F((gv,Yf)=>{var wn=require("fs"),Gf=require("url"),qp=require("child_process").spawn;Yf.exports=Fo;Fo.XMLHttpRequest=Fo;function Fo(r){"use strict";r=r||{};var e=this,t=require("http"),n=require("https"),s,i,a={},c=!1,u={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},d=Object.assign({},u),g=["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"],y=!1,w=!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 V=function(P){return c||P&&g.indexOf(P.toLowerCase())===-1},de=function(P){return P&&m.indexOf(P)===-1};this.open=function(P,L,Q,j,Z){if(this.abort(),w=!1,S=!1,!de(P))throw new Error("SecurityError: Request method not allowed");a={method:P,url:L.toString(),async:typeof Q!="boolean"?!0:Q,user:j||null,password:Z||null},B(this.OPENED)},this.setDisableHeaderCheck=function(P){c=P},this.setRequestHeader=function(P,L){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!V(P))return console.warn('Refused to set unsafe header "'+P+'"'),!1;if(y)throw new Error("INVALID_STATE_ERR: send flag is true");return d[P]=L,!0},this.getResponseHeader=function(P){return typeof P=="string"&&this.readyState>this.OPENED&&i.headers[P.toLowerCase()]&&!w?i.headers[P.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||w)return"";var P="";for(var L in i.headers)L!=="set-cookie"&&L!=="set-cookie2"&&(P+=L+": "+i.headers[L]+`\r
16
+ `);return P.substr(0,P.length-2)},this.getRequestHeader=function(P){return typeof P=="string"&&d[P]?d[P]:""},this.send=function(P){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(y)throw new Error("INVALID_STATE_ERR: send has already been called");var L=!1,Q=!1,j=Gf.parse(a.url),Z;switch(j.protocol){case"https:":L=!0;case"http:":Z=j.hostname;break;case"file:":Q=!0;break;case void 0:case"":Z="localhost";break;default:throw new Error("Protocol not supported.")}if(Q){if(a.method!=="GET")throw new Error("XMLHttpRequest: Only GET method is supported");if(a.async)wn.readFile(unescape(j.pathname),function(A,oe){A?e.handleError(A,A.errno||-1):(e.status=200,e.responseText=oe.toString("utf8"),e.response=oe,B(e.DONE))});else try{this.response=wn.readFileSync(unescape(j.pathname)),this.responseText=this.response.toString("utf8"),this.status=200,B(e.DONE)}catch(A){this.handleError(A,A.errno||-1)}return}var pe=j.port||(L?443:80),Ee=j.pathname+(j.search?j.search:"");if(d.Host=Z,L&&pe===443||pe===80||(d.Host+=":"+j.port),a.user){typeof a.password>"u"&&(a.password="");var ve=new Buffer(a.user+":"+a.password);d.Authorization="Basic "+ve.toString("base64")}if(a.method==="GET"||a.method==="HEAD")P=null;else if(P){d["Content-Length"]=Buffer.isBuffer(P)?P.length:Buffer.byteLength(P);var He=Object.keys(d);He.some(function(A){return A.toLowerCase()==="content-type"})||(d["Content-Type"]="text/plain;charset=UTF-8")}else a.method==="POST"&&(d["Content-Length"]=0);var ze=r.agent||!1,Te={host:Z,port:pe,path:Ee,method:a.method,headers:d,agent:ze};if(L&&(Te.pfx=r.pfx,Te.key=r.key,Te.passphrase=r.passphrase,Te.cert=r.cert,Te.ca=r.ca,Te.ciphers=r.ciphers,Te.rejectUnauthorized=r.rejectUnauthorized!==!1),w=!1,a.async){var $e=L?n.request:t.request;y=!0,e.dispatchEvent("readystatechange");var Ve=function(A){if(i=A,i.statusCode===302||i.statusCode===303||i.statusCode===307){a.url=i.headers.location;var oe=Gf.parse(a.url);Z=oe.hostname;var Ie={hostname:oe.hostname,port:oe.port,path:oe.path,method:i.statusCode===303?"GET":a.method,headers:d};L&&(Ie.pfx=r.pfx,Ie.key=r.key,Ie.passphrase=r.passphrase,Ie.cert=r.cert,Ie.ca=r.ca,Ie.ciphers=r.ciphers,Ie.rejectUnauthorized=r.rejectUnauthorized!==!1),s=$e(Ie,Ve).on("error",Ze),s.end();return}B(e.HEADERS_RECEIVED),e.status=i.statusCode,i.on("data",function(ut){if(ut){var Et=Buffer.from(ut);e.response=Buffer.concat([e.response,Et])}y&&B(e.LOADING)}),i.on("end",function(){y&&(y=!1,B(e.DONE),e.responseText=e.response.toString("utf8"))}),i.on("error",function(ut){e.handleError(ut)})},Ze=function(A){if(s.reusedSocket&&A.code==="ECONNRESET")return $e(Te,Ve).on("error",Ze);e.handleError(A)};s=$e(Te,Ve).on("error",Ze),r.autoUnref&&s.on("socket",A=>{A.unref()}),P&&s.write(P),s.end(),e.dispatchEvent("loadstart")}else{var $=".node-xmlhttprequest-content-"+process.pid,te=".node-xmlhttprequest-sync-"+process.pid;wn.writeFileSync(te,"","utf8");for(var Re="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(L?"s":"")+".request;var options = "+JSON.stringify(Te)+";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('"+$+"', JSON.stringify({err: null, data: {statusCode: response.statusCode, headers: response.headers, text: responseText, data: responseData.toString('base64')}}), 'utf8');fs.unlinkSync('"+te+"');});response.on('error', function(error) {fs.writeFileSync('"+$+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+te+"');});}).on('error', function(error) {fs.writeFileSync('"+$+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+te+"');});"+(P?"req.write('"+JSON.stringify(P).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",je=qp(process.argv[0],["-e",Re]),yt;wn.existsSync(te););if(e.responseText=wn.readFileSync($,"utf8"),je.stdin.end(),wn.unlinkSync($),e.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var N=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,""));e.handleError(N,503)}else{e.status=e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1");var U=JSON.parse(e.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"));i={statusCode:e.status,headers:U.data.headers},e.responseText=U.data.text,e.response=Buffer.from(U.data.data,"base64"),B(e.DONE,!0)}}},this.handleError=function(P,L){this.status=L||0,this.statusText=P,this.responseText=P.stack,w=!0,B(this.DONE)},this.abort=function(){s&&(s.abort(),s=null),d=Object.assign({},u),this.responseText="",this.responseXML="",this.response=Buffer.alloc(0),w=S=!0,this.readyState!==this.UNSENT&&(this.readyState!==this.OPENED||y)&&this.readyState!==this.DONE&&(y=!1,B(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(P,L){P in C||(C[P]=[]),C[P].push(L)},this.removeEventListener=function(P,L){P in C&&(C[P]=C[P].filter(function(Q){return Q!==L}))},this.dispatchEvent=function(P){if(typeof e["on"+P]=="function"&&(this.readyState===this.DONE&&a.async?setTimeout(function(){e["on"+P]()},0):e["on"+P]()),P in C)for(let L=0,Q=C[P].length;L<Q;L++)this.readyState===this.DONE?setTimeout(function(){C[P][L].call(e)},0):C[P][L].call(e)};var B=function(P){if(!(e.readyState===P||e.readyState===e.UNSENT&&S)&&(e.readyState=P,(a.async||e.readyState<e.OPENED||e.readyState===e.DONE)&&e.dispatchEvent("readystatechange"),e.readyState===e.DONE)){let L;S?L="abort":w?L="error":L="load",e.dispatchEvent(L),e.dispatchEvent("loadend")}}}});var ai=F(Pr=>{"use strict";Object.defineProperty(Pr,"__esModule",{value:!0});Pr.ERROR_PACKET=Pr.PACKET_TYPES_REVERSE=Pr.PACKET_TYPES=void 0;var Xt=Object.create(null);Pr.PACKET_TYPES=Xt;Xt.open="0";Xt.close="1";Xt.ping="2";Xt.pong="3";Xt.message="4";Xt.upgrade="5";Xt.noop="6";var Jf=Object.create(null);Pr.PACKET_TYPES_REVERSE=Jf;Object.keys(Xt).forEach(r=>{Jf[Xt[r]]=r});var Wp={type:"error",data:"parser error"};Pr.ERROR_PACKET=Wp});var Qf=F(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.encodePacket=void 0;bn.encodePacketToBinary=Kp;var Hp=ai(),Vp=({type:r,data:e},t,n)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?n(t?e:"b"+Zf(e,!0).toString("base64")):n(Hp.PACKET_TYPES[r]+(e||""));bn.encodePacket=Vp;var Zf=(r,e)=>Buffer.isBuffer(r)||r instanceof Uint8Array&&!e?r:r instanceof ArrayBuffer?Buffer.from(r):Buffer.from(r.buffer,r.byteOffset,r.byteLength),Mo;function Kp(r,e){if(r.data instanceof ArrayBuffer||ArrayBuffer.isView(r.data))return e(Zf(r.data,!1));(0,bn.encodePacket)(r,!0,t=>{Mo||(Mo=new TextEncoder),e(Mo.encode(t))})}});var tu=F(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.decodePacket=void 0;var ci=ai(),zp=(r,e)=>{if(typeof r!="string")return{type:"message",data:eu(r,e)};let t=r.charAt(0);if(t==="b"){let n=Buffer.from(r.substring(1),"base64");return{type:"message",data:eu(n,e)}}return ci.PACKET_TYPES_REVERSE[t]?r.length>1?{type:ci.PACKET_TYPES_REVERSE[t],data:r.substring(1)}:{type:ci.PACKET_TYPES_REVERSE[t]}:ci.ERROR_PACKET};fi.decodePacket=zp;var eu=(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 xn=F(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.decodePayload=gt.decodePacket=gt.encodePayload=gt.encodePacket=gt.protocol=void 0;gt.createPacketEncoderStream=Yp;gt.createPacketDecoderStream=Xp;var jo=Qf();Object.defineProperty(gt,"encodePacket",{enumerable:!0,get:function(){return jo.encodePacket}});var Uo=tu();Object.defineProperty(gt,"decodePacket",{enumerable:!0,get:function(){return Uo.decodePacket}});var ru=ai(),nu="",$p=(r,e)=>{let t=r.length,n=new Array(t),s=0;r.forEach((i,a)=>{(0,jo.encodePacket)(i,!1,c=>{n[a]=c,++s===t&&e(n.join(nu))})})};gt.encodePayload=$p;var Gp=(r,e)=>{let t=r.split(nu),n=[];for(let s=0;s<t.length;s++){let i=(0,Uo.decodePacket)(t[s],e);if(n.push(i),i.type==="error")break}return n};gt.decodePayload=Gp;function Yp(){return new TransformStream({transform(r,e){(0,jo.encodePacketToBinary)(r,t=>{let n=t.length,s;if(n<126)s=new Uint8Array(1),new DataView(s.buffer).setUint8(0,n);else if(n<65536){s=new Uint8Array(3);let i=new DataView(s.buffer);i.setUint8(0,126),i.setUint16(1,n)}else{s=new Uint8Array(9);let i=new DataView(s.buffer);i.setUint8(0,127),i.setBigUint64(1,BigInt(n))}r.data&&typeof r.data!="string"&&(s[0]|=128),e.enqueue(s),e.enqueue(t)})}})}var Bo;function ui(r){return r.reduce((e,t)=>e+t.length,0)}function li(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),n=0;for(let s=0;s<e;s++)t[s]=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 Xp(r,e){Bo||(Bo=new TextDecoder);let t=[],n=0,s=-1,i=!1;return new TransformStream({transform(a,c){for(t.push(a);;){if(n===0){if(ui(t)<1)break;let u=li(t,1);i=(u[0]&128)===128,s=u[0]&127,s<126?n=3:s===126?n=1:n=2}else if(n===1){if(ui(t)<2)break;let u=li(t,2);s=new DataView(u.buffer,u.byteOffset,u.length).getUint16(0),n=3}else if(n===2){if(ui(t)<8)break;let u=li(t,8),d=new DataView(u.buffer,u.byteOffset,u.length),g=d.getUint32(0);if(g>Math.pow(2,21)-1){c.enqueue(ru.ERROR_PACKET);break}s=g*Math.pow(2,32)+d.getUint32(4),n=3}else{if(ui(t)<s)break;let u=li(t,s);c.enqueue((0,Uo.decodePacket)(i?u:Bo.decode(u),e)),n=0}if(s===0||s>r){c.enqueue(ru.ERROR_PACKET);break}}}})}gt.protocol=4});var Yr=F(su=>{su.Emitter=ht;function ht(r){if(r)return Jp(r)}function Jp(r){for(var e in ht.prototype)r[e]=ht.prototype[e];return r}ht.prototype.on=ht.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+r]=this._callbacks["$"+r]||[]).push(e),this};ht.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};ht.prototype.off=ht.prototype.removeListener=ht.prototype.removeAllListeners=ht.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,s=0;s<t.length;s++)if(n=t[s],n===e||n.fn===e){t.splice(s,1);break}return t.length===0&&delete this._callbacks["$"+r],this};ht.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,s=t.length;n<s;++n)t[n].apply(this,e)}return this};ht.prototype.emitReserved=ht.prototype.emit;ht.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks["$"+r]||[]};ht.prototype.hasListeners=function(r){return!!this.listeners(r).length}});var Xr=F(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.CookieJar=Pt.defaultBinaryType=Pt.globalThisShim=Pt.nextTick=void 0;Pt.createCookieJar=Zp;Pt.parse=iu;Pt.nextTick=process.nextTick;Pt.globalThisShim=global;Pt.defaultBinaryType="nodebuffer";function Zp(){return new hi}function iu(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 s=e[0].substring(t+1).trim();s.charCodeAt(0)===34&&(s=s.slice(1,-1));let i={name:n,value:s};for(let a=1;a<e.length;a++){let c=e[a].split("=");if(c.length!==2)continue;let u=c[0].trim(),d=c[1].trim();switch(u){case"Expires":i.expires=new Date(d);break;case"Max-Age":let g=new Date;g.setUTCSeconds(g.getUTCSeconds()+parseInt(d,10)),i.expires=g;break;default:}}return i}var hi=class{constructor(){this._cookies=new Map}parseCookies(e){e&&e.forEach(t=>{let n=iu(t);n&&this._cookies.set(n.name,n)})}get cookies(){let e=Date.now();return this._cookies.forEach((t,n)=>{var s;((s=t.expires)===null||s===void 0?void 0:s.getTime())<e&&this._cookies.delete(n)}),this._cookies.entries()}addCookies(e){let t=[];for(let[n,s]of this.cookies)t.push(`${n}=${s.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}`)}};Pt.CookieJar=hi});var Jr=F(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.pick=Qp;Sn.installTimerFunctions=rg;Sn.byteLength=sg;Sn.randomString=og;var Rr=Xr();function Qp(r,...e){return e.reduce((t,n)=>(r.hasOwnProperty(n)&&(t[n]=r[n]),t),{})}var eg=Rr.globalThisShim.setTimeout,tg=Rr.globalThisShim.clearTimeout;function rg(r,e){e.useNativeTimers?(r.setTimeoutFn=eg.bind(Rr.globalThisShim),r.clearTimeoutFn=tg.bind(Rr.globalThisShim)):(r.setTimeoutFn=Rr.globalThisShim.setTimeout.bind(Rr.globalThisShim),r.clearTimeoutFn=Rr.globalThisShim.clearTimeout.bind(Rr.globalThisShim))}var ng=1.33;function sg(r){return typeof r=="string"?ig(r):Math.ceil((r.byteLength||r.size)*ng)}function ig(r){let e=0,t=0;for(let n=0,s=r.length;n<s;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 og(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}});var qo=F(di=>{"use strict";Object.defineProperty(di,"__esModule",{value:!0});di.encode=ag;di.decode=cg;function ag(r){let e="";for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(r[t]));return e}function cg(r){let e={},t=r.split("&");for(let n=0,s=t.length;n<s;n++){let i=t[n].split("=");e[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return e}});var au=F((Sv,ou)=>{var Tn=1e3,Cn=Tn*60,On=Cn*60,Zr=On*24,fg=Zr*7,ug=Zr*365.25;ou.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return lg(r);if(t==="number"&&isFinite(r))return e.long?dg(r):hg(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function lg(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*ug;case"weeks":case"week":case"w":return t*fg;case"days":case"day":case"d":return t*Zr;case"hours":case"hour":case"hrs":case"hr":case"h":return t*On;case"minutes":case"minute":case"mins":case"min":case"m":return t*Cn;case"seconds":case"second":case"secs":case"sec":case"s":return t*Tn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function hg(r){var e=Math.abs(r);return e>=Zr?Math.round(r/Zr)+"d":e>=On?Math.round(r/On)+"h":e>=Cn?Math.round(r/Cn)+"m":e>=Tn?Math.round(r/Tn)+"s":r+"ms"}function dg(r){var e=Math.abs(r);return e>=Zr?pi(r,e,Zr,"day"):e>=On?pi(r,e,On,"hour"):e>=Cn?pi(r,e,Cn,"minute"):e>=Tn?pi(r,e,Tn,"second"):r+" ms"}function pi(r,e,t,n){var s=e>=t*1.5;return Math.round(r/t)+" "+n+(s?"s":"")}});var Wo=F((Tv,cu)=>{function pg(r){t.debug=t,t.default=t,t.coerce=u,t.disable=a,t.enable=s,t.enabled=c,t.humanize=au(),t.destroy=d,Object.keys(r).forEach(g=>{t[g]=r[g]}),t.names=[],t.skips=[],t.formatters={};function e(g){let m=0;for(let y=0;y<g.length;y++)m=(m<<5)-m+g.charCodeAt(y),m|=0;return t.colors[Math.abs(m)%t.colors.length]}t.selectColor=e;function t(g){let m,y=null,w,S;function C(...V){if(!C.enabled)return;let de=C,B=Number(new Date),P=B-(m||B);de.diff=P,de.prev=m,de.curr=B,m=B,V[0]=t.coerce(V[0]),typeof V[0]!="string"&&V.unshift("%O");let L=0;V[0]=V[0].replace(/%([a-zA-Z%])/g,(j,Z)=>{if(j==="%%")return"%";L++;let pe=t.formatters[Z];if(typeof pe=="function"){let Ee=V[L];j=pe.call(de,Ee),V.splice(L,1),L--}return j}),t.formatArgs.call(de,V),(de.log||t.log).apply(de,V)}return C.namespace=g,C.useColors=t.useColors(),C.color=t.selectColor(g),C.extend=n,C.destroy=t.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>y!==null?y:(w!==t.namespaces&&(w=t.namespaces,S=t.enabled(g)),S),set:V=>{y=V}}),typeof t.init=="function"&&t.init(C),C}function n(g,m){let y=t(this.namespace+(typeof m>"u"?":":m)+g);return y.log=this.log,y}function s(g){t.save(g),t.namespaces=g,t.names=[],t.skips=[];let m=(typeof g=="string"?g:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let y of m)y[0]==="-"?t.skips.push(y.slice(1)):t.names.push(y)}function i(g,m){let y=0,w=0,S=-1,C=0;for(;y<g.length;)if(w<m.length&&(m[w]===g[y]||m[w]==="*"))m[w]==="*"?(S=w,C=y,w++):(y++,w++);else if(S!==-1)w=S+1,C++,y=C;else return!1;for(;w<m.length&&m[w]==="*";)w++;return w===m.length}function a(){let g=[...t.names,...t.skips.map(m=>"-"+m)].join(",");return t.enable(""),g}function c(g){for(let m of t.skips)if(i(g,m))return!1;for(let m of t.names)if(i(g,m))return!0;return!1}function u(g){return g instanceof Error?g.stack||g.message:g}function d(){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}cu.exports=pg});var fu=F((mt,gi)=>{mt.formatArgs=mg;mt.save=_g;mt.load=yg;mt.useColors=gg;mt.storage=Eg();mt.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`."))}})();mt.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 gg(){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 mg(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+gi.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,s=>{s!=="%%"&&(t++,s==="%c"&&(n=t))}),r.splice(n,0,e)}mt.log=console.debug||console.log||(()=>{});function _g(r){try{r?mt.storage.setItem("debug",r):mt.storage.removeItem("debug")}catch{}}function yg(){let r;try{r=mt.storage.getItem("debug")||mt.storage.getItem("DEBUG")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Eg(){try{return localStorage}catch{}}gi.exports=Wo()(mt);var{formatters:vg}=gi.exports;vg.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var lu=F((Cv,uu)=>{"use strict";uu.exports=(r,e=process.argv)=>{let t=r.startsWith("-")?"":r.length===1?"-":"--",n=e.indexOf(t+r),s=e.indexOf("--");return n!==-1&&(s===-1||n<s)}});var pu=F((Ov,du)=>{"use strict";var wg=require("os"),hu=require("tty"),Rt=lu(),{env:tt}=process,Ar;Rt("no-color")||Rt("no-colors")||Rt("color=false")||Rt("color=never")?Ar=0:(Rt("color")||Rt("colors")||Rt("color=true")||Rt("color=always"))&&(Ar=1);"FORCE_COLOR"in tt&&(tt.FORCE_COLOR==="true"?Ar=1:tt.FORCE_COLOR==="false"?Ar=0:Ar=tt.FORCE_COLOR.length===0?1:Math.min(parseInt(tt.FORCE_COLOR,10),3));function Ho(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Vo(r,e){if(Ar===0)return 0;if(Rt("color=16m")||Rt("color=full")||Rt("color=truecolor"))return 3;if(Rt("color=256"))return 2;if(r&&!e&&Ar===void 0)return 0;let t=Ar||0;if(tt.TERM==="dumb")return t;if(process.platform==="win32"){let n=wg.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in tt)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in tt)||tt.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in tt)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(tt.TEAMCITY_VERSION)?1:0;if(tt.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in tt){let n=parseInt((tt.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(tt.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(tt.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(tt.TERM)||"COLORTERM"in tt?1:t}function bg(r){let e=Vo(r,r&&r.isTTY);return Ho(e)}du.exports={supportsColor:bg,stdout:Ho(Vo(!0,hu.isatty(1))),stderr:Ho(Vo(!0,hu.isatty(2)))}});var mu=F((rt,_i)=>{var xg=require("tty"),mi=require("util");rt.init=Rg;rt.log=Og;rt.formatArgs=Tg;rt.save=kg;rt.load=Pg;rt.useColors=Sg;rt.destroy=mi.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");rt.colors=[6,2,3,4,5,1];try{let r=pu();r&&(r.stderr||r).level>=2&&(rt.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{}rt.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(s,i)=>i.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 Sg(){return"colors"in rt.inspectOpts?!!rt.inspectOpts.colors:xg.isatty(process.stderr.fd)}function Tg(r){let{namespace:e,useColors:t}=this;if(t){let n=this.color,s="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${s};1m${e} \x1B[0m`;r[0]=i+r[0].split(`
17
17
  `).join(`
18
- `+i),r.push(s+"m+"+_i.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Sg()+e+" "+r[0]}function Sg(){return rt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Tg(...r){return process.stderr.write(mi.formatWithOptions(rt.inspectOpts,...r)+`
19
- `)}function Cg(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Og(){return process.env.DEBUG}function kg(r){r.inspectOpts={};let e=Object.keys(rt.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=rt.inspectOpts[e[t]]}_i.exports=Wo()(rt);var{formatters:gu}=_i.exports;gu.o=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts).split(`
20
- `).map(e=>e.trim()).join(" ")};gu.O=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts)}});var At=F((Cv,Ko)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ko.exports=fu():Ko.exports=mu()});var as=F(Ir=>{"use strict";var Pg=Ir&&Ir.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ir,"__esModule",{value:!0});Ir.Transport=Ir.TransportError=void 0;var Rg=xn(),Ag=Yr(),Ig=Jr(),Lg=qo(),Ng=Pg(At()),Dg=(0,Ng.default)("engine.io-client:transport"),yi=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Ir.TransportError=yi;var $o=class extends Ag.Emitter{constructor(e){super(),this.writable=!1,(0,Ig.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 yi(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):Dg("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,Rg.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,Lg.encode)(e);return t.length?"?"+t:""}};Ir.Transport=$o});var Go=F(kn=>{"use strict";var Fg=kn&&kn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(kn,"__esModule",{value:!0});kn.Polling=void 0;var Mg=as(),Bg=Jr(),_u=xn(),jg=Fg(At()),Bt=(0,jg.default)("engine.io-client:polling"),zo=class extends Mg.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Bt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Bt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Bt("pre-pause polling complete"),--n||t()})),this.writable||(Bt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Bt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Bt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Bt("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,_u.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Bt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Bt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Bt("transport open - closing"),e()):(Bt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,_u.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,Bg.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};kn.Polling=zo});var Eu=F(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.hasCORS=void 0;var yu=!1;try{yu=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}Ei.hasCORS=yu});var Jo=F(Jt=>{"use strict";var Ug=Jt&&Jt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jt,"__esModule",{value:!0});Jt.XHR=Jt.Request=Jt.BaseXHR=void 0;var qg=Go(),Wg=Yr(),vu=Jr(),bu=Xr(),Hg=Eu(),Vg=Ug(At()),Yo=(0,Vg.default)("engine.io-client:polling");function Kg(){}var vi=class extends qg.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",(s,i)=>{this.onError("xhr post error",s,i)})}doPoll(){Yo("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}};Jt.BaseXHR=vi;var hr=class r extends Wg.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,vu.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,vu.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{Yo("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 s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&n.setRequestHeader(s,this._opts.extraHeaders[s])}}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 s;n.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.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))},Yo("xhr data %s",this._data),n.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},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=Kg,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()}};Jt.Request=hr;hr.requestsCount=0;hr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",wu);else if(typeof addEventListener=="function"){let r="onpagehide"in bu.globalThisShim?"pagehide":"unload";addEventListener(r,wu,!1)}}function wu(){for(let r in hr.requests)hr.requests.hasOwnProperty(r)&&hr.requests[r].abort()}var $g=(function(){let r=xu({xdomain:!1});return r&&r.responseType!==null})(),Xo=class extends vi{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=$g&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new hr(xu,this.uri(),e)}};Jt.XHR=Xo;function xu(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Hg.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new bu.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var Qo=F(Zt=>{"use strict";var zg=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Gg=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Yg=Zt&&Zt.__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)&&zg(e,r,t);return Gg(e,r),e};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.XHR=void 0;var Su=Yg(Xf()),Tu=Jo(),Xg=Su.default||Su,Zo=class extends Tu.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 Tu.Request(n=>new Xg(n),this.uri(),e)}};Zt.XHR=Zo});var dr=F((Iv,ku)=>{"use strict";var Cu=["nodebuffer","arraybuffer","fragments"],Ou=typeof Blob<"u";Ou&&Cu.push("blob");ku.exports={BINARY_TYPES:Cu,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Ou,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var cs=F((Lv,wi)=>{"use strict";var{EMPTY_BUFFER:Jg}=dr(),ea=Buffer[Symbol.species];function Zg(r,e){if(r.length===0)return Jg;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new ea(t.buffer,t.byteOffset,n):t}function Pu(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Ru(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function Qg(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function ta(r){if(ta.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new ea(r):ArrayBuffer.isView(r)?e=new ea(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),ta.readOnly=!1),e}wi.exports={concat:Zg,mask:Pu,toArrayBuffer:Qg,toBuffer:ta,unmask:Ru};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");wi.exports.mask=function(e,t,n,s,i){i<48?Pu(e,t,n,s,i):r.mask(e,t,n,s,i)},wi.exports.unmask=function(e,t){e.length<32?Ru(e,t):r.unmask(e,t)}}catch{}});var Lu=F((Nv,Iu)=>{"use strict";var Au=Symbol("kDone"),ra=Symbol("kRun"),na=class{constructor(e){this[Au]=()=>{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[Au])}}};Iu.exports=na});var us=F((Dv,Mu)=>{"use strict";var fs=require("zlib"),Nu=cs(),e0=Lu(),{kStatusCode:Du}=dr(),t0=Buffer[Symbol.species],r0=Buffer.from([0,0,255,255]),xi=Symbol("permessage-deflate"),pr=Symbol("total-length"),Pn=Symbol("callback"),Lr=Symbol("buffers"),Rn=Symbol("error"),bi,sa=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,!bi){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;bi=new e0(s)}}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[Pn];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(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.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 s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){bi.add(s=>{this._decompress(e,t,(i,a)=>{s(),n(i,a)})})}compress(e,t,n){bi.add(s=>{this._compress(e,t,(i,a)=>{s(),n(i,a)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=fs.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[xi]=this,this._inflate[pr]=0,this._inflate[Lr]=[],this._inflate.on("error",s0),this._inflate.on("data",Fu)}this._inflate[Pn]=n,this._inflate.write(e),t&&this._inflate.write(r0),this._inflate.flush(()=>{let i=this._inflate[Rn];if(i){this._inflate.close(),this._inflate=null,n(i);return}let a=Nu.concat(this._inflate[Lr],this._inflate[pr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[pr]=0,this._inflate[Lr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=fs.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[pr]=0,this._deflate[Lr]=[],this._deflate.on("data",n0)}this._deflate[Pn]=n,this._deflate.write(e),this._deflate.flush(fs.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Nu.concat(this._deflate[Lr],this._deflate[pr]);t&&(i=new t0(i.buffer,i.byteOffset,i.length-4)),this._deflate[Pn]=null,this._deflate[pr]=0,this._deflate[Lr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};Mu.exports=sa;function n0(r){this[Lr].push(r),this[pr]+=r.length}function Fu(r){if(this[pr]+=r.length,this[xi]._maxPayload<1||this[pr]<=this[xi]._maxPayload){this[Lr].push(r);return}this[Rn]=new RangeError("Max payload size exceeded"),this[Rn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Rn][Du]=1009,this.removeListener("data",Fu),this.reset()}function s0(r){if(this[xi]._inflate=null,this[Rn]){this[Pn](this[Rn]);return}r[Du]=1007,this[Pn](r)}});var An=F((Fv,Si)=>{"use strict";var{isUtf8:Bu}=require("buffer"),{hasBlob:i0}=dr(),o0=[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 a0(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function ia(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 c0(r){return i0&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}Si.exports={isBlob:c0,isValidStatusCode:a0,isValidUTF8:ia,tokenChars:o0};if(Bu)Si.exports.isValidUTF8=function(r){return r.length<24?ia(r):Bu(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");Si.exports.isValidUTF8=function(e){return e.length<32?ia(e):r(e)}}catch{}});var ua=F((Mv,Ku)=>{"use strict";var{Writable:f0}=require("stream"),ju=us(),{BINARY_TYPES:u0,EMPTY_BUFFER:Uu,kStatusCode:l0,kWebSocket:h0}=dr(),{concat:oa,toArrayBuffer:d0,unmask:p0}=cs(),{isValidStatusCode:g0,isValidUTF8:qu}=An(),Ti=Buffer[Symbol.species],It=0,Wu=1,Hu=2,Vu=3,aa=4,ca=5,Ci=6,fa=class extends f0{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||u0[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[h0]=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=It}_write(e,t,n){if(this._opcode===8&&this._state==It)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 Ti(n.buffer,n.byteOffset+e,n.length-e),new Ti(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Ti(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 It:this.getInfo(e);break;case Wu:this.getPayloadLength16(e);break;case Hu:this.getPayloadLength64(e);break;case Vu:this.getMask();break;case aa:this.getData(e);break;case ca:case Ci: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 s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[ju.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=Wu:this._payloadLength===127?this._state=Hu: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 s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);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=Vu:this._state=aa}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=aa}getData(e){let t=Uu;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&&p0(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=ca,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[ju.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.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(i)}this.dataMessage(t),this._state===It&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=It;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=oa(n,t):this._binaryType==="arraybuffer"?s=d0(oa(n,t)):this._binaryType==="blob"?s=new Blob(n):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!0),this._state=It,this.startLoop(e)}))}else{let s=oa(n,t);if(!this._skipUTF8Validation&&!qu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===ca||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Uu),this.end();else{let n=e.readUInt16BE(0);if(!g0(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Ti(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!qu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=i,a[l0]=s,a}};Ku.exports=fa});var da=F((jv,Gu)=>{"use strict";var{Duplex:Bv}=require("stream"),{randomFillSync:m0}=require("crypto"),$u=us(),{EMPTY_BUFFER:_0,kWebSocket:y0,NOOP:E0}=dr(),{isBlob:In,isValidStatusCode:v0}=An(),{mask:zu,toBuffer:Qr}=cs(),Lt=Symbol("kByteLength"),w0=Buffer.alloc(4),Oi=8*1024,en,Ln=Oi,jt=0,b0=1,x0=2,la=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=jt,this.onerror=E0,this[y0]=void 0}static frame(e,t){let n,s=!1,i=2,a=!1;t.mask&&(n=t.maskBuffer||w0,t.generateMask?t.generateMask(n):(Ln===Oi&&(en===void 0&&(en=Buffer.alloc(Oi)),m0(en,0,Oi),Ln=0),n[0]=en[Ln++],n[1]=en[Ln++],n[2]=en[Ln++],n[3]=en[Ln++]),a=(n[0]|n[1]|n[2]|n[3])===0,i=6);let c;typeof e=="string"?(!t.mask||a)&&t[Lt]!==void 0?c=t[Lt]:(e=Buffer.from(e),c=e.length):(c=e.length,s=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(i+=8,u=127):c>125&&(i+=2,u=126);let d=Buffer.allocUnsafe(s?c+i:i);return d[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,u===126?d.writeUInt16BE(c,2):u===127&&(d[2]=d[3]=0,d.writeUIntBE(c,4,6)),t.mask?(d[1]|=128,d[i-4]=n[0],d[i-3]=n[1],d[i-2]=n[2],d[i-1]=n[3],a?[d,e]:s?(zu(e,n,d,i,c),[d]):(zu(e,n,e,0,c),[d,e])):[d,e]}close(e,t,n,s){let i;if(e===void 0)i=_0;else{if(typeof e!="number"||!v0(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+c),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let a={[Lt]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==jt?this.enqueue([this.dispatch,i,!1,a,s]):this.sendFrame(r.frame(i,a),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let s=this._extensions[$u.extensionName],i=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):In(e)?(c=e.size,u=!1):(e=Qr(e),c=e.length,u=Qr.readOnly),this._firstFragment?(this._firstFragment=!1,a&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=s._threshold),this._compress=a):(a=!1,i=0),t.fin&&(this._firstFragment=!0);let d={[Lt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:u,rsv1:a};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,this._compress,d,n]):this.getBlobData(e,this._compress,d,n):this._state!==jt?this.enqueue([this.dispatch,e,this._compress,d,n]):this.dispatch(e,this._compress,d,n)}getBlobData(e,t,n,s){this._bufferedBytes+=n[Lt],this._state=x0,e.arrayBuffer().then(i=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(ha,this,c,s);return}this._bufferedBytes-=n[Lt];let a=Qr(i);t?this.dispatch(a,t,n,s):(this._state=jt,this.sendFrame(r.frame(a,n),s),this.dequeue())}).catch(i=>{process.nextTick(S0,this,i,s)})}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[$u.extensionName];this._bufferedBytes+=n[Lt],this._state=b0,i.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");ha(this,u,s);return}this._bufferedBytes-=n[Lt],this._state=jt,n.readOnly=!1,this.sendFrame(r.frame(c,n),s),this.dequeue()})}dequeue(){for(;this._state===jt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Lt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Lt],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)}};Gu.exports=la;function ha(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let s=r._queue[n],i=s[s.length-1];typeof i=="function"&&i(e)}}function S0(r,e,t){ha(r,e,t),r.onerror(e)}});var nl=F((Uv,rl)=>{"use strict";var{kForOnEventAttribute:ls,kListener:pa}=dr(),Yu=Symbol("kCode"),Xu=Symbol("kData"),Ju=Symbol("kError"),Zu=Symbol("kMessage"),Qu=Symbol("kReason"),Nn=Symbol("kTarget"),el=Symbol("kType"),tl=Symbol("kWasClean"),gr=class{constructor(e){this[Nn]=null,this[el]=e}get target(){return this[Nn]}get type(){return this[el]}};Object.defineProperty(gr.prototype,"target",{enumerable:!0});Object.defineProperty(gr.prototype,"type",{enumerable:!0});var tn=class extends gr{constructor(e,t={}){super(e),this[Yu]=t.code===void 0?0:t.code,this[Qu]=t.reason===void 0?"":t.reason,this[tl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Yu]}get reason(){return this[Qu]}get wasClean(){return this[tl]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Dn=class extends gr{constructor(e,t={}){super(e),this[Ju]=t.error===void 0?null:t.error,this[Zu]=t.message===void 0?"":t.message}get error(){return this[Ju]}get message(){return this[Zu]}};Object.defineProperty(Dn.prototype,"error",{enumerable:!0});Object.defineProperty(Dn.prototype,"message",{enumerable:!0});var hs=class extends gr{constructor(e,t={}){super(e),this[Xu]=t.data===void 0?null:t.data}get data(){return this[Xu]}};Object.defineProperty(hs.prototype,"data",{enumerable:!0});var T0={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[ls]&&s[pa]===e&&!s[ls])return;let n;if(r==="message")n=function(i,a){let c=new hs("message",{data:a?i:i.toString()});c[Nn]=this,ki(e,this,c)};else if(r==="close")n=function(i,a){let c=new tn("close",{code:i,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Nn]=this,ki(e,this,c)};else if(r==="error")n=function(i){let a=new Dn("error",{error:i,message:i.message});a[Nn]=this,ki(e,this,a)};else if(r==="open")n=function(){let i=new gr("open");i[Nn]=this,ki(e,this,i)};else return;n[ls]=!!t[ls],n[pa]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[pa]===e&&!t[ls]){this.removeListener(r,t);break}}};rl.exports={CloseEvent:tn,ErrorEvent:Dn,Event:gr,EventTarget:T0,MessageEvent:hs};function ki(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var ga=F((qv,sl)=>{"use strict";var{tokenChars:ds}=An();function Qt(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function C0(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,a,c,u=-1,d=-1,g=-1,m=0;for(;m<r.length;m++)if(d=r.charCodeAt(m),a===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(m!==0&&(d===32||d===9))g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);d===44?(Qt(e,w,t),t=Object.create(null)):a=w,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(d===32||d===9)g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m),Qt(t,r.slice(u,g),!0),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),u=g=-1}else if(d===61&&u!==-1&&g===-1)c=r.slice(u,m),u=g=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(s){if(ds[d]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),s=!1}else if(i)if(ds[d]===1)u===-1&&(u=m);else if(d===34&&u!==-1)i=!1,g=m;else if(d===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(d===34&&r.charCodeAt(m-1)===61)i=!0;else if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(u!==-1&&(d===32||d===9))g===-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);n&&(w=w.replace(/\\/g,""),n=!1),Qt(t,c,w),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||i||d===32||d===9)throw new SyntaxError("Unexpected end of input");g===-1&&(g=m);let y=r.slice(u,g);return a===void 0?Qt(e,y,t):(c===void 0?Qt(t,y,!0):n?Qt(t,c,y.replace(/\\/g,"")):Qt(t,c,y),Qt(e,a,t)),e}function O0(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(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(a=>a===!0?s:`${s}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}sl.exports={format:O0,parse:C0}});var Ii=F((Vv,ml)=>{"use strict";var k0=require("events"),P0=require("https"),R0=require("http"),al=require("net"),A0=require("tls"),{randomBytes:I0,createHash:L0}=require("crypto"),{Duplex:Wv,Readable:Hv}=require("stream"),{URL:ma}=require("url"),Nr=us(),N0=ua(),D0=da(),{isBlob:F0}=An(),{BINARY_TYPES:il,EMPTY_BUFFER:Pi,GUID:M0,kForOnEventAttribute:_a,kListener:B0,kStatusCode:j0,kWebSocket:nt,NOOP:cl}=dr(),{EventTarget:{addEventListener:U0,removeEventListener:q0}}=nl(),{format:W0,parse:H0}=ga(),{toBuffer:V0}=cs(),K0=30*1e3,fl=Symbol("kAborted"),ya=[8,13],mr=["CONNECTING","OPEN","CLOSING","CLOSED"],$0=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,qe=class r extends k0{constructor(e,t,n){super(),this._binaryType=il[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Pi,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]),ul(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){il.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 s=new N0({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),i=new D0(e,this._extensions,n.generateMask);this._receiver=s,this._sender=i,this._socket=e,s[nt]=this,i[nt]=this,e[nt]=this,s.on("conclude",Y0),s.on("drain",X0),s.on("error",J0),s.on("message",Z0),s.on("ping",Q0),s.on("pong",em),i.onerror=tm,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",dl),e.on("data",Ai),e.on("end",pl),e.on("error",gl),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[Nr.extensionName]&&this._extensions[Nr.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){Tt(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())}),hl(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){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Pi,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){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Pi,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){Ea(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Nr.extensionName]||(s.compress=!1),this._sender.send(e||Pi,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(qe,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe.prototype,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe.prototype,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe.prototype,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});Object.defineProperty(qe.prototype,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(qe.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(qe.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[_a])return e[B0];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})}})});qe.prototype.addEventListener=U0;qe.prototype.removeEventListener=q0;ml.exports=qe;function ul(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:ya[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=s.autoPong,!ya.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${ya.join(", ")})`);let i;if(e instanceof ma)i=e;else try{i=new ma(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let a=i.protocol==="wss:",c=i.protocol==="ws+unix:",u;if(i.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!i.pathname?u="The URL's pathname is empty":i.hash&&(u="The URL contains a fragment identifier"),u){let C=new SyntaxError(u);if(r._redirects===0)throw C;Ri(r,C);return}let d=a?443:80,g=I0(16).toString("base64"),m=a?P0.request:R0.request,y=new Set,w;if(s.createConnection=s.createConnection||(a?G0:z0),s.defaultPort=s.defaultPort||d,s.port=i.port||d,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(w=new Nr(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=W0({[Nr.extensionName]:w.offer()})),t.length){for(let C of t){if(typeof C!="string"||!$0.test(C)||y.has(C))throw new SyntaxError("An invalid or duplicated subprotocol was specified");y.add(C)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),c){let C=s.path.split(":");s.socketPath=C[0],s.path=C[1]}let S;if(s.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?s.socketPath:i.host;let C=n&&n.headers;if(n={...n,headers:{}},C)for(let[V,de]of Object.entries(C))n.headers[V.toLowerCase()]=de}else if(r.listenerCount("redirect")===0){let C=c?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!C||r._originalSecure&&!a)&&(delete s.headers.authorization,delete s.headers.cookie,C||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),S=r._req=m(s),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(s);s.timeout&&S.on("timeout",()=>{Tt(r,S,"Opening handshake has timed out")}),S.on("error",C=>{S===null||S[fl]||(S=r._req=null,Ri(r,C))}),S.on("response",C=>{let V=C.headers.location,de=C.statusCode;if(V&&s.followRedirects&&de>=300&&de<400){if(++r._redirects>s.maxRedirects){Tt(r,S,"Maximum redirects exceeded");return}S.abort();let B;try{B=new ma(V,e)}catch{let L=new SyntaxError(`Invalid URL: ${V}`);Ri(r,L);return}ul(r,B,t,n)}else r.emit("unexpected-response",S,C)||Tt(r,S,`Unexpected server response: ${C.statusCode}`)}),S.on("upgrade",(C,V,de)=>{if(r.emit("upgrade",C),r.readyState!==qe.CONNECTING)return;S=r._req=null;let B=C.headers.upgrade;if(B===void 0||B.toLowerCase()!=="websocket"){Tt(r,V,"Invalid Upgrade header");return}let P=L0("sha1").update(g+M0).digest("base64");if(C.headers["sec-websocket-accept"]!==P){Tt(r,V,"Invalid Sec-WebSocket-Accept header");return}let L=C.headers["sec-websocket-protocol"],Q;if(L!==void 0?y.size?y.has(L)||(Q="Server sent an invalid subprotocol"):Q="Server sent a subprotocol but none was requested":y.size&&(Q="Server sent no subprotocol"),Q){Tt(r,V,Q);return}L&&(r._protocol=L);let j=C.headers["sec-websocket-extensions"];if(j!==void 0){if(!w){Tt(r,V,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Z;try{Z=H0(j)}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}let pe=Object.keys(Z);if(pe.length!==1||pe[0]!==Nr.extensionName){Tt(r,V,"Server indicated an extension that was not requested");return}try{w.accept(Z[Nr.extensionName])}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Nr.extensionName]=w}r.setSocket(V,de,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(S,r):S.end()}function Ri(r,e){r._readyState=qe.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function z0(r){return r.path=r.socketPath,al.connect(r)}function G0(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=al.isIP(r.host)?"":r.host),A0.connect(r)}function Tt(r,e,t){r._readyState=qe.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Tt),e.setHeader?(e[fl]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Ri,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ea(r,e,t){if(e){let n=F0(e)?e.size:V0(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${mr[r.readyState]})`);process.nextTick(t,n)}}function Y0(r,e){let t=this[nt];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[nt]!==void 0&&(t._socket.removeListener("data",Ai),process.nextTick(ll,t._socket),r===1005?t.close():t.close(r,e))}function X0(){let r=this[nt];r.isPaused||r._socket.resume()}function J0(r){let e=this[nt];e._socket[nt]!==void 0&&(e._socket.removeListener("data",Ai),process.nextTick(ll,e._socket),e.close(r[j0])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function ol(){this[nt].emitClose()}function Z0(r,e){this[nt].emit("message",r,e)}function Q0(r){let e=this[nt];e._autoPong&&e.pong(r,!this._isServer,cl),e.emit("ping",r)}function em(r){this[nt].emit("pong",r)}function ll(r){r.resume()}function tm(r){let e=this[nt];e.readyState!==qe.CLOSED&&(e.readyState===qe.OPEN&&(e._readyState=qe.CLOSING,hl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function hl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),K0)}function dl(){let r=this[nt];this.removeListener("close",dl),this.removeListener("data",Ai),this.removeListener("end",pl),r._readyState=qe.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[nt]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",ol),r._receiver.on("finish",ol))}function Ai(r){this[nt]._receiver.write(r)||this.pause()}function pl(){let r=this[nt];r._readyState=qe.CLOSING,r._receiver.end(),this.end()}function gl(){let r=this[nt];this.removeListener("error",gl),this.on("error",cl),r&&(r._readyState=qe.CLOSING,this.destroy())}});var vl=F(($v,El)=>{"use strict";var Kv=Ii(),{Duplex:rm}=require("stream");function _l(r){r.emit("close")}function nm(){!this.destroyed&&this._writableState.finished&&this.destroy()}function yl(r){this.removeListener("error",yl),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function sm(r,e){let t=!0,n=new rm({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,a){let c=!a&&n._readableState.objectMode?i.toString():i;n.push(c)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(_l,n);return}let a=!1;r.once("error",function(u){a=!0,i(u)}),r.once("close",function(){a||i(s),process.nextTick(_l,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,a)});return}r.send(s,a)},n.on("end",nm),n.on("error",yl),n}El.exports=sm});var bl=F((zv,wl)=>{"use strict";var{tokenChars:im}=An();function om(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let a=r.charCodeAt(s);if(n===-1&&im[a]===1)t===-1&&(t=s);else if(s!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=s);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);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 ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}wl.exports={parse:om}});var Pl=F((Yv,kl)=>{"use strict";var am=require("events"),Li=require("http"),{Duplex:Gv}=require("stream"),{createHash:cm}=require("crypto"),xl=ga(),rn=us(),fm=bl(),um=Ii(),{GUID:lm,kWebSocket:hm}=dr(),dm=/^[+/0-9A-Za-z]{22}==$/,Sl=0,Tl=1,Ol=2,va=class extends am{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:um,...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=Li.createServer((n,s)=>{let i=Li.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),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=pm(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,a)=>{this.handleUpgrade(s,i,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Sl}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===Ol){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ps,this);return}if(e&&this.once("close",e),this._state!==Tl)if(this._state=Tl,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(ps,this):process.nextTick(ps,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{ps(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,s){t.on("error",Cl);let i=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){nn(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!dm.test(i)){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){gs(t,400);return}let u=e.headers["sec-websocket-protocol"],d=new Set;if(u!==void 0)try{d=fm.parse(u)}catch{nn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let g=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&g!==void 0){let y=new rn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let w=xl.parse(g);w[rn.extensionName]&&(y.accept(w[rn.extensionName]),m[rn.extensionName]=y)}catch{nn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let y={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(y,(w,S,C,V)=>{if(!w)return gs(t,S||401,C,V);this.completeUpgrade(m,i,d,e,t,n,s)});return}if(!this.options.verifyClient(y))return gs(t,401)}this.completeUpgrade(m,i,d,e,t,n,s)}completeUpgrade(e,t,n,s,i,a,c){if(!i.readable||!i.writable)return i.destroy();if(i[hm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Sl)return gs(i,503);let d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${cm("sha1").update(t+lm).digest("base64")}`],g=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;m&&(d.push(`Sec-WebSocket-Protocol: ${m}`),g._protocol=m)}if(e[rn.extensionName]){let m=e[rn.extensionName].params,y=xl.format({[rn.extensionName]:[m]});d.push(`Sec-WebSocket-Extensions: ${y}`),g._extensions=e}this.emit("headers",d,s),i.write(d.concat(`\r
18
+ `+i),r.push(s+"m+"+_i.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=Cg()+e+" "+r[0]}function Cg(){return rt.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Og(...r){return process.stderr.write(mi.formatWithOptions(rt.inspectOpts,...r)+`
19
+ `)}function kg(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function Pg(){return process.env.DEBUG}function Rg(r){r.inspectOpts={};let e=Object.keys(rt.inspectOpts);for(let t=0;t<e.length;t++)r.inspectOpts[e[t]]=rt.inspectOpts[e[t]]}_i.exports=Wo()(rt);var{formatters:gu}=_i.exports;gu.o=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts).split(`
20
+ `).map(e=>e.trim()).join(" ")};gu.O=function(r){return this.inspectOpts.colors=this.useColors,mi.inspect(r,this.inspectOpts)}});var At=F((kv,Ko)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ko.exports=fu():Ko.exports=mu()});var as=F(Ir=>{"use strict";var Ag=Ir&&Ir.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Ir,"__esModule",{value:!0});Ir.Transport=Ir.TransportError=void 0;var Ig=xn(),Lg=Yr(),Ng=Jr(),Dg=qo(),Fg=Ag(At()),Mg=(0,Fg.default)("engine.io-client:transport"),yi=class extends Error{constructor(e,t,n){super(e),this.description=t,this.context=n,this.type="TransportError"}};Ir.TransportError=yi;var zo=class extends Lg.Emitter{constructor(e){super(),this.writable=!1,(0,Ng.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 yi(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):Mg("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){let t=(0,Ig.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,Dg.encode)(e);return t.length?"?"+t:""}};Ir.Transport=zo});var Go=F(kn=>{"use strict";var Bg=kn&&kn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(kn,"__esModule",{value:!0});kn.Polling=void 0;var jg=as(),Ug=Jr(),_u=xn(),qg=Bg(At()),Bt=(0,qg.default)("engine.io-client:polling"),$o=class extends jg.Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(e){this.readyState="pausing";let t=()=>{Bt("paused"),this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(Bt("we are currently polling - waiting to pause"),n++,this.once("pollComplete",function(){Bt("pre-pause polling complete"),--n||t()})),this.writable||(Bt("we are currently writing - waiting to pause"),n++,this.once("drain",function(){Bt("pre-pause writing complete"),--n||t()}))}else t()}_poll(){Bt("polling"),this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){Bt("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,_u.decodePayload)(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"?this._poll():Bt('ignoring poll - transport state "%s"',this.readyState))}doClose(){let e=()=>{Bt("writing close packet"),this.write([{type:"close"}])};this.readyState==="open"?(Bt("transport open - closing"),e()):(Bt("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,_u.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,Ug.randomString)()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};kn.Polling=$o});var Eu=F(Ei=>{"use strict";Object.defineProperty(Ei,"__esModule",{value:!0});Ei.hasCORS=void 0;var yu=!1;try{yu=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}Ei.hasCORS=yu});var Jo=F(Jt=>{"use strict";var Wg=Jt&&Jt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Jt,"__esModule",{value:!0});Jt.XHR=Jt.Request=Jt.BaseXHR=void 0;var Hg=Go(),Vg=Yr(),vu=Jr(),bu=Xr(),Kg=Eu(),zg=Wg(At()),Yo=(0,zg.default)("engine.io-client:polling");function $g(){}var vi=class extends Hg.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",(s,i)=>{this.onError("xhr post error",s,i)})}doPoll(){Yo("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}};Jt.BaseXHR=vi;var hr=class r extends Vg.Emitter{constructor(e,t,n){super(),this.createRequest=e,(0,vu.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,vu.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{Yo("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 s in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(s)&&n.setRequestHeader(s,this._opts.extraHeaders[s])}}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 s;n.readyState===3&&((s=this._opts.cookieJar)===null||s===void 0||s.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))},Yo("xhr data %s",this._data),n.send(this._data)}catch(s){this.setTimeoutFn(()=>{this._onError(s)},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=$g,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()}};Jt.Request=hr;hr.requestsCount=0;hr.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",wu);else if(typeof addEventListener=="function"){let r="onpagehide"in bu.globalThisShim?"pagehide":"unload";addEventListener(r,wu,!1)}}function wu(){for(let r in hr.requests)hr.requests.hasOwnProperty(r)&&hr.requests[r].abort()}var Gg=(function(){let r=xu({xdomain:!1});return r&&r.responseType!==null})(),Xo=class extends vi{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=Gg&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new hr(xu,this.uri(),e)}};Jt.XHR=Xo;function xu(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||Kg.hasCORS))return new XMLHttpRequest}catch{}if(!e)try{return new bu.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}});var Qo=F(Zt=>{"use strict";var Yg=Zt&&Zt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),Xg=Zt&&Zt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Jg=Zt&&Zt.__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)&&Yg(e,r,t);return Xg(e,r),e};Object.defineProperty(Zt,"__esModule",{value:!0});Zt.XHR=void 0;var Su=Jg(Xf()),Tu=Jo(),Zg=Su.default||Su,Zo=class extends Tu.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 Tu.Request(n=>new Zg(n),this.uri(),e)}};Zt.XHR=Zo});var dr=F((Nv,ku)=>{"use strict";var Cu=["nodebuffer","arraybuffer","fragments"],Ou=typeof Blob<"u";Ou&&Cu.push("blob");ku.exports={BINARY_TYPES:Cu,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Ou,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var cs=F((Dv,wi)=>{"use strict";var{EMPTY_BUFFER:Qg}=dr(),ea=Buffer[Symbol.species];function em(r,e){if(r.length===0)return Qg;if(r.length===1)return r[0];let t=Buffer.allocUnsafe(e),n=0;for(let s=0;s<r.length;s++){let i=r[s];t.set(i,n),n+=i.length}return n<e?new ea(t.buffer,t.byteOffset,n):t}function Pu(r,e,t,n,s){for(let i=0;i<s;i++)t[n+i]=r[i]^e[i&3]}function Ru(r,e){for(let t=0;t<r.length;t++)r[t]^=e[t&3]}function tm(r){return r.length===r.buffer.byteLength?r.buffer:r.buffer.slice(r.byteOffset,r.byteOffset+r.length)}function ta(r){if(ta.readOnly=!0,Buffer.isBuffer(r))return r;let e;return r instanceof ArrayBuffer?e=new ea(r):ArrayBuffer.isView(r)?e=new ea(r.buffer,r.byteOffset,r.byteLength):(e=Buffer.from(r),ta.readOnly=!1),e}wi.exports={concat:em,mask:Pu,toArrayBuffer:tm,toBuffer:ta,unmask:Ru};if(!process.env.WS_NO_BUFFER_UTIL)try{let r=require("bufferutil");wi.exports.mask=function(e,t,n,s,i){i<48?Pu(e,t,n,s,i):r.mask(e,t,n,s,i)},wi.exports.unmask=function(e,t){e.length<32?Ru(e,t):r.unmask(e,t)}}catch{}});var Lu=F((Fv,Iu)=>{"use strict";var Au=Symbol("kDone"),ra=Symbol("kRun"),na=class{constructor(e){this[Au]=()=>{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[Au])}}};Iu.exports=na});var us=F((Mv,Mu)=>{"use strict";var fs=require("zlib"),Nu=cs(),rm=Lu(),{kStatusCode:Du}=dr(),nm=Buffer[Symbol.species],sm=Buffer.from([0,0,255,255]),xi=Symbol("permessage-deflate"),pr=Symbol("total-length"),Pn=Symbol("callback"),Lr=Symbol("buffers"),Rn=Symbol("error"),bi,sa=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,!bi){let s=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;bi=new rm(s)}}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[Pn];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(s=>!(t.serverNoContextTakeover===!1&&s.server_no_context_takeover||s.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>s.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!s.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 s=t[n];if(s.length>1)throw new Error(`Parameter "${n}" must have only a single value`);if(s=s[0],n==="client_max_window_bits"){if(s!==!0){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else if(n==="server_max_window_bits"){let i=+s;if(!Number.isInteger(i)||i<8||i>15)throw new TypeError(`Invalid value for parameter "${n}": ${s}`);s=i}else if(n==="client_no_context_takeover"||n==="server_no_context_takeover"){if(s!==!0)throw new TypeError(`Invalid value for parameter "${n}": ${s}`)}else throw new Error(`Unknown parameter "${n}"`);t[n]=s})}),e}decompress(e,t,n){bi.add(s=>{this._decompress(e,t,(i,a)=>{s(),n(i,a)})})}compress(e,t,n){bi.add(s=>{this._compress(e,t,(i,a)=>{s(),n(i,a)})})}_decompress(e,t,n){let s=this._isServer?"client":"server";if(!this._inflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._inflate=fs.createInflateRaw({...this._options.zlibInflateOptions,windowBits:a}),this._inflate[xi]=this,this._inflate[pr]=0,this._inflate[Lr]=[],this._inflate.on("error",om),this._inflate.on("data",Fu)}this._inflate[Pn]=n,this._inflate.write(e),t&&this._inflate.write(sm),this._inflate.flush(()=>{let i=this._inflate[Rn];if(i){this._inflate.close(),this._inflate=null,n(i);return}let a=Nu.concat(this._inflate[Lr],this._inflate[pr]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[pr]=0,this._inflate[Lr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._inflate.reset()),n(null,a)})}_compress(e,t,n){let s=this._isServer?"server":"client";if(!this._deflate){let i=`${s}_max_window_bits`,a=typeof this.params[i]!="number"?fs.Z_DEFAULT_WINDOWBITS:this.params[i];this._deflate=fs.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:a}),this._deflate[pr]=0,this._deflate[Lr]=[],this._deflate.on("data",im)}this._deflate[Pn]=n,this._deflate.write(e),this._deflate.flush(fs.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let i=Nu.concat(this._deflate[Lr],this._deflate[pr]);t&&(i=new nm(i.buffer,i.byteOffset,i.length-4)),this._deflate[Pn]=null,this._deflate[pr]=0,this._deflate[Lr]=[],t&&this.params[`${s}_no_context_takeover`]&&this._deflate.reset(),n(null,i)})}};Mu.exports=sa;function im(r){this[Lr].push(r),this[pr]+=r.length}function Fu(r){if(this[pr]+=r.length,this[xi]._maxPayload<1||this[pr]<=this[xi]._maxPayload){this[Lr].push(r);return}this[Rn]=new RangeError("Max payload size exceeded"),this[Rn].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[Rn][Du]=1009,this.removeListener("data",Fu),this.reset()}function om(r){if(this[xi]._inflate=null,this[Rn]){this[Pn](this[Rn]);return}r[Du]=1007,this[Pn](r)}});var An=F((Bv,Si)=>{"use strict";var{isUtf8:Bu}=require("buffer"),{hasBlob:am}=dr(),cm=[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 fm(r){return r>=1e3&&r<=1014&&r!==1004&&r!==1005&&r!==1006||r>=3e3&&r<=4999}function ia(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 um(r){return am&&typeof r=="object"&&typeof r.arrayBuffer=="function"&&typeof r.type=="string"&&typeof r.stream=="function"&&(r[Symbol.toStringTag]==="Blob"||r[Symbol.toStringTag]==="File")}Si.exports={isBlob:um,isValidStatusCode:fm,isValidUTF8:ia,tokenChars:cm};if(Bu)Si.exports.isValidUTF8=function(r){return r.length<24?ia(r):Bu(r)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let r=require("utf-8-validate");Si.exports.isValidUTF8=function(e){return e.length<32?ia(e):r(e)}}catch{}});var ua=F((jv,Ku)=>{"use strict";var{Writable:lm}=require("stream"),ju=us(),{BINARY_TYPES:hm,EMPTY_BUFFER:Uu,kStatusCode:dm,kWebSocket:pm}=dr(),{concat:oa,toArrayBuffer:gm,unmask:mm}=cs(),{isValidStatusCode:_m,isValidUTF8:qu}=An(),Ti=Buffer[Symbol.species],It=0,Wu=1,Hu=2,Vu=3,aa=4,ca=5,Ci=6,fa=class extends lm{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||hm[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[pm]=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=It}_write(e,t,n){if(this._opcode===8&&this._state==It)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 Ti(n.buffer,n.byteOffset+e,n.length-e),new Ti(n.buffer,n.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let n=this._buffers[0],s=t.length-e;e>=n.length?t.set(this._buffers.shift(),s):(t.set(new Uint8Array(n.buffer,n.byteOffset,e),s),this._buffers[0]=new Ti(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 It:this.getInfo(e);break;case Wu:this.getPayloadLength16(e);break;case Hu:this.getPayloadLength64(e);break;case Vu:this.getMask();break;case aa:this.getData(e);break;case ca:case Ci: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 s=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(s);return}let n=(t[0]&64)===64;if(n&&!this._extensions[ju.extensionName]){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(!this._fragmented){let s=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}this._compressed=n}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let s=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(s);return}if(n){let s=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(s);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let s=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(s);return}}else{let s=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(s);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let s=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(s);return}}else if(this._masked){let s=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(s);return}this._payloadLength===126?this._state=Wu:this._payloadLength===127?this._state=Hu: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 s=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(s);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=Vu:this._state=aa}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=aa}getData(e){let t=Uu;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&&mm(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=ca,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[ju.extensionName].decompress(e,this._fin,(s,i)=>{if(s)return t(s);if(i.length){if(this._messageLength+=i.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(i)}this.dataMessage(t),this._state===It&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=It;return}let t=this._messageLength,n=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let s;this._binaryType==="nodebuffer"?s=oa(n,t):this._binaryType==="arraybuffer"?s=gm(oa(n,t)):this._binaryType==="blob"?s=new Blob(n):s=n,this._allowSynchronousEvents?(this.emit("message",s,!0),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!0),this._state=It,this.startLoop(e)}))}else{let s=oa(n,t);if(!this._skipUTF8Validation&&!qu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(i);return}this._state===ca||this._allowSynchronousEvents?(this.emit("message",s,!1),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit("message",s,!1),this._state=It,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Uu),this.end();else{let n=e.readUInt16BE(0);if(!_m(n)){let i=this.createError(RangeError,`invalid status code ${n}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(i);return}let s=new Ti(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!qu(s)){let i=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(i);return}this._loop=!1,this.emit("conclude",n,s),this.end()}this._state=It;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=It):(this._state=Ci,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=It,this.startLoop(t)}))}createError(e,t,n,s,i){this._loop=!1,this._errored=!0;let a=new e(n?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(a,this.createError),a.code=i,a[dm]=s,a}};Ku.exports=fa});var da=F((qv,Gu)=>{"use strict";var{Duplex:Uv}=require("stream"),{randomFillSync:ym}=require("crypto"),zu=us(),{EMPTY_BUFFER:Em,kWebSocket:vm,NOOP:wm}=dr(),{isBlob:In,isValidStatusCode:bm}=An(),{mask:$u,toBuffer:Qr}=cs(),Lt=Symbol("kByteLength"),xm=Buffer.alloc(4),Oi=8*1024,en,Ln=Oi,jt=0,Sm=1,Tm=2,la=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=jt,this.onerror=wm,this[vm]=void 0}static frame(e,t){let n,s=!1,i=2,a=!1;t.mask&&(n=t.maskBuffer||xm,t.generateMask?t.generateMask(n):(Ln===Oi&&(en===void 0&&(en=Buffer.alloc(Oi)),ym(en,0,Oi),Ln=0),n[0]=en[Ln++],n[1]=en[Ln++],n[2]=en[Ln++],n[3]=en[Ln++]),a=(n[0]|n[1]|n[2]|n[3])===0,i=6);let c;typeof e=="string"?(!t.mask||a)&&t[Lt]!==void 0?c=t[Lt]:(e=Buffer.from(e),c=e.length):(c=e.length,s=t.mask&&t.readOnly&&!a);let u=c;c>=65536?(i+=8,u=127):c>125&&(i+=2,u=126);let d=Buffer.allocUnsafe(s?c+i:i);return d[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,u===126?d.writeUInt16BE(c,2):u===127&&(d[2]=d[3]=0,d.writeUIntBE(c,4,6)),t.mask?(d[1]|=128,d[i-4]=n[0],d[i-3]=n[1],d[i-2]=n[2],d[i-1]=n[3],a?[d,e]:s?($u(e,n,d,i,c),[d]):($u(e,n,e,0,c),[d,e])):[d,e]}close(e,t,n,s){let i;if(e===void 0)i=Em;else{if(typeof e!="number"||!bm(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)i=Buffer.allocUnsafe(2),i.writeUInt16BE(e,0);else{let c=Buffer.byteLength(t);if(c>123)throw new RangeError("The message must not be greater than 123 bytes");i=Buffer.allocUnsafe(2+c),i.writeUInt16BE(e,0),typeof t=="string"?i.write(t,2):i.set(t,2)}}let a={[Lt]:i.length,fin:!0,generateMask:this._generateMask,mask:n,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==jt?this.enqueue([this.dispatch,i,!1,a,s]):this.sendFrame(r.frame(i,a),s)}ping(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}pong(e,t,n){let s,i;if(typeof e=="string"?(s=Buffer.byteLength(e),i=!1):In(e)?(s=e.size,i=!1):(e=Qr(e),s=e.length,i=Qr.readOnly),s>125)throw new RangeError("The data size must not be greater than 125 bytes");let a={[Lt]:s,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:i,rsv1:!1};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,!1,a,n]):this.getBlobData(e,!1,a,n):this._state!==jt?this.enqueue([this.dispatch,e,!1,a,n]):this.sendFrame(r.frame(e,a),n)}send(e,t,n){let s=this._extensions[zu.extensionName],i=t.binary?2:1,a=t.compress,c,u;typeof e=="string"?(c=Buffer.byteLength(e),u=!1):In(e)?(c=e.size,u=!1):(e=Qr(e),c=e.length,u=Qr.readOnly),this._firstFragment?(this._firstFragment=!1,a&&s&&s.params[s._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(a=c>=s._threshold),this._compress=a):(a=!1,i=0),t.fin&&(this._firstFragment=!0);let d={[Lt]:c,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:i,readOnly:u,rsv1:a};In(e)?this._state!==jt?this.enqueue([this.getBlobData,e,this._compress,d,n]):this.getBlobData(e,this._compress,d,n):this._state!==jt?this.enqueue([this.dispatch,e,this._compress,d,n]):this.dispatch(e,this._compress,d,n)}getBlobData(e,t,n,s){this._bufferedBytes+=n[Lt],this._state=Tm,e.arrayBuffer().then(i=>{if(this._socket.destroyed){let c=new Error("The socket was closed while the blob was being read");process.nextTick(ha,this,c,s);return}this._bufferedBytes-=n[Lt];let a=Qr(i);t?this.dispatch(a,t,n,s):(this._state=jt,this.sendFrame(r.frame(a,n),s),this.dequeue())}).catch(i=>{process.nextTick(Cm,this,i,s)})}dispatch(e,t,n,s){if(!t){this.sendFrame(r.frame(e,n),s);return}let i=this._extensions[zu.extensionName];this._bufferedBytes+=n[Lt],this._state=Sm,i.compress(e,n.fin,(a,c)=>{if(this._socket.destroyed){let u=new Error("The socket was closed while data was being compressed");ha(this,u,s);return}this._bufferedBytes-=n[Lt],this._state=jt,n.readOnly=!1,this.sendFrame(r.frame(c,n),s),this.dequeue()})}dequeue(){for(;this._state===jt&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][Lt],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][Lt],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)}};Gu.exports=la;function ha(r,e,t){typeof t=="function"&&t(e);for(let n=0;n<r._queue.length;n++){let s=r._queue[n],i=s[s.length-1];typeof i=="function"&&i(e)}}function Cm(r,e,t){ha(r,e,t),r.onerror(e)}});var nl=F((Wv,rl)=>{"use strict";var{kForOnEventAttribute:ls,kListener:pa}=dr(),Yu=Symbol("kCode"),Xu=Symbol("kData"),Ju=Symbol("kError"),Zu=Symbol("kMessage"),Qu=Symbol("kReason"),Nn=Symbol("kTarget"),el=Symbol("kType"),tl=Symbol("kWasClean"),gr=class{constructor(e){this[Nn]=null,this[el]=e}get target(){return this[Nn]}get type(){return this[el]}};Object.defineProperty(gr.prototype,"target",{enumerable:!0});Object.defineProperty(gr.prototype,"type",{enumerable:!0});var tn=class extends gr{constructor(e,t={}){super(e),this[Yu]=t.code===void 0?0:t.code,this[Qu]=t.reason===void 0?"":t.reason,this[tl]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[Yu]}get reason(){return this[Qu]}get wasClean(){return this[tl]}};Object.defineProperty(tn.prototype,"code",{enumerable:!0});Object.defineProperty(tn.prototype,"reason",{enumerable:!0});Object.defineProperty(tn.prototype,"wasClean",{enumerable:!0});var Dn=class extends gr{constructor(e,t={}){super(e),this[Ju]=t.error===void 0?null:t.error,this[Zu]=t.message===void 0?"":t.message}get error(){return this[Ju]}get message(){return this[Zu]}};Object.defineProperty(Dn.prototype,"error",{enumerable:!0});Object.defineProperty(Dn.prototype,"message",{enumerable:!0});var hs=class extends gr{constructor(e,t={}){super(e),this[Xu]=t.data===void 0?null:t.data}get data(){return this[Xu]}};Object.defineProperty(hs.prototype,"data",{enumerable:!0});var Om={addEventListener(r,e,t={}){for(let s of this.listeners(r))if(!t[ls]&&s[pa]===e&&!s[ls])return;let n;if(r==="message")n=function(i,a){let c=new hs("message",{data:a?i:i.toString()});c[Nn]=this,ki(e,this,c)};else if(r==="close")n=function(i,a){let c=new tn("close",{code:i,reason:a.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});c[Nn]=this,ki(e,this,c)};else if(r==="error")n=function(i){let a=new Dn("error",{error:i,message:i.message});a[Nn]=this,ki(e,this,a)};else if(r==="open")n=function(){let i=new gr("open");i[Nn]=this,ki(e,this,i)};else return;n[ls]=!!t[ls],n[pa]=e,t.once?this.once(r,n):this.on(r,n)},removeEventListener(r,e){for(let t of this.listeners(r))if(t[pa]===e&&!t[ls]){this.removeListener(r,t);break}}};rl.exports={CloseEvent:tn,ErrorEvent:Dn,Event:gr,EventTarget:Om,MessageEvent:hs};function ki(r,e,t){typeof r=="object"&&r.handleEvent?r.handleEvent.call(r,t):r.call(e,t)}});var ga=F((Hv,sl)=>{"use strict";var{tokenChars:ds}=An();function Qt(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}function km(r){let e=Object.create(null),t=Object.create(null),n=!1,s=!1,i=!1,a,c,u=-1,d=-1,g=-1,m=0;for(;m<r.length;m++)if(d=r.charCodeAt(m),a===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(m!==0&&(d===32||d===9))g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);d===44?(Qt(e,w,t),t=Object.create(null)):a=w,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);else if(c===void 0)if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(d===32||d===9)g===-1&&u!==-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m),Qt(t,r.slice(u,g),!0),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),u=g=-1}else if(d===61&&u!==-1&&g===-1)c=r.slice(u,m),u=g=-1;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(s){if(ds[d]!==1)throw new SyntaxError(`Unexpected character at index ${m}`);u===-1?u=m:n||(n=!0),s=!1}else if(i)if(ds[d]===1)u===-1&&(u=m);else if(d===34&&u!==-1)i=!1,g=m;else if(d===92)s=!0;else throw new SyntaxError(`Unexpected character at index ${m}`);else if(d===34&&r.charCodeAt(m-1)===61)i=!0;else if(g===-1&&ds[d]===1)u===-1&&(u=m);else if(u!==-1&&(d===32||d===9))g===-1&&(g=m);else if(d===59||d===44){if(u===-1)throw new SyntaxError(`Unexpected character at index ${m}`);g===-1&&(g=m);let w=r.slice(u,g);n&&(w=w.replace(/\\/g,""),n=!1),Qt(t,c,w),d===44&&(Qt(e,a,t),t=Object.create(null),a=void 0),c=void 0,u=g=-1}else throw new SyntaxError(`Unexpected character at index ${m}`);if(u===-1||i||d===32||d===9)throw new SyntaxError("Unexpected end of input");g===-1&&(g=m);let y=r.slice(u,g);return a===void 0?Qt(e,y,t):(c===void 0?Qt(t,y,!0):n?Qt(t,c,y.replace(/\\/g,"")):Qt(t,c,y),Qt(e,a,t)),e}function Pm(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(s=>{let i=n[s];return Array.isArray(i)||(i=[i]),i.map(a=>a===!0?s:`${s}=${a}`).join("; ")})).join("; ")).join(", ")}).join(", ")}sl.exports={format:Pm,parse:km}});var Ii=F((zv,ml)=>{"use strict";var Rm=require("events"),Am=require("https"),Im=require("http"),al=require("net"),Lm=require("tls"),{randomBytes:Nm,createHash:Dm}=require("crypto"),{Duplex:Vv,Readable:Kv}=require("stream"),{URL:ma}=require("url"),Nr=us(),Fm=ua(),Mm=da(),{isBlob:Bm}=An(),{BINARY_TYPES:il,EMPTY_BUFFER:Pi,GUID:jm,kForOnEventAttribute:_a,kListener:Um,kStatusCode:qm,kWebSocket:nt,NOOP:cl}=dr(),{EventTarget:{addEventListener:Wm,removeEventListener:Hm}}=nl(),{format:Vm,parse:Km}=ga(),{toBuffer:zm}=cs(),$m=30*1e3,fl=Symbol("kAborted"),ya=[8,13],mr=["CONNECTING","OPEN","CLOSING","CLOSED"],Gm=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,qe=class r extends Rm{constructor(e,t,n){super(),this._binaryType=il[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Pi,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]),ul(this,e,t,n)):(this._autoPong=n.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){il.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 s=new Fm({allowSynchronousEvents:n.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation}),i=new Mm(e,this._extensions,n.generateMask);this._receiver=s,this._sender=i,this._socket=e,s[nt]=this,i[nt]=this,e[nt]=this,s.on("conclude",Jm),s.on("drain",Zm),s.on("error",Qm),s.on("message",e0),s.on("ping",t0),s.on("pong",r0),i.onerror=n0,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",dl),e.on("data",Ai),e.on("end",pl),e.on("error",gl),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[Nr.extensionName]&&this._extensions[Nr.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){Tt(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())}),hl(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){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Pi,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){Ea(this,e,n);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Pi,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){Ea(this,e,n);return}let s={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Nr.extensionName]||(s.compress=!1),this._sender.send(e||Pi,s,n)}terminate(){if(this.readyState!==r.CLOSED){if(this.readyState===r.CONNECTING){Tt(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=r.CLOSING,this._socket.destroy())}}};Object.defineProperty(qe,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe.prototype,"CONNECTING",{enumerable:!0,value:mr.indexOf("CONNECTING")});Object.defineProperty(qe,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe.prototype,"OPEN",{enumerable:!0,value:mr.indexOf("OPEN")});Object.defineProperty(qe,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe.prototype,"CLOSING",{enumerable:!0,value:mr.indexOf("CLOSING")});Object.defineProperty(qe,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});Object.defineProperty(qe.prototype,"CLOSED",{enumerable:!0,value:mr.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(r=>{Object.defineProperty(qe.prototype,r,{enumerable:!0})});["open","error","close","message"].forEach(r=>{Object.defineProperty(qe.prototype,`on${r}`,{enumerable:!0,get(){for(let e of this.listeners(r))if(e[_a])return e[Um];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})}})});qe.prototype.addEventListener=Wm;qe.prototype.removeEventListener=Hm;ml.exports=qe;function ul(r,e,t,n){let s={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:ya[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=s.autoPong,!ya.includes(s.protocolVersion))throw new RangeError(`Unsupported protocol version: ${s.protocolVersion} (supported versions: ${ya.join(", ")})`);let i;if(e instanceof ma)i=e;else try{i=new ma(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}i.protocol==="http:"?i.protocol="ws:":i.protocol==="https:"&&(i.protocol="wss:"),r._url=i.href;let a=i.protocol==="wss:",c=i.protocol==="ws+unix:",u;if(i.protocol!=="ws:"&&!a&&!c?u=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:c&&!i.pathname?u="The URL's pathname is empty":i.hash&&(u="The URL contains a fragment identifier"),u){let C=new SyntaxError(u);if(r._redirects===0)throw C;Ri(r,C);return}let d=a?443:80,g=Nm(16).toString("base64"),m=a?Am.request:Im.request,y=new Set,w;if(s.createConnection=s.createConnection||(a?Xm:Ym),s.defaultPort=s.defaultPort||d,s.port=i.port||d,s.host=i.hostname.startsWith("[")?i.hostname.slice(1,-1):i.hostname,s.headers={...s.headers,"Sec-WebSocket-Version":s.protocolVersion,"Sec-WebSocket-Key":g,Connection:"Upgrade",Upgrade:"websocket"},s.path=i.pathname+i.search,s.timeout=s.handshakeTimeout,s.perMessageDeflate&&(w=new Nr(s.perMessageDeflate!==!0?s.perMessageDeflate:{},!1,s.maxPayload),s.headers["Sec-WebSocket-Extensions"]=Vm({[Nr.extensionName]:w.offer()})),t.length){for(let C of t){if(typeof C!="string"||!Gm.test(C)||y.has(C))throw new SyntaxError("An invalid or duplicated subprotocol was specified");y.add(C)}s.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(s.origin&&(s.protocolVersion<13?s.headers["Sec-WebSocket-Origin"]=s.origin:s.headers.Origin=s.origin),(i.username||i.password)&&(s.auth=`${i.username}:${i.password}`),c){let C=s.path.split(":");s.socketPath=C[0],s.path=C[1]}let S;if(s.followRedirects){if(r._redirects===0){r._originalIpc=c,r._originalSecure=a,r._originalHostOrSocketPath=c?s.socketPath:i.host;let C=n&&n.headers;if(n={...n,headers:{}},C)for(let[V,de]of Object.entries(C))n.headers[V.toLowerCase()]=de}else if(r.listenerCount("redirect")===0){let C=c?r._originalIpc?s.socketPath===r._originalHostOrSocketPath:!1:r._originalIpc?!1:i.host===r._originalHostOrSocketPath;(!C||r._originalSecure&&!a)&&(delete s.headers.authorization,delete s.headers.cookie,C||delete s.headers.host,s.auth=void 0)}s.auth&&!n.headers.authorization&&(n.headers.authorization="Basic "+Buffer.from(s.auth).toString("base64")),S=r._req=m(s),r._redirects&&r.emit("redirect",r.url,S)}else S=r._req=m(s);s.timeout&&S.on("timeout",()=>{Tt(r,S,"Opening handshake has timed out")}),S.on("error",C=>{S===null||S[fl]||(S=r._req=null,Ri(r,C))}),S.on("response",C=>{let V=C.headers.location,de=C.statusCode;if(V&&s.followRedirects&&de>=300&&de<400){if(++r._redirects>s.maxRedirects){Tt(r,S,"Maximum redirects exceeded");return}S.abort();let B;try{B=new ma(V,e)}catch{let L=new SyntaxError(`Invalid URL: ${V}`);Ri(r,L);return}ul(r,B,t,n)}else r.emit("unexpected-response",S,C)||Tt(r,S,`Unexpected server response: ${C.statusCode}`)}),S.on("upgrade",(C,V,de)=>{if(r.emit("upgrade",C),r.readyState!==qe.CONNECTING)return;S=r._req=null;let B=C.headers.upgrade;if(B===void 0||B.toLowerCase()!=="websocket"){Tt(r,V,"Invalid Upgrade header");return}let P=Dm("sha1").update(g+jm).digest("base64");if(C.headers["sec-websocket-accept"]!==P){Tt(r,V,"Invalid Sec-WebSocket-Accept header");return}let L=C.headers["sec-websocket-protocol"],Q;if(L!==void 0?y.size?y.has(L)||(Q="Server sent an invalid subprotocol"):Q="Server sent a subprotocol but none was requested":y.size&&(Q="Server sent no subprotocol"),Q){Tt(r,V,Q);return}L&&(r._protocol=L);let j=C.headers["sec-websocket-extensions"];if(j!==void 0){if(!w){Tt(r,V,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let Z;try{Z=Km(j)}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}let pe=Object.keys(Z);if(pe.length!==1||pe[0]!==Nr.extensionName){Tt(r,V,"Server indicated an extension that was not requested");return}try{w.accept(Z[Nr.extensionName])}catch{Tt(r,V,"Invalid Sec-WebSocket-Extensions header");return}r._extensions[Nr.extensionName]=w}r.setSocket(V,de,{allowSynchronousEvents:s.allowSynchronousEvents,generateMask:s.generateMask,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation})}),s.finishRequest?s.finishRequest(S,r):S.end()}function Ri(r,e){r._readyState=qe.CLOSING,r._errorEmitted=!0,r.emit("error",e),r.emitClose()}function Ym(r){return r.path=r.socketPath,al.connect(r)}function Xm(r){return r.path=void 0,!r.servername&&r.servername!==""&&(r.servername=al.isIP(r.host)?"":r.host),Lm.connect(r)}function Tt(r,e,t){r._readyState=qe.CLOSING;let n=new Error(t);Error.captureStackTrace(n,Tt),e.setHeader?(e[fl]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Ri,r,n)):(e.destroy(n),e.once("error",r.emit.bind(r,"error")),e.once("close",r.emitClose.bind(r)))}function Ea(r,e,t){if(e){let n=Bm(e)?e.size:zm(e).length;r._socket?r._sender._bufferedBytes+=n:r._bufferedAmount+=n}if(t){let n=new Error(`WebSocket is not open: readyState ${r.readyState} (${mr[r.readyState]})`);process.nextTick(t,n)}}function Jm(r,e){let t=this[nt];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=r,t._socket[nt]!==void 0&&(t._socket.removeListener("data",Ai),process.nextTick(ll,t._socket),r===1005?t.close():t.close(r,e))}function Zm(){let r=this[nt];r.isPaused||r._socket.resume()}function Qm(r){let e=this[nt];e._socket[nt]!==void 0&&(e._socket.removeListener("data",Ai),process.nextTick(ll,e._socket),e.close(r[qm])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r))}function ol(){this[nt].emitClose()}function e0(r,e){this[nt].emit("message",r,e)}function t0(r){let e=this[nt];e._autoPong&&e.pong(r,!this._isServer,cl),e.emit("ping",r)}function r0(r){this[nt].emit("pong",r)}function ll(r){r.resume()}function n0(r){let e=this[nt];e.readyState!==qe.CLOSED&&(e.readyState===qe.OPEN&&(e._readyState=qe.CLOSING,hl(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",r)))}function hl(r){r._closeTimer=setTimeout(r._socket.destroy.bind(r._socket),$m)}function dl(){let r=this[nt];this.removeListener("close",dl),this.removeListener("data",Ai),this.removeListener("end",pl),r._readyState=qe.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[nt]=void 0,clearTimeout(r._closeTimer),r._receiver._writableState.finished||r._receiver._writableState.errorEmitted?r.emitClose():(r._receiver.on("error",ol),r._receiver.on("finish",ol))}function Ai(r){this[nt]._receiver.write(r)||this.pause()}function pl(){let r=this[nt];r._readyState=qe.CLOSING,r._receiver.end(),this.end()}function gl(){let r=this[nt];this.removeListener("error",gl),this.on("error",cl),r&&(r._readyState=qe.CLOSING,this.destroy())}});var vl=F((Gv,El)=>{"use strict";var $v=Ii(),{Duplex:s0}=require("stream");function _l(r){r.emit("close")}function i0(){!this.destroyed&&this._writableState.finished&&this.destroy()}function yl(r){this.removeListener("error",yl),this.destroy(),this.listenerCount("error")===0&&this.emit("error",r)}function o0(r,e){let t=!0,n=new s0({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return r.on("message",function(i,a){let c=!a&&n._readableState.objectMode?i.toString():i;n.push(c)||r.pause()}),r.once("error",function(i){n.destroyed||(t=!1,n.destroy(i))}),r.once("close",function(){n.destroyed||n.push(null)}),n._destroy=function(s,i){if(r.readyState===r.CLOSED){i(s),process.nextTick(_l,n);return}let a=!1;r.once("error",function(u){a=!0,i(u)}),r.once("close",function(){a||i(s),process.nextTick(_l,n)}),t&&r.terminate()},n._final=function(s){if(r.readyState===r.CONNECTING){r.once("open",function(){n._final(s)});return}r._socket!==null&&(r._socket._writableState.finished?(s(),n._readableState.endEmitted&&n.destroy()):(r._socket.once("finish",function(){s()}),r.close()))},n._read=function(){r.isPaused&&r.resume()},n._write=function(s,i,a){if(r.readyState===r.CONNECTING){r.once("open",function(){n._write(s,i,a)});return}r.send(s,a)},n.on("end",i0),n.on("error",yl),n}El.exports=o0});var bl=F((Yv,wl)=>{"use strict";var{tokenChars:a0}=An();function c0(r){let e=new Set,t=-1,n=-1,s=0;for(s;s<r.length;s++){let a=r.charCodeAt(s);if(n===-1&&a0[a]===1)t===-1&&(t=s);else if(s!==0&&(a===32||a===9))n===-1&&t!==-1&&(n=s);else if(a===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${s}`);n===-1&&(n=s);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 ${s}`)}if(t===-1||n!==-1)throw new SyntaxError("Unexpected end of input");let i=r.slice(t,s);if(e.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);return e.add(i),e}wl.exports={parse:c0}});var Pl=F((Jv,kl)=>{"use strict";var f0=require("events"),Li=require("http"),{Duplex:Xv}=require("stream"),{createHash:u0}=require("crypto"),xl=ga(),rn=us(),l0=bl(),h0=Ii(),{GUID:d0,kWebSocket:p0}=dr(),g0=/^[+/0-9A-Za-z]{22}==$/,Sl=0,Tl=1,Ol=2,va=class extends f0{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:h0,...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=Li.createServer((n,s)=>{let i=Li.STATUS_CODES[426];s.writeHead(426,{"Content-Length":i.length,"Content-Type":"text/plain"}),s.end(i)}),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=m0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(s,i,a)=>{this.handleUpgrade(s,i,a,n)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=Sl}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===Ol){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(ps,this);return}if(e&&this.once("close",e),this._state!==Tl)if(this._state=Tl,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(ps,this):process.nextTick(ps,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{ps(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,s){t.on("error",Cl);let i=e.headers["sec-websocket-key"],a=e.headers.upgrade,c=+e.headers["sec-websocket-version"];if(e.method!=="GET"){nn(this,e,t,405,"Invalid HTTP method");return}if(a===void 0||a.toLowerCase()!=="websocket"){nn(this,e,t,400,"Invalid Upgrade header");return}if(i===void 0||!g0.test(i)){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(c!==13&&c!==8){nn(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){gs(t,400);return}let u=e.headers["sec-websocket-protocol"],d=new Set;if(u!==void 0)try{d=l0.parse(u)}catch{nn(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let g=e.headers["sec-websocket-extensions"],m={};if(this.options.perMessageDeflate&&g!==void 0){let y=new rn(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let w=xl.parse(g);w[rn.extensionName]&&(y.accept(w[rn.extensionName]),m[rn.extensionName]=y)}catch{nn(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let y={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(y,(w,S,C,V)=>{if(!w)return gs(t,S||401,C,V);this.completeUpgrade(m,i,d,e,t,n,s)});return}if(!this.options.verifyClient(y))return gs(t,401)}this.completeUpgrade(m,i,d,e,t,n,s)}completeUpgrade(e,t,n,s,i,a,c){if(!i.readable||!i.writable)return i.destroy();if(i[p0])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>Sl)return gs(i,503);let d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${u0("sha1").update(t+d0).digest("base64")}`],g=new this.options.WebSocket(null,void 0,this.options);if(n.size){let m=this.options.handleProtocols?this.options.handleProtocols(n,s):n.values().next().value;m&&(d.push(`Sec-WebSocket-Protocol: ${m}`),g._protocol=m)}if(e[rn.extensionName]){let m=e[rn.extensionName].params,y=xl.format({[rn.extensionName]:[m]});d.push(`Sec-WebSocket-Extensions: ${y}`),g._extensions=e}this.emit("headers",d,s),i.write(d.concat(`\r
21
21
  `).join(`\r
22
- `)),i.removeListener("error",Cl),g.setSocket(i,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(g),g.on("close",()=>{this.clients.delete(g),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ps,this)})),c(g,s)}};kl.exports=va;function pm(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 ps(r){r._state=Ol,r.emit("close")}function Cl(){this.destroy()}function gs(r,e,t,n){t=t||Li.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} ${Li.STATUS_CODES[e]}\r
22
+ `)),i.removeListener("error",Cl),g.setSocket(i,a,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(g),g.on("close",()=>{this.clients.delete(g),this._shouldEmitClose&&!this.clients.size&&process.nextTick(ps,this)})),c(g,s)}};kl.exports=va;function m0(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 ps(r){r._state=Ol,r.emit("close")}function Cl(){this.destroy()}function gs(r,e,t,n){t=t||Li.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} ${Li.STATUS_CODES[e]}\r
23
23
  `+Object.keys(n).map(s=>`${s}: ${n[s]}`).join(`\r
24
24
  `)+`\r
25
25
  \r
26
- `+t)}function nn(r,e,t,n,s,i){if(r.listenerCount("wsClientError")){let a=new Error(s);Error.captureStackTrace(a,nn),r.emit("wsClientError",a,t,e)}else gs(t,n,s,i)}});var Al=F((Xv,Rl)=>{"use strict";var _r=Ii();_r.createWebSocketStream=vl();_r.Server=Pl();_r.Receiver=ua();_r.Sender=da();_r.WebSocket=_r;_r.WebSocketServer=_r.Server;Rl.exports=_r});var Sa=F(Dr=>{"use strict";var gm=Dr&&Dr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.WS=Dr.BaseWS=void 0;var mm=as(),Il=Jr(),_m=xn(),ba=Xr(),ym=gm(At()),Em=(0,ym.default)("engine.io-client:websocket"),Ll=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",Ni=class extends mm.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Ll?{}:(0,Il.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(s){return this.emitReserved("error",s)}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],s=t===e.length-1;(0,_m.encodePacket)(n,this.supportsBinary,i=>{try{this.doWrite(n,i)}catch{Em("websocket closed before onclose event")}s&&(0,ba.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,Il.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Dr.BaseWS=Ni;var wa=ba.globalThisShim.WebSocket||ba.globalThisShim.MozWebSocket,xa=class extends Ni{createSocket(e,t,n){return Ll?new wa(e,t,n):t?new wa(e,t):new wa(e)}doWrite(e,t){this.ws.send(t)}};Dr.WS=xa});var Ca=F(er=>{"use strict";var vm=er&&er.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),wm=er&&er.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),bm=er&&er.__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)&&vm(e,r,t);return wm(e,r),e};Object.defineProperty(er,"__esModule",{value:!0});er.WS=void 0;var xm=bm(Al()),Sm=Sa(),Ta=class extends Sm.BaseWS{createSocket(e,t,n){var s;if(!((s=this.socket)===null||s===void 0)&&s._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[i,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${i}=${a.value}`)}return new xm.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)}};er.WS=Ta});var ka=F(Fn=>{"use strict";var Tm=Fn&&Fn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WT=void 0;var Cm=as(),Om=Xr(),Nl=xn(),km=Tm(At()),ms=(0,km.default)("engine.io-client:webtransport"),Oa=class extends Cm.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(()=>{ms("transport closed gracefully"),this.onClose()}).catch(e=>{ms("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,Nl.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),s=(0,Nl.createPacketEncoderStream)();s.readable.pipeTo(e.writable),this._writer=s.writable.getWriter();let i=()=>{n.read().then(({done:c,value:u})=>{if(c){ms("session is closed");return}ms("received chunk: %o",u),this.onPacket(u),i()}).catch(c=>{ms("an error occurred while reading: %s",c)})};i();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],s=t===e.length-1;this._writer.write(n).then(()=>{s&&(0,Om.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};Fn.WT=Oa});var Pa=F(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.transports=void 0;var Pm=Qo(),Rm=Ca(),Am=ka();Di.transports={websocket:Rm.WS,webtransport:Am.WT,polling:Pm.XHR}});var Aa=F(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.parse=Nm;var Im=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Lm=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function Nm(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 s=Im.exec(r||""),i={},a=14;for(;a--;)i[Lm[a]]=s[a]||"";return t!=-1&&n!=-1&&(i.source=e,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=Dm(i,i.path),i.queryKey=Fm(i,i.query),i}function Dm(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 Fm(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,s,i){s&&(t[s]=i)}),t}});var Da=F(tr=>{"use strict";var Mm=tr&&tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(tr,"__esModule",{value:!0});tr.Socket=tr.SocketWithUpgrade=tr.SocketWithoutUpgrade=void 0;var Bm=Pa(),Dl=Jr(),jm=qo(),Fl=Aa(),Um=Yr(),Ml=xn(),Ia=Xr(),qm=Mm(At()),Ne=(0,qm.default)("engine.io-client:socket"),La=typeof addEventListener=="function"&&typeof removeEventListener=="function",_s=[];La&&addEventListener("offline",()=>{Ne("closing %d connection(s) because the network was lost",_s.length),_s.forEach(r=>r())},!1);var sn=class r extends Um.Emitter{constructor(e,t){if(super(),this.binaryType=Ia.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,Fl.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,Fl.parse)(t.host).host);(0,Dl.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 s=n.prototype.name;this.transports.push(s),this._transportsByName[s]=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,jm.decode)(this.opts.query)),La&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(Ne("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},_s.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,Ia.createCookieJar)()),this._open()}createTransport(e){Ne('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=Ml.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 Ne("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){Ne("setting transport %s",e.name),this.transport&&(Ne("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(){Ne("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(Ne('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 Ne('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();Ne("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 s=this.writeBuffer[n].data;if(s&&(t+=(0,Dl.byteLength)(s)),n>0&&t>this._maxPayload)return Ne("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return Ne("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&&(Ne("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,Ia.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,s){if(typeof t=="function"&&(s=t,t=void 0),typeof n=="function"&&(s=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let i={type:e,data:t,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),s&&this.once("flush",s),this.flush()}close(){let e=()=>{this._onClose("forced close"),Ne("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(Ne("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return Ne("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(Ne('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),La&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=_s.indexOf(this._offlineEventListener);n!==-1&&(Ne("removing listener for the 'offline' event"),_s.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};tr.SocketWithoutUpgrade=sn;sn.protocol=Ml.protocol;var Fi=class extends sn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){Ne("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){Ne('probing transport "%s"',e);let t=this.createTransport(e),n=!1;sn.priorWebsocketSuccess=!1;let s=()=>{n||(Ne('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(Ne('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;sn.priorWebsocketSuccess=t.name==="websocket",Ne('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(Ne("changing transport and sending upgrade packet"),g(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{Ne('probe transport "%s" failed',e);let y=new Error("probe error");y.transport=t.name,this.emitReserved("upgradeError",y)}}))};function i(){n||(n=!0,g(),t.close(),t=null)}let a=m=>{let y=new Error("probe error: "+m);y.transport=t.name,i(),Ne('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",y)};function c(){a("transport closed")}function u(){a("socket closed")}function d(m){t&&m.name!==t.name&&(Ne('"%s" works - aborting "%s"',m.name,t.name),i())}let g=()=>{t.removeListener("open",s),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",d)};t.once("open",s),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",d),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}};tr.SocketWithUpgrade=Fi;var Na=class extends Fi{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(s=>Bm.transports[s]).filter(s=>!!s)),super(e,n)}};tr.Socket=Na});var Bl=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.Fetch=void 0;var Wm=Go(),Fa=class extends Wm.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,s=new Headers(this.opts.extraHeaders);return n&&s.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(s),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:s,credentials:this.opts.withCredentials?"include":"omit"}).then(i=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(i.headers.getSetCookie()),i})}};Mi.Fetch=Fa});var Bi=F(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.WebTransport=xe.WebSocket=xe.NodeWebSocket=xe.XHR=xe.NodeXHR=xe.Fetch=xe.nextTick=xe.parse=xe.installTimerFunctions=xe.transports=xe.TransportError=xe.Transport=xe.protocol=xe.SocketWithUpgrade=xe.SocketWithoutUpgrade=xe.Socket=void 0;var jl=Da();Object.defineProperty(xe,"Socket",{enumerable:!0,get:function(){return jl.Socket}});var Ul=Da();Object.defineProperty(xe,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return Ul.SocketWithoutUpgrade}});Object.defineProperty(xe,"SocketWithUpgrade",{enumerable:!0,get:function(){return Ul.SocketWithUpgrade}});xe.protocol=jl.Socket.protocol;var ql=as();Object.defineProperty(xe,"Transport",{enumerable:!0,get:function(){return ql.Transport}});Object.defineProperty(xe,"TransportError",{enumerable:!0,get:function(){return ql.TransportError}});var Hm=Pa();Object.defineProperty(xe,"transports",{enumerable:!0,get:function(){return Hm.transports}});var Vm=Jr();Object.defineProperty(xe,"installTimerFunctions",{enumerable:!0,get:function(){return Vm.installTimerFunctions}});var Km=Aa();Object.defineProperty(xe,"parse",{enumerable:!0,get:function(){return Km.parse}});var $m=Xr();Object.defineProperty(xe,"nextTick",{enumerable:!0,get:function(){return $m.nextTick}});var zm=Bl();Object.defineProperty(xe,"Fetch",{enumerable:!0,get:function(){return zm.Fetch}});var Gm=Qo();Object.defineProperty(xe,"NodeXHR",{enumerable:!0,get:function(){return Gm.XHR}});var Ym=Jo();Object.defineProperty(xe,"XHR",{enumerable:!0,get:function(){return Ym.XHR}});var Xm=Ca();Object.defineProperty(xe,"NodeWebSocket",{enumerable:!0,get:function(){return Xm.WS}});var Jm=Sa();Object.defineProperty(xe,"WebSocket",{enumerable:!0,get:function(){return Jm.WS}});var Zm=ka();Object.defineProperty(xe,"WebTransport",{enumerable:!0,get:function(){return Zm.WT}})});var Hl=F(ys=>{"use strict";var Qm=ys&&ys.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ys,"__esModule",{value:!0});ys.url=r_;var e_=Bi(),t_=Qm(At()),Wl=(0,t_.default)("socket.io-client:url");function r_(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)||(Wl("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Wl("parse %s",r),n=(0,e_.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 i=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(t&&t.port===n.port?"":":"+n.port),n}});var Ma=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.isBinary=Kl;Ui.hasBinary=ji;var n_=typeof ArrayBuffer=="function",s_=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,Vl=Object.prototype.toString,i_=typeof Blob=="function"||typeof Blob<"u"&&Vl.call(Blob)==="[object BlobConstructor]",o_=typeof File=="function"||typeof File<"u"&&Vl.call(File)==="[object FileConstructor]";function Kl(r){return n_&&(r instanceof ArrayBuffer||s_(r))||i_&&r instanceof Blob||o_&&r instanceof File}function ji(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(ji(r[t]))return!0;return!1}if(Kl(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return ji(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&ji(r[t]))return!0;return!1}});var $l=F(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.deconstructPacket=c_;qi.reconstructPacket=f_;var a_=Ma();function c_(r){let e=[],t=r.data,n=r;return n.data=Ba(t,e),n.attachments=e.length,{packet:n,buffers:e}}function Ba(r,e){if(!r)return r;if((0,a_.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]=Ba(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]=Ba(r[n],e));return t}return r}function f_(r,e){return r.data=ja(r.data,e),delete r.attachments,r}function ja(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]=ja(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=ja(r[t],e));return r}});var Hi=F(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.Decoder=Ut.Encoder=Ut.PacketType=Ut.protocol=void 0;Ut.isPacketValid=m_;var u_=Yr(),zl=$l(),Gl=Ma(),l_=At(),Ua=(0,l_.default)("socket.io-parser"),Yl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Ut.protocol=5;var Le;(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"})(Le||(Ut.PacketType=Le={}));var qa=class{constructor(e){this.replacer=e}encode(e){return Ua("encoding packet %j",e),(e.type===Le.EVENT||e.type===Le.ACK)&&(0,Gl.hasBinary)(e)?this.encodeAsBinary({type:e.type===Le.EVENT?Le.BINARY_EVENT:Le.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Le.BINARY_EVENT||e.type===Le.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)),Ua("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,zl.deconstructPacket)(e),n=this.encodeAsString(t.packet),s=t.buffers;return s.unshift(n),s}};Ut.Encoder=qa;var Wa=class r extends u_.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===Le.BINARY_EVENT;n||t.type===Le.BINARY_ACK?(t.type=n?Le.EVENT:Le.ACK,this.reconstructor=new Ha(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Gl.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(Le[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Le.BINARY_EVENT||n.type===Le.BINARY_ACK){let i=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(i,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let i=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(i,t)}else n.nsp="/";let s=e.charAt(t+1);if(s!==""&&Number(s)==s){let i=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(i,t+1))}if(e.charAt(++t)){let i=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,i))n.data=i;else throw new Error("invalid payload")}return Ua("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 Le.CONNECT:return Wi(t);case Le.DISCONNECT:return t===void 0;case Le.CONNECT_ERROR:return typeof t=="string"||Wi(t);case Le.EVENT:case Le.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Yl.indexOf(t[0])===-1);case Le.ACK:case Le.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Ut.Decoder=Wa;var Ha=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,zl.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function h_(r){return typeof r=="string"}var d_=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function p_(r){return r===void 0||d_(r)}function Wi(r){return Object.prototype.toString.call(r)==="[object Object]"}function g_(r,e){switch(r){case Le.CONNECT:return e===void 0||Wi(e);case Le.DISCONNECT:return e===void 0;case Le.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Yl.indexOf(e[0])===-1);case Le.ACK:return Array.isArray(e);case Le.CONNECT_ERROR:return typeof e=="string"||Wi(e);default:return!1}}function m_(r){return h_(r.nsp)&&p_(r.id)&&g_(r.type,r.data)}});var Ka=F(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.on=__;function __(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var za=F(Mn=>{"use strict";var y_=Mn&&Mn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.Socket=void 0;var qt=Hi(),Vi=Ka(),E_=Yr(),v_=y_(At()),Qe=(0,v_.default)("socket.io-client:socket"),w_=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),$a=class extends E_.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,Vi.on)(e,"open",this.onopen.bind(this)),(0,Vi.on)(e,"packet",this.onpacket.bind(this)),(0,Vi.on)(e,"error",this.onerror.bind(this)),(0,Vi.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,s,i;if(w_.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:qt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let g=this.ids++;Qe("emitting packet with ack id %d",g);let m=t.pop();this._registerAckCallback(g,m),a.id=g}let c=(s=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||s===void 0?void 0:s.writable,u=this.connected&&!(!((i=this.io.engine)===null||i===void 0)&&i._hasPingExpired());return this.flags.volatile&&!c?Qe("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 s=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(s===void 0){this.acks[e]=t;return}let i=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(Qe("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));Qe("event with ack id %d has timed out after %d ms",e,s),t.call(this,new Error("operation has timed out"))},s),a=(...c)=>{this.io.clearTimeoutFn(i),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,s)=>{let i=(a,c)=>a?s(a):n(c);i.withError=!0,t.push(i),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((s,...i)=>n!==this._queue[0]?Qe("packet [%d] already acknowledged",n.id):(s!==null?n.tryCount>this._opts.retries&&(Qe("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(s)):(Qe("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...i)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(Qe("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){Qe("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,Qe("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(){Qe("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:qt.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){Qe("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 qt.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 qt.PacketType.EVENT:case qt.PacketType.BINARY_EVENT:this.onevent(e);break;case qt.PacketType.ACK:case qt.PacketType.BINARY_ACK:this.onack(e);break;case qt.PacketType.DISCONNECT:this.ondisconnect();break;case qt.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||[];Qe("emitting event %j",t),e.id!=null&&(Qe("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(...s){n||(n=!0,Qe("sending ack %j",s),t.packet({type:qt.PacketType.ACK,id:e,data:s}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){Qe("bad ack %s",e.id);return}delete this.acks[e.id],Qe("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){Qe("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(){Qe("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&&(Qe("performing disconnect (%s)",this.nsp),this.packet({type:qt.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)}}};Mn.Socket=$a});var Xl=F(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.Backoff=Bn;function Bn(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}Bn.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};Bn.prototype.reset=function(){this.attempts=0};Bn.prototype.setMin=function(r){this.ms=r};Bn.prototype.setMax=function(r){this.max=r};Bn.prototype.setJitter=function(r){this.jitter=r}});var Jl=F(Nt=>{"use strict";var b_=Nt&&Nt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),x_=Nt&&Nt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),S_=Nt&&Nt.__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)&&b_(e,r,t);return x_(e,r),e},T_=Nt&&Nt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Manager=void 0;var Ya=Bi(),C_=za(),O_=S_(Hi()),on=Ka(),k_=Xl(),P_=Yr(),R_=T_(At()),st=(0,R_.default)("socket.io-client:manager"),Xa=class extends P_.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,Ya.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 k_.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 s=t.parser||O_;this.encoder=new s.Encoder,this.decoder=new s.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(st("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;st("opening %s",this.uri),this.engine=new Ya.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let s=(0,on.on)(t,"open",function(){n.onopen(),e&&e()}),i=c=>{st("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,on.on)(t,"error",i);if(this._timeout!==!1){let c=this._timeout;st("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{st("connect attempt timed out after %d",c),s(),i(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(s),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){st("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,on.on)(e,"ping",this.onping.bind(this)),(0,on.on)(e,"data",this.ondata.bind(this)),(0,on.on)(e,"error",this.onerror.bind(this)),(0,on.on)(e,"close",this.onclose.bind(this)),(0,on.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,Ya.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){st("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new C_.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){st("socket %s is still active, skipping close",n);return}this._close()}_packet(e){st("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(){st("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){st("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;st("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)st("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();st("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(st("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(st("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):(st("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)}};Nt.Manager=Xa});var th=F((Me,eh)=>{"use strict";var A_=Me&&Me.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Me,"__esModule",{value:!0});Me.WebTransport=Me.WebSocket=Me.NodeWebSocket=Me.XHR=Me.NodeXHR=Me.Fetch=Me.Socket=Me.Manager=Me.protocol=void 0;Me.io=an;Me.connect=an;Me.default=an;var I_=Hl(),Ki=Jl();Object.defineProperty(Me,"Manager",{enumerable:!0,get:function(){return Ki.Manager}});var Ql=za();Object.defineProperty(Me,"Socket",{enumerable:!0,get:function(){return Ql.Socket}});var L_=A_(At()),Zl=(0,L_.default)("socket.io-client"),Es={};function an(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,I_.url)(r,e.path||"/socket.io"),n=t.source,s=t.id,i=t.path,a=Es[s]&&i in Es[s].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(Zl("ignoring socket cache for %s",n),u=new Ki.Manager(n,e)):(Es[s]||(Zl("new io instance for %s",n),Es[s]=new Ki.Manager(n,e)),u=Es[s]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(an,{Manager:Ki.Manager,Socket:Ql.Socket,io:an,connect:an});var N_=Hi();Object.defineProperty(Me,"protocol",{enumerable:!0,get:function(){return N_.protocol}});var jn=Bi();Object.defineProperty(Me,"Fetch",{enumerable:!0,get:function(){return jn.Fetch}});Object.defineProperty(Me,"NodeXHR",{enumerable:!0,get:function(){return jn.NodeXHR}});Object.defineProperty(Me,"XHR",{enumerable:!0,get:function(){return jn.XHR}});Object.defineProperty(Me,"NodeWebSocket",{enumerable:!0,get:function(){return jn.NodeWebSocket}});Object.defineProperty(Me,"WebSocket",{enumerable:!0,get:function(){return jn.WebSocket}});Object.defineProperty(Me,"WebTransport",{enumerable:!0,get:function(){return jn.WebTransport}});eh.exports=an});var ih=F($i=>{"use strict";Object.defineProperty($i,"__esModule",{value:!0});$i.WebSocketService=void 0;var D_=th(),rh=kr(),nh=$s(),sh=Hs(),Ja=class{authService;cryptoService;config;logger;notification;deviceId;platform;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;clientDetachedHandler=null;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,s,i,a,c="vscode"){this.authService=e,this.cryptoService=t,this.config=n,this.logger=s,this.notification=i,this.deviceId=a,this.platform=c}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,nh.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((s,i)=>{this.socket=(0,D_.io)(`${t}/agent`,{auth:{token:e,protocolVersion:rh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:rh.DEFAULT_CLIENT_CAPABILITIES,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 a of this.reconnectHandlers)a()}else this.hasConnectedOnce=!0,s()}),this.socket.on("error",a=>{this.logger.error(`Server error [${a.code}]: ${a.message}`),a.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",a=>{this.logger.warn("WebSocket disconnected",a),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(a==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",a=>{this.logger.info("Protocol info received",a.protocolVersion),this.negotiatedCapabilities=a.negotiatedCapabilities,a.agentName&&this.config.getAgentName()!==a.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(a.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.agentName),this.logger.info("Agent name synced from server",a.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",a=>{this.logger.error("WebSocket connection error",a),this.statusChangeHandler?.("error"),this.hasConnectedOnce||i(a),this.scheduleReconnect()}),this.socket.on("terminal:input",a=>{this.handleTerminalInput(a)}),this.socket.on("crypto:keyExchange",async(a,c)=>{this.logger.info("Received key exchange request",a.terminalId,a.sessionId),this.rekeyingTerminals.add(a.terminalId),this.outputBuffer.set(a.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(a.terminalId,a.clientPublicKey,a.sessionId)){let d=await this.cryptoService.getPublicKey();c?.({success:!0,agentPublicKey:d||void 0}),this.flushOutputBuffer(a.terminalId)}else c?.({success:!1,error:"Key exchange failed"})}catch(u){this.logger.error("Key exchange error",u),c?.({success:!1,error:String(u)})}finally{this.rekeyingTerminals.delete(a.terminalId),this.outputBuffer.delete(a.terminalId)}}),this.socket.on("crypto:sessionCleanup",a=>{this.cryptoService.removeSession(a.terminalId,a.sessionId)}),this.socket.on("agent:keyExchangeRequest",async a=>{try{let c=await this.cryptoService.handleAgentKeyExchange(a.clientPublicKey,a.sessionId),u={agentId:a.agentId,sessionId:a.sessionId,ok:c,error:c?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",u)}catch(c){this.logger.error("Agent key exchange error",c);let u={agentId:a.agentId,sessionId:a.sessionId,ok:!1,error:String(c)};this.socket?.emit("agent:keyExchangeAck",u)}}),this.socket.on("agent:sessionEnd",a=>{this.cryptoService.removeAgentSession(a.sessionId)}),this.socket.on("agent:renamed",a=>{this.logger.info("Agent renamed from web client",a.name),this.isRemoteRename=!0,this.config.setAgentName(a.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.name)}),this.socket.on("terminal:createRequest",a=>{this.createTerminalHandler?.(a.name)}),this.socket.on("terminal:getBuffer",(a,c)=>{if(!this.getBufferHandler){c?.({success:!1,error:"Buffer handler not set"});return}let u=this.getBufferHandler(a.terminalId);if(u===null){c?.({success:!1,error:"Terminal not found"});return}let d=this.cryptoService.encryptOutput(a.terminalId,u);c?.(d?{success:!0,encrypted:d}:{success:!0,data:u}),this.redrawHandler?.(a.terminalId)}),this.socket.on("terminal:resize",a=>{this.resizeHandler?.(a.terminalId,a.cols,a.rows)}),this.socket.on("workspace:clientAttached",a=>{this.clientAttachedHandler?.(a)}),this.socket.on("workspace:clientDetached",a=>{this.clientDetachedHandler?.(a)}),this.socket.on("file:view",a=>{this.fileViewRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:list",a=>{this.fileListRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:download:request",a=>{this.fileDownloadRequestHandler?.(a.terminalId,a.path,a.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}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})}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 s=this.cryptoService.encryptOutput(t,n),i={instanceId:e,terminalId:t,...s?{encrypted:s}:{data:n}};this.socket?.emit("terminal:output",i)}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:s}of t){let i=this.cryptoService.encryptOutput(e,s),a={instanceId:n,terminalId:e,...i?{encrypted:i}:{data:s}};this.socket?.emit("terminal:output",a)}}}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",s)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",s)}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,sh.generateCorrelationId)(),s=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,sh.runWithCorrelation)(n,()=>new Promise((i,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,s,c=>{c.success?i(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),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"),this.statusChangeHandler?.("error")},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout()}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);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId)}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,nh.getApiUrl)(this.config)}/health`,n=new AbortController,s=setTimeout(()=>n.abort(),5e3),i=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(s),this.logger.debug("Network check OK",String(i.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)}};$i.WebSocketService=Ja});var ah=F(rr=>{"use strict";var F_=rr&&rr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),M_=rr&&rr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Qa=rr&&rr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&F_(t,e,n[s]);return M_(t,e),t}})();Object.defineProperty(rr,"__esModule",{value:!0});rr.FileTransferService=void 0;var zi=Qa(require("fs")),B_=Qa(require("path")),oh=Qa(require("crypto")),Be=kr(),Za=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;constructor(e,t="/tmp"){this.logger=e,this.fallbackDir=t}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,s,i){let a=zi.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:i,onProgress:n,onComplete:s})}async sendBuffer(e,t,n,s,i){return this.initAndSendChunks(e,t,n,{mimeType:s,purpose:i?.purpose,viewMetadata:i?.viewMetadata,requestId:i?.requestId,onProgress:i?.onProgress,onComplete:i?.onComplete})}async initAndSendChunks(e,t,n,s){if(!this.socket)throw new Error("Socket not connected");let i=t.length,a=(0,Be.calculateTotalChunks)(i),c=this.calculateChecksum(t),u=oh.randomUUID(),d={id:u,terminalId:e,filename:n,size:i,totalChunks:a,direction:Be.TransferDirection.DOWNLOAD,status:Be.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:s.onProgress?(m,y)=>s.onProgress(u,m,y):void 0,onComplete:s.onComplete?(m,y)=>s.onComplete(u,m,y):void 0,ackTimeouts:new Map};d.chunks=[];for(let m=0;m<a;m++){let y=m*Be.CHUNK_SIZE,w=Math.min(y+Be.CHUNK_SIZE,i);d.chunks.push(t.subarray(y,w))}this.activeTransfers.set(u,d);let g={transferId:u,terminalId:e,filename:n,size:i,totalChunks:a,mimeType:s.mimeType||"application/octet-stream",checksum:c,direction:Be.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return s.requestId&&(g.requestId=s.requestId),s.purpose&&(g.purpose=s.purpose),s.viewMetadata&&(g.viewMetadata=s.viewMetadata),new Promise((m,y)=>{this.socket.emit("file:init",g,w=>{w.accepted?(d.status=Be.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),y(new Error(w.error||"Transfer rejected")))})})}async receiveFile(e,t,n,s,i,a,c,u="sha256",d,g){let m={id:e,terminalId:t,filename:n,filePath:c,size:s,totalChunks:i,direction:Be.TransferDirection.UPLOAD,status:Be.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(i).fill(null),checksum:a,checksumAlgorithm:u,onProgress:d?(y,w)=>d(e,y,w):void 0,onComplete:g?(y,w)=>g(e,y,w):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let s of n.ackTimeouts.values())clearTimeout(s);if(n.status=Be.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let s={transferId:e,reason:t};this.socket.emit("file:cancel",s)}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===Be.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let s of n.deliveredChunks)t.deliveredChunks.add(s);if(t.direction===Be.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=Be.TransferStatus.ACTIVE;for(let s of n.missingChunks)this.sendChunk(t,s)}})}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=Be.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(Be.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 s=e.pendingChunks.get(t),i={seq:t,data:n,retries:s?s.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,i);let a={transferId:e.id,seq:t,data:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)};this.socket.emit("file:chunk",a,u=>{u&&!u.success&&this.cancelTransfer(e.id,u.error||"Server rejected chunk")});let c=setTimeout(()=>{this.handleAckTimeout(e.id,t)},Be.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,c)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===Be.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 s=e.seq+Be.WINDOW_SIZE;s<t.totalChunks&&!t.deliveredChunks.has(s)&&this.sendChunk(t,s),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let s=n.pendingChunks.get(t);s&&(s.retries<Be.MAX_RETRIES?(s.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=Be.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)){if(t.chunks[e.seq]=Buffer.from(e.data),t.deliveredChunks.add(e.seq),this.socket){let n={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",n)}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=Be.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 s=B_.dirname(e.filePath);zi.existsSync(s)||zi.mkdirSync(s,{recursive:!0}),zi.writeFileSync(e.filePath,t),e.status=Be.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(s){let i=s instanceof Error?s.message:String(s);e.status=Be.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${i}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${i}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=Be.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=Be.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 s=`${e.targetPath||this.fallbackDir}/${e.filename}`;this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,s,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):oh.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e[s],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"}};rr.FileTransferService=Za});var oc=F((gw,Xi)=>{function uh(r){return Array.isArray(r)?r:[r]}var j_=void 0,tc="",ch=" ",ec="\\",U_=/^\s+$/,q_=/(?:[^\\]|^)\\$/,W_=/^\\!/,H_=/^\\#/,V_=/\r?\n/g,K_=/^\.{0,2}\/|^\.{1,2}$/,$_=/\/$/,Un="/",lh="node-ignore";typeof Symbol<"u"&&(lh=Symbol.for("node-ignore"));var hh=lh,qn=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),z_=/([0-z])-([0-z])/g,dh=()=>!1,G_=r=>r.replace(z_,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:tc),Y_=r=>{let{length:e}=r;return r.slice(0,e-e%2)},X_=[[/^\uFEFF/,()=>tc],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?ch:tc)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+ch}],[/[\\$.|*+(){^]/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,()=>ec],[/\\\\/g,()=>ec],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,s)=>e===ec?`\\[${t}${Y_(n)}${s}`:s==="]"&&n.length%2===0?`[${G_(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],J_=/(^|\\\/)?\\\*$/,vs="regex",Gi="checkRegex",fh="_",Z_={[vs](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Gi](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},Q_=r=>X_.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Yi=r=>typeof r=="string",ey=r=>r&&Yi(r)&&!U_.test(r)&&!q_.test(r)&&r.indexOf("#")!==0,ty=r=>r.split(V_).filter(Boolean),rc=class{constructor(e,t,n,s,i,a){this.pattern=e,this.mark=t,this.negative=i,qn(this,"body",n),qn(this,"ignoreCase",s),qn(this,"regexPrefix",a)}get regex(){let e=fh+vs;return this[e]?this[e]:this._make(vs,e)}get checkRegex(){let e=fh+Gi;return this[e]?this[e]:this._make(Gi,e)}_make(e,t){let n=this.regexPrefix.replace(J_,Z_[e]),s=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return qn(this,t,s)}},ry=({pattern:r,mark:e},t)=>{let n=!1,s=r;s.indexOf("!")===0&&(n=!0,s=s.substr(1)),s=s.replace(W_,"!").replace(H_,"#");let i=Q_(s);return new rc(r,e,s,t,n,i)},nc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[hh]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Yi(e)&&(e={pattern:e}),ey(e.pattern)){let t=ry(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,uh(Yi(e)?ty(e):e).forEach(this._add,this),this._added}test(e,t,n){let s=!1,i=!1,a;this._rules.forEach(u=>{let{negative:d}=u;i===d&&s!==i||d&&!s&&!i&&!t||!u[n].test(e)||(s=!d,i=d,a=d?j_:u)});let c={ignored:s,unignored:i};return a&&(c.rule=a),c}},ny=(r,e)=>{throw new e(r)},yr=(r,e,t)=>Yi(r)?r?yr.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),ph=r=>K_.test(r);yr.isNotRelative=ph;yr.convert=r=>r;var sc=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){qn(this,hh,!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,s){let i=e&&yr.convert(e);return yr(i,e,this._strictPathCheck?ny:dh),this._t(i,t,n,s)}checkIgnore(e){if(!$_.test(e))return this.test(e);let t=e.split(Un).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Un)+Un,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Gi)}_t(e,t,n,s){if(e in t)return t[e];if(s||(s=e.split(Un).filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,n,vs);let i=this._t(s.join(Un)+Un,t,n,s);return t[e]=i.ignored?i:this._rules.test(e,n,vs)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return uh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},ic=r=>new sc(r),sy=r=>yr(r&&yr.convert(r),r,dh),gh=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");yr.convert=r;let e=/^[a-z]:\//i;yr.isNotRelative=t=>e.test(t)||ph(t)};typeof process<"u"&&process.platform==="win32"&&gh();Xi.exports=ic;ic.default=ic;Xi.exports.isPathValid=sy;qn(Xi.exports,Symbol.for("setupWindows"),gh)});var _h=F(Dt=>{"use strict";var iy=Dt&&Dt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),oy=Dt&&Dt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),mh=Dt&&Dt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&iy(t,e,n[s]);return oy(t,e),t}})(),ay=Dt&&Dt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.FileListService=void 0;var ws=mh(require("path")),ac=mh(require("fs/promises")),cy=ay(oc()),cc=kr(),fy=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],fc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,cy.default)(),this.ignoreFilter.add(fy),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ws.join(this.workspaceRoot,".gitignore");try{let t=await ac.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 ac.readdir(e,{withFileTypes:!0}),s=[];for(let i of n){let a=t==="."||t===""?i.name:ws.join(t,i.name);if(this.shouldHide(a,i.isDirectory()))continue;let c=ws.join(e,i.name),u={name:i.name,path:a,type:i.isDirectory()?cc.FileEntryType.DIRECTORY:cc.FileEntryType.FILE};if(!i.isDirectory())try{let d=await ac.stat(c);u.size=d.size,u.modified=d.mtime.toISOString()}catch{}s.push(u)}return s.sort((i,a)=>i.type!==a.type?i.type===cc.FileEntryType.DIRECTORY?-1:1:i.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ws.sep).join("/"),s=t?`${n}/`:n;return this.ignoreFilter.ignores(s)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ws.join(this.workspaceRoot,e);if(!t.startsWith(this.workspaceRoot))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Dt.FileListService=fc});var Eh=F(nr=>{"use strict";var uy=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),ly=nr&&nr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),yh=nr&&nr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&uy(t,e,n[s]);return ly(t,e),t}})();Object.defineProperty(nr,"__esModule",{value:!0});nr.FileTrackerService=void 0;var uc=yh(require("path")),cn=yh(require("fs/promises")),hy=require("child_process"),dy=require("util"),Wt=kr(),lc=(0,dy.promisify)(hy.exec),hc={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},dc=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(s){this.logger.error("Error parsing tool calls",s)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),s=n.match(hc.toolStart);if(s){let a=s[1],c=s[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let i=n.match(hc.toolSuccess);if(i){let a=i[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(hc.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,s){if(!this.isFileModifyingTool(n))return;let i=this.extractFilePath(n,s);if(!i)return;let a=this.resolveFilePath(i),c={toolId:t,toolName:n,filePath:i,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await cn.readFile(a,"utf-8")}catch{u=void 0}let d={path:i,changeType:u===void 0?Wt.FileChangeType.CREATE:Wt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},g=this.trackedFiles.get(e)||[];g.push(d),this.trackedFiles.set(e,g)}async handleToolEnd(e,t,n,s){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),s==="error"){let g=this.trackedFiles.get(e)||[],m=g.findIndex(y=>y.toolId===t);m!==-1&&g.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(g=>g.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let g=await cn.stat(u);c.size=g.size}catch{c.changeType=Wt.FileChangeType.DELETE,c.size=void 0}let d={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,d)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),s=this.getViewableMimeType(t.path);if(s&&this.onFileViewTransferCallback){try{let a=await cn.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let i;try{t.type===Wt.FileViewType.CONTENT?i=await this.getFileContent(t,n):i=await this.getFileDiff(e,t,n)}catch(a){i={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:i.type===Wt.FileViewType.CONTENT?"content":"diff",language:i.language,truncated:i.truncated,error:i.error},c=Buffer.from(i.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,s=await cn.stat(t),i=await cn.readFile(t,"utf-8"),a=!1,c=i;return i.length>n&&(c=i.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Wt.FileViewType.CONTENT,content:c,language:(0,Wt.getLanguageFromPath)(e.path),size:s.size,truncated:a}}async getFileDiff(e,t,n){let s=t.diffBase||Wt.DiffBase.GIT,i;return s===Wt.DiffBase.GIT?i=await this.getGitDiff(n):i=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Wt.FileViewType.DIFF,content:i,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await lc(`git diff --cached -- "${e}"`,{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await lc(`git diff -- "${e}"`,{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:s}=await lc(`git status --porcelain -- "${e}"`,{cwd:this.workspaceRoot});if(s.startsWith("??")||s.startsWith("A ")){let a=(await cn.readFile(e,"utf-8")).split(`
26
+ `+t)}function nn(r,e,t,n,s,i){if(r.listenerCount("wsClientError")){let a=new Error(s);Error.captureStackTrace(a,nn),r.emit("wsClientError",a,t,e)}else gs(t,n,s,i)}});var Al=F((Zv,Rl)=>{"use strict";var _r=Ii();_r.createWebSocketStream=vl();_r.Server=Pl();_r.Receiver=ua();_r.Sender=da();_r.WebSocket=_r;_r.WebSocketServer=_r.Server;Rl.exports=_r});var Sa=F(Dr=>{"use strict";var _0=Dr&&Dr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dr,"__esModule",{value:!0});Dr.WS=Dr.BaseWS=void 0;var y0=as(),Il=Jr(),E0=xn(),ba=Xr(),v0=_0(At()),w0=(0,v0.default)("engine.io-client:websocket"),Ll=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative",Ni=class extends y0.Transport{get name(){return"websocket"}doOpen(){let e=this.uri(),t=this.opts.protocols,n=Ll?{}:(0,Il.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(s){return this.emitReserved("error",s)}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],s=t===e.length-1;(0,E0.encodePacket)(n,this.supportsBinary,i=>{try{this.doWrite(n,i)}catch{w0("websocket closed before onclose event")}s&&(0,ba.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,Il.randomString)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};Dr.BaseWS=Ni;var wa=ba.globalThisShim.WebSocket||ba.globalThisShim.MozWebSocket,xa=class extends Ni{createSocket(e,t,n){return Ll?new wa(e,t,n):t?new wa(e,t):new wa(e)}doWrite(e,t){this.ws.send(t)}};Dr.WS=xa});var Ca=F(er=>{"use strict";var b0=er&&er.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),x0=er&&er.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),S0=er&&er.__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)&&b0(e,r,t);return x0(e,r),e};Object.defineProperty(er,"__esModule",{value:!0});er.WS=void 0;var T0=S0(Al()),C0=Sa(),Ta=class extends C0.BaseWS{createSocket(e,t,n){var s;if(!((s=this.socket)===null||s===void 0)&&s._cookieJar){n.headers=n.headers||{},n.headers.cookie=typeof n.headers.cookie=="string"?[n.headers.cookie]:n.headers.cookie||[];for(let[i,a]of this.socket._cookieJar.cookies)n.headers.cookie.push(`${i}=${a.value}`)}return new T0.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)}};er.WS=Ta});var ka=F(Fn=>{"use strict";var O0=Fn&&Fn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Fn,"__esModule",{value:!0});Fn.WT=void 0;var k0=as(),P0=Xr(),Nl=xn(),R0=O0(At()),ms=(0,R0.default)("engine.io-client:webtransport"),Oa=class extends k0.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(()=>{ms("transport closed gracefully"),this.onClose()}).catch(e=>{ms("transport closed due to %s",e),this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=(0,Nl.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),s=(0,Nl.createPacketEncoderStream)();s.readable.pipeTo(e.writable),this._writer=s.writable.getWriter();let i=()=>{n.read().then(({done:c,value:u})=>{if(c){ms("session is closed");return}ms("received chunk: %o",u),this.onPacket(u),i()}).catch(c=>{ms("an error occurred while reading: %s",c)})};i();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],s=t===e.length-1;this._writer.write(n).then(()=>{s&&(0,P0.nextTick)(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};Fn.WT=Oa});var Pa=F(Di=>{"use strict";Object.defineProperty(Di,"__esModule",{value:!0});Di.transports=void 0;var A0=Qo(),I0=Ca(),L0=ka();Di.transports={websocket:I0.WS,webtransport:L0.WT,polling:A0.XHR}});var Aa=F(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.parse=F0;var N0=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,D0=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function F0(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 s=N0.exec(r||""),i={},a=14;for(;a--;)i[D0[a]]=s[a]||"";return t!=-1&&n!=-1&&(i.source=e,i.host=i.host.substring(1,i.host.length-1).replace(/;/g,":"),i.authority=i.authority.replace("[","").replace("]","").replace(/;/g,":"),i.ipv6uri=!0),i.pathNames=M0(i,i.path),i.queryKey=B0(i,i.query),i}function M0(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 B0(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,s,i){s&&(t[s]=i)}),t}});var Da=F(tr=>{"use strict";var j0=tr&&tr.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(tr,"__esModule",{value:!0});tr.Socket=tr.SocketWithUpgrade=tr.SocketWithoutUpgrade=void 0;var U0=Pa(),Dl=Jr(),q0=qo(),Fl=Aa(),W0=Yr(),Ml=xn(),Ia=Xr(),H0=j0(At()),Ne=(0,H0.default)("engine.io-client:socket"),La=typeof addEventListener=="function"&&typeof removeEventListener=="function",_s=[];La&&addEventListener("offline",()=>{Ne("closing %d connection(s) because the network was lost",_s.length),_s.forEach(r=>r())},!1);var sn=class r extends W0.Emitter{constructor(e,t){if(super(),this.binaryType=Ia.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,Fl.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,Fl.parse)(t.host).host);(0,Dl.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 s=n.prototype.name;this.transports.push(s),this._transportsByName[s]=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,q0.decode)(this.opts.query)),La&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(Ne("adding listener for the 'offline' event"),this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},_s.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=(0,Ia.createCookieJar)()),this._open()}createTransport(e){Ne('creating transport "%s"',e);let t=Object.assign({},this.opts.query);t.EIO=Ml.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 Ne("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){Ne("setting transport %s",e.name),this.transport&&(Ne("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(){Ne("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(Ne('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 Ne('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();Ne("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 s=this.writeBuffer[n].data;if(s&&(t+=(0,Dl.byteLength)(s)),n>0&&t>this._maxPayload)return Ne("only send %d out of %d packets",n,this.writeBuffer.length),this.writeBuffer.slice(0,n);t+=2}return Ne("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&&(Ne("throttled timer detected, scheduling connection close"),this._pingTimeoutTime=0,(0,Ia.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,s){if(typeof t=="function"&&(s=t,t=void 0),typeof n=="function"&&(s=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;let i={type:e,data:t,options:n};this.emitReserved("packetCreate",i),this.writeBuffer.push(i),s&&this.once("flush",s),this.flush()}close(){let e=()=>{this._onClose("forced close"),Ne("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(Ne("socket error %j",e),r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return Ne("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(Ne('socket close with reason: "%s"',e),this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),La&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){let n=_s.indexOf(this._offlineEventListener);n!==-1&&(Ne("removing listener for the 'offline' event"),_s.splice(n,1))}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}};tr.SocketWithoutUpgrade=sn;sn.protocol=Ml.protocol;var Fi=class extends sn{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade){Ne("starting upgrade probes");for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}}_probe(e){Ne('probing transport "%s"',e);let t=this.createTransport(e),n=!1;sn.priorWebsocketSuccess=!1;let s=()=>{n||(Ne('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(Ne('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;sn.priorWebsocketSuccess=t.name==="websocket",Ne('pausing current transport "%s"',this.transport.name),this.transport.pause(()=>{n||this.readyState!=="closed"&&(Ne("changing transport and sending upgrade packet"),g(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{Ne('probe transport "%s" failed',e);let y=new Error("probe error");y.transport=t.name,this.emitReserved("upgradeError",y)}}))};function i(){n||(n=!0,g(),t.close(),t=null)}let a=m=>{let y=new Error("probe error: "+m);y.transport=t.name,i(),Ne('probe transport "%s" failed because of error: %s',e,m),this.emitReserved("upgradeError",y)};function c(){a("transport closed")}function u(){a("socket closed")}function d(m){t&&m.name!==t.name&&(Ne('"%s" works - aborting "%s"',m.name,t.name),i())}let g=()=>{t.removeListener("open",s),t.removeListener("error",a),t.removeListener("close",c),this.off("close",u),this.off("upgrading",d)};t.once("open",s),t.once("error",a),t.once("close",c),this.once("close",u),this.once("upgrading",d),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}};tr.SocketWithUpgrade=Fi;var Na=class extends Fi{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(s=>U0.transports[s]).filter(s=>!!s)),super(e,n)}};tr.Socket=Na});var Bl=F(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});Mi.Fetch=void 0;var V0=Go(),Fa=class extends V0.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,s=new Headers(this.opts.extraHeaders);return n&&s.set("content-type","text/plain;charset=UTF-8"),(t=this.socket._cookieJar)===null||t===void 0||t.appendCookies(s),fetch(this.uri(),{method:n?"POST":"GET",body:n?e:null,headers:s,credentials:this.opts.withCredentials?"include":"omit"}).then(i=>{var a;return(a=this.socket._cookieJar)===null||a===void 0||a.parseCookies(i.headers.getSetCookie()),i})}};Mi.Fetch=Fa});var Bi=F(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.WebTransport=xe.WebSocket=xe.NodeWebSocket=xe.XHR=xe.NodeXHR=xe.Fetch=xe.nextTick=xe.parse=xe.installTimerFunctions=xe.transports=xe.TransportError=xe.Transport=xe.protocol=xe.SocketWithUpgrade=xe.SocketWithoutUpgrade=xe.Socket=void 0;var jl=Da();Object.defineProperty(xe,"Socket",{enumerable:!0,get:function(){return jl.Socket}});var Ul=Da();Object.defineProperty(xe,"SocketWithoutUpgrade",{enumerable:!0,get:function(){return Ul.SocketWithoutUpgrade}});Object.defineProperty(xe,"SocketWithUpgrade",{enumerable:!0,get:function(){return Ul.SocketWithUpgrade}});xe.protocol=jl.Socket.protocol;var ql=as();Object.defineProperty(xe,"Transport",{enumerable:!0,get:function(){return ql.Transport}});Object.defineProperty(xe,"TransportError",{enumerable:!0,get:function(){return ql.TransportError}});var K0=Pa();Object.defineProperty(xe,"transports",{enumerable:!0,get:function(){return K0.transports}});var z0=Jr();Object.defineProperty(xe,"installTimerFunctions",{enumerable:!0,get:function(){return z0.installTimerFunctions}});var $0=Aa();Object.defineProperty(xe,"parse",{enumerable:!0,get:function(){return $0.parse}});var G0=Xr();Object.defineProperty(xe,"nextTick",{enumerable:!0,get:function(){return G0.nextTick}});var Y0=Bl();Object.defineProperty(xe,"Fetch",{enumerable:!0,get:function(){return Y0.Fetch}});var X0=Qo();Object.defineProperty(xe,"NodeXHR",{enumerable:!0,get:function(){return X0.XHR}});var J0=Jo();Object.defineProperty(xe,"XHR",{enumerable:!0,get:function(){return J0.XHR}});var Z0=Ca();Object.defineProperty(xe,"NodeWebSocket",{enumerable:!0,get:function(){return Z0.WS}});var Q0=Sa();Object.defineProperty(xe,"WebSocket",{enumerable:!0,get:function(){return Q0.WS}});var e_=ka();Object.defineProperty(xe,"WebTransport",{enumerable:!0,get:function(){return e_.WT}})});var Hl=F(ys=>{"use strict";var t_=ys&&ys.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ys,"__esModule",{value:!0});ys.url=s_;var r_=Bi(),n_=t_(At()),Wl=(0,n_.default)("socket.io-client:url");function s_(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)||(Wl("protocol-less url %s",r),typeof t<"u"?r=t.protocol+"//"+r:r="https://"+r),Wl("parse %s",r),n=(0,r_.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 i=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+i+":"+n.port+e,n.href=n.protocol+"://"+i+(t&&t.port===n.port?"":":"+n.port),n}});var Ma=F(Ui=>{"use strict";Object.defineProperty(Ui,"__esModule",{value:!0});Ui.isBinary=Kl;Ui.hasBinary=ji;var i_=typeof ArrayBuffer=="function",o_=r=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer,Vl=Object.prototype.toString,a_=typeof Blob=="function"||typeof Blob<"u"&&Vl.call(Blob)==="[object BlobConstructor]",c_=typeof File=="function"||typeof File<"u"&&Vl.call(File)==="[object FileConstructor]";function Kl(r){return i_&&(r instanceof ArrayBuffer||o_(r))||a_&&r instanceof Blob||c_&&r instanceof File}function ji(r,e){if(!r||typeof r!="object")return!1;if(Array.isArray(r)){for(let t=0,n=r.length;t<n;t++)if(ji(r[t]))return!0;return!1}if(Kl(r))return!0;if(r.toJSON&&typeof r.toJSON=="function"&&arguments.length===1)return ji(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&ji(r[t]))return!0;return!1}});var zl=F(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});qi.deconstructPacket=u_;qi.reconstructPacket=l_;var f_=Ma();function u_(r){let e=[],t=r.data,n=r;return n.data=Ba(t,e),n.attachments=e.length,{packet:n,buffers:e}}function Ba(r,e){if(!r)return r;if((0,f_.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]=Ba(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]=Ba(r[n],e));return t}return r}function l_(r,e){return r.data=ja(r.data,e),delete r.attachments,r}function ja(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]=ja(r[t],e);else if(typeof r=="object")for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=ja(r[t],e));return r}});var Hi=F(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.Decoder=Ut.Encoder=Ut.PacketType=Ut.protocol=void 0;Ut.isPacketValid=y_;var h_=Yr(),$l=zl(),Gl=Ma(),d_=At(),Ua=(0,d_.default)("socket.io-parser"),Yl=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];Ut.protocol=5;var Le;(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"})(Le||(Ut.PacketType=Le={}));var qa=class{constructor(e){this.replacer=e}encode(e){return Ua("encoding packet %j",e),(e.type===Le.EVENT||e.type===Le.ACK)&&(0,Gl.hasBinary)(e)?this.encodeAsBinary({type:e.type===Le.EVENT?Le.BINARY_EVENT:Le.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===Le.BINARY_EVENT||e.type===Le.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)),Ua("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,$l.deconstructPacket)(e),n=this.encodeAsString(t.packet),s=t.buffers;return s.unshift(n),s}};Ut.Encoder=qa;var Wa=class r extends h_.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===Le.BINARY_EVENT;n||t.type===Le.BINARY_ACK?(t.type=n?Le.EVENT:Le.ACK,this.reconstructor=new Ha(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Gl.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(Le[n.type]===void 0)throw new Error("unknown packet type "+n.type);if(n.type===Le.BINARY_EVENT||n.type===Le.BINARY_ACK){let i=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let a=e.substring(i,t);if(a!=Number(a)||e.charAt(t)!=="-")throw new Error("Illegal attachments");n.attachments=Number(a)}if(e.charAt(t+1)==="/"){let i=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););n.nsp=e.substring(i,t)}else n.nsp="/";let s=e.charAt(t+1);if(s!==""&&Number(s)==s){let i=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(i,t+1))}if(e.charAt(++t)){let i=this.tryParse(e.substr(t));if(r.isPayloadValid(n.type,i))n.data=i;else throw new Error("invalid payload")}return Ua("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 Le.CONNECT:return Wi(t);case Le.DISCONNECT:return t===void 0;case Le.CONNECT_ERROR:return typeof t=="string"||Wi(t);case Le.EVENT:case Le.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Yl.indexOf(t[0])===-1);case Le.ACK:case Le.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};Ut.Decoder=Wa;var Ha=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,$l.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function p_(r){return typeof r=="string"}var g_=Number.isInteger||function(r){return typeof r=="number"&&isFinite(r)&&Math.floor(r)===r};function m_(r){return r===void 0||g_(r)}function Wi(r){return Object.prototype.toString.call(r)==="[object Object]"}function __(r,e){switch(r){case Le.CONNECT:return e===void 0||Wi(e);case Le.DISCONNECT:return e===void 0;case Le.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Yl.indexOf(e[0])===-1);case Le.ACK:return Array.isArray(e);case Le.CONNECT_ERROR:return typeof e=="string"||Wi(e);default:return!1}}function y_(r){return p_(r.nsp)&&m_(r.id)&&__(r.type,r.data)}});var Ka=F(Va=>{"use strict";Object.defineProperty(Va,"__esModule",{value:!0});Va.on=E_;function E_(r,e,t){return r.on(e,t),function(){r.off(e,t)}}});var $a=F(Mn=>{"use strict";var v_=Mn&&Mn.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Mn,"__esModule",{value:!0});Mn.Socket=void 0;var qt=Hi(),Vi=Ka(),w_=Yr(),b_=v_(At()),Qe=(0,b_.default)("socket.io-client:socket"),x_=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1}),za=class extends w_.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,Vi.on)(e,"open",this.onopen.bind(this)),(0,Vi.on)(e,"packet",this.onpacket.bind(this)),(0,Vi.on)(e,"error",this.onerror.bind(this)),(0,Vi.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,s,i;if(x_.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:qt.PacketType.EVENT,data:t};if(a.options={},a.options.compress=this.flags.compress!==!1,typeof t[t.length-1]=="function"){let g=this.ids++;Qe("emitting packet with ack id %d",g);let m=t.pop();this._registerAckCallback(g,m),a.id=g}let c=(s=(n=this.io.engine)===null||n===void 0?void 0:n.transport)===null||s===void 0?void 0:s.writable,u=this.connected&&!(!((i=this.io.engine)===null||i===void 0)&&i._hasPingExpired());return this.flags.volatile&&!c?Qe("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 s=(n=this.flags.timeout)!==null&&n!==void 0?n:this._opts.ackTimeout;if(s===void 0){this.acks[e]=t;return}let i=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let c=0;c<this.sendBuffer.length;c++)this.sendBuffer[c].id===e&&(Qe("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(c,1));Qe("event with ack id %d has timed out after %d ms",e,s),t.call(this,new Error("operation has timed out"))},s),a=(...c)=>{this.io.clearTimeoutFn(i),t.apply(this,c)};a.withError=!0,this.acks[e]=a}emitWithAck(e,...t){return new Promise((n,s)=>{let i=(a,c)=>a?s(a):n(c);i.withError=!0,t.push(i),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((s,...i)=>n!==this._queue[0]?Qe("packet [%d] already acknowledged",n.id):(s!==null?n.tryCount>this._opts.retries&&(Qe("packet [%d] is discarded after %d tries",n.id,n.tryCount),this._queue.shift(),t&&t(s)):(Qe("packet [%d] was successfully sent",n.id),this._queue.shift(),t&&t(null,...i)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(Qe("draining queue"),!this.connected||this._queue.length===0)return;let t=this._queue[0];if(t.pending&&!e){Qe("packet [%d] has already been sent and is waiting for an ack",t.id);return}t.pending=!0,t.tryCount++,Qe("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(){Qe("transport is open - connecting"),typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:qt.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){Qe("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 qt.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 qt.PacketType.EVENT:case qt.PacketType.BINARY_EVENT:this.onevent(e);break;case qt.PacketType.ACK:case qt.PacketType.BINARY_ACK:this.onack(e);break;case qt.PacketType.DISCONNECT:this.ondisconnect();break;case qt.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||[];Qe("emitting event %j",t),e.id!=null&&(Qe("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(...s){n||(n=!0,Qe("sending ack %j",s),t.packet({type:qt.PacketType.ACK,id:e,data:s}))}}onack(e){let t=this.acks[e.id];if(typeof t!="function"){Qe("bad ack %s",e.id);return}delete this.acks[e.id],Qe("calling ack %s with %j",e.id,e.data),t.withError&&e.data.unshift(null),t.apply(this,e.data)}onconnect(e,t){Qe("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(){Qe("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&&(Qe("performing disconnect (%s)",this.nsp),this.packet({type:qt.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)}}};Mn.Socket=za});var Xl=F(Ga=>{"use strict";Object.defineProperty(Ga,"__esModule",{value:!0});Ga.Backoff=Bn;function Bn(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}Bn.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};Bn.prototype.reset=function(){this.attempts=0};Bn.prototype.setMin=function(r){this.ms=r};Bn.prototype.setMax=function(r){this.max=r};Bn.prototype.setJitter=function(r){this.jitter=r}});var Jl=F(Nt=>{"use strict";var S_=Nt&&Nt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),T_=Nt&&Nt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),C_=Nt&&Nt.__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)&&S_(e,r,t);return T_(e,r),e},O_=Nt&&Nt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.Manager=void 0;var Ya=Bi(),k_=$a(),P_=C_(Hi()),on=Ka(),R_=Xl(),A_=Yr(),I_=O_(At()),st=(0,I_.default)("socket.io-client:manager"),Xa=class extends A_.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,Ya.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 R_.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 s=t.parser||P_;this.encoder=new s.Encoder,this.decoder=new s.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(st("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;st("opening %s",this.uri),this.engine=new Ya.Socket(this.uri,this.opts);let t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;let s=(0,on.on)(t,"open",function(){n.onopen(),e&&e()}),i=c=>{st("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},a=(0,on.on)(t,"error",i);if(this._timeout!==!1){let c=this._timeout;st("connect attempt will timeout after %d",c);let u=this.setTimeoutFn(()=>{st("connect attempt timed out after %d",c),s(),i(new Error("timeout")),t.close()},c);this.opts.autoUnref&&u.unref(),this.subs.push(()=>{this.clearTimeoutFn(u)})}return this.subs.push(s),this.subs.push(a),this}connect(e){return this.open(e)}onopen(){st("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");let e=this.engine;this.subs.push((0,on.on)(e,"ping",this.onping.bind(this)),(0,on.on)(e,"data",this.ondata.bind(this)),(0,on.on)(e,"error",this.onerror.bind(this)),(0,on.on)(e,"close",this.onclose.bind(this)),(0,on.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,Ya.nextTick)(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){st("error",e),this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new k_.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){st("socket %s is still active, skipping close",n);return}this._close()}_packet(e){st("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(){st("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){st("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;st("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)st("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{let t=this.backoff.duration();st("will wait %dms before reconnect attempt",t),this._reconnecting=!0;let n=this.setTimeoutFn(()=>{e.skipReconnect||(st("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(s=>{s?(st("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",s)):(st("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)}};Nt.Manager=Xa});var th=F((Me,eh)=>{"use strict";var L_=Me&&Me.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Me,"__esModule",{value:!0});Me.WebTransport=Me.WebSocket=Me.NodeWebSocket=Me.XHR=Me.NodeXHR=Me.Fetch=Me.Socket=Me.Manager=Me.protocol=void 0;Me.io=an;Me.connect=an;Me.default=an;var N_=Hl(),Ki=Jl();Object.defineProperty(Me,"Manager",{enumerable:!0,get:function(){return Ki.Manager}});var Ql=$a();Object.defineProperty(Me,"Socket",{enumerable:!0,get:function(){return Ql.Socket}});var D_=L_(At()),Zl=(0,D_.default)("socket.io-client"),Es={};function an(r,e){typeof r=="object"&&(e=r,r=void 0),e=e||{};let t=(0,N_.url)(r,e.path||"/socket.io"),n=t.source,s=t.id,i=t.path,a=Es[s]&&i in Es[s].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||a,u;return c?(Zl("ignoring socket cache for %s",n),u=new Ki.Manager(n,e)):(Es[s]||(Zl("new io instance for %s",n),Es[s]=new Ki.Manager(n,e)),u=Es[s]),t.query&&!e.query&&(e.query=t.queryKey),u.socket(t.path,e)}Object.assign(an,{Manager:Ki.Manager,Socket:Ql.Socket,io:an,connect:an});var F_=Hi();Object.defineProperty(Me,"protocol",{enumerable:!0,get:function(){return F_.protocol}});var jn=Bi();Object.defineProperty(Me,"Fetch",{enumerable:!0,get:function(){return jn.Fetch}});Object.defineProperty(Me,"NodeXHR",{enumerable:!0,get:function(){return jn.NodeXHR}});Object.defineProperty(Me,"XHR",{enumerable:!0,get:function(){return jn.XHR}});Object.defineProperty(Me,"NodeWebSocket",{enumerable:!0,get:function(){return jn.NodeWebSocket}});Object.defineProperty(Me,"WebSocket",{enumerable:!0,get:function(){return jn.WebSocket}});Object.defineProperty(Me,"WebTransport",{enumerable:!0,get:function(){return jn.WebTransport}});eh.exports=an});var ih=F(zi=>{"use strict";Object.defineProperty(zi,"__esModule",{value:!0});zi.WebSocketService=void 0;var M_=th(),rh=kr(),nh=zs(),sh=Hs(),Ja=class{authService;cryptoService;config;logger;notification;deviceId;platform;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;clientDetachedHandler=null;agentId=null;hasConnectedOnce=!1;isRemoteRename=!1;negotiatedCapabilities=[];HEARTBEAT_INTERVAL=3e4;HEARTBEAT_TIMEOUT=1e4;heartbeatTimer=null;pongTimer=null;lastPongTime=0;isManualDisconnect=!1;reconnectAttempts=0;reconnectTimer=null;networkCheckTimer=null;isOnline=!0;lastNetworkCheck=0;rekeyingTerminals=new Set;outputBuffer=new Map;OUTPUT_BUFFER_MAX_SIZE=1e3;RECONNECT_BASE_DELAY=1e3;RECONNECT_MAX_DELAY=3e4;RECONNECT_JITTER=.2;NETWORK_CHECK_INTERVAL=5e3;constructor(e,t,n,s,i,a,c="vscode"){this.authService=e,this.cryptoService=t,this.config=n,this.logger=s,this.notification=i,this.deviceId=a,this.platform=c}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,nh.getWsUrl)(this.config);this.logger.info("Connecting to WebSocket",t),this.statusChangeHandler?.("connecting");let n=await this.cryptoService.getPublicKey();return new Promise((s,i)=>{this.socket=(0,M_.io)(`${t}/agent`,{auth:{token:e,protocolVersion:rh.PROTOCOL_VERSION,deviceId:this.deviceId,platform:this.platform,capabilities:rh.DEFAULT_CLIENT_CAPABILITIES,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 a of this.reconnectHandlers)a()}else this.hasConnectedOnce=!0,s()}),this.socket.on("error",a=>{this.logger.error(`Server error [${a.code}]: ${a.message}`),a.code==="E401"&&(this.logger.warn("Auth failure (E401)"),this.authFailureHandler?.())}),this.socket.on("disconnect",a=>{this.logger.warn("WebSocket disconnected",a),this.stopHeartbeat(),this.statusChangeHandler?.("disconnected"),this.isManualDisconnect||(a==="transport close"?(this.logger.info("Transport close - attempting immediate reconnect"),this.attemptReconnect(!0)):this.scheduleReconnect())}),this.socket.on("protocol:info",a=>{this.logger.info("Protocol info received",a.protocolVersion),this.negotiatedCapabilities=a.negotiatedCapabilities,a.agentName&&this.config.getAgentName()!==a.agentName&&(this.isRemoteRename=!0,this.config.setAgentName(a.agentName).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.agentName),this.logger.info("Agent name synced from server",a.agentName))}),this.socket.on("pong",()=>{this.lastPongTime=Date.now(),this.clearPongTimeout(),this.logger.debug("Heartbeat pong received")}),this.socket.on("connect_error",a=>{this.logger.error("WebSocket connection error",a),this.statusChangeHandler?.("error"),this.hasConnectedOnce||i(a),this.scheduleReconnect()}),this.socket.on("terminal:input",a=>{this.handleTerminalInput(a)}),this.socket.on("crypto:keyExchange",async(a,c)=>{this.logger.info("Received key exchange request",a.terminalId,a.sessionId),this.rekeyingTerminals.add(a.terminalId),this.outputBuffer.set(a.terminalId,[]);try{if(await this.cryptoService.handleKeyExchange(a.terminalId,a.clientPublicKey,a.sessionId)){let d=await this.cryptoService.getPublicKey();c?.({success:!0,agentPublicKey:d||void 0}),this.flushOutputBuffer(a.terminalId)}else c?.({success:!1,error:"Key exchange failed"})}catch(u){this.logger.error("Key exchange error",u),c?.({success:!1,error:String(u)})}finally{this.rekeyingTerminals.delete(a.terminalId),this.outputBuffer.delete(a.terminalId)}}),this.socket.on("crypto:sessionCleanup",a=>{this.cryptoService.removeSession(a.terminalId,a.sessionId)}),this.socket.on("agent:keyExchangeRequest",async a=>{try{let c=await this.cryptoService.handleAgentKeyExchange(a.clientPublicKey,a.sessionId),u={agentId:a.agentId,sessionId:a.sessionId,ok:c,error:c?void 0:"Key exchange failed"};this.socket?.emit("agent:keyExchangeAck",u)}catch(c){this.logger.error("Agent key exchange error",c);let u={agentId:a.agentId,sessionId:a.sessionId,ok:!1,error:String(c)};this.socket?.emit("agent:keyExchangeAck",u)}}),this.socket.on("agent:sessionEnd",a=>{this.cryptoService.removeAgentSession(a.sessionId)}),this.socket.on("agent:renamed",a=>{this.logger.info("Agent renamed from web client",a.name),this.isRemoteRename=!0,this.config.setAgentName(a.name).then(()=>{setTimeout(()=>{this.isRemoteRename=!1},100)}),this.agentNameSyncHandler?.(a.name)}),this.socket.on("terminal:createRequest",a=>{this.createTerminalHandler?.(a.name)}),this.socket.on("terminal:getBuffer",(a,c)=>{if(!this.getBufferHandler){c?.({success:!1,error:"Buffer handler not set"});return}let u=this.getBufferHandler(a.terminalId);if(u===null){c?.({success:!1,error:"Terminal not found"});return}let d=this.cryptoService.encryptOutput(a.terminalId,u);c?.(d?{success:!0,encrypted:d}:{success:!0,data:u}),this.redrawHandler?.(a.terminalId)}),this.socket.on("terminal:resize",a=>{this.resizeHandler?.(a.terminalId,a.cols,a.rows)}),this.socket.on("workspace:clientAttached",a=>{this.clientAttachedHandler?.(a)}),this.socket.on("workspace:clientDetached",a=>{this.clientDetachedHandler?.(a)}),this.socket.on("file:view",a=>{this.fileViewRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:list",a=>{this.fileListRequestHandler?.(a.terminalId,a.request)}),this.socket.on("file:download:request",a=>{this.fileDownloadRequestHandler?.(a.terminalId,a.path,a.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}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})}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 s=this.cryptoService.encryptOutput(t,n),i={instanceId:e,terminalId:t,...s?{encrypted:s}:{data:n}};this.socket?.emit("terminal:output",i)}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:s}of t){let i=this.cryptoService.encryptOutput(e,s),a={instanceId:n,terminalId:e,...i?{encrypted:i}:{data:s}};this.socket?.emit("terminal:output",a)}}}async updateStatus(e){await this.emit("terminal:status",e)}sendTerminalEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("terminal:event",s)}hasCapability(e){return this.negotiatedCapabilities.includes(e)}sendFileChangedEvent(e,t,n){let s={instanceId:e,terminalId:t,event:n};this.socket?.emit("file:changed",s)}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,sh.generateCorrelationId)(),s=t&&typeof t=="object"&&!Array.isArray(t)?{...t,_cid:n}:t;return(0,sh.runWithCorrelation)(n,()=>new Promise((i,a)=>{if(!this.socket?.connected){a(new Error("WebSocket not connected"));return}this.socket.emit(e,s,c=>{c.success?i(c):a(new Error(c.error||"Unknown error"))})}))}startHeartbeat(){this.stopHeartbeat(),this.lastPongTime=Date.now(),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"),this.statusChangeHandler?.("error")},this.HEARTBEAT_TIMEOUT)},this.HEARTBEAT_INTERVAL)}stopHeartbeat(){this.heartbeatTimer&&(clearInterval(this.heartbeatTimer),this.heartbeatTimer=null),this.clearPongTimeout()}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);return}t=n}else if(e.data)t=Buffer.from(e.data,"base64").toString("utf8");else{this.logger.error("Invalid terminal input payload");return}this.inputHandler?.(e.terminalId,t,e.dbTerminalId)}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,nh.getApiUrl)(this.config)}/health`,n=new AbortController,s=setTimeout(()=>n.abort(),5e3),i=await fetch(t,{method:"GET",signal:n.signal});return clearTimeout(s),this.logger.debug("Network check OK",String(i.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)}};zi.WebSocketService=Ja});var ah=F(rr=>{"use strict";var B_=rr&&rr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),j_=rr&&rr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),Qa=rr&&rr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&B_(t,e,n[s]);return j_(t,e),t}})();Object.defineProperty(rr,"__esModule",{value:!0});rr.FileTransferService=void 0;var $i=Qa(require("fs")),U_=Qa(require("path")),oh=Qa(require("crypto")),Be=kr(),Za=class{socket=null;activeTransfers=new Map;instanceId="";logger;fallbackDir;constructor(e,t="/tmp"){this.logger=e,this.fallbackDir=t}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,s,i){let a=$i.readFileSync(t),c=t.split("/").pop()||"file";return this.initAndSendChunks(e,a,c,{mimeType:this.getMimeType(c),requestId:i,onProgress:n,onComplete:s})}async sendBuffer(e,t,n,s,i){return this.initAndSendChunks(e,t,n,{mimeType:s,purpose:i?.purpose,viewMetadata:i?.viewMetadata,requestId:i?.requestId,onProgress:i?.onProgress,onComplete:i?.onComplete})}async initAndSendChunks(e,t,n,s){if(!this.socket)throw new Error("Socket not connected");let i=t.length,a=(0,Be.calculateTotalChunks)(i),c=this.calculateChecksum(t),u=oh.randomUUID(),d={id:u,terminalId:e,filename:n,size:i,totalChunks:a,direction:Be.TransferDirection.DOWNLOAD,status:Be.TransferStatus.PENDING,deliveredChunks:new Set,pendingChunks:new Map,checksum:c,checksumAlgorithm:"sha256",onProgress:s.onProgress?(m,y)=>s.onProgress(u,m,y):void 0,onComplete:s.onComplete?(m,y)=>s.onComplete(u,m,y):void 0,ackTimeouts:new Map};d.chunks=[];for(let m=0;m<a;m++){let y=m*Be.CHUNK_SIZE,w=Math.min(y+Be.CHUNK_SIZE,i);d.chunks.push(t.subarray(y,w))}this.activeTransfers.set(u,d);let g={transferId:u,terminalId:e,filename:n,size:i,totalChunks:a,mimeType:s.mimeType||"application/octet-stream",checksum:c,direction:Be.TransferDirection.DOWNLOAD,instanceId:this.instanceId};return s.requestId&&(g.requestId=s.requestId),s.purpose&&(g.purpose=s.purpose),s.viewMetadata&&(g.viewMetadata=s.viewMetadata),new Promise((m,y)=>{this.socket.emit("file:init",g,w=>{w.accepted?(d.status=Be.TransferStatus.ACTIVE,this.startSendingChunks(u),m(u)):(this.activeTransfers.delete(u),y(new Error(w.error||"Transfer rejected")))})})}async receiveFile(e,t,n,s,i,a,c,u="sha256",d,g){let m={id:e,terminalId:t,filename:n,filePath:c,size:s,totalChunks:i,direction:Be.TransferDirection.UPLOAD,status:Be.TransferStatus.ACTIVE,deliveredChunks:new Set,pendingChunks:new Map,chunks:new Array(i).fill(null),checksum:a,checksumAlgorithm:u,onProgress:d?(y,w)=>d(e,y,w):void 0,onComplete:g?(y,w)=>g(e,y,w):void 0,ackTimeouts:new Map};this.activeTransfers.set(e,m)}cancelTransfer(e,t){let n=this.activeTransfers.get(e);if(n){for(let s of n.ackTimeouts.values())clearTimeout(s);if(n.status=Be.TransferStatus.CANCELLED,n.onComplete?.(!1,t),this.socket){let s={transferId:e,reason:t};this.socket.emit("file:cancel",s)}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===Be.TransferStatus.EXPIRED){t.onComplete?.(!1,"Transfer expired"),this.activeTransfers.delete(e);return}if(n.deliveredChunks)for(let s of n.deliveredChunks)t.deliveredChunks.add(s);if(t.direction===Be.TransferDirection.DOWNLOAD&&n.missingChunks){t.status=Be.TransferStatus.ACTIVE;for(let s of n.missingChunks)this.sendChunk(t,s)}})}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=Be.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(Be.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 s=e.pendingChunks.get(t),i={seq:t,data:n,retries:s?s.retries:0,sentAt:Date.now()};e.pendingChunks.set(t,i);let a={transferId:e.id,seq:t,data:n.buffer.slice(n.byteOffset,n.byteOffset+n.byteLength)};this.socket.emit("file:chunk",a,u=>{u&&!u.success&&this.cancelTransfer(e.id,u.error||"Server rejected chunk")});let c=setTimeout(()=>{this.handleAckTimeout(e.id,t)},Be.ACK_TIMEOUT_MS);e.ackTimeouts.set(t,c)}handleChunkAck(e){let t=this.activeTransfers.get(e.transferId);if(!t||t.status===Be.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 s=e.seq+Be.WINDOW_SIZE;s<t.totalChunks&&!t.deliveredChunks.has(s)&&this.sendChunk(t,s),t.deliveredChunks.size===t.totalChunks&&this.finishSending(t)}handleAckTimeout(e,t){let n=this.activeTransfers.get(e);if(!n)return;let s=n.pendingChunks.get(t);s&&(s.retries<Be.MAX_RETRIES?(s.retries++,this.sendChunk(n,t)):this.cancelTransfer(e,"Max retries exceeded"))}finishSending(e){if(!this.socket)return;e.status=Be.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)){if(t.chunks[e.seq]=Buffer.from(e.data),t.deliveredChunks.add(e.seq),this.socket){let n={transferId:e.transferId,seq:e.seq};this.socket.emit("file:chunk:ack",n)}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=Be.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 s=U_.dirname(e.filePath);$i.existsSync(s)||$i.mkdirSync(s,{recursive:!0}),$i.writeFileSync(e.filePath,t),e.status=Be.TransferStatus.COMPLETED,e.onComplete?.(!0),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!0})}catch(s){let i=s instanceof Error?s.message:String(s);e.status=Be.TransferStatus.FAILED,e.onComplete?.(!1,`Failed to save file: ${i}`),this.socket&&this.socket.emit("file:complete",{transferId:e.id,success:!1,error:`Failed to save file: ${i}`})}this.activeTransfers.delete(e.id)}handleComplete(e){let t=this.activeTransfers.get(e.transferId);if(t){e.success?(t.status=Be.TransferStatus.COMPLETED,t.onComplete?.(!0)):(t.status=Be.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 s=`${e.targetPath||this.fallbackDir}/${e.filename}`;this.receiveFile(e.transferId,e.terminalId,e.filename,e.size,e.totalChunks,e.checksum,s,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):oh.createHash("sha256").update(e).digest("hex")}fnv1aHash(e){let t=2166136261;for(let s=0;s<e.length;s++)t^=e[s],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"}};rr.FileTransferService=Za});var oc=F((_w,Xi)=>{function uh(r){return Array.isArray(r)?r:[r]}var q_=void 0,tc="",ch=" ",ec="\\",W_=/^\s+$/,H_=/(?:[^\\]|^)\\$/,V_=/^\\!/,K_=/^\\#/,z_=/\r?\n/g,$_=/^\.{0,2}\/|^\.{1,2}$/,G_=/\/$/,Un="/",lh="node-ignore";typeof Symbol<"u"&&(lh=Symbol.for("node-ignore"));var hh=lh,qn=(r,e,t)=>(Object.defineProperty(r,e,{value:t}),t),Y_=/([0-z])-([0-z])/g,dh=()=>!1,X_=r=>r.replace(Y_,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:tc),J_=r=>{let{length:e}=r;return r.slice(0,e-e%2)},Z_=[[/^\uFEFF/,()=>tc],[/((?:\\\\)*?)(\\?\s+)$/,(r,e,t)=>e+(t.indexOf("\\")===0?ch:tc)],[/(\\+?)\s/g,(r,e)=>{let{length:t}=e;return e.slice(0,t-t%2)+ch}],[/[\\$.|*+(){^]/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,()=>ec],[/\\\\/g,()=>ec],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(r,e,t,n,s)=>e===ec?`\\[${t}${J_(n)}${s}`:s==="]"&&n.length%2===0?`[${X_(t)}${n}]`:"[]"],[/(?:[^*])$/,r=>/\/$/.test(r)?`${r}$`:`${r}(?=$|\\/$)`]],Q_=/(^|\\\/)?\\\*$/,vs="regex",Gi="checkRegex",fh="_",ey={[vs](r,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Gi](r,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},ty=r=>Z_.reduce((e,[t,n])=>e.replace(t,n.bind(r)),r),Yi=r=>typeof r=="string",ry=r=>r&&Yi(r)&&!W_.test(r)&&!H_.test(r)&&r.indexOf("#")!==0,ny=r=>r.split(z_).filter(Boolean),rc=class{constructor(e,t,n,s,i,a){this.pattern=e,this.mark=t,this.negative=i,qn(this,"body",n),qn(this,"ignoreCase",s),qn(this,"regexPrefix",a)}get regex(){let e=fh+vs;return this[e]?this[e]:this._make(vs,e)}get checkRegex(){let e=fh+Gi;return this[e]?this[e]:this._make(Gi,e)}_make(e,t){let n=this.regexPrefix.replace(Q_,ey[e]),s=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return qn(this,t,s)}},sy=({pattern:r,mark:e},t)=>{let n=!1,s=r;s.indexOf("!")===0&&(n=!0,s=s.substr(1)),s=s.replace(V_,"!").replace(K_,"#");let i=ty(s);return new rc(r,e,s,t,n,i)},nc=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[hh]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(Yi(e)&&(e={pattern:e}),ry(e.pattern)){let t=sy(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,uh(Yi(e)?ny(e):e).forEach(this._add,this),this._added}test(e,t,n){let s=!1,i=!1,a;this._rules.forEach(u=>{let{negative:d}=u;i===d&&s!==i||d&&!s&&!i&&!t||!u[n].test(e)||(s=!d,i=d,a=d?q_:u)});let c={ignored:s,unignored:i};return a&&(c.rule=a),c}},iy=(r,e)=>{throw new e(r)},yr=(r,e,t)=>Yi(r)?r?yr.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),ph=r=>$_.test(r);yr.isNotRelative=ph;yr.convert=r=>r;var sc=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){qn(this,hh,!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,s){let i=e&&yr.convert(e);return yr(i,e,this._strictPathCheck?iy:dh),this._t(i,t,n,s)}checkIgnore(e){if(!G_.test(e))return this.test(e);let t=e.split(Un).filter(Boolean);if(t.pop(),t.length){let n=this._t(t.join(Un)+Un,this._testCache,!0,t);if(n.ignored)return n}return this._rules.test(e,!1,Gi)}_t(e,t,n,s){if(e in t)return t[e];if(s||(s=e.split(Un).filter(Boolean)),s.pop(),!s.length)return t[e]=this._rules.test(e,n,vs);let i=this._t(s.join(Un)+Un,t,n,s);return t[e]=i.ignored?i:this._rules.test(e,n,vs)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return uh(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},ic=r=>new sc(r),oy=r=>yr(r&&yr.convert(r),r,dh),gh=()=>{let r=t=>/^\\\\\?\\/.test(t)||/["<>|\u0000-\u001F]+/u.test(t)?t:t.replace(/\\/g,"/");yr.convert=r;let e=/^[a-z]:\//i;yr.isNotRelative=t=>e.test(t)||ph(t)};typeof process<"u"&&process.platform==="win32"&&gh();Xi.exports=ic;ic.default=ic;Xi.exports.isPathValid=oy;qn(Xi.exports,Symbol.for("setupWindows"),gh)});var _h=F(Dt=>{"use strict";var ay=Dt&&Dt.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),cy=Dt&&Dt.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),mh=Dt&&Dt.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&ay(t,e,n[s]);return cy(t,e),t}})(),fy=Dt&&Dt.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(Dt,"__esModule",{value:!0});Dt.FileListService=void 0;var ws=mh(require("path")),ac=mh(require("fs/promises")),uy=fy(oc()),cc=kr(),ly=["node_modules",".pnpm","vendor",".git","dist","build","out",".next",".nuxt",".output",".cache",".turbo",".idea",".vscode",".DS_Store","Thumbs.db"],fc=class{ignoreFilter;workspaceRoot;onResponseCallback=null;logger;constructor(e,t){this.logger=e,this.workspaceRoot=t,this.ignoreFilter=(0,uy.default)(),this.ignoreFilter.add(ly),this.workspaceRoot&&this.loadGitignore(),this.logger.info("FileListService initialized",t||"null")}async loadGitignore(){if(!this.workspaceRoot)return;let e=ws.join(this.workspaceRoot,".gitignore");try{let t=await ac.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 ac.readdir(e,{withFileTypes:!0}),s=[];for(let i of n){let a=t==="."||t===""?i.name:ws.join(t,i.name);if(this.shouldHide(a,i.isDirectory()))continue;let c=ws.join(e,i.name),u={name:i.name,path:a,type:i.isDirectory()?cc.FileEntryType.DIRECTORY:cc.FileEntryType.FILE};if(!i.isDirectory())try{let d=await ac.stat(c);u.size=d.size,u.modified=d.mtime.toISOString()}catch{}s.push(u)}return s.sort((i,a)=>i.type!==a.type?i.type===cc.FileEntryType.DIRECTORY?-1:1:i.name.localeCompare(a.name))}shouldHide(e,t){let n=e.split(ws.sep).join("/"),s=t?`${n}/`:n;return this.ignoreFilter.ignores(s)}resolvePath(e){if(!this.workspaceRoot)throw new Error("No workspace root");if(e==="."||e==="")return this.workspaceRoot;let t=ws.join(this.workspaceRoot,e);if(!t.startsWith(this.workspaceRoot))throw new Error("Path outside workspace");return t}sendResponse(e){this.onResponseCallback?.(e)}dispose(){this.onResponseCallback=null}};Dt.FileListService=fc});var Eh=F(nr=>{"use strict";var hy=nr&&nr.__createBinding||(Object.create?(function(r,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(r,n,s)}):(function(r,e,t,n){n===void 0&&(n=t),r[n]=e[t]})),dy=nr&&nr.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),yh=nr&&nr.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(t){var n=[];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(n[n.length]=s);return n},r(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n=r(e),s=0;s<n.length;s++)n[s]!=="default"&&hy(t,e,n[s]);return dy(t,e),t}})();Object.defineProperty(nr,"__esModule",{value:!0});nr.FileTrackerService=void 0;var uc=yh(require("path")),cn=yh(require("fs/promises")),py=require("child_process"),gy=require("util"),Wt=kr(),lc=(0,gy.promisify)(py.exec),hc={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},dc=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(s){this.logger.error("Error parsing tool calls",s)}}async parseToolCalls(e,t){let n=this.stripAnsi(t),s=n.match(hc.toolStart);if(s){let a=s[1],c=s[2],u=`${a}_${Date.now()}_${c}`;this.pendingToolCalls.has(u)||await this.handleToolStart(e,u,a,{file_path:c})}let i=n.match(hc.toolSuccess);if(i){let a=i[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(hc.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,s){if(!this.isFileModifyingTool(n))return;let i=this.extractFilePath(n,s);if(!i)return;let a=this.resolveFilePath(i),c={toolId:t,toolName:n,filePath:i,timestamp:new Date().toISOString()};this.pendingToolCalls.set(t,c);let u;try{u=await cn.readFile(a,"utf-8")}catch{u=void 0}let d={path:i,changeType:u===void 0?Wt.FileChangeType.CREATE:Wt.FileChangeType.MODIFY,toolName:n,toolId:t,timestamp:c.timestamp,previousContent:u},g=this.trackedFiles.get(e)||[];g.push(d),this.trackedFiles.set(e,g)}async handleToolEnd(e,t,n,s){if(!this.isFileModifyingTool(n)||!this.pendingToolCalls.get(t))return;if(this.pendingToolCalls.delete(t),s==="error"){let g=this.trackedFiles.get(e)||[],m=g.findIndex(y=>y.toolId===t);m!==-1&&g.splice(m,1);return}let c=(this.trackedFiles.get(e)||[]).find(g=>g.toolId===t);if(!c)return;let u=this.resolveFilePath(c.path);try{let g=await cn.stat(u);c.size=g.size}catch{c.changeType=Wt.FileChangeType.DELETE,c.size=void 0}let d={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,d)}async handleViewRequest(e,t){let n=this.resolveFilePath(t.path),s=this.getViewableMimeType(t.path);if(s&&this.onFileViewTransferCallback){try{let a=await cn.readFile(n),c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s};this.onFileViewTransferCallback(e,Buffer.from(a),c)}catch(a){let c={requestId:t.requestId,path:t.path,viewType:"content",mimeType:s,error:a instanceof Error?a.message:"Unknown error"};this.onFileViewTransferCallback(e,Buffer.alloc(0),c)}return}let i;try{t.type===Wt.FileViewType.CONTENT?i=await this.getFileContent(t,n):i=await this.getFileDiff(e,t,n)}catch(a){i={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:i.type===Wt.FileViewType.CONTENT?"content":"diff",language:i.language,truncated:i.truncated,error:i.error},c=Buffer.from(i.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,s=await cn.stat(t),i=await cn.readFile(t,"utf-8"),a=!1,c=i;return i.length>n&&(c=i.slice(0,n),a=!0),{requestId:e.requestId,path:e.path,type:Wt.FileViewType.CONTENT,content:c,language:(0,Wt.getLanguageFromPath)(e.path),size:s.size,truncated:a}}async getFileDiff(e,t,n){let s=t.diffBase||Wt.DiffBase.GIT,i;return s===Wt.DiffBase.GIT?i=await this.getGitDiff(n):i=await this.getPreviousDiff(e,t.path,n),{requestId:t.requestId,path:t.path,type:Wt.FileViewType.DIFF,content:i,language:"diff"}}async getGitDiff(e){if(!this.workspaceRoot)throw new Error("No workspace root");try{let{stdout:t}=await lc(`git diff --cached -- "${e}"`,{cwd:this.workspaceRoot});if(t.trim())return t;let{stdout:n}=await lc(`git diff -- "${e}"`,{cwd:this.workspaceRoot});if(n.trim())return n;let{stdout:s}=await lc(`git status --porcelain -- "${e}"`,{cwd:this.workspaceRoot});if(s.startsWith("??")||s.startsWith("A ")){let a=(await cn.readFile(e,"utf-8")).split(`
27
27
  `),c=uc.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(`
28
28
  `)}return"(no changes)"}catch{throw new Error("Git not available")}}async getPreviousDiff(e,t,n){let a=(this.trackedFiles.get(e)||[]).find(d=>d.path===t&&d.previousContent!==void 0)?.previousContent||"",c;try{c=await cn.readFile(n,"utf-8")}catch{c=""}let u=(0,Wt.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 s of n.lines)switch(s.type){case"add":t.push(`+${s.content}`);break;case"remove":t.push(`-${s.content}`);break;case"context":t.push(` ${s.content}`);break}}return t.join(`
29
- `)}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){return uc.isAbsolute(e)?e:this.workspaceRoot?uc.join(this.workspaceRoot,e):e}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};nr.FileTrackerService=dc});var vh=F(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.FileTrackerService=ft.FileListService=ft.FileTransferService=ft.WebSocketService=ft.StatusDetector=ft.AuthService=ft.CryptoService=void 0;var py=Kf();Object.defineProperty(ft,"CryptoService",{enumerable:!0,get:function(){return py.CryptoService}});var gy=$f();Object.defineProperty(ft,"AuthService",{enumerable:!0,get:function(){return gy.AuthService}});var my=zf();Object.defineProperty(ft,"StatusDetector",{enumerable:!0,get:function(){return my.StatusDetector}});var _y=ih();Object.defineProperty(ft,"WebSocketService",{enumerable:!0,get:function(){return _y.WebSocketService}});var yy=ah();Object.defineProperty(ft,"FileTransferService",{enumerable:!0,get:function(){return yy.FileTransferService}});var Ey=_h();Object.defineProperty(ft,"FileListService",{enumerable:!0,get:function(){return Ey.FileListService}});var vy=Eh();Object.defineProperty(ft,"FileTrackerService",{enumerable:!0,get:function(){return vy.FileTrackerService}})});var bs=F(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.FileTrackerService=Se.FileListService=Se.FileTransferService=Se.WebSocketService=Se.StatusDetector=Se.AuthService=Se.CryptoService=Se.getCurrentCorrelationId=Se.runWithCorrelation=Se.generateCorrelationId=Se.getWsUrl=Se.getApiUrl=Se.CircularBuffer=Se.formatLogLine=Se.shouldLog=Se.LOG_LEVELS=void 0;var pc=uf();Object.defineProperty(Se,"LOG_LEVELS",{enumerable:!0,get:function(){return pc.LOG_LEVELS}});Object.defineProperty(Se,"shouldLog",{enumerable:!0,get:function(){return pc.shouldLog}});Object.defineProperty(Se,"formatLogLine",{enumerable:!0,get:function(){return pc.formatLogLine}});var Wn=df();Object.defineProperty(Se,"CircularBuffer",{enumerable:!0,get:function(){return Wn.CircularBuffer}});Object.defineProperty(Se,"getApiUrl",{enumerable:!0,get:function(){return Wn.getApiUrl}});Object.defineProperty(Se,"getWsUrl",{enumerable:!0,get:function(){return Wn.getWsUrl}});Object.defineProperty(Se,"generateCorrelationId",{enumerable:!0,get:function(){return Wn.generateCorrelationId}});Object.defineProperty(Se,"runWithCorrelation",{enumerable:!0,get:function(){return Wn.runWithCorrelation}});Object.defineProperty(Se,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Wn.getCurrentCorrelationId}});var fn=vh();Object.defineProperty(Se,"CryptoService",{enumerable:!0,get:function(){return fn.CryptoService}});Object.defineProperty(Se,"AuthService",{enumerable:!0,get:function(){return fn.AuthService}});Object.defineProperty(Se,"StatusDetector",{enumerable:!0,get:function(){return fn.StatusDetector}});Object.defineProperty(Se,"WebSocketService",{enumerable:!0,get:function(){return fn.WebSocketService}});Object.defineProperty(Se,"FileTransferService",{enumerable:!0,get:function(){return fn.FileTransferService}});Object.defineProperty(Se,"FileListService",{enumerable:!0,get:function(){return fn.FileListService}});Object.defineProperty(Se,"FileTrackerService",{enumerable:!0,get:function(){return fn.FileTrackerService}})});var yc=F((Ss,_c)=>{(function(r,e){typeof Ss=="object"&&typeof _c=="object"?_c.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Ss=="object"?Ss["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Ss,function(r,e){return(function(t){function n(i){if(s[i])return s[i].exports;var a=s[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var s={};return n.m=t,n.c=s,n.p="",n(0)})([function(t,n,s){t.exports=s(34)},function(t,n,s){var i=s(29)("wks"),a=s(33),c=s(2).Symbol,u=typeof c=="function",d=t.exports=function(g){return i[g]||(i[g]=u&&c[g]||(u?c:a)("Symbol."+g))};d.store=i},function(t,n){var s=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=s)},function(t,n,s){var i=s(9);t.exports=function(a){if(!i(a))throw TypeError(a+" is not an object!");return a}},function(t,n,s){t.exports=!s(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,s){var i=s(12),a=s(17);t.exports=s(4)?function(c,u,d){return i.f(c,u,a(1,d))}:function(c,u,d){return c[u]=d,c}},function(t,n){var s=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=s)},function(t,n,s){var i=s(14);t.exports=function(a,c,u){if(i(a),c===void 0)return a;switch(u){case 1:return function(d){return a.call(c,d)};case 2:return function(d,g){return a.call(c,d,g)};case 3:return function(d,g,m){return a.call(c,d,g,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var s={}.hasOwnProperty;t.exports=function(i,a){return s.call(i,a)}},function(t,n){t.exports=function(s){return typeof s=="object"?s!==null:typeof s=="function"}},function(t,n){t.exports={}},function(t,n){var s={}.toString;t.exports=function(i){return s.call(i).slice(8,-1)}},function(t,n,s){var i=s(3),a=s(26),c=s(32),u=Object.defineProperty;n.f=s(4)?Object.defineProperty:function(d,g,m){if(i(d),g=c(g,!0),i(m),a)try{return u(d,g,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(d[g]=m.value),d}},function(t,n,s){var i=s(42),a=s(15);t.exports=function(c){return i(a(c))}},function(t,n){t.exports=function(s){if(typeof s!="function")throw TypeError(s+" is not a function!");return s}},function(t,n){t.exports=function(s){if(s==null)throw TypeError("Can't call method on "+s);return s}},function(t,n,s){var i=s(9),a=s(2).document,c=i(a)&&i(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(s,i){return{enumerable:!(1&s),configurable:!(2&s),writable:!(4&s),value:i}}},function(t,n,s){var i=s(12).f,a=s(8),c=s(1)("toStringTag");t.exports=function(u,d,g){u&&!a(u=g?u:u.prototype,c)&&i(u,c,{configurable:!0,value:d})}},function(t,n,s){var i=s(29)("keys"),a=s(33);t.exports=function(c){return i[c]||(i[c]=a(c))}},function(t,n){var s=Math.ceil,i=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?i:s)(a)}},function(t,n,s){var i=s(11),a=s(1)("toStringTag"),c=i((function(){return arguments})())=="Arguments",u=function(d,g){try{return d[g]}catch{}};t.exports=function(d){var g,m,y;return d===void 0?"Undefined":d===null?"Null":typeof(m=u(g=Object(d),a))=="string"?m:c?i(g):(y=i(g))=="Object"&&typeof g.callee=="function"?"Arguments":y}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,s){var i=s(2),a=s(6),c=s(7),u=s(5),d="prototype",g=function(m,y,w){var S,C,V,de=m&g.F,B=m&g.G,P=m&g.S,L=m&g.P,Q=m&g.B,j=m&g.W,Z=B?a:a[y]||(a[y]={}),pe=Z[d],Ee=B?i:P?i[y]:(i[y]||{})[d];B&&(w=y);for(S in w)C=!de&&Ee&&Ee[S]!==void 0,C&&S in Z||(V=C?Ee[S]:w[S],Z[S]=B&&typeof Ee[S]!="function"?w[S]:Q&&C?c(V,i):j&&Ee[S]==V?(function(ve){var He=function($e,Te,ze){if(this instanceof ve){switch(arguments.length){case 0:return new ve;case 1:return new ve($e);case 2:return new ve($e,Te)}return new ve($e,Te,ze)}return ve.apply(this,arguments)};return He[d]=ve[d],He})(V):L&&typeof V=="function"?c(Function.call,V):V,L&&((Z.virtual||(Z.virtual={}))[S]=V,m&g.R&&pe&&!pe[S]&&u(pe,S,V)))};g.F=1,g.G=2,g.S=4,g.P=8,g.B=16,g.W=32,g.U=64,g.R=128,t.exports=g},function(t,n){t.exports=function(s){try{return!!s()}catch{return!0}}},function(t,n,s){t.exports=s(2).document&&document.documentElement},function(t,n,s){t.exports=!s(4)&&!s(24)(function(){return Object.defineProperty(s(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,s){"use strict";var i=s(28),a=s(23),c=s(57),u=s(5),d=s(8),g=s(10),m=s(45),y=s(18),w=s(52),S=s(1)("iterator"),C=!([].keys&&"next"in[].keys()),V="@@iterator",de="keys",B="values",P=function(){return this};t.exports=function(L,Q,j,Z,pe,Ee,ve){m(j,Q,Z);var He,$e,Te,ze=function(U){if(!C&&U in te)return te[U];switch(U){case de:return function(){return new j(this,U)};case B:return function(){return new j(this,U)}}return function(){return new j(this,U)}},Ve=Q+" Iterator",Ze=pe==B,z=!1,te=L.prototype,Re=te[S]||te[V]||pe&&te[pe],je=Re||ze(pe),yt=pe?Ze?ze("entries"):je:void 0,N=Q=="Array"&&te.entries||Re;if(N&&(Te=w(N.call(new L)),Te!==Object.prototype&&(y(Te,Ve,!0),i||d(Te,S)||u(Te,S,P))),Ze&&Re&&Re.name!==B&&(z=!0,je=function(){return Re.call(this)}),i&&!ve||!C&&!z&&te[S]||u(te,S,je),g[Q]=je,g[Ve]=P,pe)if(He={values:Ze?je:ze(B),keys:Ee?je:ze(de),entries:yt},ve)for($e in He)$e in te||c(te,$e,He[$e]);else a(a.P+a.F*(C||z),Q,He);return He}},function(t,n){t.exports=!0},function(t,n,s){var i=s(2),a="__core-js_shared__",c=i[a]||(i[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,s){var i,a,c,u=s(7),d=s(41),g=s(25),m=s(16),y=s(2),w=y.process,S=y.setImmediate,C=y.clearImmediate,V=y.MessageChannel,de=0,B={},P="onreadystatechange",L=function(){var j=+this;if(B.hasOwnProperty(j)){var Z=B[j];delete B[j],Z()}},Q=function(j){L.call(j.data)};S&&C||(S=function(j){for(var Z=[],pe=1;arguments.length>pe;)Z.push(arguments[pe++]);return B[++de]=function(){d(typeof j=="function"?j:Function(j),Z)},i(de),de},C=function(j){delete B[j]},s(11)(w)=="process"?i=function(j){w.nextTick(u(L,j,1))}:V?(a=new V,c=a.port2,a.port1.onmessage=Q,i=u(c.postMessage,c,1)):y.addEventListener&&typeof postMessage=="function"&&!y.importScripts?(i=function(j){y.postMessage(j+"","*")},y.addEventListener("message",Q,!1)):i=P in m("script")?function(j){g.appendChild(m("script"))[P]=function(){g.removeChild(this),L.call(j)}}:function(j){setTimeout(u(L,j,1),0)}),t.exports={set:S,clear:C}},function(t,n,s){var i=s(20),a=Math.min;t.exports=function(c){return c>0?a(i(c),9007199254740991):0}},function(t,n,s){var i=s(9);t.exports=function(a,c){if(!i(a))return a;var u,d;if(c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a))||typeof(u=a.valueOf)=="function"&&!i(d=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a)))return d;throw TypeError("Can't convert object to primitive value")}},function(t,n){var s=0,i=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++s+i).toString(36))}},function(t,n,s){"use strict";function i(P){return P&&P.__esModule?P:{default:P}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(P){return(0,S.createHash)("sha256").update(P).digest("hex")}function u(P){switch(V){case"darwin":return P.split("IOPlatformUUID")[1].split(`
30
- `)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return P.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return P.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return P.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function d(P){var L=u((0,w.execSync)(B[V]).toString());return P?L:c(L)}function g(P){return new y.default(function(L,Q){return(0,w.exec)(B[V],{},function(j,Z,pe){if(j)return Q(new Error("Error while obtaining machine id: "+j.stack));var Ee=u(Z.toString());return L(P?Ee:c(Ee))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=s(35),y=i(m);n.machineIdSync=d,n.machineId=g;var w=s(70),S=s(71),C=process,V=C.platform,de={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},B={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:de[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,s){t.exports={default:s(36),__esModule:!0}},function(t,n,s){s(66),s(68),s(69),s(67),t.exports=s(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(s,i,a,c){if(!(s instanceof i)||c!==void 0&&c in s)throw TypeError(a+": incorrect invocation!");return s}},function(t,n,s){var i=s(13),a=s(31),c=s(62);t.exports=function(u){return function(d,g,m){var y,w=i(d),S=a(w.length),C=c(m,S);if(u&&g!=g){for(;S>C;)if(y=w[C++],y!=y)return!0}else for(;S>C;C++)if((u||C in w)&&w[C]===g)return u||C||0;return!u&&-1}}},function(t,w,s){var i=s(7),a=s(44),c=s(43),u=s(3),d=s(31),g=s(64),m={},y={},w=t.exports=function(S,C,V,de,B){var P,L,Q,j,Z=B?function(){return S}:g(S),pe=i(V,de,C?2:1),Ee=0;if(typeof Z!="function")throw TypeError(S+" is not iterable!");if(c(Z)){for(P=d(S.length);P>Ee;Ee++)if(j=C?pe(u(L=S[Ee])[0],L[1]):pe(S[Ee]),j===m||j===y)return j}else for(Q=Z.call(S);!(L=Q.next()).done;)if(j=a(Q,pe,L.value,C),j===m||j===y)return j};w.BREAK=m,w.RETURN=y},function(t,n){t.exports=function(s,i,a){var c=a===void 0;switch(i.length){case 0:return c?s():s.call(a);case 1:return c?s(i[0]):s.call(a,i[0]);case 2:return c?s(i[0],i[1]):s.call(a,i[0],i[1]);case 3:return c?s(i[0],i[1],i[2]):s.call(a,i[0],i[1],i[2]);case 4:return c?s(i[0],i[1],i[2],i[3]):s.call(a,i[0],i[1],i[2],i[3])}return s.apply(a,i)}},function(t,n,s){var i=s(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return i(a)=="String"?a.split(""):Object(a)}},function(t,n,s){var i=s(10),a=s(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(i.Array===u||c[a]===u)}},function(t,n,s){var i=s(3);t.exports=function(a,c,u,d){try{return d?c(i(u)[0],u[1]):c(u)}catch(m){var g=a.return;throw g!==void 0&&i(g.call(a)),m}}},function(t,n,s){"use strict";var i=s(49),a=s(17),c=s(18),u={};s(5)(u,s(1)("iterator"),function(){return this}),t.exports=function(d,g,m){d.prototype=i(u,{next:a(1,m)}),c(d,g+" Iterator")}},function(t,n,s){var i=s(1)("iterator"),a=!1;try{var c=[7][i]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,d){if(!d&&!a)return!1;var g=!1;try{var m=[7],y=m[i]();y.next=function(){return{done:g=!0}},m[i]=function(){return y},u(m)}catch{}return g}},function(t,n){t.exports=function(s,i){return{value:i,done:!!s}}},function(t,n,s){var i=s(2),a=s(30).set,c=i.MutationObserver||i.WebKitMutationObserver,u=i.process,d=i.Promise,g=s(11)(u)=="process";t.exports=function(){var m,y,w,S=function(){var B,P;for(g&&(B=u.domain)&&B.exit();m;){P=m.fn,m=m.next;try{P()}catch(L){throw m?w():y=void 0,L}}y=void 0,B&&B.enter()};if(g)w=function(){u.nextTick(S)};else if(c){var C=!0,V=document.createTextNode("");new c(S).observe(V,{characterData:!0}),w=function(){V.data=C=!C}}else if(d&&d.resolve){var de=d.resolve();w=function(){de.then(S)}}else w=function(){a.call(i,S)};return function(B){var P={fn:B,next:void 0};y&&(y.next=P),m||(m=P,w()),y=P}}},function(t,n,s){var i=s(3),a=s(50),c=s(22),u=s(19)("IE_PROTO"),d=function(){},g="prototype",m=function(){var y,w=s(16)("iframe"),S=c.length,C=">";for(w.style.display="none",s(25).appendChild(w),w.src="javascript:",y=w.contentWindow.document,y.open(),y.write("<script>document.F=Object</script"+C),y.close(),m=y.F;S--;)delete m[g][c[S]];return m()};t.exports=Object.create||function(y,w){var S;return y!==null?(d[g]=i(y),S=new d,d[g]=null,S[u]=y):S=m(),w===void 0?S:a(S,w)}},function(t,n,s){var i=s(12),a=s(3),c=s(54);t.exports=s(4)?Object.defineProperties:function(u,d){a(u);for(var g,m=c(d),y=m.length,w=0;y>w;)i.f(u,g=m[w++],d[g]);return u}},function(t,n,s){var i=s(55),a=s(17),c=s(13),u=s(32),d=s(8),g=s(26),m=Object.getOwnPropertyDescriptor;n.f=s(4)?m:function(y,w){if(y=c(y),w=u(w,!0),g)try{return m(y,w)}catch{}if(d(y,w))return a(!i.f.call(y,w),y[w])}},function(t,n,s){var i=s(8),a=s(63),c=s(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(d){return d=a(d),i(d,c)?d[c]:typeof d.constructor=="function"&&d instanceof d.constructor?d.constructor.prototype:d instanceof Object?u:null}},function(t,n,s){var i=s(8),a=s(13),c=s(39)(!1),u=s(19)("IE_PROTO");t.exports=function(d,g){var m,y=a(d),w=0,S=[];for(m in y)m!=u&&i(y,m)&&S.push(m);for(;g.length>w;)i(y,m=g[w++])&&(~c(S,m)||S.push(m));return S}},function(t,n,s){var i=s(53),a=s(22);t.exports=Object.keys||function(c){return i(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,s){var i=s(5);t.exports=function(a,c,u){for(var d in c)u&&a[d]?a[d]=c[d]:i(a,d,c[d]);return a}},function(t,n,s){t.exports=s(5)},function(t,n,s){var i=s(9),a=s(3),c=function(u,d){if(a(u),!i(d)&&d!==null)throw TypeError(d+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,d,g){try{g=s(7)(Function.call,s(51).f(Object.prototype,"__proto__").set,2),g(u,[]),d=!(u instanceof Array)}catch{d=!0}return function(m,y){return c(m,y),d?m.__proto__=y:g(m,y),m}})({},!1):void 0),check:c}},function(t,n,s){"use strict";var i=s(2),a=s(6),c=s(12),u=s(4),d=s(1)("species");t.exports=function(g){var m=typeof a[g]=="function"?a[g]:i[g];u&&m&&!m[d]&&c.f(m,d,{configurable:!0,get:function(){return this}})}},function(t,n,s){var i=s(3),a=s(14),c=s(1)("species");t.exports=function(u,d){var g,m=i(u).constructor;return m===void 0||(g=i(m)[c])==null?d:a(g)}},function(t,n,s){var i=s(20),a=s(15);t.exports=function(c){return function(u,d){var g,m,y=String(a(u)),w=i(d),S=y.length;return w<0||w>=S?c?"":void 0:(g=y.charCodeAt(w),g<55296||g>56319||w+1===S||(m=y.charCodeAt(w+1))<56320||m>57343?c?y.charAt(w):g:c?y.slice(w,w+2):(g-55296<<10)+(m-56320)+65536)}}},function(t,n,s){var i=s(20),a=Math.max,c=Math.min;t.exports=function(u,d){return u=i(u),u<0?a(u+d,0):c(u,d)}},function(t,n,s){var i=s(15);t.exports=function(a){return Object(i(a))}},function(t,n,s){var i=s(21),a=s(1)("iterator"),c=s(10);t.exports=s(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[i(u)]}},function(t,n,s){"use strict";var i=s(37),a=s(47),c=s(10),u=s(13);t.exports=s(27)(Array,"Array",function(d,g){this._t=u(d),this._i=0,this._k=g},function(){var d=this._t,g=this._k,m=this._i++;return!d||m>=d.length?(this._t=void 0,a(1)):g=="keys"?a(0,m):g=="values"?a(0,d[m]):a(0,[m,d[m]])},"values"),c.Arguments=c.Array,i("keys"),i("values"),i("entries")},function(t,n){},function(t,n,s){"use strict";var i,a,c,u=s(28),d=s(2),g=s(7),m=s(21),y=s(23),w=s(9),S=(s(3),s(14)),C=s(38),V=s(40),de=(s(58).set,s(60)),B=s(30).set,P=s(48)(),L="Promise",Q=d.TypeError,Z=d.process,j=d[L],Z=d.process,pe=m(Z)=="process",Ee=function(){},ve=!!(function(){try{var N=j.resolve(1),U=(N.constructor={})[s(1)("species")]=function(A){A(Ee,Ee)};return(pe||typeof PromiseRejectionEvent=="function")&&N.then(Ee)instanceof U}catch{}})(),He=function(N,U){return N===U||N===j&&U===c},$e=function(N){var U;return!(!w(N)||typeof(U=N.then)!="function")&&U},Te=function(N){return He(j,N)?new ze(N):new a(N)},ze=a=function(N){var U,A;this.promise=new N(function(oe,Ie){if(U!==void 0||A!==void 0)throw Q("Bad Promise constructor");U=oe,A=Ie}),this.resolve=S(U),this.reject=S(A)},Ve=function(N){try{N()}catch(U){return{error:U}}},Ze=function(N,U){if(!N._n){N._n=!0;var A=N._c;P(function(){for(var oe=N._v,Ie=N._s==1,ut=0,Et=function(vt){var wt,ir,wr=Ie?vt.ok:vt.fail,Wr=vt.resolve,br=vt.reject,gn=vt.domain;try{wr?(Ie||(N._h==2&&Re(N),N._h=1),wr===!0?wt=oe:(gn&&gn.enter(),wt=wr(oe),gn&&gn.exit()),wt===vt.promise?br(Q("Promise-chain cycle")):(ir=$e(wt))?ir.call(wt,Wr,br):Wr(wt)):br(oe)}catch(Ls){br(Ls)}};A.length>ut;)Et(A[ut++]);N._c=[],N._n=!1,U&&!N._h&&z(N)})}},z=function(N){B.call(d,function(){var U,A,oe,Ie=N._v;if(te(N)&&(U=Ve(function(){pe?Z.emit("unhandledRejection",Ie,N):(A=d.onunhandledrejection)?A({promise:N,reason:Ie}):(oe=d.console)&&oe.error&&oe.error("Unhandled promise rejection",Ie)}),N._h=pe||te(N)?2:1),N._a=void 0,U)throw U.error})},te=function(N){if(N._h==1)return!1;for(var U,A=N._a||N._c,oe=0;A.length>oe;)if(U=A[oe++],U.fail||!te(U.promise))return!1;return!0},Re=function(N){B.call(d,function(){var U;pe?Z.emit("rejectionHandled",N):(U=d.onrejectionhandled)&&U({promise:N,reason:N._v})})},je=function(N){var U=this;U._d||(U._d=!0,U=U._w||U,U._v=N,U._s=2,U._a||(U._a=U._c.slice()),Ze(U,!0))},yt=function(N){var U,A=this;if(!A._d){A._d=!0,A=A._w||A;try{if(A===N)throw Q("Promise can't be resolved itself");(U=$e(N))?P(function(){var oe={_w:A,_d:!1};try{U.call(N,g(yt,oe,1),g(je,oe,1))}catch(Ie){je.call(oe,Ie)}}):(A._v=N,A._s=1,Ze(A,!1))}catch(oe){je.call({_w:A,_d:!1},oe)}}};ve||(j=function(N){C(this,j,L,"_h"),S(N),i.call(this);try{N(g(yt,this,1),g(je,this,1))}catch(U){je.call(this,U)}},i=function(N){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=s(56)(j.prototype,{then:function(N,U){var A=Te(de(this,j));return A.ok=typeof N!="function"||N,A.fail=typeof U=="function"&&U,A.domain=pe?Z.domain:void 0,this._c.push(A),this._a&&this._a.push(A),this._s&&Ze(this,!1),A.promise},catch:function(N){return this.then(void 0,N)}}),ze=function(){var N=new i;this.promise=N,this.resolve=g(yt,N,1),this.reject=g(je,N,1)}),y(y.G+y.W+y.F*!ve,{Promise:j}),s(18)(j,L),s(59)(L),c=s(6)[L],y(y.S+y.F*!ve,L,{reject:function(N){var U=Te(this),A=U.reject;return A(N),U.promise}}),y(y.S+y.F*(u||!ve),L,{resolve:function(N){if(N instanceof j&&He(N.constructor,this))return N;var U=Te(this),A=U.resolve;return A(N),U.promise}}),y(y.S+y.F*!(ve&&s(46)(function(N){j.all(N).catch(Ee)})),L,{all:function(N){var U=this,A=Te(U),oe=A.resolve,Ie=A.reject,ut=Ve(function(){var Et=[],vt=0,wt=1;V(N,!1,function(ir){var wr=vt++,Wr=!1;Et.push(void 0),wt++,U.resolve(ir).then(function(br){Wr||(Wr=!0,Et[wr]=br,--wt||oe(Et))},Ie)}),--wt||oe(Et)});return ut&&Ie(ut.error),A.promise},race:function(N){var U=this,A=Te(U),oe=A.reject,Ie=Ve(function(){V(N,!1,function(ut){U.resolve(ut).then(A.resolve,oe)})});return Ie&&oe(Ie.error),A.promise}})},function(t,n,s){"use strict";var i=s(61)(!0);s(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=i(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,s){s(65);for(var i=s(2),a=s(5),c=s(10),u=s(1)("toStringTag"),d=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],g=0;g<5;g++){var m=d[g],y=i[m],w=y&&y.prototype;w&&!w[u]&&a(w,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function Ty(){try{return vc.default.statSync("/.dockerenv"),!0}catch{return!1}}function Cy(){try{return vc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function wc(){return Ec===void 0&&(Ec=Ty()||Cy()),Ec}var vc,Ec,Th=Mt(()=>{vc=fe(require("node:fs"),1)});function Hn(){return bc===void 0&&(bc=Oy()||wc()),bc}var Ch,bc,Oy,xc=Mt(()=>{Ch=fe(require("node:fs"),1);Th();Oy=()=>{try{return Ch.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Sc,kh,Ph,Oh,Mr,Tc=Mt(()=>{Sc=fe(require("node:process"),1),kh=fe(require("node:os"),1),Ph=fe(require("node:fs"),1);xc();Oh=()=>{if(Sc.default.platform!=="linux")return!1;if(kh.default.release().toLowerCase().includes("microsoft"))return!Hn();try{return Ph.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Hn():!1}catch{return!1}},Mr=Sc.default.env.__IS_WSL_TEST__?Oh:Oh()});var Cc,Os,ky,Py,Oc,Rh=Mt(()=>{Cc=fe(require("node:process"),1),Os=fe(require("node:fs/promises"),1);Tc();Tc();ky=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Os.default.access(t,Os.constants.F_OK),n=!0}catch{}if(!n)return r;let s=await Os.default.readFile(t,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(s);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),Py=async()=>`${await ky()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,Oc=async()=>Mr?Py():`${Cc.default.env.SYSTEMROOT||Cc.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function Br(r,e,t){let n=s=>Object.defineProperty(r,e,{value:s,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let s=t();return n(s),s},set(s){n(s)}}),r}var Ah=Mt(()=>{});async function kc(){if(Lh.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await Ry("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 Ih,Lh,Nh,Ry,Dh=Mt(()=>{Ih=require("node:util"),Lh=fe(require("node:process"),1),Nh=require("node:child_process"),Ry=(0,Ih.promisify)(Nh.execFile)});async function Bh(r,{humanReadableOutput:e=!0,signal:t}={}){if(Fh.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],s={};t&&(s.signal=t);let{stdout:i}=await Ay("osascript",["-e",r,n],s);return i.trim()}var Fh,Mh,Pc,Ay,jh=Mt(()=>{Fh=fe(require("node:process"),1),Mh=require("node:util"),Pc=require("node:child_process"),Ay=(0,Mh.promisify)(Pc.execFile)});async function Rc(r){return Bh(`tell application "Finder" to set app_path to application file id "${r}" as string
31
- tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Uh=Mt(()=>{jh()});async function Ic(r=Iy){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 Ac(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=t.groups,s=n.lastIndexOf("."),i=n.lastIndexOf("-"),a=s===-1?void 0:n.slice(0,s),c=i===-1?void 0:n.slice(0,i);return Zi[n]??Zi[a]??Zi[c]??{name:n,id:n}}var qh,Wh,Iy,Zi,Fw,Ac,Hh=Mt(()=>{qh=require("node:util"),Wh=require("node:child_process"),Iy=(0,qh.promisify)(Wh.execFile),Zi={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"}},Fw=new Map(Object.entries(Zi)),Ac=class extends Error{}});async function Lc(){if(Qi.default.platform==="darwin"){let r=await kc();return{name:await Rc(r),id:r}}if(Qi.default.platform==="linux"){let{stdout:r}=await Ly("xdg-mime",["query","default","x-scheme-handler/http"]),e=r.trim();return{name:Ny(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Qi.default.platform==="win32")return Ic();throw new Error("Only macOS, Linux, and Windows are supported")}var Vh,Qi,Kh,Ly,Ny,$h=Mt(()=>{Vh=require("node:util"),Qi=fe(require("node:process"),1),Kh=require("node:child_process");Dh();Uh();Hh();Ly=(0,Vh.promisify)(Kh.execFile),Ny=r=>r.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var Qh={};Hd(Qh,{apps:()=>jr,default:()=>jy,openApp:()=>By});async function Fy(){let r=await Oc(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=Fc.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await Dy(r,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),s=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[s]?{id:i[s]}:{}}function Xh(r){if(typeof r=="string"||Array.isArray(r))return r;let{[Gh]:e}=r;if(!e)throw new Error(`${Gh} is not supported`);return e}function to({[Vn]:r},{wsl:e}){if(e&&Mr)return Xh(e);if(!r)throw new Error(`${Vn} is not supported`);return Xh(r)}var Dc,Fc,Mc,Jh,Zh,Bc,eo,Uy,Dy,Nc,zh,Vn,Gh,Yh,ks,My,By,jr,jy,ed=Mt(()=>{Dc=fe(require("node:process"),1),Fc=require("node:buffer"),Mc=fe(require("node:path"),1),Jh=require("node:url"),Zh=require("node:util"),Bc=fe(require("node:child_process"),1),eo=fe(require("node:fs/promises"),1);Rh();Ah();$h();xc();Uy={},Dy=(0,Zh.promisify)(Bc.default.execFile),Nc=Mc.default.dirname((0,Jh.fileURLToPath)(Uy.url)),zh=Mc.default.join(Nc,"xdg-open"),{platform:Vn,arch:Gh}=Dc.default;Yh=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(s){t=s}throw t},ks=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Yh(r.app,c=>ks({...r,app:c}));let{name:e,arguments:t=[]}=r.app??{};if(t=[...t],Array.isArray(e))return Yh(e,c=>ks({...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"},d=Mr?await Fy():await Lc();if(d.id in c){let g=c[d.id];return e==="browserPrivate"&&t.push(u[g]),ks({...r,app:{name:jr[g],arguments:t}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,s=[],i={};if(Vn==="darwin")n="open",r.wait&&s.push("--wait-apps"),r.background&&s.push("--background"),r.newInstance&&s.push("--new"),e&&s.push("-a",e);else if(Vn==="win32"||Mr&&!Hn()&&!e){n=await Oc(),s.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Mr||(i.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=Fc.Buffer.from(c.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let c=!Nc||Nc==="/",u=!1;try{await eo.default.access(zh,eo.constants.X_OK),u=!0}catch{}n=Dc.default.versions.electron??(Vn==="android"||c||!u)?"xdg-open":zh}t.length>0&&s.push(...t),r.wait||(i.stdio="ignore",i.detached=!0)}Vn==="darwin"&&t.length>0&&s.push("--args",...t),r.target&&s.push(r.target);let a=Bc.default.spawn(n,s,i);return r.wait?new Promise((c,u)=>{a.once("error",u),a.once("close",d=>{if(!r.allowNonzeroExitCode&&d>0){u(new Error(`Exited with code ${d}`));return}c(a)})}):(a.unref(),a)},My=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return ks({...e,target:r})},By=(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 ks({...e,app:{name:r,arguments:t}})};jr={};Br(jr,"chrome",()=>to({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"]}}));Br(jr,"brave",()=>to({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"]}}));Br(jr,"firefox",()=>to({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Br(jr,"edge",()=>to({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Br(jr,"browser",()=>"browser");Br(jr,"browserPrivate",()=>"browserPrivate");jy=My});var ar=fe(require("fs")),qs=fe(require("path"));var sf=fe(require("os")),of=fe(require("path")),js=fe(require("fs"));function Us(){let r=of.join(sf.homedir(),".termiq");return js.existsSync(r)||js.mkdirSync(r,{recursive:!0,mode:448}),r}var Zn=class{filePath;data={};constructor(){this.filePath=qs.join(Us(),"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(ar.existsSync(this.filePath)){let e=ar.readFileSync(this.filePath,"utf-8");this.data=JSON.parse(e)}}catch{this.data={}}}save(){let e=qs.dirname(this.filePath);ar.existsSync(e)||ar.mkdirSync(e,{recursive:!0,mode:448}),ar.writeFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384})}};var cr=fe(require("fs")),Ws=fe(require("path"));var Kd={serverUrl:"https://termiq.io",agentName:""},Qn=class{config;filePath;constructor(e){this.filePath=Ws.join(Us(),"config.json"),this.config={...Kd,...this.loadFromFile(),...e}}getServerUrl(){return this.config.serverUrl}getAgentName(){return this.config.agentName}isAutoConnect(){return!0}async setAgentName(e){this.config.agentName=e,this.saveToFile()}loadFromFile(){try{if(cr.existsSync(this.filePath)){let e=cr.readFileSync(this.filePath,"utf-8");return JSON.parse(e)}}catch{}return{}}saveToFile(){let e=Ws.dirname(this.filePath);cr.existsSync(e)||cr.mkdirSync(e,{recursive:!0,mode:448}),cr.writeFileSync(this.filePath,JSON.stringify(this.config,null,2))}};var dt=fe(require("fs")),mc=fe(require("path")),bh=fe(require("os")),Ji=fe(bs()),wy="cli",gc=mc.join(bh.homedir(),".termiq","logs"),Fr=mc.join(gc,"cli.log"),by=5*1024*1024,wh=3;function xy(){try{if(!dt.existsSync(Fr)||dt.statSync(Fr).size<by)return;for(let e=wh-1;e>=1;e--){let t=`${Fr}.${e}`,n=`${Fr}.${e+1}`;dt.existsSync(t)&&(e+1>wh?dt.unlinkSync(t):dt.renameSync(t,n))}dt.renameSync(Fr,`${Fr}.1`)}catch{}}function Sy(r){try{dt.existsSync(gc)||dt.mkdirSync(gc,{recursive:!0}),xy(),dt.appendFileSync(Fr,r+`
32
- `,{encoding:"utf8"})}catch{}}var xs=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 Fr}write(e,t,n){if(!(0,Ji.shouldLog)(e,this.level))return;let s=(0,Ji.formatLogLine)(e,wy,t,n);process.stderr.write(s+`
33
- `),this.toFile&&Sy(s)}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 xh=fe(require("os")),Sh=fe(yc()),Ts=class{cachedId=null;name;constructor(e){this.name=e||xh.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,Sh.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var Cs=class{info(e){process.stderr.write(`TermIQ: ${e}
29
+ `)}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){return uc.isAbsolute(e)?e:this.workspaceRoot?uc.join(this.workspaceRoot,e):e}dispose(){this.trackedFiles.clear(),this.pendingToolCalls.clear(),this.onFileChangedCallback=null,this.onFileViewTransferCallback=null}};nr.FileTrackerService=dc});var vh=F(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.FileTrackerService=ft.FileListService=ft.FileTransferService=ft.WebSocketService=ft.StatusDetector=ft.AuthService=ft.CryptoService=void 0;var my=Kf();Object.defineProperty(ft,"CryptoService",{enumerable:!0,get:function(){return my.CryptoService}});var _y=zf();Object.defineProperty(ft,"AuthService",{enumerable:!0,get:function(){return _y.AuthService}});var yy=$f();Object.defineProperty(ft,"StatusDetector",{enumerable:!0,get:function(){return yy.StatusDetector}});var Ey=ih();Object.defineProperty(ft,"WebSocketService",{enumerable:!0,get:function(){return Ey.WebSocketService}});var vy=ah();Object.defineProperty(ft,"FileTransferService",{enumerable:!0,get:function(){return vy.FileTransferService}});var wy=_h();Object.defineProperty(ft,"FileListService",{enumerable:!0,get:function(){return wy.FileListService}});var by=Eh();Object.defineProperty(ft,"FileTrackerService",{enumerable:!0,get:function(){return by.FileTrackerService}})});var bs=F(Se=>{"use strict";Object.defineProperty(Se,"__esModule",{value:!0});Se.FileTrackerService=Se.FileListService=Se.FileTransferService=Se.WebSocketService=Se.StatusDetector=Se.AuthService=Se.CryptoService=Se.getCurrentCorrelationId=Se.runWithCorrelation=Se.generateCorrelationId=Se.getWsUrl=Se.getApiUrl=Se.CircularBuffer=Se.formatLogLine=Se.shouldLog=Se.LOG_LEVELS=void 0;var pc=uf();Object.defineProperty(Se,"LOG_LEVELS",{enumerable:!0,get:function(){return pc.LOG_LEVELS}});Object.defineProperty(Se,"shouldLog",{enumerable:!0,get:function(){return pc.shouldLog}});Object.defineProperty(Se,"formatLogLine",{enumerable:!0,get:function(){return pc.formatLogLine}});var Wn=df();Object.defineProperty(Se,"CircularBuffer",{enumerable:!0,get:function(){return Wn.CircularBuffer}});Object.defineProperty(Se,"getApiUrl",{enumerable:!0,get:function(){return Wn.getApiUrl}});Object.defineProperty(Se,"getWsUrl",{enumerable:!0,get:function(){return Wn.getWsUrl}});Object.defineProperty(Se,"generateCorrelationId",{enumerable:!0,get:function(){return Wn.generateCorrelationId}});Object.defineProperty(Se,"runWithCorrelation",{enumerable:!0,get:function(){return Wn.runWithCorrelation}});Object.defineProperty(Se,"getCurrentCorrelationId",{enumerable:!0,get:function(){return Wn.getCurrentCorrelationId}});var fn=vh();Object.defineProperty(Se,"CryptoService",{enumerable:!0,get:function(){return fn.CryptoService}});Object.defineProperty(Se,"AuthService",{enumerable:!0,get:function(){return fn.AuthService}});Object.defineProperty(Se,"StatusDetector",{enumerable:!0,get:function(){return fn.StatusDetector}});Object.defineProperty(Se,"WebSocketService",{enumerable:!0,get:function(){return fn.WebSocketService}});Object.defineProperty(Se,"FileTransferService",{enumerable:!0,get:function(){return fn.FileTransferService}});Object.defineProperty(Se,"FileListService",{enumerable:!0,get:function(){return fn.FileListService}});Object.defineProperty(Se,"FileTrackerService",{enumerable:!0,get:function(){return fn.FileTrackerService}})});var yc=F((Ss,_c)=>{(function(r,e){typeof Ss=="object"&&typeof _c=="object"?_c.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof Ss=="object"?Ss["electron-machine-id"]=e(require("child_process"),require("crypto")):r["electron-machine-id"]=e(r.child_process,r.crypto)})(Ss,function(r,e){return(function(t){function n(i){if(s[i])return s[i].exports;var a=s[i]={exports:{},id:i,loaded:!1};return t[i].call(a.exports,a,a.exports,n),a.loaded=!0,a.exports}var s={};return n.m=t,n.c=s,n.p="",n(0)})([function(t,n,s){t.exports=s(34)},function(t,n,s){var i=s(29)("wks"),a=s(33),c=s(2).Symbol,u=typeof c=="function",d=t.exports=function(g){return i[g]||(i[g]=u&&c[g]||(u?c:a)("Symbol."+g))};d.store=i},function(t,n){var s=t.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=s)},function(t,n,s){var i=s(9);t.exports=function(a){if(!i(a))throw TypeError(a+" is not an object!");return a}},function(t,n,s){t.exports=!s(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(t,n,s){var i=s(12),a=s(17);t.exports=s(4)?function(c,u,d){return i.f(c,u,a(1,d))}:function(c,u,d){return c[u]=d,c}},function(t,n){var s=t.exports={version:"2.4.0"};typeof __e=="number"&&(__e=s)},function(t,n,s){var i=s(14);t.exports=function(a,c,u){if(i(a),c===void 0)return a;switch(u){case 1:return function(d){return a.call(c,d)};case 2:return function(d,g){return a.call(c,d,g)};case 3:return function(d,g,m){return a.call(c,d,g,m)}}return function(){return a.apply(c,arguments)}}},function(t,n){var s={}.hasOwnProperty;t.exports=function(i,a){return s.call(i,a)}},function(t,n){t.exports=function(s){return typeof s=="object"?s!==null:typeof s=="function"}},function(t,n){t.exports={}},function(t,n){var s={}.toString;t.exports=function(i){return s.call(i).slice(8,-1)}},function(t,n,s){var i=s(3),a=s(26),c=s(32),u=Object.defineProperty;n.f=s(4)?Object.defineProperty:function(d,g,m){if(i(d),g=c(g,!0),i(m),a)try{return u(d,g,m)}catch{}if("get"in m||"set"in m)throw TypeError("Accessors not supported!");return"value"in m&&(d[g]=m.value),d}},function(t,n,s){var i=s(42),a=s(15);t.exports=function(c){return i(a(c))}},function(t,n){t.exports=function(s){if(typeof s!="function")throw TypeError(s+" is not a function!");return s}},function(t,n){t.exports=function(s){if(s==null)throw TypeError("Can't call method on "+s);return s}},function(t,n,s){var i=s(9),a=s(2).document,c=i(a)&&i(a.createElement);t.exports=function(u){return c?a.createElement(u):{}}},function(t,n){t.exports=function(s,i){return{enumerable:!(1&s),configurable:!(2&s),writable:!(4&s),value:i}}},function(t,n,s){var i=s(12).f,a=s(8),c=s(1)("toStringTag");t.exports=function(u,d,g){u&&!a(u=g?u:u.prototype,c)&&i(u,c,{configurable:!0,value:d})}},function(t,n,s){var i=s(29)("keys"),a=s(33);t.exports=function(c){return i[c]||(i[c]=a(c))}},function(t,n){var s=Math.ceil,i=Math.floor;t.exports=function(a){return isNaN(a=+a)?0:(a>0?i:s)(a)}},function(t,n,s){var i=s(11),a=s(1)("toStringTag"),c=i((function(){return arguments})())=="Arguments",u=function(d,g){try{return d[g]}catch{}};t.exports=function(d){var g,m,y;return d===void 0?"Undefined":d===null?"Null":typeof(m=u(g=Object(d),a))=="string"?m:c?i(g):(y=i(g))=="Object"&&typeof g.callee=="function"?"Arguments":y}},function(t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,n,s){var i=s(2),a=s(6),c=s(7),u=s(5),d="prototype",g=function(m,y,w){var S,C,V,de=m&g.F,B=m&g.G,P=m&g.S,L=m&g.P,Q=m&g.B,j=m&g.W,Z=B?a:a[y]||(a[y]={}),pe=Z[d],Ee=B?i:P?i[y]:(i[y]||{})[d];B&&(w=y);for(S in w)C=!de&&Ee&&Ee[S]!==void 0,C&&S in Z||(V=C?Ee[S]:w[S],Z[S]=B&&typeof Ee[S]!="function"?w[S]:Q&&C?c(V,i):j&&Ee[S]==V?(function(ve){var He=function(ze,Te,$e){if(this instanceof ve){switch(arguments.length){case 0:return new ve;case 1:return new ve(ze);case 2:return new ve(ze,Te)}return new ve(ze,Te,$e)}return ve.apply(this,arguments)};return He[d]=ve[d],He})(V):L&&typeof V=="function"?c(Function.call,V):V,L&&((Z.virtual||(Z.virtual={}))[S]=V,m&g.R&&pe&&!pe[S]&&u(pe,S,V)))};g.F=1,g.G=2,g.S=4,g.P=8,g.B=16,g.W=32,g.U=64,g.R=128,t.exports=g},function(t,n){t.exports=function(s){try{return!!s()}catch{return!0}}},function(t,n,s){t.exports=s(2).document&&document.documentElement},function(t,n,s){t.exports=!s(4)&&!s(24)(function(){return Object.defineProperty(s(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(t,n,s){"use strict";var i=s(28),a=s(23),c=s(57),u=s(5),d=s(8),g=s(10),m=s(45),y=s(18),w=s(52),S=s(1)("iterator"),C=!([].keys&&"next"in[].keys()),V="@@iterator",de="keys",B="values",P=function(){return this};t.exports=function(L,Q,j,Z,pe,Ee,ve){m(j,Q,Z);var He,ze,Te,$e=function(U){if(!C&&U in te)return te[U];switch(U){case de:return function(){return new j(this,U)};case B:return function(){return new j(this,U)}}return function(){return new j(this,U)}},Ve=Q+" Iterator",Ze=pe==B,$=!1,te=L.prototype,Re=te[S]||te[V]||pe&&te[pe],je=Re||$e(pe),yt=pe?Ze?$e("entries"):je:void 0,N=Q=="Array"&&te.entries||Re;if(N&&(Te=w(N.call(new L)),Te!==Object.prototype&&(y(Te,Ve,!0),i||d(Te,S)||u(Te,S,P))),Ze&&Re&&Re.name!==B&&($=!0,je=function(){return Re.call(this)}),i&&!ve||!C&&!$&&te[S]||u(te,S,je),g[Q]=je,g[Ve]=P,pe)if(He={values:Ze?je:$e(B),keys:Ee?je:$e(de),entries:yt},ve)for(ze in He)ze in te||c(te,ze,He[ze]);else a(a.P+a.F*(C||$),Q,He);return He}},function(t,n){t.exports=!0},function(t,n,s){var i=s(2),a="__core-js_shared__",c=i[a]||(i[a]={});t.exports=function(u){return c[u]||(c[u]={})}},function(t,n,s){var i,a,c,u=s(7),d=s(41),g=s(25),m=s(16),y=s(2),w=y.process,S=y.setImmediate,C=y.clearImmediate,V=y.MessageChannel,de=0,B={},P="onreadystatechange",L=function(){var j=+this;if(B.hasOwnProperty(j)){var Z=B[j];delete B[j],Z()}},Q=function(j){L.call(j.data)};S&&C||(S=function(j){for(var Z=[],pe=1;arguments.length>pe;)Z.push(arguments[pe++]);return B[++de]=function(){d(typeof j=="function"?j:Function(j),Z)},i(de),de},C=function(j){delete B[j]},s(11)(w)=="process"?i=function(j){w.nextTick(u(L,j,1))}:V?(a=new V,c=a.port2,a.port1.onmessage=Q,i=u(c.postMessage,c,1)):y.addEventListener&&typeof postMessage=="function"&&!y.importScripts?(i=function(j){y.postMessage(j+"","*")},y.addEventListener("message",Q,!1)):i=P in m("script")?function(j){g.appendChild(m("script"))[P]=function(){g.removeChild(this),L.call(j)}}:function(j){setTimeout(u(L,j,1),0)}),t.exports={set:S,clear:C}},function(t,n,s){var i=s(20),a=Math.min;t.exports=function(c){return c>0?a(i(c),9007199254740991):0}},function(t,n,s){var i=s(9);t.exports=function(a,c){if(!i(a))return a;var u,d;if(c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a))||typeof(u=a.valueOf)=="function"&&!i(d=u.call(a))||!c&&typeof(u=a.toString)=="function"&&!i(d=u.call(a)))return d;throw TypeError("Can't convert object to primitive value")}},function(t,n){var s=0,i=Math.random();t.exports=function(a){return"Symbol(".concat(a===void 0?"":a,")_",(++s+i).toString(36))}},function(t,n,s){"use strict";function i(P){return P&&P.__esModule?P:{default:P}}function a(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function c(P){return(0,S.createHash)("sha256").update(P).digest("hex")}function u(P){switch(V){case"darwin":return P.split("IOPlatformUUID")[1].split(`
30
+ `)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return P.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return P.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return P.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function d(P){var L=u((0,w.execSync)(B[V]).toString());return P?L:c(L)}function g(P){return new y.default(function(L,Q){return(0,w.exec)(B[V],{},function(j,Z,pe){if(j)return Q(new Error("Error while obtaining machine id: "+j.stack));var Ee=u(Z.toString());return L(P?Ee:c(Ee))})})}Object.defineProperty(n,"__esModule",{value:!0});var m=s(35),y=i(m);n.machineIdSync=d,n.machineId=g;var w=s(70),S=s(71),C=process,V=C.platform,de={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},B={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:de[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,s){t.exports={default:s(36),__esModule:!0}},function(t,n,s){s(66),s(68),s(69),s(67),t.exports=s(6).Promise},function(t,n){t.exports=function(){}},function(t,n){t.exports=function(s,i,a,c){if(!(s instanceof i)||c!==void 0&&c in s)throw TypeError(a+": incorrect invocation!");return s}},function(t,n,s){var i=s(13),a=s(31),c=s(62);t.exports=function(u){return function(d,g,m){var y,w=i(d),S=a(w.length),C=c(m,S);if(u&&g!=g){for(;S>C;)if(y=w[C++],y!=y)return!0}else for(;S>C;C++)if((u||C in w)&&w[C]===g)return u||C||0;return!u&&-1}}},function(t,w,s){var i=s(7),a=s(44),c=s(43),u=s(3),d=s(31),g=s(64),m={},y={},w=t.exports=function(S,C,V,de,B){var P,L,Q,j,Z=B?function(){return S}:g(S),pe=i(V,de,C?2:1),Ee=0;if(typeof Z!="function")throw TypeError(S+" is not iterable!");if(c(Z)){for(P=d(S.length);P>Ee;Ee++)if(j=C?pe(u(L=S[Ee])[0],L[1]):pe(S[Ee]),j===m||j===y)return j}else for(Q=Z.call(S);!(L=Q.next()).done;)if(j=a(Q,pe,L.value,C),j===m||j===y)return j};w.BREAK=m,w.RETURN=y},function(t,n){t.exports=function(s,i,a){var c=a===void 0;switch(i.length){case 0:return c?s():s.call(a);case 1:return c?s(i[0]):s.call(a,i[0]);case 2:return c?s(i[0],i[1]):s.call(a,i[0],i[1]);case 3:return c?s(i[0],i[1],i[2]):s.call(a,i[0],i[1],i[2]);case 4:return c?s(i[0],i[1],i[2],i[3]):s.call(a,i[0],i[1],i[2],i[3])}return s.apply(a,i)}},function(t,n,s){var i=s(11);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return i(a)=="String"?a.split(""):Object(a)}},function(t,n,s){var i=s(10),a=s(1)("iterator"),c=Array.prototype;t.exports=function(u){return u!==void 0&&(i.Array===u||c[a]===u)}},function(t,n,s){var i=s(3);t.exports=function(a,c,u,d){try{return d?c(i(u)[0],u[1]):c(u)}catch(m){var g=a.return;throw g!==void 0&&i(g.call(a)),m}}},function(t,n,s){"use strict";var i=s(49),a=s(17),c=s(18),u={};s(5)(u,s(1)("iterator"),function(){return this}),t.exports=function(d,g,m){d.prototype=i(u,{next:a(1,m)}),c(d,g+" Iterator")}},function(t,n,s){var i=s(1)("iterator"),a=!1;try{var c=[7][i]();c.return=function(){a=!0},Array.from(c,function(){throw 2})}catch{}t.exports=function(u,d){if(!d&&!a)return!1;var g=!1;try{var m=[7],y=m[i]();y.next=function(){return{done:g=!0}},m[i]=function(){return y},u(m)}catch{}return g}},function(t,n){t.exports=function(s,i){return{value:i,done:!!s}}},function(t,n,s){var i=s(2),a=s(30).set,c=i.MutationObserver||i.WebKitMutationObserver,u=i.process,d=i.Promise,g=s(11)(u)=="process";t.exports=function(){var m,y,w,S=function(){var B,P;for(g&&(B=u.domain)&&B.exit();m;){P=m.fn,m=m.next;try{P()}catch(L){throw m?w():y=void 0,L}}y=void 0,B&&B.enter()};if(g)w=function(){u.nextTick(S)};else if(c){var C=!0,V=document.createTextNode("");new c(S).observe(V,{characterData:!0}),w=function(){V.data=C=!C}}else if(d&&d.resolve){var de=d.resolve();w=function(){de.then(S)}}else w=function(){a.call(i,S)};return function(B){var P={fn:B,next:void 0};y&&(y.next=P),m||(m=P,w()),y=P}}},function(t,n,s){var i=s(3),a=s(50),c=s(22),u=s(19)("IE_PROTO"),d=function(){},g="prototype",m=function(){var y,w=s(16)("iframe"),S=c.length,C=">";for(w.style.display="none",s(25).appendChild(w),w.src="javascript:",y=w.contentWindow.document,y.open(),y.write("<script>document.F=Object</script"+C),y.close(),m=y.F;S--;)delete m[g][c[S]];return m()};t.exports=Object.create||function(y,w){var S;return y!==null?(d[g]=i(y),S=new d,d[g]=null,S[u]=y):S=m(),w===void 0?S:a(S,w)}},function(t,n,s){var i=s(12),a=s(3),c=s(54);t.exports=s(4)?Object.defineProperties:function(u,d){a(u);for(var g,m=c(d),y=m.length,w=0;y>w;)i.f(u,g=m[w++],d[g]);return u}},function(t,n,s){var i=s(55),a=s(17),c=s(13),u=s(32),d=s(8),g=s(26),m=Object.getOwnPropertyDescriptor;n.f=s(4)?m:function(y,w){if(y=c(y),w=u(w,!0),g)try{return m(y,w)}catch{}if(d(y,w))return a(!i.f.call(y,w),y[w])}},function(t,n,s){var i=s(8),a=s(63),c=s(19)("IE_PROTO"),u=Object.prototype;t.exports=Object.getPrototypeOf||function(d){return d=a(d),i(d,c)?d[c]:typeof d.constructor=="function"&&d instanceof d.constructor?d.constructor.prototype:d instanceof Object?u:null}},function(t,n,s){var i=s(8),a=s(13),c=s(39)(!1),u=s(19)("IE_PROTO");t.exports=function(d,g){var m,y=a(d),w=0,S=[];for(m in y)m!=u&&i(y,m)&&S.push(m);for(;g.length>w;)i(y,m=g[w++])&&(~c(S,m)||S.push(m));return S}},function(t,n,s){var i=s(53),a=s(22);t.exports=Object.keys||function(c){return i(c,a)}},function(t,n){n.f={}.propertyIsEnumerable},function(t,n,s){var i=s(5);t.exports=function(a,c,u){for(var d in c)u&&a[d]?a[d]=c[d]:i(a,d,c[d]);return a}},function(t,n,s){t.exports=s(5)},function(t,n,s){var i=s(9),a=s(3),c=function(u,d){if(a(u),!i(d)&&d!==null)throw TypeError(d+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(u,d,g){try{g=s(7)(Function.call,s(51).f(Object.prototype,"__proto__").set,2),g(u,[]),d=!(u instanceof Array)}catch{d=!0}return function(m,y){return c(m,y),d?m.__proto__=y:g(m,y),m}})({},!1):void 0),check:c}},function(t,n,s){"use strict";var i=s(2),a=s(6),c=s(12),u=s(4),d=s(1)("species");t.exports=function(g){var m=typeof a[g]=="function"?a[g]:i[g];u&&m&&!m[d]&&c.f(m,d,{configurable:!0,get:function(){return this}})}},function(t,n,s){var i=s(3),a=s(14),c=s(1)("species");t.exports=function(u,d){var g,m=i(u).constructor;return m===void 0||(g=i(m)[c])==null?d:a(g)}},function(t,n,s){var i=s(20),a=s(15);t.exports=function(c){return function(u,d){var g,m,y=String(a(u)),w=i(d),S=y.length;return w<0||w>=S?c?"":void 0:(g=y.charCodeAt(w),g<55296||g>56319||w+1===S||(m=y.charCodeAt(w+1))<56320||m>57343?c?y.charAt(w):g:c?y.slice(w,w+2):(g-55296<<10)+(m-56320)+65536)}}},function(t,n,s){var i=s(20),a=Math.max,c=Math.min;t.exports=function(u,d){return u=i(u),u<0?a(u+d,0):c(u,d)}},function(t,n,s){var i=s(15);t.exports=function(a){return Object(i(a))}},function(t,n,s){var i=s(21),a=s(1)("iterator"),c=s(10);t.exports=s(6).getIteratorMethod=function(u){if(u!=null)return u[a]||u["@@iterator"]||c[i(u)]}},function(t,n,s){"use strict";var i=s(37),a=s(47),c=s(10),u=s(13);t.exports=s(27)(Array,"Array",function(d,g){this._t=u(d),this._i=0,this._k=g},function(){var d=this._t,g=this._k,m=this._i++;return!d||m>=d.length?(this._t=void 0,a(1)):g=="keys"?a(0,m):g=="values"?a(0,d[m]):a(0,[m,d[m]])},"values"),c.Arguments=c.Array,i("keys"),i("values"),i("entries")},function(t,n){},function(t,n,s){"use strict";var i,a,c,u=s(28),d=s(2),g=s(7),m=s(21),y=s(23),w=s(9),S=(s(3),s(14)),C=s(38),V=s(40),de=(s(58).set,s(60)),B=s(30).set,P=s(48)(),L="Promise",Q=d.TypeError,Z=d.process,j=d[L],Z=d.process,pe=m(Z)=="process",Ee=function(){},ve=!!(function(){try{var N=j.resolve(1),U=(N.constructor={})[s(1)("species")]=function(A){A(Ee,Ee)};return(pe||typeof PromiseRejectionEvent=="function")&&N.then(Ee)instanceof U}catch{}})(),He=function(N,U){return N===U||N===j&&U===c},ze=function(N){var U;return!(!w(N)||typeof(U=N.then)!="function")&&U},Te=function(N){return He(j,N)?new $e(N):new a(N)},$e=a=function(N){var U,A;this.promise=new N(function(oe,Ie){if(U!==void 0||A!==void 0)throw Q("Bad Promise constructor");U=oe,A=Ie}),this.resolve=S(U),this.reject=S(A)},Ve=function(N){try{N()}catch(U){return{error:U}}},Ze=function(N,U){if(!N._n){N._n=!0;var A=N._c;P(function(){for(var oe=N._v,Ie=N._s==1,ut=0,Et=function(vt){var wt,ir,wr=Ie?vt.ok:vt.fail,Wr=vt.resolve,br=vt.reject,gn=vt.domain;try{wr?(Ie||(N._h==2&&Re(N),N._h=1),wr===!0?wt=oe:(gn&&gn.enter(),wt=wr(oe),gn&&gn.exit()),wt===vt.promise?br(Q("Promise-chain cycle")):(ir=ze(wt))?ir.call(wt,Wr,br):Wr(wt)):br(oe)}catch(Ls){br(Ls)}};A.length>ut;)Et(A[ut++]);N._c=[],N._n=!1,U&&!N._h&&$(N)})}},$=function(N){B.call(d,function(){var U,A,oe,Ie=N._v;if(te(N)&&(U=Ve(function(){pe?Z.emit("unhandledRejection",Ie,N):(A=d.onunhandledrejection)?A({promise:N,reason:Ie}):(oe=d.console)&&oe.error&&oe.error("Unhandled promise rejection",Ie)}),N._h=pe||te(N)?2:1),N._a=void 0,U)throw U.error})},te=function(N){if(N._h==1)return!1;for(var U,A=N._a||N._c,oe=0;A.length>oe;)if(U=A[oe++],U.fail||!te(U.promise))return!1;return!0},Re=function(N){B.call(d,function(){var U;pe?Z.emit("rejectionHandled",N):(U=d.onrejectionhandled)&&U({promise:N,reason:N._v})})},je=function(N){var U=this;U._d||(U._d=!0,U=U._w||U,U._v=N,U._s=2,U._a||(U._a=U._c.slice()),Ze(U,!0))},yt=function(N){var U,A=this;if(!A._d){A._d=!0,A=A._w||A;try{if(A===N)throw Q("Promise can't be resolved itself");(U=ze(N))?P(function(){var oe={_w:A,_d:!1};try{U.call(N,g(yt,oe,1),g(je,oe,1))}catch(Ie){je.call(oe,Ie)}}):(A._v=N,A._s=1,Ze(A,!1))}catch(oe){je.call({_w:A,_d:!1},oe)}}};ve||(j=function(N){C(this,j,L,"_h"),S(N),i.call(this);try{N(g(yt,this,1),g(je,this,1))}catch(U){je.call(this,U)}},i=function(N){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},i.prototype=s(56)(j.prototype,{then:function(N,U){var A=Te(de(this,j));return A.ok=typeof N!="function"||N,A.fail=typeof U=="function"&&U,A.domain=pe?Z.domain:void 0,this._c.push(A),this._a&&this._a.push(A),this._s&&Ze(this,!1),A.promise},catch:function(N){return this.then(void 0,N)}}),$e=function(){var N=new i;this.promise=N,this.resolve=g(yt,N,1),this.reject=g(je,N,1)}),y(y.G+y.W+y.F*!ve,{Promise:j}),s(18)(j,L),s(59)(L),c=s(6)[L],y(y.S+y.F*!ve,L,{reject:function(N){var U=Te(this),A=U.reject;return A(N),U.promise}}),y(y.S+y.F*(u||!ve),L,{resolve:function(N){if(N instanceof j&&He(N.constructor,this))return N;var U=Te(this),A=U.resolve;return A(N),U.promise}}),y(y.S+y.F*!(ve&&s(46)(function(N){j.all(N).catch(Ee)})),L,{all:function(N){var U=this,A=Te(U),oe=A.resolve,Ie=A.reject,ut=Ve(function(){var Et=[],vt=0,wt=1;V(N,!1,function(ir){var wr=vt++,Wr=!1;Et.push(void 0),wt++,U.resolve(ir).then(function(br){Wr||(Wr=!0,Et[wr]=br,--wt||oe(Et))},Ie)}),--wt||oe(Et)});return ut&&Ie(ut.error),A.promise},race:function(N){var U=this,A=Te(U),oe=A.reject,Ie=Ve(function(){V(N,!1,function(ut){U.resolve(ut).then(A.resolve,oe)})});return Ie&&oe(Ie.error),A.promise}})},function(t,n,s){"use strict";var i=s(61)(!0);s(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=i(c,u),this._i+=a.length,{value:a,done:!1})})},function(t,n,s){s(65);for(var i=s(2),a=s(5),c=s(10),u=s(1)("toStringTag"),d=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],g=0;g<5;g++){var m=d[g],y=i[m],w=y&&y.prototype;w&&!w[u]&&a(w,u,m),c[m]=c.Array}},function(t,n){t.exports=require("child_process")},function(t,n){t.exports=require("crypto")}])})});function Oy(){try{return vc.default.statSync("/.dockerenv"),!0}catch{return!1}}function ky(){try{return vc.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function wc(){return Ec===void 0&&(Ec=Oy()||ky()),Ec}var vc,Ec,Th=Mt(()=>{vc=fe(require("node:fs"),1)});function Hn(){return bc===void 0&&(bc=Py()||wc()),bc}var Ch,bc,Py,xc=Mt(()=>{Ch=fe(require("node:fs"),1);Th();Py=()=>{try{return Ch.default.statSync("/run/.containerenv"),!0}catch{return!1}}});var Sc,kh,Ph,Oh,Mr,Tc=Mt(()=>{Sc=fe(require("node:process"),1),kh=fe(require("node:os"),1),Ph=fe(require("node:fs"),1);xc();Oh=()=>{if(Sc.default.platform!=="linux")return!1;if(kh.default.release().toLowerCase().includes("microsoft"))return!Hn();try{return Ph.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!Hn():!1}catch{return!1}},Mr=Sc.default.env.__IS_WSL_TEST__?Oh:Oh()});var Cc,Os,Ry,Ay,Oc,Rh=Mt(()=>{Cc=fe(require("node:process"),1),Os=fe(require("node:fs/promises"),1);Tc();Tc();Ry=(()=>{let r="/mnt/",e;return async function(){if(e)return e;let t="/etc/wsl.conf",n=!1;try{await Os.default.access(t,Os.constants.F_OK),n=!0}catch{}if(!n)return r;let s=await Os.default.readFile(t,{encoding:"utf8"}),i=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(s);return i?(e=i.groups.mountPoint.trim(),e=e.endsWith("/")?e:`${e}/`,e):r}})(),Ay=async()=>`${await Ry()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`,Oc=async()=>Mr?Ay():`${Cc.default.env.SYSTEMROOT||Cc.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`});function Br(r,e,t){let n=s=>Object.defineProperty(r,e,{value:s,enumerable:!0,writable:!0});return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get(){let s=t();return n(s),s},set(s){n(s)}}),r}var Ah=Mt(()=>{});async function kc(){if(Lh.default.platform!=="darwin")throw new Error("macOS only");let{stdout:r}=await Iy("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 Ih,Lh,Nh,Iy,Dh=Mt(()=>{Ih=require("node:util"),Lh=fe(require("node:process"),1),Nh=require("node:child_process"),Iy=(0,Ih.promisify)(Nh.execFile)});async function Bh(r,{humanReadableOutput:e=!0,signal:t}={}){if(Fh.default.platform!=="darwin")throw new Error("macOS only");let n=e?[]:["-ss"],s={};t&&(s.signal=t);let{stdout:i}=await Ly("osascript",["-e",r,n],s);return i.trim()}var Fh,Mh,Pc,Ly,jh=Mt(()=>{Fh=fe(require("node:process"),1),Mh=require("node:util"),Pc=require("node:child_process"),Ly=(0,Mh.promisify)(Pc.execFile)});async function Rc(r){return Bh(`tell application "Finder" to set app_path to application file id "${r}" as string
31
+ tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var Uh=Mt(()=>{jh()});async function Ic(r=Ny){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 Ac(`Cannot find Windows browser in stdout: ${JSON.stringify(e)}`);let{id:n}=t.groups,s=n.lastIndexOf("."),i=n.lastIndexOf("-"),a=s===-1?void 0:n.slice(0,s),c=i===-1?void 0:n.slice(0,i);return Zi[n]??Zi[a]??Zi[c]??{name:n,id:n}}var qh,Wh,Ny,Zi,Bw,Ac,Hh=Mt(()=>{qh=require("node:util"),Wh=require("node:child_process"),Ny=(0,qh.promisify)(Wh.execFile),Zi={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"}},Bw=new Map(Object.entries(Zi)),Ac=class extends Error{}});async function Lc(){if(Qi.default.platform==="darwin"){let r=await kc();return{name:await Rc(r),id:r}}if(Qi.default.platform==="linux"){let{stdout:r}=await Dy("xdg-mime",["query","default","x-scheme-handler/http"]),e=r.trim();return{name:Fy(e.replace(/.desktop$/,"").replace("-"," ")),id:e}}if(Qi.default.platform==="win32")return Ic();throw new Error("Only macOS, Linux, and Windows are supported")}var Vh,Qi,Kh,Dy,Fy,zh=Mt(()=>{Vh=require("node:util"),Qi=fe(require("node:process"),1),Kh=require("node:child_process");Dh();Uh();Hh();Dy=(0,Vh.promisify)(Kh.execFile),Fy=r=>r.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,e=>e.toUpperCase())});var Qh={};Kd(Qh,{apps:()=>jr,default:()=>qy,openApp:()=>Uy});async function By(){let r=await Oc(),e=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,t=Fc.Buffer.from(e,"utf16le").toString("base64"),{stdout:n}=await My(r,["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand",t],{encoding:"utf8"}),s=n.trim(),i={ChromeHTML:"com.google.chrome",BraveHTML:"com.brave.Browser",MSEdgeHTM:"com.microsoft.edge",FirefoxURL:"org.mozilla.firefox"};return i[s]?{id:i[s]}:{}}function Xh(r){if(typeof r=="string"||Array.isArray(r))return r;let{[Gh]:e}=r;if(!e)throw new Error(`${Gh} is not supported`);return e}function to({[Vn]:r},{wsl:e}){if(e&&Mr)return Xh(e);if(!r)throw new Error(`${Vn} is not supported`);return Xh(r)}var Dc,Fc,Mc,Jh,Zh,Bc,eo,Wy,My,Nc,$h,Vn,Gh,Yh,ks,jy,Uy,jr,qy,ed=Mt(()=>{Dc=fe(require("node:process"),1),Fc=require("node:buffer"),Mc=fe(require("node:path"),1),Jh=require("node:url"),Zh=require("node:util"),Bc=fe(require("node:child_process"),1),eo=fe(require("node:fs/promises"),1);Rh();Ah();zh();xc();Wy={},My=(0,Zh.promisify)(Bc.default.execFile),Nc=Mc.default.dirname((0,Jh.fileURLToPath)(Wy.url)),$h=Mc.default.join(Nc,"xdg-open"),{platform:Vn,arch:Gh}=Dc.default;Yh=async(r,e)=>{let t;for(let n of r)try{return await e(n)}catch(s){t=s}throw t},ks=async r=>{if(r={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...r},Array.isArray(r.app))return Yh(r.app,c=>ks({...r,app:c}));let{name:e,arguments:t=[]}=r.app??{};if(t=[...t],Array.isArray(e))return Yh(e,c=>ks({...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"},d=Mr?await By():await Lc();if(d.id in c){let g=c[d.id];return e==="browserPrivate"&&t.push(u[g]),ks({...r,app:{name:jr[g],arguments:t}})}throw new Error(`${d.name} is not supported as a default browser`)}let n,s=[],i={};if(Vn==="darwin")n="open",r.wait&&s.push("--wait-apps"),r.background&&s.push("--background"),r.newInstance&&s.push("--new"),e&&s.push("-a",e);else if(Vn==="win32"||Mr&&!Hn()&&!e){n=await Oc(),s.push("-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"),Mr||(i.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=Fc.Buffer.from(c.join(" "),"utf16le").toString("base64")}else{if(e)n=e;else{let c=!Nc||Nc==="/",u=!1;try{await eo.default.access($h,eo.constants.X_OK),u=!0}catch{}n=Dc.default.versions.electron??(Vn==="android"||c||!u)?"xdg-open":$h}t.length>0&&s.push(...t),r.wait||(i.stdio="ignore",i.detached=!0)}Vn==="darwin"&&t.length>0&&s.push("--args",...t),r.target&&s.push(r.target);let a=Bc.default.spawn(n,s,i);return r.wait?new Promise((c,u)=>{a.once("error",u),a.once("close",d=>{if(!r.allowNonzeroExitCode&&d>0){u(new Error(`Exited with code ${d}`));return}c(a)})}):(a.unref(),a)},jy=(r,e)=>{if(typeof r!="string")throw new TypeError("Expected a `target`");return ks({...e,target:r})},Uy=(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 ks({...e,app:{name:r,arguments:t}})};jr={};Br(jr,"chrome",()=>to({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"]}}));Br(jr,"brave",()=>to({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"]}}));Br(jr,"firefox",()=>to({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));Br(jr,"edge",()=>to({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));Br(jr,"browser",()=>"browser");Br(jr,"browserPrivate",()=>"browserPrivate");qy=jy});var ar=fe(require("fs")),qs=fe(require("path"));var sf=fe(require("os")),of=fe(require("path")),js=fe(require("fs"));function Us(){let r=of.join(sf.homedir(),".termiq");return js.existsSync(r)||js.mkdirSync(r,{recursive:!0,mode:448}),r}var Zn=class{filePath;data={};constructor(){this.filePath=qs.join(Us(),"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(ar.existsSync(this.filePath)){let e=ar.readFileSync(this.filePath,"utf-8");this.data=JSON.parse(e)}}catch{this.data={}}}save(){let e=qs.dirname(this.filePath);ar.existsSync(e)||ar.mkdirSync(e,{recursive:!0,mode:448}),ar.writeFileSync(this.filePath,JSON.stringify(this.data,null,2),{mode:384})}};var cr=fe(require("fs")),Ws=fe(require("path"));var $d={serverUrl:"https://termiq.io",agentName:""},Qn=class{config;filePath;constructor(e){this.filePath=Ws.join(Us(),"config.json"),this.config={...$d,...this.loadFromFile(),...e}}getServerUrl(){return this.config.serverUrl}getAgentName(){return this.config.agentName}isAutoConnect(){return!0}async setAgentName(e){this.config.agentName=e,this.saveToFile()}loadFromFile(){try{if(cr.existsSync(this.filePath)){let e=cr.readFileSync(this.filePath,"utf-8");return JSON.parse(e)}}catch{}return{}}saveToFile(){let e=Ws.dirname(this.filePath);cr.existsSync(e)||cr.mkdirSync(e,{recursive:!0,mode:448}),cr.writeFileSync(this.filePath,JSON.stringify(this.config,null,2))}};var dt=fe(require("fs")),mc=fe(require("path")),bh=fe(require("os")),Ji=fe(bs()),xy="cli",gc=mc.join(bh.homedir(),".termiq","logs"),Fr=mc.join(gc,"cli.log"),Sy=5*1024*1024,wh=3;function Ty(){try{if(!dt.existsSync(Fr)||dt.statSync(Fr).size<Sy)return;for(let e=wh-1;e>=1;e--){let t=`${Fr}.${e}`,n=`${Fr}.${e+1}`;dt.existsSync(t)&&(e+1>wh?dt.unlinkSync(t):dt.renameSync(t,n))}dt.renameSync(Fr,`${Fr}.1`)}catch{}}function Cy(r){try{dt.existsSync(gc)||dt.mkdirSync(gc,{recursive:!0}),Ty(),dt.appendFileSync(Fr,r+`
32
+ `,{encoding:"utf8"})}catch{}}var xs=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 Fr}write(e,t,n){if(!(0,Ji.shouldLog)(e,this.level))return;let s=(0,Ji.formatLogLine)(e,xy,t,n);process.stderr.write(s+`
33
+ `),this.toFile&&Cy(s)}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 xh=fe(require("os")),Sh=fe(yc()),Ts=class{cachedId=null;name;constructor(e){this.name=e||xh.hostname()||"CLI"}async getMachineId(){if(this.cachedId)return this.cachedId;try{this.cachedId=(0,Sh.machineIdSync)()}catch{this.cachedId=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}return this.cachedId}getMachineName(){return this.name}};var Cs=class{info(e){process.stderr.write(`TermIQ: ${e}
34
34
  `)}warn(e){process.stderr.write(`TermIQ [warn]: ${e}
35
35
  `)}error(e){process.stderr.write(`TermIQ [error]: ${e}
36
- `)}};var Ps=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(ed(),Qh));await t(e)}};var td=fe(require("fs")),jc=fe(require("path"));function ro(r){let e=r?[r]:[jc.join(__dirname,"..","package.json"),jc.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(td.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}var kd=fe(require("path")),_t=fe(bs());var rd=fe(require("os")),nd=fe(require("node-pty")),sd=fe(bs()),no=class{ptyProcess=null;outputBuffer=new sd.CircularBuffer(100);logger;onOutput=null;onExit=null;sigwinchEnabled=!0;sigwinchListener=null;constructor(e){this.logger=e}spawn(e){let t=process.env.SHELL||(rd.platform()==="win32"?"powershell.exe":"/bin/bash"),n=process.stdout.columns||80,s=process.stdout.rows||24;this.ptyProcess=nd.spawn(t,[],{name:"xterm-256color",cols:n,rows:s,cwd:e,env:process.env});let i=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(a=>{process.stdout.write(a),this.outputBuffer.append(a),this.onOutput?.(a)}),this.ptyProcess.onExit(({exitCode:a})=>{this.logger.info("Shell exited",String(a)),this.onExit?.(a)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",a=>{this.ptyProcess?.write(a.toString())}),this.sigwinchListener=()=>{let a=process.stdout.columns||80,c=process.stdout.rows||24;if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:a,rows:c});return}this.logger.info("Local resize applied",{cols:a,rows:c}),this.ptyProcess?.resize(a,c)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",t,i),i}write(e){this.ptyProcess?.write(e)}resize(e,t){this.ptyProcess?.resize(e,t)}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}))}getBuffer(){return this.outputBuffer.getContent()}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setOnExit(e){this.onExit=e}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),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 Ur=fe(require("path")),$n=fe(require("fs"));var vd=require("node:events"),wd=require("node:fs"),lo=require("node:fs/promises"),ye=fe(require("node:path"),1);var Er=require("node:fs/promises"),vr=require("node:path"),cd=require("node:stream"),Ct={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Uc={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Ct.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Uc);var fd="READDIRP_RECURSIVE_ERROR",qy=new Set(["ENOENT","EPERM","EACCES","ELOOP",fd]),id=[Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE],Wy=new Set([Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE]),Hy=new Set([Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE]),Vy=r=>qy.has(r.code),Ky=process.platform==="win32",od=r=>!0,ad=r=>{if(r===void 0)return od;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 od},qc=class extends cd.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={...Uc,...e},{root:n,type:s}=t;this._fileFilter=ad(t.fileFilter),this._directoryFilter=ad(t.directoryFilter);let i=t.lstat?Er.lstat:Er.stat;Ky?this._stat=a=>i(a,{bigint:!0}):this._stat=i,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:Uc.depth,this._wantsDir=s?Wy.has(s):!1,this._wantsFile=s?Hy.has(s):!1,this._wantsEverything=s===Ct.EVERYTHING_TYPE,this._root=(0,vr.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:s,depth:i}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,s)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let d=await this._getEntryType(u);d==="directory"&&this._directoryFilter(u)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,i+1)),this._wantsDir&&(this.push(u),e--)):(d==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,Er.readdir)(e,this._rdOptions)}catch(s){this._onError(s)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,s=this._isDirent?e.name:e;try{let i=(0,vr.resolve)((0,vr.join)(t,s));n={path:(0,vr.relative)(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(i){this._onError(i);return}return n}_onError(e){Vy(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 s=await(0,Er.realpath)(n),i=await(0,Er.lstat)(s);if(i.isFile())return"file";if(i.isDirectory()){let a=s.length;if(n.startsWith(s)&&n.substr(a,1)===vr.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return c.code=fd,this._onError(c)}return"directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function ud(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Ct.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&&!id.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${id.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new qc(e)}var ln=require("node:fs"),Vt=require("node:fs/promises"),hd=require("node:os"),We=fe(require("node:path"),1),$y="data",Vc="end",dd="close",co=()=>{};var fo=process.platform,Kc=fo==="win32",zy=fo==="darwin",Gy=fo==="linux",Yy=fo==="freebsd",pd=(0,hd.type)()==="OS400",Ke={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Ht=Ke,Xy="watch",Jy={lstat:Vt.lstat,stat:Vt.stat},un="listeners",so="errHandlers",Kn="rawEmitters",Zy=[un,so,Kn],Qy=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"]),eE=r=>Qy.has(We.extname(r).slice(1).toLowerCase()),Hc=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Rs=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},tE=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},As=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},gd=r=>r instanceof Set?r.size===0:!r,io=new Map;function ld(r,e,t,n,s){let i=(a,c)=>{t(r),s(a,c,{watchedPath:r}),c&&r!==c&&oo(We.resolve(r,c),un,We.join(r,c))};try{return(0,ln.watch)(r,{persistent:e.persistent},i)}catch(a){n(a);return}}var oo=(r,e,t,n,s)=>{let i=io.get(r);i&&Hc(i[e],a=>{a(t,n,s)})},rE=(r,e,t,n)=>{let{listener:s,errHandler:i,rawEmitter:a}=n,c=io.get(e),u;if(!t.persistent)return u=ld(r,t,s,i,a),u?u.close.bind(u):void 0;if(c)Rs(c,un,s),Rs(c,so,i),Rs(c,Kn,a);else{if(u=ld(r,t,oo.bind(null,e,un),i,oo.bind(null,e,Kn)),!u)return;u.on(Ht.ERROR,async d=>{let g=oo.bind(null,e,so);if(c&&(c.watcherUnusable=!0),Kc&&d.code==="EPERM")try{await(await(0,Vt.open)(r,"r")).close(),g(d)}catch{}else g(d)}),c={listeners:s,errHandlers:i,rawEmitters:a,watcher:u},io.set(e,c)}return()=>{As(c,un,s),As(c,so,i),As(c,Kn,a),gd(c.listeners)&&(c.watcher.close(),io.delete(e),Zy.forEach(tE(c)),c.watcher=void 0,Object.freeze(c))}},Wc=new Map,nE=(r,e,t,n)=>{let{listener:s,rawEmitter:i}=n,a=Wc.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,ln.unwatchFile)(e),a=void 0),a?(Rs(a,un,s),Rs(a,Kn,i)):(a={listeners:s,rawEmitters:i,options:t,watcher:(0,ln.watchFile)(e,t,(u,d)=>{Hc(a.rawEmitters,m=>{m(Ht.CHANGE,e,{curr:u,prev:d})});let g=u.mtimeMs;(u.size!==d.size||g>d.mtimeMs||g===0)&&Hc(a.listeners,m=>m(r,u))})},Wc.set(e,a)),()=>{As(a,un,s),As(a,Kn,i),gd(a.listeners)&&(Wc.delete(e),(0,ln.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},ao=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,s=We.dirname(e),i=We.basename(e);this.fsw._getWatchedDir(s).add(i);let c=We.resolve(e),u={persistent:n.persistent};t||(t=co);let d;if(n.usePolling){let g=n.interval!==n.binaryInterval;u.interval=g&&eE(i)?n.binaryInterval:n.interval,d=nE(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else d=rE(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,t,n){if(this.fsw.closed)return;let s=We.dirname(e),i=We.basename(e),a=this.fsw._getWatchedDir(s),c=t;if(a.has(i))return;let u=async(g,m)=>{if(this.fsw._throttle(Xy,e,5)){if(!m||m.mtimeMs===0)try{let y=await(0,Vt.stat)(e);if(this.fsw.closed)return;let w=y.atimeMs,S=y.mtimeMs;if((!w||w<=S||S!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,y),(zy||Gy||Yy)&&c.ino!==y.ino){this.fsw._closeFile(g),c=y;let C=this._watchWithNodeFs(e,u);C&&this.fsw._addPathCloser(g,C)}else c=y}catch{this.fsw._remove(s,i)}else if(a.has(i)){let y=m.atimeMs,w=m.mtimeMs;(!y||y<=w||w!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,m),c=m}}},d=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ht.ADD,e,0))return;this.fsw._emit(Ht.ADD,e,t)}return d}async _handleSymlink(e,t,n,s){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,Vt.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(s)?this.fsw._symlinkPaths.get(i)!==c&&(this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.CHANGE,n,e.stats)):(a.add(s),this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,s,i,a,c){e=We.join(e,"");let u=s?`${e}:${s}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let d=this.fsw._getWatchedDir(n.path),g=new Set,m=this.fsw._readdirp(e,{fileFilter:y=>n.filterPath(y),directoryFilter:y=>n.filterDir(y)});if(m)return m.on($y,async y=>{if(this.fsw.closed){m=void 0;return}let w=y.path,S=We.join(e,w);if(g.add(w),!(y.stats.isSymbolicLink()&&await this._handleSymlink(y,e,S,w))){if(this.fsw.closed){m=void 0;return}(w===s||!s&&!d.has(w))&&(this.fsw._incrReadyCount(),S=We.join(i,We.relative(i,S)),this._addToNodeFs(S,t,n,a+1))}}).on(Ht.ERROR,this._boundHandleError),new Promise((y,w)=>{if(!m)return w();m.once(Vc,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;y(void 0),d.getChildren().filter(C=>C!==e&&!g.has(C)).forEach(C=>{this.fsw._remove(e,C)}),m=void 0,S&&this._handleRead(e,!1,n,s,i,a,c)})})}async _handleDir(e,t,n,s,i,a,c){let u=this.fsw._getWatchedDir(We.dirname(e)),d=u.has(We.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!d&&this.fsw._emit(Ht.ADD_DIR,e,t),u.add(We.basename(e)),this.fsw._getWatchedDir(e);let g,m,y=this.fsw.options.depth;if((y==null||s<=y)&&!this.fsw._symlinkPaths.has(c)){if(!i&&(await this._handleRead(e,n,a,i,e,s,g),this.fsw.closed))return;m=this._watchWithNodeFs(e,(w,S)=>{S&&S.mtimeMs===0||this._handleRead(w,!1,a,i,e,s,g)})}return m}async _addToNodeFs(e,t,n,s,i){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 Jy[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let d=this.fsw.options.followSymlinks,g;if(u.isDirectory()){let m=We.resolve(e),y=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed||(g=await this._handleDir(c.watchPath,u,t,s,i,c,y),this.fsw.closed))return;m!==y&&y!==void 0&&this.fsw._symlinkPaths.set(m,y)}else if(u.isSymbolicLink()){let m=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed)return;let y=We.dirname(c.watchPath);if(this.fsw._getWatchedDir(y).add(c.watchPath),this.fsw._emit(Ht.ADD,c.watchPath,u),g=await this._handleDir(y,u,t,s,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(We.resolve(e),m)}else g=this._handleFile(c.watchPath,u,t);return a(),g&&this.fsw._addPathCloser(e,g),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var $c="/",sE="//",bd=".",iE="..",oE="string",aE=/\\/g,xd=/\/\//g,cE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,fE=/^\.[/\\]/;function uo(r){return Array.isArray(r)?r:[r]}var zc=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function uE(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=ye.relative(r.path,e);return t?!t.startsWith("..")&&!ye.isAbsolute(t):!1}return!1}:()=>!1}function lE(r){if(typeof r!="string")throw new Error("string expected");r=ye.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(xd,"/"),e&&(r="/"+r),r}function md(r,e,t){let n=lE(e);for(let s=0;s<r.length;s++){let i=r[s];if(i(n,t))return!0}return!1}function hE(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=uo(r).map(s=>uE(s));return e==null?(s,i)=>md(n,s,i):md(n,e)}var _d=r=>{let e=uo(r).flat();if(!e.every(t=>typeof t===oE))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Sd)},yd=r=>{let e=r.replace(aE,$c),t=!1;return e.startsWith(sE)&&(t=!0),e=e.replace(xd,$c),t&&(e=$c+e),e},Sd=r=>yd(ye.normalize(yd(r))),Ed=(r="")=>e=>typeof e=="string"?Sd(ye.isAbsolute(e)?e:ye.join(r,e)):e,dE=(r,e)=>ye.isAbsolute(r)?r:ye.join(e,r),pE=Object.freeze(new Set),Gc=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!==bd&&e!==iE&&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,lo.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(ye.dirname(n),ye.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=co,this.items=pE,Object.freeze(this)}},gE="stat",mE="lstat",Yc=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let s=e;this.path=e=e.replace(fE,""),this.watchPath=s,this.fullWatchPath=ye.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop()}),this.followSymlinks=t,this.statMethod=t?gE:mE}entryPath(e){return ye.join(this.watchPath,ye.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)}},Xc=class extends vd.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},s={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?uo(e.ignored):uo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};pd&&(s.usePolling=!0),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let u=i.toLowerCase();u==="false"||u==="0"?s.usePolling=!1:u==="true"||u==="1"?s.usePolling=!0:s.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(s.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=co,this._readyEmitted=!0,process.nextTick(()=>this.emit(Ke.READY)))},this._emitRaw=(...u)=>this.emit(Ke.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new ao(this),Object.freeze(s)}_addIgnoredPath(e){if(zc(e)){for(let t of this._ignoredPaths)if(zc(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)zc(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:s}=this.options;this.closed=!1,this._closePromise=void 0;let i=_d(e);return s&&(i=i.map(a=>dE(a,s))),i.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.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(ye.dirname(c),ye.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=_d(e),{cwd:n}=this.options;return t.forEach(s=>{!ye.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=ye.join(n,s)),s=ye.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,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 s=n();s instanceof Promise&&e.push(s)})),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 i=(this.options.cwd?ye.relative(this.options.cwd,n):n)||bd;e[i]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Ke.ERROR&&this.emit(Ke.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let s=this.options;Kc&&(t=ye.normalize(t)),s.cwd&&(t=ye.relative(s.cwd,t));let i=[t];n!=null&&i.push(n);let a=s.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(s.atomic){if(e===Ke.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((u,d)=>{this.emit(...u),this.emit(Ke.ALL,...u),this._pendingUnlinks.delete(d)})},typeof s.atomic=="number"?s.atomic:100),this;e===Ke.ADD&&this._pendingUnlinks.has(t)&&(e=Ke.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Ke.ADD||e===Ke.CHANGE)&&this._readyEmitted){let u=(d,g)=>{d?(e=Ke.ERROR,i[0]=d,this.emitWithAll(e,i)):g&&(i.length>1?i[1]=g:i.push(g),this.emitWithAll(e,i))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Ke.CHANGE&&!this._throttle(Ke.CHANGE,t,50))return this;if(s.alwaysStat&&n===void 0&&(e===Ke.ADD||e===Ke.ADD_DIR||e===Ke.CHANGE)){let u=s.cwd?ye.join(s.cwd,t):t,d;try{d=await(0,lo.stat)(u)}catch{}if(!d||this.closed)return;i.push(d)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Ke.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let s=this._throttled.get(e);if(!s)throw new Error("invalid throttle");let i=s.get(t);if(i)return i.count++,!1;let a,c=()=>{let d=s.get(t),g=d?d.count:0;return s.delete(t),clearTimeout(a),d&&clearTimeout(d.timeoutObject),g};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return s.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let a=i.pollInterval,c,u=e;this.options.cwd&&!ye.isAbsolute(e)&&(u=ye.join(this.options.cwd,e));let d=new Date,g=this._pendingWrites;function m(y){(0,wd.stat)(u,(w,S)=>{if(w||!g.has(e)){w&&w.code!=="ENOENT"&&s(w);return}let C=Number(new Date);y&&S.size!==y.size&&(g.get(e).lastChange=C);let V=g.get(e);C-V.lastChange>=t?(g.delete(e),s(void 0,S)):c=setTimeout(m,a,S)})}g.has(e)||(g.set(e,{lastChange:d,cancelWait:()=>(g.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&cE.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(Ed(n)),c=[...[...this._ignoredPaths].map(Ed(n)),...i];this._userIgnored=hE(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Yc(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=ye.resolve(e);return this._watched.has(t)||this._watched.set(t,new Gc(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let s=ye.join(e,t),i=ye.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(s).getChildren().forEach(y=>this._remove(s,y));let u=this._getWatchedDir(e),d=u.has(t);u.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let g=s;if(this.options.cwd&&(g=ye.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(g)&&this._pendingWrites.get(g).cancelWait()===Ke.ADD)return;this._watched.delete(s),this._watched.delete(i);let m=n?Ke.UNLINK_DIR:Ke.UNLINK;d&&!this._isIgnored(s)&&this._emit(m,s),this._closePath(s)}_closePath(e){this._closeFile(e);let t=ye.dirname(e);this._getWatchedDir(t).remove(ye.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:Ke.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},s=ud(e,n);return this._streams.add(s),s.once(dd,()=>{s=void 0}),s.once(Vc,()=>{s&&(this._streams.delete(s),s=void 0)}),s}};function Td(r,e={}){let t=new Xc(e);return t.add(r),t}var Cd=fe(oc()),sr=fe(kr()),_E=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],yE=300,ho=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,Cd.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add(_E);let e=Ur.join(this.workspaceRoot,".gitignore");try{if($n.existsSync(e)){let t=$n.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=Td(this.workspaceRoot,{ignored:e=>{let t=Ur.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(Ur.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,sr.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,sr.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,sr.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=Ur.relative(this.workspaceRoot,e);if(!n)return;let s=this.pendingEvents.get(n);s&&clearTimeout(s);let i=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(i,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},yE);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===sr.FileChangeType.DELETE||e===sr.FileChangeType.DELETE?sr.FileChangeType.DELETE:e===sr.FileChangeType.CREATE?sr.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==sr.FileChangeType.DELETE)try{let s=Ur.join(this.workspaceRoot,e),i=$n.statSync(s);n.size=i.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};async function po(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
36
+ `)}};var Ps=class{async openUrl(e){let{default:t}=await Promise.resolve().then(()=>(ed(),Qh));await t(e)}};var td=fe(require("fs")),jc=fe(require("path"));function ro(r){let e=r?[r]:[jc.join(__dirname,"..","package.json"),jc.join(__dirname,"..","..","package.json")];for(let t of e)try{let n=JSON.parse(td.readFileSync(t,"utf8"));if(typeof n.version=="string"&&n.version.length>0)return n.version}catch{}return"unknown"}function rd(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 nd=new Set(["--cid","--token","--server","--log-level"]);var Rd=fe(require("path")),_t=fe(bs());var sd=fe(require("os")),id=fe(require("node-pty")),od=fe(bs()),no=class r{ptyProcess=null;outputBuffer=new od.CircularBuffer(100);logger;onOutput=null;onExit=null;sigwinchEnabled=!0;sigwinchListener=null;desiredCols=null;desiredRows=null;resizeWatcher=null;static RESIZE_WATCH_INTERVAL_MS=500;constructor(e){this.logger=e}spawn(e){let t=process.env.SHELL||(sd.platform()==="win32"?"powershell.exe":"/bin/bash"),n=process.stdout.columns||80,s=process.stdout.rows||24;this.ptyProcess=id.spawn(t,[],{name:"xterm-256color",cols:n,rows:s,cwd:e,env:process.env});let i=`cli_${this.ptyProcess.pid}`;return this.ptyProcess.onData(a=>{process.stdout.write(a),this.outputBuffer.append(a),this.onOutput?.(a)}),this.ptyProcess.onExit(({exitCode:a})=>{this.logger.info("Shell exited",String(a)),this.onExit?.(a)}),process.stdin.isTTY&&process.stdin.setRawMode(!0),process.stdin.resume(),process.stdin.on("data",a=>{this.ptyProcess?.write(a.toString())}),this.sigwinchListener=()=>{let a=process.stdout.columns||80,c=process.stdout.rows||24;if(!this.sigwinchEnabled){this.logger.info("Local resize ignored (PWA viewers attached)",{cols:a,rows:c});return}this.logger.info("Local resize applied",{cols:a,rows:c}),this.ptyProcess?.resize(a,c)},process.platform==="win32"?process.stdout.on("resize",this.sigwinchListener):process.on("SIGWINCH",this.sigwinchListener),this.logger.info("Shell spawned",t,i),i}write(e){this.ptyProcess?.write(e)}resize(e,t){this.desiredCols=e,this.desiredRows=t,this.ptyProcess?.resize(e,t)}setSigwinchEnabled(e){this.sigwinchEnabled!==e&&(this.sigwinchEnabled=e,this.logger.info("SIGWINCH listener",{enabled:e}),e?this.stopResizeWatcher():this.startResizeWatcher())}startResizeWatcher(){this.stopResizeWatcher(),this.resizeWatcher=setInterval(()=>{if(!this.ptyProcess||this.desiredCols===null||this.desiredRows===null)return;let e=this.ptyProcess.cols,t=this.ptyProcess.rows;e===this.desiredCols&&t===this.desiredRows||(this.logger.info("Pty size drift detected, restoring",{actualCols:e,actualRows:t,desiredCols:this.desiredCols,desiredRows:this.desiredRows}),this.ptyProcess.resize(this.desiredCols,this.desiredRows))},r.RESIZE_WATCH_INTERVAL_MS)}stopResizeWatcher(){this.resizeWatcher&&(clearInterval(this.resizeWatcher),this.resizeWatcher=null)}getBuffer(){return this.outputBuffer.getContent()}getLastBytes(e){return this.outputBuffer.getLastBytes(e)}setOnOutput(e){this.onOutput=e}setOnExit(e){this.onExit=e}kill(){this.ptyProcess?.kill(),this.ptyProcess=null}dispose(){this.kill(),this.stopResizeWatcher(),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 Ur=fe(require("path")),zn=fe(require("fs"));var bd=require("node:events"),xd=require("node:fs"),lo=require("node:fs/promises"),ye=fe(require("node:path"),1);var Er=require("node:fs/promises"),vr=require("node:path"),ud=require("node:stream"),Ct={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},Uc={root:".",fileFilter:r=>!0,directoryFilter:r=>!0,type:Ct.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(Uc);var ld="READDIRP_RECURSIVE_ERROR",Hy=new Set(["ENOENT","EPERM","EACCES","ELOOP",ld]),ad=[Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE],Vy=new Set([Ct.DIR_TYPE,Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE]),Ky=new Set([Ct.EVERYTHING_TYPE,Ct.FILE_DIR_TYPE,Ct.FILE_TYPE]),zy=r=>Hy.has(r.code),$y=process.platform==="win32",cd=r=>!0,fd=r=>{if(r===void 0)return cd;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 cd},qc=class extends ud.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={...Uc,...e},{root:n,type:s}=t;this._fileFilter=fd(t.fileFilter),this._directoryFilter=fd(t.directoryFilter);let i=t.lstat?Er.lstat:Er.stat;$y?this._stat=a=>i(a,{bigint:!0}):this._stat=i,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:Uc.depth,this._wantsDir=s?Vy.has(s):!1,this._wantsFile=s?Ky.has(s):!1,this._wantsEverything=s===Ct.EVERYTHING_TYPE,this._root=(0,vr.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:s,depth:i}=t,a=n.splice(0,e).map(u=>this._formatEntry(u,s)),c=await Promise.all(a);for(let u of c){if(!u)continue;if(this.destroyed)return;let d=await this._getEntryType(u);d==="directory"&&this._directoryFilter(u)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(u.fullPath,i+1)),this._wantsDir&&(this.push(u),e--)):(d==="file"||this._includeAsFile(u))&&this._fileFilter(u)&&this._wantsFile&&(this.push(u),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(t){this.destroy(t)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,Er.readdir)(e,this._rdOptions)}catch(s){this._onError(s)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,s=this._isDirent?e.name:e;try{let i=(0,vr.resolve)((0,vr.join)(t,s));n={path:(0,vr.relative)(this._root,i),fullPath:i,basename:s},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(i){this._onError(i);return}return n}_onError(e){zy(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 s=await(0,Er.realpath)(n),i=await(0,Er.lstat)(s);if(i.isFile())return"file";if(i.isDirectory()){let a=s.length;if(n.startsWith(s)&&n.substr(a,1)===vr.sep){let c=new Error(`Circular symlink detected: "${n}" points to "${s}"`);return c.code=ld,this._onError(c)}return"directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function hd(r,e={}){let t=e.entryType||e.type;if(t==="both"&&(t=Ct.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&&!ad.includes(t))throw new Error(`readdirp: Invalid type passed. Use one of ${ad.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=r,new qc(e)}var ln=require("node:fs"),Vt=require("node:fs/promises"),pd=require("node:os"),We=fe(require("node:path"),1),Gy="data",Vc="end",gd="close",co=()=>{};var fo=process.platform,Kc=fo==="win32",Yy=fo==="darwin",Xy=fo==="linux",Jy=fo==="freebsd",md=(0,pd.type)()==="OS400",Ke={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},Ht=Ke,Zy="watch",Qy={lstat:Vt.lstat,stat:Vt.stat},un="listeners",so="errHandlers",Kn="rawEmitters",eE=[un,so,Kn],tE=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"]),rE=r=>tE.has(We.extname(r).slice(1).toLowerCase()),Hc=(r,e)=>{r instanceof Set?r.forEach(e):e(r)},Rs=(r,e,t)=>{let n=r[e];n instanceof Set||(r[e]=n=new Set([n])),n.add(t)},nE=r=>e=>{let t=r[e];t instanceof Set?t.clear():delete r[e]},As=(r,e,t)=>{let n=r[e];n instanceof Set?n.delete(t):n===t&&delete r[e]},_d=r=>r instanceof Set?r.size===0:!r,io=new Map;function dd(r,e,t,n,s){let i=(a,c)=>{t(r),s(a,c,{watchedPath:r}),c&&r!==c&&oo(We.resolve(r,c),un,We.join(r,c))};try{return(0,ln.watch)(r,{persistent:e.persistent},i)}catch(a){n(a);return}}var oo=(r,e,t,n,s)=>{let i=io.get(r);i&&Hc(i[e],a=>{a(t,n,s)})},sE=(r,e,t,n)=>{let{listener:s,errHandler:i,rawEmitter:a}=n,c=io.get(e),u;if(!t.persistent)return u=dd(r,t,s,i,a),u?u.close.bind(u):void 0;if(c)Rs(c,un,s),Rs(c,so,i),Rs(c,Kn,a);else{if(u=dd(r,t,oo.bind(null,e,un),i,oo.bind(null,e,Kn)),!u)return;u.on(Ht.ERROR,async d=>{let g=oo.bind(null,e,so);if(c&&(c.watcherUnusable=!0),Kc&&d.code==="EPERM")try{await(await(0,Vt.open)(r,"r")).close(),g(d)}catch{}else g(d)}),c={listeners:s,errHandlers:i,rawEmitters:a,watcher:u},io.set(e,c)}return()=>{As(c,un,s),As(c,so,i),As(c,Kn,a),_d(c.listeners)&&(c.watcher.close(),io.delete(e),eE.forEach(nE(c)),c.watcher=void 0,Object.freeze(c))}},Wc=new Map,iE=(r,e,t,n)=>{let{listener:s,rawEmitter:i}=n,a=Wc.get(e),c=a&&a.options;return c&&(c.persistent<t.persistent||c.interval>t.interval)&&((0,ln.unwatchFile)(e),a=void 0),a?(Rs(a,un,s),Rs(a,Kn,i)):(a={listeners:s,rawEmitters:i,options:t,watcher:(0,ln.watchFile)(e,t,(u,d)=>{Hc(a.rawEmitters,m=>{m(Ht.CHANGE,e,{curr:u,prev:d})});let g=u.mtimeMs;(u.size!==d.size||g>d.mtimeMs||g===0)&&Hc(a.listeners,m=>m(r,u))})},Wc.set(e,a)),()=>{As(a,un,s),As(a,Kn,i),_d(a.listeners)&&(Wc.delete(e),(0,ln.unwatchFile)(e),a.options=a.watcher=void 0,Object.freeze(a))}},ao=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,s=We.dirname(e),i=We.basename(e);this.fsw._getWatchedDir(s).add(i);let c=We.resolve(e),u={persistent:n.persistent};t||(t=co);let d;if(n.usePolling){let g=n.interval!==n.binaryInterval;u.interval=g&&rE(i)?n.binaryInterval:n.interval,d=iE(e,c,u,{listener:t,rawEmitter:this.fsw._emitRaw})}else d=sE(e,c,u,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return d}_handleFile(e,t,n){if(this.fsw.closed)return;let s=We.dirname(e),i=We.basename(e),a=this.fsw._getWatchedDir(s),c=t;if(a.has(i))return;let u=async(g,m)=>{if(this.fsw._throttle(Zy,e,5)){if(!m||m.mtimeMs===0)try{let y=await(0,Vt.stat)(e);if(this.fsw.closed)return;let w=y.atimeMs,S=y.mtimeMs;if((!w||w<=S||S!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,y),(Yy||Xy||Jy)&&c.ino!==y.ino){this.fsw._closeFile(g),c=y;let C=this._watchWithNodeFs(e,u);C&&this.fsw._addPathCloser(g,C)}else c=y}catch{this.fsw._remove(s,i)}else if(a.has(i)){let y=m.atimeMs,w=m.mtimeMs;(!y||y<=w||w!==c.mtimeMs)&&this.fsw._emit(Ht.CHANGE,e,m),c=m}}},d=this._watchWithNodeFs(e,u);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(Ht.ADD,e,0))return;this.fsw._emit(Ht.ADD,e,t)}return d}async _handleSymlink(e,t,n,s){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let c;try{c=await(0,Vt.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(s)?this.fsw._symlinkPaths.get(i)!==c&&(this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.CHANGE,n,e.stats)):(a.add(s),this.fsw._symlinkPaths.set(i,c),this.fsw._emit(Ht.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,s,i,a,c){e=We.join(e,"");let u=s?`${e}:${s}`:e;if(c=this.fsw._throttle("readdir",u,1e3),!c)return;let d=this.fsw._getWatchedDir(n.path),g=new Set,m=this.fsw._readdirp(e,{fileFilter:y=>n.filterPath(y),directoryFilter:y=>n.filterDir(y)});if(m)return m.on(Gy,async y=>{if(this.fsw.closed){m=void 0;return}let w=y.path,S=We.join(e,w);if(g.add(w),!(y.stats.isSymbolicLink()&&await this._handleSymlink(y,e,S,w))){if(this.fsw.closed){m=void 0;return}(w===s||!s&&!d.has(w))&&(this.fsw._incrReadyCount(),S=We.join(i,We.relative(i,S)),this._addToNodeFs(S,t,n,a+1))}}).on(Ht.ERROR,this._boundHandleError),new Promise((y,w)=>{if(!m)return w();m.once(Vc,()=>{if(this.fsw.closed){m=void 0;return}let S=c?c.clear():!1;y(void 0),d.getChildren().filter(C=>C!==e&&!g.has(C)).forEach(C=>{this.fsw._remove(e,C)}),m=void 0,S&&this._handleRead(e,!1,n,s,i,a,c)})})}async _handleDir(e,t,n,s,i,a,c){let u=this.fsw._getWatchedDir(We.dirname(e)),d=u.has(We.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!d&&this.fsw._emit(Ht.ADD_DIR,e,t),u.add(We.basename(e)),this.fsw._getWatchedDir(e);let g,m,y=this.fsw.options.depth;if((y==null||s<=y)&&!this.fsw._symlinkPaths.has(c)){if(!i&&(await this._handleRead(e,n,a,i,e,s,g),this.fsw.closed))return;m=this._watchWithNodeFs(e,(w,S)=>{S&&S.mtimeMs===0||this._handleRead(w,!1,a,i,e,s,g)})}return m}async _addToNodeFs(e,t,n,s,i){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 Qy[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,u))return a(),!1;let d=this.fsw.options.followSymlinks,g;if(u.isDirectory()){let m=We.resolve(e),y=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed||(g=await this._handleDir(c.watchPath,u,t,s,i,c,y),this.fsw.closed))return;m!==y&&y!==void 0&&this.fsw._symlinkPaths.set(m,y)}else if(u.isSymbolicLink()){let m=d?await(0,Vt.realpath)(e):e;if(this.fsw.closed)return;let y=We.dirname(c.watchPath);if(this.fsw._getWatchedDir(y).add(c.watchPath),this.fsw._emit(Ht.ADD,c.watchPath,u),g=await this._handleDir(y,u,t,s,e,c,m),this.fsw.closed)return;m!==void 0&&this.fsw._symlinkPaths.set(We.resolve(e),m)}else g=this._handleFile(c.watchPath,u,t);return a(),g&&this.fsw._addPathCloser(e,g),!1}catch(u){if(this.fsw._handleError(u))return a(),e}}};var zc="/",oE="//",Sd=".",aE="..",cE="string",fE=/\\/g,Td=/\/\//g,uE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,lE=/^\.[/\\]/;function uo(r){return Array.isArray(r)?r:[r]}var $c=r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp);function hE(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=ye.relative(r.path,e);return t?!t.startsWith("..")&&!ye.isAbsolute(t):!1}return!1}:()=>!1}function dE(r){if(typeof r!="string")throw new Error("string expected");r=ye.normalize(r),r=r.replace(/\\/g,"/");let e=!1;return r.startsWith("//")&&(e=!0),r=r.replace(Td,"/"),e&&(r="/"+r),r}function yd(r,e,t){let n=dE(e);for(let s=0;s<r.length;s++){let i=r[s];if(i(n,t))return!0}return!1}function pE(r,e){if(r==null)throw new TypeError("anymatch: specify first argument");let n=uo(r).map(s=>hE(s));return e==null?(s,i)=>yd(n,s,i):yd(n,e)}var Ed=r=>{let e=uo(r).flat();if(!e.every(t=>typeof t===cE))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(Cd)},vd=r=>{let e=r.replace(fE,zc),t=!1;return e.startsWith(oE)&&(t=!0),e=e.replace(Td,zc),t&&(e=zc+e),e},Cd=r=>vd(ye.normalize(vd(r))),wd=(r="")=>e=>typeof e=="string"?Cd(ye.isAbsolute(e)?e:ye.join(r,e)):e,gE=(r,e)=>ye.isAbsolute(r)?r:ye.join(e,r),mE=Object.freeze(new Set),Gc=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!==Sd&&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,lo.readdir)(n)}catch{this._removeWatcher&&this._removeWatcher(ye.dirname(n),ye.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=co,this.items=mE,Object.freeze(this)}},_E="stat",yE="lstat",Yc=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let s=e;this.path=e=e.replace(lE,""),this.watchPath=s,this.fullWatchPath=ye.resolve(s),this.dirParts=[],this.dirParts.forEach(i=>{i.length>1&&i.pop()}),this.followSymlinks=t,this.statMethod=t?_E:yE}entryPath(e){return ye.join(this.watchPath,ye.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)}},Xc=class extends bd.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},s={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?uo(e.ignored):uo([]),awaitWriteFinish:t===!0?n:typeof t=="object"?{...n,...t}:!1};md&&(s.usePolling=!0),s.atomic===void 0&&(s.atomic=!s.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let u=i.toLowerCase();u==="false"||u==="0"?s.usePolling=!1:u==="true"||u==="1"?s.usePolling=!0:s.usePolling=!!u}let a=process.env.CHOKIDAR_INTERVAL;a&&(s.interval=Number.parseInt(a,10));let c=0;this._emitReady=()=>{c++,c>=this._readyCount&&(this._emitReady=co,this._readyEmitted=!0,process.nextTick(()=>this.emit(Ke.READY)))},this._emitRaw=(...u)=>this.emit(Ke.RAW,...u),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new ao(this),Object.freeze(s)}_addIgnoredPath(e){if($c(e)){for(let t of this._ignoredPaths)if($c(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)$c(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:s}=this.options;this.closed=!1,this._closePromise=void 0;let i=Ed(e);return s&&(i=i.map(a=>gE(a,s))),i.forEach(a=>{this._removeIgnoredPath(a)}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=i.length,Promise.all(i.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(ye.dirname(c),ye.basename(t||c))})}),this}unwatch(e){if(this.closed)return this;let t=Ed(e),{cwd:n}=this.options;return t.forEach(s=>{!ye.isAbsolute(s)&&!this._closers.has(s)&&(n&&(s=ye.join(n,s)),s=ye.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,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 s=n();s instanceof Promise&&e.push(s)})),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 i=(this.options.cwd?ye.relative(this.options.cwd,n):n)||Sd;e[i]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==Ke.ERROR&&this.emit(Ke.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let s=this.options;Kc&&(t=ye.normalize(t)),s.cwd&&(t=ye.relative(s.cwd,t));let i=[t];n!=null&&i.push(n);let a=s.awaitWriteFinish,c;if(a&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(s.atomic){if(e===Ke.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((u,d)=>{this.emit(...u),this.emit(Ke.ALL,...u),this._pendingUnlinks.delete(d)})},typeof s.atomic=="number"?s.atomic:100),this;e===Ke.ADD&&this._pendingUnlinks.has(t)&&(e=Ke.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===Ke.ADD||e===Ke.CHANGE)&&this._readyEmitted){let u=(d,g)=>{d?(e=Ke.ERROR,i[0]=d,this.emitWithAll(e,i)):g&&(i.length>1?i[1]=g:i.push(g),this.emitWithAll(e,i))};return this._awaitWriteFinish(t,a.stabilityThreshold,e,u),this}if(e===Ke.CHANGE&&!this._throttle(Ke.CHANGE,t,50))return this;if(s.alwaysStat&&n===void 0&&(e===Ke.ADD||e===Ke.ADD_DIR||e===Ke.CHANGE)){let u=s.cwd?ye.join(s.cwd,t):t,d;try{d=await(0,lo.stat)(u)}catch{}if(!d||this.closed)return;i.push(d)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!=="ENOENT"&&t!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||t!=="EPERM"&&t!=="EACCES")&&this.emit(Ke.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let s=this._throttled.get(e);if(!s)throw new Error("invalid throttle");let i=s.get(t);if(i)return i.count++,!1;let a,c=()=>{let d=s.get(t),g=d?d.count:0;return s.delete(t),clearTimeout(a),d&&clearTimeout(d.timeoutObject),g};a=setTimeout(c,n);let u={timeoutObject:a,clear:c,count:0};return s.set(t,u),u}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,s){let i=this.options.awaitWriteFinish;if(typeof i!="object")return;let a=i.pollInterval,c,u=e;this.options.cwd&&!ye.isAbsolute(e)&&(u=ye.join(this.options.cwd,e));let d=new Date,g=this._pendingWrites;function m(y){(0,xd.stat)(u,(w,S)=>{if(w||!g.has(e)){w&&w.code!=="ENOENT"&&s(w);return}let C=Number(new Date);y&&S.size!==y.size&&(g.get(e).lastChange=C);let V=g.get(e);C-V.lastChange>=t?(g.delete(e),s(void 0,S)):c=setTimeout(m,a,S)})}g.has(e)||(g.set(e,{lastChange:d,cancelWait:()=>(g.delete(e),clearTimeout(c),n)}),c=setTimeout(m,a))}_isIgnored(e,t){if(this.options.atomic&&uE.test(e))return!0;if(!this._userIgnored){let{cwd:n}=this.options,i=(this.options.ignored||[]).map(wd(n)),c=[...[...this._ignoredPaths].map(wd(n)),...i];this._userIgnored=pE(c,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new Yc(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=ye.resolve(e);return this._watched.has(t)||this._watched.set(t,new Gc(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let s=ye.join(e,t),i=ye.resolve(s);if(n=n??(this._watched.has(s)||this._watched.has(i)),!this._throttle("remove",s,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(s).getChildren().forEach(y=>this._remove(s,y));let u=this._getWatchedDir(e),d=u.has(t);u.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let g=s;if(this.options.cwd&&(g=ye.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(g)&&this._pendingWrites.get(g).cancelWait()===Ke.ADD)return;this._watched.delete(s),this._watched.delete(i);let m=n?Ke.UNLINK_DIR:Ke.UNLINK;d&&!this._isIgnored(s)&&this._emit(m,s),this._closePath(s)}_closePath(e){this._closeFile(e);let t=ye.dirname(e);this._getWatchedDir(t).remove(ye.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:Ke.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},s=hd(e,n);return this._streams.add(s),s.once(gd,()=>{s=void 0}),s.once(Vc,()=>{s&&(this._streams.delete(s),s=void 0)}),s}};function Od(r,e={}){let t=new Xc(e);return t.add(r),t}var kd=fe(oc()),sr=fe(kr()),EE=["**/node_modules/**","**/.git/**","**/dist/**","**/.next/**","**/.turbo/**","**/.cache/**","**/coverage/**","**/*.log"],vE=300,ho=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,kd.default)(),this.initializeIgnoreFilter()}initializeIgnoreFilter(){this.ignoreFilter.add(EE);let e=Ur.join(this.workspaceRoot,".gitignore");try{if(zn.existsSync(e)){let t=zn.readFileSync(e,"utf-8");this.ignoreFilter.add(t)}}catch{}}onFileChanged(e){this.onFileChangedCallback=e}start(){this.watcher||(this.watcher=Od(this.workspaceRoot,{ignored:e=>{let t=Ur.relative(this.workspaceRoot,e);if(!t||t===".")return!1;let n=t.split(Ur.sep).join("/");return this.ignoreFilter.ignores(n)},persistent:!0,ignoreInitial:!0,awaitWriteFinish:{stabilityThreshold:200,pollInterval:50}}),this.watcher.on("add",e=>this.handleEvent(e,sr.FileChangeType.CREATE)),this.watcher.on("change",e=>this.handleEvent(e,sr.FileChangeType.MODIFY)),this.watcher.on("unlink",e=>this.handleEvent(e,sr.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=Ur.relative(this.workspaceRoot,e);if(!n)return;let s=this.pendingEvents.get(n);s&&clearTimeout(s);let i=this.pendingTypes.get(n);this.pendingTypes.set(n,this.mergeTypes(i,t));let a=setTimeout(()=>{this.emit(n,this.pendingTypes.get(n)||t),this.pendingEvents.delete(n),this.pendingTypes.delete(n)},vE);this.pendingEvents.set(n,a)}mergeTypes(e,t){return e?t===sr.FileChangeType.DELETE||e===sr.FileChangeType.DELETE?sr.FileChangeType.DELETE:e===sr.FileChangeType.CREATE?sr.FileChangeType.CREATE:t:t}emit(e,t){let n={path:e,changeType:t,timestamp:new Date().toISOString(),source:"watcher"};if(t!==sr.FileChangeType.DELETE)try{let s=Ur.join(this.workspaceRoot,e),i=zn.statSync(s);n.size=i.size}catch{}this.onFileChangedCallback?.(n)}dispose(){this.stop(),this.onFileChangedCallback=null}};async function po(r,e,t,n){if(n)return process.stderr.write(`Logging in with API key...
37
37
  `),await r.loginWithApiKey(n)?(process.stderr.write(`Login successful.
38
38
  `),!0):(process.stderr.write(`Login failed. Check your API key.
39
39
  `),!1);try{let s=await r.startDeviceCodeFlow();process.stderr.write(`
@@ -46,13 +46,13 @@ tell application "System Events" to get value of property list item "CFBundleNam
46
46
  `),!0):(process.stderr.write(` Login failed or expired.
47
47
 
48
48
  `),!1)}catch(s){return t.error("Login error",s),process.stderr.write(`Login error: ${s instanceof Error?s.message:String(s)}
49
- `),!1}}var zn=fe(kr());function EE(r){switch(r){case"numbered-choice":return"select";case"free-input":return"input";default:return"confirmation"}}function Od(r,e,t){let n=new Date().toISOString();switch(r){case"working":return e==="idle"?{type:zn.TerminalEventType.SESSION_START,timestamp:n}:null;case"waiting":return{type:zn.TerminalEventType.WAITING_INPUT,timestamp:n,promptType:EE(t?.type),question:t?.question||"Confirm action?",options:t?.choices?.map(s=>s.label)};case"completed":return{type:zn.TerminalEventType.SESSION_END,timestamp:n,status:"success"};case"error":return e==="working"?{type:zn.TerminalEventType.SESSION_END,timestamp:n,status:"error"}:{type:zn.TerminalEventType.ERROR,timestamp:n,severity:"error",message:"Command failed"};default:return null}}async function Pd(r){let{storage:e,config:t,logger:n,machineId:s,notification:i,browser:a,cwd:c,watch:u}=r,d=t.getServerUrl(),g=new URL(d).host,m=await s.getMachineId(),y=new _t.CryptoService(e,n,g,m);await y.initialize();let w=new _t.AuthService(e,y,s,t,n,i,a,g,m),S=await w.hasValidToken();S||await w.refreshAccessToken()||(process.stderr.write(`Not logged in. Starting login flow...
50
- `),await po(w,a,n)||process.exit(1),S=!0);let C;try{let{machineIdSync:z}=await Promise.resolve().then(()=>fe(yc()));C=z()}catch{C=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}let V,de=new _t.StatusDetector((z,te,Re)=>{if(!B.getStatus().connected)return;let je=V;V=te,B.updateStatus({instanceId:L,terminalId:z,status:te,prompt:Re||void 0,encryptedPrompt:Re&&y.encryptPromptInfo(Re)||void 0}).catch(()=>{});let yt=Od(te,je,Re);yt&&B.sendTerminalEvent(L,z,yt)}),B=new _t.WebSocketService(w,y,t,n,i,C,"cli");B.onStatusChange(z=>{z==="connected"?process.stderr.write(`Connected to termiq.io
51
- `):z==="disconnected"&&process.stderr.write(`Disconnected from termiq.io
49
+ `),!1}}var $n=fe(kr());function wE(r){switch(r){case"numbered-choice":return"select";case"free-input":return"input";default:return"confirmation"}}function Pd(r,e,t){let n=new Date().toISOString();switch(r){case"working":return e==="idle"?{type:$n.TerminalEventType.SESSION_START,timestamp:n}:null;case"waiting":return{type:$n.TerminalEventType.WAITING_INPUT,timestamp:n,promptType:wE(t?.type),question:t?.question||"Confirm action?",options:t?.choices?.map(s=>s.label)};case"completed":return{type:$n.TerminalEventType.SESSION_END,timestamp:n,status:"success"};case"error":return e==="working"?{type:$n.TerminalEventType.SESSION_END,timestamp:n,status:"error"}:{type:$n.TerminalEventType.ERROR,timestamp:n,severity:"error",message:"Command failed"};default:return null}}async function Ad(r){let{storage:e,config:t,logger:n,machineId:s,notification:i,browser:a,cwd:c,watch:u}=r,d=t.getServerUrl(),g=new URL(d).host,m=await s.getMachineId(),y=new _t.CryptoService(e,n,g,m);await y.initialize();let w=new _t.AuthService(e,y,s,t,n,i,a,g,m),S=await w.hasValidToken();S||await w.refreshAccessToken()||(process.stderr.write(`Not logged in. Starting login flow...
50
+ `),await po(w,a,n)||process.exit(1),S=!0);let C;try{let{machineIdSync:$}=await Promise.resolve().then(()=>fe(yc()));C=$()}catch{C=`cli_${Date.now()}_${Math.random().toString(36).slice(2,9)}`}let V,de=new _t.StatusDetector(($,te,Re)=>{if(!B.getStatus().connected)return;let je=V;V=te,B.updateStatus({instanceId:L,terminalId:$,status:te,prompt:Re||void 0,encryptedPrompt:Re&&y.encryptPromptInfo(Re)||void 0}).catch(()=>{});let yt=Pd(te,je,Re);yt&&B.sendTerminalEvent(L,$,yt)}),B=new _t.WebSocketService(w,y,t,n,i,C,"cli");B.onStatusChange($=>{$==="connected"?process.stderr.write(`Connected to termiq.io
51
+ `):$==="disconnected"&&process.stderr.write(`Disconnected from termiq.io
52
52
  `)}),B.onAuthFailure(()=>{process.stderr.write(`Session expired. Please run "termiq login" again.
53
- `),Ze(),process.exit(1)});try{await B.connect()}catch(z){process.stderr.write(`Connection failed: ${z instanceof Error?z.message:String(z)}
54
- `),process.exit(1)}let P=kd.basename(c),L=`cli_${Date.now()}`,Q=y.encryptWorkspaceInfo({name:P,path:c});await B.registerWorkspace({instanceId:L,name:Q?void 0:P,path:Q?void 0:c,encryptedInfo:Q||void 0});let j=new no(n),Z=j.spawn(c),pe=`CLI: ${P}`,Ee=process.env.SHELL||"/bin/bash",ve=y.encryptTerminalInfo({name:pe,command:Ee,cwd:c});await B.terminalCreated({instanceId:L,terminalId:Z,name:ve?void 0:pe,command:ve?void 0:Ee,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let He=new _t.FileTransferService(n),$e=new _t.FileTrackerService(n,c),Te=new _t.FileListService(n,c),ze=u?new ho(n,c):null,Ve=B.getSocket();Ve&&He.attach(Ve,L),$e.onFileChanged((z,te)=>{B.sendFileChangedEvent(L,z,te)}),$e.onFileViewTransfer(async(z,te,Re)=>{try{await He.sendBuffer(z,te,Re.path.split("/").pop()||"view",Re.mimeType||"text/plain",{purpose:"view",viewMetadata:Re})}catch(je){n.error("File view transfer failed",je)}}),B.onFileViewRequest((z,te)=>{$e.handleViewRequest(z,te)}),B.onFileListRequest((z,te)=>{Te.handleListRequest(te)}),Te.onResponse(z=>{B.sendFileListResponse(L,z)}),B.onFileDownloadRequest(async(z,te,Re)=>{try{await He.sendFile(z,te,void 0,void 0,Re)}catch(je){n.error("File download failed",je)}}),ze&&(ze.onFileChanged(z=>{B.sendFileChangedEvent(L,Z,z)}),ze.start()),de.startTracking(Z),j.setOnOutput(z=>{B.sendOutput(L,Z,z),de.processOutput(Z,z),$e.processOutput(Z,z)}),B.onInput((z,te)=>{z===Z&&j.write(te)}),B.onResizeRequest((z,te,Re)=>{z===Z&&(n.info("Remote resize received",{terminalId:z,cols:te,rows:Re}),j.resize(te,Re))}),B.onClientAttached(()=>{j.setSigwinchEnabled(!1)}),B.onClientDetached(({clientCount:z})=>{z===0&&j.setSigwinchEnabled(!0)}),B.onGetBufferRequest(z=>z===Z?j.getBuffer():null),B.onRedrawRequest(z=>{if(z===Z){let te=process.stdout.columns||80,Re=process.stdout.rows||24;j.resize(te,Re)}}),B.onReconnect(async()=>{try{await B.registerWorkspace({instanceId:L,name:Q?void 0:P,path:Q?void 0:c,encryptedInfo:Q||void 0}),await B.terminalCreated({instanceId:L,terminalId:Z,name:ve?void 0:pe,command:ve?void 0:Ee,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let z=B.getSocket();z&&He.attach(z,L)}catch(z){n.error("Failed to re-register on reconnect",z)}});function Ze(){ze?.dispose(),He.detach(),$e.dispose(),Te.dispose(),de.stopTracking(Z),de.dispose(),B.terminalClosed({instanceId:L,terminalId:Z}).catch(()=>{}),B.unregisterWorkspace(L).catch(()=>{}),B.disconnect(),j.dispose()}j.setOnExit(()=>{Ze(),process.exit(0)}),process.on("SIGINT",()=>{Ze(),process.exit(0)}),process.on("SIGTERM",()=>{Ze(),process.exit(0)})}async function Rd(r){await r.logout(),process.stderr.write(`Logged out.
55
- `)}async function Ad(r){let e=await r.hasValidToken(),t=await r.getAgentId();e?(process.stderr.write(`Status: logged in
53
+ `),Ze(),process.exit(1)});try{await B.connect()}catch($){process.stderr.write(`Connection failed: ${$ instanceof Error?$.message:String($)}
54
+ `),process.exit(1)}let P=Rd.basename(c),L=`cli_${Date.now()}`,Q=y.encryptWorkspaceInfo({name:P,path:c});await B.registerWorkspace({instanceId:L,name:Q?void 0:P,path:Q?void 0:c,encryptedInfo:Q||void 0});let j=new no(n),Z=j.spawn(c),pe=`CLI: ${P}`,Ee=process.env.SHELL||"/bin/bash",ve=y.encryptTerminalInfo({name:pe,command:Ee,cwd:c});await B.terminalCreated({instanceId:L,terminalId:Z,name:ve?void 0:pe,command:ve?void 0:Ee,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let He=new _t.FileTransferService(n),ze=new _t.FileTrackerService(n,c),Te=new _t.FileListService(n,c),$e=u?new ho(n,c):null,Ve=B.getSocket();Ve&&He.attach(Ve,L),ze.onFileChanged(($,te)=>{B.sendFileChangedEvent(L,$,te)}),ze.onFileViewTransfer(async($,te,Re)=>{try{await He.sendBuffer($,te,Re.path.split("/").pop()||"view",Re.mimeType||"text/plain",{purpose:"view",viewMetadata:Re})}catch(je){n.error("File view transfer failed",je)}}),B.onFileViewRequest(($,te)=>{ze.handleViewRequest($,te)}),B.onFileListRequest(($,te)=>{Te.handleListRequest(te)}),Te.onResponse($=>{B.sendFileListResponse(L,$)}),B.onFileDownloadRequest(async($,te,Re)=>{try{await He.sendFile($,te,void 0,void 0,Re)}catch(je){n.error("File download failed",je)}}),$e&&($e.onFileChanged($=>{B.sendFileChangedEvent(L,Z,$)}),$e.start()),de.startTracking(Z),j.setOnOutput($=>{B.sendOutput(L,Z,$),de.processOutput(Z,$),ze.processOutput(Z,$)}),B.onInput(($,te)=>{$===Z&&j.write(te)}),B.onResizeRequest(($,te,Re)=>{$===Z&&(n.info("Remote resize received",{terminalId:$,cols:te,rows:Re}),j.resize(te,Re))}),B.onClientAttached(()=>{j.setSigwinchEnabled(!1)}),B.onClientDetached(({clientCount:$})=>{$===0&&j.setSigwinchEnabled(!0)}),B.onGetBufferRequest($=>$===Z?j.getBuffer():null),B.onRedrawRequest($=>{if($===Z){let te=process.stdout.columns||80,Re=process.stdout.rows||24;j.resize(te,Re)}}),B.onReconnect(async()=>{try{await B.registerWorkspace({instanceId:L,name:Q?void 0:P,path:Q?void 0:c,encryptedInfo:Q||void 0}),await B.terminalCreated({instanceId:L,terminalId:Z,name:ve?void 0:pe,command:ve?void 0:Ee,cwd:ve?void 0:c,encryptedInfo:ve||void 0});let $=B.getSocket();$&&He.attach($,L)}catch($){n.error("Failed to re-register on reconnect",$)}});function Ze(){$e?.dispose(),He.detach(),ze.dispose(),Te.dispose(),de.stopTracking(Z),de.dispose(),B.terminalClosed({instanceId:L,terminalId:Z}).catch(()=>{}),B.unregisterWorkspace(L).catch(()=>{}),B.disconnect(),j.dispose()}j.setOnExit(()=>{Ze(),process.exit(0)}),process.on("SIGINT",()=>{Ze(),process.exit(0)}),process.on("SIGTERM",()=>{Ze(),process.exit(0)})}async function Id(r){await r.logout(),process.stderr.write(`Logged out.
55
+ `)}async function Ld(r){let e=await r.hasValidToken(),t=await r.getAgentId();e?(process.stderr.write(`Status: logged in
56
56
  `),t&&process.stderr.write(`Agent ID: ${t}
57
57
  `)):(process.stderr.write(`Status: not logged in
58
58
  `),process.stderr.write(`Run 'termiq login' to authenticate.
@@ -81,11 +81,11 @@ tell application "System Events" to get value of property list item "CFBundleNam
81
81
  TERMIQ_TOKEN API key (equivalent to --token)
82
82
 
83
83
  `),process.exit(0));(Fe.includes("--version")||Fe.includes("-V"))&&(process.stdout.write(`${ro()}
84
- `),process.exit(0));var Id=Fe.find(r=>!r.startsWith("-"))||"start",vE=Fe.includes("--verbose")||Fe.includes("-v"),wE=Fe.includes("--watch")||Fe.includes("-w"),bE=Fe.includes("--log-to-file"),xE=Fe.find(r=>r.startsWith("--token="))?.split("=")[1]||(Fe.includes("--token")?Fe[Fe.indexOf("--token")+1]:void 0),Ld=Fe.find(r=>r.startsWith("--server="))?.split("=")[1]||(Fe.includes("--server")?Fe[Fe.indexOf("--server")+1]:void 0),Jc=Fe.find(r=>r.startsWith("--log-level="))?.split("=")[1]||(Fe.includes("--log-level")?Fe[Fe.indexOf("--log-level")+1]:void 0),SE=["silent","error","warn","info","debug"],TE=Jc&&SE.includes(Jc)?Jc:vE?"info":"silent",CE=Fe.find(r=>r.startsWith("--cid="))?.split("=")[1]||(Fe.includes("--cid")?Fe[Fe.indexOf("--cid")+1]:void 0),OE=CE||(0,Ft.generateCorrelationId)(),kE=process.env.TERMIQ_TOKEN,qr=new xs(TE,bE),hn=new Zn,dn=new Qn(Ld?{serverUrl:Ld}:void 0),pn=new Ts,go=new Cs,Is=new Ps;async function PE(){switch(Id){case"start":case void 0:{await Pd({storage:hn,config:dn,logger:qr,machineId:pn,notification:go,browser:Is,cwd:process.cwd(),watch:wE});break}case"login":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e),s=await po(n,Is,qr,xE||kE);process.exit(s?0:1);break}case"logout":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e);await Rd(n),process.exit(0);break}case"status":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e);await Ad(n),process.exit(0);break}case"version":{process.stdout.write(`${ro()}
84
+ `),process.exit(0));var Nd=rd(Fe,nd)??"start",bE=Fe.includes("--verbose")||Fe.includes("-v"),xE=Fe.includes("--watch")||Fe.includes("-w"),SE=Fe.includes("--log-to-file"),TE=Fe.find(r=>r.startsWith("--token="))?.split("=")[1]||(Fe.includes("--token")?Fe[Fe.indexOf("--token")+1]:void 0),Dd=Fe.find(r=>r.startsWith("--server="))?.split("=")[1]||(Fe.includes("--server")?Fe[Fe.indexOf("--server")+1]:void 0),Jc=Fe.find(r=>r.startsWith("--log-level="))?.split("=")[1]||(Fe.includes("--log-level")?Fe[Fe.indexOf("--log-level")+1]:void 0),CE=["silent","error","warn","info","debug"],OE=Jc&&CE.includes(Jc)?Jc:bE?"info":"silent",kE=Fe.find(r=>r.startsWith("--cid="))?.split("=")[1]||(Fe.includes("--cid")?Fe[Fe.indexOf("--cid")+1]:void 0),PE=kE||(0,Ft.generateCorrelationId)(),RE=process.env.TERMIQ_TOKEN,qr=new xs(OE,SE),hn=new Zn,dn=new Qn(Dd?{serverUrl:Dd}:void 0),pn=new Ts,go=new Cs,Is=new Ps;async function AE(){switch(Nd){case"start":case void 0:{await Ad({storage:hn,config:dn,logger:qr,machineId:pn,notification:go,browser:Is,cwd:process.cwd(),watch:xE});break}case"login":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e),s=await po(n,Is,qr,TE||RE);process.exit(s?0:1);break}case"logout":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e);await Id(n),process.exit(0);break}case"status":{let r=new URL(dn.getServerUrl()).host,e=await pn.getMachineId(),t=new Ft.CryptoService(hn,qr,r,e);await t.initialize();let n=new Ft.AuthService(hn,t,pn,dn,qr,go,Is,r,e);await Ld(n),process.exit(0);break}case"version":{process.stdout.write(`${ro()}
85
85
  `),process.exit(0);break}case"help":{process.stderr.write(`Run 'termiq --help' for full usage.
86
- `),process.exit(0);break}default:process.stderr.write(`Unknown command: ${Id}
86
+ `),process.exit(0);break}default:process.stderr.write(`Unknown command: ${Nd}
87
87
  Run 'termiq --help' for usage.
88
- `),process.exit(1)}}(0,Ft.runWithCorrelation)(OE,()=>PE().catch(r=>{process.stderr.write(`Fatal error: ${r instanceof Error?r.message:String(r)}
88
+ `),process.exit(1)}}(0,Ft.runWithCorrelation)(PE,()=>AE().catch(r=>{process.stderr.write(`Fatal error: ${r instanceof Error?r.message:String(r)}
89
89
  `),process.exit(1)}));
90
90
  /*! Bundled license information:
91
91