9remote 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +2 -2
- package/dist/server.cjs +5 -5
- package/dist/ui/assets/index-Ckex1BQP.js +8 -0
- package/dist/ui/index.html +1 -1
- package/dist/web/404.html +1 -1
- package/dist/web/__next.__PAGE__.txt +2 -2
- package/dist/web/__next._full.txt +2 -2
- package/dist/web/__next._head.txt +1 -1
- package/dist/web/__next._index.txt +1 -1
- package/dist/web/__next._tree.txt +1 -1
- package/dist/web/_next/static/chunks/3973-3a61c2014e1b09b8.js +1 -0
- package/dist/web/_next/static/chunks/6552-a42cab8d91efbdea.js +1 -0
- package/dist/web/_next/static/chunks/app/login/{page-e0b9a16c4888e596.js → page-3e24e4b0ca0a7df2.js} +1 -1
- package/dist/web/_next/static/chunks/app/page-35b671680baa15ac.js +22 -0
- package/dist/web/_next/static/chunks/app/workspace/{layout-914ab93a33a22f8e.js → layout-45760b58dab691e3.js} +4 -4
- package/dist/web/_not-found/__next._full.txt +1 -1
- package/dist/web/_not-found/__next._head.txt +1 -1
- package/dist/web/_not-found/__next._index.txt +1 -1
- package/dist/web/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/web/_not-found/__next._not-found.txt +1 -1
- package/dist/web/_not-found/__next._tree.txt +1 -1
- package/dist/web/_not-found.html +1 -1
- package/dist/web/_not-found.txt +1 -1
- package/dist/web/admin/__next._full.txt +1 -1
- package/dist/web/admin/__next._head.txt +1 -1
- package/dist/web/admin/__next._index.txt +1 -1
- package/dist/web/admin/__next._tree.txt +1 -1
- package/dist/web/admin/__next.admin.__PAGE__.txt +1 -1
- package/dist/web/admin/__next.admin.txt +1 -1
- package/dist/web/admin/admins/__next._full.txt +1 -1
- package/dist/web/admin/admins/__next._head.txt +1 -1
- package/dist/web/admin/admins/__next._index.txt +1 -1
- package/dist/web/admin/admins/__next._tree.txt +1 -1
- package/dist/web/admin/admins/__next.admin.admins.__PAGE__.txt +1 -1
- package/dist/web/admin/admins/__next.admin.admins.txt +1 -1
- package/dist/web/admin/admins/__next.admin.txt +1 -1
- package/dist/web/admin/admins.html +1 -1
- package/dist/web/admin/admins.txt +1 -1
- package/dist/web/admin/login/__next._full.txt +1 -1
- package/dist/web/admin/login/__next._head.txt +1 -1
- package/dist/web/admin/login/__next._index.txt +1 -1
- package/dist/web/admin/login/__next._tree.txt +1 -1
- package/dist/web/admin/login/__next.admin.login.__PAGE__.txt +1 -1
- package/dist/web/admin/login/__next.admin.login.txt +1 -1
- package/dist/web/admin/login/__next.admin.txt +1 -1
- package/dist/web/admin/login.html +1 -1
- package/dist/web/admin/login.txt +1 -1
- package/dist/web/admin/modes/__next._full.txt +1 -1
- package/dist/web/admin/modes/__next._head.txt +1 -1
- package/dist/web/admin/modes/__next._index.txt +1 -1
- package/dist/web/admin/modes/__next._tree.txt +1 -1
- package/dist/web/admin/modes/__next.admin.modes.__PAGE__.txt +1 -1
- package/dist/web/admin/modes/__next.admin.modes.txt +1 -1
- package/dist/web/admin/modes/__next.admin.txt +1 -1
- package/dist/web/admin/modes.html +1 -1
- package/dist/web/admin/modes.txt +1 -1
- package/dist/web/admin/ota/__next._full.txt +1 -1
- package/dist/web/admin/ota/__next._head.txt +1 -1
- package/dist/web/admin/ota/__next._index.txt +1 -1
- package/dist/web/admin/ota/__next._tree.txt +1 -1
- package/dist/web/admin/ota/__next.admin.ota.__PAGE__.txt +1 -1
- package/dist/web/admin/ota/__next.admin.ota.txt +1 -1
- package/dist/web/admin/ota/__next.admin.txt +1 -1
- package/dist/web/admin/ota.html +1 -1
- package/dist/web/admin/ota.txt +1 -1
- package/dist/web/admin/turn/__next._full.txt +1 -1
- package/dist/web/admin/turn/__next._head.txt +1 -1
- package/dist/web/admin/turn/__next._index.txt +1 -1
- package/dist/web/admin/turn/__next._tree.txt +1 -1
- package/dist/web/admin/turn/__next.admin.turn.__PAGE__.txt +1 -1
- package/dist/web/admin/turn/__next.admin.turn.txt +1 -1
- package/dist/web/admin/turn/__next.admin.txt +1 -1
- package/dist/web/admin/turn.html +1 -1
- package/dist/web/admin/turn.txt +1 -1
- package/dist/web/admin.html +1 -1
- package/dist/web/admin.txt +1 -1
- package/dist/web/dev/question/__next._full.txt +2 -2
- package/dist/web/dev/question/__next._head.txt +1 -1
- package/dist/web/dev/question/__next._index.txt +1 -1
- package/dist/web/dev/question/__next._tree.txt +1 -1
- package/dist/web/dev/question/__next.dev.question.__PAGE__.txt +2 -2
- package/dist/web/dev/question/__next.dev.question.txt +1 -1
- package/dist/web/dev/question/__next.dev.txt +1 -1
- package/dist/web/dev/question.html +1 -1
- package/dist/web/dev/question.txt +2 -2
- package/dist/web/index.html +1 -1
- package/dist/web/index.txt +2 -2
- package/dist/web/login/__next._full.txt +2 -2
- package/dist/web/login/__next._head.txt +1 -1
- package/dist/web/login/__next._index.txt +1 -1
- package/dist/web/login/__next._tree.txt +1 -1
- package/dist/web/login/__next.login.__PAGE__.txt +2 -2
- package/dist/web/login/__next.login.txt +1 -1
- package/dist/web/login.html +1 -1
- package/dist/web/login.txt +2 -2
- package/dist/web/workspace/__next._full.txt +2 -2
- package/dist/web/workspace/__next._head.txt +1 -1
- package/dist/web/workspace/__next._index.txt +1 -1
- package/dist/web/workspace/__next._tree.txt +1 -1
- package/dist/web/workspace/__next.workspace.__PAGE__.txt +1 -1
- package/dist/web/workspace/__next.workspace.txt +2 -2
- package/dist/web/workspace/browse/__next._full.txt +2 -2
- package/dist/web/workspace/browse/__next._head.txt +1 -1
- package/dist/web/workspace/browse/__next._index.txt +1 -1
- package/dist/web/workspace/browse/__next._tree.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.browse.__PAGE__.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.browse.txt +1 -1
- package/dist/web/workspace/browse/__next.workspace.txt +2 -2
- package/dist/web/workspace/browse.html +1 -1
- package/dist/web/workspace/browse.txt +2 -2
- package/dist/web/workspace/editor/__next._full.txt +2 -2
- package/dist/web/workspace/editor/__next._head.txt +1 -1
- package/dist/web/workspace/editor/__next._index.txt +1 -1
- package/dist/web/workspace/editor/__next._tree.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.editor.__PAGE__.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.editor.txt +1 -1
- package/dist/web/workspace/editor/__next.workspace.txt +2 -2
- package/dist/web/workspace/editor.html +1 -1
- package/dist/web/workspace/editor.txt +2 -2
- package/dist/web/workspace/files/__next._full.txt +2 -2
- package/dist/web/workspace/files/__next._head.txt +1 -1
- package/dist/web/workspace/files/__next._index.txt +1 -1
- package/dist/web/workspace/files/__next._tree.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.files.__PAGE__.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.files.txt +1 -1
- package/dist/web/workspace/files/__next.workspace.txt +2 -2
- package/dist/web/workspace/files.html +1 -1
- package/dist/web/workspace/files.txt +2 -2
- package/dist/web/workspace/git/__next._full.txt +2 -2
- package/dist/web/workspace/git/__next._head.txt +1 -1
- package/dist/web/workspace/git/__next._index.txt +1 -1
- package/dist/web/workspace/git/__next._tree.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.git.__PAGE__.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.git.txt +1 -1
- package/dist/web/workspace/git/__next.workspace.txt +2 -2
- package/dist/web/workspace/git.html +1 -1
- package/dist/web/workspace/git.txt +2 -2
- package/dist/web/workspace/mobile/__next._full.txt +2 -2
- package/dist/web/workspace/mobile/__next._head.txt +1 -1
- package/dist/web/workspace/mobile/__next._index.txt +1 -1
- package/dist/web/workspace/mobile/__next._tree.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.mobile.__PAGE__.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.mobile.txt +1 -1
- package/dist/web/workspace/mobile/__next.workspace.txt +2 -2
- package/dist/web/workspace/mobile.html +1 -1
- package/dist/web/workspace/mobile.txt +2 -2
- package/dist/web/workspace/remote/__next._full.txt +2 -2
- package/dist/web/workspace/remote/__next._head.txt +1 -1
- package/dist/web/workspace/remote/__next._index.txt +1 -1
- package/dist/web/workspace/remote/__next._tree.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.remote.__PAGE__.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.remote.txt +1 -1
- package/dist/web/workspace/remote/__next.workspace.txt +2 -2
- package/dist/web/workspace/remote.html +1 -1
- package/dist/web/workspace/remote.txt +2 -2
- package/dist/web/workspace/terminal/default/__next._full.txt +2 -2
- package/dist/web/workspace/terminal/default/__next._head.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._index.txt +1 -1
- package/dist/web/workspace/terminal/default/__next._tree.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.__PAGE__.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.$d$sessionId.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.terminal.txt +1 -1
- package/dist/web/workspace/terminal/default/__next.workspace.txt +2 -2
- package/dist/web/workspace/terminal/default.html +1 -1
- package/dist/web/workspace/terminal/default.txt +2 -2
- package/dist/web/workspace/workspaces/__next._full.txt +2 -2
- package/dist/web/workspace/workspaces/__next._head.txt +1 -1
- package/dist/web/workspace/workspaces/__next._index.txt +1 -1
- package/dist/web/workspace/workspaces/__next._tree.txt +1 -1
- package/dist/web/workspace/workspaces/__next.workspace.txt +2 -2
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.__PAGE__.txt +1 -1
- package/dist/web/workspace/workspaces/__next.workspace.workspaces.txt +1 -1
- package/dist/web/workspace/workspaces.html +1 -1
- package/dist/web/workspace/workspaces.txt +2 -2
- package/dist/web/workspace.html +1 -1
- package/dist/web/workspace.txt +2 -2
- package/package.json +1 -1
- package/dist/ui/assets/index-CgmlJ9gQ.js +0 -8
- package/dist/web/_next/static/chunks/3973-9b18bcd9afc0bcb4.js +0 -1
- package/dist/web/_next/static/chunks/6552-145e634541b5b66c.js +0 -1
- package/dist/web/_next/static/chunks/app/page-864dbd193d5f7261.js +0 -22
- /package/dist/web/_next/static/{d4cJ0fUEgzqmRy9HsvvEu → ddcA6fYUJfX5M6tasvU49}/_buildManifest.js +0 -0
- /package/dist/web/_next/static/{d4cJ0fUEgzqmRy9HsvvEu → ddcA6fYUJfX5M6tasvU49}/_ssgManifest.js +0 -0
package/dist/server.cjs
CHANGED
|
@@ -30,7 +30,7 @@ Content-Length: `+i+`\r
|
|
|
30
30
|
`+Object.keys(r).map(i=>`${i}: ${r[i]}`).join(`\r
|
|
31
31
|
`)+`\r
|
|
32
32
|
\r
|
|
33
|
-
`+n)}function cp(t,e,n,r,i,s){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,cp),t.emit("wsClientError",o,n,e)}else Bv(n,r,i,s)}});var fX=B((lyt,uX)=>{"use strict";var Ol=Tb();Ol.createWebSocketStream=eX();Ol.Server=lX();Ol.Receiver=cM();Ol.Sender=fM();Ol.WebSocket=Ol;Ol.WebSocketServer=Ol.Server;uX.exports=Ol});var wM=B(Xm=>{"use strict";var vM;Object.defineProperty(Xm,"__esModule",{value:!0});Xm.SessionAwareAdapter=Xm.Adapter=void 0;var ZNe=require("events"),eMe=s9(),Cb=fX(),tMe=typeof((vM=Cb?.Sender)===null||vM===void 0?void 0:vM.frame)=="function",Rb=class extends ZNe.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,n){this.sids.has(e)||this.sids.set(e,new Set);for(let r of n)this.sids.get(e).add(r),this.rooms.has(r)||(this.rooms.set(r,new Set),this.emit("create-room",r)),this.rooms.get(r).has(e)||(this.rooms.get(r).add(e),this.emit("join-room",r,e))}del(e,n){this.sids.has(e)&&this.sids.get(e).delete(n),this._del(n,e)}_del(e,n){let r=this.rooms.get(e);r!=null&&(r.delete(n)&&this.emit("leave-room",e,n),r.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let n of this.sids.get(e))this._del(n,e);this.sids.delete(e)}}broadcast(e,n){let r=n.flags||{},i={preEncoded:!0,volatile:r.volatile,compress:r.compress};e.nsp=this.nsp.name;let s=this._encode(e,i);this.apply(n,o=>{typeof o.notifyOutgoingListeners=="function"&&o.notifyOutgoingListeners(e),o.client.writeToEngine(s,i)})}broadcastWithAck(e,n,r,i){let s=n.flags||{},o={preEncoded:!0,volatile:s.volatile,compress:s.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let a=this._encode(e,o),c=0;this.apply(n,l=>{c++,l.acks.set(e.id,i),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(a,o)}),r(c)}_encode(e,n){let r=this.encoder.encode(e);if(tMe&&r.length===1&&typeof r[0]=="string"){let i=Buffer.from("4"+r[0]);n.wsPreEncodedFrame=Cb.Sender.frame(i,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return r}sockets(e){let n=new Set;return this.apply({rooms:e},r=>{n.add(r.id)}),Promise.resolve(n)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let n=[];return this.apply(e,r=>{n.push(r)}),Promise.resolve(n)}addSockets(e,n){this.apply(e,r=>{r.join(n)})}delSockets(e,n){this.apply(e,r=>{n.forEach(i=>r.leave(i))})}disconnectSockets(e,n){this.apply(e,r=>{r.disconnect(n)})}apply(e,n){let r=e.rooms,i=this.computeExceptSids(e.except);if(r.size){let s=new Set;for(let o of r)if(this.rooms.has(o))for(let a of this.rooms.get(o)){if(s.has(a)||i.has(a))continue;let c=this.nsp.sockets.get(a);c&&(n(c),s.add(a))}}else for(let[s]of this.sids){if(i.has(s))continue;let o=this.nsp.sockets.get(s);o&&n(o)}}computeExceptSids(e){let n=new Set;if(e&&e.size>0)for(let r of e)this.rooms.has(r)&&this.rooms.get(r).forEach(i=>n.add(i));return n}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,n){return null}};Xm.Adapter=Rb;var EM=class extends Rb{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let r=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((i,s)=>{i.disconnectedAt<r&&this.sessions.delete(s)});for(let i=this.packets.length-1;i>=0;i--)if(this.packets[i].emittedAt<r){this.packets.splice(0,i+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,n){let r=this.sessions.get(e);if(!r)return null;if(r.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let s=this.packets.findIndex(a=>a.id===n);if(s===-1)return null;let o=[];for(let a=s+1;a<this.packets.length;a++){let c=this.packets[a];nMe(r.rooms,c.opts)&&o.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},r),{missedPackets:o}))}broadcast(e,n){var r;let i=e.type===2,s=e.id===void 0,o=((r=n.flags)===null||r===void 0?void 0:r.volatile)===void 0;if(i&&s&&o){let a=(0,eMe.yeast)();e.data.push(a),this.packets.push({id:a,opts:n,data:e.data,emittedAt:Date.now()})}super.broadcast(e,n)}};Xm.SessionAwareAdapter=EM;function nMe(t,e){let n=e.rooms.size===0||t.some(i=>e.rooms.has(i)),r=t.every(i=>!e.except.has(i));return n&&r}});var dX=B(uc=>{"use strict";var rMe=uc&&uc.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(uc,"__esModule",{value:!0});uc.ClusterAdapterWithHeartbeat=uc.ClusterAdapter=uc.MessageType=void 0;var iMe=wM(),sMe=ir(),oMe=require("crypto"),Xn=(0,sMe.debug)("socket.io-adapter"),aMe="emitter",Ib=5e3;function Qm(){return(0,oMe.randomBytes)(8).toString("hex")}var tt;(function(t){t[t.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",t[t.HEARTBEAT=2]="HEARTBEAT",t[t.BROADCAST=3]="BROADCAST",t[t.SOCKETS_JOIN=4]="SOCKETS_JOIN",t[t.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",t[t.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",t[t.FETCH_SOCKETS=7]="FETCH_SOCKETS",t[t.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",t[t.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",t[t.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",t[t.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",t[t.BROADCAST_ACK=12]="BROADCAST_ACK",t[t.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(tt||(uc.MessageType=tt={}));function lp(t){return{rooms:[...t.rooms],except:[...t.except],flags:t.flags}}function Jm(t){return{rooms:new Set(t.rooms),except:new Set(t.except),flags:t.flags}}var kb=class extends iMe.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=Qm()}onMessage(e,n){if(e.uid===this.uid)return Xn("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return Xn("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(Xn("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case tt.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,Jm(e.data.opts),i=>{Xn("[%s] waiting for %d client acknowledgements",this.uid,i),this.publishResponse(e.uid,{type:tt.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:i}})},i=>{Xn("[%s] received acknowledgement with value %j",this.uid,i),this.publishResponse(e.uid,{type:tt.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:i}})});else{let i=e.data.packet,s=Jm(e.data.opts);this.addOffsetIfNecessary(i,s,n),super.broadcast(i,s)}break}case tt.SOCKETS_JOIN:super.addSockets(Jm(e.data.opts),e.data.rooms);break;case tt.SOCKETS_LEAVE:super.delSockets(Jm(e.data.opts),e.data.rooms);break;case tt.DISCONNECT_SOCKETS:super.disconnectSockets(Jm(e.data.opts),e.data.close);break;case tt.FETCH_SOCKETS:{Xn("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(Jm(e.data.opts)).then(r=>{this.publishResponse(e.uid,{type:tt.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:r.map(i=>{let s=i.handshake,{sessionStore:o}=s,a=rMe(s,["sessionStore"]);return{id:i.id,handshake:a,rooms:[...i.rooms],data:i.data}})}})});break}case tt.SERVER_SIDE_EMIT:{let r=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(r);return}let s=!1,o=a=>{s||(s=!0,Xn("[%s] calling acknowledgement with %j",this.uid,a),this.publishResponse(e.uid,{type:tt.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:a}}))};this.nsp._onServerSideEmit([...r,o]);break}case tt.BROADCAST_CLIENT_COUNT:case tt.BROADCAST_ACK:case tt.FETCH_SOCKETS_RESPONSE:case tt.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:Xn("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var n,r;let i=e.data.requestId;switch(Xn("[%s] received response %s to request %s",this.uid,e.type,i),e.type){case tt.BROADCAST_CLIENT_COUNT:{(n=this.ackRequests.get(i))===null||n===void 0||n.clientCountCallback(e.data.clientCount);break}case tt.BROADCAST_ACK:{(r=this.ackRequests.get(i))===null||r===void 0||r.ack(e.data.packet);break}case tt.FETCH_SOCKETS_RESPONSE:{let s=this.requests.get(i);if(!s)return;s.current++,e.data.sockets.forEach(o=>s.responses.push(o)),s.current===s.expected&&(clearTimeout(s.timeout),s.resolve(s.responses),this.requests.delete(i));break}case tt.SERVER_SIDE_EMIT_RESPONSE:{let s=this.requests.get(i);if(!s)return;s.current++,s.responses.push(e.data.packet),s.current===s.expected&&(clearTimeout(s.timeout),s.resolve(null,s.responses),this.requests.delete(i));break}default:Xn("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,n){var r;if(!((r=n.flags)===null||r===void 0?void 0:r.local))try{let s=await this.publishAndReturnOffset({type:tt.BROADCAST,data:{packet:e,opts:lp(n)}});this.addOffsetIfNecessary(e,n,s)}catch(s){return Xn("[%s] error while broadcasting message: %s",this.uid,s.message)}super.broadcast(e,n)}addOffsetIfNecessary(e,n,r){var i;if(!this.nsp.server.opts.connectionStateRecovery)return;let s=e.type===2,o=e.id===void 0,a=((i=n.flags)===null||i===void 0?void 0:i.volatile)===void 0;s&&o&&a&&e.data.push(r)}broadcastWithAck(e,n,r,i){var s;if(!((s=n?.flags)===null||s===void 0?void 0:s.local)){let a=Qm();this.ackRequests.set(a,{clientCountCallback:r,ack:i}),this.publish({type:tt.BROADCAST,data:{packet:e,requestId:a,opts:lp(n)}}),setTimeout(()=>{this.ackRequests.delete(a)},n.flags.timeout)}super.broadcastWithAck(e,n,r,i)}async addSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.SOCKETS_JOIN,data:{opts:lp(e),rooms:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.addSockets(e,n)}async delSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.SOCKETS_LEAVE,data:{opts:lp(e),rooms:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.delSockets(e,n)}async disconnectSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.DISCONNECT_SOCKETS,data:{opts:lp(e),close:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.disconnectSockets(e,n)}async fetchSockets(e){var n;let[r,i]=await Promise.all([super.fetchSockets(e),this.serverCount()]),s=i-1;if(!((n=e.flags)===null||n===void 0)&&n.local||s<=0)return r;let o=Qm();return new Promise((a,c)=>{let l=setTimeout(()=>{let f=this.requests.get(o);f&&(c(new Error(`timeout reached: only ${f.current} responses received out of ${f.expected}`)),this.requests.delete(o))},e.flags.timeout||Ib),u={type:tt.FETCH_SOCKETS,resolve:a,timeout:l,current:0,expected:s,responses:r};this.requests.set(o,u),this.publish({type:tt.FETCH_SOCKETS,data:{opts:lp(e),requestId:o}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:tt.SERVER_SIDE_EMIT,data:{packet:e}});let r=e.pop(),i=await this.serverCount()-1;if(Xn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,i),i<=0)return r(null,[]);let s=Qm(),o=setTimeout(()=>{let c=this.requests.get(s);c&&(r(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(s))},Ib),a={type:tt.SERVER_SIDE_EMIT,resolve:r,timeout:o,current:0,expected:i,responses:[]};this.requests.set(s,a),this.publish({type:tt.SERVER_SIDE_EMIT,data:{requestId:s,packet:e}})}publish(e){Xn("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(n=>{Xn("[%s] error while publishing message: %s",this.uid,n)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,n){n.uid=this.uid,n.nsp=this.nsp.name,Xn("[%s] sending response %s to %s",this.uid,n.type,e),this.doPublishResponse(e,n).catch(r=>{Xn("[%s] error while publishing response: %s",this.uid,r)})}};uc.ClusterAdapter=kb;var SM=class extends kb{constructor(e,n){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},n),this.cleanupTimer=setInterval(()=>{let r=Date.now();this.nodesMap.forEach((i,s)=>{r-i>this._opts.heartbeatTimeout&&(Xn("[%s] node %s seems down",this.uid,s),this.removeNode(s))})},1e3)}init(){this.publish({type:tt.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:tt.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:tt.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,n){if(e.uid===this.uid)return Xn("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==aMe&&this.nodesMap.set(e.uid,Date.now()),e.type){case tt.INITIAL_HEARTBEAT:this.publish({type:tt.HEARTBEAT});break;case tt.HEARTBEAT:break;case tt.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,n)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:tt.SERVER_SIDE_EMIT,data:{packet:e}});let r=e.pop(),i=this.nodesMap.size;if(Xn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,i),i<=0)return r(null,[]);let s=Qm(),o=setTimeout(()=>{let c=this.customRequests.get(s);c&&(r(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(s))},Ib),a={type:tt.SERVER_SIDE_EMIT,resolve:r,timeout:o,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(s,a),this.publish({type:tt.SERVER_SIDE_EMIT,data:{requestId:s,packet:e}})}async fetchSockets(e){var n;let[r,i]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),s=i-1;if(!((n=e.flags)===null||n===void 0)&&n.local||s<=0)return r;let o=Qm();return new Promise((a,c)=>{let l=setTimeout(()=>{let f=this.customRequests.get(o);f&&(c(new Error(`timeout reached: missing ${f.missingUids.size} responses`)),this.customRequests.delete(o))},e.flags.timeout||Ib),u={type:tt.FETCH_SOCKETS,resolve:a,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:r};this.customRequests.set(o,u),this.publish({type:tt.FETCH_SOCKETS,data:{opts:lp(e),requestId:o}})})}onResponse(e){let n=e.data.requestId;switch(Xn("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case tt.FETCH_SOCKETS_RESPONSE:{let r=this.customRequests.get(n);if(!r)return;e.data.sockets.forEach(i=>r.responses.push(i)),r.missingUids.delete(e.uid),r.missingUids.size===0&&(clearTimeout(r.timeout),r.resolve(r.responses),this.customRequests.delete(n));break}case tt.SERVER_SIDE_EMIT_RESPONSE:{let r=this.customRequests.get(n);if(!r)return;r.responses.push(e.data.packet),r.missingUids.delete(e.uid),r.missingUids.size===0&&(clearTimeout(r.timeout),r.resolve(null,r.responses),this.customRequests.delete(n));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((n,r)=>{n.missingUids.delete(e),n.missingUids.size===0&&(clearTimeout(n.timeout),n.type===tt.FETCH_SOCKETS?n.resolve(n.responses):n.type===tt.SERVER_SIDE_EMIT&&n.resolve(null,n.responses),this.customRequests.delete(r))}),this.nodesMap.delete(e)}};uc.ClusterAdapterWithHeartbeat=SM});var Pb=B(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MessageType=co.ClusterAdapterWithHeartbeat=co.ClusterAdapter=co.SessionAwareAdapter=co.Adapter=void 0;var pX=wM();Object.defineProperty(co,"Adapter",{enumerable:!0,get:function(){return pX.Adapter}});Object.defineProperty(co,"SessionAwareAdapter",{enumerable:!0,get:function(){return pX.SessionAwareAdapter}});var xM=dX();Object.defineProperty(co,"ClusterAdapter",{enumerable:!0,get:function(){return xM.ClusterAdapter}});Object.defineProperty(co,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return xM.ClusterAdapterWithHeartbeat}});Object.defineProperty(co,"MessageType",{enumerable:!0,get:function(){return xM.MessageType}})});var gX=B(Zm=>{"use strict";var cMe=Zm&&Zm.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zm,"__esModule",{value:!0});Zm.ParentNamespace=void 0;var hX=XN(),lMe=Pb(),uMe=cMe(ir()),mX=(0,uMe.default)("socket.io:parent-namespace"),Ob=class t extends hX.Namespace{constructor(e){super(e,"/_"+t.count++),this.children=new Set}_initAdapter(){this.adapter=new bM(this)}emit(e,...n){return this.children.forEach(r=>{r.emit(e,...n)}),!0}createChild(e){mX("creating child namespace %s",e);let n=new hX.Namespace(this.server,e);if(this._fns.forEach(r=>n.use(r)),this.listeners("connect").forEach(r=>n.on("connect",r)),this.listeners("connection").forEach(r=>n.on("connection",r)),this.children.add(n),this.server._opts.cleanupEmptyChildNamespaces){let r=n._remove;n._remove=i=>{r.call(n,i),n.sockets.size===0&&(mX("closing child namespace %s",e),n.adapter.close(),this.server._nsps.delete(n.name),this.children.delete(n))}}return this.server._nsps.set(e,n),this.server.sockets.emitReserved("new_namespace",n),n}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};Zm.ParentNamespace=Ob;Ob.count=0;var bM=class extends lMe.Adapter{broadcast(e,n){this.nsp.children.forEach(r=>{r.adapter.broadcast(e,n)})}}});var SX=B(fp=>{"use strict";var fMe=fp&&fp.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fp,"__esModule",{value:!0});fp.patchAdapter=pMe;fp.restoreAdapter=hMe;fp.serveFile=gMe;var up=Pb(),yX=require("fs"),dMe=fMe(ir()),Nb=(0,dMe.default)("socket.io:adapter-uws"),TM="",{addAll:vX,del:EX,broadcast:wX}=up.Adapter.prototype;function pMe(t){up.Adapter.prototype.addAll=function(e,n){let r=!this.sids.has(e);vX.call(this,e,n);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i){if(i.conn.transport.name==="websocket"){_X(this.nsp.name,i,r,n);return}r&&i.conn.on("upgrade",()=>{let s=this.sids.get(e);s&&_X(this.nsp.name,i,r,s)})}},up.Adapter.prototype.del=function(e,n){EX.call(this,e,n);let r=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(r&&r.conn.transport.name==="websocket"){let i=r.conn.id,s=r.conn.transport.socket,o=`${this.nsp.name}${TM}${n}`;Nb("unsubscribe connection %s from topic %s",i,o),s.unsubscribe(o)}},up.Adapter.prototype.broadcast=function(e,n){if(!(n.rooms.size<=1&&n.except.size===0)){wX.call(this,e,n);return}let i=n.flags||{},s={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let o=this.encoder.encode(e),a=n.rooms.size===0?this.nsp.name:`${this.nsp.name}${TM}${n.rooms.keys().next().value}`;Nb("fast publish to %s",a),o.forEach(c=>{let l=typeof c!="string";t.publish(a,l?c:"4"+c,l)}),this.apply(n,c=>{c.conn.transport.name!=="websocket"&&c.client.writeToEngine(o,s)})}}function _X(t,e,n,r){let i=e.conn.id,s=e.conn.transport.socket;n&&(Nb("subscribe connection %s to topic %s",i,t),s.subscribe(t)),r.forEach(o=>{let a=`${t}${TM}${o}`;Nb("subscribe connection %s to topic %s",i,a),s.subscribe(a)})}function hMe(){up.Adapter.prototype.addAll=vX,up.Adapter.prototype.del=EX,up.Adapter.prototype.broadcast=wX}var mMe=t=>{let{buffer:e,byteOffset:n,byteLength:r}=t;return e.slice(n,n+r)};function gMe(t,e){let{size:n}=(0,yX.statSync)(e),r=(0,yX.createReadStream)(e),i=()=>!r.destroyed&&r.destroy(),s=a=>{throw i(),a},o=a=>{let c=mMe(a);t.cork(()=>{let l=t.getWriteOffset(),[u,f]=t.tryEnd(c,n);!f&&!u&&(r.pause(),t.onWritable(p=>{let[m,g]=t.tryEnd(c.slice(p-l),n);return!g&&m&&r.resume(),m}))})};t.onAborted(i),r.on("data",o).on("error",s).on("end",i)}});var xX=B((myt,yMe)=>{yMe.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var PX=B((ai,qv)=>{"use strict";var _Me=ai&&ai.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),vMe=ai&&ai.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),EMe=ai&&ai.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&_Me(e,t,n);return vMe(e,t),e},RM=ai&&ai.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ai,"__esModule",{value:!0});ai.Namespace=ai.Socket=ai.Server=void 0;var wMe=RM(require("http")),SMe=require("fs"),AM=require("zlib"),xMe=Ex(),Mb=require("stream"),bX=require("path"),TX=qY(),bMe=XY(),AX=require("events"),IM=XN();Object.defineProperty(ai,"Namespace",{enumerable:!0,get:function(){return IM.Namespace}});var TMe=gX(),CX=Pb(),AMe=EMe(kv()),CMe=RM(ir()),kX=KN();Object.defineProperty(ai,"Socket",{enumerable:!0,get:function(){return kX.Socket}});var RMe=lb(),CM=SX(),IMe=RM(IN()),Si=(0,CMe.default)("socket.io:server"),RX=xX().version,IX=/\.map/,eg=class t extends RMe.StrictEventEmitter{constructor(e,n={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(n=e,e=void 0),this.path(n.path||"/socket.io"),this.connectTimeout(n.connectTimeout||45e3),this.serveClient(n.serveClient!==!1),this._parser=n.parser||AMe,this.encoder=new this._parser.Encoder,this.opts=n,n.connectionStateRecovery?(n.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},n.connectionStateRecovery),this.adapter(n.adapter||CX.SessionAwareAdapter)):this.adapter(n.adapter||CX.Adapter),n.cleanupEmptyChildNamespaces=!!n.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,IMe.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,n,r){if(this.parentNsps.size===0)return r(!1);let i=this.parentNsps.keys(),s=()=>{let o=i.next();if(o.done)return r(!1);o.value(e,n,(a,c)=>{if(a||!c)return s();if(this._nsps.has(e))return Si("dynamic namespace %s already exists",e),r(this._nsps.get(e));let l=this.parentNsps.get(o.value).createChild(e);Si("dynamic namespace %s was created",e),r(l)})};s()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let n=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+n+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let n of this._nsps.values())n._initAdapter();return this}listen(e,n={}){return this.attach(e,n)}attach(e,n={}){if(typeof e=="function"){let r="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(r)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){Si("creating http server and binding to %d",e);let r=e;e=wMe.default.createServer((i,s)=>{s.writeHead(404),s.end()}),e.listen(r)}return Object.assign(n,this.opts),n.path=n.path||this._path,this.initEngine(e,n),this}attachApp(e,n={}){Object.assign(n,this.opts),n.path=n.path||this._path,Si("creating uWebSockets.js-based engine with opts %j",n);let r=new TX.uServer(n);r.attach(e,n),this.bind(r),this._serveClient&&e.get(`${this._path}/*`,(i,s)=>{if(!this.clientPathRegex.test(s.getUrl())){s.setYield(!0);return}let o=s.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),a=IX.test(o),c=a?"map":"source",l='"'+RX+'"',u="W/"+l,f=s.getHeader("if-none-match");if(f&&(l===f||u===f)){Si("serve client %s 304",c),i.writeStatus("304 Not Modified"),i.end();return}Si("serve client %s",c),i.writeHeader("cache-control","public, max-age=0"),i.writeHeader("content-type","application/"+(a?"json":"javascript")+"; charset=utf-8"),i.writeHeader("etag",l);let p=bX.join(__dirname,"../client-dist/",o);(0,CM.serveFile)(i,p)}),(0,CM.patchAdapter)(e)}initEngine(e,n){Si("creating engine.io instance with opts %j",n),this.eio=(0,TX.attach)(e,n),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){Si("attaching client serving req handler");let n=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(r,i)=>{if(this.clientPathRegex.test(r.url))this._corsMiddleware?this._corsMiddleware(r,i,()=>{this.serve(r,i)}):this.serve(r,i);else for(let s=0;s<n.length;s++)n[s].call(e,r,i)})}serve(e,n){let r=e.url.replace(this._path,"").replace(/\?.*$/,""),i=IX.test(r),s=i?"map":"source",o='"'+RX+'"',a="W/"+o,c=e.headers["if-none-match"];if(c&&(o===c||a===c)){Si("serve client %s 304",s),n.writeHead(304),n.end();return}Si("serve client %s",s),n.setHeader("Cache-Control","public, max-age=0"),n.setHeader("Content-Type","application/"+(i?"json":"javascript")+"; charset=utf-8"),n.setHeader("ETag",o),t.sendFile(r,e,n)}static sendFile(e,n,r){let i=(0,SMe.createReadStream)(bX.join(__dirname,"../client-dist/",e)),s=xMe(n).encodings(["br","gzip","deflate"]),o=a=>{a&&r.end()};switch(s){case"br":r.writeHead(200,{"content-encoding":"br"}),(0,Mb.pipeline)(i,(0,AM.createBrotliCompress)(),r,o);break;case"gzip":r.writeHead(200,{"content-encoding":"gzip"}),(0,Mb.pipeline)(i,(0,AM.createGzip)(),r,o);break;case"deflate":r.writeHead(200,{"content-encoding":"deflate"}),(0,Mb.pipeline)(i,(0,AM.createDeflate)(),r,o);break;default:r.writeHead(200),(0,Mb.pipeline)(i,r,o)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){Si("incoming connection with id %s",e.id);let n=new bMe.Client(this,e);return e.protocol===3&&n.connect("/"),this}of(e,n){if(typeof e=="function"||e instanceof RegExp){let i=new TMe.ParentNamespace(this);return Si("initializing parent namespace %s",i.name),typeof e=="function"?this.parentNsps.set(e,i):(this.parentNsps.set((s,o,a)=>a(null,e.test(s)),i),this.parentNamespacesFromRegExp.set(e,i)),n&&i.on("connect",n),i}String(e)[0]!=="/"&&(e="/"+e);let r=this._nsps.get(e);if(!r){for(let[i,s]of this.parentNamespacesFromRegExp)if(i.test(e))return Si("attaching namespace %s to parent namespace %s",e,i),s.createChild(e);Si("initializing namespace %s",e),r=new IM.Namespace(this,e),this._nsps.set(e,r),e!=="/"&&this.sockets.emitReserved("new_namespace",r)}return n&&r.on("connect",n),r}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async n=>{n.sockets.forEach(r=>{r._onclose("server shutting down")}),await n.adapter.close()})),this.engine.close(),(0,CM.restoreAdapter)(),this.httpServer)return new Promise(n=>{this.httpServer.close(r=>{e&&e(r),r&&Si("server was not running"),n()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...n){return this.sockets.serverSideEmit(e,...n)}serverSideEmitWithAck(e,...n){return this.sockets.serverSideEmitWithAck(e,...n)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};ai.Server=eg;var kMe=Object.keys(AX.EventEmitter.prototype).filter(function(t){return typeof AX.EventEmitter.prototype[t]=="function"});kMe.forEach(function(t){eg.prototype[t]=function(){return this.sockets[t].apply(this.sockets,arguments)}});qv.exports=(t,e)=>new eg(t,e);qv.exports.Server=eg;qv.exports.Namespace=IM.Namespace;qv.exports.Socket=kX.Socket});var OX,NX,gyt,yyt,MX=ae(()=>{OX=ce(PX(),1),{Server:NX,Namespace:gyt,Socket:yyt}=OX.default});function LMe(t){return t.type==="offer"?{sdp:t.sdp}:t.type==="answer"?{sdp:t.sdp,pub:t.pub,xpub:t.xpub,sig:t.sig}:t.type==="ice"?{candidate:t.candidate,mid:t.mid}:t}var cf,PMe,DX,OMe,NMe,MMe,DMe,Db,LX=ae(()=>{ot();cf=be("signaling"),PMe={agent:"client",client:"agent"},DX=1e3,OMe=3e4,NMe=5,MMe=3e3,DMe=1e4;Db=class{static id="sig";constructor({url:e,role:n,roomId:r,apiKey:i,from:s,onReady:o,pingMs:a=25e3}){let c=s||n;this._url=`${e}/ws/${encodeURIComponent(r)}?role=${n}&apiKey=${encodeURIComponent(i)}&from=${encodeURIComponent(c)}`,this._from=s||n,this._onReady=o||null,this._role=n,this._roomId=r,this._pingMs=a,this._ws=null,this._handler=null,this._pingTimer=null,this._reconnectTimer=null,this._attempt=0,this._preOpenFails=0,this._openedOnce=!1,this._ready=!1,this._closed=!1}get ready(){return this._ready}connect(){this._closed=!1,this._open()}send(e){if(!this.ready)return!1;try{return this._ws.send(JSON.stringify({to:e.to||PMe[this._role],from:this._from,type:e.type,payload:LMe(e)})),!0}catch{return!1}}on(e){this._handler=e}off(){this._handler=null}disconnect(){this._closed=!0,this._stopPing(),clearTimeout(this._reconnectTimer);try{this._ws?.close()}catch{}this._ws=null,this._ready=!1}_open(){clearTimeout(this._reconnectTimer),this._reconnectTimer=null;let e=this._ws;if(this._ws=null,e)try{e.close()}catch{}let n=new WebSocket(this._url);this._ws=n;let r=setTimeout(()=>{if(!(this._ws!==n||this._closed)){cf.debug(`${this._role} handshake stalled \u2014 retrying`),this._ws=null;try{n.close()}catch{}this._onClose(null,"handshake-stall")}},DMe);n.addEventListener("open",()=>{clearTimeout(r),this._ready=!0,this._attempt=0,this._preOpenFails=0,this._openedOnce=!0,this._startPing(),cf.debug(`${this._role} connected room=${this._roomId}`),this._onReady?.()}),n.addEventListener("message",i=>{if(i.data==="pong")return;let s;try{s=JSON.parse(i.data)}catch{return}this._handler?.({type:s.type,from:s.from,...s.payload})}),n.addEventListener("close",i=>{clearTimeout(r),this._ws===n&&this._onClose(i?.code,i?.reason)}),n.addEventListener("error",()=>{clearTimeout(r),this._ws===n&&this._onClose(null,"error")})}retryNow(e="?"){if(this._closed||this._ws){cf.debug(`retryNow skip by=${e} (${this._closed?"closed":"socket already up"})`);return}let n=Date.now();if(n-(this._lastRetryNowAt||0)<MMe){cf.debug(`retryNow throttled by=${e}`);return}cf.debug(`retryNow go by=${e} (was attempt ${this._attempt}, preOpenFails ${this._preOpenFails})`),this._lastRetryNowAt=n,this._attempt=0,this._preOpenFails=0,clearTimeout(this._reconnectTimer),this._reconnectTimer=null,this._open()}_onClose(e,n){if(this._stopPing(),this._ws=null,this._ready=!1,!this._closed){if(cf.debug(`${this._role} relay closed code=${e??"?"}${n?` (${n})`:""} openedOnce=${this._openedOnce}`),!this._openedOnce&&(this._preOpenFails++,this._preOpenFails>NMe)){cf.warn(`${this._role} giving up \u2014 ${this._preOpenFails-1} pre-open failures`);return}this._scheduleReconnect()}}_scheduleReconnect(){if(this._closed)return;this._attempt++;let e=Math.min(DX*2**(this._attempt-1),OMe)+Math.random()*DX;cf.debug(`${this._role} reconnect in ${e}ms (attempt ${this._attempt})`),this._reconnectTimer=setTimeout(()=>{this._closed||this._open()},e)}_startPing(){this._stopPing(),this._pingTimer=setInterval(()=>{if(this.ready)try{this._ws.send("ping")}catch{}},this._pingMs)}_stopPing(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null)}}});var Syt,fc,$v,xyt,dp=ae(()=>{lO();Syt=process.env.NODE_ENV==="development",fc=process.env.NREMOTE_WORKER_URL||"https://dev.9remote.cc",$v={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},xyt={orange:mv.rgb(230,138,110),orangeDim:mv.rgb(200,120,95)}});function FX(t){UX=t}function Lb(t){if(uo?.ready)try{t()}catch(e){lo.error(`ready listener: ${e.message}`)}return kM.add(t),()=>{kM.delete(t)}}function Hv(t){if(!t)return;if(uo){if(PM===t)return;lo.info(`apiKey changed \u2014 rejoining signaling room ${t.slice(0,8)}...`),BMe()}PM=t;let e=fc.replace(/^http/,"ws")+"/signaling";uo=new Db({url:e,role:"agent",roomId:t,apiKey:t,onReady:()=>{for(let n of kM)try{n()}catch(r){lo.error(`ready listener: ${r.message}`)}}}),uo.on(n=>{let r=Gv.get(n.from);if(r){n.type==="offer"&&lo.debug(`offer from ${n.from?.slice(0,8)} \u2192 PM`);try{r(n)}catch(s){lo.error(`signaling handler: ${s.message}`)}return}if(n.type!=="offer"&&!ws.has(n.from))return;if(!ws.has(n.from)&&ws.size>=FMe){let s=ws.keys().next().value;ws.delete(s),lo.warn(`pending buffer full \u2014 evicted ${s?.slice(0,8)}`)}let i=ws.get(n.from)||[];if(n.type==="offer"&&(i.length=0),i.length<UMe&&i.push(n),ws.set(n.from,i),n.type==="offer"){lo.debug(`offer from ${n.from?.slice(0,8)} \u2014 no PM, spawning RTC session`);try{UX?.(n.from)}catch(s){lo.error(`offer fallback: ${s.message}`)}}}),uo.connect(),lo.info(`global signaling client started (room=${t.slice(0,8)}...)`)}function BX(t,e){if(!t)return()=>{};Gv.set(t,e);let n=ws.get(t);if(n?.length){ws.delete(t),lo.debug(`flushing ${n.length} pending signal(s) for ${t.slice(0,8)}`);for(let r of n)try{e(r)}catch(i){lo.error(`flush pending: ${i.message}`)}}return()=>{Gv.get(t)===e&&Gv.delete(t)}}function Ub(t){return uo?.send(t)||!1}function Fb(t){ws.delete(t)}function qX(t){return t?[...ws.keys()].filter(e=>e.split(":")[0]===t):[]}function $X(t="?"){try{uo?.retryNow?.(t)}catch(e){lo.warn(`retrySignalingNow: ${e.message}`)}}function GX(){return!!uo?.ready}function HX(t){return t?ws.has(t):!1}function jX(){return{started:!!uo,ready:!!uo?.ready}}function BMe(){try{uo?.disconnect()}catch{}uo=null,PM=null,Gv.clear(),ws.clear()}var lo,uo,Gv,ws,UMe,FMe,kM,UX,PM,jv=ae(()=>{LX();dp();ot();lo=be("signaling"),uo=null,Gv=new Map,ws=new Map,UMe=64,FMe=32,kM=new Set,UX=null;PM=null});var OM,Bb,WX=ae(()=>{OM=require("events"),Bb=class extends OM.EventEmitter{defersWsAdapter=!0;constructor({deviceId:e,peerId:n,apiKey:r}){super(),this.setMaxListeners(0),this.id=`rtc-${n||e}`,this.peerId=n||e,this.connected=!0,this.data={},this.data.auth={deviceId:e,apiKey:r},this.handshake={auth:{deviceId:e,apiKey:r},headers:{},address:"rtc"},this.carrier={id:"rtc",ip:"rtc",pendingId:`rtc-${n||e}`},this.broadcast={emit:()=>!0},this._onAny=[]}onAny(e){return this._onAny.push(e),this}offAny(e){return this._onAny=this._onAny.filter(n=>n!==e),this}listeners(e){let n=super.listeners(e),r=this.data?.conn;return r?r.allows(e)?n:[]:n}dispatchAny(e,n){for(let r of this._onAny)try{r(e,n)}catch{}}disconnect(){return this.connected=!1,OM.EventEmitter.prototype.emit.call(this,"disconnect","rtc-session-closed"),this}}});function NM(){return Wv=(0,VX.randomBytes)(32).toString("hex"),Wv}function zX(){return Wv||NM(),Wv}function KX(t){return!!t&&typeof t=="string"&&t===Wv}var VX,Wv,qb=ae(()=>{VX=require("crypto"),Wv=null});var Kt,Vv,YX,XX,tg,vr,Gi,fo,Kr,MM,or,qMe,Ss,JX,Hi=ae(()=>{Kt={control:"control",binary:"binary",file:"file"},Vv=65536,YX=1e4,XX=25e3,tg={pending:"pending-approval",rejected:"device-rejected"},vr={admit:"admit",hold:"hold",reject:"reject"},Gi={approved:"approved",rejected:"rejected",auto:"auto",unknown:"unknown"},fo={proving:"proving",proven:"proven",rejected:"rejected"},Kr={mismatch:"mismatch",sealUnreadable:"seal-unreadable",timeout:"proof-timeout"},MM=15e3,or={idle:"idle",connecting:"connecting",open:"open",degraded:"degraded",closed:"closed"},qMe=8,Ss={chunkSize:64*1024-qMe,windowSize:64,dcBufferThreshold:8*1024*1024,maxUploadSize:50*1024*1024,maxDownloadSize:200*1024*1024,maxStreamMediaSize:500*1024*1024},JX={clientApp:{enabled:["ws","rtc"],channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"}}},remoteDesktop:{enabled:["ws","rtc"],channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"}}}}});var ng,DM=ae(()=>{Hi();ng=class{static id="base";static capabilities={control:!1,binary:!1,file:!1,signaling:"none"};static priority={control:0,binary:0,file:0};constructor(){this._listeners=new Map,this._state=or.idle}get state(){return this._state}get ready(){return this._state===or.open}supports(e){return!!this.constructor.capabilities[e]}getPriority(e){return this.constructor.priority[e]??0}on(e,n){this._listeners.has(e)||this._listeners.set(e,new Set),this._listeners.get(e).add(n)}off(e,n){this._listeners.get(e)?.delete(n)}_emit(e,...n){let r=this._listeners.get(e);if(r)for(let i of r)i(...n)}_setState(e){this._state!==e&&(this._state=e,this._emit("stateChange",e))}connect(e){throw new Error("Not implemented: connect")}disconnect(){throw new Error("Not implemented: disconnect")}send(e,n){throw new Error("Not implemented: send")}}});var $b,QX=ae(()=>{DM();Hi();$b=class extends ng{static id="ws";static capabilities={control:!0,binary:!0,file:!0,signaling:"ws"};static priority={control:100,binary:10,file:10};constructor(){super(),this._socket=null}get socket(){return this._socket}connect(e){this._socket=e.socket,this._setState(e.socket.connected?or.open:or.connecting),e.socket.on("connect",()=>this._setState(or.open)),e.socket.on("disconnect",()=>this._setState(or.closed)),e.socket.onAny?.((n,...r)=>this._emit("message",{event:n,data:r[0],args:r,source:"ws"}))}disconnect(){this._socket=null,this._setState(or.closed)}send(e,n){if(!this._socket?.connected)return!1;let r=this._socket._rawEmit||this._socket.emit.bind(this._socket);if(e===Kt.control){let{event:i,args:s=[]}=n;return r(i,...s),!0}if(e===Kt.binary){let i=this._socket.conn?.transport;return i&&i.writable===!1?!1:(r("tiles-bin-v2",n),!0)}if(e===Kt.file){let i=this._socket.conn?.transport;return i&&i.writable===!1?!1:(r("file-bin",n),!0)}return!1}}});function nJ(t){try{return UM(t)}catch(e){if(e.code!=="MODULE_NOT_FOUND"&&!GMe(e))throw e;let n=ZX.get(t);if(n!=null&&Date.now()-n<$Me)throw e;return ZX.set(t,Date.now()),jMe(t),UM(t)}}function GMe(t){return/\.node'|Cannot find module.*\.node|MODULE_NOT_FOUND/i.test(t.message||"")}function HMe(t){let e=UM.resolve(`${t}/package.json`);return Gb.default.dirname(e)}function jMe(t){let e=HMe(t),n=Gb.default.dirname(e),r=LM.default.platform()==="win32"?"prebuild-install.cmd":"prebuild-install",i=Gb.default.join(n,".bin",r);try{let s=(0,eJ.spawnSync)(i,["-r","napi"],{cwd:e,stdio:"ignore",shell:LM.default.platform()==="win32",timeout:12e4});console.warn(`[nativeSelfHeal] ${t} heal attempted (status=${s.status})`)}catch(s){console.warn(`[nativeSelfHeal] ${t} heal failed:`,s.message)}}var eJ,tJ,Gb,LM,UM,$Me,ZX,rJ=ae(()=>{eJ=require("child_process"),tJ=require("module"),Gb=ce(require("path"),1),LM=ce(require("os"),1),UM=(0,tJ.createRequire)(__importMetaUrl),$Me=300*1e3,ZX=new Map});function WMe(t,e){return e&&typeof e=="object"&&e.type==="Buffer"&&Array.isArray(e.data)?{__b:Buffer.from(e.data).toString("base64")}:e}function VMe(t,e){return e&&typeof e=="object"&&typeof e.__b=="string"?Buffer.from(e.__b,"base64"):e}function qM(t){return JSON.stringify(t,WMe)}function sJ(t){return JSON.parse(typeof t=="string"?t:Buffer.from(t).toString("utf8"),VMe)}function FM(t,e){if(Buffer.isBuffer(t))return e.push(t),{__B:e.length-1};if(ArrayBuffer.isView(t))return e.push(Buffer.from(t.buffer,t.byteOffset,t.byteLength)),{__B:e.length-1};if(Array.isArray(t))return t.map(n=>FM(n,e));if(t&&typeof t=="object"){let n={};for(let r of Object.keys(t))n[r]=FM(t[r],e);return n}return t}function BM(t,e){if(Array.isArray(t))return t.map(n=>BM(n,e));if(t&&typeof t=="object"){if(typeof t.__B=="number")return e[t.__B]??null;let n={};for(let r of Object.keys(t))n[r]=BM(t[r],e);return n}return t}function iJ(t,e=null){let n=[],r={event:t.event,args:FM(t.args||[],n),ackId:t.ackId??null,lens:n.map(o=>o.length)};e&&(r.frag=e.id,r.part=e.part,r.parts=e.parts);let i=Buffer.from(JSON.stringify(r),"utf8"),s=Buffer.allocUnsafe(4);return s.writeUInt32LE(i.length,0),Buffer.concat([s,i,...n])}function $M(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t.buffer??t,t.byteOffset??0,t.byteLength??t.length);if(e.length<4)throw new Error("frame too short");let r=4+e.readUInt32LE(0);if(r>e.length)throw new Error("frame header truncated");let i=JSON.parse(e.subarray(4,r).toString("utf8")),s=[],o=r;for(let a of i.lens||[]){if(o+a>e.length)throw new Error("frame part truncated");s.push(e.subarray(o,o+a)),o+=a}return{event:i.event,args:BM(i.args||[],s),ackId:i.ackId??null,frag:i.frag,part:i.part,parts:i.parts}}function zMe(t,e){if(t.length<=e)return[t];let r=e-192;if(r<=0)return null;let i=Math.ceil(t.length/r);if(i>oJ)return null;let s=[];for(let o=0;o<i;o++)s.push(t.subarray(o*r,Math.min((o+1)*r,t.length)));return s}function aJ(t,e,n){let r=iJ(t),i=zMe(r,e);return i?i.length===1?[r]:i.map((s,o)=>iJ({event:t.event,args:[s]},{id:n,part:o,parts:i.length})):null}function GM(){let t=new Map;return{push(e){let{frag:n,part:r,parts:i}=e;if(n==null)return e;if(!Number.isInteger(r)||!Number.isInteger(i)||r<0||i<1||r>=i||i>oJ)return null;let s=t.get(n);s||(t.size>=KMe&&t.delete(t.keys().next().value),s={slices:new Array(i),got:0},t.set(n,s));let o=e.args?.[0];return o==null||(s.slices[r]||(s.slices[r]=o,s.got++),s.got<i)?null:(t.delete(n),$M(Buffer.concat(s.slices)))}}}var oJ,KMe,cJ=ae(()=>{oJ=4096;KMe=4});var lJ,Hb,Te,Mr=ae(()=>{dp();lJ={darwin:{capture:"nodeScreenshots",tileSize:128,inputFormat:"rgba",tileFormat:"webp"},win32:{capture:"nodeScreenshots",tileSize:256,inputFormat:"rgba",tileFormat:"jpeg"},linux:{capture:"nodeScreenshots",tileSize:256,inputFormat:"rgba",tileFormat:"webp"}},Hb=lJ[process.platform]||lJ.linux,Te={pipeline:{captureLib:Hb.capture,inputFormat:Hb.inputFormat,tileSize:Hb.tileSize,gpuResize:process.platform==="win32",gpuBatchResize:process.platform==="win32",gpuBatchMaxTiles:32,gpuBatchMinTiles:2,vImageResize:process.platform==="darwin",tileFormat:Hb.tileFormat,useJpegTurbo:process.platform==="win32",webpEffort:0,jpegQuality:50,tileConcurrency:6,outputScale:1,scaleMode:"smooth",minOutputScale:.25,maxOutputScale:1,qualityFloor:85,tierHysteresis:.05,adaptiveTiers:[{minEffective:1,outputScale:1,jpegQuality:85},{minEffective:.7,outputScale:.95,jpegQuality:85},{minEffective:.4,outputScale:.8,jpegQuality:85},{minEffective:0,outputScale:.65,jpegQuality:85}],checksumSampling:{rowStep:3,colStep:8}},webrtc:{enableWebRTC:!0,enableTurn:!0,turnApiUrl:`${fc}/api/webrtc/turn-credentials`,signalingDoUrl:process.env.NREMOTE_SIGNALING_DO_URL||fc.replace(/^http/,"ws")+"/signaling",turnRefreshInterval:1380*60*1e3,dcMaxMessageSize:65536,dcBufferThreshold:262144,iceDisconnectGraceMs:6e3,dcChunkSize:8,dcMaxTilesPerFrame:32,dcReliable:!0,dcOrdered:!1,answerTimeout:1e4,maxControlBuffer:500,ackWindow:2,ackPollMs:20,ackTimeoutMs:1500},robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,dragMouseThrottleWin:40,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},cursorShape:{throttleMs:80},resourceManagement:{inactiveTimeout:120*1e3,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50,disconnectGraceMs:3e4},streaming:{activeInterval:60,idleInterval:400,idleThreshold:3,actionCaptureDelay:50,chunkSize:32,chunkDelay:5},focus:{paddingTiles:4},clipboard:{enabled:!0,pollInterval:1e3,maxTextLength:2e4},displayWake:{enabled:!0,throttleMs:3e4,macDurationSec:5},desktopUnlock:{pollIntervalMs:2e3,retryWaitMs:3e3,captureErrorThreshold:5},sleepInhibit:{defaultMode:"never",presets:{"30m":1800*1e3,"1h":3600*1e3,"2h":7200*1e3,"4h":14400*1e3,"24h":1440*60*1e3,never:null}},desktopSwitch:{darwin:{prev:{keyCode:123,mods:"control down"},next:{keyCode:124,mods:"control down"},new:{type:"missionControl"}},win32:{prev:["left",["control","command"]],next:["right",["control","command"]],new:["d",["control","command"]]},linux:{prev:null,next:null,new:null}},logging:{lifecycle:!1,errors:!0,dpiDetection:!1,focus:!1,focusEveryFrames:60,metrics:!1,metricsEveryFrames:30,webrtc:!1,resizeStats:!1,resizeStatsEveryFrames:60}}});var uJ=B(HM=>{"use strict";HM.toString=function(t){switch(t){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+t};HM.toType=function(t){switch(t.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return t.toUpperCase().startsWith("UNKNOWN_")?parseInt(t.slice(8)):0}});var fJ=B(jM=>{"use strict";jM.toString=function(t){switch(t){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+t};jM.toRcode=function(t){switch(t.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var dJ=B(WM=>{"use strict";WM.toString=function(t){switch(t){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+t};WM.toOpcode=function(t){switch(t.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var pJ=B(VM=>{"use strict";VM.toString=function(t){switch(t){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+t};VM.toClass=function(t){switch(t.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var hJ=B(zM=>{"use strict";zM.toString=function(t){switch(t){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return t<0?null:`OPTION_${t}`};zM.toCode=function(t){if(typeof t=="number")return t;if(!t)return-1;switch(t.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=t.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var yJ=B((gJ,KM)=>{var mJ=(function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=f,t.encode=u,t.familyOf=l,t.name=void 0,t.sizeOf=c,t.v6=t.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,n=4,r=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,s={name:"v4",size:n,isFormat:p=>e.test(p),encode(p,m,g){g=~~g,m=m||new Uint8Array(g+n);let y=p.length,w=0;for(let S=0;S<y;){let T=p.charCodeAt(S++);T===46?(m[g++]=w,w=0):w=w*10+(T-48)}return m[g]=w,m},decode(p,m){return m=~~m,`${p[m++]}.${p[m++]}.${p[m++]}.${p[m]}`}};t.v4=s;let o={name:"v6",size:i,isFormat:p=>p.length>0&&r.test(p),encode(p,m,g){g=~~g;let y=g+i,w=-1,S=0,T=0,R=!0,C=!1;m=m||new Uint8Array(g+i);for(let D=0;D<p.length;D++){let q=p.charCodeAt(D);q===58?(R?w!==-1?(g<y&&(m[g]=0),g<y-1&&(m[g+1]=0),g+=2):g<y&&(w=g):(C===!0?(g<y&&(m[g]=T),g++):(g<y&&(m[g]=S>>8),g<y-1&&(m[g+1]=S&255),g+=2),S=0,T=0),R=!0,C=!1):q===46?(g<y&&(m[g]=T),g++,T=0,S=0,R=!1,C=!0):(R=!1,q>=97?q-=87:q>=65?q-=55:(q-=48,T=T*10+q),S=(S<<4)+q)}if(R===!1)C===!0?(g<y&&(m[g]=T),g++):(g<y&&(m[g]=S>>8),g<y-1&&(m[g+1]=S&255),g+=2);else if(w===0)g<y&&(m[g]=0),g<y-1&&(m[g+1]=0),g+=2;else if(w!==-1){g+=2;for(let D=Math.min(g-1,y-1);D>=w+2;D--)m[D]=m[D-2];m[w]=0,m[w+1]=0,w=g}if(w!==g&&w!==-1)for(g>y-2&&(g=y-2);y>w;)m[--y]=g<y&&g>w?m[--g]:0;else for(;g<y;)m[g++]=0;return m},decode(p,m){m=~~m;let g="";for(let y=0;y<i;y+=2)y!==0&&(g+=":"),g+=(p[m+y]<<8|p[m+y+1]).toString(16);return g.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};t.v6=o;let a="ip";t.name=a;function c(p){if(s.isFormat(p))return s.size;if(o.isFormat(p))return o.size;throw Error(`Invalid ip address: ${p}`)}function l(p){return c(p)===s.size?1:2}function u(p,m,g){g=~~g;let y=c(p);return typeof m=="function"&&(m=m(g+y)),y===s.size?s.encode(p,m,g):o.encode(p,m,g)}function f(p,m,g){if(m=~~m,g=g||p.length-m,g===s.size)return s.decode(p,m,g);if(g===o.size)return o.decode(p,m,g);throw Error(`Invalid buffer size needs to be ${s.size} for v4 or ${o.size} for v6.`)}return"default"in t?t.default:t})({});typeof define=="function"&&define.amd?define([],function(){return mJ}):typeof KM=="object"&&typeof gJ=="object"&&(KM.exports=mJ)});var EJ=B($e=>{"use strict";var Ge=require("buffer").Buffer,Gl=uJ(),YMe=fJ(),XMe=dJ(),Wb=pJ(),YM=hJ(),pp=yJ(),JMe=0,_J=32768,XM=32768,QMe=~XM,vJ=32768,ZMe=~vJ,Ae=$e.name={};Ae.encode=function(t,e,n,{mail:r=!1}={}){e||(e=Ge.alloc(Ae.encodingLength(t))),n||(n=0);let i=n,s=t.replace(/^\.|\.$/gm,"");if(s.length){let o=[];if(r){let a="";s.split(".").forEach(c=>{c.endsWith("\\")?a+=(a.length?".":"")+c.slice(0,-1):o.length===0&&a.length?o.push(a+"."+c):o.push(c)})}else o=s.split(".");for(let a=0;a<o.length;a++){let c=e.write(o[a],n+1);e[n]=c,n+=c+1}}return e[n++]=0,Ae.encode.bytes=n-i,e};Ae.encode.bytes=0;Ae.decode=function(t,e,{mail:n=!1}={}){e||(e=0);let r=[],i=e,s=0,o=0,a=!1;for(;;){if(e>=t.length)throw new Error("Cannot decode name (buffer overflow)");let c=t[e++];if(o+=a?0:1,c===0)break;if((c&192)===0){if(e+c>t.length)throw new Error("Cannot decode name (buffer overflow)");if(s+=c+1,s>254)throw new Error("Cannot decode name (name too long)");let l=t.toString("utf-8",e,e+c);n&&(l=l.replace(/\./g,"\\.")),r.push(l),e+=c,o+=a?0:c}else if((c&192)===192){if(e+1>t.length)throw new Error("Cannot decode name (buffer overflow)");let l=t.readUInt16BE(e-1)-49152;if(l>=i)throw new Error("Cannot decode name (bad pointer)");e=l,i=l,o+=a?0:1,a=!0}else throw new Error("Cannot decode name (bad label)")}return Ae.decode.bytes=o,r.length===0?".":r.join(".")};Ae.decode.bytes=0;Ae.encodingLength=function(t){return t==="."||t===".."?1:Ge.byteLength(t.replace(/^\.|\.$/gm,""))+2};var pt={};pt.encode=function(t,e,n){e||(e=Ge.alloc(pt.encodingLength(t))),n||(n=0);let r=e.write(t,n+1);return e[n]=r,pt.encode.bytes=r+1,e};pt.encode.bytes=0;pt.decode=function(t,e){e||(e=0);let n=t[e],r=t.toString("utf-8",e+1,e+1+n);return pt.decode.bytes=n+1,r};pt.decode.bytes=0;pt.encodingLength=function(t){return Ge.byteLength(t)+1};var ga={};ga.encode=function(t,e,n){e||(e=ga.encodingLength(t)),n||(n=0);let r=(t.flags||0)&32767,i=t.type==="response"?_J:JMe;return e.writeUInt16BE(t.id||0,n),e.writeUInt16BE(r|i,n+2),e.writeUInt16BE(t.questions.length,n+4),e.writeUInt16BE(t.answers.length,n+6),e.writeUInt16BE(t.authorities.length,n+8),e.writeUInt16BE(t.additionals.length,n+10),e};ga.encode.bytes=12;ga.decode=function(t,e){if(e||(e=0),t.length<12)throw new Error("Header must be 12 bytes");let n=t.readUInt16BE(e+2);return{id:t.readUInt16BE(e),type:n&_J?"response":"query",flags:n&32767,flag_qr:(n>>15&1)===1,opcode:XMe.toString(n>>11&15),flag_aa:(n>>10&1)===1,flag_tc:(n>>9&1)===1,flag_rd:(n>>8&1)===1,flag_ra:(n>>7&1)===1,flag_z:(n>>6&1)===1,flag_ad:(n>>5&1)===1,flag_cd:(n>>4&1)===1,rcode:YMe.toString(n&15),questions:new Array(t.readUInt16BE(e+4)),answers:new Array(t.readUInt16BE(e+6)),authorities:new Array(t.readUInt16BE(e+8)),additionals:new Array(t.readUInt16BE(e+10))}};ga.decode.bytes=12;ga.encodingLength=function(){return 12};var Nl=$e.unknown={};Nl.encode=function(t,e,n){return e||(e=Ge.alloc(Nl.encodingLength(t))),n||(n=0),e.writeUInt16BE(t.length,n),t.copy(e,n+2),Nl.encode.bytes=t.length+2,e};Nl.encode.bytes=0;Nl.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r=t.slice(e+2,e+2+n);return Nl.decode.bytes=n+2,r};Nl.decode.bytes=0;Nl.encodingLength=function(t){return t.length+2};var Ml=$e.ns={};Ml.encode=function(t,e,n){return e||(e=Ge.alloc(Ml.encodingLength(t))),n||(n=0),Ae.encode(t,e,n+2),e.writeUInt16BE(Ae.encode.bytes,n),Ml.encode.bytes=Ae.encode.bytes+2,e};Ml.encode.bytes=0;Ml.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r=Ae.decode(t,e+2);return Ml.decode.bytes=n+2,r};Ml.decode.bytes=0;Ml.encodingLength=function(t){return Ae.encodingLength(t)+2};var Dl=$e.soa={};Dl.encode=function(t,e,n){e||(e=Ge.alloc(Dl.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.mname,e,n),n+=Ae.encode.bytes,Ae.encode(t.rname,e,n,{mail:!0}),n+=Ae.encode.bytes,e.writeUInt32BE(t.serial||0,n),n+=4,e.writeUInt32BE(t.refresh||0,n),n+=4,e.writeUInt32BE(t.retry||0,n),n+=4,e.writeUInt32BE(t.expire||0,n),n+=4,e.writeUInt32BE(t.minimum||0,n),n+=4,e.writeUInt16BE(n-r-2,r),Dl.encode.bytes=n-r,e};Dl.encode.bytes=0;Dl.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.mname=Ae.decode(t,e),e+=Ae.decode.bytes,r.rname=Ae.decode(t,e,{mail:!0}),e+=Ae.decode.bytes,r.serial=t.readUInt32BE(e),e+=4,r.refresh=t.readUInt32BE(e),e+=4,r.retry=t.readUInt32BE(e),e+=4,r.expire=t.readUInt32BE(e),e+=4,r.minimum=t.readUInt32BE(e),e+=4,Dl.decode.bytes=e-n,r};Dl.decode.bytes=0;Dl.encodingLength=function(t){return 22+Ae.encodingLength(t.mname)+Ae.encodingLength(t.rname)};var Ll=$e.txt={};Ll.encode=function(t,e,n){Array.isArray(t)||(t=[t]);for(let i=0;i<t.length;i++)if(typeof t[i]=="string"&&(t[i]=Ge.from(t[i])),!Ge.isBuffer(t[i]))throw new Error("Must be a Buffer");e||(e=Ge.alloc(Ll.encodingLength(t))),n||(n=0);let r=n;return n+=2,t.forEach(function(i){e[n++]=i.length,i.copy(e,n,0,i.length),n+=i.length}),e.writeUInt16BE(n-r-2,r),Ll.encode.bytes=n-r,e};Ll.encode.bytes=0;Ll.decode=function(t,e){e||(e=0);let n=e,r=t.readUInt16BE(e);e+=2;let i=[];for(;r>0;){let s=t[e++];if(--r,r<s)throw new Error("Buffer overflow");i.push(t.slice(e,e+s)),e+=s,r-=s}return Ll.decode.bytes=e-n,i};Ll.decode.bytes=0;Ll.encodingLength=function(t){Array.isArray(t)||(t=[t]);let e=2;return t.forEach(function(n){typeof n=="string"?e+=Ge.byteLength(n)+1:e+=n.length+1}),e};var Ul=$e.null={};Ul.encode=function(t,e,n){e||(e=Ge.alloc(Ul.encodingLength(t))),n||(n=0),typeof t=="string"&&(t=Ge.from(t)),t||(t=Ge.alloc(0));let r=n;n+=2;let i=t.length;return t.copy(e,n,0,i),n+=i,e.writeUInt16BE(n-r-2,r),Ul.encode.bytes=n-r,e};Ul.encode.bytes=0;Ul.decode=function(t,e){e||(e=0);let n=e,r=t.readUInt16BE(e);e+=2;let i=t.slice(e,e+r);return e+=r,Ul.decode.bytes=e-n,i};Ul.decode.bytes=0;Ul.encodingLength=function(t){return t?(Ge.isBuffer(t)?t.length:Ge.byteLength(t))+2:2};var Fl=$e.hinfo={};Fl.encode=function(t,e,n){e||(e=Ge.alloc(Fl.encodingLength(t))),n||(n=0);let r=n;return n+=2,pt.encode(t.cpu,e,n),n+=pt.encode.bytes,pt.encode(t.os,e,n),n+=pt.encode.bytes,e.writeUInt16BE(n-r-2,r),Fl.encode.bytes=n-r,e};Fl.encode.bytes=0;Fl.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.cpu=pt.decode(t,e),e+=pt.decode.bytes,r.os=pt.decode(t,e),e+=pt.decode.bytes,Fl.decode.bytes=e-n,r};Fl.decode.bytes=0;Fl.encodingLength=function(t){return pt.encodingLength(t.cpu)+pt.encodingLength(t.os)+2};var ha=$e.ptr={},eDe=$e.cname=ha,tDe=$e.dname=ha;ha.encode=function(t,e,n){return e||(e=Ge.alloc(ha.encodingLength(t))),n||(n=0),Ae.encode(t,e,n+2),e.writeUInt16BE(Ae.encode.bytes,n),ha.encode.bytes=Ae.encode.bytes+2,e};ha.encode.bytes=0;ha.decode=function(t,e){e||(e=0);let n=Ae.decode(t,e+2);return ha.decode.bytes=Ae.decode.bytes+2,n};ha.decode.bytes=0;ha.encodingLength=function(t){return Ae.encodingLength(t)+2};var Bl=$e.srv={};Bl.encode=function(t,e,n){e||(e=Ge.alloc(Bl.encodingLength(t))),n||(n=0),e.writeUInt16BE(t.priority||0,n+2),e.writeUInt16BE(t.weight||0,n+4),e.writeUInt16BE(t.port||0,n+6),Ae.encode(t.target,e,n+8);let r=Ae.encode.bytes+6;return e.writeUInt16BE(r,n),Bl.encode.bytes=r+2,e};Bl.encode.bytes=0;Bl.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r={};return r.priority=t.readUInt16BE(e+2),r.weight=t.readUInt16BE(e+4),r.port=t.readUInt16BE(e+6),r.target=Ae.decode(t,e+8),Bl.decode.bytes=n+2,r};Bl.decode.bytes=0;Bl.encodingLength=function(t){return 8+Ae.encodingLength(t.target)};var xs=$e.caa={};xs.ISSUER_CRITICAL=128;xs.encode=function(t,e,n){let r=xs.encodingLength(t);return e||(e=Ge.alloc(xs.encodingLength(t))),n||(n=0),t.issuerCritical&&(t.flags=xs.ISSUER_CRITICAL),e.writeUInt16BE(r-2,n),n+=2,e.writeUInt8(t.flags||0,n),n+=1,pt.encode(t.tag,e,n),n+=pt.encode.bytes,e.write(t.value,n),n+=Ge.byteLength(t.value),xs.encode.bytes=r,e};xs.encode.bytes=0;xs.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e);e+=2;let r=e,i={};return i.flags=t.readUInt8(e),e+=1,i.tag=pt.decode(t,e),e+=pt.decode.bytes,i.value=t.toString("utf-8",e,r+n),i.issuerCritical=!!(i.flags&xs.ISSUER_CRITICAL),xs.decode.bytes=n+2,i};xs.decode.bytes=0;xs.encodingLength=function(t){return pt.encodingLength(t.tag)+pt.encodingLength(t.value)+2};var lf=$e.mx={};lf.encode=function(t,e,n){e||(e=Ge.alloc(lf.encodingLength(t))),n||(n=0);let r=n;return n+=2,e.writeUInt16BE(t.preference||0,n),n+=2,Ae.encode(t.exchange,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(n-r-2,r),lf.encode.bytes=n-r,e};lf.encode.bytes=0;lf.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.preference=t.readUInt16BE(e),e+=2,r.exchange=Ae.decode(t,e),e+=Ae.decode.bytes,lf.decode.bytes=e-n,r};lf.encodingLength=function(t){return 4+Ae.encodingLength(t.exchange)};var ql=$e.a={};ql.encode=function(t,e,n){return e||(e=Ge.alloc(ql.encodingLength(t))),n||(n=0),e.writeUInt16BE(4,n),n+=2,pp.v4.encode(t,e,n),ql.encode.bytes=6,e};ql.encode.bytes=0;ql.decode=function(t,e){e||(e=0),e+=2;let n=pp.v4.decode(t,e);return ql.decode.bytes=6,n};ql.decode.bytes=0;ql.encodingLength=function(){return 6};var $l=$e.aaaa={};$l.encode=function(t,e,n){return e||(e=Ge.alloc($l.encodingLength(t))),n||(n=0),e.writeUInt16BE(16,n),n+=2,pp.v6.encode(t,e,n),$l.encode.bytes=18,e};$l.encode.bytes=0;$l.decode=function(t,e){e||(e=0),e+=2;let n=pp.v6.decode(t,e);return $l.decode.bytes=18,n};$l.decode.bytes=0;$l.encodingLength=function(){return 18};var ji=$e.option={};ji.encode=function(t,e,n){e||(e=Ge.alloc(ji.encodingLength(t))),n||(n=0);let r=n,i=YM.toCode(t.code);if(e.writeUInt16BE(i,n),n+=2,t.data)e.writeUInt16BE(t.data.length,n),n+=2,t.data.copy(e,n),n+=t.data.length;else switch(i){case 8:let s=t.sourcePrefixLength||0,o=t.family||pp.familyOf(t.ip),a=pp.encode(t.ip,Ge.alloc),c=Math.ceil(s/8);e.writeUInt16BE(c+4,n),n+=2,e.writeUInt16BE(o,n),n+=2,e.writeUInt8(s,n++),e.writeUInt8(t.scopePrefixLength||0,n++),a.copy(e,n,0,c),n+=c;break;case 11:t.timeout?(e.writeUInt16BE(2,n),n+=2,e.writeUInt16BE(t.timeout,n),n+=2):(e.writeUInt16BE(0,n),n+=2);break;case 12:let l=t.length||0;e.writeUInt16BE(l,n),n+=2,e.fill(0,n,n+l),n+=l;break;case 14:let u=t.tags.length*2;e.writeUInt16BE(u,n),n+=2;for(let f of t.tags)e.writeUInt16BE(f,n),n+=2;break;default:throw new Error(`Unknown roption code: ${t.code}`)}return ji.encode.bytes=n-r,e};ji.encode.bytes=0;ji.decode=function(t,e){e||(e=0);let n={};n.code=t.readUInt16BE(e),n.type=YM.toString(n.code),e+=2;let r=t.readUInt16BE(e);switch(e+=2,n.data=t.slice(e,e+r),n.code){case 8:n.family=t.readUInt16BE(e),e+=2,n.sourcePrefixLength=t.readUInt8(e++),n.scopePrefixLength=t.readUInt8(e++);let i=Ge.alloc(n.family===1?4:16);t.copy(i,0,e,e+r-4),n.ip=pp.decode(i);break;case 11:r>0&&(n.timeout=t.readUInt16BE(e),e+=2);break;case 14:n.tags=[];for(let s=0;s<r;s+=2)n.tags.push(t.readUInt16BE(e)),e+=2}return ji.decode.bytes=r+4,n};ji.decode.bytes=0;ji.encodingLength=function(t){if(t.data)return t.data.length+4;switch(YM.toCode(t.code)){case 8:let n=t.sourcePrefixLength||0;return Math.ceil(n/8)+8;case 11:return typeof t.timeout=="number"?6:4;case 12:return t.length+4;case 14:return 4+t.tags.length*2}throw new Error(`Unknown roption code: ${t.code}`)};var Ts=$e.opt={};Ts.encode=function(t,e,n){e||(e=Ge.alloc(Ts.encodingLength(t))),n||(n=0);let r=n,i=rg(t,ji);return e.writeUInt16BE(i,n),n=zv(t,ji,e,n+2),Ts.encode.bytes=n-r,e};Ts.encode.bytes=0;Ts.decode=function(t,e){e||(e=0);let n=e,r=[],i=t.readUInt16BE(e);e+=2;let s=0;for(;i>0;)r[s++]=ji.decode(t,e),e+=ji.decode.bytes,i-=ji.decode.bytes;return Ts.decode.bytes=e-n,r};Ts.decode.bytes=0;Ts.encodingLength=function(t){return 2+rg(t||[],ji)};var xi=$e.dnskey={};xi.PROTOCOL_DNSSEC=3;xi.ZONE_KEY=128;xi.SECURE_ENTRYPOINT=32768;xi.encode=function(t,e,n){e||(e=Ge.alloc(xi.encodingLength(t))),n||(n=0);let r=n,i=t.key;if(!Ge.isBuffer(i))throw new Error("Key must be a Buffer");return n+=2,e.writeUInt16BE(t.flags,n),n+=2,e.writeUInt8(xi.PROTOCOL_DNSSEC,n),n+=1,e.writeUInt8(t.algorithm,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,xi.encode.bytes=n-r,e.writeUInt16BE(xi.encode.bytes-2,r),e};xi.encode.bytes=0;xi.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);if(e+=2,r.flags=t.readUInt16BE(e),e+=2,t.readUInt8(e)!==xi.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,r.algorithm=t.readUInt8(e),e+=1,r.key=t.slice(e,n+i+2),e+=r.key.length,xi.decode.bytes=e-n,r};xi.decode.bytes=0;xi.encodingLength=function(t){return 6+Ge.byteLength(t.key)};var dc=$e.rrsig={};dc.encode=function(t,e,n){e||(e=Ge.alloc(dc.encodingLength(t))),n||(n=0);let r=n,i=t.signature;if(!Ge.isBuffer(i))throw new Error("Signature must be a Buffer");return n+=2,e.writeUInt16BE(Gl.toType(t.typeCovered),n),n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.labels,n),n+=1,e.writeUInt32BE(t.originalTTL,n),n+=4,e.writeUInt32BE(t.expiration,n),n+=4,e.writeUInt32BE(t.inception,n),n+=4,e.writeUInt16BE(t.keyTag,n),n+=2,Ae.encode(t.signersName,e,n),n+=Ae.encode.bytes,i.copy(e,n,0,i.length),n+=i.length,dc.encode.bytes=n-r,e.writeUInt16BE(dc.encode.bytes-2,r),e};dc.encode.bytes=0;dc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.typeCovered=Gl.toString(t.readUInt16BE(e)),e+=2,r.algorithm=t.readUInt8(e),e+=1,r.labels=t.readUInt8(e),e+=1,r.originalTTL=t.readUInt32BE(e),e+=4,r.expiration=t.readUInt32BE(e),e+=4,r.inception=t.readUInt32BE(e),e+=4,r.keyTag=t.readUInt16BE(e),e+=2,r.signersName=Ae.decode(t,e),e+=Ae.decode.bytes,r.signature=t.slice(e,n+i+2),e+=r.signature.length,dc.decode.bytes=e-n,r};dc.decode.bytes=0;dc.encodingLength=function(t){return 20+Ae.encodingLength(t.signersName)+Ge.byteLength(t.signature)};var pc=$e.rp={};pc.encode=function(t,e,n){e||(e=Ge.alloc(pc.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.mbox||".",e,n,{mail:!0}),n+=Ae.encode.bytes,Ae.encode(t.txt||".",e,n),n+=Ae.encode.bytes,pc.encode.bytes=n-r,e.writeUInt16BE(pc.encode.bytes-2,r),e};pc.encode.bytes=0;pc.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.mbox=Ae.decode(t,e,{mail:!0})||".",e+=Ae.decode.bytes,r.txt=Ae.decode(t,e)||".",e+=Ae.decode.bytes,pc.decode.bytes=e-n,r};pc.decode.bytes=0;pc.encodingLength=function(t){return 2+Ae.encodingLength(t.mbox||".")+Ae.encodingLength(t.txt||".")};var Dr={};Dr.encode=function(t,e,n){e||(e=Ge.alloc(Dr.encodingLength(t))),n||(n=0);let r=n;for(var i=[],s=0;s<t.length;s++){var o=Gl.toType(t[s]);i[o>>8]===void 0&&(i[o>>8]=[]),i[o>>8][o>>3&31]|=1<<7-(o&7)}for(s=0;s<i.length;s++)if(i[s]!==void 0){var a=Ge.from(i[s]);e.writeUInt8(s,n),n+=1,e.writeUInt8(a.length,n),n+=1,a.copy(e,n),n+=a.length}return Dr.encode.bytes=n-r,e};Dr.encode.bytes=0;Dr.decode=function(t,e,n){e||(e=0);let r=e;for(var i=[];e-r<n;){var s=t.readUInt8(e);e+=1;var o=t.readUInt8(e);e+=1;for(var a=0;a<o;a++)for(var c=t.readUInt8(e+a),l=0;l<8;l++)if(c&1<<7-l){var u=Gl.toString(s<<8|a<<3|l);i.push(u)}e+=o}return Dr.decode.bytes=e-r,i};Dr.decode.bytes=0;Dr.encodingLength=function(t){for(var e=[],n=0;n<t.length;n++){var r=Gl.toType(t[n]);e[r>>8]=Math.max(e[r>>8]||0,r&255)}var i=0;for(n=0;n<e.length;n++)e[n]!==void 0&&(i+=2+Math.ceil((e[n]+1)/8));return i};var hc=$e.nsec={};hc.encode=function(t,e,n){e||(e=Ge.alloc(hc.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.nextDomain,e,n),n+=Ae.encode.bytes,Dr.encode(t.rrtypes,e,n),n+=Dr.encode.bytes,hc.encode.bytes=n-r,e.writeUInt16BE(hc.encode.bytes-2,r),e};hc.encode.bytes=0;hc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.nextDomain=Ae.decode(t,e),e+=Ae.decode.bytes,r.rrtypes=Dr.decode(t,e,i-(e-n)),e+=Dr.decode.bytes,hc.decode.bytes=e-n,r};hc.decode.bytes=0;hc.encodingLength=function(t){return 2+Ae.encodingLength(t.nextDomain)+Dr.encodingLength(t.rrtypes)};var mc=$e.nsec3={};mc.encode=function(t,e,n){e||(e=Ge.alloc(mc.encodingLength(t))),n||(n=0);let r=n,i=t.salt;if(!Ge.isBuffer(i))throw new Error("salt must be a Buffer");let s=t.nextDomain;if(!Ge.isBuffer(s))throw new Error("nextDomain must be a Buffer");return n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.flags,n),n+=1,e.writeUInt16BE(t.iterations,n),n+=2,e.writeUInt8(i.length,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,e.writeUInt8(s.length,n),n+=1,s.copy(e,n,0,s.length),n+=s.length,Dr.encode(t.rrtypes,e,n),n+=Dr.encode.bytes,mc.encode.bytes=n-r,e.writeUInt16BE(mc.encode.bytes-2,r),e};mc.encode.bytes=0;mc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);e+=2,r.algorithm=t.readUInt8(e),e+=1,r.flags=t.readUInt8(e),e+=1,r.iterations=t.readUInt16BE(e),e+=2;let s=t.readUInt8(e);e+=1,r.salt=t.slice(e,e+s),e+=s;let o=t.readUInt8(e);return e+=1,r.nextDomain=t.slice(e,e+o),e+=o,r.rrtypes=Dr.decode(t,e,i-(e-n)),e+=Dr.decode.bytes,mc.decode.bytes=e-n,r};mc.decode.bytes=0;mc.encodingLength=function(t){return 8+t.salt.length+t.nextDomain.length+Dr.encodingLength(t.rrtypes)};var gc=$e.ds={};gc.encode=function(t,e,n){e||(e=Ge.alloc(gc.encodingLength(t))),n||(n=0);let r=n,i=t.digest;if(!Ge.isBuffer(i))throw new Error("Digest must be a Buffer");return n+=2,e.writeUInt16BE(t.keyTag,n),n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.digestType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,gc.encode.bytes=n-r,e.writeUInt16BE(gc.encode.bytes-2,r),e};gc.encode.bytes=0;gc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.keyTag=t.readUInt16BE(e),e+=2,r.algorithm=t.readUInt8(e),e+=1,r.digestType=t.readUInt8(e),e+=1,r.digest=t.slice(e,n+i+2),e+=r.digest.length,gc.decode.bytes=e-n,r};gc.decode.bytes=0;gc.encodingLength=function(t){return 6+Ge.byteLength(t.digest)};var bs=$e.sshfp={};bs.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};bs.encode=function(e,n,r){n||(n=Ge.alloc(bs.encodingLength(e))),r||(r=0);let i=r;r+=2,n[r]=e.algorithm,r+=1,n[r]=e.hash,r+=1;let s=Ge.from(e.fingerprint.toUpperCase(),"hex");if(s.length!==bs.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return s.copy(n,r),r+=s.byteLength,bs.encode.bytes=r-i,n.writeUInt16BE(bs.encode.bytes-2,i),n};bs.encode.bytes=0;bs.decode=function(e,n){n||(n=0);let r=n,i={};n+=2,i.algorithm=e[n],n+=1,i.hash=e[n],n+=1;let s=bs.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(n,n+s).toString("hex").toUpperCase(),n+=s,bs.decode.bytes=n-r,i};bs.decode.bytes=0;bs.encodingLength=function(t){return 4+Ge.from(t.fingerprint,"hex").byteLength};var yc=$e.naptr={};yc.encode=function(t,e,n){e||(e=Ge.alloc(yc.encodingLength(t))),n||(n=0);let r=n;return n+=2,e.writeUInt16BE(t.order||0,n),n+=2,e.writeUInt16BE(t.preference||0,n),n+=2,pt.encode(t.flags,e,n),n+=pt.encode.bytes,pt.encode(t.services,e,n),n+=pt.encode.bytes,pt.encode(t.regexp,e,n),n+=pt.encode.bytes,Ae.encode(t.replacement,e,n),n+=Ae.encode.bytes,yc.encode.bytes=n-r,e.writeUInt16BE(yc.encode.bytes-2,r),e};yc.encode.bytes=0;yc.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.order=t.readUInt16BE(e),e+=2,r.preference=t.readUInt16BE(e),e+=2,r.flags=pt.decode(t,e),e+=pt.decode.bytes,r.services=pt.decode(t,e),e+=pt.decode.bytes,r.regexp=pt.decode(t,e),e+=pt.decode.bytes,r.replacement=Ae.decode(t,e),e+=Ae.decode.bytes,yc.decode.bytes=e-n,r};yc.decode.bytes=0;yc.encodingLength=function(t){return pt.encodingLength(t.flags)+pt.encodingLength(t.services)+pt.encodingLength(t.regexp)+Ae.encodingLength(t.replacement)+6};var _c=$e.tlsa={};_c.encode=function(t,e,n){e||(e=Ge.alloc(_c.encodingLength(t))),n||(n=0);let r=n,i=t.certificate;if(!Ge.isBuffer(i))throw new Error("Certificate must be a Buffer");return n+=2,e.writeUInt8(t.usage,n),n+=1,e.writeUInt8(t.selector,n),n+=1,e.writeUInt8(t.matchingType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,_c.encode.bytes=n-r,e.writeUInt16BE(_c.encode.bytes-2,r),e};_c.encode.bytes=0;_c.decode=function(t,e){e||(e=0);let n=e,r={},i=t.readUInt16BE(e);return e+=2,r.usage=t.readUInt8(e),e+=1,r.selector=t.readUInt8(e),e+=1,r.matchingType=t.readUInt8(e),e+=1,r.certificate=t.slice(e,n+i+2),e+=r.certificate.length,_c.decode.bytes=e-n,r};_c.decode.bytes=0;_c.encodingLength=function(t){return 5+Ge.byteLength(t.certificate)};var JM=$e.record=function(t){switch(t.toUpperCase()){case"A":return ql;case"PTR":return ha;case"CNAME":return eDe;case"DNAME":return tDe;case"TXT":return Ll;case"NULL":return Ul;case"AAAA":return $l;case"SRV":return Bl;case"HINFO":return Fl;case"CAA":return xs;case"NS":return Ml;case"SOA":return Dl;case"MX":return lf;case"OPT":return Ts;case"DNSKEY":return xi;case"RRSIG":return dc;case"RP":return pc;case"NSEC":return hc;case"NSEC3":return mc;case"SSHFP":return bs;case"DS":return gc;case"NAPTR":return yc;case"TLSA":return _c}return Nl},Yr=$e.answer={};Yr.encode=function(t,e,n){e||(e=Ge.alloc(Yr.encodingLength(t))),n||(n=0);let r=n;if(Ae.encode(t.name,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(Gl.toType(t.type),n),t.type.toUpperCase()==="OPT"){if(t.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(t.udpPayloadSize||4096,n+2),e.writeUInt8(t.extendedRcode||0,n+4),e.writeUInt8(t.ednsVersion||0,n+5),e.writeUInt16BE(t.flags||0,n+6),n+=8,Ts.encode(t.options||[],e,n),n+=Ts.encode.bytes}else{let i=Wb.toClass(t.class===void 0?"IN":t.class);t.flush&&(i|=XM),e.writeUInt16BE(i,n+2),e.writeUInt32BE(t.ttl||0,n+4),n+=8;let s=JM(t.type);s.encode(t.data,e,n),n+=s.encode.bytes}return Yr.encode.bytes=n-r,e};Yr.encode.bytes=0;Yr.decode=function(t,e){e||(e=0);let n={},r=e;if(n.name=Ae.decode(t,e),e+=Ae.decode.bytes,n.type=Gl.toString(t.readUInt16BE(e)),n.type==="OPT")n.udpPayloadSize=t.readUInt16BE(e+2),n.extendedRcode=t.readUInt8(e+4),n.ednsVersion=t.readUInt8(e+5),n.flags=t.readUInt16BE(e+6),n.flag_do=(n.flags>>15&1)===1,n.options=Ts.decode(t,e+8),e+=8+Ts.decode.bytes;else{let i=t.readUInt16BE(e+2);n.ttl=t.readUInt32BE(e+4),n.class=Wb.toString(i&QMe),n.flush=!!(i&XM);let s=JM(n.type);n.data=s.decode(t,e+8),e+=8+s.decode.bytes}return Yr.decode.bytes=e-r,n};Yr.decode.bytes=0;Yr.encodingLength=function(t){let e=t.data!==null&&t.data!==void 0?t.data:t.options;return Ae.encodingLength(t.name)+8+JM(t.type).encodingLength(e)};var ma=$e.question={};ma.encode=function(t,e,n){e||(e=Ge.alloc(ma.encodingLength(t))),n||(n=0);let r=n;return Ae.encode(t.name,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(Gl.toType(t.type),n),n+=2,e.writeUInt16BE(Wb.toClass(t.class===void 0?"IN":t.class),n),n+=2,ma.encode.bytes=n-r,t};ma.encode.bytes=0;ma.decode=function(t,e){e||(e=0);let n=e,r={};return r.name=Ae.decode(t,e),e+=Ae.decode.bytes,r.type=Gl.toString(t.readUInt16BE(e)),e+=2,r.class=Wb.toString(t.readUInt16BE(e)),e+=2,r.class&vJ&&(r.class&=ZMe),ma.decode.bytes=e-n,r};ma.decode.bytes=0;ma.encodingLength=function(t){return Ae.encodingLength(t.name)+4};$e.AUTHORITATIVE_ANSWER=1024;$e.TRUNCATED_RESPONSE=512;$e.RECURSION_DESIRED=256;$e.RECURSION_AVAILABLE=128;$e.AUTHENTIC_DATA=32;$e.CHECKING_DISABLED=16;$e.DNSSEC_OK=32768;$e.encode=function(t,e,n){let r=!e;r&&(e=Ge.alloc($e.encodingLength(t))),n||(n=0);let i=n;return t.questions||(t.questions=[]),t.answers||(t.answers=[]),t.authorities||(t.authorities=[]),t.additionals||(t.additionals=[]),ga.encode(t,e,n),n+=ga.encode.bytes,n=zv(t.questions,ma,e,n),n=zv(t.answers,Yr,e,n),n=zv(t.authorities,Yr,e,n),n=zv(t.additionals,Yr,e,n),$e.encode.bytes=n-i,r&&$e.encode.bytes!==e.length?e.slice(0,$e.encode.bytes):e};$e.encode.bytes=0;$e.decode=function(t,e){e||(e=0);let n=e,r=ga.decode(t,e);return e+=ga.decode.bytes,e=jb(r.questions,ma,t,e),e=jb(r.answers,Yr,t,e),e=jb(r.authorities,Yr,t,e),e=jb(r.additionals,Yr,t,e),$e.decode.bytes=e-n,r};$e.decode.bytes=0;$e.encodingLength=function(t){return ga.encodingLength(t)+rg(t.questions||[],ma)+rg(t.answers||[],Yr)+rg(t.authorities||[],Yr)+rg(t.additionals||[],Yr)};$e.streamEncode=function(t){let e=$e.encode(t),n=Ge.alloc(2);n.writeUInt16BE(e.byteLength);let r=Ge.concat([n,e]);return $e.streamEncode.bytes=r.byteLength,r};$e.streamEncode.bytes=0;$e.streamDecode=function(t){let e=t.readUInt16BE(0);if(t.byteLength<e+2)return null;let n=$e.decode(t.slice(2));return $e.streamDecode.bytes=$e.decode.bytes,n};$e.streamDecode.bytes=0;function rg(t,e){let n=0;for(let r=0;r<t.length;r++)n+=e.encodingLength(t[r]);return n}function zv(t,e,n,r){for(let i=0;i<t.length;i++)e.encode(t[i],n,r),r+=e.encode.bytes;return r}function jb(t,e,n,r){for(let i=0;i<t.length;i++)t[i]=e.decode(n,r),r+=e.decode.bytes;return r}});var xJ=B((zyt,SJ)=>{"use strict";var wJ=aDe;process.nextTick(oDe,42);SJ.exports=nDe;function nDe(t){var e=r;return n;function n(i){e(i||iDe)}function r(i){var s=[i];e=o,t(a);function o(c){s.push(c)}function a(c){var l=arguments;for(e=rDe(c)?r:u;s.length;)u(s.shift());function u(f){wJ(sDe,f,l)}}}}function rDe(t){return Object.prototype.toString.call(t)==="[object Error]"}function iDe(){}function sDe(t,e){t.apply(null,e)}function oDe(t){t===42&&(wJ=process.nextTick)}function aDe(t,e,n){process.nextTick(function(){t(e,n)})}});var AJ=B((Kyt,TJ)=>{var QM=EJ(),cDe=require("dgram"),lDe=xJ(),uDe=require("events"),eD=require("os"),ZM=function(){};TJ.exports=function(t){t||(t={});var e=new uDe.EventEmitter,n=typeof t.port=="number"?t.port:5353,r=t.type||"udp4",i=t.ip||t.host||(r==="udp4"?"224.0.0.251":null),s={address:i,port:n},o={},a=!1,c=null;if(r==="udp6"&&(!i||!t.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var l=t.socket||cDe.createSocket({type:r,reuseAddr:t.reuseAddr!==!1,toString:function(){return r}});l.on("error",function(f){f.code==="EACCES"||f.code==="EADDRINUSE"?e.emit("error",f):e.emit("warning",f)}),l.on("message",function(f,p){try{f=QM.decode(f)}catch(m){e.emit("warning",m);return}e.emit("packet",f,p),f.type==="query"&&e.emit("query",f,p),f.type==="response"&&e.emit("response",f,p)}),l.on("listening",function(){n||(n=s.port=l.address().port),t.multicast!==!1&&(e.update(),c=setInterval(e.update,5e3),l.setMulticastTTL(t.ttl||255),l.setMulticastLoopback(t.loopback!==!1))});var u=lDe(function(f){if(!n||t.bind===!1)return f(null);l.once("error",f),l.bind(n,t.bind||t.interface,function(){l.removeListener("error",f),f(null)})});return u(function(f){if(f)return e.emit("error",f);e.emit("ready")}),e.send=function(f,p,m){if(typeof p=="function")return e.send(f,null,p);m||(m=ZM),p?!p.host&&!p.address&&(p.address=s.address):p=s,u(g);function g(y){if(a)return m();if(y)return m(y);var w=QM.encode(f);l.send(w,0,w.length,p.port,p.address||p.host,m)}},e.response=e.respond=function(f,p,m){Array.isArray(f)&&(f={answers:f}),f.type="response",f.flags=(f.flags||0)|QM.AUTHORITATIVE_ANSWER,e.send(f,p,m)},e.query=function(f,p,m,g){if(typeof p=="function")return e.query(f,null,null,p);if(typeof p=="object"&&p&&p.port)return e.query(f,null,p,m);if(typeof m=="function")return e.query(f,p,null,m);g||(g=ZM),typeof f=="string"&&(f=[{name:f,type:p||"ANY"}]),Array.isArray(f)&&(f={type:"query",questions:f}),f.type="query",e.send(f,m,g)},e.destroy=function(f){if(f||(f=ZM),a)return process.nextTick(f);a=!0,clearInterval(c);for(var p in o)try{l.dropMembership(i,p)}catch{}o={},l.close(f)},e.update=function(){for(var f=t.interface?[].concat(t.interface):dDe(),p=!1,m=0;m<f.length;m++){var g=f[m];if(!o[g])try{l.addMembership(i,g),o[g]=!0,p=!0}catch(y){e.emit("warning",y)}}if(p){if(l.setMulticastInterface)try{l.setMulticastInterface(t.interface||fDe())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function fDe(){for(var t=eD.networkInterfaces(),e=Object.keys(t),n=0;n<e.length;n++)for(var r=t[e[n]],i=0;i<r.length;i++){var s=r[i];if(bJ(s.family)&&!s.internal)return eD.platform()==="darwin"&&e[n]==="en0"?s.address:"0.0.0.0"}return"127.0.0.1"}function dDe(){for(var t=eD.networkInterfaces(),e=Object.keys(t),n=[],r=0;r<e.length;r++)for(var i=t[e[r]],s=0;s<i.length;s++){var o=i[s];if(bJ(o.family)){n.push(o.address);break}}return n}function bJ(t){return t===4||t==="IPv4"}});function EDe(t){return new Promise(e=>{let n=(0,RJ.execFile)("dns-sd",["-G","v4",t],{timeout:nD}),r=!1,i=o=>{if(!r){r=!0,clearTimeout(s);try{n.kill()}catch{}e(o)}},s=setTimeout(()=>i(null),nD);s.unref?.(),n.stdout?.on("data",o=>{for(let a of String(o).split(`
|
|
33
|
+
`+n)}function cp(t,e,n,r,i,s){if(t.listenerCount("wsClientError")){let o=new Error(i);Error.captureStackTrace(o,cp),t.emit("wsClientError",o,n,e)}else Bv(n,r,i,s)}});var fX=B((lyt,uX)=>{"use strict";var Ol=Tb();Ol.createWebSocketStream=eX();Ol.Server=lX();Ol.Receiver=cM();Ol.Sender=fM();Ol.WebSocket=Ol;Ol.WebSocketServer=Ol.Server;uX.exports=Ol});var wM=B(Xm=>{"use strict";var vM;Object.defineProperty(Xm,"__esModule",{value:!0});Xm.SessionAwareAdapter=Xm.Adapter=void 0;var ZNe=require("events"),eMe=s9(),Cb=fX(),tMe=typeof((vM=Cb?.Sender)===null||vM===void 0?void 0:vM.frame)=="function",Rb=class extends ZNe.EventEmitter{constructor(e){super(),this.nsp=e,this.rooms=new Map,this.sids=new Map,this.encoder=e.server.encoder}init(){}close(){}serverCount(){return Promise.resolve(1)}addAll(e,n){this.sids.has(e)||this.sids.set(e,new Set);for(let r of n)this.sids.get(e).add(r),this.rooms.has(r)||(this.rooms.set(r,new Set),this.emit("create-room",r)),this.rooms.get(r).has(e)||(this.rooms.get(r).add(e),this.emit("join-room",r,e))}del(e,n){this.sids.has(e)&&this.sids.get(e).delete(n),this._del(n,e)}_del(e,n){let r=this.rooms.get(e);r!=null&&(r.delete(n)&&this.emit("leave-room",e,n),r.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let n of this.sids.get(e))this._del(n,e);this.sids.delete(e)}}broadcast(e,n){let r=n.flags||{},i={preEncoded:!0,volatile:r.volatile,compress:r.compress};e.nsp=this.nsp.name;let s=this._encode(e,i);this.apply(n,o=>{typeof o.notifyOutgoingListeners=="function"&&o.notifyOutgoingListeners(e),o.client.writeToEngine(s,i)})}broadcastWithAck(e,n,r,i){let s=n.flags||{},o={preEncoded:!0,volatile:s.volatile,compress:s.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let a=this._encode(e,o),c=0;this.apply(n,l=>{c++,l.acks.set(e.id,i),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(a,o)}),r(c)}_encode(e,n){let r=this.encoder.encode(e);if(tMe&&r.length===1&&typeof r[0]=="string"){let i=Buffer.from("4"+r[0]);n.wsPreEncodedFrame=Cb.Sender.frame(i,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return r}sockets(e){let n=new Set;return this.apply({rooms:e},r=>{n.add(r.id)}),Promise.resolve(n)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let n=[];return this.apply(e,r=>{n.push(r)}),Promise.resolve(n)}addSockets(e,n){this.apply(e,r=>{r.join(n)})}delSockets(e,n){this.apply(e,r=>{n.forEach(i=>r.leave(i))})}disconnectSockets(e,n){this.apply(e,r=>{r.disconnect(n)})}apply(e,n){let r=e.rooms,i=this.computeExceptSids(e.except);if(r.size){let s=new Set;for(let o of r)if(this.rooms.has(o))for(let a of this.rooms.get(o)){if(s.has(a)||i.has(a))continue;let c=this.nsp.sockets.get(a);c&&(n(c),s.add(a))}}else for(let[s]of this.sids){if(i.has(s))continue;let o=this.nsp.sockets.get(s);o&&n(o)}}computeExceptSids(e){let n=new Set;if(e&&e.size>0)for(let r of e)this.rooms.has(r)&&this.rooms.get(r).forEach(i=>n.add(i));return n}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,n){return null}};Xm.Adapter=Rb;var EM=class extends Rb{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let r=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((i,s)=>{i.disconnectedAt<r&&this.sessions.delete(s)});for(let i=this.packets.length-1;i>=0;i--)if(this.packets[i].emittedAt<r){this.packets.splice(0,i+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,n){let r=this.sessions.get(e);if(!r)return null;if(r.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let s=this.packets.findIndex(a=>a.id===n);if(s===-1)return null;let o=[];for(let a=s+1;a<this.packets.length;a++){let c=this.packets[a];nMe(r.rooms,c.opts)&&o.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},r),{missedPackets:o}))}broadcast(e,n){var r;let i=e.type===2,s=e.id===void 0,o=((r=n.flags)===null||r===void 0?void 0:r.volatile)===void 0;if(i&&s&&o){let a=(0,eMe.yeast)();e.data.push(a),this.packets.push({id:a,opts:n,data:e.data,emittedAt:Date.now()})}super.broadcast(e,n)}};Xm.SessionAwareAdapter=EM;function nMe(t,e){let n=e.rooms.size===0||t.some(i=>e.rooms.has(i)),r=t.every(i=>!e.except.has(i));return n&&r}});var dX=B(uc=>{"use strict";var rMe=uc&&uc.__rest||function(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n};Object.defineProperty(uc,"__esModule",{value:!0});uc.ClusterAdapterWithHeartbeat=uc.ClusterAdapter=uc.MessageType=void 0;var iMe=wM(),sMe=ir(),oMe=require("crypto"),Xn=(0,sMe.debug)("socket.io-adapter"),aMe="emitter",Ib=5e3;function Qm(){return(0,oMe.randomBytes)(8).toString("hex")}var tt;(function(t){t[t.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",t[t.HEARTBEAT=2]="HEARTBEAT",t[t.BROADCAST=3]="BROADCAST",t[t.SOCKETS_JOIN=4]="SOCKETS_JOIN",t[t.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",t[t.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",t[t.FETCH_SOCKETS=7]="FETCH_SOCKETS",t[t.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",t[t.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",t[t.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",t[t.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",t[t.BROADCAST_ACK=12]="BROADCAST_ACK",t[t.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(tt||(uc.MessageType=tt={}));function lp(t){return{rooms:[...t.rooms],except:[...t.except],flags:t.flags}}function Jm(t){return{rooms:new Set(t.rooms),except:new Set(t.except),flags:t.flags}}var kb=class extends iMe.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=Qm()}onMessage(e,n){if(e.uid===this.uid)return Xn("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return Xn("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(Xn("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case tt.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,Jm(e.data.opts),i=>{Xn("[%s] waiting for %d client acknowledgements",this.uid,i),this.publishResponse(e.uid,{type:tt.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:i}})},i=>{Xn("[%s] received acknowledgement with value %j",this.uid,i),this.publishResponse(e.uid,{type:tt.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:i}})});else{let i=e.data.packet,s=Jm(e.data.opts);this.addOffsetIfNecessary(i,s,n),super.broadcast(i,s)}break}case tt.SOCKETS_JOIN:super.addSockets(Jm(e.data.opts),e.data.rooms);break;case tt.SOCKETS_LEAVE:super.delSockets(Jm(e.data.opts),e.data.rooms);break;case tt.DISCONNECT_SOCKETS:super.disconnectSockets(Jm(e.data.opts),e.data.close);break;case tt.FETCH_SOCKETS:{Xn("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(Jm(e.data.opts)).then(r=>{this.publishResponse(e.uid,{type:tt.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:r.map(i=>{let s=i.handshake,{sessionStore:o}=s,a=rMe(s,["sessionStore"]);return{id:i.id,handshake:a,rooms:[...i.rooms],data:i.data}})}})});break}case tt.SERVER_SIDE_EMIT:{let r=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(r);return}let s=!1,o=a=>{s||(s=!0,Xn("[%s] calling acknowledgement with %j",this.uid,a),this.publishResponse(e.uid,{type:tt.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:a}}))};this.nsp._onServerSideEmit([...r,o]);break}case tt.BROADCAST_CLIENT_COUNT:case tt.BROADCAST_ACK:case tt.FETCH_SOCKETS_RESPONSE:case tt.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:Xn("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var n,r;let i=e.data.requestId;switch(Xn("[%s] received response %s to request %s",this.uid,e.type,i),e.type){case tt.BROADCAST_CLIENT_COUNT:{(n=this.ackRequests.get(i))===null||n===void 0||n.clientCountCallback(e.data.clientCount);break}case tt.BROADCAST_ACK:{(r=this.ackRequests.get(i))===null||r===void 0||r.ack(e.data.packet);break}case tt.FETCH_SOCKETS_RESPONSE:{let s=this.requests.get(i);if(!s)return;s.current++,e.data.sockets.forEach(o=>s.responses.push(o)),s.current===s.expected&&(clearTimeout(s.timeout),s.resolve(s.responses),this.requests.delete(i));break}case tt.SERVER_SIDE_EMIT_RESPONSE:{let s=this.requests.get(i);if(!s)return;s.current++,s.responses.push(e.data.packet),s.current===s.expected&&(clearTimeout(s.timeout),s.resolve(null,s.responses),this.requests.delete(i));break}default:Xn("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,n){var r;if(!((r=n.flags)===null||r===void 0?void 0:r.local))try{let s=await this.publishAndReturnOffset({type:tt.BROADCAST,data:{packet:e,opts:lp(n)}});this.addOffsetIfNecessary(e,n,s)}catch(s){return Xn("[%s] error while broadcasting message: %s",this.uid,s.message)}super.broadcast(e,n)}addOffsetIfNecessary(e,n,r){var i;if(!this.nsp.server.opts.connectionStateRecovery)return;let s=e.type===2,o=e.id===void 0,a=((i=n.flags)===null||i===void 0?void 0:i.volatile)===void 0;s&&o&&a&&e.data.push(r)}broadcastWithAck(e,n,r,i){var s;if(!((s=n?.flags)===null||s===void 0?void 0:s.local)){let a=Qm();this.ackRequests.set(a,{clientCountCallback:r,ack:i}),this.publish({type:tt.BROADCAST,data:{packet:e,requestId:a,opts:lp(n)}}),setTimeout(()=>{this.ackRequests.delete(a)},n.flags.timeout)}super.broadcastWithAck(e,n,r,i)}async addSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.SOCKETS_JOIN,data:{opts:lp(e),rooms:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.addSockets(e,n)}async delSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.SOCKETS_LEAVE,data:{opts:lp(e),rooms:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.delSockets(e,n)}async disconnectSockets(e,n){var r;if(!((r=e.flags)===null||r===void 0?void 0:r.local))try{await this.publishAndReturnOffset({type:tt.DISCONNECT_SOCKETS,data:{opts:lp(e),close:n}})}catch(s){Xn("[%s] error while publishing message: %s",this.uid,s.message)}super.disconnectSockets(e,n)}async fetchSockets(e){var n;let[r,i]=await Promise.all([super.fetchSockets(e),this.serverCount()]),s=i-1;if(!((n=e.flags)===null||n===void 0)&&n.local||s<=0)return r;let o=Qm();return new Promise((a,c)=>{let l=setTimeout(()=>{let f=this.requests.get(o);f&&(c(new Error(`timeout reached: only ${f.current} responses received out of ${f.expected}`)),this.requests.delete(o))},e.flags.timeout||Ib),u={type:tt.FETCH_SOCKETS,resolve:a,timeout:l,current:0,expected:s,responses:r};this.requests.set(o,u),this.publish({type:tt.FETCH_SOCKETS,data:{opts:lp(e),requestId:o}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:tt.SERVER_SIDE_EMIT,data:{packet:e}});let r=e.pop(),i=await this.serverCount()-1;if(Xn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,i),i<=0)return r(null,[]);let s=Qm(),o=setTimeout(()=>{let c=this.requests.get(s);c&&(r(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(s))},Ib),a={type:tt.SERVER_SIDE_EMIT,resolve:r,timeout:o,current:0,expected:i,responses:[]};this.requests.set(s,a),this.publish({type:tt.SERVER_SIDE_EMIT,data:{requestId:s,packet:e}})}publish(e){Xn("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(n=>{Xn("[%s] error while publishing message: %s",this.uid,n)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,n){n.uid=this.uid,n.nsp=this.nsp.name,Xn("[%s] sending response %s to %s",this.uid,n.type,e),this.doPublishResponse(e,n).catch(r=>{Xn("[%s] error while publishing response: %s",this.uid,r)})}};uc.ClusterAdapter=kb;var SM=class extends kb{constructor(e,n){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},n),this.cleanupTimer=setInterval(()=>{let r=Date.now();this.nodesMap.forEach((i,s)=>{r-i>this._opts.heartbeatTimeout&&(Xn("[%s] node %s seems down",this.uid,s),this.removeNode(s))})},1e3)}init(){this.publish({type:tt.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:tt.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:tt.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,n){if(e.uid===this.uid)return Xn("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==aMe&&this.nodesMap.set(e.uid,Date.now()),e.type){case tt.INITIAL_HEARTBEAT:this.publish({type:tt.HEARTBEAT});break;case tt.HEARTBEAT:break;case tt.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,n)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:tt.SERVER_SIDE_EMIT,data:{packet:e}});let r=e.pop(),i=this.nodesMap.size;if(Xn('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,i),i<=0)return r(null,[]);let s=Qm(),o=setTimeout(()=>{let c=this.customRequests.get(s);c&&(r(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(s))},Ib),a={type:tt.SERVER_SIDE_EMIT,resolve:r,timeout:o,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(s,a),this.publish({type:tt.SERVER_SIDE_EMIT,data:{requestId:s,packet:e}})}async fetchSockets(e){var n;let[r,i]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),s=i-1;if(!((n=e.flags)===null||n===void 0)&&n.local||s<=0)return r;let o=Qm();return new Promise((a,c)=>{let l=setTimeout(()=>{let f=this.customRequests.get(o);f&&(c(new Error(`timeout reached: missing ${f.missingUids.size} responses`)),this.customRequests.delete(o))},e.flags.timeout||Ib),u={type:tt.FETCH_SOCKETS,resolve:a,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:r};this.customRequests.set(o,u),this.publish({type:tt.FETCH_SOCKETS,data:{opts:lp(e),requestId:o}})})}onResponse(e){let n=e.data.requestId;switch(Xn("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case tt.FETCH_SOCKETS_RESPONSE:{let r=this.customRequests.get(n);if(!r)return;e.data.sockets.forEach(i=>r.responses.push(i)),r.missingUids.delete(e.uid),r.missingUids.size===0&&(clearTimeout(r.timeout),r.resolve(r.responses),this.customRequests.delete(n));break}case tt.SERVER_SIDE_EMIT_RESPONSE:{let r=this.customRequests.get(n);if(!r)return;r.responses.push(e.data.packet),r.missingUids.delete(e.uid),r.missingUids.size===0&&(clearTimeout(r.timeout),r.resolve(null,r.responses),this.customRequests.delete(n));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((n,r)=>{n.missingUids.delete(e),n.missingUids.size===0&&(clearTimeout(n.timeout),n.type===tt.FETCH_SOCKETS?n.resolve(n.responses):n.type===tt.SERVER_SIDE_EMIT&&n.resolve(null,n.responses),this.customRequests.delete(r))}),this.nodesMap.delete(e)}};uc.ClusterAdapterWithHeartbeat=SM});var Pb=B(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.MessageType=co.ClusterAdapterWithHeartbeat=co.ClusterAdapter=co.SessionAwareAdapter=co.Adapter=void 0;var pX=wM();Object.defineProperty(co,"Adapter",{enumerable:!0,get:function(){return pX.Adapter}});Object.defineProperty(co,"SessionAwareAdapter",{enumerable:!0,get:function(){return pX.SessionAwareAdapter}});var xM=dX();Object.defineProperty(co,"ClusterAdapter",{enumerable:!0,get:function(){return xM.ClusterAdapter}});Object.defineProperty(co,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return xM.ClusterAdapterWithHeartbeat}});Object.defineProperty(co,"MessageType",{enumerable:!0,get:function(){return xM.MessageType}})});var gX=B(Zm=>{"use strict";var cMe=Zm&&Zm.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Zm,"__esModule",{value:!0});Zm.ParentNamespace=void 0;var hX=XN(),lMe=Pb(),uMe=cMe(ir()),mX=(0,uMe.default)("socket.io:parent-namespace"),Ob=class t extends hX.Namespace{constructor(e){super(e,"/_"+t.count++),this.children=new Set}_initAdapter(){this.adapter=new bM(this)}emit(e,...n){return this.children.forEach(r=>{r.emit(e,...n)}),!0}createChild(e){mX("creating child namespace %s",e);let n=new hX.Namespace(this.server,e);if(this._fns.forEach(r=>n.use(r)),this.listeners("connect").forEach(r=>n.on("connect",r)),this.listeners("connection").forEach(r=>n.on("connection",r)),this.children.add(n),this.server._opts.cleanupEmptyChildNamespaces){let r=n._remove;n._remove=i=>{r.call(n,i),n.sockets.size===0&&(mX("closing child namespace %s",e),n.adapter.close(),this.server._nsps.delete(n.name),this.children.delete(n))}}return this.server._nsps.set(e,n),this.server.sockets.emitReserved("new_namespace",n),n}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}};Zm.ParentNamespace=Ob;Ob.count=0;var bM=class extends lMe.Adapter{broadcast(e,n){this.nsp.children.forEach(r=>{r.adapter.broadcast(e,n)})}}});var SX=B(fp=>{"use strict";var fMe=fp&&fp.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(fp,"__esModule",{value:!0});fp.patchAdapter=pMe;fp.restoreAdapter=hMe;fp.serveFile=gMe;var up=Pb(),yX=require("fs"),dMe=fMe(ir()),Nb=(0,dMe.default)("socket.io:adapter-uws"),TM="",{addAll:vX,del:EX,broadcast:wX}=up.Adapter.prototype;function pMe(t){up.Adapter.prototype.addAll=function(e,n){let r=!this.sids.has(e);vX.call(this,e,n);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i){if(i.conn.transport.name==="websocket"){_X(this.nsp.name,i,r,n);return}r&&i.conn.on("upgrade",()=>{let s=this.sids.get(e);s&&_X(this.nsp.name,i,r,s)})}},up.Adapter.prototype.del=function(e,n){EX.call(this,e,n);let r=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(r&&r.conn.transport.name==="websocket"){let i=r.conn.id,s=r.conn.transport.socket,o=`${this.nsp.name}${TM}${n}`;Nb("unsubscribe connection %s from topic %s",i,o),s.unsubscribe(o)}},up.Adapter.prototype.broadcast=function(e,n){if(!(n.rooms.size<=1&&n.except.size===0)){wX.call(this,e,n);return}let i=n.flags||{},s={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let o=this.encoder.encode(e),a=n.rooms.size===0?this.nsp.name:`${this.nsp.name}${TM}${n.rooms.keys().next().value}`;Nb("fast publish to %s",a),o.forEach(c=>{let l=typeof c!="string";t.publish(a,l?c:"4"+c,l)}),this.apply(n,c=>{c.conn.transport.name!=="websocket"&&c.client.writeToEngine(o,s)})}}function _X(t,e,n,r){let i=e.conn.id,s=e.conn.transport.socket;n&&(Nb("subscribe connection %s to topic %s",i,t),s.subscribe(t)),r.forEach(o=>{let a=`${t}${TM}${o}`;Nb("subscribe connection %s to topic %s",i,a),s.subscribe(a)})}function hMe(){up.Adapter.prototype.addAll=vX,up.Adapter.prototype.del=EX,up.Adapter.prototype.broadcast=wX}var mMe=t=>{let{buffer:e,byteOffset:n,byteLength:r}=t;return e.slice(n,n+r)};function gMe(t,e){let{size:n}=(0,yX.statSync)(e),r=(0,yX.createReadStream)(e),i=()=>!r.destroyed&&r.destroy(),s=a=>{throw i(),a},o=a=>{let c=mMe(a);t.cork(()=>{let l=t.getWriteOffset(),[u,f]=t.tryEnd(c,n);!f&&!u&&(r.pause(),t.onWritable(p=>{let[m,g]=t.tryEnd(c.slice(p-l),n);return!g&&m&&r.resume(),m}))})};t.onAborted(i),r.on("data",o).on("error",s).on("end",i)}});var xX=B((myt,yMe)=>{yMe.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var PX=B((ai,qv)=>{"use strict";var _Me=ai&&ai.__createBinding||(Object.create?(function(t,e,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}):(function(t,e,n,r){r===void 0&&(r=n),t[r]=e[n]})),vMe=ai&&ai.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),EMe=ai&&ai.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var n in t)n!=="default"&&Object.prototype.hasOwnProperty.call(t,n)&&_Me(e,t,n);return vMe(e,t),e},RM=ai&&ai.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ai,"__esModule",{value:!0});ai.Namespace=ai.Socket=ai.Server=void 0;var wMe=RM(require("http")),SMe=require("fs"),AM=require("zlib"),xMe=Ex(),Mb=require("stream"),bX=require("path"),TX=qY(),bMe=XY(),AX=require("events"),IM=XN();Object.defineProperty(ai,"Namespace",{enumerable:!0,get:function(){return IM.Namespace}});var TMe=gX(),CX=Pb(),AMe=EMe(kv()),CMe=RM(ir()),kX=KN();Object.defineProperty(ai,"Socket",{enumerable:!0,get:function(){return kX.Socket}});var RMe=lb(),CM=SX(),IMe=RM(IN()),Si=(0,CMe.default)("socket.io:server"),RX=xX().version,IX=/\.map/,eg=class t extends RMe.StrictEventEmitter{constructor(e,n={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(n=e,e=void 0),this.path(n.path||"/socket.io"),this.connectTimeout(n.connectTimeout||45e3),this.serveClient(n.serveClient!==!1),this._parser=n.parser||AMe,this.encoder=new this._parser.Encoder,this.opts=n,n.connectionStateRecovery?(n.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},n.connectionStateRecovery),this.adapter(n.adapter||CX.SessionAwareAdapter)):this.adapter(n.adapter||CX.Adapter),n.cleanupEmptyChildNamespaces=!!n.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,IMe.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,n,r){if(this.parentNsps.size===0)return r(!1);let i=this.parentNsps.keys(),s=()=>{let o=i.next();if(o.done)return r(!1);o.value(e,n,(a,c)=>{if(a||!c)return s();if(this._nsps.has(e))return Si("dynamic namespace %s already exists",e),r(this._nsps.get(e));let l=this.parentNsps.get(o.value).createChild(e);Si("dynamic namespace %s was created",e),r(l)})};s()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let n=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+n+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let n of this._nsps.values())n._initAdapter();return this}listen(e,n={}){return this.attach(e,n)}attach(e,n={}){if(typeof e=="function"){let r="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(r)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){Si("creating http server and binding to %d",e);let r=e;e=wMe.default.createServer((i,s)=>{s.writeHead(404),s.end()}),e.listen(r)}return Object.assign(n,this.opts),n.path=n.path||this._path,this.initEngine(e,n),this}attachApp(e,n={}){Object.assign(n,this.opts),n.path=n.path||this._path,Si("creating uWebSockets.js-based engine with opts %j",n);let r=new TX.uServer(n);r.attach(e,n),this.bind(r),this._serveClient&&e.get(`${this._path}/*`,(i,s)=>{if(!this.clientPathRegex.test(s.getUrl())){s.setYield(!0);return}let o=s.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),a=IX.test(o),c=a?"map":"source",l='"'+RX+'"',u="W/"+l,f=s.getHeader("if-none-match");if(f&&(l===f||u===f)){Si("serve client %s 304",c),i.writeStatus("304 Not Modified"),i.end();return}Si("serve client %s",c),i.writeHeader("cache-control","public, max-age=0"),i.writeHeader("content-type","application/"+(a?"json":"javascript")+"; charset=utf-8"),i.writeHeader("etag",l);let p=bX.join(__dirname,"../client-dist/",o);(0,CM.serveFile)(i,p)}),(0,CM.patchAdapter)(e)}initEngine(e,n){Si("creating engine.io instance with opts %j",n),this.eio=(0,TX.attach)(e,n),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){Si("attaching client serving req handler");let n=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(r,i)=>{if(this.clientPathRegex.test(r.url))this._corsMiddleware?this._corsMiddleware(r,i,()=>{this.serve(r,i)}):this.serve(r,i);else for(let s=0;s<n.length;s++)n[s].call(e,r,i)})}serve(e,n){let r=e.url.replace(this._path,"").replace(/\?.*$/,""),i=IX.test(r),s=i?"map":"source",o='"'+RX+'"',a="W/"+o,c=e.headers["if-none-match"];if(c&&(o===c||a===c)){Si("serve client %s 304",s),n.writeHead(304),n.end();return}Si("serve client %s",s),n.setHeader("Cache-Control","public, max-age=0"),n.setHeader("Content-Type","application/"+(i?"json":"javascript")+"; charset=utf-8"),n.setHeader("ETag",o),t.sendFile(r,e,n)}static sendFile(e,n,r){let i=(0,SMe.createReadStream)(bX.join(__dirname,"../client-dist/",e)),s=xMe(n).encodings(["br","gzip","deflate"]),o=a=>{a&&r.end()};switch(s){case"br":r.writeHead(200,{"content-encoding":"br"}),(0,Mb.pipeline)(i,(0,AM.createBrotliCompress)(),r,o);break;case"gzip":r.writeHead(200,{"content-encoding":"gzip"}),(0,Mb.pipeline)(i,(0,AM.createGzip)(),r,o);break;case"deflate":r.writeHead(200,{"content-encoding":"deflate"}),(0,Mb.pipeline)(i,(0,AM.createDeflate)(),r,o);break;default:r.writeHead(200),(0,Mb.pipeline)(i,r,o)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){Si("incoming connection with id %s",e.id);let n=new bMe.Client(this,e);return e.protocol===3&&n.connect("/"),this}of(e,n){if(typeof e=="function"||e instanceof RegExp){let i=new TMe.ParentNamespace(this);return Si("initializing parent namespace %s",i.name),typeof e=="function"?this.parentNsps.set(e,i):(this.parentNsps.set((s,o,a)=>a(null,e.test(s)),i),this.parentNamespacesFromRegExp.set(e,i)),n&&i.on("connect",n),i}String(e)[0]!=="/"&&(e="/"+e);let r=this._nsps.get(e);if(!r){for(let[i,s]of this.parentNamespacesFromRegExp)if(i.test(e))return Si("attaching namespace %s to parent namespace %s",e,i),s.createChild(e);Si("initializing namespace %s",e),r=new IM.Namespace(this,e),this._nsps.set(e,r),e!=="/"&&this.sockets.emitReserved("new_namespace",r)}return n&&r.on("connect",n),r}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async n=>{n.sockets.forEach(r=>{r._onclose("server shutting down")}),await n.adapter.close()})),this.engine.close(),(0,CM.restoreAdapter)(),this.httpServer)return new Promise(n=>{this.httpServer.close(r=>{e&&e(r),r&&Si("server was not running"),n()})});e&&e()}use(e){return this.sockets.use(e),this}to(e){return this.sockets.to(e)}in(e){return this.sockets.in(e)}except(e){return this.sockets.except(e)}send(...e){return this.sockets.emit("message",...e),this}write(...e){return this.sockets.emit("message",...e),this}serverSideEmit(e,...n){return this.sockets.serverSideEmit(e,...n)}serverSideEmitWithAck(e,...n){return this.sockets.serverSideEmitWithAck(e,...n)}allSockets(){return this.sockets.allSockets()}compress(e){return this.sockets.compress(e)}get volatile(){return this.sockets.volatile}get local(){return this.sockets.local}timeout(e){return this.sockets.timeout(e)}fetchSockets(){return this.sockets.fetchSockets()}socketsJoin(e){return this.sockets.socketsJoin(e)}socketsLeave(e){return this.sockets.socketsLeave(e)}disconnectSockets(e=!1){return this.sockets.disconnectSockets(e)}};ai.Server=eg;var kMe=Object.keys(AX.EventEmitter.prototype).filter(function(t){return typeof AX.EventEmitter.prototype[t]=="function"});kMe.forEach(function(t){eg.prototype[t]=function(){return this.sockets[t].apply(this.sockets,arguments)}});qv.exports=(t,e)=>new eg(t,e);qv.exports.Server=eg;qv.exports.Namespace=IM.Namespace;qv.exports.Socket=kX.Socket});var OX,NX,gyt,yyt,MX=ae(()=>{OX=ce(PX(),1),{Server:NX,Namespace:gyt,Socket:yyt}=OX.default});function LMe(t){return t.type==="offer"?{sdp:t.sdp}:t.type==="answer"?{sdp:t.sdp,pub:t.pub,xpub:t.xpub,sig:t.sig}:t.type==="ice"?{candidate:t.candidate,mid:t.mid}:t}var cf,PMe,DX,OMe,NMe,MMe,DMe,Db,LX=ae(()=>{ot();cf=be("signaling"),PMe={agent:"client",client:"agent"},DX=1e3,OMe=3e4,NMe=5,MMe=3e3,DMe=1e4;Db=class{static id="sig";constructor({url:e,role:n,roomId:r,apiKey:i,from:s,onReady:o,pingMs:a=25e3}){let c=s||n;this._url=`${e}/ws/${encodeURIComponent(r)}?role=${n}&apiKey=${encodeURIComponent(i)}&from=${encodeURIComponent(c)}`,this._from=s||n,this._onReady=o||null,this._role=n,this._roomId=r,this._pingMs=a,this._ws=null,this._handler=null,this._pingTimer=null,this._reconnectTimer=null,this._attempt=0,this._preOpenFails=0,this._openedOnce=!1,this._ready=!1,this._closed=!1}get ready(){return this._ready}connect(){this._closed=!1,this._open()}send(e){if(!this.ready)return!1;try{return this._ws.send(JSON.stringify({to:e.to||PMe[this._role],from:this._from,type:e.type,payload:LMe(e)})),!0}catch{return!1}}on(e){this._handler=e}off(){this._handler=null}disconnect(){this._closed=!0,this._stopPing(),clearTimeout(this._reconnectTimer);try{this._ws?.close()}catch{}this._ws=null,this._ready=!1}_open(){clearTimeout(this._reconnectTimer),this._reconnectTimer=null;let e=this._ws;if(this._ws=null,e)try{e.close()}catch{}let n=new WebSocket(this._url);this._ws=n;let r=setTimeout(()=>{if(!(this._ws!==n||this._closed)){cf.debug(`${this._role} handshake stalled \u2014 retrying`),this._ws=null;try{n.close()}catch{}this._onClose(null,"handshake-stall")}},DMe);n.addEventListener("open",()=>{clearTimeout(r),this._ready=!0,this._attempt=0,this._preOpenFails=0,this._openedOnce=!0,this._startPing(),cf.debug(`${this._role} connected room=${this._roomId}`),this._onReady?.()}),n.addEventListener("message",i=>{if(i.data==="pong")return;let s;try{s=JSON.parse(i.data)}catch{return}this._handler?.({type:s.type,from:s.from,...s.payload})}),n.addEventListener("close",i=>{clearTimeout(r),this._ws===n&&this._onClose(i?.code,i?.reason)}),n.addEventListener("error",()=>{clearTimeout(r),this._ws===n&&this._onClose(null,"error")})}retryNow(e="?"){if(this._closed||this._ws){cf.debug(`retryNow skip by=${e} (${this._closed?"closed":"socket already up"})`);return}let n=Date.now();if(n-(this._lastRetryNowAt||0)<MMe){cf.debug(`retryNow throttled by=${e}`);return}cf.debug(`retryNow go by=${e} (was attempt ${this._attempt}, preOpenFails ${this._preOpenFails})`),this._lastRetryNowAt=n,this._attempt=0,this._preOpenFails=0,clearTimeout(this._reconnectTimer),this._reconnectTimer=null,this._open()}_onClose(e,n){if(this._stopPing(),this._ws=null,this._ready=!1,!this._closed){if(cf.debug(`${this._role} relay closed code=${e??"?"}${n?` (${n})`:""} openedOnce=${this._openedOnce}`),!this._openedOnce&&(this._preOpenFails++,this._preOpenFails>NMe)){cf.warn(`${this._role} giving up \u2014 ${this._preOpenFails-1} pre-open failures`);return}this._scheduleReconnect()}}_scheduleReconnect(){if(this._closed)return;this._attempt++;let e=Math.min(DX*2**(this._attempt-1),OMe)+Math.random()*DX;cf.debug(`${this._role} reconnect in ${e}ms (attempt ${this._attempt})`),this._reconnectTimer=setTimeout(()=>{this._closed||this._open()},e)}_startPing(){this._stopPing(),this._pingTimer=setInterval(()=>{if(this.ready)try{this._ws.send("ping")}catch{}},this._pingMs)}_stopPing(){this._pingTimer&&(clearInterval(this._pingTimer),this._pingTimer=null)}}});var Syt,fc,$v,xyt,dp=ae(()=>{lO();Syt=process.env.NODE_ENV==="development",fc=process.env.NREMOTE_WORKER_URL||"https://9remote.cc",$v={checkIntervalMs:36e5,connectCheckDebounceMs:9e5,maxRetry:3,retryDelayMs:3e3,verifyTimeoutMs:15e3,lockTtlMs:3e5,lockFile:"update.lock"},xyt={orange:mv.rgb(230,138,110),orangeDim:mv.rgb(200,120,95)}});function FX(t){UX=t}function Lb(t){if(uo?.ready)try{t()}catch(e){lo.error(`ready listener: ${e.message}`)}return kM.add(t),()=>{kM.delete(t)}}function Hv(t){if(!t)return;if(uo){if(PM===t)return;lo.info(`apiKey changed \u2014 rejoining signaling room ${t.slice(0,8)}...`),BMe()}PM=t;let e=fc.replace(/^http/,"ws")+"/signaling";uo=new Db({url:e,role:"agent",roomId:t,apiKey:t,onReady:()=>{for(let n of kM)try{n()}catch(r){lo.error(`ready listener: ${r.message}`)}}}),uo.on(n=>{let r=Gv.get(n.from);if(r){n.type==="offer"&&lo.debug(`offer from ${n.from?.slice(0,8)} \u2192 PM`);try{r(n)}catch(s){lo.error(`signaling handler: ${s.message}`)}return}if(n.type!=="offer"&&!ws.has(n.from))return;if(!ws.has(n.from)&&ws.size>=FMe){let s=ws.keys().next().value;ws.delete(s),lo.warn(`pending buffer full \u2014 evicted ${s?.slice(0,8)}`)}let i=ws.get(n.from)||[];if(n.type==="offer"&&(i.length=0),i.length<UMe&&i.push(n),ws.set(n.from,i),n.type==="offer"){lo.debug(`offer from ${n.from?.slice(0,8)} \u2014 no PM, spawning RTC session`);try{UX?.(n.from)}catch(s){lo.error(`offer fallback: ${s.message}`)}}}),uo.connect(),lo.info(`global signaling client started (room=${t.slice(0,8)}...)`)}function BX(t,e){if(!t)return()=>{};Gv.set(t,e);let n=ws.get(t);if(n?.length){ws.delete(t),lo.debug(`flushing ${n.length} pending signal(s) for ${t.slice(0,8)}`);for(let r of n)try{e(r)}catch(i){lo.error(`flush pending: ${i.message}`)}}return()=>{Gv.get(t)===e&&Gv.delete(t)}}function Ub(t){return uo?.send(t)||!1}function Fb(t){ws.delete(t)}function qX(t){return t?[...ws.keys()].filter(e=>e.split(":")[0]===t):[]}function $X(t="?"){try{uo?.retryNow?.(t)}catch(e){lo.warn(`retrySignalingNow: ${e.message}`)}}function GX(){return!!uo?.ready}function HX(t){return t?ws.has(t):!1}function jX(){return{started:!!uo,ready:!!uo?.ready}}function BMe(){try{uo?.disconnect()}catch{}uo=null,PM=null,Gv.clear(),ws.clear()}var lo,uo,Gv,ws,UMe,FMe,kM,UX,PM,jv=ae(()=>{LX();dp();ot();lo=be("signaling"),uo=null,Gv=new Map,ws=new Map,UMe=64,FMe=32,kM=new Set,UX=null;PM=null});var OM,Bb,WX=ae(()=>{OM=require("events"),Bb=class extends OM.EventEmitter{defersWsAdapter=!0;constructor({deviceId:e,peerId:n,apiKey:r}){super(),this.setMaxListeners(0),this.id=`rtc-${n||e}`,this.peerId=n||e,this.connected=!0,this.data={},this.data.auth={deviceId:e,apiKey:r},this.handshake={auth:{deviceId:e,apiKey:r},headers:{},address:"rtc"},this.carrier={id:"rtc",ip:"rtc",pendingId:`rtc-${n||e}`},this.broadcast={emit:()=>!0},this._onAny=[]}onAny(e){return this._onAny.push(e),this}offAny(e){return this._onAny=this._onAny.filter(n=>n!==e),this}listeners(e){let n=super.listeners(e),r=this.data?.conn;return r?r.allows(e)?n:[]:n}dispatchAny(e,n){for(let r of this._onAny)try{r(e,n)}catch{}}disconnect(){return this.connected=!1,OM.EventEmitter.prototype.emit.call(this,"disconnect","rtc-session-closed"),this}}});function NM(){return Wv=(0,VX.randomBytes)(32).toString("hex"),Wv}function zX(){return Wv||NM(),Wv}function KX(t){return!!t&&typeof t=="string"&&t===Wv}var VX,Wv,qb=ae(()=>{VX=require("crypto"),Wv=null});var Kt,Vv,YX,XX,tg,vr,Gi,fo,Kr,MM,or,qMe,Ss,JX,Hi=ae(()=>{Kt={control:"control",binary:"binary",file:"file"},Vv=65536,YX=1e4,XX=25e3,tg={pending:"pending-approval",rejected:"device-rejected"},vr={admit:"admit",hold:"hold",reject:"reject"},Gi={approved:"approved",rejected:"rejected",auto:"auto",unknown:"unknown"},fo={proving:"proving",proven:"proven",rejected:"rejected"},Kr={mismatch:"mismatch",sealUnreadable:"seal-unreadable",timeout:"proof-timeout"},MM=15e3,or={idle:"idle",connecting:"connecting",open:"open",degraded:"degraded",closed:"closed"},qMe=8,Ss={chunkSize:64*1024-qMe,windowSize:64,dcBufferThreshold:8*1024*1024,maxUploadSize:50*1024*1024,maxDownloadSize:200*1024*1024,maxStreamMediaSize:500*1024*1024},JX={clientApp:{enabled:["ws","rtc"],channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"}}},remoteDesktop:{enabled:["ws","rtc"],channels:{control:{strategy:"priority",prefer:"rtc"},binary:{strategy:"priority",prefer:"rtc"},file:{strategy:"priority",prefer:"rtc"}}}}});var ng,DM=ae(()=>{Hi();ng=class{static id="base";static capabilities={control:!1,binary:!1,file:!1,signaling:"none"};static priority={control:0,binary:0,file:0};constructor(){this._listeners=new Map,this._state=or.idle}get state(){return this._state}get ready(){return this._state===or.open}supports(e){return!!this.constructor.capabilities[e]}getPriority(e){return this.constructor.priority[e]??0}on(e,n){this._listeners.has(e)||this._listeners.set(e,new Set),this._listeners.get(e).add(n)}off(e,n){this._listeners.get(e)?.delete(n)}_emit(e,...n){let r=this._listeners.get(e);if(r)for(let i of r)i(...n)}_setState(e){this._state!==e&&(this._state=e,this._emit("stateChange",e))}connect(e){throw new Error("Not implemented: connect")}disconnect(){throw new Error("Not implemented: disconnect")}send(e,n){throw new Error("Not implemented: send")}}});var $b,QX=ae(()=>{DM();Hi();$b=class extends ng{static id="ws";static capabilities={control:!0,binary:!0,file:!0,signaling:"ws"};static priority={control:100,binary:10,file:10};constructor(){super(),this._socket=null}get socket(){return this._socket}connect(e){this._socket=e.socket,this._setState(e.socket.connected?or.open:or.connecting),e.socket.on("connect",()=>this._setState(or.open)),e.socket.on("disconnect",()=>this._setState(or.closed)),e.socket.onAny?.((n,...r)=>this._emit("message",{event:n,data:r[0],args:r,source:"ws"}))}disconnect(){this._socket=null,this._setState(or.closed)}send(e,n){if(!this._socket?.connected)return!1;let r=this._socket._rawEmit||this._socket.emit.bind(this._socket);if(e===Kt.control){let{event:i,args:s=[]}=n;return r(i,...s),!0}if(e===Kt.binary){let i=this._socket.conn?.transport;return i&&i.writable===!1?!1:(r("tiles-bin-v2",n),!0)}if(e===Kt.file){let i=this._socket.conn?.transport;return i&&i.writable===!1?!1:(r("file-bin",n),!0)}return!1}}});function nJ(t){try{return UM(t)}catch(e){if(e.code!=="MODULE_NOT_FOUND"&&!GMe(e))throw e;let n=ZX.get(t);if(n!=null&&Date.now()-n<$Me)throw e;return ZX.set(t,Date.now()),jMe(t),UM(t)}}function GMe(t){return/\.node'|Cannot find module.*\.node|MODULE_NOT_FOUND/i.test(t.message||"")}function HMe(t){let e=UM.resolve(`${t}/package.json`);return Gb.default.dirname(e)}function jMe(t){let e=HMe(t),n=Gb.default.dirname(e),r=LM.default.platform()==="win32"?"prebuild-install.cmd":"prebuild-install",i=Gb.default.join(n,".bin",r);try{let s=(0,eJ.spawnSync)(i,["-r","napi"],{cwd:e,stdio:"ignore",shell:LM.default.platform()==="win32",timeout:12e4});console.warn(`[nativeSelfHeal] ${t} heal attempted (status=${s.status})`)}catch(s){console.warn(`[nativeSelfHeal] ${t} heal failed:`,s.message)}}var eJ,tJ,Gb,LM,UM,$Me,ZX,rJ=ae(()=>{eJ=require("child_process"),tJ=require("module"),Gb=ce(require("path"),1),LM=ce(require("os"),1),UM=(0,tJ.createRequire)(__importMetaUrl),$Me=300*1e3,ZX=new Map});function WMe(t,e){return e&&typeof e=="object"&&e.type==="Buffer"&&Array.isArray(e.data)?{__b:Buffer.from(e.data).toString("base64")}:e}function VMe(t,e){return e&&typeof e=="object"&&typeof e.__b=="string"?Buffer.from(e.__b,"base64"):e}function qM(t){return JSON.stringify(t,WMe)}function sJ(t){return JSON.parse(typeof t=="string"?t:Buffer.from(t).toString("utf8"),VMe)}function FM(t,e){if(Buffer.isBuffer(t))return e.push(t),{__B:e.length-1};if(ArrayBuffer.isView(t))return e.push(Buffer.from(t.buffer,t.byteOffset,t.byteLength)),{__B:e.length-1};if(Array.isArray(t))return t.map(n=>FM(n,e));if(t&&typeof t=="object"){let n={};for(let r of Object.keys(t))n[r]=FM(t[r],e);return n}return t}function BM(t,e){if(Array.isArray(t))return t.map(n=>BM(n,e));if(t&&typeof t=="object"){if(typeof t.__B=="number")return e[t.__B]??null;let n={};for(let r of Object.keys(t))n[r]=BM(t[r],e);return n}return t}function iJ(t,e=null){let n=[],r={event:t.event,args:FM(t.args||[],n),ackId:t.ackId??null,lens:n.map(o=>o.length)};e&&(r.frag=e.id,r.part=e.part,r.parts=e.parts);let i=Buffer.from(JSON.stringify(r),"utf8"),s=Buffer.allocUnsafe(4);return s.writeUInt32LE(i.length,0),Buffer.concat([s,i,...n])}function $M(t){let e=Buffer.isBuffer(t)?t:Buffer.from(t.buffer??t,t.byteOffset??0,t.byteLength??t.length);if(e.length<4)throw new Error("frame too short");let r=4+e.readUInt32LE(0);if(r>e.length)throw new Error("frame header truncated");let i=JSON.parse(e.subarray(4,r).toString("utf8")),s=[],o=r;for(let a of i.lens||[]){if(o+a>e.length)throw new Error("frame part truncated");s.push(e.subarray(o,o+a)),o+=a}return{event:i.event,args:BM(i.args||[],s),ackId:i.ackId??null,frag:i.frag,part:i.part,parts:i.parts}}function zMe(t,e){if(t.length<=e)return[t];let r=e-192;if(r<=0)return null;let i=Math.ceil(t.length/r);if(i>oJ)return null;let s=[];for(let o=0;o<i;o++)s.push(t.subarray(o*r,Math.min((o+1)*r,t.length)));return s}function aJ(t,e,n){let r=iJ(t),i=zMe(r,e);return i?i.length===1?[r]:i.map((s,o)=>iJ({event:t.event,args:[s]},{id:n,part:o,parts:i.length})):null}function GM(){let t=new Map;return{push(e){let{frag:n,part:r,parts:i}=e;if(n==null)return e;if(!Number.isInteger(r)||!Number.isInteger(i)||r<0||i<1||r>=i||i>oJ)return null;let s=t.get(n);s||(t.size>=KMe&&t.delete(t.keys().next().value),s={slices:new Array(i),got:0},t.set(n,s));let o=e.args?.[0];return o==null||(s.slices[r]||(s.slices[r]=o,s.got++),s.got<i)?null:(t.delete(n),$M(Buffer.concat(s.slices)))}}}var oJ,KMe,cJ=ae(()=>{oJ=4096;KMe=4});var lJ,Hb,Te,Mr=ae(()=>{dp();lJ={darwin:{capture:"nodeScreenshots",tileSize:128,inputFormat:"rgba",tileFormat:"webp"},win32:{capture:"nodeScreenshots",tileSize:256,inputFormat:"rgba",tileFormat:"jpeg"},linux:{capture:"nodeScreenshots",tileSize:256,inputFormat:"rgba",tileFormat:"webp"}},Hb=lJ[process.platform]||lJ.linux,Te={pipeline:{captureLib:Hb.capture,inputFormat:Hb.inputFormat,tileSize:Hb.tileSize,gpuResize:process.platform==="win32",gpuBatchResize:process.platform==="win32",gpuBatchMaxTiles:32,gpuBatchMinTiles:2,vImageResize:process.platform==="darwin",tileFormat:Hb.tileFormat,useJpegTurbo:process.platform==="win32",webpEffort:0,jpegQuality:50,tileConcurrency:6,outputScale:1,scaleMode:"smooth",minOutputScale:.25,maxOutputScale:1,qualityFloor:85,tierHysteresis:.05,adaptiveTiers:[{minEffective:1,outputScale:1,jpegQuality:85},{minEffective:.7,outputScale:.95,jpegQuality:85},{minEffective:.4,outputScale:.8,jpegQuality:85},{minEffective:0,outputScale:.65,jpegQuality:85}],checksumSampling:{rowStep:3,colStep:8}},webrtc:{enableWebRTC:!0,enableTurn:!0,turnApiUrl:`${fc}/api/webrtc/turn-credentials`,signalingDoUrl:process.env.NREMOTE_SIGNALING_DO_URL||fc.replace(/^http/,"ws")+"/signaling",turnRefreshInterval:1380*60*1e3,dcMaxMessageSize:65536,dcBufferThreshold:262144,iceDisconnectGraceMs:6e3,dcChunkSize:8,dcMaxTilesPerFrame:32,dcReliable:!0,dcOrdered:!1,answerTimeout:1e4,maxControlBuffer:500,ackWindow:2,ackPollMs:20,ackTimeoutMs:1500},robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,dragMouseThrottleWin:40,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},cursorShape:{throttleMs:80},resourceManagement:{inactiveTimeout:120*1e3,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50,disconnectGraceMs:3e4},streaming:{activeInterval:60,idleInterval:400,idleThreshold:3,actionCaptureDelay:50,chunkSize:32,chunkDelay:5},focus:{paddingTiles:4},clipboard:{enabled:!0,pollInterval:1e3,maxTextLength:2e4},displayWake:{enabled:!0,throttleMs:3e4,macDurationSec:5},desktopUnlock:{pollIntervalMs:2e3,retryWaitMs:3e3,captureErrorThreshold:5},sleepInhibit:{defaultMode:"never",presets:{"30m":1800*1e3,"1h":3600*1e3,"2h":7200*1e3,"4h":14400*1e3,"24h":1440*60*1e3,never:null}},desktopSwitch:{darwin:{prev:{keyCode:123,mods:"control down"},next:{keyCode:124,mods:"control down"},new:{type:"missionControl"}},win32:{prev:["left",["control","command"]],next:["right",["control","command"]],new:["d",["control","command"]]},linux:{prev:null,next:null,new:null}},logging:{lifecycle:!1,errors:!0,dpiDetection:!1,focus:!1,focusEveryFrames:60,metrics:!1,metricsEveryFrames:30,webrtc:!1,resizeStats:!1,resizeStatsEveryFrames:60}}});var uJ=B(HM=>{"use strict";HM.toString=function(t){switch(t){case 1:return"A";case 10:return"NULL";case 28:return"AAAA";case 18:return"AFSDB";case 42:return"APL";case 257:return"CAA";case 60:return"CDNSKEY";case 59:return"CDS";case 37:return"CERT";case 5:return"CNAME";case 49:return"DHCID";case 32769:return"DLV";case 39:return"DNAME";case 48:return"DNSKEY";case 43:return"DS";case 55:return"HIP";case 13:return"HINFO";case 45:return"IPSECKEY";case 25:return"KEY";case 36:return"KX";case 29:return"LOC";case 15:return"MX";case 35:return"NAPTR";case 2:return"NS";case 47:return"NSEC";case 50:return"NSEC3";case 51:return"NSEC3PARAM";case 12:return"PTR";case 46:return"RRSIG";case 17:return"RP";case 24:return"SIG";case 6:return"SOA";case 99:return"SPF";case 33:return"SRV";case 44:return"SSHFP";case 32768:return"TA";case 249:return"TKEY";case 52:return"TLSA";case 250:return"TSIG";case 16:return"TXT";case 252:return"AXFR";case 251:return"IXFR";case 41:return"OPT";case 255:return"ANY"}return"UNKNOWN_"+t};HM.toType=function(t){switch(t.toUpperCase()){case"A":return 1;case"NULL":return 10;case"AAAA":return 28;case"AFSDB":return 18;case"APL":return 42;case"CAA":return 257;case"CDNSKEY":return 60;case"CDS":return 59;case"CERT":return 37;case"CNAME":return 5;case"DHCID":return 49;case"DLV":return 32769;case"DNAME":return 39;case"DNSKEY":return 48;case"DS":return 43;case"HIP":return 55;case"HINFO":return 13;case"IPSECKEY":return 45;case"KEY":return 25;case"KX":return 36;case"LOC":return 29;case"MX":return 15;case"NAPTR":return 35;case"NS":return 2;case"NSEC":return 47;case"NSEC3":return 50;case"NSEC3PARAM":return 51;case"PTR":return 12;case"RRSIG":return 46;case"RP":return 17;case"SIG":return 24;case"SOA":return 6;case"SPF":return 99;case"SRV":return 33;case"SSHFP":return 44;case"TA":return 32768;case"TKEY":return 249;case"TLSA":return 52;case"TSIG":return 250;case"TXT":return 16;case"AXFR":return 252;case"IXFR":return 251;case"OPT":return 41;case"ANY":return 255;case"*":return 255}return t.toUpperCase().startsWith("UNKNOWN_")?parseInt(t.slice(8)):0}});var fJ=B(jM=>{"use strict";jM.toString=function(t){switch(t){case 0:return"NOERROR";case 1:return"FORMERR";case 2:return"SERVFAIL";case 3:return"NXDOMAIN";case 4:return"NOTIMP";case 5:return"REFUSED";case 6:return"YXDOMAIN";case 7:return"YXRRSET";case 8:return"NXRRSET";case 9:return"NOTAUTH";case 10:return"NOTZONE";case 11:return"RCODE_11";case 12:return"RCODE_12";case 13:return"RCODE_13";case 14:return"RCODE_14";case 15:return"RCODE_15"}return"RCODE_"+t};jM.toRcode=function(t){switch(t.toUpperCase()){case"NOERROR":return 0;case"FORMERR":return 1;case"SERVFAIL":return 2;case"NXDOMAIN":return 3;case"NOTIMP":return 4;case"REFUSED":return 5;case"YXDOMAIN":return 6;case"YXRRSET":return 7;case"NXRRSET":return 8;case"NOTAUTH":return 9;case"NOTZONE":return 10;case"RCODE_11":return 11;case"RCODE_12":return 12;case"RCODE_13":return 13;case"RCODE_14":return 14;case"RCODE_15":return 15}return 0}});var dJ=B(WM=>{"use strict";WM.toString=function(t){switch(t){case 0:return"QUERY";case 1:return"IQUERY";case 2:return"STATUS";case 3:return"OPCODE_3";case 4:return"NOTIFY";case 5:return"UPDATE";case 6:return"OPCODE_6";case 7:return"OPCODE_7";case 8:return"OPCODE_8";case 9:return"OPCODE_9";case 10:return"OPCODE_10";case 11:return"OPCODE_11";case 12:return"OPCODE_12";case 13:return"OPCODE_13";case 14:return"OPCODE_14";case 15:return"OPCODE_15"}return"OPCODE_"+t};WM.toOpcode=function(t){switch(t.toUpperCase()){case"QUERY":return 0;case"IQUERY":return 1;case"STATUS":return 2;case"OPCODE_3":return 3;case"NOTIFY":return 4;case"UPDATE":return 5;case"OPCODE_6":return 6;case"OPCODE_7":return 7;case"OPCODE_8":return 8;case"OPCODE_9":return 9;case"OPCODE_10":return 10;case"OPCODE_11":return 11;case"OPCODE_12":return 12;case"OPCODE_13":return 13;case"OPCODE_14":return 14;case"OPCODE_15":return 15}return 0}});var pJ=B(VM=>{"use strict";VM.toString=function(t){switch(t){case 1:return"IN";case 2:return"CS";case 3:return"CH";case 4:return"HS";case 255:return"ANY"}return"UNKNOWN_"+t};VM.toClass=function(t){switch(t.toUpperCase()){case"IN":return 1;case"CS":return 2;case"CH":return 3;case"HS":return 4;case"ANY":return 255}return 0}});var hJ=B(zM=>{"use strict";zM.toString=function(t){switch(t){case 1:return"LLQ";case 2:return"UL";case 3:return"NSID";case 5:return"DAU";case 6:return"DHU";case 7:return"N3U";case 8:return"CLIENT_SUBNET";case 9:return"EXPIRE";case 10:return"COOKIE";case 11:return"TCP_KEEPALIVE";case 12:return"PADDING";case 13:return"CHAIN";case 14:return"KEY_TAG";case 26946:return"DEVICEID"}return t<0?null:`OPTION_${t}`};zM.toCode=function(t){if(typeof t=="number")return t;if(!t)return-1;switch(t.toUpperCase()){case"OPTION_0":return 0;case"LLQ":return 1;case"UL":return 2;case"NSID":return 3;case"OPTION_4":return 4;case"DAU":return 5;case"DHU":return 6;case"N3U":return 7;case"CLIENT_SUBNET":return 8;case"EXPIRE":return 9;case"COOKIE":return 10;case"TCP_KEEPALIVE":return 11;case"PADDING":return 12;case"CHAIN":return 13;case"KEY_TAG":return 14;case"DEVICEID":return 26946;case"OPTION_65535":return 65535}let e=t.match(/_(\d+)$/);return e?parseInt(e[1],10):-1}});var yJ=B((gJ,KM)=>{var mJ=(function(t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=f,t.encode=u,t.familyOf=l,t.name=void 0,t.sizeOf=c,t.v6=t.v4=void 0;let e=/^(\d{1,3}\.){3,3}\d{1,3}$/,n=4,r=/^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i,i=16,s={name:"v4",size:n,isFormat:p=>e.test(p),encode(p,m,g){g=~~g,m=m||new Uint8Array(g+n);let y=p.length,w=0;for(let S=0;S<y;){let T=p.charCodeAt(S++);T===46?(m[g++]=w,w=0):w=w*10+(T-48)}return m[g]=w,m},decode(p,m){return m=~~m,`${p[m++]}.${p[m++]}.${p[m++]}.${p[m]}`}};t.v4=s;let o={name:"v6",size:i,isFormat:p=>p.length>0&&r.test(p),encode(p,m,g){g=~~g;let y=g+i,w=-1,S=0,T=0,R=!0,C=!1;m=m||new Uint8Array(g+i);for(let D=0;D<p.length;D++){let q=p.charCodeAt(D);q===58?(R?w!==-1?(g<y&&(m[g]=0),g<y-1&&(m[g+1]=0),g+=2):g<y&&(w=g):(C===!0?(g<y&&(m[g]=T),g++):(g<y&&(m[g]=S>>8),g<y-1&&(m[g+1]=S&255),g+=2),S=0,T=0),R=!0,C=!1):q===46?(g<y&&(m[g]=T),g++,T=0,S=0,R=!1,C=!0):(R=!1,q>=97?q-=87:q>=65?q-=55:(q-=48,T=T*10+q),S=(S<<4)+q)}if(R===!1)C===!0?(g<y&&(m[g]=T),g++):(g<y&&(m[g]=S>>8),g<y-1&&(m[g+1]=S&255),g+=2);else if(w===0)g<y&&(m[g]=0),g<y-1&&(m[g+1]=0),g+=2;else if(w!==-1){g+=2;for(let D=Math.min(g-1,y-1);D>=w+2;D--)m[D]=m[D-2];m[w]=0,m[w+1]=0,w=g}if(w!==g&&w!==-1)for(g>y-2&&(g=y-2);y>w;)m[--y]=g<y&&g>w?m[--g]:0;else for(;g<y;)m[g++]=0;return m},decode(p,m){m=~~m;let g="";for(let y=0;y<i;y+=2)y!==0&&(g+=":"),g+=(p[m+y]<<8|p[m+y+1]).toString(16);return g.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}};t.v6=o;let a="ip";t.name=a;function c(p){if(s.isFormat(p))return s.size;if(o.isFormat(p))return o.size;throw Error(`Invalid ip address: ${p}`)}function l(p){return c(p)===s.size?1:2}function u(p,m,g){g=~~g;let y=c(p);return typeof m=="function"&&(m=m(g+y)),y===s.size?s.encode(p,m,g):o.encode(p,m,g)}function f(p,m,g){if(m=~~m,g=g||p.length-m,g===s.size)return s.decode(p,m,g);if(g===o.size)return o.decode(p,m,g);throw Error(`Invalid buffer size needs to be ${s.size} for v4 or ${o.size} for v6.`)}return"default"in t?t.default:t})({});typeof define=="function"&&define.amd?define([],function(){return mJ}):typeof KM=="object"&&typeof gJ=="object"&&(KM.exports=mJ)});var EJ=B($e=>{"use strict";var Ge=require("buffer").Buffer,Gl=uJ(),YMe=fJ(),XMe=dJ(),Wb=pJ(),YM=hJ(),pp=yJ(),JMe=0,_J=32768,XM=32768,QMe=~XM,vJ=32768,ZMe=~vJ,Ae=$e.name={};Ae.encode=function(t,e,n,{mail:r=!1}={}){e||(e=Ge.alloc(Ae.encodingLength(t))),n||(n=0);let i=n,s=t.replace(/^\.|\.$/gm,"");if(s.length){let o=[];if(r){let a="";s.split(".").forEach(c=>{c.endsWith("\\")?a+=(a.length?".":"")+c.slice(0,-1):o.length===0&&a.length?o.push(a+"."+c):o.push(c)})}else o=s.split(".");for(let a=0;a<o.length;a++){let c=e.write(o[a],n+1);e[n]=c,n+=c+1}}return e[n++]=0,Ae.encode.bytes=n-i,e};Ae.encode.bytes=0;Ae.decode=function(t,e,{mail:n=!1}={}){e||(e=0);let r=[],i=e,s=0,o=0,a=!1;for(;;){if(e>=t.length)throw new Error("Cannot decode name (buffer overflow)");let c=t[e++];if(o+=a?0:1,c===0)break;if((c&192)===0){if(e+c>t.length)throw new Error("Cannot decode name (buffer overflow)");if(s+=c+1,s>254)throw new Error("Cannot decode name (name too long)");let l=t.toString("utf-8",e,e+c);n&&(l=l.replace(/\./g,"\\.")),r.push(l),e+=c,o+=a?0:c}else if((c&192)===192){if(e+1>t.length)throw new Error("Cannot decode name (buffer overflow)");let l=t.readUInt16BE(e-1)-49152;if(l>=i)throw new Error("Cannot decode name (bad pointer)");e=l,i=l,o+=a?0:1,a=!0}else throw new Error("Cannot decode name (bad label)")}return Ae.decode.bytes=o,r.length===0?".":r.join(".")};Ae.decode.bytes=0;Ae.encodingLength=function(t){return t==="."||t===".."?1:Ge.byteLength(t.replace(/^\.|\.$/gm,""))+2};var pt={};pt.encode=function(t,e,n){e||(e=Ge.alloc(pt.encodingLength(t))),n||(n=0);let r=e.write(t,n+1);return e[n]=r,pt.encode.bytes=r+1,e};pt.encode.bytes=0;pt.decode=function(t,e){e||(e=0);let n=t[e],r=t.toString("utf-8",e+1,e+1+n);return pt.decode.bytes=n+1,r};pt.decode.bytes=0;pt.encodingLength=function(t){return Ge.byteLength(t)+1};var ga={};ga.encode=function(t,e,n){e||(e=ga.encodingLength(t)),n||(n=0);let r=(t.flags||0)&32767,i=t.type==="response"?_J:JMe;return e.writeUInt16BE(t.id||0,n),e.writeUInt16BE(r|i,n+2),e.writeUInt16BE(t.questions.length,n+4),e.writeUInt16BE(t.answers.length,n+6),e.writeUInt16BE(t.authorities.length,n+8),e.writeUInt16BE(t.additionals.length,n+10),e};ga.encode.bytes=12;ga.decode=function(t,e){if(e||(e=0),t.length<12)throw new Error("Header must be 12 bytes");let n=t.readUInt16BE(e+2);return{id:t.readUInt16BE(e),type:n&_J?"response":"query",flags:n&32767,flag_qr:(n>>15&1)===1,opcode:XMe.toString(n>>11&15),flag_aa:(n>>10&1)===1,flag_tc:(n>>9&1)===1,flag_rd:(n>>8&1)===1,flag_ra:(n>>7&1)===1,flag_z:(n>>6&1)===1,flag_ad:(n>>5&1)===1,flag_cd:(n>>4&1)===1,rcode:YMe.toString(n&15),questions:new Array(t.readUInt16BE(e+4)),answers:new Array(t.readUInt16BE(e+6)),authorities:new Array(t.readUInt16BE(e+8)),additionals:new Array(t.readUInt16BE(e+10))}};ga.decode.bytes=12;ga.encodingLength=function(){return 12};var Nl=$e.unknown={};Nl.encode=function(t,e,n){return e||(e=Ge.alloc(Nl.encodingLength(t))),n||(n=0),e.writeUInt16BE(t.length,n),t.copy(e,n+2),Nl.encode.bytes=t.length+2,e};Nl.encode.bytes=0;Nl.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r=t.slice(e+2,e+2+n);return Nl.decode.bytes=n+2,r};Nl.decode.bytes=0;Nl.encodingLength=function(t){return t.length+2};var Ml=$e.ns={};Ml.encode=function(t,e,n){return e||(e=Ge.alloc(Ml.encodingLength(t))),n||(n=0),Ae.encode(t,e,n+2),e.writeUInt16BE(Ae.encode.bytes,n),Ml.encode.bytes=Ae.encode.bytes+2,e};Ml.encode.bytes=0;Ml.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r=Ae.decode(t,e+2);return Ml.decode.bytes=n+2,r};Ml.decode.bytes=0;Ml.encodingLength=function(t){return Ae.encodingLength(t)+2};var Dl=$e.soa={};Dl.encode=function(t,e,n){e||(e=Ge.alloc(Dl.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.mname,e,n),n+=Ae.encode.bytes,Ae.encode(t.rname,e,n,{mail:!0}),n+=Ae.encode.bytes,e.writeUInt32BE(t.serial||0,n),n+=4,e.writeUInt32BE(t.refresh||0,n),n+=4,e.writeUInt32BE(t.retry||0,n),n+=4,e.writeUInt32BE(t.expire||0,n),n+=4,e.writeUInt32BE(t.minimum||0,n),n+=4,e.writeUInt16BE(n-r-2,r),Dl.encode.bytes=n-r,e};Dl.encode.bytes=0;Dl.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.mname=Ae.decode(t,e),e+=Ae.decode.bytes,r.rname=Ae.decode(t,e,{mail:!0}),e+=Ae.decode.bytes,r.serial=t.readUInt32BE(e),e+=4,r.refresh=t.readUInt32BE(e),e+=4,r.retry=t.readUInt32BE(e),e+=4,r.expire=t.readUInt32BE(e),e+=4,r.minimum=t.readUInt32BE(e),e+=4,Dl.decode.bytes=e-n,r};Dl.decode.bytes=0;Dl.encodingLength=function(t){return 22+Ae.encodingLength(t.mname)+Ae.encodingLength(t.rname)};var Ll=$e.txt={};Ll.encode=function(t,e,n){Array.isArray(t)||(t=[t]);for(let i=0;i<t.length;i++)if(typeof t[i]=="string"&&(t[i]=Ge.from(t[i])),!Ge.isBuffer(t[i]))throw new Error("Must be a Buffer");e||(e=Ge.alloc(Ll.encodingLength(t))),n||(n=0);let r=n;return n+=2,t.forEach(function(i){e[n++]=i.length,i.copy(e,n,0,i.length),n+=i.length}),e.writeUInt16BE(n-r-2,r),Ll.encode.bytes=n-r,e};Ll.encode.bytes=0;Ll.decode=function(t,e){e||(e=0);let n=e,r=t.readUInt16BE(e);e+=2;let i=[];for(;r>0;){let s=t[e++];if(--r,r<s)throw new Error("Buffer overflow");i.push(t.slice(e,e+s)),e+=s,r-=s}return Ll.decode.bytes=e-n,i};Ll.decode.bytes=0;Ll.encodingLength=function(t){Array.isArray(t)||(t=[t]);let e=2;return t.forEach(function(n){typeof n=="string"?e+=Ge.byteLength(n)+1:e+=n.length+1}),e};var Ul=$e.null={};Ul.encode=function(t,e,n){e||(e=Ge.alloc(Ul.encodingLength(t))),n||(n=0),typeof t=="string"&&(t=Ge.from(t)),t||(t=Ge.alloc(0));let r=n;n+=2;let i=t.length;return t.copy(e,n,0,i),n+=i,e.writeUInt16BE(n-r-2,r),Ul.encode.bytes=n-r,e};Ul.encode.bytes=0;Ul.decode=function(t,e){e||(e=0);let n=e,r=t.readUInt16BE(e);e+=2;let i=t.slice(e,e+r);return e+=r,Ul.decode.bytes=e-n,i};Ul.decode.bytes=0;Ul.encodingLength=function(t){return t?(Ge.isBuffer(t)?t.length:Ge.byteLength(t))+2:2};var Fl=$e.hinfo={};Fl.encode=function(t,e,n){e||(e=Ge.alloc(Fl.encodingLength(t))),n||(n=0);let r=n;return n+=2,pt.encode(t.cpu,e,n),n+=pt.encode.bytes,pt.encode(t.os,e,n),n+=pt.encode.bytes,e.writeUInt16BE(n-r-2,r),Fl.encode.bytes=n-r,e};Fl.encode.bytes=0;Fl.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.cpu=pt.decode(t,e),e+=pt.decode.bytes,r.os=pt.decode(t,e),e+=pt.decode.bytes,Fl.decode.bytes=e-n,r};Fl.decode.bytes=0;Fl.encodingLength=function(t){return pt.encodingLength(t.cpu)+pt.encodingLength(t.os)+2};var ha=$e.ptr={},eDe=$e.cname=ha,tDe=$e.dname=ha;ha.encode=function(t,e,n){return e||(e=Ge.alloc(ha.encodingLength(t))),n||(n=0),Ae.encode(t,e,n+2),e.writeUInt16BE(Ae.encode.bytes,n),ha.encode.bytes=Ae.encode.bytes+2,e};ha.encode.bytes=0;ha.decode=function(t,e){e||(e=0);let n=Ae.decode(t,e+2);return ha.decode.bytes=Ae.decode.bytes+2,n};ha.decode.bytes=0;ha.encodingLength=function(t){return Ae.encodingLength(t)+2};var Bl=$e.srv={};Bl.encode=function(t,e,n){e||(e=Ge.alloc(Bl.encodingLength(t))),n||(n=0),e.writeUInt16BE(t.priority||0,n+2),e.writeUInt16BE(t.weight||0,n+4),e.writeUInt16BE(t.port||0,n+6),Ae.encode(t.target,e,n+8);let r=Ae.encode.bytes+6;return e.writeUInt16BE(r,n),Bl.encode.bytes=r+2,e};Bl.encode.bytes=0;Bl.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e),r={};return r.priority=t.readUInt16BE(e+2),r.weight=t.readUInt16BE(e+4),r.port=t.readUInt16BE(e+6),r.target=Ae.decode(t,e+8),Bl.decode.bytes=n+2,r};Bl.decode.bytes=0;Bl.encodingLength=function(t){return 8+Ae.encodingLength(t.target)};var xs=$e.caa={};xs.ISSUER_CRITICAL=128;xs.encode=function(t,e,n){let r=xs.encodingLength(t);return e||(e=Ge.alloc(xs.encodingLength(t))),n||(n=0),t.issuerCritical&&(t.flags=xs.ISSUER_CRITICAL),e.writeUInt16BE(r-2,n),n+=2,e.writeUInt8(t.flags||0,n),n+=1,pt.encode(t.tag,e,n),n+=pt.encode.bytes,e.write(t.value,n),n+=Ge.byteLength(t.value),xs.encode.bytes=r,e};xs.encode.bytes=0;xs.decode=function(t,e){e||(e=0);let n=t.readUInt16BE(e);e+=2;let r=e,i={};return i.flags=t.readUInt8(e),e+=1,i.tag=pt.decode(t,e),e+=pt.decode.bytes,i.value=t.toString("utf-8",e,r+n),i.issuerCritical=!!(i.flags&xs.ISSUER_CRITICAL),xs.decode.bytes=n+2,i};xs.decode.bytes=0;xs.encodingLength=function(t){return pt.encodingLength(t.tag)+pt.encodingLength(t.value)+2};var lf=$e.mx={};lf.encode=function(t,e,n){e||(e=Ge.alloc(lf.encodingLength(t))),n||(n=0);let r=n;return n+=2,e.writeUInt16BE(t.preference||0,n),n+=2,Ae.encode(t.exchange,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(n-r-2,r),lf.encode.bytes=n-r,e};lf.encode.bytes=0;lf.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.preference=t.readUInt16BE(e),e+=2,r.exchange=Ae.decode(t,e),e+=Ae.decode.bytes,lf.decode.bytes=e-n,r};lf.encodingLength=function(t){return 4+Ae.encodingLength(t.exchange)};var ql=$e.a={};ql.encode=function(t,e,n){return e||(e=Ge.alloc(ql.encodingLength(t))),n||(n=0),e.writeUInt16BE(4,n),n+=2,pp.v4.encode(t,e,n),ql.encode.bytes=6,e};ql.encode.bytes=0;ql.decode=function(t,e){e||(e=0),e+=2;let n=pp.v4.decode(t,e);return ql.decode.bytes=6,n};ql.decode.bytes=0;ql.encodingLength=function(){return 6};var $l=$e.aaaa={};$l.encode=function(t,e,n){return e||(e=Ge.alloc($l.encodingLength(t))),n||(n=0),e.writeUInt16BE(16,n),n+=2,pp.v6.encode(t,e,n),$l.encode.bytes=18,e};$l.encode.bytes=0;$l.decode=function(t,e){e||(e=0),e+=2;let n=pp.v6.decode(t,e);return $l.decode.bytes=18,n};$l.decode.bytes=0;$l.encodingLength=function(){return 18};var ji=$e.option={};ji.encode=function(t,e,n){e||(e=Ge.alloc(ji.encodingLength(t))),n||(n=0);let r=n,i=YM.toCode(t.code);if(e.writeUInt16BE(i,n),n+=2,t.data)e.writeUInt16BE(t.data.length,n),n+=2,t.data.copy(e,n),n+=t.data.length;else switch(i){case 8:let s=t.sourcePrefixLength||0,o=t.family||pp.familyOf(t.ip),a=pp.encode(t.ip,Ge.alloc),c=Math.ceil(s/8);e.writeUInt16BE(c+4,n),n+=2,e.writeUInt16BE(o,n),n+=2,e.writeUInt8(s,n++),e.writeUInt8(t.scopePrefixLength||0,n++),a.copy(e,n,0,c),n+=c;break;case 11:t.timeout?(e.writeUInt16BE(2,n),n+=2,e.writeUInt16BE(t.timeout,n),n+=2):(e.writeUInt16BE(0,n),n+=2);break;case 12:let l=t.length||0;e.writeUInt16BE(l,n),n+=2,e.fill(0,n,n+l),n+=l;break;case 14:let u=t.tags.length*2;e.writeUInt16BE(u,n),n+=2;for(let f of t.tags)e.writeUInt16BE(f,n),n+=2;break;default:throw new Error(`Unknown roption code: ${t.code}`)}return ji.encode.bytes=n-r,e};ji.encode.bytes=0;ji.decode=function(t,e){e||(e=0);let n={};n.code=t.readUInt16BE(e),n.type=YM.toString(n.code),e+=2;let r=t.readUInt16BE(e);switch(e+=2,n.data=t.slice(e,e+r),n.code){case 8:n.family=t.readUInt16BE(e),e+=2,n.sourcePrefixLength=t.readUInt8(e++),n.scopePrefixLength=t.readUInt8(e++);let i=Ge.alloc(n.family===1?4:16);t.copy(i,0,e,e+r-4),n.ip=pp.decode(i);break;case 11:r>0&&(n.timeout=t.readUInt16BE(e),e+=2);break;case 14:n.tags=[];for(let s=0;s<r;s+=2)n.tags.push(t.readUInt16BE(e)),e+=2}return ji.decode.bytes=r+4,n};ji.decode.bytes=0;ji.encodingLength=function(t){if(t.data)return t.data.length+4;switch(YM.toCode(t.code)){case 8:let n=t.sourcePrefixLength||0;return Math.ceil(n/8)+8;case 11:return typeof t.timeout=="number"?6:4;case 12:return t.length+4;case 14:return 4+t.tags.length*2}throw new Error(`Unknown roption code: ${t.code}`)};var Ts=$e.opt={};Ts.encode=function(t,e,n){e||(e=Ge.alloc(Ts.encodingLength(t))),n||(n=0);let r=n,i=rg(t,ji);return e.writeUInt16BE(i,n),n=zv(t,ji,e,n+2),Ts.encode.bytes=n-r,e};Ts.encode.bytes=0;Ts.decode=function(t,e){e||(e=0);let n=e,r=[],i=t.readUInt16BE(e);e+=2;let s=0;for(;i>0;)r[s++]=ji.decode(t,e),e+=ji.decode.bytes,i-=ji.decode.bytes;return Ts.decode.bytes=e-n,r};Ts.decode.bytes=0;Ts.encodingLength=function(t){return 2+rg(t||[],ji)};var xi=$e.dnskey={};xi.PROTOCOL_DNSSEC=3;xi.ZONE_KEY=128;xi.SECURE_ENTRYPOINT=32768;xi.encode=function(t,e,n){e||(e=Ge.alloc(xi.encodingLength(t))),n||(n=0);let r=n,i=t.key;if(!Ge.isBuffer(i))throw new Error("Key must be a Buffer");return n+=2,e.writeUInt16BE(t.flags,n),n+=2,e.writeUInt8(xi.PROTOCOL_DNSSEC,n),n+=1,e.writeUInt8(t.algorithm,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,xi.encode.bytes=n-r,e.writeUInt16BE(xi.encode.bytes-2,r),e};xi.encode.bytes=0;xi.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);if(e+=2,r.flags=t.readUInt16BE(e),e+=2,t.readUInt8(e)!==xi.PROTOCOL_DNSSEC)throw new Error("Protocol must be 3");return e+=1,r.algorithm=t.readUInt8(e),e+=1,r.key=t.slice(e,n+i+2),e+=r.key.length,xi.decode.bytes=e-n,r};xi.decode.bytes=0;xi.encodingLength=function(t){return 6+Ge.byteLength(t.key)};var dc=$e.rrsig={};dc.encode=function(t,e,n){e||(e=Ge.alloc(dc.encodingLength(t))),n||(n=0);let r=n,i=t.signature;if(!Ge.isBuffer(i))throw new Error("Signature must be a Buffer");return n+=2,e.writeUInt16BE(Gl.toType(t.typeCovered),n),n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.labels,n),n+=1,e.writeUInt32BE(t.originalTTL,n),n+=4,e.writeUInt32BE(t.expiration,n),n+=4,e.writeUInt32BE(t.inception,n),n+=4,e.writeUInt16BE(t.keyTag,n),n+=2,Ae.encode(t.signersName,e,n),n+=Ae.encode.bytes,i.copy(e,n,0,i.length),n+=i.length,dc.encode.bytes=n-r,e.writeUInt16BE(dc.encode.bytes-2,r),e};dc.encode.bytes=0;dc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.typeCovered=Gl.toString(t.readUInt16BE(e)),e+=2,r.algorithm=t.readUInt8(e),e+=1,r.labels=t.readUInt8(e),e+=1,r.originalTTL=t.readUInt32BE(e),e+=4,r.expiration=t.readUInt32BE(e),e+=4,r.inception=t.readUInt32BE(e),e+=4,r.keyTag=t.readUInt16BE(e),e+=2,r.signersName=Ae.decode(t,e),e+=Ae.decode.bytes,r.signature=t.slice(e,n+i+2),e+=r.signature.length,dc.decode.bytes=e-n,r};dc.decode.bytes=0;dc.encodingLength=function(t){return 20+Ae.encodingLength(t.signersName)+Ge.byteLength(t.signature)};var pc=$e.rp={};pc.encode=function(t,e,n){e||(e=Ge.alloc(pc.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.mbox||".",e,n,{mail:!0}),n+=Ae.encode.bytes,Ae.encode(t.txt||".",e,n),n+=Ae.encode.bytes,pc.encode.bytes=n-r,e.writeUInt16BE(pc.encode.bytes-2,r),e};pc.encode.bytes=0;pc.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.mbox=Ae.decode(t,e,{mail:!0})||".",e+=Ae.decode.bytes,r.txt=Ae.decode(t,e)||".",e+=Ae.decode.bytes,pc.decode.bytes=e-n,r};pc.decode.bytes=0;pc.encodingLength=function(t){return 2+Ae.encodingLength(t.mbox||".")+Ae.encodingLength(t.txt||".")};var Dr={};Dr.encode=function(t,e,n){e||(e=Ge.alloc(Dr.encodingLength(t))),n||(n=0);let r=n;for(var i=[],s=0;s<t.length;s++){var o=Gl.toType(t[s]);i[o>>8]===void 0&&(i[o>>8]=[]),i[o>>8][o>>3&31]|=1<<7-(o&7)}for(s=0;s<i.length;s++)if(i[s]!==void 0){var a=Ge.from(i[s]);e.writeUInt8(s,n),n+=1,e.writeUInt8(a.length,n),n+=1,a.copy(e,n),n+=a.length}return Dr.encode.bytes=n-r,e};Dr.encode.bytes=0;Dr.decode=function(t,e,n){e||(e=0);let r=e;for(var i=[];e-r<n;){var s=t.readUInt8(e);e+=1;var o=t.readUInt8(e);e+=1;for(var a=0;a<o;a++)for(var c=t.readUInt8(e+a),l=0;l<8;l++)if(c&1<<7-l){var u=Gl.toString(s<<8|a<<3|l);i.push(u)}e+=o}return Dr.decode.bytes=e-r,i};Dr.decode.bytes=0;Dr.encodingLength=function(t){for(var e=[],n=0;n<t.length;n++){var r=Gl.toType(t[n]);e[r>>8]=Math.max(e[r>>8]||0,r&255)}var i=0;for(n=0;n<e.length;n++)e[n]!==void 0&&(i+=2+Math.ceil((e[n]+1)/8));return i};var hc=$e.nsec={};hc.encode=function(t,e,n){e||(e=Ge.alloc(hc.encodingLength(t))),n||(n=0);let r=n;return n+=2,Ae.encode(t.nextDomain,e,n),n+=Ae.encode.bytes,Dr.encode(t.rrtypes,e,n),n+=Dr.encode.bytes,hc.encode.bytes=n-r,e.writeUInt16BE(hc.encode.bytes-2,r),e};hc.encode.bytes=0;hc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.nextDomain=Ae.decode(t,e),e+=Ae.decode.bytes,r.rrtypes=Dr.decode(t,e,i-(e-n)),e+=Dr.decode.bytes,hc.decode.bytes=e-n,r};hc.decode.bytes=0;hc.encodingLength=function(t){return 2+Ae.encodingLength(t.nextDomain)+Dr.encodingLength(t.rrtypes)};var mc=$e.nsec3={};mc.encode=function(t,e,n){e||(e=Ge.alloc(mc.encodingLength(t))),n||(n=0);let r=n,i=t.salt;if(!Ge.isBuffer(i))throw new Error("salt must be a Buffer");let s=t.nextDomain;if(!Ge.isBuffer(s))throw new Error("nextDomain must be a Buffer");return n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.flags,n),n+=1,e.writeUInt16BE(t.iterations,n),n+=2,e.writeUInt8(i.length,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,e.writeUInt8(s.length,n),n+=1,s.copy(e,n,0,s.length),n+=s.length,Dr.encode(t.rrtypes,e,n),n+=Dr.encode.bytes,mc.encode.bytes=n-r,e.writeUInt16BE(mc.encode.bytes-2,r),e};mc.encode.bytes=0;mc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);e+=2,r.algorithm=t.readUInt8(e),e+=1,r.flags=t.readUInt8(e),e+=1,r.iterations=t.readUInt16BE(e),e+=2;let s=t.readUInt8(e);e+=1,r.salt=t.slice(e,e+s),e+=s;let o=t.readUInt8(e);return e+=1,r.nextDomain=t.slice(e,e+o),e+=o,r.rrtypes=Dr.decode(t,e,i-(e-n)),e+=Dr.decode.bytes,mc.decode.bytes=e-n,r};mc.decode.bytes=0;mc.encodingLength=function(t){return 8+t.salt.length+t.nextDomain.length+Dr.encodingLength(t.rrtypes)};var gc=$e.ds={};gc.encode=function(t,e,n){e||(e=Ge.alloc(gc.encodingLength(t))),n||(n=0);let r=n,i=t.digest;if(!Ge.isBuffer(i))throw new Error("Digest must be a Buffer");return n+=2,e.writeUInt16BE(t.keyTag,n),n+=2,e.writeUInt8(t.algorithm,n),n+=1,e.writeUInt8(t.digestType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,gc.encode.bytes=n-r,e.writeUInt16BE(gc.encode.bytes-2,r),e};gc.encode.bytes=0;gc.decode=function(t,e){e||(e=0);let n=e;var r={},i=t.readUInt16BE(e);return e+=2,r.keyTag=t.readUInt16BE(e),e+=2,r.algorithm=t.readUInt8(e),e+=1,r.digestType=t.readUInt8(e),e+=1,r.digest=t.slice(e,n+i+2),e+=r.digest.length,gc.decode.bytes=e-n,r};gc.decode.bytes=0;gc.encodingLength=function(t){return 6+Ge.byteLength(t.digest)};var bs=$e.sshfp={};bs.getFingerprintLengthForHashType=function(e){switch(e){case 1:return 20;case 2:return 32}};bs.encode=function(e,n,r){n||(n=Ge.alloc(bs.encodingLength(e))),r||(r=0);let i=r;r+=2,n[r]=e.algorithm,r+=1,n[r]=e.hash,r+=1;let s=Ge.from(e.fingerprint.toUpperCase(),"hex");if(s.length!==bs.getFingerprintLengthForHashType(e.hash))throw new Error("Invalid fingerprint length");return s.copy(n,r),r+=s.byteLength,bs.encode.bytes=r-i,n.writeUInt16BE(bs.encode.bytes-2,i),n};bs.encode.bytes=0;bs.decode=function(e,n){n||(n=0);let r=n,i={};n+=2,i.algorithm=e[n],n+=1,i.hash=e[n],n+=1;let s=bs.getFingerprintLengthForHashType(i.hash);return i.fingerprint=e.slice(n,n+s).toString("hex").toUpperCase(),n+=s,bs.decode.bytes=n-r,i};bs.decode.bytes=0;bs.encodingLength=function(t){return 4+Ge.from(t.fingerprint,"hex").byteLength};var yc=$e.naptr={};yc.encode=function(t,e,n){e||(e=Ge.alloc(yc.encodingLength(t))),n||(n=0);let r=n;return n+=2,e.writeUInt16BE(t.order||0,n),n+=2,e.writeUInt16BE(t.preference||0,n),n+=2,pt.encode(t.flags,e,n),n+=pt.encode.bytes,pt.encode(t.services,e,n),n+=pt.encode.bytes,pt.encode(t.regexp,e,n),n+=pt.encode.bytes,Ae.encode(t.replacement,e,n),n+=Ae.encode.bytes,yc.encode.bytes=n-r,e.writeUInt16BE(yc.encode.bytes-2,r),e};yc.encode.bytes=0;yc.decode=function(t,e){e||(e=0);let n=e,r={};return e+=2,r.order=t.readUInt16BE(e),e+=2,r.preference=t.readUInt16BE(e),e+=2,r.flags=pt.decode(t,e),e+=pt.decode.bytes,r.services=pt.decode(t,e),e+=pt.decode.bytes,r.regexp=pt.decode(t,e),e+=pt.decode.bytes,r.replacement=Ae.decode(t,e),e+=Ae.decode.bytes,yc.decode.bytes=e-n,r};yc.decode.bytes=0;yc.encodingLength=function(t){return pt.encodingLength(t.flags)+pt.encodingLength(t.services)+pt.encodingLength(t.regexp)+Ae.encodingLength(t.replacement)+6};var _c=$e.tlsa={};_c.encode=function(t,e,n){e||(e=Ge.alloc(_c.encodingLength(t))),n||(n=0);let r=n,i=t.certificate;if(!Ge.isBuffer(i))throw new Error("Certificate must be a Buffer");return n+=2,e.writeUInt8(t.usage,n),n+=1,e.writeUInt8(t.selector,n),n+=1,e.writeUInt8(t.matchingType,n),n+=1,i.copy(e,n,0,i.length),n+=i.length,_c.encode.bytes=n-r,e.writeUInt16BE(_c.encode.bytes-2,r),e};_c.encode.bytes=0;_c.decode=function(t,e){e||(e=0);let n=e,r={},i=t.readUInt16BE(e);return e+=2,r.usage=t.readUInt8(e),e+=1,r.selector=t.readUInt8(e),e+=1,r.matchingType=t.readUInt8(e),e+=1,r.certificate=t.slice(e,n+i+2),e+=r.certificate.length,_c.decode.bytes=e-n,r};_c.decode.bytes=0;_c.encodingLength=function(t){return 5+Ge.byteLength(t.certificate)};var JM=$e.record=function(t){switch(t.toUpperCase()){case"A":return ql;case"PTR":return ha;case"CNAME":return eDe;case"DNAME":return tDe;case"TXT":return Ll;case"NULL":return Ul;case"AAAA":return $l;case"SRV":return Bl;case"HINFO":return Fl;case"CAA":return xs;case"NS":return Ml;case"SOA":return Dl;case"MX":return lf;case"OPT":return Ts;case"DNSKEY":return xi;case"RRSIG":return dc;case"RP":return pc;case"NSEC":return hc;case"NSEC3":return mc;case"SSHFP":return bs;case"DS":return gc;case"NAPTR":return yc;case"TLSA":return _c}return Nl},Yr=$e.answer={};Yr.encode=function(t,e,n){e||(e=Ge.alloc(Yr.encodingLength(t))),n||(n=0);let r=n;if(Ae.encode(t.name,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(Gl.toType(t.type),n),t.type.toUpperCase()==="OPT"){if(t.name!==".")throw new Error("OPT name must be root.");e.writeUInt16BE(t.udpPayloadSize||4096,n+2),e.writeUInt8(t.extendedRcode||0,n+4),e.writeUInt8(t.ednsVersion||0,n+5),e.writeUInt16BE(t.flags||0,n+6),n+=8,Ts.encode(t.options||[],e,n),n+=Ts.encode.bytes}else{let i=Wb.toClass(t.class===void 0?"IN":t.class);t.flush&&(i|=XM),e.writeUInt16BE(i,n+2),e.writeUInt32BE(t.ttl||0,n+4),n+=8;let s=JM(t.type);s.encode(t.data,e,n),n+=s.encode.bytes}return Yr.encode.bytes=n-r,e};Yr.encode.bytes=0;Yr.decode=function(t,e){e||(e=0);let n={},r=e;if(n.name=Ae.decode(t,e),e+=Ae.decode.bytes,n.type=Gl.toString(t.readUInt16BE(e)),n.type==="OPT")n.udpPayloadSize=t.readUInt16BE(e+2),n.extendedRcode=t.readUInt8(e+4),n.ednsVersion=t.readUInt8(e+5),n.flags=t.readUInt16BE(e+6),n.flag_do=(n.flags>>15&1)===1,n.options=Ts.decode(t,e+8),e+=8+Ts.decode.bytes;else{let i=t.readUInt16BE(e+2);n.ttl=t.readUInt32BE(e+4),n.class=Wb.toString(i&QMe),n.flush=!!(i&XM);let s=JM(n.type);n.data=s.decode(t,e+8),e+=8+s.decode.bytes}return Yr.decode.bytes=e-r,n};Yr.decode.bytes=0;Yr.encodingLength=function(t){let e=t.data!==null&&t.data!==void 0?t.data:t.options;return Ae.encodingLength(t.name)+8+JM(t.type).encodingLength(e)};var ma=$e.question={};ma.encode=function(t,e,n){e||(e=Ge.alloc(ma.encodingLength(t))),n||(n=0);let r=n;return Ae.encode(t.name,e,n),n+=Ae.encode.bytes,e.writeUInt16BE(Gl.toType(t.type),n),n+=2,e.writeUInt16BE(Wb.toClass(t.class===void 0?"IN":t.class),n),n+=2,ma.encode.bytes=n-r,t};ma.encode.bytes=0;ma.decode=function(t,e){e||(e=0);let n=e,r={};return r.name=Ae.decode(t,e),e+=Ae.decode.bytes,r.type=Gl.toString(t.readUInt16BE(e)),e+=2,r.class=Wb.toString(t.readUInt16BE(e)),e+=2,r.class&vJ&&(r.class&=ZMe),ma.decode.bytes=e-n,r};ma.decode.bytes=0;ma.encodingLength=function(t){return Ae.encodingLength(t.name)+4};$e.AUTHORITATIVE_ANSWER=1024;$e.TRUNCATED_RESPONSE=512;$e.RECURSION_DESIRED=256;$e.RECURSION_AVAILABLE=128;$e.AUTHENTIC_DATA=32;$e.CHECKING_DISABLED=16;$e.DNSSEC_OK=32768;$e.encode=function(t,e,n){let r=!e;r&&(e=Ge.alloc($e.encodingLength(t))),n||(n=0);let i=n;return t.questions||(t.questions=[]),t.answers||(t.answers=[]),t.authorities||(t.authorities=[]),t.additionals||(t.additionals=[]),ga.encode(t,e,n),n+=ga.encode.bytes,n=zv(t.questions,ma,e,n),n=zv(t.answers,Yr,e,n),n=zv(t.authorities,Yr,e,n),n=zv(t.additionals,Yr,e,n),$e.encode.bytes=n-i,r&&$e.encode.bytes!==e.length?e.slice(0,$e.encode.bytes):e};$e.encode.bytes=0;$e.decode=function(t,e){e||(e=0);let n=e,r=ga.decode(t,e);return e+=ga.decode.bytes,e=jb(r.questions,ma,t,e),e=jb(r.answers,Yr,t,e),e=jb(r.authorities,Yr,t,e),e=jb(r.additionals,Yr,t,e),$e.decode.bytes=e-n,r};$e.decode.bytes=0;$e.encodingLength=function(t){return ga.encodingLength(t)+rg(t.questions||[],ma)+rg(t.answers||[],Yr)+rg(t.authorities||[],Yr)+rg(t.additionals||[],Yr)};$e.streamEncode=function(t){let e=$e.encode(t),n=Ge.alloc(2);n.writeUInt16BE(e.byteLength);let r=Ge.concat([n,e]);return $e.streamEncode.bytes=r.byteLength,r};$e.streamEncode.bytes=0;$e.streamDecode=function(t){let e=t.readUInt16BE(0);if(t.byteLength<e+2)return null;let n=$e.decode(t.slice(2));return $e.streamDecode.bytes=$e.decode.bytes,n};$e.streamDecode.bytes=0;function rg(t,e){let n=0;for(let r=0;r<t.length;r++)n+=e.encodingLength(t[r]);return n}function zv(t,e,n,r){for(let i=0;i<t.length;i++)e.encode(t[i],n,r),r+=e.encode.bytes;return r}function jb(t,e,n,r){for(let i=0;i<t.length;i++)t[i]=e.decode(n,r),r+=e.decode.bytes;return r}});var xJ=B((zyt,SJ)=>{"use strict";var wJ=aDe;process.nextTick(oDe,42);SJ.exports=nDe;function nDe(t){var e=r;return n;function n(i){e(i||iDe)}function r(i){var s=[i];e=o,t(a);function o(c){s.push(c)}function a(c){var l=arguments;for(e=rDe(c)?r:u;s.length;)u(s.shift());function u(f){wJ(sDe,f,l)}}}}function rDe(t){return Object.prototype.toString.call(t)==="[object Error]"}function iDe(){}function sDe(t,e){t.apply(null,e)}function oDe(t){t===42&&(wJ=process.nextTick)}function aDe(t,e,n){process.nextTick(function(){t(e,n)})}});var AJ=B((Kyt,TJ)=>{var QM=EJ(),cDe=require("dgram"),lDe=xJ(),uDe=require("events"),eD=require("os"),ZM=function(){};TJ.exports=function(t){t||(t={});var e=new uDe.EventEmitter,n=typeof t.port=="number"?t.port:5353,r=t.type||"udp4",i=t.ip||t.host||(r==="udp4"?"224.0.0.251":null),s={address:i,port:n},o={},a=!1,c=null;if(r==="udp6"&&(!i||!t.interface))throw new Error("For IPv6 multicast you must specify `ip` and `interface`");var l=t.socket||cDe.createSocket({type:r,reuseAddr:t.reuseAddr!==!1,toString:function(){return r}});l.on("error",function(f){f.code==="EACCES"||f.code==="EADDRINUSE"?e.emit("error",f):e.emit("warning",f)}),l.on("message",function(f,p){try{f=QM.decode(f)}catch(m){e.emit("warning",m);return}e.emit("packet",f,p),f.type==="query"&&e.emit("query",f,p),f.type==="response"&&e.emit("response",f,p)}),l.on("listening",function(){n||(n=s.port=l.address().port),t.multicast!==!1&&(e.update(),c=setInterval(e.update,5e3),l.setMulticastTTL(t.ttl||255),l.setMulticastLoopback(t.loopback!==!1))});var u=lDe(function(f){if(!n||t.bind===!1)return f(null);l.once("error",f),l.bind(n,t.bind||t.interface,function(){l.removeListener("error",f),f(null)})});return u(function(f){if(f)return e.emit("error",f);e.emit("ready")}),e.send=function(f,p,m){if(typeof p=="function")return e.send(f,null,p);m||(m=ZM),p?!p.host&&!p.address&&(p.address=s.address):p=s,u(g);function g(y){if(a)return m();if(y)return m(y);var w=QM.encode(f);l.send(w,0,w.length,p.port,p.address||p.host,m)}},e.response=e.respond=function(f,p,m){Array.isArray(f)&&(f={answers:f}),f.type="response",f.flags=(f.flags||0)|QM.AUTHORITATIVE_ANSWER,e.send(f,p,m)},e.query=function(f,p,m,g){if(typeof p=="function")return e.query(f,null,null,p);if(typeof p=="object"&&p&&p.port)return e.query(f,null,p,m);if(typeof m=="function")return e.query(f,p,null,m);g||(g=ZM),typeof f=="string"&&(f=[{name:f,type:p||"ANY"}]),Array.isArray(f)&&(f={type:"query",questions:f}),f.type="query",e.send(f,m,g)},e.destroy=function(f){if(f||(f=ZM),a)return process.nextTick(f);a=!0,clearInterval(c);for(var p in o)try{l.dropMembership(i,p)}catch{}o={},l.close(f)},e.update=function(){for(var f=t.interface?[].concat(t.interface):dDe(),p=!1,m=0;m<f.length;m++){var g=f[m];if(!o[g])try{l.addMembership(i,g),o[g]=!0,p=!0}catch(y){e.emit("warning",y)}}if(p){if(l.setMulticastInterface)try{l.setMulticastInterface(t.interface||fDe())}catch(y){e.emit("warning",y)}e.emit("networkInterface")}},e};function fDe(){for(var t=eD.networkInterfaces(),e=Object.keys(t),n=0;n<e.length;n++)for(var r=t[e[n]],i=0;i<r.length;i++){var s=r[i];if(bJ(s.family)&&!s.internal)return eD.platform()==="darwin"&&e[n]==="en0"?s.address:"0.0.0.0"}return"127.0.0.1"}function dDe(){for(var t=eD.networkInterfaces(),e=Object.keys(t),n=[],r=0;r<e.length;r++)for(var i=t[e[r]],s=0;s<i.length;s++){var o=i[s];if(bJ(o.family)){n.push(o.address);break}}return n}function bJ(t){return t===4||t==="IPv4"}});function EDe(t){return new Promise(e=>{let n=(0,RJ.execFile)("dns-sd",["-G","v4",t],{timeout:nD}),r=!1,i=o=>{if(!r){r=!0,clearTimeout(s);try{n.kill()}catch{}e(o)}},s=setTimeout(()=>i(null),nD);s.unref?.(),n.stdout?.on("data",o=>{for(let a of String(o).split(`
|
|
34
34
|
`)){if(!a.includes(" Add "))continue;let c=a.match(vDe)?.[1];if(c&&c!=="127.0.0.1")return i(c)}}),n.on("error",()=>i(null)),n.on("close",()=>i(null))})}async function wDe(){if(uf)return uf;let{default:t}=await Promise.resolve().then(()=>ce(AJ(),1));try{uf=t({reuseAddr:!0})}catch{return null}return uf.on("error",kJ),uf.on("response",e=>{if(ig.size)for(let n of[...e.answers||[],...e.additionals||[]])n.type==="A"&&ig.get(String(n.name).toLowerCase())?.(n.data)}),uf}function kJ(){clearTimeout(Yv),Yv=null;let t=uf;uf=null;try{t?.destroy()}catch{}for(let e of[...ig.values()])e(null);ig.clear()}function SDe(){clearTimeout(Yv),Yv=setTimeout(kJ,mDe),Yv.unref?.()}async function xDe(t){let e=await wDe();if(!e)return null;let n=t.toLowerCase();return new Promise(r=>{let i=!1,s=a=>{i||(i=!0,clearTimeout(o),ig.delete(n),SDe(),r(a))},o=setTimeout(()=>s(null),nD);o.unref?.(),ig.set(n,s);try{e.query({questions:[{name:t,type:"A"}]})}catch{s(null)}})}function bDe(t){return process.platform==="darwin"?EDe(t):xDe(t)}async function TDe(t){let e=Kv.get(t);if(e){let i=e.ip?pDe:hDe;if(Date.now()-e.ts<i)return e.ip}let n=tD.get(t);if(n)return n;let r=(async()=>{let i=null;try{i=(await CJ.default.lookup(t,{family:4})).address}catch{i=await bDe(t)}return Kv.size>=gDe&&Kv.delete(Kv.keys().next().value),Kv.set(t,{ip:i,ts:Date.now()}),i})().finally(()=>tD.delete(t));return tD.set(t,r),r}function ADe(t){let e=t.match(IJ)?.[1];return!e||!yDe.test(e)||_De.test(e)?null:e}async function PJ(t){let e=ADe(t);if(!e)return IJ.test(t)?null:t;let n=await TDe(e);return n?t.replace(e,n):null}var CJ,RJ,pDe,hDe,nD,mDe,gDe,IJ,yDe,_De,vDe,Kv,tD,uf,Yv,ig,OJ=ae(()=>{CJ=ce(require("node:dns/promises"),1),RJ=require("node:child_process"),pDe=3e4,hDe=3e3,nD=1500,mDe=6e4,gDe=256,IJ=/\s([^\s]+\.local)\s/i,yDe=/^[a-z0-9][a-z0-9._-]{0,252}\.local$/i,_De=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\.local$/i,vDe=/\b(\d{1,3}(?:\.\d{1,3}){3})\b/,Kv=new Map,tD=new Map;uf=null,Yv=null,ig=new Map});function Sn(t,e,n={}){let{mode:r=384,spaces:i=2}=n;(0,As.mkdirSync)((0,NJ.dirname)(t),{recursive:!0});let s=`${t}.${process.pid}.${++CDe}.tmp`;try{(0,As.writeFileSync)(s,JSON.stringify(e,null,i),{mode:r}),(0,As.renameSync)(s,t)}catch(o){try{(0,As.existsSync)(s)&&(0,As.unlinkSync)(s)}catch{}throw o}}function MJ(t,e=null){try{return(0,As.existsSync)(t)?JSON.parse((0,As.readFileSync)(t,"utf8")):e}catch{return e}}var As,NJ,CDe,po=ae(()=>{As=require("fs"),NJ=require("path"),CDe=0});function PDe(t){let e=Buffer.from(String(t),"base64");if(e.length!==rD)return null;let n=Buffer.concat([RDe,Buffer.from([3,33,0]),e]);try{return sg.default.createPublicKey({key:n,format:"der",type:"spki"})}catch{return null}}function ODe(t,e,n){let r=Buffer.concat([e,n]);return Buffer.from(sg.default.hkdfSync("sha256",t,r,Buffer.from(kDe),32))}function DJ(t,e){if(!t||typeof t!="object")return null;let{epk:n,iv:r,ct:i}=t;if(typeof n!="string"||typeof r!="string"||typeof i!="string")return null;let s=PDe(n);if(!s)return null;try{let o=Buffer.from(r,"base64"),a=Buffer.from(i,"base64");if(o.length!==IDe||a.length<=16)return null;let c=s.export({type:"spki",format:"der"}).subarray(-rD),l=sg.default.createPublicKey(e).export({type:"spki",format:"der"}).subarray(-rD),u=sg.default.diffieHellman({privateKey:e,publicKey:s}),f=ODe(u,c,l),p=a.subarray(a.length-16),m=a.subarray(0,a.length-16),g=sg.default.createDecipheriv("aes-256-gcm",f,o);return g.setAuthTag(p),Buffer.concat([g.update(m),g.final()]).toString("utf8")}catch{return null}}var sg,RDe,rD,IDe,kDe,LJ=ae(()=>{sg=ce(require("crypto"),1),RDe=Buffer.from("302a300506032b656e","hex"),rD=32,IDe=12,kDe="9remote-tail-seal-v1"});function Xv(){if(og)return og;try{if((0,ag.existsSync)(Vb)){let o=JSON.parse((0,ag.readFileSync)(Vb,"utf8")),a=Buffer.from(o.publicKey,"base64");if(!o.x25519PrivateKey){let l=Hl.default.generateKeyPairSync("x25519");o.x25519PrivateKey=l.privateKey.export({type:"pkcs8",format:"der"}).toString("base64"),o.x25519PublicKey=l.publicKey.export({type:"spki",format:"der"}).toString("base64"),Sn(Vb,o)}let c=Buffer.from(o.x25519PublicKey,"base64");return og={privateKey:Hl.default.createPrivateKey({key:Buffer.from(o.privateKey,"base64"),format:"der",type:"pkcs8"}),publicKey:Hl.default.createPublicKey({key:a,format:"der",type:"spki"}),publicKeyB64:a.subarray(-32).toString("base64"),x25519PrivateKey:Hl.default.createPrivateKey({key:Buffer.from(o.x25519PrivateKey,"base64"),format:"der",type:"pkcs8"}),x25519PublicKeyB64:c.subarray(-32).toString("base64")},og}}catch{}(0,ag.mkdirSync)(Oe.CONFIG,{recursive:!0});let{privateKey:t,publicKey:e}=Hl.default.generateKeyPairSync("ed25519"),n=e.export({type:"spki",format:"der"}).toString("base64"),r=t.export({type:"pkcs8",format:"der"}).toString("base64"),i=Hl.default.generateKeyPairSync("x25519"),s=i.publicKey.export({type:"spki",format:"der"}).toString("base64");return Sn(Vb,{privateKey:r,publicKey:n,x25519PrivateKey:i.privateKey.export({type:"pkcs8",format:"der"}).toString("base64"),x25519PublicKey:s}),og={privateKey:t,publicKey:e,publicKeyB64:Buffer.from(n,"base64").subarray(-32).toString("base64"),x25519PrivateKey:i.privateKey,x25519PublicKeyB64:Buffer.from(s,"base64").subarray(-32).toString("base64")},og}function zb(){return Xv().publicKeyB64}function Kb(){return Xv().x25519PublicKeyB64}function Jv(t){return DJ(t,Xv().x25519PrivateKey)}function FJ(t){return Hl.default.sign(null,Buffer.from(t,"utf8"),Xv().privateKey).toString("base64")}function MDe({apiKey:t,tunnelUrl:e,localIp:n,expiryMinutes:r,ts:i}){let s=a=>{let c=a==null?"":String(a);return`${c.length}:${c}`},o=`${NDe}|${s(t)}${s(e)}${s(n)}${s(r)}${s(i)}`;return Hl.default.sign(null,Buffer.from(o,"utf8"),Xv().privateKey).toString("base64")}function Yb(t){let e=Date.now();return{ts:e,sig:MDe({...t,ts:e})}}var Hl,ag,UJ,Vb,n_t,og,NDe,Qv=ae(()=>{Hl=ce(require("crypto"),1),ag=require("fs");po();UJ=require("path");Mt();LJ();Vb=(0,UJ.join)(Oe.CONFIG,"hostKey.json"),n_t=Buffer.from("302a300506032b6570032100","hex"),og=null;NDe="9remote-session-v1"});function DDe(){return iD||(iD=nJ("node-datachannel")),iD}async function BDe(t,e){if(oD&&Date.now()<BJ)return oD;try{let n=await fetch(t,{headers:{"X-API-Key":e},signal:AbortSignal.timeout(FDe)});if(!n.ok)throw new Error(`HTTP ${n.status}`);let{iceServers:r}=await n.json();sD="";let i=[];for(let s of r)for(let o of s.urls)if(o.startsWith("stun:")){let a=o.replace("stun:","").split(":")[0],c=parseInt(o.split(":")[2]||"3478");i.push({hostname:a,port:c,type:"Stun"})}else if(o.startsWith("turn:")||o.startsWith("turns:")){let a=o.startsWith("turns:"),l=o.replace(/^turns?:/,"").split("?")[0],u=l.split(":")[0],f=parseInt(l.split(":")[1]||(a?"5349":"3478")),p=o.includes("transport=tcp")?"Tcp":"Udp";i.push({hostname:u,port:f,type:a?"Tls":"Turn",relayType:p,username:s.username,password:s.credential})}return oD=i,BJ=Date.now()+UDe,i}catch(n){return sD!==n.message&&(sD=n.message,console.warn(`[WebRtcProtocol] TURN fetch failed (${n.message}) \u2014 using STUN-only fallback. Will retry on next connection.`)),null}}var ar,iD,LDe,sD,oD,BJ,UDe,FDe,Xb,qJ=ae(()=>{rJ();DM();cJ();Hi();Mr();OJ();ot();Qv();ar=be("webrtc"),iD=null;LDe=[{hostname:"stun.l.google.com",port:19302,type:"Stun"},{hostname:"stun1.l.google.com",port:19302,type:"Stun"},{hostname:"stun2.l.google.com",port:19302,type:"Stun"},{hostname:"stun3.l.google.com",port:19302,type:"Stun"},{hostname:"stun4.l.google.com",port:19302,type:"Stun"},{hostname:"global.stun.twilio.com",port:3478,type:"Stun"},{hostname:"stun.cloudflare.com",port:3478,type:"Stun"}],sD="",oD=null,BJ=0,UDe=1380*60*1e3,FDe=3e3;Xb=class extends ng{static id="rtc";static capabilities={control:!0,binary:!0,file:!0,signaling:"external"};static priority={control:50,binary:100,file:100};constructor(){super(),this._pc=null,this._dcControl=null,this._dcBinary=null,this._dcFile=null,this._iceServers=LDe,this._refreshTimer=null,this._remoteSet=!1,this._pendingCandidates=[],this._signaling=null,this._iceGraceTimer=null,this._answerTimer=null,this._hbTimer=null,this._hbLastPong=0,this._peerHb=!1,this._peerEnv2=!1,this._peerFragCtl=!1,this._v2RxSeen=!1,this._fragSeq=0,this._reassemble=GM(),this._closed=!1,this.typeDetail="dc-stun",this._turnPromise=null}getPriority(e){return this.typeDetail==="dc-turn"?5:150}async connect(e){this._ctx=e,this._setState(or.connecting);let n=e.profile?.rtc||{};this._signaling=e.signaling,this._signaling?.on?.(r=>this._handleSignal(r,n)),n.enableTurn&&e.auth?.apiKey&&n.turnApiUrl&&(this._turnPromise=this._refreshTurn(n))}disconnect(){this._closed=!0,clearTimeout(this._refreshTimer),this._signaling?.off?.(),this._signaling=null,this._cleanupPeer(),this._setState(or.closed)}send(e,n){if(e===Kt.control){if(!this._dcControl)return!1;let r={event:n.event,args:n.args||[],ackId:n.ackId||null};if(this._peerEnv2)return this._sendFramed(r)?(this._v2Announced||(this._v2Announced=!0,ar.info("[env2] agent\u2192client control now SENT as v2 binary frames")),!0):!1;try{return this._dcControl.sendMessage(qM(r)),!0}catch{return!1}}if(e===Kt.binary){if(!this._dcBinary)return!1;try{let r=Array.isArray(n)?n[0]:n;return this._dcBinary.bufferedAmount()>Te.webrtc.dcBufferThreshold?!1:this._dcBinary.sendMessageBinary(r)}catch(r){return ar.error(`send binary failed: ${r.message}`),!1}}if(e===Kt.file){if(!this._dcFile)return!1;try{let r=Array.isArray(n)?n[0]:n,i=Buffer.isBuffer(r)?r:Buffer.from(r);return this._dcFile.bufferedAmount()>Ss.dcBufferThreshold?!1:this._dcFile.sendMessageBinary(i)}catch(r){return ar.error(`send file failed: ${r.message}`),!1}}return!1}async _handleSignal(e,n){if(e.type==="offer"){if(this._turnPromise)try{await this._turnPromise}catch{}this._processOffer(e.sdp,n)}else if(e.type==="ice"){if(!this._remoteSet||!this._pc){this._pendingCandidates.push({candidate:e.candidate,mid:e.mid||"0"});return}this._addRemoteCandidate(e.candidate,e.mid||"0")}else e.type==="error"&&ar.warn(`remote signaling error: ${e.message||"unknown"}`)}async _addRemoteCandidate(e,n){try{if(!e){this._pc?.addRemoteCandidate("",n);return}let r=await PJ(e);if(!r||!this._pc)return;this._pc.addRemoteCandidate(r,n)}catch(r){ar.error(`addRemoteCandidate: ${r.message}`)}}_createPeer(e){this._pc&&ar.warn(`peer recreate while live (state=${this._state}) \u2014 reconnect race`);try{this._pc?.close()}catch{}this._pc=null,this._dcControl=null,this._dcBinary=null,this._dcFile=null,this._remoteSet=!1,this._lastMid=null,this.typeDetail="dc-stun",this._iceGraceTimer&&(clearTimeout(this._iceGraceTimer),this._iceGraceTimer=null),this._answerTimer&&(clearTimeout(this._answerTimer),this._answerTimer=null);let n=this._ctx?.auth?.socketId||"anon",{PeerConnection:r}=DDe(),i=new r(`peer-${n}`,{iceServers:this._iceServers});this._pcState="new",i.onStateChange(s=>{let o=this._pcState;if(this._pcState=s,ar.debug(`peer ${o}\u2192${s}`),s==="failed"||s==="closed")this._iceGraceTimer&&(clearTimeout(this._iceGraceTimer),this._iceGraceTimer=null),this._setState(or.closed);else if(s==="disconnected"){if(this._iceGraceTimer)return;ar.debug(`peer disconnected \u2192 grace ${Te.webrtc.iceDisconnectGraceMs}ms before closing`),this._iceGraceTimer=setTimeout(()=>{if(this._iceGraceTimer=null,this._pcState==="connected"){ar.debug("peer recovered inside grace");return}ar.debug(`peer still ${this._pcState} after grace \u2192 closed`),this._setState(or.closed)},Te.webrtc.iceDisconnectGraceMs)}else s==="connected"&&this._iceGraceTimer&&(clearTimeout(this._iceGraceTimer),this._iceGraceTimer=null)}),i.onDataChannel(s=>{let o=s.getLabel?.()||"",a=()=>{o==="control"?(this._dcControl=s,this._peerHb&&this._startHeartbeat(s)):o==="binary"?this._dcBinary=s:o==="file"&&(this._dcFile=s),this._dcControl&&this._dcBinary&&this._setState(or.open)};s.onOpen(()=>{ar.debug(`DC[${o}] open`),a()}),s.onClosed(()=>{ar.debug(`DC[${o}] closed`),o==="control"&&(this._stopHeartbeat(),this._dcControl=null),o==="binary"&&(this._dcBinary=null),o==="file"&&(this._dcFile=null),!this._dcControl&&!this._dcBinary&&this._setState(or.closed)}),s.onError(c=>ar.error(`DC[${o}] error: ${c?.message||c}`)),s.onMessage(c=>{if(o==="file"){this._emit("binary",{channel:"file",buffer:c,source:"rtc"});return}if(o!=="control")return;let l;try{let u;typeof c=="string"?u=sJ(c):(u=$M(c),this._v2RxSeen||(this._v2RxSeen=!0,ar.info("[env2] first v2 binary frame DECODED from client (mutual upgrade confirmed)"))),l=this._reassemble.push(u)}catch(u){ar.error(`control parse: ${u.message}`);return}if(l){if(l.event==="__pong"){this._hbLastPong=Date.now();return}if(l.event==="rtc:linkType"){this.typeDetail=l.args?.[0]||"dc-stun",ar.info(`[rtc] linkType from client: ${this.typeDetail}`);return}try{this._emit("message",{event:l.event,data:l,source:"rtc"})}catch(u){ar.error(`handler error event=${l.event}: ${u.message}`)}}})}),this._pc=i}_processOffer(e,n){this._createPeer(n);let r=!1,i=()=>{this._answerTimer&&(clearTimeout(this._answerTimer),this._answerTimer=null)};return new Promise((s,o)=>{this._pc.onLocalDescription((c,l)=>{l!=="answer"||r||(r=!0,i(),this._signaling?.send?.({type:"answer",sdp:c,pub:zb(),xpub:Kb(),sig:FJ(c)}),s())}),this._pc.onLocalCandidate((c,l)=>{this._lastMid=l,c&&this._signaling?.send?.({type:"ice",candidate:c,mid:l})}),this._pc.onGatheringStateChange?.(c=>{c==="complete"&&this._signaling?.send?.({type:"ice",candidate:"",mid:this._lastMid||"0"})});try{this._pc.setRemoteDescription(e,"offer"),this._remoteSet=!0;for(let{candidate:c,mid:l}of this._pendingCandidates)this._addRemoteCandidate(c,l);this._pendingCandidates=[],this._pc.setLocalDescription()}catch(c){r||(r=!0,i()),this._signaling?.send?.({type:"error",message:c.message}),o(c);return}let a=n?.answerTimeout||1e4;this._answerTimer=setTimeout(()=>{r||(r=!0,this._answerTimer=null,ar.warn(`Answer timeout (no local description within ${a}ms)`),o(new Error("Answer timeout")))},a)})}_cleanupPeer(){this._iceGraceTimer&&(clearTimeout(this._iceGraceTimer),this._iceGraceTimer=null),this._answerTimer&&(clearTimeout(this._answerTimer),this._answerTimer=null),this._stopHeartbeat();try{this._pc?.close()}catch{}this._pc=null,this._dcControl=null,this._dcBinary=null,this._dcFile=null,this.typeDetail="dc-stun",this._reassemble=GM()}setPeerCaps(e){this._peerHb=!!e?.hb,this._peerEnv2=!!e?.env2,this._peerFragCtl=!!e?.fragCtl,this._peerHb&&this._dcControl&&!this._hbTimer&&this._startHeartbeat(this._dcControl)}get maxControlBytes(){try{return this._dcControl?.maxMessageSize()||Vv}catch{return Vv}}_sendFramed(e){let n=this._peerFragCtl?this.maxControlBytes:1/0,r=aJ(e,n,++this._fragSeq);if(!r)return!1;try{for(let i of r)if(!this._dcControl.sendMessageBinary(i))return!1;return!0}catch(i){return ar.debug(`control send refused: ${i.message}`),!1}}_startHeartbeat(e){this._stopHeartbeat(),this._hbLastPong=Date.now(),this._hbTimer=setInterval(()=>{if(!this._dcControl){this._stopHeartbeat();return}let n=Date.now()-this._hbLastPong;if(n>XX){ar.warn(`heartbeat: no pong for ${n}ms \u2192 closing stalled peer`),this._stopHeartbeat();try{this._pc?.close()}catch{}return}try{e.sendMessage(qM({event:"__ping",args:[Date.now()]}))}catch(r){ar.debug(`heartbeat send failed: ${r.message}`)}},YX)}_stopHeartbeat(){this._hbTimer&&(clearInterval(this._hbTimer),this._hbTimer=null)}async _refreshTurn(e){let n=await BDe(e.turnApiUrl,this._ctx.auth.apiKey);this._closed||(n?.length&&(this._iceServers=n,Te.logging?.webrtc&&console.log(`[WebRtcProtocol] TURN credentials loaded (${n.length} servers)`)),clearTimeout(this._refreshTimer),this._refreshTimer=setTimeout(()=>this._refreshTurn(e),e.turnRefreshInterval))}}});function aD(t){if(!t?.id)throw new Error("Adapter missing static id");$J.set(t.id,t)}function Jb(t){return $J.get(t)}var $J,GJ=ae(()=>{$J=new Map});var cg,lg,jt,cD=ae(()=>{Mr();ot();cg=()=>Te.logging,lg=be("remote"),jt={lifecycle:t=>{cg().lifecycle&&lg.info(t)},focus:t=>{cg().focus&&lg.info(t)},dpi:t=>{cg().dpiDetection&&lg.info(t)},stats:t=>{cg().resizeStats&&lg.info(t)},error:(t,e)=>{cg().errors&&lg.error(`${t} ${e?.message||e||""}`)},warn:t=>{cg().errors&&lg.warn(t)}}});function e0(){for(let t of[Oe.ROOT,Oe.STATE])hp.default.existsSync(t)||hp.default.mkdirSync(t,{recursive:!0})}function fD(){try{return e0(),hp.default.existsSync(uD)?JSON.parse(hp.default.readFileSync(uD,"utf8"))||{}:{}}catch{return{}}}function HJ(t){try{e0();let e={...fD(),...t};return Sn(uD,e),e}catch(e){return console.error("Error saving settings:",e),null}}function Wi(){try{return e0(),hp.default.existsSync(lD)?JSON.parse(hp.default.readFileSync(lD,"utf8")):{machineId:null,key:null,name:"Default",createdAt:null}}catch{return{machineId:null,key:null,name:"Default",createdAt:null}}}function jl(t){try{e0(),Sn(qDe,{cmd:t,ts:Date.now()},{spaces:0})}catch{}}function jJ(t,e,n="Default"){try{e0();let r={machineId:t,key:e,name:n,createdAt:new Date().toISOString()};return Sn(lD,r),r}catch(r){return console.error("Error saving key:",r),null}}var hp,Zv,v_t,E_t,lD,qDe,uD,ff=ae(()=>{hp=ce(require("fs"),1),Zv=ce(require("path"),1);Mt();po();v_t=Oe.STATE,E_t=Zv.default.join(Oe.STATE,"state.json"),lD=Zv.default.join(Oe.ROOT,"keys.json"),qDe=Zv.default.join(Oe.STATE,"cmd.json"),uD=Zv.default.join(Oe.STATE,"settings.json")});function WJ(){return new Promise(t=>{if(process.platform!=="darwin"){t({screenRecording:!0,accessibility:!0});return}let e=!1,n=!1,r=0,i=()=>{++r===2&&t({screenRecording:e,accessibility:n})};(0,t0.execFile)("osascript",["-e",'use framework "ApplicationServices"',"-e",`set checkOptions to current application's NSDictionary's dictionaryWithObject:(false) forKey:("AXTrustedCheckOptionPrompt" as string)`,"-e","return current application's AXIsProcessTrustedWithOptions(checkOptions) as boolean"],{timeout:3e3},(s,o)=>{n=!s&&o.trim()==="true",i()}),(0,t0.exec)(`osascript -e 'use framework "CoreGraphics"' -e "return (current application's CGPreflightScreenCaptureAccess()) as boolean"`,{timeout:3e3},(s,o)=>{e=!s&&o.trim()==="true",i()})})}function VJ(t){let e=$De[t];e&&process.platform==="darwin"&&(0,t0.exec)(`open "${e}"`,()=>{})}var t0,$De,zJ=ae(()=>{t0=require("child_process"),$De={screenRecording:"x-apple.systempreferences:com.apple.preference.security?Privacy_ScreenCapture",accessibility:"x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"}});function GDe(){return!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY}function i0(){for(let t=KJ,e=null;t!==e;e=t,t=ya.default.dirname(t)){let n=ya.default.join(t,"package.json");if((0,gn.existsSync)(n)){try{let r=JSON.parse((0,gn.readFileSync)(n,"utf8"));if(r.name!==Em)continue;let i=typeof r.bin=="string"?r.bin:r.bin?.[Em];if(i){let s=ya.default.resolve(t,i);if((0,gn.existsSync)(s))return s}}catch{}break}}return process.argv[1]||ya.default.resolve(KJ,"..","index.js")}function dg(){return process.execPath}function JJ(){let t=ya.default.dirname(dg()),e=["/usr/local/bin","/usr/bin","/bin","/usr/sbin","/sbin","/opt/homebrew/bin"];return e.includes(t)||e.unshift(t),e.join(":")}function dD(t){return String(t).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}function HDe(t,e){let n=[t,e,...tT].map(r=>` <string>${dD(r)}</string>`).join(`
|
|
35
35
|
`);return`<?xml version="1.0" encoding="UTF-8"?>
|
|
36
36
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
@@ -371,7 +371,7 @@ export default function (${e}) {
|
|
|
371
371
|
${e}.on(${JSON.stringify(n)}, async () => post("working"));
|
|
372
372
|
${e}.on(${JSON.stringify(r)}, async () => post("done"));
|
|
373
373
|
}
|
|
374
|
-
`}function D4e(t){let e=N4e[t];if(!e)return{success:!1,error:"Unknown tool"};try{return t==="codex"||t==="opencode"||t==="amp"||t==="pi"?e.enable():e.enable(Fn[t]())}catch(n){return{success:!1,error:n.message}}}function L4e(t){let e=(process.env.PATH||"").split(Sr.default.delimiter).filter(Boolean),n=process.platform==="win32"?(process.env.PATHEXT||".EXE;.CMD;.BAT").split(";"):[""];return e.some(r=>n.some(i=>{try{return Je.default.existsSync(Sr.default.join(r,t+i))}catch{return!1}}))}function pce(t){let e=cce[t];if(e&&L4e(e))return!0;let n=u4e[t]?.();return n?(Array.isArray(n)?n:[n]).some(r=>Je.default.existsSync(r)):!1}function hce(){let t={};for(let e of M4e)if(pce(e))try{let n=D4e(e);t[e]=n.success&&!n.untrusted?.length}catch{t[e]=!1}return t}async function mce(){if(!pce("codex"))return null;try{let{missing:t}=await w4e();return t.length&&console.warn(`\u26A0\uFE0F codex hooks written but not trusted: ${t.length} \u2014 run codex and trust them`),t.length?{untrusted:t.length}:{untrusted:0}}catch(t){return console.warn(`\u26A0\uFE0F codex hook trust failed: ${t.message}`),{error:t.message}}}function gce(){let t=Fn.claude(),e=xr(t);if(!e.hooks?.Stop&&!e.hooks?.Notification)return;let n=e.env||{};Object.keys(yv).some(i=>n[i]!==yv[i])&&(lce(e),ns(t,e))}var sce,Je,Sr,oce,pq,ace,l4e,ki,oh,Fn,cce,ah,u4e,hq,XC,YC,f4e,KC,uce,ubt,fce,y4e,v4e,x4e,rce,T4e,R4e,I4e,k4e,P4e,O4e,N4e,M4e,yce=ae(()=>{sce=ce(require("os"),1),Je=ce(require("fs"),1),Sr=ce(require("path"),1),oce=require("child_process");Mt();po();Cc();pq=`http://localhost:${hs}/api/notify`,ace="nineRemoteNotify",l4e=Sr.default.join(Oe.STATE,"claudeEnvBackup.json"),ki=(...t)=>Sr.default.join(sce.default.homedir(),...t),oh=(t,...e)=>{let n=process.env[t];return n&&n.trim()?n.trim():ki(...e)},Fn={claude:()=>ki(".claude","settings.json"),codex:()=>ki(".codex","config.toml"),codexHooks:()=>ki(".codex","hooks.json"),codexScript:()=>ki(".codex","9remote-notify.sh"),opencode:()=>ki(".config","opencode","plugin",`${ace}.js`),grok:()=>Sr.default.join(oh("GROK_HOME",".grok"),"hooks","9remote.json"),cursor:()=>ki(".cursor","hooks.json"),antigravity:()=>ki(".gemini","config","hooks.json"),kiro:()=>Sr.default.join(oh("KIRO_HOME",".kiro"),"agents","9remote.json"),copilot:()=>Sr.default.join(oh("COPILOT_HOME",".copilot"),"config.json"),codebuddy:()=>Sr.default.join(oh("CODEBUDDY_CONFIG_DIR",".codebuddy"),"settings.json"),factory:()=>ki(".factory","settings.json"),qoder:()=>Sr.default.join(oh("QODER_CONFIG_DIR",".qoder"),"settings.json"),rovodev:()=>ki(".rovodev","config.yml"),hermes:()=>Sr.default.join(oh("HERMES_HOME",".hermes"),"config.yaml"),amp:()=>ki(".config","amp","plugins","9remote.ts"),pi:()=>Sr.default.join(oh("PI_CODING_AGENT_DIR",".pi","agent"),"extensions","9remote.ts")},cce={claude:"claude",codex:"codex",opencode:"opencode",grok:"grok",cursor:"cursor-agent",antigravity:"agy",kiro:"kiro-cli",copilot:"copilot",codebuddy:"codebuddy",factory:"droid",qoder:"qodercli",rovodev:"acli",hermes:"hermes",amp:"amp",pi:"pi"},ah=(t,e,{sessionId:n=!1}={})=>{let r=n?Wg(e)[0]:null;return`${r?`csid=$(cat 2>/dev/null | sed -n 's/.*"${r}" *: *"\\([^"]*\\)".*/\\1/p'); `:""}command -v curl >/dev/null 2>&1 && curl -s --connect-timeout 1 --max-time 2 "${pq}?type=${t}&sessionId=$NINE_REMOTE_SESSION_ID${r?"&csid=$csid":""}&tool=${e}" > /dev/null 2>&1 & true`},u4e={claude:()=>ki(".claude"),codex:()=>ki(".codex"),opencode:()=>[ki(".config","opencode"),ki(".opencode")]},hq=t=>Math.ceil(t/1e3),XC=5e3,YC=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),f4e=t=>`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;KC={UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",PermissionRequest:"blocked"},uce=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),ubt=Object.fromEntries(Object.keys(KC).map(t=>[uce(t),t])),fce=/^\[hooks\.state\."(?<key>[^"]+)"\]$/m,y4e=15e3;v4e=t=>/^sha256:/.test(t)?t:`sha256:${t}`;x4e=/# 9Remote notification\nnotify\s*=.*\n?/g,rce=/^# 9Remote-saved: (notify\s*=.*)$/m;T4e={enable(){let t=Fn.codexHooks(),e=xr(t),n={...e.hooks||{}};for(let[r,i]of Object.entries(KC))n[r]=[...(n[r]||[]).filter(s=>!dq(s)),A4e(i)];return e.hooks=n,ns(t,e),b4e(),{success:!0}},disable(){let t=Fn.codexHooks(),e=new Set(dce(t).filter(n=>n.command.includes("&tool=codex")).map(n=>n.key));if(Je.default.existsSync(t)){let n=xr(t);if(n.hooks){for(let r of Object.keys(KC))n.hooks[r]=(n.hooks[r]||[]).filter(i=>!dq(i)),n.hooks[r].length===0&&delete n.hooks[r];Object.keys(n.hooks).length===0&&delete n.hooks}ns(t,n)}return S4e(Fn.codex(),e),{success:!0}},isEnabled(){let t=xr(Fn.codexHooks()).hooks||{};return Object.keys(KC).every(e=>(t[e]||[]).some(dq))}};R4e={enable(){let t=Fn.opencode(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,C4e(),"utf8"),{success:!0}},disable(){let t=Fn.opencode();return Je.default.existsSync(t)&&Je.default.unlinkSync(t),{success:!0}},isEnabled(){let t=Fn.opencode();return Je.default.existsSync(t)&&Je.default.readFileSync(t,"utf8").includes("&sessionID=")}};I4e="# 9remote hooks begin",k4e="# 9remote hooks end",P4e=" # 9remote hooks begin",O4e=" # 9remote hooks end",N4e={claude:Iy("claude",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",PermissionRequest:"blocked",Notification:"blocked"},t=>t,{matchers:{Notification:"permission_prompt"},extra:lce,sessionId:!0}),codex:T4e,opencode:R4e,grok:Iy("grok",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},hq),cursor:h4e("cursor",{stop:"done",beforeShellExecution:"blocked",beforeToolCall:"working"},{extra:t=>{t.version=t.version||1}}),antigravity:m4e("antigravity","9remote",{UserPromptSubmit:"working",PreToolUse:"working",Stop:"done",Notification:"blocked"}),kiro:g4e("kiro",{UserPromptSubmit:"working",PostToolUse:"working",preToolUse:"blocked",stop:"done"}),copilot:Iy("copilot",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),codebuddy:Iy("codebuddy",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),factory:Iy("factory",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),qoder:Iy("qoder",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),rovodev:nce("rovodev",{begin:P4e,end:O4e,items:[{event:"on_complete",type:"done"},{event:"on_error",type:"done"},{event:"on_tool_permission",type:"blocked"},{event:"on_message",type:"working"},{event:"on_tool_start",type:"working"}]}),hermes:(()=>{let t=nce("hermes",{begin:I4e,end:k4e,items:[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}]}),e=()=>Sr.default.join(Sr.default.dirname(Fn.hermes()),"shell-hooks-allowlist.json");return{enable:()=>{let n=t.enable(Fn.hermes()),r=xr(e()),i=(r.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes")));return r.approvals=[...i,...[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}].map(({event:s,type:o})=>({event:s,command:ah(o,"hermes"),approved_at:"2020-01-01T00:00:00Z"}))],ns(e(),r),n},disable:()=>{let n=t.disable(Fn.hermes()),r=e();if(Je.default.existsSync(r)){let i=xr(r);i.approvals=(i.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes"))),i.approvals.length?ns(r,i):Je.default.unlinkSync(r)}return n},isEnabled:()=>t.isEnabled(Fn.hermes())}})(),amp:{enable(){let t=Fn.amp(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,ice("amp","amp","agent.start","agent.end"),"utf8"),{success:!0}},disable(){return Je.default.existsSync(Fn.amp())&&Je.default.unlinkSync(Fn.amp()),{success:!0}},isEnabled(){return Je.default.existsSync(Fn.amp())}},pi:{enable(){let t=Fn.pi(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,ice("pi","pi","agent_start","agent_end"),"utf8"),{success:!0}},disable(){return Je.default.existsSync(Fn.pi())&&Je.default.unlinkSync(Fn.pi()),{success:!0}},isEnabled(){return Je.default.existsSync(Fn.pi())}}},M4e=m8});var mq=ae(()=>{Rs()});var fq={};fr(fq,{broadcastAiStatus:()=>CE,broadcastServerInfo:()=>Eq,initializeTerminal:()=>vq,listSessionRoots:()=>su,matchWorkspacePath:()=>bce,registerManagedSession:()=>_q,setConnectCheckHandler:()=>wq,setupTerminalHandlers:()=>Sq,setupTerminalSocket:()=>qf});async function q4e(t,e){if(!jte(e))return;let r=(await gf().catch(()=>null))?.find(s=>s.id===e);Hte(e,r?.foregroundProcess)?.state==="idle"&&(et(t,"statusChange",{sessionId:e,state:"idle",tool:null,conversationId:null}),et(t,"statusState",Ic()))}function $4e(t,e){let n=(QC.get(t)||"")+e,r=null;_ce.lastIndex=0;for(let o;o=_ce.exec(n);)r=o[1];if(r){let o=Cte(r);o&&Ji(t,o)}let i=n.lastIndexOf("\x1B]"),s=i===-1?"":n.slice(i);s&&s.length<=F4e&&!s.slice(3).includes("\x07")&&!s.includes("\x1B\\")?QC.set(t,s):QC.delete(t)}function Ece(){let t=(vce||Promise.resolve()).catch(()=>{}).then(()=>G4e());return vce=t.catch(()=>{}),t}async function G4e(){let t=await gf(),e=new Map(t.map(r=>[r.id,r])),n=_A();for(let r of t)if(!n[r.id])try{await yf(r.id)}catch{}Fr.clear();for(let[r,i]of Object.entries(n)){let s=e.get(r);Fr.set(r,{daemon:!0,name:i.name,autoNamed:i.autoNamed!==!1,createdAt:i.createdAt,shellId:i.shellId,cwd:s?.cwd||i.cwd,workspacePath:i.workspacePath??TE[r]??null,lastCols:i.cols??null,lastRows:i.rows??null,needsRespawn:!s,agent:i.agent||null}),i.agent&&Ji(r,i.agent),IU(r,i)}Jr(Fr)}function H4e(t){!Ff||!t||AE.has(t)||AE.set(t,setTimeout(()=>{AE.delete(t),eC(Ff,Fr,t).catch(()=>{})},z7))}function gq(){let{assignments:t,created:e}=pne({sessions:Fr,workspaces:[...Bf.values()],sessionWorkspaces:lh});if(Object.keys(t).length){for(let n of e)Bf.set(n.id,n);for(let[n,r]of Object.entries(t)){lh[n]=r;let i=Fr.get(n);i&&!i.workspacePath&&(i.workspacePath=Bf.get(r)?.path||null)}Yg(Bf,lh,ZC),Jr(Fr),console.log(xce(`\u{1F4C1} Grouped ${Object.keys(t).length} loose terminal(s)`+(e.length?` into ${e.length} new workspace(s)`:"")))}}function su(){return[...Fr.entries()].map(([t,e])=>({id:t,name:e.name,workspacePath:e.workspacePath||null,cwd:e.cwd||null}))}function bce(t,e){let n=e?(0,ch.resolve)(e):"";if(!n)return null;let r=null,i=null,s=null;for(let o of t||[]){if(!o?.path)continue;let a=(0,ch.resolve)(o.path);n===a?r=o:n.startsWith(a+"/")&&(!i||a.length>(0,ch.resolve)(i.path).length)?i=o:a.startsWith(n+"/")&&(!s||a.length<(0,ch.resolve)(s.path).length)&&(s=o)}return r||i||s||null}function _q({sessionId:t,name:e,autoNamed:n=!0,cwd:r=null,workspacePath:i=null,shellId:s=null,shellLabel:o=null,agent:a=null}){let c=bce([...Bf.values()],i||r)||null;return Fr.set(t,{daemon:!0,name:e,autoNamed:n,createdAt:Date.now(),cwd:r||c?.path||null,workspacePath:c?.path||null,shellId:s,shellLabel:o,agent:a}),c&&(lh[t]=c.id,Yg(Bf,lh,ZC)),Jr(Fr),et(null,"sessionsChanged"),{success:!0,sessionId:t,workspacePath:c?.path||null}}async function vq(){let t=ine();if(!t){let r=_A(),i=rne();t=dne(i,r);let s=new Map(t.workspaces.map(c=>[c.id,c]));if(Yg(s,t.sessionWorkspaces,t.sessionOrder),TE=t.sessionPaths||{},Object.keys(TE).length){for(let[c,l]of Object.entries(TE))r[c]&&(r[c].workspacePath=l);nne(r)}let o=(i.groups||[]).filter(c=>t.workspaces.some(l=>l.id===c.id)).length,a=(i.groups||[]).length-o;(t.workspaces.length||a)&&console.log(xce(`\u{1F4C1} Migrated ${t.workspaces.length} workspace(s) from terminal groups`+(a?`, dropped ${a} empty group(s)`:"")))}for(let r of t.workspaces)Bf.set(r.id,r);Object.assign(lh,t.sessionWorkspaces),ZC.push(...t.sessionOrder),Fte(()=>Jr(Fr)),Vte(H4e);try{gce()}catch{}try{hce()}catch{}mce().catch(()=>{});try{Zae()}catch{}if(yq==="daemon")if(!await uL())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{await Ece(),gq(),wp("connected",()=>{Ece().then(gq).catch(()=>{})});return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let e=tne(),n=_A();for(let r of e){let i=n[r]||{};Fr.set(r,{pty:null,name:i.name||`Terminal ${Fr.size+1}`,autoNamed:i.autoNamed!==!1,createdAt:i.createdAt||Date.now(),cwd:i.cwd,workspacePath:i.workspacePath??TE[r]??null,shellId:i.shellId,buffer:[],needsRestore:!0}),IU(r,i),console.log(`\u{1F504} Found saved session: ${r}`)}e.length>0&&console.log(`\u2705 Found ${e.length} saved session(s)`),gq()}function qf(t,e){Ff=t,yq==="daemon"&&(wp("output",({sessionId:i,enc:s,data:o,replay:a})=>{a!==!0&&(pA(i),fA(i));let c=s==="b64"?Buffer.from(o,"base64"):Buffer.from(o||"");c.length>wa&&(JC++,(JC===1||JC%500===0)&&Sce.info(`[slice] chunk ${c.length>>10}KB \u2192 ${Math.ceil(c.length/wa)} events (total sliced: ${JC})`)),s==="b64"&&$4e(i,c.toString("utf8"));for(let l=0;l<c.length||l===0;l+=wa){let u=c.subarray(l,l+wa),f=a===!0?rE(i):fie(i);a!==!0&&die(i,f,u),et(t,"output",{sessionId:i,enc:"bin",data:u,replay:a===!0,seq:f})}}),Jte(i=>et(t,"statusState",Ic())),Yte(()=>et(t,"statusState",Ic())),wp("cwdChange",({sessionId:i,cwd:s})=>{let o=Fr.get(i);o&&s&&o.cwd!==s&&(o.cwd=s,Jr(Fr)),et(t,"cwdChange",{sessionId:i,cwd:s})}),wp("processChange",({sessionId:i,process:s})=>{let o=Gte(i,s);if(o?.state==="pendingShell"){setTimeout(()=>q4e(t,i),B4e);return}o?.state==="idle"&&(et(t,"statusChange",{sessionId:i,state:"idle",tool:null,conversationId:null}),et(t,"statusState",Ic()))}),wp("sessionClosed",i=>{Fr.delete(i),cy(i),Vg(i),QC.delete(i);let s=AE.get(i);s&&(clearTimeout(s),AE.delete(i)),OU(i),et(t,"sessionClosed",i),et(t,"notificationCleared",i)}));let n=()=>({version:U4e,remoteAvailable:gp(),mobileAvailable:ute(),daemonMode:yq==="daemon"&&In(),platform:process.platform,updateAvailable:AD(),canSelfUpdate:!0,caps:{joinSessionSize:!0,artifact:!0},artifactEnabled:bE(),voiceConfig:_a().voiceConfig||null,mcpClients:Ry,...pte()}),r=()=>{let i=n();for(let s of t.sockets.sockets.values())s.data?.approved&&s.emit("serverInfo",i)};kD(r),qf._buildServerInfo=n,qf._emitServerInfo=r}function Eq(){qf._emitServerInfo?.()}function CE(t,e,n,r=null){if(!Ff)return null;if(e==="done")return dA(t,()=>{let a=r?.sessionId||r?.threadId||Xi(t)?.id||null,c=kf(t),l=Bp({type:e,sessionId:t,tool:n});!l||l===c||(et(Ff,"statusChange",{sessionId:t,state:e,tool:n,conversationId:a}),et(Ff,"statusState",Ic()))}),kf(t);let i=r?.sessionId||r?.threadId||Xi(t)?.id||null,s=kf(t),o=Bp({type:e,sessionId:t,tool:n});return!o||o===s||(et(Ff,"statusChange",{sessionId:t,state:e,tool:n,conversationId:i}),et(Ff,"statusState",Ic())),o}function wq(t){Tce=t}async function Sq(t,e,n){Sce.info(`[diag] setupTerminalHandlers START id=${t.id} virtual=${!!t.defersWsAdapter}`),hte(),Tce?.(),t.emit("srvCaps",{env2:1}),t.emit("serverInfo",qf._buildServerInfo?.()),_ie(t,e,Fr,Bf,lh,ZC),Tie(t,Fr),ece(t,e),FT()&&await uZ(t,n).catch(r=>{console.error("\u274C Failed to setup remote handlers:",r.message)}),fte(t),t.on("disconnect",()=>{joe(t.id),mte()})}var ch,wce,Sce,Gbt,xce,yq,U4e,_ce,F4e,B4e,QC,Fr,Bf,lh,ZC,TE,vce,AE,Ff,JC,Tce,Na=ae(()=>{lO();ch=require("path"),wce=require("url");li();BT();dte();mo();ZT();vA();hne();nC();Aie();tce();yce();zC();pg();NC();mq();Rs();Cc();Vi();GF();Wl();ot();Sce=be("terminal"),Gbt=(0,ch.dirname)((0,wce.fileURLToPath)(__importMetaUrl)),xce=mv.rgb(230,138,110),yq="daemon",U4e="3.0.1",_ce=/\x1b\](?:0|2);([^\x07\x1b]*)(?:\x07|\x1b\\)/g,F4e=256,B4e=1500,QC=new Map;Fr=new Map,Bf=new Map,lh={},ZC=[],TE={},vce=null;AE=new Map,Ff=null;JC=0;Tce=null});var RE=B((Hbt,kce)=>{"use strict";var j4e=require("path"),Uc="\\\\/",Ace=`[^${Uc}]`,W4e=0,ou="\\.",V4e="\\+",z4e="\\?",eR="\\/",K4e="(?=.)",Cce="[^/]",xq=`(?:${eR}|$)`,Rce=`(?:^|${eR})`,bq=`${ou}{1,2}${xq}`,Y4e=`(?!${ou})`,X4e=`(?!${Rce}${bq})`,J4e=`(?!${ou}{0,1}${xq})`,Q4e=`(?!${bq})`,Z4e=`[^.${eR}]`,e3e=`${Cce}*?`,Ice={DOT_LITERAL:ou,PLUS_LITERAL:V4e,QMARK_LITERAL:z4e,SLASH_LITERAL:eR,ONE_CHAR:K4e,QMARK:Cce,END_ANCHOR:xq,DOTS_SLASH:bq,NO_DOT:Y4e,NO_DOTS:X4e,NO_DOT_SLASH:J4e,NO_DOTS_SLASH:Q4e,QMARK_NO_DOT:Z4e,STAR:e3e,START_ANCHOR:Rce},t3e={...Ice,SLASH_LITERAL:`[${Uc}]`,QMARK:Ace,STAR:`${Ace}*?`,DOTS_SLASH:`${ou}{1,2}(?:[${Uc}]|$)`,NO_DOT:`(?!${ou})`,NO_DOTS:`(?!(?:^|[${Uc}])${ou}{1,2}(?:[${Uc}]|$))`,NO_DOT_SLASH:`(?!${ou}{0,1}(?:[${Uc}]|$))`,NO_DOTS_SLASH:`(?!${ou}{1,2}(?:[${Uc}]|$))`,QMARK_NO_DOT:`[^.${Uc}]`,START_ANCHOR:`(?:^|[${Uc}])`,END_ANCHOR:`(?:[${Uc}]|$)`},n3e={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};kce.exports={DEFAULT_MAX_EXTGLOB_RECURSION:W4e,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:n3e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:j4e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?t3e:Ice}}});var tR=B(rs=>{"use strict";var r3e=require("path"),i3e=process.platform==="win32",{REGEX_BACKSLASH:s3e,REGEX_REMOVE_BACKSLASH:o3e,REGEX_SPECIAL_CHARS:a3e,REGEX_SPECIAL_CHARS_GLOBAL:c3e}=RE();rs.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);rs.hasRegexChars=t=>a3e.test(t);rs.isRegexChar=t=>t.length===1&&rs.hasRegexChars(t);rs.escapeRegex=t=>t.replace(c3e,"\\$1");rs.toPosixSlashes=t=>t.replace(s3e,"/");rs.removeBackslashes=t=>t.replace(o3e,e=>e==="\\"?"":e);rs.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};rs.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:i3e===!0||r3e.sep==="\\";rs.escapeLast=(t,e,n)=>{let r=t.lastIndexOf(e,n);return r===-1?t:t[r-1]==="\\"?rs.escapeLast(t,e,r-1):`${t.slice(0,r)}\\${t.slice(r)}`};rs.removePrefix=(t,e={})=>{let n=t;return n.startsWith("./")&&(n=n.slice(2),e.prefix="./"),n};rs.wrapOutput=(t,e={},n={})=>{let r=n.contains?"":"^",i=n.contains?"":"$",s=`${r}(?:${t})${i}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Fce=B((Wbt,Uce)=>{"use strict";var Pce=tR(),{CHAR_ASTERISK:Tq,CHAR_AT:l3e,CHAR_BACKWARD_SLASH:IE,CHAR_COMMA:u3e,CHAR_DOT:Aq,CHAR_EXCLAMATION_MARK:Cq,CHAR_FORWARD_SLASH:Lce,CHAR_LEFT_CURLY_BRACE:Rq,CHAR_LEFT_PARENTHESES:Iq,CHAR_LEFT_SQUARE_BRACKET:f3e,CHAR_PLUS:d3e,CHAR_QUESTION_MARK:Oce,CHAR_RIGHT_CURLY_BRACE:p3e,CHAR_RIGHT_PARENTHESES:Nce,CHAR_RIGHT_SQUARE_BRACKET:h3e}=RE(),Mce=t=>t===Lce||t===IE,Dce=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},m3e=(t,e)=>{let n=e||{},r=t.length-1,i=n.parts===!0||n.scanToEnd===!0,s=[],o=[],a=[],c=t,l=-1,u=0,f=0,p=!1,m=!1,g=!1,y=!1,w=!1,S=!1,T=!1,R=!1,C=!1,D=!1,q=0,G,V,L={value:"",depth:0,isGlob:!1},k=()=>l>=r,E=()=>c.charCodeAt(l+1),A=()=>(G=V,c.charCodeAt(++l));for(;l<r;){V=A();let X;if(V===IE){T=L.backslashes=!0,V=A(),V===Rq&&(S=!0);continue}if(S===!0||V===Rq){for(q++;k()!==!0&&(V=A());){if(V===IE){T=L.backslashes=!0,A();continue}if(V===Rq){q++;continue}if(S!==!0&&V===Aq&&(V=A())===Aq){if(p=L.isBrace=!0,g=L.isGlob=!0,D=!0,i===!0)continue;break}if(S!==!0&&V===u3e){if(p=L.isBrace=!0,g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===p3e&&(q--,q===0)){S=!1,p=L.isBrace=!0,D=!0;break}}if(i===!0)continue;break}if(V===Lce){if(s.push(l),o.push(L),L={value:"",depth:0,isGlob:!1},D===!0)continue;if(G===Aq&&l===u+1){u+=2;continue}f=l+1;continue}if(n.noext!==!0&&(V===d3e||V===l3e||V===Tq||V===Oce||V===Cq)===!0&&E()===Iq){if(g=L.isGlob=!0,y=L.isExtglob=!0,D=!0,V===Cq&&l===u&&(C=!0),i===!0){for(;k()!==!0&&(V=A());){if(V===IE){T=L.backslashes=!0,V=A();continue}if(V===Nce){g=L.isGlob=!0,D=!0;break}}continue}break}if(V===Tq){if(G===Tq&&(w=L.isGlobstar=!0),g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===Oce){if(g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===f3e){for(;k()!==!0&&(X=A());){if(X===IE){T=L.backslashes=!0,A();continue}if(X===h3e){m=L.isBracket=!0,g=L.isGlob=!0,D=!0;break}}if(i===!0)continue;break}if(n.nonegate!==!0&&V===Cq&&l===u){R=L.negated=!0,u++;continue}if(n.noparen!==!0&&V===Iq){if(g=L.isGlob=!0,i===!0){for(;k()!==!0&&(V=A());){if(V===Iq){T=L.backslashes=!0,V=A();continue}if(V===Nce){D=!0;break}}continue}break}if(g===!0){if(D=!0,i===!0)continue;break}}n.noext===!0&&(y=!1,g=!1);let N=c,I="",P="";u>0&&(I=c.slice(0,u),c=c.slice(u),f-=u),N&&g===!0&&f>0?(N=c.slice(0,f),P=c.slice(f)):g===!0?(N="",P=c):N=c,N&&N!==""&&N!=="/"&&N!==c&&Mce(N.charCodeAt(N.length-1))&&(N=N.slice(0,-1)),n.unescape===!0&&(P&&(P=Pce.removeBackslashes(P)),N&&T===!0&&(N=Pce.removeBackslashes(N)));let F={prefix:I,input:t,start:u,base:N,glob:P,isBrace:p,isBracket:m,isGlob:g,isExtglob:y,isGlobstar:w,negated:R,negatedExtglob:C};if(n.tokens===!0&&(F.maxDepth=0,Mce(V)||o.push(L),F.tokens=o),n.parts===!0||n.tokens===!0){let X;for(let M=0;M<s.length;M++){let b=X?X+1:u,$=s[M],pe=t.slice(b,$);n.tokens&&(M===0&&u!==0?(o[M].isPrefix=!0,o[M].value=I):o[M].value=pe,Dce(o[M]),F.maxDepth+=o[M].depth),(M!==0||pe!=="")&&a.push(pe),X=$}if(X&&X+1<t.length){let M=t.slice(X+1);a.push(M),n.tokens&&(o[o.length-1].value=M,Dce(o[o.length-1]),F.maxDepth+=o[o.length-1].depth)}F.slashes=s,F.parts=a}return F};Uce.exports=m3e});var Hce=B((Vbt,Gce)=>{"use strict";var kE=RE(),di=tR(),{MAX_LENGTH:nR,POSIX_REGEX_SOURCE:g3e,REGEX_NON_SPECIAL_CHARS:y3e,REGEX_SPECIAL_CHARS_BACKREF:_3e,REPLACEMENTS:Bce}=kE,v3e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let n=`[${t.join("-")}]`;try{new RegExp(n)}catch{return t.map(i=>di.escapeRegex(i)).join("..")}return n},ky=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,qce=t=>{let e=[],n=0,r=0,i=0,s="",o=!1;for(let a of t){if(o===!0){s+=a,o=!1;continue}if(a==="\\"){s+=a,o=!0;continue}if(a==='"'){i=i===1?0:1,s+=a;continue}if(i===0){if(a==="[")n++;else if(a==="]"&&n>0)n--;else if(n===0){if(a==="(")r++;else if(a===")"&&r>0)r--;else if(a==="|"&&r===0){e.push(s),s="";continue}}}s+=a}return e.push(s),e},E3e=t=>{let e=!1;for(let n of t){if(e===!0){e=!1;continue}if(n==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},$ce=t=>{let e=t.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),n=!0);if(E3e(e))return e.replace(/\\(.)/g,"$1")},w3e=t=>{let e=t.map($ce).filter(Boolean);for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=e[n],s=e[r],o=i[0];if(!(!o||i!==o.repeat(i.length)||s!==o.repeat(s.length))&&(i===s||i.startsWith(s)||s.startsWith(i)))return!0}return!1},kq=(t,e=!0)=>{if(t[0]!=="+"&&t[0]!=="*"||t[1]!=="(")return;let n=0,r=0,i=0,s=!1;for(let o=1;o<t.length;o++){let a=t[o];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){i=i===1?0:1;continue}if(i!==1){if(a==="["){n++;continue}if(a==="]"&&n>0){n--;continue}if(!(n>0)){if(a==="("){r++;continue}if(a===")"&&(r--,r===0))return e===!0&&o!==t.length-1?void 0:{type:t[0],body:t.slice(2,o),end:o}}}}},S3e=t=>{let e=0,n=[];for(;e<t.length;){let i=kq(t.slice(e),!1);if(!i||i.type!=="*")return;let s=qce(i.body).map(a=>a.trim());if(s.length!==1)return;let o=$ce(s[0]);if(!o||o.length!==1)return;n.push(o),e+=i.end+1}return n.length<1?void 0:`${n.length===1?di.escapeRegex(n[0]):`[${n.map(i=>di.escapeRegex(i)).join("")}]`}*`},x3e=t=>{let e=0,n=t.trim(),r=kq(n);for(;r;)e++,n=r.body.trim(),r=kq(n);return e},b3e=(t,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let n=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:kE.DEFAULT_MAX_EXTGLOB_RECURSION,r=qce(t).map(i=>i.trim());if(r.length>1&&(r.some(i=>i==="")||r.some(i=>/^[*?]+$/.test(i))||w3e(r)))return{risky:!0};for(let i of r){let s=S3e(i);if(s)return{risky:!0,safeOutput:s};if(x3e(i)>n)return{risky:!0}}return{risky:!1}},Pq=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Bce[t]||t;let n={...e},r=typeof n.maxLength=="number"?Math.min(nR,n.maxLength):nR,i=t.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},o=[s],a=n.capture?"":"?:",c=di.isWindows(e),l=kE.globChars(c),u=kE.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:p,SLASH_LITERAL:m,ONE_CHAR:g,DOTS_SLASH:y,NO_DOT:w,NO_DOT_SLASH:S,NO_DOTS_SLASH:T,QMARK:R,QMARK_NO_DOT:C,STAR:D,START_ANCHOR:q}=l,G=U=>`(${a}(?:(?!${q}${U.dot?y:f}).)*?)`,V=n.dot?"":w,L=n.dot?R:C,k=n.bash===!0?G(n):D;n.capture&&(k=`(${k})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let E={input:t,index:-1,start:0,dot:n.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=di.removePrefix(t,E),i=t.length;let A=[],N=[],I=[],P=s,F,X=()=>E.index===i-1,M=E.peek=(U=1)=>t[E.index+U],b=E.advance=()=>t[++E.index]||"",$=()=>t.slice(E.index+1),pe=(U="",K=0)=>{E.consumed+=U,E.index+=K},oe=U=>{E.output+=U.output!=null?U.output:U.value,pe(U.value)},J=()=>{let U=1;for(;M()==="!"&&(M(2)!=="("||M(3)==="?");)b(),E.start++,U++;return U%2===0?!1:(E.negated=!0,E.start++,!0)},ve=U=>{E[U]++,I.push(U)},we=U=>{E[U]--,I.pop()},Se=U=>{if(P.type==="globstar"){let K=E.braces>0&&(U.type==="comma"||U.type==="brace"),j=U.extglob===!0||A.length&&(U.type==="pipe"||U.type==="paren");U.type!=="slash"&&U.type!=="paren"&&!K&&!j&&(E.output=E.output.slice(0,-P.output.length),P.type="star",P.value="*",P.output=k,E.output+=P.output)}if(A.length&&U.type!=="paren"&&(A[A.length-1].inner+=U.value),(U.value||U.output)&&oe(U),P&&P.type==="text"&&U.type==="text"){P.value+=U.value,P.output=(P.output||"")+U.value;return}U.prev=P,o.push(U),P=U},ct=(U,K)=>{let j={...u[K],conditions:1,inner:""};j.prev=P,j.parens=E.parens,j.output=E.output,j.startIndex=E.index,j.tokensIndex=o.length;let Q=(n.capture?"(":"")+j.open;ve("parens"),Se({type:U,value:K,output:E.output?"":g}),Se({type:"paren",extglob:!0,value:b(),output:Q}),A.push(j)},Ue=U=>{let K=t.slice(U.startIndex,E.index+1),j=t.slice(U.startIndex+2,E.index),Q=b3e(j,n);if((U.type==="plus"||U.type==="star")&&Q.risky){let ie=Q.safeOutput?(U.output?"":g)+(n.capture?`(${Q.safeOutput})`:Q.safeOutput):void 0,ne=o[U.tokensIndex];ne.type="text",ne.value=K,ne.output=ie||di.escapeRegex(K);for(let re=U.tokensIndex+1;re<o.length;re++)o[re].value="",o[re].output="",delete o[re].suffix;E.output=U.output+ne.output,E.backtrack=!0,Se({type:"paren",extglob:!0,value:F,output:""}),we("parens");return}let Z=U.close+(n.capture?")":""),ee;if(U.type==="negate"){let ie=k;if(U.inner&&U.inner.length>1&&U.inner.includes("/")&&(ie=G(n)),(ie!==k||X()||/^\)+$/.test($()))&&(Z=U.close=`)$))${ie}`),U.inner.includes("*")&&(ee=$())&&/^\.[^\\/.]+$/.test(ee)){let ne=Pq(ee,{...e,fastpaths:!1}).output;Z=U.close=`)${ne})${ie})`}U.prev.type==="bos"&&(E.negatedExtglob=!0)}Se({type:"paren",extglob:!0,value:F,output:Z}),we("parens")};if(n.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let U=!1,K=t.replace(_3e,(j,Q,Z,ee,ie,ne)=>ee==="\\"?(U=!0,j):ee==="?"?Q?Q+ee+(ie?R.repeat(ie.length):""):ne===0?L+(ie?R.repeat(ie.length):""):R.repeat(Z.length):ee==="."?f.repeat(Z.length):ee==="*"?Q?Q+ee+(ie?k:""):k:Q?j:`\\${j}`);return U===!0&&(n.unescape===!0?K=K.replace(/\\/g,""):K=K.replace(/\\+/g,j=>j.length%2===0?"\\\\":j?"\\":"")),K===t&&n.contains===!0?(E.output=t,E):(E.output=di.wrapOutput(K,E,e),E)}for(;!X();){if(F=b(),F==="\0")continue;if(F==="\\"){let j=M();if(j==="/"&&n.bash!==!0||j==="."||j===";")continue;if(!j){F+="\\",Se({type:"text",value:F});continue}let Q=/^\\+/.exec($()),Z=0;if(Q&&Q[0].length>2&&(Z=Q[0].length,E.index+=Z,Z%2!==0&&(F+="\\")),n.unescape===!0?F=b():F+=b(),E.brackets===0){Se({type:"text",value:F});continue}}if(E.brackets>0&&(F!=="]"||P.value==="["||P.value==="[^")){if(n.posix!==!1&&F===":"){let j=P.value.slice(1);if(j.includes("[")&&(P.posix=!0,j.includes(":"))){let Q=P.value.lastIndexOf("["),Z=P.value.slice(0,Q),ee=P.value.slice(Q+2),ie=g3e[ee];if(ie){P.value=Z+ie,E.backtrack=!0,b(),!s.output&&o.indexOf(P)===1&&(s.output=g);continue}}}(F==="["&&M()!==":"||F==="-"&&M()==="]")&&(F=`\\${F}`),F==="]"&&(P.value==="["||P.value==="[^")&&(F=`\\${F}`),n.posix===!0&&F==="!"&&P.value==="["&&(F="^"),P.value+=F,oe({value:F});continue}if(E.quotes===1&&F!=='"'){F=di.escapeRegex(F),P.value+=F,oe({value:F});continue}if(F==='"'){E.quotes=E.quotes===1?0:1,n.keepQuotes===!0&&Se({type:"text",value:F});continue}if(F==="("){ve("parens"),Se({type:"paren",value:F});continue}if(F===")"){if(E.parens===0&&n.strictBrackets===!0)throw new SyntaxError(ky("opening","("));let j=A[A.length-1];if(j&&E.parens===j.parens+1){Ue(A.pop());continue}Se({type:"paren",value:F,output:E.parens?")":"\\)"}),we("parens");continue}if(F==="["){if(n.nobracket===!0||!$().includes("]")){if(n.nobracket!==!0&&n.strictBrackets===!0)throw new SyntaxError(ky("closing","]"));F=`\\${F}`}else ve("brackets");Se({type:"bracket",value:F});continue}if(F==="]"){if(n.nobracket===!0||P&&P.type==="bracket"&&P.value.length===1){Se({type:"text",value:F,output:`\\${F}`});continue}if(E.brackets===0){if(n.strictBrackets===!0)throw new SyntaxError(ky("opening","["));Se({type:"text",value:F,output:`\\${F}`});continue}we("brackets");let j=P.value.slice(1);if(P.posix!==!0&&j[0]==="^"&&!j.includes("/")&&(F=`/${F}`),P.value+=F,oe({value:F}),n.literalBrackets===!1||di.hasRegexChars(j))continue;let Q=di.escapeRegex(P.value);if(E.output=E.output.slice(0,-P.value.length),n.literalBrackets===!0){E.output+=Q,P.value=Q;continue}P.value=`(${a}${Q}|${P.value})`,E.output+=P.value;continue}if(F==="{"&&n.nobrace!==!0){ve("braces");let j={type:"brace",value:F,output:"(",outputIndex:E.output.length,tokensIndex:E.tokens.length};N.push(j),Se(j);continue}if(F==="}"){let j=N[N.length-1];if(n.nobrace===!0||!j){Se({type:"text",value:F,output:F});continue}let Q=")";if(j.dots===!0){let Z=o.slice(),ee=[];for(let ie=Z.length-1;ie>=0&&(o.pop(),Z[ie].type!=="brace");ie--)Z[ie].type!=="dots"&&ee.unshift(Z[ie].value);Q=v3e(ee,n),E.backtrack=!0}if(j.comma!==!0&&j.dots!==!0){let Z=E.output.slice(0,j.outputIndex),ee=E.tokens.slice(j.tokensIndex);j.value=j.output="\\{",F=Q="\\}",E.output=Z;for(let ie of ee)E.output+=ie.output||ie.value}Se({type:"brace",value:F,output:Q}),we("braces"),N.pop();continue}if(F==="|"){A.length>0&&A[A.length-1].conditions++,Se({type:"text",value:F});continue}if(F===","){let j=F,Q=N[N.length-1];Q&&I[I.length-1]==="braces"&&(Q.comma=!0,j="|"),Se({type:"comma",value:F,output:j});continue}if(F==="/"){if(P.type==="dot"&&E.index===E.start+1){E.start=E.index+1,E.consumed="",E.output="",o.pop(),P=s;continue}Se({type:"slash",value:F,output:m});continue}if(F==="."){if(E.braces>0&&P.type==="dot"){P.value==="."&&(P.output=f);let j=N[N.length-1];P.type="dots",P.output+=F,P.value+=F,j.dots=!0;continue}if(E.braces+E.parens===0&&P.type!=="bos"&&P.type!=="slash"){Se({type:"text",value:F,output:f});continue}Se({type:"dot",value:F,output:f});continue}if(F==="?"){if(!(P&&P.value==="(")&&n.noextglob!==!0&&M()==="("&&M(2)!=="?"){ct("qmark",F);continue}if(P&&P.type==="paren"){let Q=M(),Z=F;if(Q==="<"&&!di.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(P.value==="("&&!/[!=<:]/.test(Q)||Q==="<"&&!/<([!=]|\w+>)/.test($()))&&(Z=`\\${F}`),Se({type:"text",value:F,output:Z});continue}if(n.dot!==!0&&(P.type==="slash"||P.type==="bos")){Se({type:"qmark",value:F,output:C});continue}Se({type:"qmark",value:F,output:R});continue}if(F==="!"){if(n.noextglob!==!0&&M()==="("&&(M(2)!=="?"||!/[!=<:]/.test(M(3)))){ct("negate",F);continue}if(n.nonegate!==!0&&E.index===0){J();continue}}if(F==="+"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){ct("plus",F);continue}if(P&&P.value==="("||n.regex===!1){Se({type:"plus",value:F,output:p});continue}if(P&&(P.type==="bracket"||P.type==="paren"||P.type==="brace")||E.parens>0){Se({type:"plus",value:F});continue}Se({type:"plus",value:p});continue}if(F==="@"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){Se({type:"at",extglob:!0,value:F,output:""});continue}Se({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let j=y3e.exec($());j&&(F+=j[0],E.index+=j[0].length),Se({type:"text",value:F});continue}if(P&&(P.type==="globstar"||P.star===!0)){P.type="star",P.star=!0,P.value+=F,P.output=k,E.backtrack=!0,E.globstar=!0,pe(F);continue}let U=$();if(n.noextglob!==!0&&/^\([^?]/.test(U)){ct("star",F);continue}if(P.type==="star"){if(n.noglobstar===!0){pe(F);continue}let j=P.prev,Q=j.prev,Z=j.type==="slash"||j.type==="bos",ee=Q&&(Q.type==="star"||Q.type==="globstar");if(n.bash===!0&&(!Z||U[0]&&U[0]!=="/")){Se({type:"star",value:F,output:""});continue}let ie=E.braces>0&&(j.type==="comma"||j.type==="brace"),ne=A.length&&(j.type==="pipe"||j.type==="paren");if(!Z&&j.type!=="paren"&&!ie&&!ne){Se({type:"star",value:F,output:""});continue}for(;U.slice(0,3)==="/**";){let re=t[E.index+4];if(re&&re!=="/")break;U=U.slice(3),pe("/**",3)}if(j.type==="bos"&&X()){P.type="globstar",P.value+=F,P.output=G(n),E.output=P.output,E.globstar=!0,pe(F);continue}if(j.type==="slash"&&j.prev.type!=="bos"&&!ee&&X()){E.output=E.output.slice(0,-(j.output+P.output).length),j.output=`(?:${j.output}`,P.type="globstar",P.output=G(n)+(n.strictSlashes?")":"|$)"),P.value+=F,E.globstar=!0,E.output+=j.output+P.output,pe(F);continue}if(j.type==="slash"&&j.prev.type!=="bos"&&U[0]==="/"){let re=U[1]!==void 0?"|$":"";E.output=E.output.slice(0,-(j.output+P.output).length),j.output=`(?:${j.output}`,P.type="globstar",P.output=`${G(n)}${m}|${m}${re})`,P.value+=F,E.output+=j.output+P.output,E.globstar=!0,pe(F+b()),Se({type:"slash",value:"/",output:""});continue}if(j.type==="bos"&&U[0]==="/"){P.type="globstar",P.value+=F,P.output=`(?:^|${m}|${G(n)}${m})`,E.output=P.output,E.globstar=!0,pe(F+b()),Se({type:"slash",value:"/",output:""});continue}E.output=E.output.slice(0,-P.output.length),P.type="globstar",P.output=G(n),P.value+=F,E.output+=P.output,E.globstar=!0,pe(F);continue}let K={type:"star",value:F,output:k};if(n.bash===!0){K.output=".*?",(P.type==="bos"||P.type==="slash")&&(K.output=V+K.output),Se(K);continue}if(P&&(P.type==="bracket"||P.type==="paren")&&n.regex===!0){K.output=F,Se(K);continue}(E.index===E.start||P.type==="slash"||P.type==="dot")&&(P.type==="dot"?(E.output+=S,P.output+=S):n.dot===!0?(E.output+=T,P.output+=T):(E.output+=V,P.output+=V),M()!=="*"&&(E.output+=g,P.output+=g)),Se(K)}for(;E.brackets>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing","]"));E.output=di.escapeLast(E.output,"["),we("brackets")}for(;E.parens>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing",")"));E.output=di.escapeLast(E.output,"("),we("parens")}for(;E.braces>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing","}"));E.output=di.escapeLast(E.output,"{"),we("braces")}if(n.strictSlashes!==!0&&(P.type==="star"||P.type==="bracket")&&Se({type:"maybe_slash",value:"",output:`${m}?`}),E.backtrack===!0){E.output="";for(let U of E.tokens)E.output+=U.output!=null?U.output:U.value,U.suffix&&(E.output+=U.suffix)}return E};Pq.fastpaths=(t,e)=>{let n={...e},r=typeof n.maxLength=="number"?Math.min(nR,n.maxLength):nR,i=t.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);t=Bce[t]||t;let s=di.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:p,STAR:m,START_ANCHOR:g}=kE.globChars(s),y=n.dot?f:u,w=n.dot?p:u,S=n.capture?"":"?:",T={negated:!1,prefix:""},R=n.bash===!0?".*?":m;n.capture&&(R=`(${R})`);let C=V=>V.noglobstar===!0?R:`(${S}(?:(?!${g}${V.dot?l:o}).)*?)`,D=V=>{switch(V){case"*":return`${y}${c}${R}`;case".*":return`${o}${c}${R}`;case"*.*":return`${y}${R}${o}${c}${R}`;case"*/*":return`${y}${R}${a}${c}${w}${R}`;case"**":return y+C(n);case"**/*":return`(?:${y}${C(n)}${a})?${w}${c}${R}`;case"**/*.*":return`(?:${y}${C(n)}${a})?${w}${R}${o}${c}${R}`;case"**/.*":return`(?:${y}${C(n)}${a})?${o}${c}${R}`;default:{let L=/^(.*?)\.(\w+)$/.exec(V);if(!L)return;let k=D(L[1]);return k?k+o+L[2]:void 0}}},q=di.removePrefix(t,T),G=D(q);return G&&n.strictSlashes!==!0&&(G+=`${a}?`),G};Gce.exports=Pq});var Wce=B((zbt,jce)=>{"use strict";var T3e=require("path"),A3e=Fce(),Oq=Hce(),Nq=tR(),C3e=RE(),R3e=t=>t&&typeof t=="object"&&!Array.isArray(t),lr=(t,e,n=!1)=>{if(Array.isArray(t)){let u=t.map(p=>lr(p,e,n));return p=>{for(let m of u){let g=m(p);if(g)return g}return!1}}let r=R3e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=e||{},s=Nq.isWindows(e),o=r?lr.compileRe(t,e):lr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let c=()=>!1;if(i.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=lr(i.ignore,u,n)}let l=(u,f=!1)=>{let{isMatch:p,match:m,output:g}=lr.test(u,o,e,{glob:t,posix:s}),y={glob:t,state:a,regex:o,posix:s,input:u,output:g,match:m,isMatch:p};return typeof i.onResult=="function"&&i.onResult(y),p===!1?(y.isMatch=!1,f?y:!1):c(u)?(typeof i.onIgnore=="function"&&i.onIgnore(y),y.isMatch=!1,f?y:!1):(typeof i.onMatch=="function"&&i.onMatch(y),f?y:!0)};return n&&(l.state=a),l};lr.test=(t,e,n,{glob:r,posix:i}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=n||{},o=s.format||(i?Nq.toPosixSlashes:null),a=t===r,c=a&&o?o(t):t;return a===!1&&(c=o?o(t):t,a=c===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=lr.matchBase(t,e,n,i):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};lr.matchBase=(t,e,n,r=Nq.isWindows(n))=>(e instanceof RegExp?e:lr.makeRe(e,n)).test(T3e.basename(t));lr.isMatch=(t,e,n)=>lr(e,n)(t);lr.parse=(t,e)=>Array.isArray(t)?t.map(n=>lr.parse(n,e)):Oq(t,{...e,fastpaths:!1});lr.scan=(t,e)=>A3e(t,e);lr.compileRe=(t,e,n=!1,r=!1)=>{if(n===!0)return t.output;let i=e||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let c=lr.toRegex(a,e);return r===!0&&(c.state=t),c};lr.makeRe=(t,e={},n=!1,r=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(i.output=Oq.fastpaths(t,e)),i.output||(i=Oq(t,e)),lr.compileRe(i,e,n,r)};lr.toRegex=(t,e)=>{try{let n=e||{};return new RegExp(t,n.flags||(n.nocase?"i":""))}catch(n){if(e&&e.debug===!0)throw n;return/$^/}};lr.constants=C3e;jce.exports=lr});var Mq=B((Kbt,Vce)=>{"use strict";Vce.exports=Wce()});var ele=B((Ybt,Zce)=>{"use strict";var OE=require("fs"),{Readable:I3e}=require("stream"),PE=require("path"),{promisify:oR}=require("util"),Dq=Mq(),k3e=oR(OE.readdir),P3e=oR(OE.stat),zce=oR(OE.lstat),O3e=oR(OE.realpath),N3e="!",Jce="READDIRP_RECURSIVE_ERROR",M3e=new Set(["ENOENT","EPERM","EACCES","ELOOP",Jce]),Lq="files",Qce="directories",iR="files_directories",rR="all",Kce=[Lq,Qce,iR,rR],D3e=t=>M3e.has(t.code),[Yce,L3e]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),U3e=process.platform==="win32"&&(Yce>10||Yce===10&&L3e>=5),Xce=t=>{if(t!==void 0){if(typeof t=="function")return t;if(typeof t=="string"){let e=Dq(t.trim());return n=>e(n.basename)}if(Array.isArray(t)){let e=[],n=[];for(let r of t){let i=r.trim();i.charAt(0)===N3e?n.push(Dq(i.slice(1))):e.push(Dq(i))}return n.length>0?e.length>0?r=>e.some(i=>i(r.basename))&&!n.some(i=>i(r.basename)):r=>!n.some(i=>i(r.basename)):r=>e.some(i=>i(r.basename))}}},sR=class t extends I3e{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:Lq,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let n={...t.defaultOptions,...e},{root:r,type:i}=n;this._fileFilter=Xce(n.fileFilter),this._directoryFilter=Xce(n.directoryFilter);let s=n.lstat?zce:P3e;U3e?this._stat=o=>s(o,{bigint:!0}):this._stat=s,this._maxDepth=n.depth,this._wantsDir=[Qce,iR,rR].includes(i),this._wantsFile=[Lq,iR,rR].includes(i),this._wantsEverything=i===rR,this._root=PE.resolve(r),this._isDirent="Dirent"in OE&&!n.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(r,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:n,depth:r,files:i=[]}=this.parent||{};if(i.length>0){let s=i.splice(0,e).map(o=>this._formatEntry(o,n));for(let o of await Promise.all(s)){if(this.destroyed)return;let a=await this._getEntryType(o);a==="directory"&&this._directoryFilter(o)?(r<=this._maxDepth&&this.parents.push(this._exploreDir(o.fullPath,r+1)),this._wantsDir&&(this.push(o),e--)):(a==="file"||this._includeAsFile(o))&&this._fileFilter(o)&&this._wantsFile&&(this.push(o),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(n){this.destroy(n)}finally{this.reading=!1}}}async _exploreDir(e,n){let r;try{r=await k3e(e,this._rdOptions)}catch(i){this._onError(i)}return{files:r,depth:n,path:e}}async _formatEntry(e,n){let r;try{let i=this._isDirent?e.name:e,s=PE.resolve(PE.join(n,i));r={path:PE.relative(this._root,s),fullPath:s,basename:i},r[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(i){this._onError(i)}return r}_onError(e){D3e(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let n=e&&e[this._statsProp];if(n){if(n.isFile())return"file";if(n.isDirectory())return"directory";if(n&&n.isSymbolicLink()){let r=e.fullPath;try{let i=await O3e(r),s=await zce(i);if(s.isFile())return"file";if(s.isDirectory()){let o=i.length;if(r.startsWith(i)&&r.substr(o,1)===PE.sep){let a=new Error(`Circular symlink detected: "${r}" points to "${i}"`);return a.code=Jce,this._onError(a)}return"directory"}}catch(i){this._onError(i)}}}}_includeAsFile(e){let n=e&&e[this._statsProp];return n&&this._wantsEverything&&!n.isDirectory()}},Py=(t,e={})=>{let n=e.entryType||e.type;if(n==="both"&&(n=iR),n&&(e.type=n),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(n&&!Kce.includes(n))throw new Error(`readdirp: Invalid type passed. Use one of ${Kce.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new sR(e)},F3e=(t,e={})=>new Promise((n,r)=>{let i=[];Py(t,e).on("data",s=>i.push(s)).on("end",()=>n(i)).on("error",s=>r(s))});Py.promise=F3e;Py.ReaddirpStream=sR;Py.default=Py;Zce.exports=Py});var Oy=B((Xbt,tle)=>{tle.exports=function(t,e){if(typeof t!="string")throw new TypeError("expected path to be a string");if(t==="\\"||t==="/")return"/";var n=t.length;if(n<=1)return t;var r="";if(n>4&&t[3]==="\\"){var i=t[2];(i==="?"||i===".")&&t.slice(0,2)==="\\\\"&&(t=t.slice(2),r="//")}var s=t.split(/[/\\]+/);return e!==!1&&s[s.length-1]===""&&s.pop(),r+s.join("/")}});var ale=B((sle,ole)=>{"use strict";Object.defineProperty(sle,"__esModule",{value:!0});var ile=Mq(),B3e=Oy(),nle="!",q3e={returnIndex:!1},$3e=t=>Array.isArray(t)?t:[t],G3e=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let n=ile(t,e);return r=>t===r||n(r)}return t instanceof RegExp?n=>t.test(n):n=>!1},rle=(t,e,n,r)=>{let i=Array.isArray(n),s=i?n[0]:n;if(!i&&typeof s!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(s));let o=B3e(s,!1);for(let c=0;c<e.length;c++){let l=e[c];if(l(o))return r?-1:!1}let a=i&&[o].concat(n.slice(1));for(let c=0;c<t.length;c++){let l=t[c];if(i?l(...a):l(o))return r?c:!0}return r?-1:!1},Uq=(t,e,n=q3e)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let r=typeof n=="boolean"?{returnIndex:n}:n,i=r.returnIndex||!1,s=$3e(t),o=s.filter(c=>typeof c=="string"&&c.charAt(0)===nle).map(c=>c.slice(1)).map(c=>ile(c,r)),a=s.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==nle).map(c=>G3e(c,r));return e==null?(c,l=!1)=>rle(a,o,c,typeof l=="boolean"?l:!1):rle(a,o,e,i)};Uq.default=Uq;ole.exports=Uq});var lle=B((Jbt,cle)=>{cle.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var n;n=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(n[2])return!0;e=e.slice(n.index+n[0].length)}return!1}});var Fq=B((Qbt,fle)=>{var H3e=lle(),ule={"{":"}","(":")","[":"]"},j3e=function(t){if(t[0]==="!")return!0;for(var e=0,n=-2,r=-2,i=-2,s=-2,o=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||r!==-1&&t[e]==="["&&t[e+1]!=="]"&&(r<e&&(r=t.indexOf("]",e)),r>e&&(o===-1||o>r||(o=t.indexOf("\\",e),o===-1||o>r)))||i!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(i=t.indexOf("}",e),i>e&&(o=t.indexOf("\\",e),o===-1||o>i))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||n!==-1&&t[e]==="("&&t[e+1]!=="|"&&(n<e&&(n=t.indexOf("|",e)),n!==-1&&t[n+1]!==")"&&(s=t.indexOf(")",n),s>n&&(o=t.indexOf("\\",n),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var c=ule[a];if(c){var l=t.indexOf(c,e);l!==-1&&(e=l+1)}if(t[e]==="!")return!0}else e++}return!1},W3e=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var n=t[e+1];e+=2;var r=ule[n];if(r){var i=t.indexOf(r,e);i!==-1&&(e=i+1)}if(t[e]==="!")return!0}else e++}return!1};fle.exports=function(e,n){if(typeof e!="string"||e==="")return!1;if(H3e(e))return!0;var r=j3e;return n&&n.strict===!1&&(r=W3e),r(e)}});var ple=B((Zbt,dle)=>{"use strict";var V3e=Fq(),z3e=require("path").posix.dirname,K3e=require("os").platform()==="win32",Bq="/",Y3e=/\\/g,X3e=/[\{\[].*[\}\]]$/,J3e=/(^|[^\\])([\{\[]|\([^\)]+$)/,Q3e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;dle.exports=function(e,n){var r=Object.assign({flipBackslashes:!0},n);r.flipBackslashes&&K3e&&e.indexOf(Bq)<0&&(e=e.replace(Y3e,Bq)),X3e.test(e)&&(e+=Bq),e+="a";do e=z3e(e);while(V3e(e)||J3e.test(e));return e.replace(Q3e,"$1")}});var aR=B(Oo=>{"use strict";Oo.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Oo.find=(t,e)=>t.nodes.find(n=>n.type===e);Oo.exceedsLimit=(t,e,n=1,r)=>r===!1||!Oo.isInteger(t)||!Oo.isInteger(e)?!1:(Number(e)-Number(t))/Number(n)>=r;Oo.escapeNode=(t,e=0,n)=>{let r=t.nodes[e];r&&(n&&r.type===n||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};Oo.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Oo.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Oo.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Oo.reduce=t=>t.reduce((e,n)=>(n.type==="text"&&e.push(n.value),n.type==="range"&&(n.type="text"),e),[]);Oo.flatten=(...t)=>{let e=[],n=r=>{for(let i=0;i<r.length;i++){let s=r[i];if(Array.isArray(s)){n(s);continue}s!==void 0&&e.push(s)}return e};return n(t),e}});var cR=B((tTt,mle)=>{"use strict";var hle=aR();mle.exports=(t,e={})=>{let n=(r,i={})=>{let s=e.escapeInvalid&&hle.isInvalidBrace(i),o=r.invalid===!0&&e.escapeInvalid===!0,a="";if(r.value)return(s||o)&&hle.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=n(c);return a};return n(t)}});var yle=B((nTt,gle)=>{"use strict";gle.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var Ale=B((rTt,Tle)=>{"use strict";var _le=yle(),uh=(t,e,n)=>{if(_le(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(_le(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...n};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let i=String(r.relaxZeros),s=String(r.shorthand),o=String(r.capture),a=String(r.wrap),c=t+":"+e+"="+i+s+o+a;if(uh.cache.hasOwnProperty(c))return uh.cache[c].result;let l=Math.min(t,e),u=Math.max(t,e);if(Math.abs(l-u)===1){let y=t+"|"+e;return r.capture?`(${y})`:r.wrap===!1?y:`(?:${y})`}let f=ble(t)||ble(e),p={min:t,max:e,a:l,b:u},m=[],g=[];if(f&&(p.isPadded=f,p.maxLen=String(p.max).length),l<0){let y=u<0?Math.abs(u):1;g=vle(y,Math.abs(l),p,r),l=p.a=0}return u>=0&&(m=vle(l,u,p,r)),p.negatives=g,p.positives=m,p.result=Z3e(g,m,r),r.capture===!0?p.result=`(${p.result})`:r.wrap!==!1&&m.length+g.length>1&&(p.result=`(?:${p.result})`),uh.cache[c]=p,p.result};function Z3e(t,e,n){let r=qq(t,e,"-",!1,n)||[],i=qq(e,t,"",!1,n)||[],s=qq(t,e,"-?",!0,n)||[];return r.concat(s).concat(i).join("|")}function eje(t,e){let n=1,r=1,i=wle(t,n),s=new Set([e]);for(;t<=i&&i<=e;)s.add(i),n+=1,i=wle(t,n);for(i=Sle(e+1,r)-1;t<i&&i<=e;)s.add(i),r+=1,i=Sle(e+1,r)-1;return s=[...s],s.sort(rje),s}function tje(t,e,n){if(t===e)return{pattern:t,count:[],digits:0};let r=nje(t,e),i=r.length,s="",o=0;for(let a=0;a<i;a++){let[c,l]=r[a];c===l?s+=c:c!=="0"||l!=="9"?s+=ije(c,l,n):o++}return o&&(s+=n.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[o],digits:i}}function vle(t,e,n,r){let i=eje(t,e),s=[],o=t,a;for(let c=0;c<i.length;c++){let l=i[c],u=tje(String(o),String(l),r),f="";if(!n.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+xle(a.count),o=l+1;continue}n.isPadded&&(f=sje(l,n,r)),u.string=f+u.pattern+xle(u.count),s.push(u),o=l+1,a=u}return s}function qq(t,e,n,r,i){let s=[];for(let o of t){let{string:a}=o;!r&&!Ele(e,"string",a)&&s.push(n+a),r&&Ele(e,"string",a)&&s.push(n+a)}return s}function nje(t,e){let n=[];for(let r=0;r<t.length;r++)n.push([t[r],e[r]]);return n}function rje(t,e){return t>e?1:e>t?-1:0}function Ele(t,e,n){return t.some(r=>r[e]===n)}function wle(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function Sle(t,e){return t-t%Math.pow(10,e)}function xle(t){let[e=0,n=""]=t;return n||e>1?`{${e+(n?","+n:"")}}`:""}function ije(t,e,n){return`[${t}${e-t===1?"":"-"}${e}]`}function ble(t){return/^-?(0+)\d/.test(t)}function sje(t,e,n){if(!e.isPadded)return t;let r=Math.abs(e.maxLen-String(t).length),i=n.relaxZeros!==!1;switch(r){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:return i?`0{0,${r}}`:`0{${r}}`}}uh.cache={};uh.clearCache=()=>uh.cache={};Tle.exports=uh});var Hq=B((iTt,Nle)=>{"use strict";var oje=require("util"),Rle=Ale(),Cle=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),aje=t=>e=>t===!0?Number(e):String(e),$q=t=>typeof t=="number"||typeof t=="string"&&t!=="",NE=t=>Number.isInteger(+t),Gq=t=>{let e=`${t}`,n=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++n]==="0";);return n>0},cje=(t,e,n)=>typeof t=="string"||typeof e=="string"?!0:n.stringify===!0,lje=(t,e,n)=>{if(e>0){let r=t[0]==="-"?"-":"";r&&(t=t.slice(1)),t=r+t.padStart(r?e-1:e,"0")}return n===!1?String(t):t},uR=(t,e)=>{let n=t[0]==="-"?"-":"";for(n&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return n?"-"+t:t},uje=(t,e,n)=>{t.negatives.sort((a,c)=>a<c?-1:a>c?1:0),t.positives.sort((a,c)=>a<c?-1:a>c?1:0);let r=e.capture?"":"?:",i="",s="",o;return t.positives.length&&(i=t.positives.map(a=>uR(String(a),n)).join("|")),t.negatives.length&&(s=`-(${r}${t.negatives.map(a=>uR(String(a),n)).join("|")})`),i&&s?o=`${i}|${s}`:o=i||s,e.wrap?`(${r}${o})`:o},Ile=(t,e,n,r)=>{if(n)return Rle(t,e,{wrap:!1,...r});let i=String.fromCharCode(t);if(t===e)return i;let s=String.fromCharCode(e);return`[${i}-${s}]`},kle=(t,e,n)=>{if(Array.isArray(t)){let r=n.wrap===!0,i=n.capture?"":"?:";return r?`(${i}${t.join("|")})`:t.join("|")}return Rle(t,e,n)},Ple=(...t)=>new RangeError("Invalid range arguments: "+oje.inspect(...t)),Ole=(t,e,n)=>{if(n.strictRanges===!0)throw Ple([t,e]);return[]},fje=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},dje=(t,e,n=1,r={})=>{let i=Number(t),s=Number(e);if(!Number.isInteger(i)||!Number.isInteger(s)){if(r.strictRanges===!0)throw Ple([t,e]);return[]}i===0&&(i=0),s===0&&(s=0);let o=i>s,a=String(t),c=String(e),l=String(n);n=Math.max(Math.abs(n),1);let u=Gq(a)||Gq(c)||Gq(l),f=u?Math.max(a.length,c.length,l.length):0,p=u===!1&&cje(t,e,r)===!1,m=r.transform||aje(p);if(r.toRegex&&n===1)return Ile(uR(t,f),uR(e,f),!0,r);let g={negatives:[],positives:[]},y=T=>g[T<0?"negatives":"positives"].push(Math.abs(T)),w=[],S=0;for(;o?i>=s:i<=s;)r.toRegex===!0&&n>1?y(i):w.push(lje(m(i,S),f,p)),i=o?i-n:i+n,S++;return r.toRegex===!0?n>1?uje(g,r,f):kle(w,null,{wrap:!1,...r}):w},pje=(t,e,n=1,r={})=>{if(!NE(t)&&t.length>1||!NE(e)&&e.length>1)return Ole(t,e,r);let i=r.transform||(p=>String.fromCharCode(p)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,c=Math.min(s,o),l=Math.max(s,o);if(r.toRegex&&n===1)return Ile(c,l,!1,r);let u=[],f=0;for(;a?s>=o:s<=o;)u.push(i(s,f)),s=a?s-n:s+n,f++;return r.toRegex===!0?kle(u,null,{wrap:!1,options:r}):u},lR=(t,e,n,r={})=>{if(e==null&&$q(t))return[t];if(!$q(t)||!$q(e))return Ole(t,e,r);if(typeof n=="function")return lR(t,e,1,{transform:n});if(Cle(n))return lR(t,e,0,n);let i={...r};return i.capture===!0&&(i.wrap=!0),n=n||i.step||1,NE(n)?NE(t)&&NE(e)?dje(t,e,n,i):pje(t,e,Math.max(Math.abs(n),1),i):n!=null&&!Cle(n)?fje(n,i):lR(t,e,1,n)};Nle.exports=lR});var Lle=B((sTt,Dle)=>{"use strict";var hje=Hq(),Mle=aR(),mje=(t,e={})=>{let n=(r,i={})=>{let s=Mle.isInvalidBrace(i),o=r.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,c=e.escapeInvalid===!0?"\\":"",l="";if(r.isOpen===!0)return c+r.value;if(r.isClose===!0)return console.log("node.isClose",c,r.value),c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let u=Mle.reduce(r.nodes),f=hje(...u,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(f.length!==0)return u.length>1&&f.length>1?`(${f})`:f}if(r.nodes)for(let u of r.nodes)l+=n(u,r);return l};return n(t)};Dle.exports=mje});var Ble=B((oTt,Fle)=>{"use strict";var gje=Hq(),Ule=cR(),Ny=aR(),fh=(t="",e="",n=!1)=>{let r=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return n?Ny.flatten(e).map(i=>`{${i}}`):e;for(let i of t)if(Array.isArray(i))for(let s of i)r.push(fh(s,e,n));else for(let s of e)n===!0&&typeof s=="string"&&(s=`{${s}}`),r.push(Array.isArray(s)?fh(i,s,n):i+s);return Ny.flatten(r)},yje=(t,e={})=>{let n=e.rangeLimit===void 0?1e3:e.rangeLimit,r=(i,s={})=>{i.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(i.invalid||i.dollar){a.push(fh(a.pop(),Ule(i,e)));return}if(i.type==="brace"&&i.invalid!==!0&&i.nodes.length===2){a.push(fh(a.pop(),["{}"]));return}if(i.nodes&&i.ranges>0){let f=Ny.reduce(i.nodes);if(Ny.exceedsLimit(...f,e.step,n))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=gje(...f,e);p.length===0&&(p=Ule(i,e)),a.push(fh(a.pop(),p)),i.nodes=[];return}let c=Ny.encloseBrace(i),l=i.queue,u=i;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,l=u.queue;for(let f=0;f<i.nodes.length;f++){let p=i.nodes[f];if(p.type==="comma"&&i.type==="brace"){f===1&&l.push(""),l.push("");continue}if(p.type==="close"){a.push(fh(a.pop(),l,c));continue}if(p.value&&p.type!=="open"){l.push(fh(l.pop(),p.value));continue}p.nodes&&r(p,i)}return l};return Ny.flatten(r(t))};Fle.exports=yje});var $le=B((aTt,qle)=>{"use strict";qle.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
374
|
+
`}function D4e(t){let e=N4e[t];if(!e)return{success:!1,error:"Unknown tool"};try{return t==="codex"||t==="opencode"||t==="amp"||t==="pi"?e.enable():e.enable(Fn[t]())}catch(n){return{success:!1,error:n.message}}}function L4e(t){let e=(process.env.PATH||"").split(Sr.default.delimiter).filter(Boolean),n=process.platform==="win32"?(process.env.PATHEXT||".EXE;.CMD;.BAT").split(";"):[""];return e.some(r=>n.some(i=>{try{return Je.default.existsSync(Sr.default.join(r,t+i))}catch{return!1}}))}function pce(t){let e=cce[t];if(e&&L4e(e))return!0;let n=u4e[t]?.();return n?(Array.isArray(n)?n:[n]).some(r=>Je.default.existsSync(r)):!1}function hce(){let t={};for(let e of M4e)if(pce(e))try{let n=D4e(e);t[e]=n.success&&!n.untrusted?.length}catch{t[e]=!1}return t}async function mce(){if(!pce("codex"))return null;try{let{missing:t}=await w4e();return t.length&&console.warn(`\u26A0\uFE0F codex hooks written but not trusted: ${t.length} \u2014 run codex and trust them`),t.length?{untrusted:t.length}:{untrusted:0}}catch(t){return console.warn(`\u26A0\uFE0F codex hook trust failed: ${t.message}`),{error:t.message}}}function gce(){let t=Fn.claude(),e=xr(t);if(!e.hooks?.Stop&&!e.hooks?.Notification)return;let n=e.env||{};Object.keys(yv).some(i=>n[i]!==yv[i])&&(lce(e),ns(t,e))}var sce,Je,Sr,oce,pq,ace,l4e,ki,oh,Fn,cce,ah,u4e,hq,XC,YC,f4e,KC,uce,ubt,fce,y4e,v4e,x4e,rce,T4e,R4e,I4e,k4e,P4e,O4e,N4e,M4e,yce=ae(()=>{sce=ce(require("os"),1),Je=ce(require("fs"),1),Sr=ce(require("path"),1),oce=require("child_process");Mt();po();Cc();pq=`http://localhost:${hs}/api/notify`,ace="nineRemoteNotify",l4e=Sr.default.join(Oe.STATE,"claudeEnvBackup.json"),ki=(...t)=>Sr.default.join(sce.default.homedir(),...t),oh=(t,...e)=>{let n=process.env[t];return n&&n.trim()?n.trim():ki(...e)},Fn={claude:()=>ki(".claude","settings.json"),codex:()=>ki(".codex","config.toml"),codexHooks:()=>ki(".codex","hooks.json"),codexScript:()=>ki(".codex","9remote-notify.sh"),opencode:()=>ki(".config","opencode","plugin",`${ace}.js`),grok:()=>Sr.default.join(oh("GROK_HOME",".grok"),"hooks","9remote.json"),cursor:()=>ki(".cursor","hooks.json"),antigravity:()=>ki(".gemini","config","hooks.json"),kiro:()=>Sr.default.join(oh("KIRO_HOME",".kiro"),"agents","9remote.json"),copilot:()=>Sr.default.join(oh("COPILOT_HOME",".copilot"),"config.json"),codebuddy:()=>Sr.default.join(oh("CODEBUDDY_CONFIG_DIR",".codebuddy"),"settings.json"),factory:()=>ki(".factory","settings.json"),qoder:()=>Sr.default.join(oh("QODER_CONFIG_DIR",".qoder"),"settings.json"),rovodev:()=>ki(".rovodev","config.yml"),hermes:()=>Sr.default.join(oh("HERMES_HOME",".hermes"),"config.yaml"),amp:()=>ki(".config","amp","plugins","9remote.ts"),pi:()=>Sr.default.join(oh("PI_CODING_AGENT_DIR",".pi","agent"),"extensions","9remote.ts")},cce={claude:"claude",codex:"codex",opencode:"opencode",grok:"grok",cursor:"cursor-agent",antigravity:"agy",kiro:"kiro-cli",copilot:"copilot",codebuddy:"codebuddy",factory:"droid",qoder:"qodercli",rovodev:"acli",hermes:"hermes",amp:"amp",pi:"pi"},ah=(t,e,{sessionId:n=!1}={})=>{let r=n?Wg(e)[0]:null;return`${r?`csid=$(cat 2>/dev/null | sed -n 's/.*"${r}" *: *"\\([^"]*\\)".*/\\1/p'); `:""}command -v curl >/dev/null 2>&1 && curl -s --connect-timeout 1 --max-time 2 "${pq}?type=${t}&sessionId=$NINE_REMOTE_SESSION_ID${r?"&csid=$csid":""}&tool=${e}" > /dev/null 2>&1 & true`},u4e={claude:()=>ki(".claude"),codex:()=>ki(".codex"),opencode:()=>[ki(".config","opencode"),ki(".opencode")]},hq=t=>Math.ceil(t/1e3),XC=5e3,YC=t=>t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),f4e=t=>`"${t.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;KC={UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",PermissionRequest:"blocked"},uce=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase(),ubt=Object.fromEntries(Object.keys(KC).map(t=>[uce(t),t])),fce=/^\[hooks\.state\."(?<key>[^"]+)"\]$/m,y4e=15e3;v4e=t=>/^sha256:/.test(t)?t:`sha256:${t}`;x4e=/# 9Remote notification\nnotify\s*=.*\n?/g,rce=/^# 9Remote-saved: (notify\s*=.*)$/m;T4e={enable(){let t=Fn.codexHooks(),e=xr(t),n={...e.hooks||{}};for(let[r,i]of Object.entries(KC))n[r]=[...(n[r]||[]).filter(s=>!dq(s)),A4e(i)];return e.hooks=n,ns(t,e),b4e(),{success:!0}},disable(){let t=Fn.codexHooks(),e=new Set(dce(t).filter(n=>n.command.includes("&tool=codex")).map(n=>n.key));if(Je.default.existsSync(t)){let n=xr(t);if(n.hooks){for(let r of Object.keys(KC))n.hooks[r]=(n.hooks[r]||[]).filter(i=>!dq(i)),n.hooks[r].length===0&&delete n.hooks[r];Object.keys(n.hooks).length===0&&delete n.hooks}ns(t,n)}return S4e(Fn.codex(),e),{success:!0}},isEnabled(){let t=xr(Fn.codexHooks()).hooks||{};return Object.keys(KC).every(e=>(t[e]||[]).some(dq))}};R4e={enable(){let t=Fn.opencode(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,C4e(),"utf8"),{success:!0}},disable(){let t=Fn.opencode();return Je.default.existsSync(t)&&Je.default.unlinkSync(t),{success:!0}},isEnabled(){let t=Fn.opencode();return Je.default.existsSync(t)&&Je.default.readFileSync(t,"utf8").includes("&sessionID=")}};I4e="# 9remote hooks begin",k4e="# 9remote hooks end",P4e=" # 9remote hooks begin",O4e=" # 9remote hooks end",N4e={claude:Iy("claude",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",PermissionRequest:"blocked",Notification:"blocked"},t=>t,{matchers:{Notification:"permission_prompt"},extra:lce,sessionId:!0}),codex:T4e,opencode:R4e,grok:Iy("grok",{UserPromptSubmit:"working",PreToolUse:"working",PostToolUse:"working",Stop:"done",Notification:"blocked"},hq),cursor:h4e("cursor",{stop:"done",beforeShellExecution:"blocked",beforeToolCall:"working"},{extra:t=>{t.version=t.version||1}}),antigravity:m4e("antigravity","9remote",{UserPromptSubmit:"working",PreToolUse:"working",Stop:"done",Notification:"blocked"}),kiro:g4e("kiro",{UserPromptSubmit:"working",PostToolUse:"working",preToolUse:"blocked",stop:"done"}),copilot:Iy("copilot",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),codebuddy:Iy("codebuddy",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),factory:Iy("factory",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),qoder:Iy("qoder",{UserPromptSubmit:"working",PostToolUse:"working",PreToolUse:"blocked",Stop:"done"},t=>t),rovodev:nce("rovodev",{begin:P4e,end:O4e,items:[{event:"on_complete",type:"done"},{event:"on_error",type:"done"},{event:"on_tool_permission",type:"blocked"},{event:"on_message",type:"working"},{event:"on_tool_start",type:"working"}]}),hermes:(()=>{let t=nce("hermes",{begin:I4e,end:k4e,items:[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}]}),e=()=>Sr.default.join(Sr.default.dirname(Fn.hermes()),"shell-hooks-allowlist.json");return{enable:()=>{let n=t.enable(Fn.hermes()),r=xr(e()),i=(r.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes")));return r.approvals=[...i,...[{event:"pre_llm_call",type:"working"},{event:"pre_tool_call",type:"working"},{event:"post_tool_call",type:"working"},{event:"pre_approval_request",type:"blocked"},{event:"post_llm_call",type:"done"}].map(({event:s,type:o})=>({event:s,command:ah(o,"hermes"),approved_at:"2020-01-01T00:00:00Z"}))],ns(e(),r),n},disable:()=>{let n=t.disable(Fn.hermes()),r=e();if(Je.default.existsSync(r)){let i=xr(r);i.approvals=(i.approvals||[]).filter(s=>!(typeof s.command=="string"&&s.command.includes("&tool=hermes"))),i.approvals.length?ns(r,i):Je.default.unlinkSync(r)}return n},isEnabled:()=>t.isEnabled(Fn.hermes())}})(),amp:{enable(){let t=Fn.amp(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,ice("amp","amp","agent.start","agent.end"),"utf8"),{success:!0}},disable(){return Je.default.existsSync(Fn.amp())&&Je.default.unlinkSync(Fn.amp()),{success:!0}},isEnabled(){return Je.default.existsSync(Fn.amp())}},pi:{enable(){let t=Fn.pi(),e=Sr.default.dirname(t);return Je.default.existsSync(e)||Je.default.mkdirSync(e,{recursive:!0}),Je.default.writeFileSync(t,ice("pi","pi","agent_start","agent_end"),"utf8"),{success:!0}},disable(){return Je.default.existsSync(Fn.pi())&&Je.default.unlinkSync(Fn.pi()),{success:!0}},isEnabled(){return Je.default.existsSync(Fn.pi())}}},M4e=m8});var mq=ae(()=>{Rs()});var fq={};fr(fq,{broadcastAiStatus:()=>CE,broadcastServerInfo:()=>Eq,initializeTerminal:()=>vq,listSessionRoots:()=>su,matchWorkspacePath:()=>bce,registerManagedSession:()=>_q,setConnectCheckHandler:()=>wq,setupTerminalHandlers:()=>Sq,setupTerminalSocket:()=>qf});async function q4e(t,e){if(!jte(e))return;let r=(await gf().catch(()=>null))?.find(s=>s.id===e);Hte(e,r?.foregroundProcess)?.state==="idle"&&(et(t,"statusChange",{sessionId:e,state:"idle",tool:null,conversationId:null}),et(t,"statusState",Ic()))}function $4e(t,e){let n=(QC.get(t)||"")+e,r=null;_ce.lastIndex=0;for(let o;o=_ce.exec(n);)r=o[1];if(r){let o=Cte(r);o&&Ji(t,o)}let i=n.lastIndexOf("\x1B]"),s=i===-1?"":n.slice(i);s&&s.length<=F4e&&!s.slice(3).includes("\x07")&&!s.includes("\x1B\\")?QC.set(t,s):QC.delete(t)}function Ece(){let t=(vce||Promise.resolve()).catch(()=>{}).then(()=>G4e());return vce=t.catch(()=>{}),t}async function G4e(){let t=await gf(),e=new Map(t.map(r=>[r.id,r])),n=_A();for(let r of t)if(!n[r.id])try{await yf(r.id)}catch{}Fr.clear();for(let[r,i]of Object.entries(n)){let s=e.get(r);Fr.set(r,{daemon:!0,name:i.name,autoNamed:i.autoNamed!==!1,createdAt:i.createdAt,shellId:i.shellId,cwd:s?.cwd||i.cwd,workspacePath:i.workspacePath??TE[r]??null,lastCols:i.cols??null,lastRows:i.rows??null,needsRespawn:!s,agent:i.agent||null}),i.agent&&Ji(r,i.agent),IU(r,i)}Jr(Fr)}function H4e(t){!Ff||!t||AE.has(t)||AE.set(t,setTimeout(()=>{AE.delete(t),eC(Ff,Fr,t).catch(()=>{})},z7))}function gq(){let{assignments:t,created:e}=pne({sessions:Fr,workspaces:[...Bf.values()],sessionWorkspaces:lh});if(Object.keys(t).length){for(let n of e)Bf.set(n.id,n);for(let[n,r]of Object.entries(t)){lh[n]=r;let i=Fr.get(n);i&&!i.workspacePath&&(i.workspacePath=Bf.get(r)?.path||null)}Yg(Bf,lh,ZC),Jr(Fr),console.log(xce(`\u{1F4C1} Grouped ${Object.keys(t).length} loose terminal(s)`+(e.length?` into ${e.length} new workspace(s)`:"")))}}function su(){return[...Fr.entries()].map(([t,e])=>({id:t,name:e.name,workspacePath:e.workspacePath||null,cwd:e.cwd||null}))}function bce(t,e){let n=e?(0,ch.resolve)(e):"";if(!n)return null;let r=null,i=null,s=null;for(let o of t||[]){if(!o?.path)continue;let a=(0,ch.resolve)(o.path);n===a?r=o:n.startsWith(a+"/")&&(!i||a.length>(0,ch.resolve)(i.path).length)?i=o:a.startsWith(n+"/")&&(!s||a.length<(0,ch.resolve)(s.path).length)&&(s=o)}return r||i||s||null}function _q({sessionId:t,name:e,autoNamed:n=!0,cwd:r=null,workspacePath:i=null,shellId:s=null,shellLabel:o=null,agent:a=null}){let c=bce([...Bf.values()],i||r)||null;return Fr.set(t,{daemon:!0,name:e,autoNamed:n,createdAt:Date.now(),cwd:r||c?.path||null,workspacePath:c?.path||null,shellId:s,shellLabel:o,agent:a}),c&&(lh[t]=c.id,Yg(Bf,lh,ZC)),Jr(Fr),et(null,"sessionsChanged"),{success:!0,sessionId:t,workspacePath:c?.path||null}}async function vq(){let t=ine();if(!t){let r=_A(),i=rne();t=dne(i,r);let s=new Map(t.workspaces.map(c=>[c.id,c]));if(Yg(s,t.sessionWorkspaces,t.sessionOrder),TE=t.sessionPaths||{},Object.keys(TE).length){for(let[c,l]of Object.entries(TE))r[c]&&(r[c].workspacePath=l);nne(r)}let o=(i.groups||[]).filter(c=>t.workspaces.some(l=>l.id===c.id)).length,a=(i.groups||[]).length-o;(t.workspaces.length||a)&&console.log(xce(`\u{1F4C1} Migrated ${t.workspaces.length} workspace(s) from terminal groups`+(a?`, dropped ${a} empty group(s)`:"")))}for(let r of t.workspaces)Bf.set(r.id,r);Object.assign(lh,t.sessionWorkspaces),ZC.push(...t.sessionOrder),Fte(()=>Jr(Fr)),Vte(H4e);try{gce()}catch{}try{hce()}catch{}mce().catch(()=>{});try{Zae()}catch{}if(yq==="daemon")if(!await uL())console.error("\u274C Failed to connect to PTY daemon, falling back to buffer mode");else{await Ece(),gq(),wp("connected",()=>{Ece().then(gq).catch(()=>{})});return}console.log("\u{1F4E6} Buffer persistence mode - scrollback enabled");let e=tne(),n=_A();for(let r of e){let i=n[r]||{};Fr.set(r,{pty:null,name:i.name||`Terminal ${Fr.size+1}`,autoNamed:i.autoNamed!==!1,createdAt:i.createdAt||Date.now(),cwd:i.cwd,workspacePath:i.workspacePath??TE[r]??null,shellId:i.shellId,buffer:[],needsRestore:!0}),IU(r,i),console.log(`\u{1F504} Found saved session: ${r}`)}e.length>0&&console.log(`\u2705 Found ${e.length} saved session(s)`),gq()}function qf(t,e){Ff=t,yq==="daemon"&&(wp("output",({sessionId:i,enc:s,data:o,replay:a})=>{a!==!0&&(pA(i),fA(i));let c=s==="b64"?Buffer.from(o,"base64"):Buffer.from(o||"");c.length>wa&&(JC++,(JC===1||JC%500===0)&&Sce.info(`[slice] chunk ${c.length>>10}KB \u2192 ${Math.ceil(c.length/wa)} events (total sliced: ${JC})`)),s==="b64"&&$4e(i,c.toString("utf8"));for(let l=0;l<c.length||l===0;l+=wa){let u=c.subarray(l,l+wa),f=a===!0?rE(i):fie(i);a!==!0&&die(i,f,u),et(t,"output",{sessionId:i,enc:"bin",data:u,replay:a===!0,seq:f})}}),Jte(i=>et(t,"statusState",Ic())),Yte(()=>et(t,"statusState",Ic())),wp("cwdChange",({sessionId:i,cwd:s})=>{let o=Fr.get(i);o&&s&&o.cwd!==s&&(o.cwd=s,Jr(Fr)),et(t,"cwdChange",{sessionId:i,cwd:s})}),wp("processChange",({sessionId:i,process:s})=>{let o=Gte(i,s);if(o?.state==="pendingShell"){setTimeout(()=>q4e(t,i),B4e);return}o?.state==="idle"&&(et(t,"statusChange",{sessionId:i,state:"idle",tool:null,conversationId:null}),et(t,"statusState",Ic()))}),wp("sessionClosed",i=>{Fr.delete(i),cy(i),Vg(i),QC.delete(i);let s=AE.get(i);s&&(clearTimeout(s),AE.delete(i)),OU(i),et(t,"sessionClosed",i),et(t,"notificationCleared",i)}));let n=()=>({version:U4e,remoteAvailable:gp(),mobileAvailable:ute(),daemonMode:yq==="daemon"&&In(),platform:process.platform,updateAvailable:AD(),canSelfUpdate:!0,caps:{joinSessionSize:!0,artifact:!0},artifactEnabled:bE(),voiceConfig:_a().voiceConfig||null,mcpClients:Ry,...pte()}),r=()=>{let i=n();for(let s of t.sockets.sockets.values())s.data?.approved&&s.emit("serverInfo",i)};kD(r),qf._buildServerInfo=n,qf._emitServerInfo=r}function Eq(){qf._emitServerInfo?.()}function CE(t,e,n,r=null){if(!Ff)return null;if(e==="done")return dA(t,()=>{let a=r?.sessionId||r?.threadId||Xi(t)?.id||null,c=kf(t),l=Bp({type:e,sessionId:t,tool:n});!l||l===c||(et(Ff,"statusChange",{sessionId:t,state:e,tool:n,conversationId:a}),et(Ff,"statusState",Ic()))}),kf(t);let i=r?.sessionId||r?.threadId||Xi(t)?.id||null,s=kf(t),o=Bp({type:e,sessionId:t,tool:n});return!o||o===s||(et(Ff,"statusChange",{sessionId:t,state:e,tool:n,conversationId:i}),et(Ff,"statusState",Ic())),o}function wq(t){Tce=t}async function Sq(t,e,n){Sce.info(`[diag] setupTerminalHandlers START id=${t.id} virtual=${!!t.defersWsAdapter}`),hte(),Tce?.(),t.emit("srvCaps",{env2:1}),t.emit("serverInfo",qf._buildServerInfo?.()),_ie(t,e,Fr,Bf,lh,ZC),Tie(t,Fr),ece(t,e),FT()&&await uZ(t,n).catch(r=>{console.error("\u274C Failed to setup remote handlers:",r.message)}),fte(t),t.on("disconnect",()=>{joe(t.id),mte()})}var ch,wce,Sce,Gbt,xce,yq,U4e,_ce,F4e,B4e,QC,Fr,Bf,lh,ZC,TE,vce,AE,Ff,JC,Tce,Na=ae(()=>{lO();ch=require("path"),wce=require("url");li();BT();dte();mo();ZT();vA();hne();nC();Aie();tce();yce();zC();pg();NC();mq();Rs();Cc();Vi();GF();Wl();ot();Sce=be("terminal"),Gbt=(0,ch.dirname)((0,wce.fileURLToPath)(__importMetaUrl)),xce=mv.rgb(230,138,110),yq="daemon",U4e="3.0.2",_ce=/\x1b\](?:0|2);([^\x07\x1b]*)(?:\x07|\x1b\\)/g,F4e=256,B4e=1500,QC=new Map;Fr=new Map,Bf=new Map,lh={},ZC=[],TE={},vce=null;AE=new Map,Ff=null;JC=0;Tce=null});var RE=B((Hbt,kce)=>{"use strict";var j4e=require("path"),Uc="\\\\/",Ace=`[^${Uc}]`,W4e=0,ou="\\.",V4e="\\+",z4e="\\?",eR="\\/",K4e="(?=.)",Cce="[^/]",xq=`(?:${eR}|$)`,Rce=`(?:^|${eR})`,bq=`${ou}{1,2}${xq}`,Y4e=`(?!${ou})`,X4e=`(?!${Rce}${bq})`,J4e=`(?!${ou}{0,1}${xq})`,Q4e=`(?!${bq})`,Z4e=`[^.${eR}]`,e3e=`${Cce}*?`,Ice={DOT_LITERAL:ou,PLUS_LITERAL:V4e,QMARK_LITERAL:z4e,SLASH_LITERAL:eR,ONE_CHAR:K4e,QMARK:Cce,END_ANCHOR:xq,DOTS_SLASH:bq,NO_DOT:Y4e,NO_DOTS:X4e,NO_DOT_SLASH:J4e,NO_DOTS_SLASH:Q4e,QMARK_NO_DOT:Z4e,STAR:e3e,START_ANCHOR:Rce},t3e={...Ice,SLASH_LITERAL:`[${Uc}]`,QMARK:Ace,STAR:`${Ace}*?`,DOTS_SLASH:`${ou}{1,2}(?:[${Uc}]|$)`,NO_DOT:`(?!${ou})`,NO_DOTS:`(?!(?:^|[${Uc}])${ou}{1,2}(?:[${Uc}]|$))`,NO_DOT_SLASH:`(?!${ou}{0,1}(?:[${Uc}]|$))`,NO_DOTS_SLASH:`(?!${ou}{1,2}(?:[${Uc}]|$))`,QMARK_NO_DOT:`[^.${Uc}]`,START_ANCHOR:`(?:^|[${Uc}])`,END_ANCHOR:`(?:[${Uc}]|$)`},n3e={__proto__:null,alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};kce.exports={DEFAULT_MAX_EXTGLOB_RECURSION:W4e,MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:n3e,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:j4e.sep,extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===!0?t3e:Ice}}});var tR=B(rs=>{"use strict";var r3e=require("path"),i3e=process.platform==="win32",{REGEX_BACKSLASH:s3e,REGEX_REMOVE_BACKSLASH:o3e,REGEX_SPECIAL_CHARS:a3e,REGEX_SPECIAL_CHARS_GLOBAL:c3e}=RE();rs.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);rs.hasRegexChars=t=>a3e.test(t);rs.isRegexChar=t=>t.length===1&&rs.hasRegexChars(t);rs.escapeRegex=t=>t.replace(c3e,"\\$1");rs.toPosixSlashes=t=>t.replace(s3e,"/");rs.removeBackslashes=t=>t.replace(o3e,e=>e==="\\"?"":e);rs.supportsLookbehinds=()=>{let t=process.version.slice(1).split(".").map(Number);return t.length===3&&t[0]>=9||t[0]===8&&t[1]>=10};rs.isWindows=t=>t&&typeof t.windows=="boolean"?t.windows:i3e===!0||r3e.sep==="\\";rs.escapeLast=(t,e,n)=>{let r=t.lastIndexOf(e,n);return r===-1?t:t[r-1]==="\\"?rs.escapeLast(t,e,r-1):`${t.slice(0,r)}\\${t.slice(r)}`};rs.removePrefix=(t,e={})=>{let n=t;return n.startsWith("./")&&(n=n.slice(2),e.prefix="./"),n};rs.wrapOutput=(t,e={},n={})=>{let r=n.contains?"":"^",i=n.contains?"":"$",s=`${r}(?:${t})${i}`;return e.negated===!0&&(s=`(?:^(?!${s}).*$)`),s}});var Fce=B((Wbt,Uce)=>{"use strict";var Pce=tR(),{CHAR_ASTERISK:Tq,CHAR_AT:l3e,CHAR_BACKWARD_SLASH:IE,CHAR_COMMA:u3e,CHAR_DOT:Aq,CHAR_EXCLAMATION_MARK:Cq,CHAR_FORWARD_SLASH:Lce,CHAR_LEFT_CURLY_BRACE:Rq,CHAR_LEFT_PARENTHESES:Iq,CHAR_LEFT_SQUARE_BRACKET:f3e,CHAR_PLUS:d3e,CHAR_QUESTION_MARK:Oce,CHAR_RIGHT_CURLY_BRACE:p3e,CHAR_RIGHT_PARENTHESES:Nce,CHAR_RIGHT_SQUARE_BRACKET:h3e}=RE(),Mce=t=>t===Lce||t===IE,Dce=t=>{t.isPrefix!==!0&&(t.depth=t.isGlobstar?1/0:1)},m3e=(t,e)=>{let n=e||{},r=t.length-1,i=n.parts===!0||n.scanToEnd===!0,s=[],o=[],a=[],c=t,l=-1,u=0,f=0,p=!1,m=!1,g=!1,y=!1,w=!1,S=!1,T=!1,R=!1,C=!1,D=!1,q=0,G,V,L={value:"",depth:0,isGlob:!1},k=()=>l>=r,E=()=>c.charCodeAt(l+1),A=()=>(G=V,c.charCodeAt(++l));for(;l<r;){V=A();let X;if(V===IE){T=L.backslashes=!0,V=A(),V===Rq&&(S=!0);continue}if(S===!0||V===Rq){for(q++;k()!==!0&&(V=A());){if(V===IE){T=L.backslashes=!0,A();continue}if(V===Rq){q++;continue}if(S!==!0&&V===Aq&&(V=A())===Aq){if(p=L.isBrace=!0,g=L.isGlob=!0,D=!0,i===!0)continue;break}if(S!==!0&&V===u3e){if(p=L.isBrace=!0,g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===p3e&&(q--,q===0)){S=!1,p=L.isBrace=!0,D=!0;break}}if(i===!0)continue;break}if(V===Lce){if(s.push(l),o.push(L),L={value:"",depth:0,isGlob:!1},D===!0)continue;if(G===Aq&&l===u+1){u+=2;continue}f=l+1;continue}if(n.noext!==!0&&(V===d3e||V===l3e||V===Tq||V===Oce||V===Cq)===!0&&E()===Iq){if(g=L.isGlob=!0,y=L.isExtglob=!0,D=!0,V===Cq&&l===u&&(C=!0),i===!0){for(;k()!==!0&&(V=A());){if(V===IE){T=L.backslashes=!0,V=A();continue}if(V===Nce){g=L.isGlob=!0,D=!0;break}}continue}break}if(V===Tq){if(G===Tq&&(w=L.isGlobstar=!0),g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===Oce){if(g=L.isGlob=!0,D=!0,i===!0)continue;break}if(V===f3e){for(;k()!==!0&&(X=A());){if(X===IE){T=L.backslashes=!0,A();continue}if(X===h3e){m=L.isBracket=!0,g=L.isGlob=!0,D=!0;break}}if(i===!0)continue;break}if(n.nonegate!==!0&&V===Cq&&l===u){R=L.negated=!0,u++;continue}if(n.noparen!==!0&&V===Iq){if(g=L.isGlob=!0,i===!0){for(;k()!==!0&&(V=A());){if(V===Iq){T=L.backslashes=!0,V=A();continue}if(V===Nce){D=!0;break}}continue}break}if(g===!0){if(D=!0,i===!0)continue;break}}n.noext===!0&&(y=!1,g=!1);let N=c,I="",P="";u>0&&(I=c.slice(0,u),c=c.slice(u),f-=u),N&&g===!0&&f>0?(N=c.slice(0,f),P=c.slice(f)):g===!0?(N="",P=c):N=c,N&&N!==""&&N!=="/"&&N!==c&&Mce(N.charCodeAt(N.length-1))&&(N=N.slice(0,-1)),n.unescape===!0&&(P&&(P=Pce.removeBackslashes(P)),N&&T===!0&&(N=Pce.removeBackslashes(N)));let F={prefix:I,input:t,start:u,base:N,glob:P,isBrace:p,isBracket:m,isGlob:g,isExtglob:y,isGlobstar:w,negated:R,negatedExtglob:C};if(n.tokens===!0&&(F.maxDepth=0,Mce(V)||o.push(L),F.tokens=o),n.parts===!0||n.tokens===!0){let X;for(let M=0;M<s.length;M++){let b=X?X+1:u,$=s[M],pe=t.slice(b,$);n.tokens&&(M===0&&u!==0?(o[M].isPrefix=!0,o[M].value=I):o[M].value=pe,Dce(o[M]),F.maxDepth+=o[M].depth),(M!==0||pe!=="")&&a.push(pe),X=$}if(X&&X+1<t.length){let M=t.slice(X+1);a.push(M),n.tokens&&(o[o.length-1].value=M,Dce(o[o.length-1]),F.maxDepth+=o[o.length-1].depth)}F.slashes=s,F.parts=a}return F};Uce.exports=m3e});var Hce=B((Vbt,Gce)=>{"use strict";var kE=RE(),di=tR(),{MAX_LENGTH:nR,POSIX_REGEX_SOURCE:g3e,REGEX_NON_SPECIAL_CHARS:y3e,REGEX_SPECIAL_CHARS_BACKREF:_3e,REPLACEMENTS:Bce}=kE,v3e=(t,e)=>{if(typeof e.expandRange=="function")return e.expandRange(...t,e);t.sort();let n=`[${t.join("-")}]`;try{new RegExp(n)}catch{return t.map(i=>di.escapeRegex(i)).join("..")}return n},ky=(t,e)=>`Missing ${t}: "${e}" - use "\\\\${e}" to match literal characters`,qce=t=>{let e=[],n=0,r=0,i=0,s="",o=!1;for(let a of t){if(o===!0){s+=a,o=!1;continue}if(a==="\\"){s+=a,o=!0;continue}if(a==='"'){i=i===1?0:1,s+=a;continue}if(i===0){if(a==="[")n++;else if(a==="]"&&n>0)n--;else if(n===0){if(a==="(")r++;else if(a===")"&&r>0)r--;else if(a==="|"&&r===0){e.push(s),s="";continue}}}s+=a}return e.push(s),e},E3e=t=>{let e=!1;for(let n of t){if(e===!0){e=!1;continue}if(n==="\\"){e=!0;continue}if(/[?*+@!()[\]{}]/.test(n))return!1}return!0},$ce=t=>{let e=t.trim(),n=!0;for(;n===!0;)n=!1,/^@\([^\\()[\]{}|]+\)$/.test(e)&&(e=e.slice(2,-1),n=!0);if(E3e(e))return e.replace(/\\(.)/g,"$1")},w3e=t=>{let e=t.map($ce).filter(Boolean);for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=e[n],s=e[r],o=i[0];if(!(!o||i!==o.repeat(i.length)||s!==o.repeat(s.length))&&(i===s||i.startsWith(s)||s.startsWith(i)))return!0}return!1},kq=(t,e=!0)=>{if(t[0]!=="+"&&t[0]!=="*"||t[1]!=="(")return;let n=0,r=0,i=0,s=!1;for(let o=1;o<t.length;o++){let a=t[o];if(s===!0){s=!1;continue}if(a==="\\"){s=!0;continue}if(a==='"'){i=i===1?0:1;continue}if(i!==1){if(a==="["){n++;continue}if(a==="]"&&n>0){n--;continue}if(!(n>0)){if(a==="("){r++;continue}if(a===")"&&(r--,r===0))return e===!0&&o!==t.length-1?void 0:{type:t[0],body:t.slice(2,o),end:o}}}}},S3e=t=>{let e=0,n=[];for(;e<t.length;){let i=kq(t.slice(e),!1);if(!i||i.type!=="*")return;let s=qce(i.body).map(a=>a.trim());if(s.length!==1)return;let o=$ce(s[0]);if(!o||o.length!==1)return;n.push(o),e+=i.end+1}return n.length<1?void 0:`${n.length===1?di.escapeRegex(n[0]):`[${n.map(i=>di.escapeRegex(i)).join("")}]`}*`},x3e=t=>{let e=0,n=t.trim(),r=kq(n);for(;r;)e++,n=r.body.trim(),r=kq(n);return e},b3e=(t,e)=>{if(e.maxExtglobRecursion===!1)return{risky:!1};let n=typeof e.maxExtglobRecursion=="number"?e.maxExtglobRecursion:kE.DEFAULT_MAX_EXTGLOB_RECURSION,r=qce(t).map(i=>i.trim());if(r.length>1&&(r.some(i=>i==="")||r.some(i=>/^[*?]+$/.test(i))||w3e(r)))return{risky:!0};for(let i of r){let s=S3e(i);if(s)return{risky:!0,safeOutput:s};if(x3e(i)>n)return{risky:!0}}return{risky:!1}},Pq=(t,e)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=Bce[t]||t;let n={...e},r=typeof n.maxLength=="number"?Math.min(nR,n.maxLength):nR,i=t.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);let s={type:"bos",value:"",output:n.prepend||""},o=[s],a=n.capture?"":"?:",c=di.isWindows(e),l=kE.globChars(c),u=kE.extglobChars(l),{DOT_LITERAL:f,PLUS_LITERAL:p,SLASH_LITERAL:m,ONE_CHAR:g,DOTS_SLASH:y,NO_DOT:w,NO_DOT_SLASH:S,NO_DOTS_SLASH:T,QMARK:R,QMARK_NO_DOT:C,STAR:D,START_ANCHOR:q}=l,G=U=>`(${a}(?:(?!${q}${U.dot?y:f}).)*?)`,V=n.dot?"":w,L=n.dot?R:C,k=n.bash===!0?G(n):D;n.capture&&(k=`(${k})`),typeof n.noext=="boolean"&&(n.noextglob=n.noext);let E={input:t,index:-1,start:0,dot:n.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:o};t=di.removePrefix(t,E),i=t.length;let A=[],N=[],I=[],P=s,F,X=()=>E.index===i-1,M=E.peek=(U=1)=>t[E.index+U],b=E.advance=()=>t[++E.index]||"",$=()=>t.slice(E.index+1),pe=(U="",K=0)=>{E.consumed+=U,E.index+=K},oe=U=>{E.output+=U.output!=null?U.output:U.value,pe(U.value)},J=()=>{let U=1;for(;M()==="!"&&(M(2)!=="("||M(3)==="?");)b(),E.start++,U++;return U%2===0?!1:(E.negated=!0,E.start++,!0)},ve=U=>{E[U]++,I.push(U)},we=U=>{E[U]--,I.pop()},Se=U=>{if(P.type==="globstar"){let K=E.braces>0&&(U.type==="comma"||U.type==="brace"),j=U.extglob===!0||A.length&&(U.type==="pipe"||U.type==="paren");U.type!=="slash"&&U.type!=="paren"&&!K&&!j&&(E.output=E.output.slice(0,-P.output.length),P.type="star",P.value="*",P.output=k,E.output+=P.output)}if(A.length&&U.type!=="paren"&&(A[A.length-1].inner+=U.value),(U.value||U.output)&&oe(U),P&&P.type==="text"&&U.type==="text"){P.value+=U.value,P.output=(P.output||"")+U.value;return}U.prev=P,o.push(U),P=U},ct=(U,K)=>{let j={...u[K],conditions:1,inner:""};j.prev=P,j.parens=E.parens,j.output=E.output,j.startIndex=E.index,j.tokensIndex=o.length;let Q=(n.capture?"(":"")+j.open;ve("parens"),Se({type:U,value:K,output:E.output?"":g}),Se({type:"paren",extglob:!0,value:b(),output:Q}),A.push(j)},Ue=U=>{let K=t.slice(U.startIndex,E.index+1),j=t.slice(U.startIndex+2,E.index),Q=b3e(j,n);if((U.type==="plus"||U.type==="star")&&Q.risky){let ie=Q.safeOutput?(U.output?"":g)+(n.capture?`(${Q.safeOutput})`:Q.safeOutput):void 0,ne=o[U.tokensIndex];ne.type="text",ne.value=K,ne.output=ie||di.escapeRegex(K);for(let re=U.tokensIndex+1;re<o.length;re++)o[re].value="",o[re].output="",delete o[re].suffix;E.output=U.output+ne.output,E.backtrack=!0,Se({type:"paren",extglob:!0,value:F,output:""}),we("parens");return}let Z=U.close+(n.capture?")":""),ee;if(U.type==="negate"){let ie=k;if(U.inner&&U.inner.length>1&&U.inner.includes("/")&&(ie=G(n)),(ie!==k||X()||/^\)+$/.test($()))&&(Z=U.close=`)$))${ie}`),U.inner.includes("*")&&(ee=$())&&/^\.[^\\/.]+$/.test(ee)){let ne=Pq(ee,{...e,fastpaths:!1}).output;Z=U.close=`)${ne})${ie})`}U.prev.type==="bos"&&(E.negatedExtglob=!0)}Se({type:"paren",extglob:!0,value:F,output:Z}),we("parens")};if(n.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(t)){let U=!1,K=t.replace(_3e,(j,Q,Z,ee,ie,ne)=>ee==="\\"?(U=!0,j):ee==="?"?Q?Q+ee+(ie?R.repeat(ie.length):""):ne===0?L+(ie?R.repeat(ie.length):""):R.repeat(Z.length):ee==="."?f.repeat(Z.length):ee==="*"?Q?Q+ee+(ie?k:""):k:Q?j:`\\${j}`);return U===!0&&(n.unescape===!0?K=K.replace(/\\/g,""):K=K.replace(/\\+/g,j=>j.length%2===0?"\\\\":j?"\\":"")),K===t&&n.contains===!0?(E.output=t,E):(E.output=di.wrapOutput(K,E,e),E)}for(;!X();){if(F=b(),F==="\0")continue;if(F==="\\"){let j=M();if(j==="/"&&n.bash!==!0||j==="."||j===";")continue;if(!j){F+="\\",Se({type:"text",value:F});continue}let Q=/^\\+/.exec($()),Z=0;if(Q&&Q[0].length>2&&(Z=Q[0].length,E.index+=Z,Z%2!==0&&(F+="\\")),n.unescape===!0?F=b():F+=b(),E.brackets===0){Se({type:"text",value:F});continue}}if(E.brackets>0&&(F!=="]"||P.value==="["||P.value==="[^")){if(n.posix!==!1&&F===":"){let j=P.value.slice(1);if(j.includes("[")&&(P.posix=!0,j.includes(":"))){let Q=P.value.lastIndexOf("["),Z=P.value.slice(0,Q),ee=P.value.slice(Q+2),ie=g3e[ee];if(ie){P.value=Z+ie,E.backtrack=!0,b(),!s.output&&o.indexOf(P)===1&&(s.output=g);continue}}}(F==="["&&M()!==":"||F==="-"&&M()==="]")&&(F=`\\${F}`),F==="]"&&(P.value==="["||P.value==="[^")&&(F=`\\${F}`),n.posix===!0&&F==="!"&&P.value==="["&&(F="^"),P.value+=F,oe({value:F});continue}if(E.quotes===1&&F!=='"'){F=di.escapeRegex(F),P.value+=F,oe({value:F});continue}if(F==='"'){E.quotes=E.quotes===1?0:1,n.keepQuotes===!0&&Se({type:"text",value:F});continue}if(F==="("){ve("parens"),Se({type:"paren",value:F});continue}if(F===")"){if(E.parens===0&&n.strictBrackets===!0)throw new SyntaxError(ky("opening","("));let j=A[A.length-1];if(j&&E.parens===j.parens+1){Ue(A.pop());continue}Se({type:"paren",value:F,output:E.parens?")":"\\)"}),we("parens");continue}if(F==="["){if(n.nobracket===!0||!$().includes("]")){if(n.nobracket!==!0&&n.strictBrackets===!0)throw new SyntaxError(ky("closing","]"));F=`\\${F}`}else ve("brackets");Se({type:"bracket",value:F});continue}if(F==="]"){if(n.nobracket===!0||P&&P.type==="bracket"&&P.value.length===1){Se({type:"text",value:F,output:`\\${F}`});continue}if(E.brackets===0){if(n.strictBrackets===!0)throw new SyntaxError(ky("opening","["));Se({type:"text",value:F,output:`\\${F}`});continue}we("brackets");let j=P.value.slice(1);if(P.posix!==!0&&j[0]==="^"&&!j.includes("/")&&(F=`/${F}`),P.value+=F,oe({value:F}),n.literalBrackets===!1||di.hasRegexChars(j))continue;let Q=di.escapeRegex(P.value);if(E.output=E.output.slice(0,-P.value.length),n.literalBrackets===!0){E.output+=Q,P.value=Q;continue}P.value=`(${a}${Q}|${P.value})`,E.output+=P.value;continue}if(F==="{"&&n.nobrace!==!0){ve("braces");let j={type:"brace",value:F,output:"(",outputIndex:E.output.length,tokensIndex:E.tokens.length};N.push(j),Se(j);continue}if(F==="}"){let j=N[N.length-1];if(n.nobrace===!0||!j){Se({type:"text",value:F,output:F});continue}let Q=")";if(j.dots===!0){let Z=o.slice(),ee=[];for(let ie=Z.length-1;ie>=0&&(o.pop(),Z[ie].type!=="brace");ie--)Z[ie].type!=="dots"&&ee.unshift(Z[ie].value);Q=v3e(ee,n),E.backtrack=!0}if(j.comma!==!0&&j.dots!==!0){let Z=E.output.slice(0,j.outputIndex),ee=E.tokens.slice(j.tokensIndex);j.value=j.output="\\{",F=Q="\\}",E.output=Z;for(let ie of ee)E.output+=ie.output||ie.value}Se({type:"brace",value:F,output:Q}),we("braces"),N.pop();continue}if(F==="|"){A.length>0&&A[A.length-1].conditions++,Se({type:"text",value:F});continue}if(F===","){let j=F,Q=N[N.length-1];Q&&I[I.length-1]==="braces"&&(Q.comma=!0,j="|"),Se({type:"comma",value:F,output:j});continue}if(F==="/"){if(P.type==="dot"&&E.index===E.start+1){E.start=E.index+1,E.consumed="",E.output="",o.pop(),P=s;continue}Se({type:"slash",value:F,output:m});continue}if(F==="."){if(E.braces>0&&P.type==="dot"){P.value==="."&&(P.output=f);let j=N[N.length-1];P.type="dots",P.output+=F,P.value+=F,j.dots=!0;continue}if(E.braces+E.parens===0&&P.type!=="bos"&&P.type!=="slash"){Se({type:"text",value:F,output:f});continue}Se({type:"dot",value:F,output:f});continue}if(F==="?"){if(!(P&&P.value==="(")&&n.noextglob!==!0&&M()==="("&&M(2)!=="?"){ct("qmark",F);continue}if(P&&P.type==="paren"){let Q=M(),Z=F;if(Q==="<"&&!di.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(P.value==="("&&!/[!=<:]/.test(Q)||Q==="<"&&!/<([!=]|\w+>)/.test($()))&&(Z=`\\${F}`),Se({type:"text",value:F,output:Z});continue}if(n.dot!==!0&&(P.type==="slash"||P.type==="bos")){Se({type:"qmark",value:F,output:C});continue}Se({type:"qmark",value:F,output:R});continue}if(F==="!"){if(n.noextglob!==!0&&M()==="("&&(M(2)!=="?"||!/[!=<:]/.test(M(3)))){ct("negate",F);continue}if(n.nonegate!==!0&&E.index===0){J();continue}}if(F==="+"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){ct("plus",F);continue}if(P&&P.value==="("||n.regex===!1){Se({type:"plus",value:F,output:p});continue}if(P&&(P.type==="bracket"||P.type==="paren"||P.type==="brace")||E.parens>0){Se({type:"plus",value:F});continue}Se({type:"plus",value:p});continue}if(F==="@"){if(n.noextglob!==!0&&M()==="("&&M(2)!=="?"){Se({type:"at",extglob:!0,value:F,output:""});continue}Se({type:"text",value:F});continue}if(F!=="*"){(F==="$"||F==="^")&&(F=`\\${F}`);let j=y3e.exec($());j&&(F+=j[0],E.index+=j[0].length),Se({type:"text",value:F});continue}if(P&&(P.type==="globstar"||P.star===!0)){P.type="star",P.star=!0,P.value+=F,P.output=k,E.backtrack=!0,E.globstar=!0,pe(F);continue}let U=$();if(n.noextglob!==!0&&/^\([^?]/.test(U)){ct("star",F);continue}if(P.type==="star"){if(n.noglobstar===!0){pe(F);continue}let j=P.prev,Q=j.prev,Z=j.type==="slash"||j.type==="bos",ee=Q&&(Q.type==="star"||Q.type==="globstar");if(n.bash===!0&&(!Z||U[0]&&U[0]!=="/")){Se({type:"star",value:F,output:""});continue}let ie=E.braces>0&&(j.type==="comma"||j.type==="brace"),ne=A.length&&(j.type==="pipe"||j.type==="paren");if(!Z&&j.type!=="paren"&&!ie&&!ne){Se({type:"star",value:F,output:""});continue}for(;U.slice(0,3)==="/**";){let re=t[E.index+4];if(re&&re!=="/")break;U=U.slice(3),pe("/**",3)}if(j.type==="bos"&&X()){P.type="globstar",P.value+=F,P.output=G(n),E.output=P.output,E.globstar=!0,pe(F);continue}if(j.type==="slash"&&j.prev.type!=="bos"&&!ee&&X()){E.output=E.output.slice(0,-(j.output+P.output).length),j.output=`(?:${j.output}`,P.type="globstar",P.output=G(n)+(n.strictSlashes?")":"|$)"),P.value+=F,E.globstar=!0,E.output+=j.output+P.output,pe(F);continue}if(j.type==="slash"&&j.prev.type!=="bos"&&U[0]==="/"){let re=U[1]!==void 0?"|$":"";E.output=E.output.slice(0,-(j.output+P.output).length),j.output=`(?:${j.output}`,P.type="globstar",P.output=`${G(n)}${m}|${m}${re})`,P.value+=F,E.output+=j.output+P.output,E.globstar=!0,pe(F+b()),Se({type:"slash",value:"/",output:""});continue}if(j.type==="bos"&&U[0]==="/"){P.type="globstar",P.value+=F,P.output=`(?:^|${m}|${G(n)}${m})`,E.output=P.output,E.globstar=!0,pe(F+b()),Se({type:"slash",value:"/",output:""});continue}E.output=E.output.slice(0,-P.output.length),P.type="globstar",P.output=G(n),P.value+=F,E.output+=P.output,E.globstar=!0,pe(F);continue}let K={type:"star",value:F,output:k};if(n.bash===!0){K.output=".*?",(P.type==="bos"||P.type==="slash")&&(K.output=V+K.output),Se(K);continue}if(P&&(P.type==="bracket"||P.type==="paren")&&n.regex===!0){K.output=F,Se(K);continue}(E.index===E.start||P.type==="slash"||P.type==="dot")&&(P.type==="dot"?(E.output+=S,P.output+=S):n.dot===!0?(E.output+=T,P.output+=T):(E.output+=V,P.output+=V),M()!=="*"&&(E.output+=g,P.output+=g)),Se(K)}for(;E.brackets>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing","]"));E.output=di.escapeLast(E.output,"["),we("brackets")}for(;E.parens>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing",")"));E.output=di.escapeLast(E.output,"("),we("parens")}for(;E.braces>0;){if(n.strictBrackets===!0)throw new SyntaxError(ky("closing","}"));E.output=di.escapeLast(E.output,"{"),we("braces")}if(n.strictSlashes!==!0&&(P.type==="star"||P.type==="bracket")&&Se({type:"maybe_slash",value:"",output:`${m}?`}),E.backtrack===!0){E.output="";for(let U of E.tokens)E.output+=U.output!=null?U.output:U.value,U.suffix&&(E.output+=U.suffix)}return E};Pq.fastpaths=(t,e)=>{let n={...e},r=typeof n.maxLength=="number"?Math.min(nR,n.maxLength):nR,i=t.length;if(i>r)throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${r}`);t=Bce[t]||t;let s=di.isWindows(e),{DOT_LITERAL:o,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:l,NO_DOT:u,NO_DOTS:f,NO_DOTS_SLASH:p,STAR:m,START_ANCHOR:g}=kE.globChars(s),y=n.dot?f:u,w=n.dot?p:u,S=n.capture?"":"?:",T={negated:!1,prefix:""},R=n.bash===!0?".*?":m;n.capture&&(R=`(${R})`);let C=V=>V.noglobstar===!0?R:`(${S}(?:(?!${g}${V.dot?l:o}).)*?)`,D=V=>{switch(V){case"*":return`${y}${c}${R}`;case".*":return`${o}${c}${R}`;case"*.*":return`${y}${R}${o}${c}${R}`;case"*/*":return`${y}${R}${a}${c}${w}${R}`;case"**":return y+C(n);case"**/*":return`(?:${y}${C(n)}${a})?${w}${c}${R}`;case"**/*.*":return`(?:${y}${C(n)}${a})?${w}${R}${o}${c}${R}`;case"**/.*":return`(?:${y}${C(n)}${a})?${o}${c}${R}`;default:{let L=/^(.*?)\.(\w+)$/.exec(V);if(!L)return;let k=D(L[1]);return k?k+o+L[2]:void 0}}},q=di.removePrefix(t,T),G=D(q);return G&&n.strictSlashes!==!0&&(G+=`${a}?`),G};Gce.exports=Pq});var Wce=B((zbt,jce)=>{"use strict";var T3e=require("path"),A3e=Fce(),Oq=Hce(),Nq=tR(),C3e=RE(),R3e=t=>t&&typeof t=="object"&&!Array.isArray(t),lr=(t,e,n=!1)=>{if(Array.isArray(t)){let u=t.map(p=>lr(p,e,n));return p=>{for(let m of u){let g=m(p);if(g)return g}return!1}}let r=R3e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!r)throw new TypeError("Expected pattern to be a non-empty string");let i=e||{},s=Nq.isWindows(e),o=r?lr.compileRe(t,e):lr.makeRe(t,e,!1,!0),a=o.state;delete o.state;let c=()=>!1;if(i.ignore){let u={...e,ignore:null,onMatch:null,onResult:null};c=lr(i.ignore,u,n)}let l=(u,f=!1)=>{let{isMatch:p,match:m,output:g}=lr.test(u,o,e,{glob:t,posix:s}),y={glob:t,state:a,regex:o,posix:s,input:u,output:g,match:m,isMatch:p};return typeof i.onResult=="function"&&i.onResult(y),p===!1?(y.isMatch=!1,f?y:!1):c(u)?(typeof i.onIgnore=="function"&&i.onIgnore(y),y.isMatch=!1,f?y:!1):(typeof i.onMatch=="function"&&i.onMatch(y),f?y:!0)};return n&&(l.state=a),l};lr.test=(t,e,n,{glob:r,posix:i}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return{isMatch:!1,output:""};let s=n||{},o=s.format||(i?Nq.toPosixSlashes:null),a=t===r,c=a&&o?o(t):t;return a===!1&&(c=o?o(t):t,a=c===r),(a===!1||s.capture===!0)&&(s.matchBase===!0||s.basename===!0?a=lr.matchBase(t,e,n,i):a=e.exec(c)),{isMatch:!!a,match:a,output:c}};lr.matchBase=(t,e,n,r=Nq.isWindows(n))=>(e instanceof RegExp?e:lr.makeRe(e,n)).test(T3e.basename(t));lr.isMatch=(t,e,n)=>lr(e,n)(t);lr.parse=(t,e)=>Array.isArray(t)?t.map(n=>lr.parse(n,e)):Oq(t,{...e,fastpaths:!1});lr.scan=(t,e)=>A3e(t,e);lr.compileRe=(t,e,n=!1,r=!1)=>{if(n===!0)return t.output;let i=e||{},s=i.contains?"":"^",o=i.contains?"":"$",a=`${s}(?:${t.output})${o}`;t&&t.negated===!0&&(a=`^(?!${a}).*$`);let c=lr.toRegex(a,e);return r===!0&&(c.state=t),c};lr.makeRe=(t,e={},n=!1,r=!1)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let i={negated:!1,fastpaths:!0};return e.fastpaths!==!1&&(t[0]==="."||t[0]==="*")&&(i.output=Oq.fastpaths(t,e)),i.output||(i=Oq(t,e)),lr.compileRe(i,e,n,r)};lr.toRegex=(t,e)=>{try{let n=e||{};return new RegExp(t,n.flags||(n.nocase?"i":""))}catch(n){if(e&&e.debug===!0)throw n;return/$^/}};lr.constants=C3e;jce.exports=lr});var Mq=B((Kbt,Vce)=>{"use strict";Vce.exports=Wce()});var ele=B((Ybt,Zce)=>{"use strict";var OE=require("fs"),{Readable:I3e}=require("stream"),PE=require("path"),{promisify:oR}=require("util"),Dq=Mq(),k3e=oR(OE.readdir),P3e=oR(OE.stat),zce=oR(OE.lstat),O3e=oR(OE.realpath),N3e="!",Jce="READDIRP_RECURSIVE_ERROR",M3e=new Set(["ENOENT","EPERM","EACCES","ELOOP",Jce]),Lq="files",Qce="directories",iR="files_directories",rR="all",Kce=[Lq,Qce,iR,rR],D3e=t=>M3e.has(t.code),[Yce,L3e]=process.versions.node.split(".").slice(0,2).map(t=>Number.parseInt(t,10)),U3e=process.platform==="win32"&&(Yce>10||Yce===10&&L3e>=5),Xce=t=>{if(t!==void 0){if(typeof t=="function")return t;if(typeof t=="string"){let e=Dq(t.trim());return n=>e(n.basename)}if(Array.isArray(t)){let e=[],n=[];for(let r of t){let i=r.trim();i.charAt(0)===N3e?n.push(Dq(i.slice(1))):e.push(Dq(i))}return n.length>0?e.length>0?r=>e.some(i=>i(r.basename))&&!n.some(i=>i(r.basename)):r=>!n.some(i=>i(r.basename)):r=>e.some(i=>i(r.basename))}}},sR=class t extends I3e{static get defaultOptions(){return{root:".",fileFilter:e=>!0,directoryFilter:e=>!0,type:Lq,lstat:!1,depth:2147483648,alwaysStat:!1}}constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark||4096});let n={...t.defaultOptions,...e},{root:r,type:i}=n;this._fileFilter=Xce(n.fileFilter),this._directoryFilter=Xce(n.directoryFilter);let s=n.lstat?zce:P3e;U3e?this._stat=o=>s(o,{bigint:!0}):this._stat=s,this._maxDepth=n.depth,this._wantsDir=[Qce,iR,rR].includes(i),this._wantsFile=[Lq,iR,rR].includes(i),this._wantsEverything=i===rR,this._root=PE.resolve(r),this._isDirent="Dirent"in OE&&!n.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(r,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let{path:n,depth:r,files:i=[]}=this.parent||{};if(i.length>0){let s=i.splice(0,e).map(o=>this._formatEntry(o,n));for(let o of await Promise.all(s)){if(this.destroyed)return;let a=await this._getEntryType(o);a==="directory"&&this._directoryFilter(o)?(r<=this._maxDepth&&this.parents.push(this._exploreDir(o.fullPath,r+1)),this._wantsDir&&(this.push(o),e--)):(a==="file"||this._includeAsFile(o))&&this._fileFilter(o)&&this._wantsFile&&(this.push(o),e--)}}else{let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(n){this.destroy(n)}finally{this.reading=!1}}}async _exploreDir(e,n){let r;try{r=await k3e(e,this._rdOptions)}catch(i){this._onError(i)}return{files:r,depth:n,path:e}}async _formatEntry(e,n){let r;try{let i=this._isDirent?e.name:e,s=PE.resolve(PE.join(n,i));r={path:PE.relative(this._root,s),fullPath:s,basename:i},r[this._statsProp]=this._isDirent?e:await this._stat(s)}catch(i){this._onError(i)}return r}_onError(e){D3e(e)&&!this.destroyed?this.emit("warn",e):this.destroy(e)}async _getEntryType(e){let n=e&&e[this._statsProp];if(n){if(n.isFile())return"file";if(n.isDirectory())return"directory";if(n&&n.isSymbolicLink()){let r=e.fullPath;try{let i=await O3e(r),s=await zce(i);if(s.isFile())return"file";if(s.isDirectory()){let o=i.length;if(r.startsWith(i)&&r.substr(o,1)===PE.sep){let a=new Error(`Circular symlink detected: "${r}" points to "${i}"`);return a.code=Jce,this._onError(a)}return"directory"}}catch(i){this._onError(i)}}}}_includeAsFile(e){let n=e&&e[this._statsProp];return n&&this._wantsEverything&&!n.isDirectory()}},Py=(t,e={})=>{let n=e.entryType||e.type;if(n==="both"&&(n=iR),n&&(e.type=n),t){if(typeof t!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(n&&!Kce.includes(n))throw new Error(`readdirp: Invalid type passed. Use one of ${Kce.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return e.root=t,new sR(e)},F3e=(t,e={})=>new Promise((n,r)=>{let i=[];Py(t,e).on("data",s=>i.push(s)).on("end",()=>n(i)).on("error",s=>r(s))});Py.promise=F3e;Py.ReaddirpStream=sR;Py.default=Py;Zce.exports=Py});var Oy=B((Xbt,tle)=>{tle.exports=function(t,e){if(typeof t!="string")throw new TypeError("expected path to be a string");if(t==="\\"||t==="/")return"/";var n=t.length;if(n<=1)return t;var r="";if(n>4&&t[3]==="\\"){var i=t[2];(i==="?"||i===".")&&t.slice(0,2)==="\\\\"&&(t=t.slice(2),r="//")}var s=t.split(/[/\\]+/);return e!==!1&&s[s.length-1]===""&&s.pop(),r+s.join("/")}});var ale=B((sle,ole)=>{"use strict";Object.defineProperty(sle,"__esModule",{value:!0});var ile=Mq(),B3e=Oy(),nle="!",q3e={returnIndex:!1},$3e=t=>Array.isArray(t)?t:[t],G3e=(t,e)=>{if(typeof t=="function")return t;if(typeof t=="string"){let n=ile(t,e);return r=>t===r||n(r)}return t instanceof RegExp?n=>t.test(n):n=>!1},rle=(t,e,n,r)=>{let i=Array.isArray(n),s=i?n[0]:n;if(!i&&typeof s!="string")throw new TypeError("anymatch: second argument must be a string: got "+Object.prototype.toString.call(s));let o=B3e(s,!1);for(let c=0;c<e.length;c++){let l=e[c];if(l(o))return r?-1:!1}let a=i&&[o].concat(n.slice(1));for(let c=0;c<t.length;c++){let l=t[c];if(i?l(...a):l(o))return r?c:!0}return r?-1:!1},Uq=(t,e,n=q3e)=>{if(t==null)throw new TypeError("anymatch: specify first argument");let r=typeof n=="boolean"?{returnIndex:n}:n,i=r.returnIndex||!1,s=$3e(t),o=s.filter(c=>typeof c=="string"&&c.charAt(0)===nle).map(c=>c.slice(1)).map(c=>ile(c,r)),a=s.filter(c=>typeof c!="string"||typeof c=="string"&&c.charAt(0)!==nle).map(c=>G3e(c,r));return e==null?(c,l=!1)=>rle(a,o,c,typeof l=="boolean"?l:!1):rle(a,o,e,i)};Uq.default=Uq;ole.exports=Uq});var lle=B((Jbt,cle)=>{cle.exports=function(e){if(typeof e!="string"||e==="")return!1;for(var n;n=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(n[2])return!0;e=e.slice(n.index+n[0].length)}return!1}});var Fq=B((Qbt,fle)=>{var H3e=lle(),ule={"{":"}","(":")","[":"]"},j3e=function(t){if(t[0]==="!")return!0;for(var e=0,n=-2,r=-2,i=-2,s=-2,o=-2;e<t.length;){if(t[e]==="*"||t[e+1]==="?"&&/[\].+)]/.test(t[e])||r!==-1&&t[e]==="["&&t[e+1]!=="]"&&(r<e&&(r=t.indexOf("]",e)),r>e&&(o===-1||o>r||(o=t.indexOf("\\",e),o===-1||o>r)))||i!==-1&&t[e]==="{"&&t[e+1]!=="}"&&(i=t.indexOf("}",e),i>e&&(o=t.indexOf("\\",e),o===-1||o>i))||s!==-1&&t[e]==="("&&t[e+1]==="?"&&/[:!=]/.test(t[e+2])&&t[e+3]!==")"&&(s=t.indexOf(")",e),s>e&&(o=t.indexOf("\\",e),o===-1||o>s))||n!==-1&&t[e]==="("&&t[e+1]!=="|"&&(n<e&&(n=t.indexOf("|",e)),n!==-1&&t[n+1]!==")"&&(s=t.indexOf(")",n),s>n&&(o=t.indexOf("\\",n),o===-1||o>s))))return!0;if(t[e]==="\\"){var a=t[e+1];e+=2;var c=ule[a];if(c){var l=t.indexOf(c,e);l!==-1&&(e=l+1)}if(t[e]==="!")return!0}else e++}return!1},W3e=function(t){if(t[0]==="!")return!0;for(var e=0;e<t.length;){if(/[*?{}()[\]]/.test(t[e]))return!0;if(t[e]==="\\"){var n=t[e+1];e+=2;var r=ule[n];if(r){var i=t.indexOf(r,e);i!==-1&&(e=i+1)}if(t[e]==="!")return!0}else e++}return!1};fle.exports=function(e,n){if(typeof e!="string"||e==="")return!1;if(H3e(e))return!0;var r=j3e;return n&&n.strict===!1&&(r=W3e),r(e)}});var ple=B((Zbt,dle)=>{"use strict";var V3e=Fq(),z3e=require("path").posix.dirname,K3e=require("os").platform()==="win32",Bq="/",Y3e=/\\/g,X3e=/[\{\[].*[\}\]]$/,J3e=/(^|[^\\])([\{\[]|\([^\)]+$)/,Q3e=/\\([\!\*\?\|\[\]\(\)\{\}])/g;dle.exports=function(e,n){var r=Object.assign({flipBackslashes:!0},n);r.flipBackslashes&&K3e&&e.indexOf(Bq)<0&&(e=e.replace(Y3e,Bq)),X3e.test(e)&&(e+=Bq),e+="a";do e=z3e(e);while(V3e(e)||J3e.test(e));return e.replace(Q3e,"$1")}});var aR=B(Oo=>{"use strict";Oo.isInteger=t=>typeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1;Oo.find=(t,e)=>t.nodes.find(n=>n.type===e);Oo.exceedsLimit=(t,e,n=1,r)=>r===!1||!Oo.isInteger(t)||!Oo.isInteger(e)?!1:(Number(e)-Number(t))/Number(n)>=r;Oo.escapeNode=(t,e=0,n)=>{let r=t.nodes[e];r&&(n&&r.type===n||r.type==="open"||r.type==="close")&&r.escaped!==!0&&(r.value="\\"+r.value,r.escaped=!0)};Oo.encloseBrace=t=>t.type!=="brace"?!1:t.commas>>0+t.ranges>>0===0?(t.invalid=!0,!0):!1;Oo.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:t.commas>>0+t.ranges>>0===0||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1;Oo.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0;Oo.reduce=t=>t.reduce((e,n)=>(n.type==="text"&&e.push(n.value),n.type==="range"&&(n.type="text"),e),[]);Oo.flatten=(...t)=>{let e=[],n=r=>{for(let i=0;i<r.length;i++){let s=r[i];if(Array.isArray(s)){n(s);continue}s!==void 0&&e.push(s)}return e};return n(t),e}});var cR=B((tTt,mle)=>{"use strict";var hle=aR();mle.exports=(t,e={})=>{let n=(r,i={})=>{let s=e.escapeInvalid&&hle.isInvalidBrace(i),o=r.invalid===!0&&e.escapeInvalid===!0,a="";if(r.value)return(s||o)&&hle.isOpenOrClose(r)?"\\"+r.value:r.value;if(r.value)return r.value;if(r.nodes)for(let c of r.nodes)a+=n(c);return a};return n(t)}});var yle=B((nTt,gle)=>{"use strict";gle.exports=function(t){return typeof t=="number"?t-t===0:typeof t=="string"&&t.trim()!==""?Number.isFinite?Number.isFinite(+t):isFinite(+t):!1}});var Ale=B((rTt,Tle)=>{"use strict";var _le=yle(),uh=(t,e,n)=>{if(_le(t)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(e===void 0||t===e)return String(t);if(_le(e)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let r={relaxZeros:!0,...n};typeof r.strictZeros=="boolean"&&(r.relaxZeros=r.strictZeros===!1);let i=String(r.relaxZeros),s=String(r.shorthand),o=String(r.capture),a=String(r.wrap),c=t+":"+e+"="+i+s+o+a;if(uh.cache.hasOwnProperty(c))return uh.cache[c].result;let l=Math.min(t,e),u=Math.max(t,e);if(Math.abs(l-u)===1){let y=t+"|"+e;return r.capture?`(${y})`:r.wrap===!1?y:`(?:${y})`}let f=ble(t)||ble(e),p={min:t,max:e,a:l,b:u},m=[],g=[];if(f&&(p.isPadded=f,p.maxLen=String(p.max).length),l<0){let y=u<0?Math.abs(u):1;g=vle(y,Math.abs(l),p,r),l=p.a=0}return u>=0&&(m=vle(l,u,p,r)),p.negatives=g,p.positives=m,p.result=Z3e(g,m,r),r.capture===!0?p.result=`(${p.result})`:r.wrap!==!1&&m.length+g.length>1&&(p.result=`(?:${p.result})`),uh.cache[c]=p,p.result};function Z3e(t,e,n){let r=qq(t,e,"-",!1,n)||[],i=qq(e,t,"",!1,n)||[],s=qq(t,e,"-?",!0,n)||[];return r.concat(s).concat(i).join("|")}function eje(t,e){let n=1,r=1,i=wle(t,n),s=new Set([e]);for(;t<=i&&i<=e;)s.add(i),n+=1,i=wle(t,n);for(i=Sle(e+1,r)-1;t<i&&i<=e;)s.add(i),r+=1,i=Sle(e+1,r)-1;return s=[...s],s.sort(rje),s}function tje(t,e,n){if(t===e)return{pattern:t,count:[],digits:0};let r=nje(t,e),i=r.length,s="",o=0;for(let a=0;a<i;a++){let[c,l]=r[a];c===l?s+=c:c!=="0"||l!=="9"?s+=ije(c,l,n):o++}return o&&(s+=n.shorthand===!0?"\\d":"[0-9]"),{pattern:s,count:[o],digits:i}}function vle(t,e,n,r){let i=eje(t,e),s=[],o=t,a;for(let c=0;c<i.length;c++){let l=i[c],u=tje(String(o),String(l),r),f="";if(!n.isPadded&&a&&a.pattern===u.pattern){a.count.length>1&&a.count.pop(),a.count.push(u.count[0]),a.string=a.pattern+xle(a.count),o=l+1;continue}n.isPadded&&(f=sje(l,n,r)),u.string=f+u.pattern+xle(u.count),s.push(u),o=l+1,a=u}return s}function qq(t,e,n,r,i){let s=[];for(let o of t){let{string:a}=o;!r&&!Ele(e,"string",a)&&s.push(n+a),r&&Ele(e,"string",a)&&s.push(n+a)}return s}function nje(t,e){let n=[];for(let r=0;r<t.length;r++)n.push([t[r],e[r]]);return n}function rje(t,e){return t>e?1:e>t?-1:0}function Ele(t,e,n){return t.some(r=>r[e]===n)}function wle(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}function Sle(t,e){return t-t%Math.pow(10,e)}function xle(t){let[e=0,n=""]=t;return n||e>1?`{${e+(n?","+n:"")}}`:""}function ije(t,e,n){return`[${t}${e-t===1?"":"-"}${e}]`}function ble(t){return/^-?(0+)\d/.test(t)}function sje(t,e,n){if(!e.isPadded)return t;let r=Math.abs(e.maxLen-String(t).length),i=n.relaxZeros!==!1;switch(r){case 0:return"";case 1:return i?"0?":"0";case 2:return i?"0{0,2}":"00";default:return i?`0{0,${r}}`:`0{${r}}`}}uh.cache={};uh.clearCache=()=>uh.cache={};Tle.exports=uh});var Hq=B((iTt,Nle)=>{"use strict";var oje=require("util"),Rle=Ale(),Cle=t=>t!==null&&typeof t=="object"&&!Array.isArray(t),aje=t=>e=>t===!0?Number(e):String(e),$q=t=>typeof t=="number"||typeof t=="string"&&t!=="",NE=t=>Number.isInteger(+t),Gq=t=>{let e=`${t}`,n=-1;if(e[0]==="-"&&(e=e.slice(1)),e==="0")return!1;for(;e[++n]==="0";);return n>0},cje=(t,e,n)=>typeof t=="string"||typeof e=="string"?!0:n.stringify===!0,lje=(t,e,n)=>{if(e>0){let r=t[0]==="-"?"-":"";r&&(t=t.slice(1)),t=r+t.padStart(r?e-1:e,"0")}return n===!1?String(t):t},uR=(t,e)=>{let n=t[0]==="-"?"-":"";for(n&&(t=t.slice(1),e--);t.length<e;)t="0"+t;return n?"-"+t:t},uje=(t,e,n)=>{t.negatives.sort((a,c)=>a<c?-1:a>c?1:0),t.positives.sort((a,c)=>a<c?-1:a>c?1:0);let r=e.capture?"":"?:",i="",s="",o;return t.positives.length&&(i=t.positives.map(a=>uR(String(a),n)).join("|")),t.negatives.length&&(s=`-(${r}${t.negatives.map(a=>uR(String(a),n)).join("|")})`),i&&s?o=`${i}|${s}`:o=i||s,e.wrap?`(${r}${o})`:o},Ile=(t,e,n,r)=>{if(n)return Rle(t,e,{wrap:!1,...r});let i=String.fromCharCode(t);if(t===e)return i;let s=String.fromCharCode(e);return`[${i}-${s}]`},kle=(t,e,n)=>{if(Array.isArray(t)){let r=n.wrap===!0,i=n.capture?"":"?:";return r?`(${i}${t.join("|")})`:t.join("|")}return Rle(t,e,n)},Ple=(...t)=>new RangeError("Invalid range arguments: "+oje.inspect(...t)),Ole=(t,e,n)=>{if(n.strictRanges===!0)throw Ple([t,e]);return[]},fje=(t,e)=>{if(e.strictRanges===!0)throw new TypeError(`Expected step "${t}" to be a number`);return[]},dje=(t,e,n=1,r={})=>{let i=Number(t),s=Number(e);if(!Number.isInteger(i)||!Number.isInteger(s)){if(r.strictRanges===!0)throw Ple([t,e]);return[]}i===0&&(i=0),s===0&&(s=0);let o=i>s,a=String(t),c=String(e),l=String(n);n=Math.max(Math.abs(n),1);let u=Gq(a)||Gq(c)||Gq(l),f=u?Math.max(a.length,c.length,l.length):0,p=u===!1&&cje(t,e,r)===!1,m=r.transform||aje(p);if(r.toRegex&&n===1)return Ile(uR(t,f),uR(e,f),!0,r);let g={negatives:[],positives:[]},y=T=>g[T<0?"negatives":"positives"].push(Math.abs(T)),w=[],S=0;for(;o?i>=s:i<=s;)r.toRegex===!0&&n>1?y(i):w.push(lje(m(i,S),f,p)),i=o?i-n:i+n,S++;return r.toRegex===!0?n>1?uje(g,r,f):kle(w,null,{wrap:!1,...r}):w},pje=(t,e,n=1,r={})=>{if(!NE(t)&&t.length>1||!NE(e)&&e.length>1)return Ole(t,e,r);let i=r.transform||(p=>String.fromCharCode(p)),s=`${t}`.charCodeAt(0),o=`${e}`.charCodeAt(0),a=s>o,c=Math.min(s,o),l=Math.max(s,o);if(r.toRegex&&n===1)return Ile(c,l,!1,r);let u=[],f=0;for(;a?s>=o:s<=o;)u.push(i(s,f)),s=a?s-n:s+n,f++;return r.toRegex===!0?kle(u,null,{wrap:!1,options:r}):u},lR=(t,e,n,r={})=>{if(e==null&&$q(t))return[t];if(!$q(t)||!$q(e))return Ole(t,e,r);if(typeof n=="function")return lR(t,e,1,{transform:n});if(Cle(n))return lR(t,e,0,n);let i={...r};return i.capture===!0&&(i.wrap=!0),n=n||i.step||1,NE(n)?NE(t)&&NE(e)?dje(t,e,n,i):pje(t,e,Math.max(Math.abs(n),1),i):n!=null&&!Cle(n)?fje(n,i):lR(t,e,1,n)};Nle.exports=lR});var Lle=B((sTt,Dle)=>{"use strict";var hje=Hq(),Mle=aR(),mje=(t,e={})=>{let n=(r,i={})=>{let s=Mle.isInvalidBrace(i),o=r.invalid===!0&&e.escapeInvalid===!0,a=s===!0||o===!0,c=e.escapeInvalid===!0?"\\":"",l="";if(r.isOpen===!0)return c+r.value;if(r.isClose===!0)return console.log("node.isClose",c,r.value),c+r.value;if(r.type==="open")return a?c+r.value:"(";if(r.type==="close")return a?c+r.value:")";if(r.type==="comma")return r.prev.type==="comma"?"":a?r.value:"|";if(r.value)return r.value;if(r.nodes&&r.ranges>0){let u=Mle.reduce(r.nodes),f=hje(...u,{...e,wrap:!1,toRegex:!0,strictZeros:!0});if(f.length!==0)return u.length>1&&f.length>1?`(${f})`:f}if(r.nodes)for(let u of r.nodes)l+=n(u,r);return l};return n(t)};Dle.exports=mje});var Ble=B((oTt,Fle)=>{"use strict";var gje=Hq(),Ule=cR(),Ny=aR(),fh=(t="",e="",n=!1)=>{let r=[];if(t=[].concat(t),e=[].concat(e),!e.length)return t;if(!t.length)return n?Ny.flatten(e).map(i=>`{${i}}`):e;for(let i of t)if(Array.isArray(i))for(let s of i)r.push(fh(s,e,n));else for(let s of e)n===!0&&typeof s=="string"&&(s=`{${s}}`),r.push(Array.isArray(s)?fh(i,s,n):i+s);return Ny.flatten(r)},yje=(t,e={})=>{let n=e.rangeLimit===void 0?1e3:e.rangeLimit,r=(i,s={})=>{i.queue=[];let o=s,a=s.queue;for(;o.type!=="brace"&&o.type!=="root"&&o.parent;)o=o.parent,a=o.queue;if(i.invalid||i.dollar){a.push(fh(a.pop(),Ule(i,e)));return}if(i.type==="brace"&&i.invalid!==!0&&i.nodes.length===2){a.push(fh(a.pop(),["{}"]));return}if(i.nodes&&i.ranges>0){let f=Ny.reduce(i.nodes);if(Ny.exceedsLimit(...f,e.step,n))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=gje(...f,e);p.length===0&&(p=Ule(i,e)),a.push(fh(a.pop(),p)),i.nodes=[];return}let c=Ny.encloseBrace(i),l=i.queue,u=i;for(;u.type!=="brace"&&u.type!=="root"&&u.parent;)u=u.parent,l=u.queue;for(let f=0;f<i.nodes.length;f++){let p=i.nodes[f];if(p.type==="comma"&&i.type==="brace"){f===1&&l.push(""),l.push("");continue}if(p.type==="close"){a.push(fh(a.pop(),l,c));continue}if(p.value&&p.type!=="open"){l.push(fh(l.pop(),p.value));continue}p.nodes&&r(p,i)}return l};return Ny.flatten(r(t))};Fle.exports=yje});var $le=B((aTt,qle)=>{"use strict";qle.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
375
375
|
`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Vle=B((cTt,Wle)=>{"use strict";var _je=cR(),{MAX_LENGTH:Gle,CHAR_BACKSLASH:jq,CHAR_BACKTICK:vje,CHAR_COMMA:Eje,CHAR_DOT:wje,CHAR_LEFT_PARENTHESES:Sje,CHAR_RIGHT_PARENTHESES:xje,CHAR_LEFT_CURLY_BRACE:bje,CHAR_RIGHT_CURLY_BRACE:Tje,CHAR_LEFT_SQUARE_BRACKET:Hle,CHAR_RIGHT_SQUARE_BRACKET:jle,CHAR_DOUBLE_QUOTE:Aje,CHAR_SINGLE_QUOTE:Cje,CHAR_NO_BREAK_SPACE:Rje,CHAR_ZERO_WIDTH_NOBREAK_SPACE:Ije}=$le(),kje=(t,e={})=>{if(typeof t!="string")throw new TypeError("Expected a string");let n=e||{},r=typeof n.maxLength=="number"?Math.min(Gle,n.maxLength):Gle;if(t.length>r)throw new SyntaxError(`Input length (${t.length}), exceeds max characters (${r})`);let i={type:"root",input:t,nodes:[]},s=[i],o=i,a=i,c=0,l=t.length,u=0,f=0,p,m=()=>t[u++],g=y=>{if(y.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&y.type==="text"){a.value+=y.value;return}return o.nodes.push(y),y.parent=o,y.prev=a,a=y,y};for(g({type:"bos"});u<l;)if(o=s[s.length-1],p=m(),!(p===Ije||p===Rje)){if(p===jq){g({type:"text",value:(e.keepEscaping?p:"")+m()});continue}if(p===jle){g({type:"text",value:"\\"+p});continue}if(p===Hle){c++;let y;for(;u<l&&(y=m());){if(p+=y,y===Hle){c++;continue}if(y===jq){p+=m();continue}if(y===jle&&(c--,c===0))break}g({type:"text",value:p});continue}if(p===Sje){o=g({type:"paren",nodes:[]}),s.push(o),g({type:"text",value:p});continue}if(p===xje){if(o.type!=="paren"){g({type:"text",value:p});continue}o=s.pop(),g({type:"text",value:p}),o=s[s.length-1];continue}if(p===Aje||p===Cje||p===vje){let y=p,w;for(e.keepQuotes!==!0&&(p="");u<l&&(w=m());){if(w===jq){p+=w+m();continue}if(w===y){e.keepQuotes===!0&&(p+=w);break}p+=w}g({type:"text",value:p});continue}if(p===bje){f++;let w={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||o.dollar===!0,depth:f,commas:0,ranges:0,nodes:[]};o=g(w),s.push(o),g({type:"open",value:p});continue}if(p===Tje){if(o.type!=="brace"){g({type:"text",value:p});continue}let y="close";o=s.pop(),o.close=!0,g({type:y,value:p}),f--,o=s[s.length-1];continue}if(p===Eje&&f>0){if(o.ranges>0){o.ranges=0;let y=o.nodes.shift();o.nodes=[y,{type:"text",value:_je(o)}]}g({type:"comma",value:p}),o.commas++;continue}if(p===wje&&f>0&&o.commas===0){let y=o.nodes;if(f===0||y.length===0){g({type:"text",value:p});continue}if(a.type==="dot"){if(o.range=[],a.value+=p,a.type="range",o.nodes.length!==3&&o.nodes.length!==5){o.invalid=!0,o.ranges=0,a.type="text";continue}o.ranges++,o.args=[];continue}if(a.type==="range"){y.pop();let w=y[y.length-1];w.value+=a.value+p,a=w,o.ranges--;continue}g({type:"dot",value:p});continue}g({type:"text",value:p})}do if(o=s.pop(),o.type!=="root"){o.nodes.forEach(S=>{S.nodes||(S.type==="open"&&(S.isOpen=!0),S.type==="close"&&(S.isClose=!0),S.nodes||(S.type="text"),S.invalid=!0)});let y=s[s.length-1],w=y.nodes.indexOf(o);y.nodes.splice(w,1,...o.nodes)}while(s.length>0);return g({type:"eos"}),i};Wle.exports=kje});var Yle=B((lTt,Kle)=>{"use strict";var zle=cR(),Pje=Lle(),Oje=Ble(),Nje=Vle(),Ms=(t,e={})=>{let n=[];if(Array.isArray(t))for(let r of t){let i=Ms.create(r,e);Array.isArray(i)?n.push(...i):n.push(i)}else n=[].concat(Ms.create(t,e));return e&&e.expand===!0&&e.nodupes===!0&&(n=[...new Set(n)]),n};Ms.parse=(t,e={})=>Nje(t,e);Ms.stringify=(t,e={})=>zle(typeof t=="string"?Ms.parse(t,e):t,e);Ms.compile=(t,e={})=>(typeof t=="string"&&(t=Ms.parse(t,e)),Pje(t,e));Ms.expand=(t,e={})=>{typeof t=="string"&&(t=Ms.parse(t,e));let n=Oje(t,e);return e.noempty===!0&&(n=n.filter(Boolean)),e.nodupes===!0&&(n=[...new Set(n)]),n};Ms.create=(t,e={})=>t===""||t.length<3?[t]:e.expand!==!0?Ms.compile(t,e):Ms.expand(t,e);Kle.exports=Ms});var Xle=B((uTt,Mje)=>{Mje.exports=["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"]});var Qle=B((fTt,Jle)=>{Jle.exports=Xle()});var eue=B((dTt,Zle)=>{"use strict";var Dje=require("path"),Lje=Qle(),Uje=new Set(Lje);Zle.exports=t=>Uje.has(Dje.extname(t).slice(1).toLowerCase())});var fR=B(qe=>{"use strict";var{sep:Fje}=require("path"),{platform:Wq}=process,Bje=require("os");qe.EV_ALL="all";qe.EV_READY="ready";qe.EV_ADD="add";qe.EV_CHANGE="change";qe.EV_ADD_DIR="addDir";qe.EV_UNLINK="unlink";qe.EV_UNLINK_DIR="unlinkDir";qe.EV_RAW="raw";qe.EV_ERROR="error";qe.STR_DATA="data";qe.STR_END="end";qe.STR_CLOSE="close";qe.FSEVENT_CREATED="created";qe.FSEVENT_MODIFIED="modified";qe.FSEVENT_DELETED="deleted";qe.FSEVENT_MOVED="moved";qe.FSEVENT_CLONED="cloned";qe.FSEVENT_UNKNOWN="unknown";qe.FSEVENT_FLAG_MUST_SCAN_SUBDIRS=1;qe.FSEVENT_TYPE_FILE="file";qe.FSEVENT_TYPE_DIRECTORY="directory";qe.FSEVENT_TYPE_SYMLINK="symlink";qe.KEY_LISTENERS="listeners";qe.KEY_ERR="errHandlers";qe.KEY_RAW="rawEmitters";qe.HANDLER_KEYS=[qe.KEY_LISTENERS,qe.KEY_ERR,qe.KEY_RAW];qe.DOT_SLASH=`.${Fje}`;qe.BACK_SLASH_RE=/\\/g;qe.DOUBLE_SLASH_RE=/\/\//;qe.SLASH_OR_BACK_SLASH_RE=/[/\\]/;qe.DOT_RE=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/;qe.REPLACER_RE=/^\.[/\\]/;qe.SLASH="/";qe.SLASH_SLASH="//";qe.BRACE_START="{";qe.BANG="!";qe.ONE_DOT=".";qe.TWO_DOTS="..";qe.STAR="*";qe.GLOBSTAR="**";qe.ROOT_GLOBSTAR="/**/*";qe.SLASH_GLOBSTAR="/**";qe.DIR_SUFFIX="Dir";qe.ANYMATCH_OPTS={dot:!0};qe.STRING_TYPE="string";qe.FUNCTION_TYPE="function";qe.EMPTY_STR="";qe.EMPTY_FN=()=>{};qe.IDENTITY_FN=t=>t;qe.isWindows=Wq==="win32";qe.isMacos=Wq==="darwin";qe.isLinux=Wq==="linux";qe.isIBMi=Bje.type()==="OS400"});var oue=B((hTt,sue)=>{"use strict";var au=require("fs"),Br=require("path"),{promisify:UE}=require("util"),qje=eue(),{isWindows:$je,isLinux:Gje,EMPTY_FN:Hje,EMPTY_STR:jje,KEY_LISTENERS:My,KEY_ERR:Vq,KEY_RAW:ME,HANDLER_KEYS:Wje,EV_CHANGE:pR,EV_ADD:dR,EV_ADD_DIR:Vje,EV_ERROR:nue,STR_DATA:zje,STR_END:Kje,BRACE_START:Yje,STAR:Xje}=fR(),Jje="watch",Qje=UE(au.open),rue=UE(au.stat),Zje=UE(au.lstat),eWe=UE(au.close),zq=UE(au.realpath),tWe={lstat:Zje,stat:rue},Yq=(t,e)=>{t instanceof Set?t.forEach(e):e(t)},DE=(t,e,n)=>{let r=t[e];r instanceof Set||(t[e]=r=new Set([r])),r.add(n)},nWe=t=>e=>{let n=t[e];n instanceof Set?n.clear():delete t[e]},LE=(t,e,n)=>{let r=t[e];r instanceof Set?r.delete(n):r===n&&delete t[e]},iue=t=>t instanceof Set?t.size===0:!t,hR=new Map;function tue(t,e,n,r,i){let s=(o,a)=>{n(t),i(o,a,{watchedPath:t}),a&&t!==a&&mR(Br.resolve(t,a),My,Br.join(t,a))};try{return au.watch(t,e,s)}catch(o){r(o)}}var mR=(t,e,n,r,i)=>{let s=hR.get(t);s&&Yq(s[e],o=>{o(n,r,i)})},rWe=(t,e,n,r)=>{let{listener:i,errHandler:s,rawEmitter:o}=r,a=hR.get(e),c;if(!n.persistent)return c=tue(t,n,i,s,o),c.close.bind(c);if(a)DE(a,My,i),DE(a,Vq,s),DE(a,ME,o);else{if(c=tue(t,n,mR.bind(null,e,My),s,mR.bind(null,e,ME)),!c)return;c.on(nue,async l=>{let u=mR.bind(null,e,Vq);if(a.watcherUnusable=!0,$je&&l.code==="EPERM")try{let f=await Qje(t,"r");await eWe(f),u(l)}catch{}else u(l)}),a={listeners:i,errHandlers:s,rawEmitters:o,watcher:c},hR.set(e,a)}return()=>{LE(a,My,i),LE(a,Vq,s),LE(a,ME,o),iue(a.listeners)&&(a.watcher.close(),hR.delete(e),Wje.forEach(nWe(a)),a.watcher=void 0,Object.freeze(a))}},Kq=new Map,iWe=(t,e,n,r)=>{let{listener:i,rawEmitter:s}=r,o=Kq.get(e),a=new Set,c=new Set,l=o&&o.options;return l&&(l.persistent<n.persistent||l.interval>n.interval)&&(a=o.listeners,c=o.rawEmitters,au.unwatchFile(e),o=void 0),o?(DE(o,My,i),DE(o,ME,s)):(o={listeners:i,rawEmitters:s,options:n,watcher:au.watchFile(e,n,(u,f)=>{Yq(o.rawEmitters,m=>{m(pR,e,{curr:u,prev:f})});let p=u.mtimeMs;(u.size!==f.size||p>f.mtimeMs||p===0)&&Yq(o.listeners,m=>m(t,u))})},Kq.set(e,o)),()=>{LE(o,My,i),LE(o,ME,s),iue(o.listeners)&&(Kq.delete(e),au.unwatchFile(e),o.options=o.watcher=void 0,Object.freeze(o))}},Xq=class{constructor(e){this.fsw=e,this._boundHandleError=n=>e._handleError(n)}_watchWithNodeFs(e,n){let r=this.fsw.options,i=Br.dirname(e),s=Br.basename(e);this.fsw._getWatchedDir(i).add(s);let a=Br.resolve(e),c={persistent:r.persistent};n||(n=Hje);let l;return r.usePolling?(c.interval=r.enableBinaryInterval&&qje(s)?r.binaryInterval:r.interval,l=iWe(e,a,c,{listener:n,rawEmitter:this.fsw._emitRaw})):l=rWe(e,a,c,{listener:n,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),l}_handleFile(e,n,r){if(this.fsw.closed)return;let i=Br.dirname(e),s=Br.basename(e),o=this.fsw._getWatchedDir(i),a=n;if(o.has(s))return;let c=async(u,f)=>{if(this.fsw._throttle(Jje,e,5)){if(!f||f.mtimeMs===0)try{let p=await rue(e);if(this.fsw.closed)return;let m=p.atimeMs,g=p.mtimeMs;(!m||m<=g||g!==a.mtimeMs)&&this.fsw._emit(pR,e,p),Gje&&a.ino!==p.ino?(this.fsw._closeFile(u),a=p,this.fsw._addPathCloser(u,this._watchWithNodeFs(e,c))):a=p}catch{this.fsw._remove(i,s)}else if(o.has(s)){let p=f.atimeMs,m=f.mtimeMs;(!p||p<=m||m!==a.mtimeMs)&&this.fsw._emit(pR,e,f),a=f}}},l=this._watchWithNodeFs(e,c);if(!(r&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(dR,e,0))return;this.fsw._emit(dR,e,n)}return l}async _handleSymlink(e,n,r,i){if(this.fsw.closed)return;let s=e.fullPath,o=this.fsw._getWatchedDir(n);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let a;try{a=await zq(r)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(i)?this.fsw._symlinkPaths.get(s)!==a&&(this.fsw._symlinkPaths.set(s,a),this.fsw._emit(pR,r,e.stats)):(o.add(i),this.fsw._symlinkPaths.set(s,a),this.fsw._emit(dR,r,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(s))return!0;this.fsw._symlinkPaths.set(s,!0)}_handleRead(e,n,r,i,s,o,a){if(e=Br.join(e,jje),!r.hasGlob&&(a=this.fsw._throttle("readdir",e,1e3),!a))return;let c=this.fsw._getWatchedDir(r.path),l=new Set,u=this.fsw._readdirp(e,{fileFilter:f=>r.filterPath(f),directoryFilter:f=>r.filterDir(f),depth:0}).on(zje,async f=>{if(this.fsw.closed){u=void 0;return}let p=f.path,m=Br.join(e,p);if(l.add(p),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,e,m,p))){if(this.fsw.closed){u=void 0;return}(p===i||!i&&!c.has(p))&&(this.fsw._incrReadyCount(),m=Br.join(s,Br.relative(s,m)),this._addToNodeFs(m,n,r,o+1))}}).on(nue,this._boundHandleError);return new Promise(f=>u.once(Kje,()=>{if(this.fsw.closed){u=void 0;return}let p=a?a.clear():!1;f(),c.getChildren().filter(m=>m!==e&&!l.has(m)&&(!r.hasGlob||r.filterPath({fullPath:Br.resolve(e,m)}))).forEach(m=>{this.fsw._remove(e,m)}),u=void 0,p&&this._handleRead(e,!1,r,i,s,o,a)}))}async _handleDir(e,n,r,i,s,o,a){let c=this.fsw._getWatchedDir(Br.dirname(e)),l=c.has(Br.basename(e));!(r&&this.fsw.options.ignoreInitial)&&!s&&!l&&(!o.hasGlob||o.globFilter(e))&&this.fsw._emit(Vje,e,n),c.add(Br.basename(e)),this.fsw._getWatchedDir(e);let u,f,p=this.fsw.options.depth;if((p==null||i<=p)&&!this.fsw._symlinkPaths.has(a)){if(!s&&(await this._handleRead(e,r,o,s,e,i,u),this.fsw.closed))return;f=this._watchWithNodeFs(e,(m,g)=>{g&&g.mtimeMs===0||this._handleRead(m,!1,o,s,e,i,u)})}return f}async _addToNodeFs(e,n,r,i,s){let o=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return o(),!1;let a=this.fsw._getWatchHelpers(e,i);!a.hasGlob&&r&&(a.hasGlob=r.hasGlob,a.globFilter=r.globFilter,a.filterPath=c=>r.filterPath(c),a.filterDir=c=>r.filterDir(c));try{let c=await tWe[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))return o(),!1;let l=this.fsw.options.followSymlinks&&!e.includes(Xje)&&!e.includes(Yje),u;if(c.isDirectory()){let f=Br.resolve(e),p=l?await zq(e):e;if(this.fsw.closed||(u=await this._handleDir(a.watchPath,c,n,i,s,a,p),this.fsw.closed))return;f!==p&&p!==void 0&&this.fsw._symlinkPaths.set(f,p)}else if(c.isSymbolicLink()){let f=l?await zq(e):e;if(this.fsw.closed)return;let p=Br.dirname(a.watchPath);if(this.fsw._getWatchedDir(p).add(a.watchPath),this.fsw._emit(dR,a.watchPath,c),u=await this._handleDir(p,c,n,i,e,a,f),this.fsw.closed)return;f!==void 0&&this.fsw._symlinkPaths.set(Br.resolve(e),f)}else u=this._handleFile(a.watchPath,c,n);return o(),this.fsw._addPathCloser(e,u),!1}catch(c){if(this.fsw._handleError(c))return o(),e}}};sue.exports=Xq});var pue=B((mTt,i2)=>{"use strict";var n2=require("fs"),qr=require("path"),{promisify:r2}=require("util"),Dy;try{Dy=require("fsevents")}catch(t){process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR&&console.error(t)}if(Dy){let t=process.version.match(/v(\d+)\.(\d+)/);if(t&&t[1]&&t[2]){let e=Number.parseInt(t[1],10),n=Number.parseInt(t[2],10);e===8&&n<16&&(Dy=void 0)}}var{EV_ADD:Jq,EV_CHANGE:sWe,EV_ADD_DIR:aue,EV_UNLINK:gR,EV_ERROR:oWe,STR_DATA:aWe,STR_END:cWe,FSEVENT_CREATED:lWe,FSEVENT_MODIFIED:uWe,FSEVENT_DELETED:fWe,FSEVENT_MOVED:dWe,FSEVENT_UNKNOWN:pWe,FSEVENT_FLAG_MUST_SCAN_SUBDIRS:hWe,FSEVENT_TYPE_FILE:mWe,FSEVENT_TYPE_DIRECTORY:FE,FSEVENT_TYPE_SYMLINK:due,ROOT_GLOBSTAR:cue,DIR_SUFFIX:gWe,DOT_SLASH:lue,FUNCTION_TYPE:Qq,EMPTY_FN:yWe,IDENTITY_FN:_We}=fR(),vWe=t=>isNaN(t)?{}:{depth:t},e2=r2(n2.stat),EWe=r2(n2.lstat),uue=r2(n2.realpath),wWe={stat:e2,lstat:EWe},dh=new Map,SWe=10,xWe=new Set([69888,70400,71424,72704,73472,131328,131840,262912]),bWe=(t,e)=>({stop:Dy.watch(t,e)});function TWe(t,e,n,r){let i=qr.extname(e)?qr.dirname(e):e,s=qr.dirname(i),o=dh.get(i);AWe(s)&&(i=s);let a=qr.resolve(t),c=a!==e,l=(f,p,m)=>{c&&(f=f.replace(e,a)),(f===a||!f.indexOf(a+qr.sep))&&n(f,p,m)},u=!1;for(let f of dh.keys())if(e.indexOf(qr.resolve(f)+qr.sep)===0){i=f,o=dh.get(i),u=!0;break}return o||u?o.listeners.add(l):(o={listeners:new Set([l]),rawEmitter:r,watcher:bWe(i,(f,p)=>{if(!o.listeners.size||p&hWe)return;let m=Dy.getInfo(f,p);o.listeners.forEach(g=>{g(f,p,m)}),o.rawEmitter(m.event,f,m)})},dh.set(i,o)),()=>{let f=o.listeners;if(f.delete(l),!f.size&&(dh.delete(i),o.watcher))return o.watcher.stop().then(()=>{o.rawEmitter=o.watcher=void 0,Object.freeze(o)})}}var AWe=t=>{let e=0;for(let n of dh.keys())if(n.indexOf(t)===0&&(e++,e>=SWe))return!0;return!1},CWe=()=>Dy&&dh.size<128,Zq=(t,e)=>{let n=0;for(;!t.indexOf(e)&&(t=qr.dirname(t))!==e;)n++;return n},fue=(t,e)=>t.type===FE&&e.isDirectory()||t.type===due&&e.isSymbolicLink()||t.type===mWe&&e.isFile(),t2=class{constructor(e){this.fsw=e}checkIgnored(e,n){let r=this.fsw._ignoredPaths;if(this.fsw._isIgnored(e,n))return r.add(e),n&&n.isDirectory()&&r.add(e+cue),!0;r.delete(e),r.delete(e+cue)}addOrChange(e,n,r,i,s,o,a,c){let l=s.has(o)?sWe:Jq;this.handleEvent(l,e,n,r,i,s,o,a,c)}async checkExists(e,n,r,i,s,o,a,c){try{let l=await e2(e);if(this.fsw.closed)return;fue(a,l)?this.addOrChange(e,n,r,i,s,o,a,c):this.handleEvent(gR,e,n,r,i,s,o,a,c)}catch(l){l.code==="EACCES"?this.addOrChange(e,n,r,i,s,o,a,c):this.handleEvent(gR,e,n,r,i,s,o,a,c)}}handleEvent(e,n,r,i,s,o,a,c,l){if(!(this.fsw.closed||this.checkIgnored(n)))if(e===gR){let u=c.type===FE;(u||o.has(a))&&this.fsw._remove(s,a,u)}else{if(e===Jq){if(c.type===FE&&this.fsw._getWatchedDir(n),c.type===due&&l.followSymlinks){let f=l.depth===void 0?void 0:Zq(r,i)+1;return this._addToFsEvents(n,!1,!0,f)}this.fsw._getWatchedDir(s).add(a)}let u=c.type===FE?e+gWe:e;this.fsw._emit(u,n),u===aue&&this._addToFsEvents(n,!1,!0)}}_watchWithFsEvents(e,n,r,i){if(this.fsw.closed||this.fsw._isIgnored(e))return;let s=this.fsw.options,a=TWe(e,n,async(c,l,u)=>{if(this.fsw.closed||s.depth!==void 0&&Zq(c,n)>s.depth)return;let f=r(qr.join(e,qr.relative(e,c)));if(i&&!i(f))return;let p=qr.dirname(f),m=qr.basename(f),g=this.fsw._getWatchedDir(u.type===FE?f:p);if(xWe.has(l)||u.event===pWe)if(typeof s.ignored===Qq){let y;try{y=await e2(f)}catch{}if(this.fsw.closed||this.checkIgnored(f,y))return;fue(u,y)?this.addOrChange(f,c,n,p,g,m,u,s):this.handleEvent(gR,f,c,n,p,g,m,u,s)}else this.checkExists(f,c,n,p,g,m,u,s);else switch(u.event){case lWe:case uWe:return this.addOrChange(f,c,n,p,g,m,u,s);case fWe:case dWe:return this.checkExists(f,c,n,p,g,m,u,s)}},this.fsw._emitRaw);return this.fsw._emitReady(),a}async _handleFsEventsSymlink(e,n,r,i){if(!(this.fsw.closed||this.fsw._symlinkPaths.has(n))){this.fsw._symlinkPaths.set(n,!0),this.fsw._incrReadyCount();try{let s=await uue(e);if(this.fsw.closed)return;if(this.fsw._isIgnored(s))return this.fsw._emitReady();this.fsw._incrReadyCount(),this._addToFsEvents(s||e,o=>{let a=e;return s&&s!==lue?a=o.replace(s,e):o!==lue&&(a=qr.join(e,o)),r(a)},!1,i)}catch(s){if(this.fsw._handleError(s))return this.fsw._emitReady()}}}emitAdd(e,n,r,i,s){let o=r(e),a=n.isDirectory(),c=this.fsw._getWatchedDir(qr.dirname(o)),l=qr.basename(o);a&&this.fsw._getWatchedDir(o),!c.has(l)&&(c.add(l),(!i.ignoreInitial||s===!0)&&this.fsw._emit(a?aue:Jq,o,n))}initWatch(e,n,r,i){if(this.fsw.closed)return;let s=this._watchWithFsEvents(r.watchPath,qr.resolve(e||r.watchPath),i,r.globFilter);this.fsw._addPathCloser(n,s)}async _addToFsEvents(e,n,r,i){if(this.fsw.closed)return;let s=this.fsw.options,o=typeof n===Qq?n:_We,a=this.fsw._getWatchHelpers(e);try{let c=await wWe[a.statMethod](a.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(a.watchPath,c))throw null;if(c.isDirectory()){if(a.globFilter||this.emitAdd(o(e),c,o,s,r),i&&i>s.depth)return;this.fsw._readdirp(a.watchPath,{fileFilter:l=>a.filterPath(l),directoryFilter:l=>a.filterDir(l),...vWe(s.depth-(i||0))}).on(aWe,l=>{if(this.fsw.closed||l.stats.isDirectory()&&!a.filterPath(l))return;let u=qr.join(a.watchPath,l.path),{fullPath:f}=l;if(a.followSymlinks&&l.stats.isSymbolicLink()){let p=s.depth===void 0?void 0:Zq(u,qr.resolve(a.watchPath))+1;this._handleFsEventsSymlink(u,f,o,p)}else this.emitAdd(u,l.stats,o,s,r)}).on(oWe,yWe).on(cWe,()=>{this.fsw._emitReady()})}else this.emitAdd(a.watchPath,c,o,s,r),this.fsw._emitReady()}catch(c){(!c||this.fsw._handleError(c))&&(this.fsw._emitReady(),this.fsw._emitReady())}if(s.persistent&&r!==!0)if(typeof n===Qq)this.initWatch(void 0,e,a,o);else{let c;try{c=await uue(a.watchPath)}catch{}this.initWatch(c,e,a,o)}}};i2.exports=t2;i2.exports.canUse=CWe});var bue=B(v2=>{"use strict";var{EventEmitter:RWe}=require("events"),y2=require("fs"),dn=require("path"),{promisify:Eue}=require("util"),IWe=ele(),u2=ale().default,kWe=ple(),s2=Fq(),PWe=Yle(),OWe=Oy(),NWe=oue(),hue=pue(),{EV_ALL:o2,EV_READY:MWe,EV_ADD:yR,EV_CHANGE:BE,EV_UNLINK:mue,EV_ADD_DIR:DWe,EV_UNLINK_DIR:LWe,EV_RAW:UWe,EV_ERROR:a2,STR_CLOSE:FWe,STR_END:BWe,BACK_SLASH_RE:qWe,DOUBLE_SLASH_RE:gue,SLASH_OR_BACK_SLASH_RE:$We,DOT_RE:GWe,REPLACER_RE:HWe,SLASH:c2,SLASH_SLASH:jWe,BRACE_START:WWe,BANG:f2,ONE_DOT:wue,TWO_DOTS:VWe,GLOBSTAR:zWe,SLASH_GLOBSTAR:l2,ANYMATCH_OPTS:d2,STRING_TYPE:_2,FUNCTION_TYPE:KWe,EMPTY_STR:p2,EMPTY_FN:YWe,isWindows:XWe,isMacos:JWe,isIBMi:QWe}=fR(),ZWe=Eue(y2.stat),e6e=Eue(y2.readdir),h2=(t=[])=>Array.isArray(t)?t:[t],Sue=(t,e=[])=>(t.forEach(n=>{Array.isArray(n)?Sue(n,e):e.push(n)}),e),yue=t=>{let e=Sue(h2(t));if(!e.every(n=>typeof n===_2))throw new TypeError(`Non-string provided as watch path: ${e}`);return e.map(xue)},_ue=t=>{let e=t.replace(qWe,c2),n=!1;for(e.startsWith(jWe)&&(n=!0);e.match(gue);)e=e.replace(gue,c2);return n&&(e=c2+e),e},xue=t=>_ue(dn.normalize(_ue(t))),vue=(t=p2)=>e=>typeof e!==_2?e:xue(dn.isAbsolute(e)?e:dn.join(t,e)),t6e=(t,e)=>dn.isAbsolute(t)?t:t.startsWith(f2)?f2+dn.join(e,t.slice(1)):dn.join(e,t),Ma=(t,e)=>t[e]===void 0,m2=class{constructor(e,n){this.path=e,this._removeWatcher=n,this.items=new Set}add(e){let{items:n}=this;n&&e!==wue&&e!==VWe&&n.add(e)}async remove(e){let{items:n}=this;if(!n||(n.delete(e),n.size>0))return;let r=this.path;try{await e6e(r)}catch{this._removeWatcher&&this._removeWatcher(dn.dirname(r),dn.basename(r))}}has(e){let{items:n}=this;if(n)return n.has(e)}getChildren(){let{items:e}=this;if(e)return[...e.values()]}dispose(){this.items.clear(),delete this.path,delete this._removeWatcher,delete this.items,Object.freeze(this)}},n6e="stat",r6e="lstat",g2=class{constructor(e,n,r,i){this.fsw=i,this.path=e=e.replace(HWe,p2),this.watchPath=n,this.fullWatchPath=dn.resolve(n),this.hasGlob=n!==e,e===p2&&(this.hasGlob=!1),this.globSymlink=this.hasGlob&&r?void 0:!1,this.globFilter=this.hasGlob?u2(e,void 0,d2):!1,this.dirParts=this.getDirParts(e),this.dirParts.forEach(s=>{s.length>1&&s.pop()}),this.followSymlinks=r,this.statMethod=r?n6e:r6e}checkGlobSymlink(e){return this.globSymlink===void 0&&(this.globSymlink=e.fullParentDir===this.fullWatchPath?!1:{realPath:e.fullParentDir,linkPath:this.fullWatchPath}),this.globSymlink?e.fullPath.replace(this.globSymlink.realPath,this.globSymlink.linkPath):e.fullPath}entryPath(e){return dn.join(this.watchPath,dn.relative(this.watchPath,this.checkGlobSymlink(e)))}filterPath(e){let{stats:n}=e;if(n&&n.isSymbolicLink())return this.filterDir(e);let r=this.entryPath(e);return(this.hasGlob&&typeof this.globFilter===KWe?this.globFilter(r):!0)&&this.fsw._isntIgnored(r,n)&&this.fsw._hasReadPermissions(n)}getDirParts(e){if(!this.hasGlob)return[];let n=[];return(e.includes(WWe)?PWe.expand(e):[e]).forEach(i=>{n.push(dn.relative(this.watchPath,i).split($We))}),n}filterDir(e){if(this.hasGlob){let n=this.getDirParts(this.checkGlobSymlink(e)),r=!1;this.unmatchedGlob=!this.dirParts.some(i=>i.every((s,o)=>(s===zWe&&(r=!0),r||!n[0][o]||u2(s,n[0][o],d2))))}return!this.unmatchedGlob&&this.fsw._isntIgnored(this.entryPath(e),e.stats)}},_R=class extends RWe{constructor(e){super();let n={};e&&Object.assign(n,e),this._watched=new Map,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._symlinkPaths=new Map,this._streams=new Set,this.closed=!1,Ma(n,"persistent")&&(n.persistent=!0),Ma(n,"ignoreInitial")&&(n.ignoreInitial=!1),Ma(n,"ignorePermissionErrors")&&(n.ignorePermissionErrors=!1),Ma(n,"interval")&&(n.interval=100),Ma(n,"binaryInterval")&&(n.binaryInterval=300),Ma(n,"disableGlobbing")&&(n.disableGlobbing=!1),n.enableBinaryInterval=n.binaryInterval!==n.interval,Ma(n,"useFsEvents")&&(n.useFsEvents=!n.usePolling),hue.canUse()||(n.useFsEvents=!1),Ma(n,"usePolling")&&!n.useFsEvents&&(n.usePolling=JWe),QWe&&(n.usePolling=!0);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let c=i.toLowerCase();c==="false"||c==="0"?n.usePolling=!1:c==="true"||c==="1"?n.usePolling=!0:n.usePolling=!!c}let s=process.env.CHOKIDAR_INTERVAL;s&&(n.interval=Number.parseInt(s,10)),Ma(n,"atomic")&&(n.atomic=!n.usePolling&&!n.useFsEvents),n.atomic&&(this._pendingUnlinks=new Map),Ma(n,"followSymlinks")&&(n.followSymlinks=!0),Ma(n,"awaitWriteFinish")&&(n.awaitWriteFinish=!1),n.awaitWriteFinish===!0&&(n.awaitWriteFinish={});let o=n.awaitWriteFinish;o&&(o.stabilityThreshold||(o.stabilityThreshold=2e3),o.pollInterval||(o.pollInterval=100),this._pendingWrites=new Map),n.ignored&&(n.ignored=h2(n.ignored));let a=0;this._emitReady=()=>{a++,a>=this._readyCount&&(this._emitReady=YWe,this._readyEmitted=!0,process.nextTick(()=>this.emit(MWe)))},this._emitRaw=(...c)=>this.emit(UWe,...c),this._readyEmitted=!1,this.options=n,n.useFsEvents?this._fsEventsHandler=new hue(this):this._nodeFsHandler=new NWe(this),Object.freeze(n)}add(e,n,r){let{cwd:i,disableGlobbing:s}=this.options;this.closed=!1;let o=yue(e);return i&&(o=o.map(a=>{let c=t6e(a,i);return s||!s2(a)?c:OWe(c)})),o=o.filter(a=>a.startsWith(f2)?(this._ignoredPaths.add(a.slice(1)),!1):(this._ignoredPaths.delete(a),this._ignoredPaths.delete(a+l2),this._userIgnored=void 0,!0)),this.options.useFsEvents&&this._fsEventsHandler?(this._readyCount||(this._readyCount=o.length),this.options.persistent&&(this._readyCount+=o.length),o.forEach(a=>this._fsEventsHandler._addToFsEvents(a))):(this._readyCount||(this._readyCount=0),this._readyCount+=o.length,Promise.all(o.map(async a=>{let c=await this._nodeFsHandler._addToNodeFs(a,!r,0,0,n);return c&&this._emitReady(),c})).then(a=>{this.closed||a.filter(c=>c).forEach(c=>{this.add(dn.dirname(c),dn.basename(n||c))})})),this}unwatch(e){if(this.closed)return this;let n=yue(e),{cwd:r}=this.options;return n.forEach(i=>{!dn.isAbsolute(i)&&!this._closers.has(i)&&(r&&(i=dn.join(r,i)),i=dn.resolve(i)),this._closePath(i),this._ignoredPaths.add(i),this._watched.has(i)&&this._ignoredPaths.add(i+l2),this._userIgnored=void 0}),this}close(){if(this.closed)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(n=>n.forEach(r=>{let i=r();i instanceof Promise&&e.push(i)})),this._streams.forEach(n=>n.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(n=>n.dispose()),["closers","watched","streams","symlinkPaths","throttled"].forEach(n=>{this[`_${n}`].clear()}),this._closePromise=e.length?Promise.all(e).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((n,r)=>{let i=this.options.cwd?dn.relative(this.options.cwd,r):r;e[i||wue]=n.getChildren().sort()}),e}emitWithAll(e,n){this.emit(...n),e!==a2&&this.emit(o2,...n)}async _emit(e,n,r,i,s){if(this.closed)return;let o=this.options;XWe&&(n=dn.normalize(n)),o.cwd&&(n=dn.relative(o.cwd,n));let a=[e,n];s!==void 0?a.push(r,i,s):i!==void 0?a.push(r,i):r!==void 0&&a.push(r);let c=o.awaitWriteFinish,l;if(c&&(l=this._pendingWrites.get(n)))return l.lastChange=new Date,this;if(o.atomic){if(e===mue)return this._pendingUnlinks.set(n,a),setTimeout(()=>{this._pendingUnlinks.forEach((u,f)=>{this.emit(...u),this.emit(o2,...u),this._pendingUnlinks.delete(f)})},typeof o.atomic=="number"?o.atomic:100),this;e===yR&&this._pendingUnlinks.has(n)&&(e=a[0]=BE,this._pendingUnlinks.delete(n))}if(c&&(e===yR||e===BE)&&this._readyEmitted){let u=(f,p)=>{f?(e=a[0]=a2,a[1]=f,this.emitWithAll(e,a)):p&&(a.length>2?a[2]=p:a.push(p),this.emitWithAll(e,a))};return this._awaitWriteFinish(n,c.stabilityThreshold,e,u),this}if(e===BE&&!this._throttle(BE,n,50))return this;if(o.alwaysStat&&r===void 0&&(e===yR||e===DWe||e===BE)){let u=o.cwd?dn.join(o.cwd,n):n,f;try{f=await ZWe(u)}catch{}if(!f||this.closed)return;a.push(f)}return this.emitWithAll(e,a),this}_handleError(e){let n=e&&e.code;return e&&n!=="ENOENT"&&n!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||n!=="EPERM"&&n!=="EACCES")&&this.emit(a2,e),e||this.closed}_throttle(e,n,r){this._throttled.has(e)||this._throttled.set(e,new Map);let i=this._throttled.get(e),s=i.get(n);if(s)return s.count++,!1;let o,a=()=>{let l=i.get(n),u=l?l.count:0;return i.delete(n),clearTimeout(o),l&&clearTimeout(l.timeoutObject),u};o=setTimeout(a,r);let c={timeoutObject:o,clear:a,count:0};return i.set(n,c),c}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,n,r,i){let s,o=e;this.options.cwd&&!dn.isAbsolute(e)&&(o=dn.join(this.options.cwd,e));let a=new Date,c=l=>{y2.stat(o,(u,f)=>{if(u||!this._pendingWrites.has(e)){u&&u.code!=="ENOENT"&&i(u);return}let p=Number(new Date);l&&f.size!==l.size&&(this._pendingWrites.get(e).lastChange=p);let m=this._pendingWrites.get(e);p-m.lastChange>=n?(this._pendingWrites.delete(e),i(void 0,f)):s=setTimeout(c,this.options.awaitWriteFinish.pollInterval,f)})};this._pendingWrites.has(e)||(this._pendingWrites.set(e,{lastChange:a,cancelWait:()=>(this._pendingWrites.delete(e),clearTimeout(s),r)}),s=setTimeout(c,this.options.awaitWriteFinish.pollInterval))}_getGlobIgnored(){return[...this._ignoredPaths.values()]}_isIgnored(e,n){if(this.options.atomic&&GWe.test(e))return!0;if(!this._userIgnored){let{cwd:r}=this.options,i=this.options.ignored,s=i&&i.map(vue(r)),o=h2(s).filter(c=>typeof c===_2&&!s2(c)).map(c=>c+l2),a=this._getGlobIgnored().map(vue(r)).concat(s,o);this._userIgnored=u2(a,void 0,d2)}return this._userIgnored([e,n])}_isntIgnored(e,n){return!this._isIgnored(e,n)}_getWatchHelpers(e,n){let r=n||this.options.disableGlobbing||!s2(e)?e:kWe(e),i=this.options.followSymlinks;return new g2(e,r,i,this)}_getWatchedDir(e){this._boundRemove||(this._boundRemove=this._remove.bind(this));let n=dn.resolve(e);return this._watched.has(n)||this._watched.set(n,new m2(n,this._boundRemove)),this._watched.get(n)}_hasReadPermissions(e){if(this.options.ignorePermissionErrors)return!0;let r=(e&&Number.parseInt(e.mode,10))&511;return!!(4&Number.parseInt(r.toString(8)[0],10))}_remove(e,n,r){let i=dn.join(e,n),s=dn.resolve(i);if(r=r??(this._watched.has(i)||this._watched.has(s)),!this._throttle("remove",i,100))return;!r&&!this.options.useFsEvents&&this._watched.size===1&&this.add(e,n,!0),this._getWatchedDir(i).getChildren().forEach(p=>this._remove(i,p));let c=this._getWatchedDir(e),l=c.has(n);c.remove(n),this._symlinkPaths.has(s)&&this._symlinkPaths.delete(s);let u=i;if(this.options.cwd&&(u=dn.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)&&this._pendingWrites.get(u).cancelWait()===yR)return;this._watched.delete(i),this._watched.delete(s);let f=r?LWe:mue;l&&!this._isIgnored(i)&&this._emit(f,i),this.options.useFsEvents||this._closePath(i)}_closePath(e){this._closeFile(e);let n=dn.dirname(e);this._getWatchedDir(n).remove(dn.basename(e))}_closeFile(e){let n=this._closers.get(e);n&&(n.forEach(r=>r()),this._closers.delete(e))}_addPathCloser(e,n){if(!n)return;let r=this._closers.get(e);r||(r=[],this._closers.set(e,r)),r.push(n)}_readdirp(e,n){if(this.closed)return;let r={type:o2,alwaysStat:!0,lstat:!0,...n},i=IWe(e,r);return this._streams.add(i),i.once(FWe,()=>{i=void 0}),i.once(BWe,()=>{i&&(this._streams.delete(i),i=void 0)}),i}};v2.FSWatcher=_R;var i6e=(t,e)=>{let n=new _R(e);return n.add(t),n};v2.watch=i6e});function kue(t){return BF.includes(t)}function Uy(t){return zA.includes(Ds.default.extname(t).toLowerCase())}function p6e(t,e){return t.isDirectory()?"folder":Uy(e)?"binary":"file"}function $f(t){return t<1024?`${t}B`:t<1024*1024?`${(t/1024).toFixed(1)}KB`:`${(t/(1024*1024)).toFixed(1)}MB`}function h6e(t){if(!E2.has(t)){let e=process.platform==="win32"?"where":"which";E2.set(t,(0,cu.spawnSync)(e,[t],{stdio:"ignore"}).status===0)}return E2.get(t)}function m6e(t){let e=rie.find(r=>h6e(r.cmd));if(!e)throw new Error("HEIC needs a system converter (macOS has sips; on Linux install libheif-examples or imagemagick)");let n=Ds.default.join(Da.default.tmpdir(),`9r-heic-${process.pid}-${Date.now()}.jpg`);try{let r=(0,cu.spawnSync)(e.cmd,e.args(t,n),{timeout:iie});if(r.status!==0||!nt.default.existsSync(n))throw new Error(`HEIC decode failed (${e.cmd}): ${r.stderr?.toString().trim()||"unknown error"}`);return nt.default.readFileSync(n)}finally{try{nt.default.unlinkSync(n)}catch{}}}async function Fy(t,e){let n=KA(e)?m6e(e):t,r=await(0,vR.default)(n).metadata(),i=r.orientation>=5,s=(i?r.height:r.width)||0,o=(i?r.width:r.height)||0,a=[80,60,40],c=[1600,1200,800],l=n,u=s,f=o;for(let p of c)for(let m of a){l=await(0,vR.default)(n).rotate().resize({width:p,height:p,fit:"inside",withoutEnlargement:!0}).jpeg({quality:m,mozjpeg:!0}).toBuffer();let g=await(0,vR.default)(l).metadata();if(u=g.width||p,f=g.height||p,l.length<=3145728)return{buffer:l,width:u,height:f,originalWidth:s,originalHeight:o}}return{buffer:l,width:u,height:f,originalWidth:s,originalHeight:o}}function Pue(t,e,n,r=50){if(!(n.length>=r))try{for(let i of nt.default.readdirSync(t)){if(n.length>=r)return;if(i.startsWith(".")||kue(i))continue;let s=Ds.default.join(t,i);try{let o=nt.default.statSync(s);o.isDirectory()?Pue(s,e,n,r):i.toLowerCase().includes(e.toLowerCase())&&n.push({name:i,path:s,type:Uy(i)?"binary":"file",size:o.size,sizeFormatted:$f(o.size)})}catch{}}}catch{}}function Rue(t){if(!t)return null;let e=t.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,"::ANY::").replace(/\*/g,"[^/]*").replace(/::ANY::/g,".*").replace(/\?/g,".");return new RegExp(`^${e}$`)}function Oue(t,e,n,r,i,s){if(s.length>=200)return;let o;try{o=nt.default.readdirSync(t,{withFileTypes:!0})}catch{return}for(let a of o){if(s.length>=200)return;if(kue(a.name))continue;let c=Ds.default.join(t,a.name),l=Ds.default.relative(e,c);if(a.isDirectory()){Oue(c,e,n,r,i,s);continue}if(a.isFile()&&!Uy(a.name)&&!vt(c)&&!(i&&i.test(l))&&!(r&&!r.test(l)))try{if(nt.default.statSync(c).size>1048576)continue;let p=nt.default.readFileSync(c,"utf-8").split(`
|
|
376
376
|
`),m=[];for(let g=0;g<p.length&&m.length<10;g++){let y=p[g],w=n(y);for(let S of w){if(m.length>=10)break;m.push({line:g+1,column:S.column+1,lineText:y,matchLength:S.length})}}m.length&&s.push({path:c,matches:m})}catch{}}}function Nue(t,e,n){let r;try{r=nt.default.readdirSync(t,{withFileTypes:!0})}catch{return[]}let i=[];for(let s of r){if(!n&&s.name.startsWith(".")&&s.name!==".env"&&s.name!==".env.example")continue;let o=Ds.default.join(t,s.name);if(s.isDirectory()){let a={name:s.name,path:o,type:"folder"};e>0&&(a.children=Nue(o,e-1,n)),i.push(a)}else s.isFile()&&i.push({name:s.name,path:o,type:Uy(s.name)?"binary":"file"})}return i.sort((s,o)=>s.type==="folder"&&o.type!=="folder"?-1:s.type!=="folder"&&o.type==="folder"?1:s.name.localeCompare(o.name)),i}function g6e(){if(process.platform!=="win32")return[];try{return(0,cu.execSync)("wmic logicaldisk get name",{encoding:"utf-8",stdio:["pipe","pipe","pipe"],windowsHide:!0}).split(/\r?\n/).map(e=>e.trim()).filter(e=>/^[A-Z]:$/.test(e)).map(e=>({letter:e[0],path:e+"\\"}))}catch{return"CDEFGHIJ".split("").map(t=>`${t}:\\`).filter(t=>nt.default.existsSync(t)).map(t=>({letter:t[0],path:t}))}}function Mue(t){t.on("getSystemInfo",n=>{let r=process.platform;n({success:!0,platform:r,isWindows:r==="win32",drives:r==="win32"?g6e():[],homedir:Da.default.homedir()})}),t.on("getFiles",({dirPath:n,showHidden:r},i)=>{try{let s=n||Da.default.homedir(),o=s.startsWith("~")?s.replace("~",Da.default.homedir()):s;if(vt(o))return i({success:!1,error:"Access denied"});if(!nt.default.existsSync(o))return i({success:!1,error:"Directory not found"});let a;try{a=nt.default.readdirSync(o,{withFileTypes:!0})}catch(f){return i({success:!1,error:f.message})}r||(a=a.filter(f=>!(f.name.startsWith(".")&&f.name!==".env"&&f.name!==".env.example"))),a.sort((f,p)=>{let m=f.isDirectory(),g=p.isDirectory();return m&&!g?-1:!m&&g?1:f.name.localeCompare(p.name)});let c=a.length>300,l=c?a.slice(0,300):a,u=[];for(let f of l)try{let p=Ds.default.join(o,f.name),m=nt.default.statSync(p);u.push({name:f.name,path:p,type:p6e(m,f.name),size:m.isFile()?m.size:null,sizeFormatted:m.isFile()?$f(m.size):null,modified:m.mtime.getTime()})}catch{}i({success:!0,files:u,currentPath:o,parentPath:Ds.default.dirname(o),truncated:c})}catch(s){i({success:!1,error:s.message})}}),t.on("searchFiles",({workspace:n,query:r},i)=>{try{if(!r||r.length<2)return i({success:!0,files:[]});let s=(n||Da.default.homedir()).replace(/^~/,Da.default.homedir());if(!nt.default.existsSync(s))return i({success:!1,error:"Workspace not found"});let o=[];Pue(s,r,o,50),o.sort((a,c)=>{let l=a.name.toLowerCase()===r.toLowerCase(),u=c.name.toLowerCase()===r.toLowerCase();return l&&!u?-1:!l&&u?1:a.path.length-c.path.length}),i({success:!0,files:o})}catch(s){i({success:!1,error:s.message})}}),t.on("readFile",({filePath:n},r)=>{try{if(vt(n))return r({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return r({success:!1,error:"File not found"});let i=nt.default.statSync(n);if(i.size>1048576)return r({success:!1,error:`File too large (${$f(i.size)}). Max ${$f(1048576)}`});if(Uy(n))return r({success:!1,error:"Cannot open binary file"});if(i.size>Vv)return r({success:!0,content:"",streamInstead:!0,size:i.size});r({success:!0,content:nt.default.readFileSync(n,"utf-8")})}catch(i){r({success:!1,error:i.message})}}),t.on("readMedia",async({filePath:n},r)=>{try{if(vt(n))return r({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return r({success:!1,error:"File not found"});let i=nt.default.statSync(n),s=Ds.default.extname(n).toLowerCase().slice(1),o=Kp[s]||"application/octet-stream",a=o.startsWith("image/"),c=a?20971520:5242880;if(i.size>c)return r({success:!1,error:`File too large (${$f(i.size)}). Max ${$f(c)}`});let l=nt.default.readFileSync(n);if(a){let u=await Fy(l,n),f=`data:image/jpeg;base64,${u.buffer.toString("base64")}`;r({success:!0,dataUrl:f,size:i.size,mime:o,originalSize:i.size,originalWidth:u.originalWidth,originalHeight:u.originalHeight,width:u.width,height:u.height,scaled:u.buffer.length<i.size})}else{let u=`data:${o};base64,${l.toString("base64")}`;r({success:!0,dataUrl:u,size:i.size,mime:o})}}catch(i){r({success:!1,error:i.message})}}),t.on("readImage",async({filePath:n},r)=>{try{if(vt(n))return r({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return r({success:!1,error:"File not found"});let i=nt.default.statSync(n);if(i.size>20971520)return r({success:!1,error:`Image too large (${$f(i.size)}). Max ${$f(20971520)}`});let s=nt.default.readFileSync(n),o=await Fy(s,n),a=`data:image/jpeg;base64,${o.buffer.toString("base64")}`;r({success:!0,dataUrl:a,size:i.size,mime:"image/jpeg",originalSize:i.size,originalWidth:o.originalWidth,originalHeight:o.originalHeight,width:o.width,height:o.height,scaled:o.buffer.length<i.size})}catch(i){r({success:!1,error:i.message})}}),t.on("writeFile",({filePath:n,content:r},i)=>{try{if(vt(n))return i({success:!1,error:"Access denied"});nt.default.writeFileSync(n,r,"utf-8"),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("createItem",({itemPath:n,type:r},i)=>{try{if(vt(n))return i({success:!1,error:"Access denied"});if(nt.default.existsSync(n))return i({success:!1,error:"Item already exists"});r==="folder"?nt.default.mkdirSync(n,{recursive:!0}):nt.default.writeFileSync(n,"","utf-8"),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("deleteItem",({itemPath:n},r)=>{try{if(vt(n))return r({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return r({success:!1,error:"Item not found"});nt.default.statSync(n).isDirectory()?nt.default.rmSync(n,{recursive:!0}):nt.default.unlinkSync(n),r({success:!0})}catch(i){r({success:!1,error:i.message})}}),t.on("copyItem",({srcPath:n,destPath:r},i)=>{try{if(vt(n)||vt(r))return i({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return i({success:!1,error:"Item not found"});if(nt.default.existsSync(r))return i({success:!1,error:"Target already exists"});if(r.startsWith(n+"/"))return i({success:!1,error:"Cannot copy into itself"});nt.default.cpSync(n,r,{recursive:!0}),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("renameItem",({oldPath:n,newPath:r},i)=>{try{if(vt(n)||vt(r))return i({success:!1,error:"Access denied"});if(!nt.default.existsSync(n))return i({success:!1,error:"Item not found"});if(nt.default.existsSync(r))return i({success:!1,error:"Target already exists"});nt.default.renameSync(n,r),i({success:!0})}catch(s){i({success:!1,error:s.message})}}),t.on("searchInFiles",({workspace:n,query:r,caseSensitive:i,regex:s,includeGlob:o,excludeGlob:a},c)=>{try{if(!r)return c({success:!0,results:[]});let l=(n||Da.default.homedir()).replace(/^~/,Da.default.homedir());if(!nt.default.existsSync(l))return c({success:!1,error:"Workspace not found"});let u;if(s){let g;try{g=new RegExp(r,i?"g":"gi")}catch(y){return c({success:!1,error:`Invalid regex: ${y.message}`})}u=y=>{let w=[],S;for(g.lastIndex=0;(S=g.exec(y))!==null;)w.push({column:S.index,length:S[0].length}),S.index===g.lastIndex&&g.lastIndex++;return w}}else{let g=i?r:r.toLowerCase();u=y=>{let w=i?y:y.toLowerCase(),S=[],T=0;for(;(T=w.indexOf(g,T))!==-1;)S.push({column:T,length:g.length}),T+=g.length||1;return S}}let f=Rue(o),p=Rue(a),m=[];Oue(l,l,u,f,p,m),c({success:!0,results:m})}catch(l){c({success:!1,error:l.message})}}),t.on("replaceInFiles",({workspace:n,query:r,replacement:i,caseSensitive:s,regex:o,files:a},c)=>{try{if(!r||!Array.isArray(a)||!a.length)return c({success:!0,replacedCount:0,fileCount:0});let l;if(o){let p;try{p=new RegExp(r,s?"g":"gi")}catch(m){return c({success:!1,error:`Invalid regex: ${m.message}`})}l=m=>{let g=0;return{next:m.replace(p,w=>(g++,i)),count:g}}}else l=p=>{let m=0,g=s?"g":"gi",y=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),w=new RegExp(y,g);return{next:p.replace(w,()=>(m++,i)),count:m}};let u=0,f=0;for(let p of a)try{if(!nt.default.existsSync(p)||Uy(p)||vt(p))continue;let m=nt.default.statSync(p);if(!m.isFile()||m.size>1048576)continue;let g=nt.default.readFileSync(p,"utf-8"),{next:y,count:w}=l(g);w>0&&(nt.default.writeFileSync(p,y,"utf-8"),u+=w,f++)}catch{}c({success:!0,replacedCount:u,fileCount:f})}catch(l){c({success:!1,error:l.message})}});let e=new Map;t.on("watchDir",({dirPath:n},r)=>{try{if(!n||!nt.default.existsSync(n))return r({success:!1,error:"Directory not found"});let i=e.get(n);if(i)return i.count++,r({success:!0});if(e.size>=60)return r({success:!0,watching:!1});let s=Iue.default.watch(n,{depth:0,ignoreInitial:!0,persistent:!0,ignored:c=>BF.includes(Ds.default.basename(c))}),o={w:s,count:1,burstStart:0,burstCount:0,mutedUntil:0},a=c=>l=>{let u=Date.now();if(!(u<o.mutedUntil)){if(u-o.burstStart>1e3&&(o.burstStart=u,o.burstCount=0),++o.burstCount>30)return o.mutedUntil=u+3e3,t.emit("fileChange",{type:"flooded",path:n});t.emit("fileChange",{type:c,path:l})}};s.on("add",a("add")).on("change",a("change")).on("unlink",a("unlink")).on("addDir",a("addDir")).on("unlinkDir",a("unlinkDir")),e.set(n,o),r({success:!0,watching:!0})}catch(i){r({success:!1,error:i.message})}}),t.on("unwatchDir",({dirPath:n},r)=>{try{let i=e.get(n);i&&--i.count<=0&&(i.w.close(),e.delete(n)),r({success:!0})}catch(i){r({success:!1,error:i.message})}}),t.once("disconnect",()=>{for(let{w:n}of e.values())try{n.close()}catch{}e.clear()}),t.on("revealInOS",({filePath:n},r)=>{try{if(!n)return r({success:!1,error:"No path"});let i=process.platform,s,o;i==="darwin"?(s="open",o=["-R",n]):i==="win32"?(s="explorer",o=[`/select,${n}`]):(s="xdg-open",o=[Ds.default.dirname(n)]);let a=(0,cu.spawn)(s,o,{detached:!0,stdio:"ignore",windowsHide:!0});a.on("error",c=>r({success:!1,error:c.message})),a.unref(),r({success:!0})}catch(i){r({success:!1,error:i.message})}}),t.on("openInTerminal",({dirPath:n},r)=>{try{if(!n||!nt.default.existsSync(n))return r({success:!1,error:"Directory not found"});let i=process.platform,s,o,a={detached:!0,stdio:"ignore",windowsHide:!0};i==="darwin"?(s="open",o=["-a","Terminal",n]):i==="win32"?(s="cmd",o=["/C","start",'"9Remote"',"cmd","/K"],a.shell=!1,a.cwd=n):(s="gnome-terminal",o=["--working-directory",n]);let c=(0,cu.spawn)(s,o,a);c.on("error",()=>{if(i==="linux"){let l=(0,cu.spawn)("xterm",["-e","bash"],{...a,cwd:n});l.on("error",u=>r({success:!1,error:u.message})),l.unref()}else r({success:!1,error:"Failed to open terminal"})}),c.unref(),r({success:!0})}catch(i){r({success:!1,error:i.message})}}),t.on("getFileTree",({dirPath:n,depth:r,showHidden:i},s)=>{try{let o=(n||Da.default.homedir()).replace(/^~/,Da.default.homedir());if(!nt.default.existsSync(o))return s({success:!1,error:"Directory not found"});let c=Nue(o,typeof r=="number"?r:3,!!i);s({success:!0,tree:{name:Ds.default.basename(o)||o,path:o,type:"folder",children:c}})}catch(o){s({success:!1,error:o.message})}})}var nt,Ds,Da,cu,Iue,vR,E2,ER=ae(()=>{nt=ce(require("fs"),1),Ds=ce(require("path"),1),Da=ce(require("os"),1),cu=require("child_process"),Iue=ce(bue(),1),vR=ce(require("sharp"),1);ay();Hi();Xp();E2=new Map});function v6e(t,{maxDepth:e=wR.maxDepth,timeoutMs:n=wR.timeoutMs,now:r=()=>Date.now(),io:i=w2.default}={}){if(!t)return[];let s=Fc.default.resolve(t),o=r()+n,a=[],c=[{dir:s,depth:0}];for(;c.length&&!(r()>o);){let{dir:l,depth:u}=c.shift();if(_6e(l,i)&&a.push({path:l,relPath:l===s?"":Fc.default.relative(s,l),depth:u}),u>=e)continue;let f;try{f=i.readdirSync(l,{withFileTypes:!0})}catch{continue}for(let p of f)!p.isDirectory()||p.isSymbolicLink()||y6e.has(p.name)||c.push({dir:Fc.default.join(l,p.name),depth:u+1})}return a}function S2(t,e={}){let n=e.now||(()=>Date.now()),r=e.cacheTtlMs??wR.cacheTtlMs,i=E6e(t,e.maxDepth),s=qE.get(i);if(s&&n()-s.ts<r)return s.repos;let o=v6e(t,e);return qE.set(i,{ts:n(),repos:o}),o}function SR(t){if(!t)return qE.clear();let e=`${Fc.default.resolve(t)}::`;for(let n of qE.keys())n.startsWith(e)&&qE.delete(n)}function x2(t=""){let e=[],n=null;for(let r of t.split(`
|
|
377
377
|
`)){let i=r.trimEnd();if(!i){n&&(e.push(n),n=null);continue}let[s,...o]=i.split(" "),a=o.join(" ");if(s==="worktree")n={path:a,branch:null,head:null,detached:!1,locked:!1,bare:!1};else if(n)s==="HEAD"?n.head=a:s==="branch"?n.branch=a.replace(/^refs\/heads\//,""):s==="detached"?n.detached=!0:s==="locked"?n.locked=!0:s==="bare"&&(n.bare=!0);else continue}return n&&e.push(n),e.map((r,i)=>({...r,isMain:i===0}))}function Due(t="",e=[]){let n=new Set(e.map(s=>s.branch).filter(Boolean)),r=new Set,i=[];for(let s of t.split(`
|
|
@@ -491,9 +491,9 @@ https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys`};var Q3
|
|
|
491
491
|
`:". ";let s=i;if(i.length>1e4){let o=i.substring(0,1e4),a=i.length-1e4;s=`${o}...and ${a} more chars`}e+=`Body: ${s}`,e=e.trim(),super(e,n),this.name="GoogleGenAiDefaultError"}};K6=class extends ReadableStream{constructor(e,n,r){var i;let s=e.getReader(),o=new Uint8Array(4096),a=0,c=0,l={eventId:void 0},u=(i=r?.dataRequired)!==null&&i!==void 0?i:!0;super({async pull(f){try{for(;;){let p=mdt(o,a,c);if(!p){c=Math.max(0,a-hdt+1);let y=await s.read();if(y.done)return f.close();if(a+y.value.length>o.length){let w=new Uint8Array(Math.max(o.length*2,a+y.value.length));w.set(o.subarray(0,a)),o=w}o.set(y.value,a),a+=y.value.length;continue}let m=o.slice(0,p.index);if(o.copyWithin(0,p.index+p.length,a),a-=p.index+p.length,o.length>4096&&a<=o.length>>2){let y=new Uint8Array(Math.max(4096,a*2));y.set(o.subarray(0,a)),o=y}c=0;let g=gdt(m,n,l,u);if(g&&!g.done)return f.enqueue(g.value);if(g?.done)return await s.cancel("done"),f.close()}}catch(p){f.error(p),await s.cancel(p)}},cancel:f=>s.cancel(f)})}[Symbol.asyncIterator](e){let n=ReadableStream.prototype[Symbol.asyncIterator];if(typeof n=="function")return n.call(this,e);let r=this.getReader(),i={next:async()=>{let o=await r.read();return o.done?(r.releaseLock(),{done:!0,value:void 0}):{done:!1,value:o.value}},throw:async o=>(await r.cancel(o),r.releaseLock(),{done:!0,value:void 0}),return:async()=>(await r.cancel("done"),r.releaseLock(),{done:!0,value:void 0}),[Symbol.asyncIterator](){return this}},s=Symbol.asyncDispose;return s&&(i[s]=async()=>{var o;await((o=i.return)===null||o===void 0?void 0:o.call(i))}),i}values(e){return this[Symbol.asyncIterator](e)}},Wo=13,Vo=10,wbe=[[Wo,Vo,Wo,Vo],[Wo,Vo,Wo],[Wo,Vo,Vo],[Wo,Wo,Vo],[Vo,Wo,Vo],[Wo,Wo],[Vo,Wo],[Vo,Vo]],hdt=wbe.reduce((t,e)=>Math.max(t,e.length),0);ydt={jsonl:"application/jsonl",json:"application/json",text:"text/plain",bytes:"application/octet-stream",stream:"application/octet-stream",sse:"text/event-stream",nil:"*",fail:"*"};_dt=/, */;mxe={Incomplete:"incomplete",UnrecognisedSecurityType:"unrecognized_security_type"},Y6=class t extends Error{constructor(e,n){super(n),this.code=e,this.name="SecurityError"}static incomplete(){return new t(mxe.Incomplete,"Security requirements not met in order to perform the operation")}static unrecognizedType(e){return new t(mxe.UnrecognisedSecurityType,`Unrecognised security type: ${e}`)}};bt=class t{constructor(e,n){this[bbe]="APIPromise",this._promise=e instanceof Promise?e:Promise.resolve(e),this._unwrapped=e instanceof Promise?null:Promise.resolve(e[0]),this._callSource=n??null}_getUnwrapped(){var e;return(e=this._unwrapped)!==null&&e!==void 0?e:this._unwrapped=this._promise.then(([n])=>n)}then(e,n){return this._promise.then(e?([r])=>e(r):void 0,n)}catch(e){return this._getUnwrapped().catch(e)}finally(e){return this._getUnwrapped().finally(e)}$inspect(){return this._promise}asResponse(){var e;return((e=this._callSource)!==null&&e!==void 0?e:this._callSource=this._promise.then(([,r])=>r)).then(r=>{if(!r.response)throw new Error("APIPromise.asResponse: response unavailable");return r.response})}async withResponse(){let[[e],n]=await Promise.all([this._promise,this.asResponse()]);return{data:e,response:n}}_thenUnwrap(e){var n;let r=this._promise.then(([i,s])=>[e(i),s]);return r.catch(()=>{}),new t(r,(n=this._callSource)!==null&&n!==void 0?n:void 0)}};bbe=Symbol.toStringTag;X6=class extends Ka{list(e,n){return Ft(Rbe(this,e?.api_version,e?.page_size,e?.page_token,e?.parent,n))}create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Ft(Tbe(this,i,r,n))}delete(e,n,r){return Ft(Abe(this,e,n?.api_version,r))}get(e,n,r){return Ft(Cbe(this,e,n?.api_version,r))}};J6=class extends Ka{list(e,n){return Ft(Obe(this,e?.api_version,e?.page_size,e?.page_token,n))}create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Ft(Ibe(this,i,r,n))}delete(e,n,r){return Ft(kbe(this,e,n?.api_version,r))}get(e,n,r){return Ft(Pbe(this,e,n?.api_version,r))}update(e,n,r){let{api_version:i,update_mask:s}=n,o=_r(n,["api_version","update_mask"]);return Ft(Nbe(this,e,o,i,s,r))}};Q6=class extends Ka{list(e,n,r,i){return Ft(Fbe(this,e,n,r?.api_version,r?.page_size,r?.page_token,r?.recursive,i))}};Z6=class extends Ka{startUpload(e,n,r,i){return Ft(Bbe(this,e,n,r["X-Goog-Upload-Command"],r["X-Goog-Upload-Header-Content-Length"],r["X-Goog-Upload-Header-Content-Type"],r["X-Goog-Upload-Protocol"],r.api_version,r.extract,r.overwrite,i))}};eV=class extends Ka{get internal(){var e;return(e=this._internal)!==null&&e!==void 0?e:this._internal=new Z6(this._options)}get files(){var e;return(e=this._files)!==null&&e!==void 0?e:this._files=new Q6(this._options)}listEnvironments(e,n){return Ft(Ube(this,e?.api_version,e?.page_size,e?.page_token,n))}createEnvironment(e,n,r){return Ft(Mbe(this,e,n,r))}deleteEnvironment(e,n,r){return Ft(Dbe(this,e,n?.api_version,r))}getEnvironment(e,n,r){return Ft(Lbe(this,e,n?.api_version,r))}};tV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="CancelInteractionByIdServerError"}},nV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="CancelInteractionByIdClientError"}};rV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="CreateInteractionServerError"}},iV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="CreateInteractionClientError"}};sV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="DeleteInteractionServerError"}},oV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="DeleteInteractionClientError"}};aV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="GetInteractionByIdServerError"}},cV=class extends zo{constructor(e,n){var r;let i=((r=e.error)===null||r===void 0?void 0:r.message)||`API error occurred: ${JSON.stringify(e)}`;super(i,n),this.data$=e,this.error=e.error,this.name="GetInteractionByIdClientError"}};lV=class extends Ka{create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Ft($be(this,i,r,n))}delete(e,n,r){return Ft(Bdt(this,e,n?.api_version,r))}get(e,n,r){return Ft(Gbe(this,e,n?.api_version,n?.include_input,n?.last_event_id,n?.stream,r))}cancel(e,n,r){return Ft(qbe(this,e,n?.api_version,r))}};uV=class extends Ka{list(e,n){return Ft(zbe(this,e?.api_version,e?.filter,e?.page_size,e?.page_token,n))}create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Ft(Hbe(this,i,r,n))}delete(e,n,r){return Ft(jbe(this,e,n?.api_version,r))}get(e,n,r){return Ft(Wbe(this,e,n?.api_version,r))}update(e,n,r){let{api_version:i}=n,s=_r(n,["api_version"]);return Ft(Ybe(this,e,s,i,r))}listExecutions(e,n,r){return Ft(Vbe(this,e,n?.api_version,n?.page_size,n?.page_token,r))}run(e,n,r){return Ft(Kbe(this,e,n?.api_version,r))}};fV=class extends Ka{list(e,n){return Ft(Zbe(this,e?.api_version,e?.page_size,e?.page_token,n))}create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Ft(Xbe(this,i,r,n))}delete(e,n,r){return Ft(Jbe(this,e,n?.api_version,r))}get(e,n,r){return Ft(Qbe(this,e,n?.api_version,r))}update(e,n,r){let i=n??{},{api_version:s,update_mask:o}=i,a=_r(i,["api_version","update_mask"]),c=n===void 0||Object.keys(a).length===0?void 0:a;return Ft(nTe(this,e,s,o,c,r))}ping(e,n,r,i){return Ft(eTe(this,e,n,r,i))}rotateSigningSecret(e,n,r,i){return Ft(tTe(this,e,n,r,i))}};npt=class extends Ka{get environments(){var e;return(e=this._environments)!==null&&e!==void 0?e:this._environments=new eV(this._options)}get agents(){var e;return(e=this._agents)!==null&&e!==void 0?e:this._agents=new X6(this._options)}get credentials(){var e;return(e=this._credentials)!==null&&e!==void 0?e:this._credentials=new J6(this._options)}get interactions(){var e;return(e=this._interactions)!==null&&e!==void 0?e:this._interactions=new lV(this._options)}get triggers(){var e;return(e=this._triggers)!==null&&e!==void 0?e:this._triggers=new uV(this._options)}get webhooks(){var e;return(e=this._webhooks)!==null&&e!==void 0?e:this._webhooks=new fV(this._options)}};rpt=new Set(["lyria-3-pro-preview","lyria-3-clip-preview"]);dV=class{constructor(e){this.parentClient=e}async create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);if(i.stream===!0){let o=await Cj(()=>this.getClient(r).interactions.create(Object.assign(Object.assign({},i),{stream:!0,api_version:r}),Ct(n,!0)));return yxe(o)}let s=await Zt($be(this.getClient(r),i,r,Ct(n)));return Rj(s)}async get(e,n={},r){let{api_version:i,stream:s=!1,last_event_id:o,include_input:a}=n??{};if(s===!0){let l=await Cj(()=>this.getClient(i).interactions.get(e,{stream:s,last_event_id:o,include_input:a,api_version:i},Ct(r,!0)));return yxe(l)}let c=await Zt(Gbe(this.getClient(i),e,i,a,o,s,Ct(r)));return Rj(c)}async delete(e,n={},r){return Cj(()=>this.getClient(n?.api_version).interactions.delete(e,{api_version:n?.api_version},Ct(r)))}async cancel(e,n={},r){return Rj(await Zt(qbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r))))}getClient(e){var n;return e?Ko(this.parentClient,{api_version:e}):((n=this.sdk)!==null&&n!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk)}},pV=class{constructor(e){this.parentClient=e}async create(e={},n){let r=e??{},{api_version:i}=r,s=_r(r,["api_version"]);return Zt(Tbe(this.getClient(i),s,i,Ct(n)))}async list(e={},n){let{api_version:r,page_size:i,page_token:s,parent:o}=e??{};return Zt(Rbe(this.getClient(r),r,i,s,o,Ct(n)))}async get(e,n={},r){return Zt(Cbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async delete(e,n={},r){return Zt(Abe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}getClient(e){var n;return e?Ko(this.parentClient,{api_version:e}):((n=this.sdk)!==null&&n!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk)}},hV=class{constructor(e){this.parentClient=e}async create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Zt(Xbe(this.getClient(),i,r,Ct(n)))}async list(e={},n){let{api_version:r,page_size:i,page_token:s}=e??{};return Zt(Zbe(this.getClient(),r,i,s,Ct(n)))}async get(e,n={},r){return Zt(Qbe(this.getClient(),e,n?.api_version,Ct(r)))}async update(e,n={},r){let i=n??{},{api_version:s,update_mask:o}=i,a=_r(i,["api_version","update_mask"]);return Zt(nTe(this.getClient(),e,s,o,a,Ct(r)))}async delete(e,n={},r){return Zt(Jbe(this.getClient(),e,n?.api_version,Ct(r)))}async rotateSigningSecret(e,n={},r){let i=n??{},{api_version:s}=i,o=_r(i,["api_version"]);return Zt(tTe(this.getClient(),e,s,o,Ct(r)))}async ping(e,n=void 0,r){let{api_version:i,body:s}=n??{};return Zt(eTe(this.getClient(),e,i,s,Ct(r)))}getClient(){var e;return(e=this.sdk)!==null&&e!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk}},mV=class{constructor(e){this.parentClient=e}async create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Zt(Hbe(this.getClient(r),i,r,Ct(n)))}async list(e={},n){let{api_version:r,filter:i,page_size:s,page_token:o}=e??{};return Zt(zbe(this.getClient(r),r,i,s,o,Ct(n)))}async get(e,n={},r){return Zt(Wbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async update(e,n,r){let{api_version:i}=n,s=_r(n,["api_version"]);return Zt(Ybe(this.getClient(i),e,s,i,Ct(r)))}async delete(e,n={},r){return Zt(jbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async run(e,n={},r){return Zt(Kbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async listExecutions(e,n={},r){let{api_version:i,page_size:s,page_token:o}=n??{};return Zt(Vbe(this.getClient(i),e,i,s,o,Ct(r)))}getClient(e){var n;return e?Ko(this.parentClient,{api_version:e}):((n=this.sdk)!==null&&n!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk)}};gV=class{constructor(e,n){this.resolveClient=e,this.parentClient=n}async list(e,n){return Zt(Fbe(this.resolveClient(e.api_version),e.environment,e.path,e.api_version,e.page_size,e.page_token,e.recursive,Ct(n)))}async download(e,n){var r,i;let s=e.environment;if(!s)throw new Error("environment is required.");let o=s.startsWith("environments/")?s:`environments/${s}`,a=e.path.replace(/^\/+/,""),c=`${o}/files/${a}`,l=this.parentClient;if(!l||typeof l.request!="function")throw new Error("apiClient is required to download files.");let u=await l.request({path:c,httpMethod:"GET",queryParams:{alt:"media"},httpOptions:Object.assign(Object.assign({},n?.httpOptions),{apiVersion:(r=e.api_version)!==null&&r!==void 0?r:(i=n?.httpOptions)===null||i===void 0?void 0:i.apiVersion})});if(u&&u.responseInternal&&typeof u.responseInternal.arrayBuffer=="function"){let f=await u.responseInternal.arrayBuffer();return new Uint8Array(f)}throw new Error("Unexpected response type from download")}async upload(e,n){var r,i,s,o,a,c,l,u;let f=e.environment;if(!f)throw new Error("environment is required.");f.startsWith("environments/")||`${f}`;let p=e.path.replace(/^\/+/,""),m=this.parentClient;if(!m||typeof m.request!="function")throw new Error("apiClient is required to upload files.");let g,y=0,w=e.mime_type;if(typeof e.file=="string"){let k;try{let E=globalThis.require;E&&(k=E("fs").readFileSync(e.file))}catch{}if(!k&&typeof globalThis.process<"u")try{let E=(i=(r=globalThis.process.mainModule)===null||r===void 0?void 0:r.require)!==null&&i!==void 0?i:globalThis.require;E&&(k=E("fs").readFileSync(e.file))}catch{}if(k)g=new Uint8Array(k.buffer,k.byteOffset,k.byteLength),y=g.byteLength;else throw new Error(`Unable to read file from path "${e.file}". File path string inputs are only supported in Node.js environments.`);w||(w=ppt(e.file))}else if(typeof Blob<"u"&&e.file instanceof Blob)g=e.file,y=e.file.size,!w&&e.file.type&&(w=e.file.type);else if(e.file instanceof Uint8Array||e.file instanceof ArrayBuffer)g=e.file instanceof ArrayBuffer?new Uint8Array(e.file):e.file,y=g.byteLength;else if(typeof globalThis.Buffer<"u"&&typeof globalThis.Buffer.isBuffer=="function"&&globalThis.Buffer.isBuffer(e.file)){let k=e.file;g=new Uint8Array(k.buffer,k.byteOffset,k.byteLength),y=g.byteLength}else throw new Error("Unsupported file type for upload.");w||(w="application/octet-stream");let S=f.startsWith("environments/")?f.replace(/^environments\//,""):f,[T,R]=await Bbe(this.resolveClient(e.api_version),S,p,"start",y,w,"resumable",e.api_version,e.extract,e.overwrite,Ct(n)).$inspect();if(!T.ok)throw Xh(T.error);let C=R.status==="complete"?(a=(o=(s=R.response)===null||s===void 0?void 0:s.headers)===null||o===void 0?void 0:o.get("x-goog-upload-url"))!==null&&a!==void 0?a:(l=(c=R.response)===null||c===void 0?void 0:c.headers)===null||l===void 0?void 0:l.get("X-Goog-Upload-URL"):void 0;if(!C)throw new Error("Failed to get upload URL from upload handshake response.");let D=8*1024*1024,q=0,G,V=g instanceof Blob?g:new Blob([g]);for(;q<y||y===0&&q===0;){let k=Math.min(q+D,y),E=V.slice(q,k),A=k>=y,N=A?"upload, finalize":"upload";if(G=await m.request({path:"",body:E,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},n?.httpOptions),{apiVersion:"",baseUrl:C,headers:Object.assign(Object.assign({},((u=n?.httpOptions)===null||u===void 0?void 0:u.headers)||{}),{"X-Goog-Upload-Command":N,"X-Goog-Upload-Offset":`${q}`})})}),q=k,A)break}let L;if(G&&typeof G.json=="function"?L=await G.json():G&&G.responseInternal&&typeof G.responseInternal.json=="function"&&(L=await G.responseInternal.json()),L&&typeof L=="object"){if(Array.isArray(L.files))return L;if(L.name||L.path)return{files:[L]};if(L.file&&typeof L.file=="object")return{files:[L.file]}}return L}},yV=class{constructor(e){this.parentClient=e,this.files=new gV(n=>this.getClient(n),this.parentClient)}async create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Zt(Mbe(this.getClient(r),i,r,Ct(n)))}async list(e={},n){let{api_version:r,page_size:i,page_token:s}=e??{};return Zt(Ube(this.getClient(r),r,i,s,Ct(n)))}async get(e,n={},r){return Zt(Lbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async delete(e,n={},r){return Zt(Dbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}getClient(e){var n;return e?Ko(this.parentClient,{api_version:e}):((n=this.sdk)!==null&&n!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk)}},_V=class{constructor(e){this.parentClient=e}async create(e,n){let{api_version:r}=e,i=_r(e,["api_version"]);return Zt(Ibe(this.getClient(r),i,r,Ct(n)))}async list(e={},n){let{api_version:r,page_size:i,page_token:s}=e??{};return Zt(Obe(this.getClient(r),r,i,s,Ct(n)))}async get(e,n={},r){return Zt(Pbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}async update(e,n,r){let{api_version:i,update_mask:s}=n,o=_r(n,["api_version","update_mask"]);return Zt(Nbe(this.getClient(i),e,o,i,s,Ct(r)))}async delete(e,n={},r){return Zt(kbe(this.getClient(n?.api_version),e,n?.api_version,Ct(r)))}getClient(e){var n;return e?Ko(this.parentClient,{api_version:e}):((n=this.sdk)!==null&&n!==void 0||(this.sdk=Ko(this.parentClient)),this.sdk)}};vxe="x-goog-api-key",dS="https://www.googleapis.com/auth/cloud-platform",vV=class{constructor(e){if(e.apiKey!==void 0){this.apiKey=e.apiKey;return}let n=hpt(e.googleAuthOptions);this.googleAuth=new Sxe.GoogleAuth(n)}async addAuthHeaders(e,n){if(this.apiKey!==void 0){if(this.apiKey.startsWith("auth_tokens/"))throw new Error("Ephemeral tokens are only supported by the live API.");this.addKeyHeader(e);return}return this.addGoogleAuthHeaders(e,n)}addKeyHeader(e){if(e.get(vxe)===null){if(this.apiKey===void 0)throw new Error("Trying to set API key header but apiKey is not set");e.append(vxe,this.apiKey)}}async addGoogleAuthHeaders(e,n){if(this.googleAuth===void 0)throw new Error("Trying to set google-auth headers but googleAuth is unset");let r=await this.googleAuth.getRequestHeaders(n);for(let[i,s]of r)e.get(i)===null&&e.append(i,s)}};EV=class{async download(e,n){if(e.downloadPath){let r=await mpt(e,n);if(r instanceof Ou){let i=(0,xxe.createWriteStream)(e.downloadPath);Txe.Readable.fromWeb(r.responseInternal.body).pipe(i),await(0,Axe.finished)(i)}else try{await(0,bxe.writeFile)(e.downloadPath,r,{encoding:"base64"})}catch(i){throw new Error(`Failed to write file to ${e.downloadPath}: ${i}`)}}}};wV=class{create(e,n,r){return new SV(e,n,r)}},SV=class{constructor(e,n,r){this.url=e,this.headers=n,this.callbacks=r}connect(){this.ws=new Tj.default(this.url,{headers:this.headers}),this.ws.onopen=this.callbacks.onopen,this.ws.onerror=this.callbacks.onerror,this.ws.onclose=this.callbacks.onclose,this.ws.onmessage=this.callbacks.onmessage}send(e){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.send(e)}close(){if(this.ws===void 0)throw new Error("WebSocket is not connected");this.ws.close()}};TV=class extends za{constructor(e){super(),this.apiClient=e,this.list=async(n={})=>new nl(tl.PAGED_ITEM_TUNING_JOBS,r=>this.listInternal(r),await this.listInternal(n),n),this.get=async n=>await this.getInternal(n),this.tune=async n=>{var r;if(this.apiClient.isVertexAI())if(n.baseModel.startsWith("projects/")){let i={tunedModelName:n.baseModel};!((r=n.config)===null||r===void 0)&&r.preTunedModelCheckpointId&&(i.checkpointId=n.config.preTunedModelCheckpointId);let s=Object.assign(Object.assign({},n),{preTunedModel:i});return s.baseModel=void 0,await this.tuneInternal(s)}else{let i=Object.assign({},n);return await this.tuneInternal(i)}else{let i=Object.assign({},n),s=await this.tuneMldevInternal(i),o="";return s.metadata!==void 0&&s.metadata.tunedModel!==void 0?o=s.metadata.tunedModel:s.name!==void 0&&s.name.includes("/operations/")&&(o=s.name.split("/operations/")[0]),{name:o,state:RP.JOB_STATE_QUEUED}}}}async getInternal(e){var n,r,i,s;let o,a="",c={};if(this.apiClient.isVertexAI()){let l=Rpt(e);return a=Ce("{name}",l._url),c=l._query,delete l._url,delete l._query,o=this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(l),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(u=>u.json().then(f=>{let p=f;return p.sdkHttpResponse={headers:u.headers},p})),o.then(u=>bV(u))}else{let l=Cpt(e);return a=Ce("{name}",l._url),c=l._query,delete l._url,delete l._query,o=this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(l),httpMethod:"GET",httpOptions:(i=e.config)===null||i===void 0?void 0:i.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(u=>u.json().then(f=>{let p=f;return p.sdkHttpResponse={headers:u.headers},p})),o.then(u=>Upt(u))}}async listInternal(e){var n,r;let i,s="",o={};if(this.apiClient.isVertexAI()){let a=kpt(e);return s=Ce("tuningJobs",a._url),o=a._query,delete a._url,delete a._query,i=this.apiClient.request({path:s,queryParams:o,body:JSON.stringify(a),httpMethod:"GET",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(c=>c.json().then(l=>{let u=l;return u.sdkHttpResponse={headers:c.headers},u})),i.then(c=>{let l=Ppt(c),u=new LP;return Object.assign(u,l),u})}else throw new Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async cancel(e){var n,r,i,s;let o,a="",c={};if(this.apiClient.isVertexAI()){let l=ypt(e);return a=Ce("{name}:cancel",l._url),c=l._query,delete l._url,delete l._query,o=this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(l),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(u=>u.json().then(f=>{let p=f;return p.sdkHttpResponse={headers:u.headers},p})),o.then(u=>{let f=vpt(u),p=new wS;return Object.assign(p,f),p})}else{let l=gpt(e);return a=Ce("{name}:cancel",l._url),c=l._query,delete l._url,delete l._query,o=this.apiClient.request({path:a,queryParams:c,body:JSON.stringify(l),httpMethod:"POST",httpOptions:(i=e.config)===null||i===void 0?void 0:i.httpOptions,abortSignal:(s=e.config)===null||s===void 0?void 0:s.abortSignal}).then(u=>u.json().then(f=>{let p=f;return p.sdkHttpResponse={headers:u.headers},p})),o.then(u=>{let f=_pt(u),p=new wS;return Object.assign(p,f),p})}}async tuneInternal(e){var n,r;let i,s="",o={};if(this.apiClient.isVertexAI()){let a=xpt(e,e);return s=Ce("tuningJobs",a._url),o=a._query,delete a._url,delete a._query,i=this.apiClient.request({path:s,queryParams:o,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(c=>c.json().then(l=>{let u=l;return u.sdkHttpResponse={headers:c.headers},u})),i.then(c=>bV(c))}else throw new Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}async tuneMldevInternal(e){var n,r;let i,s="",o={};if(this.apiClient.isVertexAI())throw new Error("This method is only supported by the Gemini Developer API.");{let a=Spt(e);return s=Ce("tunedModels",a._url),o=a._query,delete a._url,delete a._query,i=this.apiClient.request({path:s,queryParams:o,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(c=>c.json().then(l=>{let u=l;return u.sdkHttpResponse={headers:c.headers},u})),i.then(c=>Fpt(c))}}async validateReward(e){var n,r;let i,s="",o={};if(this.apiClient.isVertexAI()){let a=Bpt(e);return s=Ce("{parent}/tuningJobs:validateReinforcementTuningReward",a._url),o=a._query,delete a._url,delete a._query,i=this.apiClient.request({path:s,queryParams:o,body:JSON.stringify(a),httpMethod:"POST",httpOptions:(n=e.config)===null||n===void 0?void 0:n.httpOptions,abortSignal:(r=e.config)===null||r===void 0?void 0:r.abortSignal}).then(c=>c.json().then(l=>{let u=l;return u.sdkHttpResponse={headers:c.headers},u})),i.then(c=>{let l=qpt(c),u=new UP;return Object.assign(u,l),u})}else throw new Error("This method is only supported by the Gemini Enterprise Agent Platform (previously known as Vertex AI).")}},iTe=1024*1024*8,sTe=3,oTe=1e3,aTe=2,bd="x-goog-upload-status";AV=class{async stat(e){let n={size:0,type:void 0};if(typeof e=="string"){let r=await f1.stat(e);return n.size=r.size,n.type=this.inferMimeType(e),n}else return await Hpt(e)}async upload(e,n,r,i){return typeof e=="string"?await this.uploadFileFromPath(e,n,r,i):$pt(e,n,r,i)}async uploadToFileSearchStore(e,n,r,i){return typeof e=="string"?await this.uploadFileToFileSearchStoreFromPath(e,n,r,i):Gpt(e,n,r,i)}inferMimeType(e){let n=e.slice(e.lastIndexOf(".")+1);return{aac:"audio/aac",abw:"application/x-abiword",arc:"application/x-freearc",avi:"video/x-msvideo",azw:"application/vnd.amazon.ebook",bin:"application/octet-stream",bmp:"image/bmp",bz:"application/x-bzip",bz2:"application/x-bzip2",csh:"application/x-csh",css:"text/css",csv:"text/csv",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",eot:"application/vnd.ms-fontobject",epub:"application/epub+zip",gz:"application/gzip",gif:"image/gif",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",ics:"text/calendar",jar:"application/java-archive",jpeg:"image/jpeg",jpg:"image/jpeg",js:"text/javascript",json:"application/json",jsonld:"application/ld+json",kml:"application/vnd.google-earth.kml+xml",kmz:"application/vnd.google-earth.kmz+xml",mjs:"text/javascript",mp3:"audio/mpeg",mp4:"video/mp4",mpeg:"video/mpeg",mpkg:"application/vnd.apple.installer+xml",odt:"application/vnd.oasis.opendocument.text",oga:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",opus:"audio/opus",otf:"font/otf",png:"image/png",pdf:"application/pdf",php:"application/x-httpd-php",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation",rar:"application/vnd.rar",rtf:"application/rtf",sh:"application/x-sh",svg:"image/svg+xml",swf:"application/x-shockwave-flash",tar:"application/x-tar",tif:"image/tiff",tiff:"image/tiff",ts:"video/mp2t",ttf:"font/ttf",txt:"text/plain",vsd:"application/vnd.visio",wav:"audio/wav",weba:"audio/webm",webm:"video/webm",webp:"image/webp",woff:"font/woff",woff2:"font/woff2",xhtml:"application/xhtml+xml",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xml:"application/xml",xul:"application/vnd.mozilla.xul+xml",zip:"application/zip","3gp":"video/3gpp","3g2":"video/3gpp2","7z":"application/x-7z-compressed"}[n.toLowerCase()]}async uploadFileFromPath(e,n,r,i){var s;let o=await this.uploadFileFromPathInternal(e,n,r,i),a=await o?.json();if(((s=o?.headers)===null||s===void 0?void 0:s[bd])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");return a.file}async uploadFileToFileSearchStoreFromPath(e,n,r,i){var s;let o=await this.uploadFileFromPathInternal(e,n,r,i),a=await o?.json();if(((s=o?.headers)===null||s===void 0?void 0:s[bd])!=="final")throw new Error("Failed to upload file: Upload status is not finalized.");let c=kV(a),l=new TS;return Object.assign(l,c),l}async uploadFileFromPathInternal(e,n,r,i){var s,o,a;let c=n,l=i?.baseUrl||((s=r.clientOptions.httpOptions)===null||s===void 0?void 0:s.baseUrl);if(l){let w=new URL(l),S=new URL(n);S.protocol=w.protocol,S.host=w.host,S.port=w.port,c=S.toString()}let u=0,f=0,p=new Ou(new Response),m="upload",g,y=Cxe.basename(e);try{if(g=await f1.open(e,"r"),!g)throw new Error("Failed to open file");for(u=(await g.stat()).size;f<u;){let w=Math.min(iTe,u-f);f+w>=u&&(m+=", finalize");let S=new Uint8Array(w),{bytesRead:T}=await g.read(S,0,w,f);if(T!==w)throw new Error(`Failed to read ${w} bytes from file at offset ${f}. bytes actually read: ${T}`);let R=new Blob([S]),C=0,D=oTe;for(;C<sTe;){let q=Object.assign(Object.assign({},i?.headers||{}),{"X-Goog-Upload-Command":m,"X-Goog-Upload-Offset":String(f),"X-Goog-Upload-File-Name":y});if(p=await r.request({path:"",body:R,httpMethod:"POST",httpOptions:Object.assign(Object.assign({},i),{apiVersion:"",baseUrl:c,headers:q})}),!((o=p?.headers)===null||o===void 0)&&o[bd])break;C++,await lTe(D),D=D*aTe}if(f+=T,((a=p?.headers)===null||a===void 0?void 0:a[bd])!=="active")break;if(u<=f)throw new Error("All content has been uploaded, but the upload status is not finalized.")}return p}finally{g&&await g.close()}}};CV=class extends Vxe{async registerFiles(e){if(typeof process>"u"||!process.versions||!process.versions.node)throw new Error("registerFiles is only supported in Node.js environments.");let r=await e.auth.getRequestHeaders(),i=e.config||{},s=i.httpOptions||{},o=Object.assign({},s.headers||{});if(r)if(typeof r[Symbol.iterator]=="function")for(let[a,c]of r)o[a]=c;else for(let[a,c]of Object.entries(r))o[a]=c;return this._registerFiles({uris:e.uris,config:Object.assign(Object.assign({},i),{httpOptions:Object.assign(Object.assign({},s),{headers:o})})})}};jpt="gl-node/";RV=class{getNextGenClient(){let e=this.httpOptions;return this._nextGenClient===void 0&&(this._nextGenClient=Ko(this.apiClient,{timeout_ms:e?.timeout})),e?.extraBody&&console.warn("GoogleGenAI: Client level httpOptions.extraBody is not supported by the Gemini NextGen client and will be ignored."),this._nextGenClient}get interactions(){return this._interactions!==void 0?this._interactions:(this._interactions=new dV(this.apiClient),this._interactions)}get webhooks(){return this._webhooks!==void 0?this._webhooks:(this._webhooks=new hV(this.apiClient),this._webhooks)}get agents(){return this._agents!==void 0?this._agents:(console.warn("GoogleGenAI.agents: Agents usage is experimental and may change in future versions."),this._agents=new pV(this.apiClient),this._agents)}get triggers(){return this._triggers!==void 0?this._triggers:(console.warn("GoogleGenAI.triggers: Triggers usage is experimental and may change in future versions."),this._triggers=new mV(this.apiClient),this._triggers)}get environments(){return this._environments!==void 0?this._environments:(console.warn("GoogleGenAI.environments: Environments usage is experimental and may change in future versions."),this._environments=new yV(this.apiClient),this._environments)}get credentials(){return this._credentials!==void 0?this._credentials:(console.warn("GoogleGenAI.credentials: Credentials usage is experimental and may change in future versions."),this._credentials=new _V(this.apiClient),this._credentials)}constructor(e={}){var n,r,i,s;if(this.vertexai=Wpt(e),(e.project||e.location)&&!this.vertexai)throw new Error("Project and location are not supported for Gemini API backend.");let o=Vpt(),a=Td("GOOGLE_CLOUD_PROJECT"),c=Td("GOOGLE_CLOUD_LOCATION");this.apiKey=(n=e.apiKey)!==null&&n!==void 0?n:o,this.project=(r=e.project)!==null&&r!==void 0?r:a,this.location=(i=e.location)!==null&&i!==void 0?i:c,!this.vertexai&&!this.apiKey&&console.warn("API key should be set when using the Gemini API."),this.vertexai&&(!((s=e.googleAuthOptions)===null||s===void 0)&&s.credentials&&(console.debug("The user provided Google Cloud credentials will take precedence over the API key from the environment variable."),this.apiKey=void 0),!e.project&&!e.location&&(a||c)&&e.apiKey?(console.debug("The user provided Vertex AI API key will take precedence over the project/location from the environment variables."),this.project=void 0,this.location=void 0):(e.project||e.location)&&!e.apiKey&&o?(console.debug("The user provided project/location will take precedence over the API key from the environment variables."),this.apiKey=void 0):!e.project&&!e.location&&!e.apiKey&&(a||c)&&o&&(console.debug("The project/location from the environment variables will take precedence over the API key from the environment variables."),this.apiKey=void 0),!this.location&&!this.apiKey&&(this.location="global"));let l=bst(e.httpOptions,this.vertexai,Td("GOOGLE_VERTEX_BASE_URL"),Td("GOOGLE_GEMINI_BASE_URL"));l&&(e.httpOptions?e.httpOptions.baseUrl=l:e.httpOptions={baseUrl:l}),this.apiVersion=e.apiVersion,this.httpOptions=e.httpOptions;let u=new vV({apiKey:this.apiKey,googleAuthOptions:e.googleAuthOptions});this.apiClient=new k6({auth:u,project:this.project,location:this.location,apiVersion:this.apiVersion,apiKey:this.apiKey,vertexai:this.vertexai,httpOptions:this.httpOptions,userAgentExtra:jpt+process.version,uploader:new AV,downloader:new EV}),this.models=new Jh(this.apiClient),this.live=new ZP(this.apiClient,u,new wV),this.batches=new YP(this.apiClient),this.chats=new JP(this.models,this.apiClient),this.caches=new XP(this.apiClient),this.files=new CV(this.apiClient),this.operations=new t1(this.apiClient),this.authTokens=new n1(this.apiClient),this.tunings=new TV(this.apiClient),this.fileSearchStores=new M6(this.apiClient)}}});function _Te({provider:t,baseUrl:e,apiKey:n,model:r}={}){t&&Kpt.includes(t)&&(Ot.provider=t),e!==void 0&&(Ot.baseUrl=String(e||"").replace(/\/+$/,"")),n!==void 0&&(Ot.apiKey=String(n||"")),r&&(Ot.model=String(r))}function vTe(t={}){_Te(t),m1.info(`config \u2190 web: provider=${Ot.provider} baseUrl="${Ot.baseUrl}" model=${Ot.model} key=${Ot.apiKey?Ot.apiKey.slice(0,7)+"\u2026":"(none)"}`),g1.set(hTe,{...Ot}).catch(()=>{})}async function ETe(){if(dTe)return!0;dTe=!0;try{let t=await g1.get(hTe);t&&typeof t=="object"&&_Te(t),m1.info(`config \u2190 kv (restart restore): provider=${Ot.provider} baseUrl="${Ot.baseUrl}" model=${Ot.model} key=${Ot.apiKey?"kept":"(none)"}`)}catch{}return!0}function wTe(){return{...Ot,apiKey:void 0,ready:!!Ot.apiKey,busy:PS}}function Jpt(t){if(!t||typeof t!="object")return null;if(t.role==="user"&&t.parts){let e=t.parts.filter(r=>typeof r?.text=="string"&&r.text).map(r=>r.text).join(""),n=t.parts.filter(r=>r?.functionResponse);return n.length?{role:"tool",results:n.map(r=>({name:r.functionResponse.name,output:r.functionResponse.response}))}:e?{role:"user",text:e}:null}if(t.role==="model"&&Array.isArray(t.parts)){let e=t.parts.filter(r=>typeof r?.text=="string"&&r.text).map(r=>r.text).join(""),n=t.parts.filter(r=>r?.functionCall).map((r,i)=>({id:`${r.functionCall.name}-${i}`,name:r.functionCall.name,args:r.functionCall.args||{}}));return{role:"assistant",text:e,calls:n}}return null}async function STe(){if(rl)return rl;try{rl=await g1.get(pTe)||[]}catch{rl=[]}return Array.isArray(rl)||(rl=[]),rl=rl.map(t=>t&&!t.parts&&(t.role==="user"||t.role==="assistant"||t.role==="tool")?t:Jpt(t)).filter(Boolean),rl}async function Qpt(){try{await g1.set(pTe,rl.slice(-mTe))}catch{}}function FV(){return ek().map(({name:t,description:e,inputSchema:n})=>({name:t,description:e,parameters:n}))}function Zpt(t){return t.map(e=>e.role==="user"?{role:"user",parts:[{text:e.text}]}:e.role==="tool"?{role:"user",parts:e.results.map(n=>({functionResponse:{name:n.name,response:n.output}}))}:{role:"model",parts:[...e.text?[{text:e.text}]:[],...(e.calls||[]).map(n=>({functionCall:{name:n.name,args:n.args}}))]})}async function eht(t){let{GoogleGenAI:e}=await Promise.resolve().then(()=>(fTe(),uTe)),i=(await new e({...Ot.baseUrl?{httpOptions:{baseUrl:Ot.baseUrl}}:{},apiKey:Ot.apiKey}).models.generateContent({model:Ot.model,contents:Zpt(t),config:{systemInstruction:UV,tools:[{functionDeclarations:FV()}]}}))?.candidates?.[0]?.content?.parts||[];return{text:i.filter(s=>typeof s?.text=="string"&&s.text).map(s=>s.text).join(""),calls:i.filter(s=>s?.functionCall).map((s,o)=>({id:`${s.functionCall.name}-${o}`,name:s.functionCall.name,args:s.functionCall.args||{}}))}}function tht(t){let e=[{role:"system",content:UV}];for(let n of t)if(n.role==="user")e.push({role:"user",content:n.text});else if(n.role==="assistant")e.push({role:"assistant",content:n.text||null,...n.calls?.length?{tool_calls:n.calls.map(r=>({id:r.id,type:"function",function:{name:r.name,arguments:JSON.stringify(r.args||{})}}))}:{}});else if(n.role==="tool")for(let r of n.results)e.push({role:"tool",tool_call_id:r.callId||r.name,content:JSON.stringify(r.output)});return e}function nht(){let t="",e=[];return{push(n){typeof n?.content=="string"&&(t+=n.content);for(let r of n?.tool_calls||[]){let i=r.index??0;e[i]=e[i]||{id:"",name:"",args:""},r.id&&(e[i].id=r.id),r.function?.name&&(e[i].name+=r.function.name),typeof r.function?.arguments=="string"&&(e[i].args+=r.function.arguments)}},result(){return{text:t,calls:e.filter(Boolean).map(n=>({id:n.id,name:n.name,args:xTe(n.args)}))}}}}async function rht(t){let e=Ot.baseUrl||"https://openrouter.ai/api/v1",n=await fetch(`${e}/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Ot.apiKey}`},body:JSON.stringify({model:Ot.model,stream:!0,messages:tht(t),tools:FV().map(c=>({type:"function",function:c}))}),signal:AbortSignal.timeout(yTe)});if(!n.ok){let c=await n.json().catch(()=>null);throw new Error(c?.error?.message||`HTTP ${n.status}`)}if(!(n.headers.get("content-type")||"").includes("text/event-stream")){let c=(await n.json())?.choices?.[0]?.message||{};return{text:typeof c.content=="string"?c.content:"",calls:(c.tool_calls||[]).map(l=>({id:l.id,name:l.function?.name||"",args:xTe(l.function?.arguments)}))}}let i=nht(),s=n.body.getReader(),o=new TextDecoder,a="";for(;;){let{done:c,value:l}=await s.read();if(c)break;a+=o.decode(l,{stream:!0});let u;for(;(u=a.indexOf(`
|
|
492
492
|
`))>=0;){let f=a.slice(0,u).trim();if(a=a.slice(u+1),!f.startsWith("data:"))continue;let p=f.slice(5).trim();if(p==="[DONE]")return i.result();let m;try{m=JSON.parse(p)}catch{continue}if(m.error)throw new Error(m.error?.message||"stream error");i.push(m.choices?.[0]?.delta)}}return i.result()}function iht(t){let e=[];for(let n of t)n.role==="user"?e.push({role:"user",content:n.text}):n.role==="assistant"?e.push({role:"assistant",content:[...n.text?[{type:"text",text:n.text}]:[],...(n.calls||[]).map(r=>({type:"tool_use",id:r.id,name:r.name,input:r.args}))]}):n.role==="tool"&&e.push({role:"user",content:n.results.map(r=>({type:"tool_result",tool_use_id:r.callId||r.name,content:JSON.stringify(r.output)}))});return e}async function sht(t){let e=Ot.baseUrl||"https://api.anthropic.com",n=await fetch(`${e}/v1/messages`,{method:"POST",headers:{"Content-Type":"application/json","x-api-key":Ot.apiKey,"anthropic-version":"2023-06-01"},body:JSON.stringify({model:Ot.model,max_tokens:4096,system:UV,messages:iht(t),tools:FV()}),signal:AbortSignal.timeout(yTe)}),r=await n.json();if(!n.ok)throw new Error(r?.error?.message||`HTTP ${n.status}`);let i=r?.content||[];return{text:i.filter(s=>s.type==="text").map(s=>s.text).join(""),calls:i.filter(s=>s.type==="tool_use").map(s=>({id:s.id,name:s.name,args:s.input||{}}))}}function xTe(t){if(typeof t!="string")return t||{};try{return JSON.parse(t)}catch{return{}}}async function oht(t,e){let n=fd.find(r=>r.name===t);if(!n)return{error:`unknown tool: ${t}`};try{let r=await n.run(e||{},{sessionId:"jarvis-agent"});return r?.error?{error:r.error}:typeof r=="string"?{result:r.slice(0,gTe)}:r}catch(r){return{error:r.message}}}async function BV(t,e){if(PS)return{error:"a turn is already running \u2014 wait for it to finish"};if(!Ot.apiKey)return{error:"no API key \u2014 add one in Settings \u2192 Jarvis"};PS=!0;try{let n=e||(()=>{}),r=await STe();r.push({role:"user",text:String(t||"")});let i=Xpt||(Ot.provider==="openai"?rht:Ot.provider==="anthropic"?sht:eht);m1.info(`turn: provider=${Ot.provider} baseUrl="${Ot.baseUrl}" model=${Ot.model} history=${r.length}`);let s="";for(let o=0;o<zpt;o++){let{text:a,calls:c}=await i(r);if(r.push({role:"assistant",text:a,calls:c}),!c.length){s=a||"(no answer)";break}let l=[];for(let u of c){n("tool",{name:u.name,args:u.args||{}});let f=await oht(u.name,u.args),p=JSON.stringify(f).slice(0,gTe);n("toolResult",{name:u.name,result:p}),l.push({callId:u.id,name:u.name,output:f})}r.push({role:"tool",results:l})}return s||(s="tool-call loop limit reached \u2014 stopped for safety, ask me again to continue"),n("assistant",{text:s}),await Qpt(),{text:s}}catch(n){return m1.error(`agent turn failed: ${n.message}`),{error:`${Ot.provider} error: ${n.message}`}}finally{PS=!1}}async function bTe(t){return!Ot.apiKey||PS?{skipped:!0}:await BV(t,()=>{})}async function TTe(){return(await STe()).slice(-mTe)}var m1,g1,pTe,hTe,mTe,zpt,gTe,yTe,UV,Kpt,Ypt,Ot,PS,rl,Xpt,dTe,qV=ae(()=>{li();tk();ot();m1=be("jarvis"),g1={get:xp,set:Sp},pTe="jarvis:chat",hTe="jarvis:agentConfig",mTe=60,zpt=8,gTe=4e3,yTe=12e4,UV="You are Jarvis \u2014 the conductor coordinating worker sessions (AI CLIs and terminals) on this machine. The user chats to delegate work and ask about status. Convention: when the user asks to 'create a task/job in workspace X', OPEN a worker session in that workspace (create_session with the workspace taken from list_fleet's workspacePath, default engine claude), delegate via dispatch_prompt, and record a manage_kanban card for that workspace. When woken because a worker finished or awaits approval: check with list_fleet, update the board, report only what matters. When a worker is done and no longer needed, close_session to free its resources. Reply briefly, in the user's language.",Kpt=["gemini","openai","anthropic"],Ypt={provider:"gemini",baseUrl:"",model:"gemini-3.8-flash"},Ot={...Ypt,apiKey:""},PS=!1,rl=null,Xpt=null,dTe=!1});function cht({wake:t=bTe,refreshBoard:e=async()=>{await ZI(await y_())},debounceMs:n=aht}={}){let r=!0,i=[],s=null;return{setWakeEnabled(o){r=!!o},onWorkerDone(o){!r||!o||(i.includes(o)||i.push(o),e(),s&&clearTimeout(s),s=setTimeout(()=>{s=null,this._flush()},n))},async _flush(){let o=i;if(i=[],!o.length)return;let a=o.length===1?`Worker ${o[0]}`:`Workers ${o.join(", ")}`;try{await t(`[9remote] ${a} changed state (finished or awaiting approval) \u2014 check with list_fleet, update the kanban board if needed, and only report back briefly when something matters.`)}catch{}}}}function RTe(t){CTe.setWakeEnabled(t)}function $V(t){CTe.onWorkerDone(t)}function ITe(){ATe||(ATe=!0,pr.onEvent((t,e)=>{e==="turn_complete"&&$V(t)}))}var aht,CTe,ATe,GV=ae(()=>{Df();XI();Dw();qV();aht=3e3;CTe=cht(),ATe=!1});function PTe(t){ITe(),ETe(),t.on("jarvis:getState",async(e,n)=>{try{let r=await y_(),i=await ZI(r);n?.({ok:!0,board:i,fleet:r})}catch(r){HV.error(`getState failed: ${r.message}`),n?.({ok:!1,error:r.message})}}),t.on("jarvis:kanban",async({action:e}={},n)=>{try{let r=await __(e,"web");n?.(r.error?{ok:!1,error:r.error}:{ok:!0,board:r.board})}catch(r){HV.error(`kanban action failed: ${r.message}`),n?.({ok:!1,error:r.message})}}),t.on("jarvis:tools",(e,n)=>n?.({ok:!0,tools:ek()})),t.on("jarvis:tool",async({name:e,args:n}={},r)=>{let i=fd.find(s=>s.name===e);if(!i)return r?.({ok:!1,error:`unknown tool: ${e}`});try{let s=await i.run(n||{},{sessionId:"jarvis-live"});r?.(s?.error?{ok:!1,error:s.error}:{ok:!0,result:typeof s=="string"?s:JSON.stringify(s)})}catch(s){HV.error(`live tool ${e} failed: ${s.message}`),r?.({ok:!1,error:s.message})}}),t.on("jarvis:agentConfig",({apiKey:e,model:n,wake:r}={},i)=>{vTe({apiKey:e,model:n}),r!==void 0&&RTe(!!r),i?.({ok:!0,...wTe()})}),t.on("jarvis:chatHistory",async(e,n)=>{try{n?.({ok:!0,history:await TTe()})}catch(r){n?.({ok:!1,error:r.message})}}),t.on("jarvis:chat",async({text:e}={},n)=>{if(!e||typeof e!="string")return n?.({ok:!1,error:"text is required"});kTe("jarvis:chat:event",{type:"user",text:e.slice(0,2e3)});let r=await BV(e,(i,s)=>kTe("jarvis:chat:event",{type:i,...s}));n?.(r.error?{ok:!1,error:r.error}:{ok:!0,text:r.text})})}var HV,kTe,OTe=ae(()=>{XI();Dw();GV();qV();tk();hf();Vi();ot();HV=be("jarvis"),kTe=(t,e)=>{let n=Fa();n&&et(n,t,e)}});function LTe(){let t="";for(let e=0;e<lht;e++)t+=NTe[jV.default.randomInt(NTe.length)];return t}function WV(){let t=MJ(DTe,null);return!t||Date.now()>t.expiresAt?null:t}function UTe(t){try{Sn(DTe,t)}catch(e){y1.error(`persist pairing state: ${e.message}`)}}function FTe(t,e,n,r=null){UTe({tempKey:t,tail:e,expiresAt:n,workerUrl:r})}function uht(){UTe({tempKey:null,tail:null,expiresAt:0,workerUrl:null})}async function fht(t,e){if(!(!t||!e))try{await sc(`${e}/api/temp-key/remove`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({tempKey:t})}),y1.info(`one-time code revoked at the Worker: ${t}`)}catch(n){y1.warn(`could not revoke the code at the Worker: ${n.message}`)}}function OS(){let t=WV();return t?{tempKey:t.tempKey,tail:t.tail,expiresAt:t.expiresAt}:null}function _1(t){let e=WV();if(!e?.tail||!t)return!1;let n=Buffer.from(String(t).toUpperCase(),"utf8"),r=Buffer.from(String(e.tail).toUpperCase(),"utf8");return n.length===r.length&&jV.default.timingSafeEqual(n,r)}function VV(t){if(_1(t))return!0;let e=WV();return!e||!t||(uht(),y1.warn("pairing tail mismatch \u2014 code killed here and at the Worker"),fht(e.tempKey,e.workerUrl)),!1}var jV,MTe,y1,DTe,NTe,lht,zV=ae(()=>{jV=ce(require("crypto"),1),MTe=require("path");Mt();ot();po();Mt();y1=be("pairing"),DTe=(0,MTe.join)(Oe.STATE,"pairing.json"),NTe="ABCDEFGHIJKLMNPQRSTUVWXYZ123456789",lht=2});function qTe(){let t="";for(let e=0;e<dht;e++)t+=BTe[KV.default.randomInt(BTe.length)];return t}function $Te(t){return`sk-${(t||"").slice(0,8).toLowerCase()}-${qTe()}-${qTe()}`}function GTe(t){return/^sk-[a-z0-9]{8}-[a-np-z1-9]{8}-[a-np-z1-9]{8}$/.test(t||"")}function Gn(t){if(!GTe(t))return t||null;let e=t.split("-");return`${e[0]}-${e[1]}-${e[2]}`}function v1(t){return GTe(t)?t.split("-")[3]:null}function E1(t,e){if(typeof t!="string"||!t||typeof e!="string"||!e)return!1;let n=Buffer.from(Gn(t)||"","utf8"),r=Buffer.from(Gn(e)||"","utf8");return n.length>0&&n.length===r.length&&KV.default.timingSafeEqual(n,r)}var KV,V1t,BTe,dht,kd=ae(()=>{KV=ce(require("crypto"),1),V1t=process.env.API_KEY_SECRET||process.env.APP_SECRET,BTe="abcdefghijklmnpqrstuvwxyz123456789",dht=8});var zTe={};fr(zTe,{PROOF_DEADLINE:()=>tz,admissionGate:()=>nz,clearProofWaiters:()=>ez,finishTailRejection:()=>x1,handleTailProof:()=>rz,isProvingExpired:()=>_ht,isTailProofEnabled:()=>ev,noteTailFailure:()=>MS,onTailProven:()=>S1,presentedTailOf:()=>DS,submitTailProof:()=>w1,verdictStateOf:()=>NS,verifyKeyTail:()=>tv,verifyPresentedTail:()=>Eht});function VTe(){return v1(Wi()?.key||"")}function ev(){return!!VTe()}function ZV(t,e){let n=t?JV.get(t):null;return!n||n.keyHead!==e?null:n}function jTe(t,e,n,r=null){if(!t)return;let i=JV.get(t);JV.set(t,{keyHead:e,state:n,reason:r,since:Date.now()}),n!==i?.state&&(n===fo.proven&&vht(t),n===fo.rejected&&Mu.delete(t))}function w1(t,e,{pairing:n=!1}={}){let r=Gn(Wi()?.key||"");if(!t||!ev()&&!n)return!1;if(n?VV(e):tv(e))return jTe(t,r,fo.proven),k7(t,r),XV.info(`[seal] proof accepted: device=${t.slice(0,8)}`),!0;let s=e===null?Kr.sealUnreadable:Kr.mismatch;return jTe(t,r,fo.rejected,s),XV.warn(`[seal] proof rejected (${s}): device=${t.slice(0,8)}`),!1}function _ht(t){let e=ZV(t,Gn(Wi()?.key||""));return!!e&&e.state===fo.proving&&Date.now()-e.since>QV}function NS(t){return ZV(t,Gn(Wi()?.key||""))?.state||null}function S1(t,e,n){if(!t||!ev()||NS(t)===fo.proven)return e();Mu.has(t)||Mu.set(t,new Set),Mu.get(t).add(e),n&&setTimeout(()=>{let r=Mu.get(t);r?.delete(e)&&(r.size||Mu.delete(t),n())},QV)}function vht(t){let e=Mu.get(t);if(e){Mu.delete(t);for(let n of e)try{n()}catch{}}}function ez(t){Mu.delete(t)}function MS(t){let e=Date.now(),n=(HTe.get(t)||[]).filter(i=>e-i<ght);n.push(e),HTe.set(t,n);let r=n.length-pht;return r<=0?0:Math.min(hht*2**(r-1),mht)}function Eht({tail:t,tempKey:e}={}){let n=!!e;return!n&&!ev()?{ok:!0}:t?(n?VV(t):tv(t))?{ok:!0}:{ok:!1,reason:Kr.mismatch,penaltyMs:MS(Gn(Wi()?.key||""))}:{ok:!1,reason:Kr.mismatch,penaltyMs:0}}function nz(t,e,{provenSocket:n=!1,tempKey:r=null}={}){let i=Gn(Wi()?.key||""),s=u0(t);if(s===Gi.rejected)return{step:"authz",decision:vr.reject,reason:"device-rejected"};let o=!!r&&!gT(t);if(o){let a=OS();XV.info(`[pair] device=${t?.slice(0,8)} presented=${e===void 0?"none":String(e).length+"ch"} liveCode=${a?"yes":"no"} liveTail=${a?.tail?String(a.tail).length+"ch":"none"} match=${e===void 0?"n/a":_1(String(e))}`)}if(ev()||o){let a=ZV(t,i);if(a?.state===fo.rejected&&e===void 0)return{step:"auth",decision:vr.reject,reason:a.reason};let c=u=>o?_1(u):tv(u);if(!(n||a?.state===fo.proven||e!==void 0&&c(e)))return e!==void 0?{step:"auth",decision:vr.reject,reason:e===null?Kr.sealUnreadable:Kr.mismatch}:{step:"auth",decision:vr.hold,reason:"awaiting-proof"}}return s===Gi.approved||s===Gi.auto?{step:"authz",decision:vr.admit}:{step:"authz",decision:vr.hold,reason:"host-decides"}}function tv(t){let e=VTe();if(!e||!t)return!1;let n=Buffer.from(String(t),"utf8"),r=Buffer.from(e,"utf8");return n.length===r.length&&WTe.default.timingSafeEqual(n,r)}function DS(t,e){let n=t?.keyTailSealed;return n!==void 0?!n||typeof n!="object"||Array.isArray(n)?null:e(n)??null:t?.keyTail}function rz(t,e){let n=t?.data?.auth?.deviceId||t.handshake?.auth?.deviceId||t.deviceId||null,i=!!(t.handshake?.auth?.tempKey||e?.tempKey||null)&&!!OS();if(!n||!ev()&&!i)return!0;let s=DS(e,Jv);return s===void 0||w1(n,s,{pairing:i})?!0:(t.data.tailReject={reason:s===null?Kr.sealUnreadable:Kr.mismatch,penaltyMs:MS(Gn(Wi()?.key||""))},!1)}function x1(t,e){if(t.data?.tailRejectFinished)return;t.data.tailRejectFinished=!0;let{reason:n,penaltyMs:r=0}=t.data?.tailReject||{},i=YV>=yht,s=i?0:r;i||YV++,setTimeout(()=>{i||YV--;try{t.emit("device:tailRejected",{reason:n}),t.disconnect()}catch{}e?.()},s)}var WTe,XV,pht,hht,mht,ght,yht,HTe,YV,JV,QV,Mu,tz,iz=ae(()=>{WTe=ce(require("crypto"),1);ot();d0();zV();Hi();kd();ff();Qv();XV=be("deviceAuth");pht=5,hht=1e3,mht=60*1e3,ght=3600*1e3,yht=20,HTe=new Map,YV=0,JV=new Map,QV=2e4;Mu=new Map;tz=QV});var Vr,b1,LS=ae(()=>{Vr={authenticating:"authenticating",awaitingHost:"awaitingHost",active:"active",closed:"closed"},b1=new Set(["device:tailProof","device:clientReady","disconnect"])});var KTe,T1,YTe=ae(()=>{KTe=require("events");LS();T1=class extends KTe.EventEmitter{constructor({deviceId:e,peerId:n=null,apiKey:r=null}){super(),this.setMaxListeners(0),this.deviceId=e,this.peerId=n||e,this.apiKey=r,this.createdAt=Date.now(),this.data={},this._state=Vr.authenticating,this._carriers=new Map}get state(){return this._state}get active(){return this._state===Vr.active}get closed(){return this._state===Vr.closed}get carrierIds(){return[...this._carriers.keys()]}get connected(){for(let e of this._carriers.values())if(e?.ready)return!0;return!1}attach(e,n){if(this.closed)return!1;let r=this._carriers.get(e);return r&&r!==n&&this._detachOne(e,r),this._carriers.set(e,n),this.emit("carrierAttached",e,n),!0}detach(e){let n=this._carriers.get(e);return n?(this._detachOne(e,n),!0):!1}_detachOne(e,n){this._carriers.delete(e),this.emit("carrierDetached",e,n)}hasCarrier(e){return this._carriers.has(e)}carrier(e){return this._carriers.get(e)||null}allows(e){return this.active?!0:this.closed?!1:b1.has(e)}keyProven(){return this._state!==Vr.authenticating?!1:this._transition(Vr.awaitingHost,"key-proven")}hostAllowed(){return this._state!==Vr.awaitingHost?!1:this._transition(Vr.active,"host-allowed")}close(e="closed"){if(this.closed)return!1;for(let[n,r]of[...this._carriers])this._detachOne(n,r);return this._transition(Vr.closed,e)}_transition(e,n){let r=this._state;return this._state=e,this.emit("state",{from:r,to:e,reason:n,deviceId:this.deviceId}),!0}toJSON(){return{deviceId:this.deviceId,peerId:this.peerId,state:this._state,carriers:this.carrierIds,createdAt:this.createdAt}}}});var A1,XTe=ae(()=>{YTe();LS();A1=class{constructor(){this._byPeer=new Map,this._byDevice=new Map}open({deviceId:e,peerId:n,apiKey:r}){let i=n||e,s=this._byPeer.get(i);if(s&&!s.closed)return s;let o=new T1({deviceId:e,peerId:i,apiKey:r});return this._byPeer.set(i,o),this._byDevice.has(e)||this._byDevice.set(e,new Set),this._byDevice.get(e).add(i),o.on("state",a=>{a.to===Vr.closed&&this.delete(i)}),o}get(e){let n=this._byPeer.get(e);return n&&!n.closed?n:null}forDevice(e){let n=this._byDevice.get(e);if(!n)return[];let r=[];for(let i of n){let s=this._byPeer.get(i);s&&!s.closed&&r.push(s)}return r}closeDevice(e,n){let r=this.forDevice(e);for(let i of r)i.close(n);return r.length}delete(e){let n=this._byPeer.get(e);if(!n)return!1;this._byPeer.delete(e);let r=this._byDevice.get(n.deviceId);return r&&(r.delete(e),r.size||this._byDevice.delete(n.deviceId)),!0}get size(){return this._byPeer.size}all(){return[...this._byPeer.values()]}}});function JTe(t,e){return!t||t.closed?{effects:[]}:e.decision===vr.reject?{effects:["refuse"],reason:e.reason||Kr.mismatch}:e.decision===vr.hold&&e.step==="auth"?t.state===Vr.authenticating?{effects:["open-auth-channel"],reason:e.reason}:{effects:[],reason:e.reason}:(t.state===Vr.authenticating&&t.keyProven(),e.decision===vr.hold?{effects:["ask-host"],reason:e.reason}:(t.state===Vr.awaitingHost&&t.hostAllowed(),{effects:t.active?["start-session"]:[]}))}var QTe=ae(()=>{LS();Hi()});function Qa(){try{let t=(0,tAe.join)(Oe.ROOT,"keys.json");return JSON.parse((0,eAe.readFileSync)(t,"utf8")).key||null}catch{return null}}function Fa(){return Xs}function US(t){return t.carrier||{id:"ws",ip:t.handshake?.headers?.["x-forwarded-for"]||t.handshake?.address||"unknown",pendingId:t.id}}function er(t){return t?.data?.auth||t?.handshake?.auth||null}function oz(t,e){let n=t?DS(er(t),Jv):void 0,r=nz(e,n,{provenSocket:t?.data?.provenDevice===!0,tempKey:er(t)?.tempKey||null});Tr.info(`gate: device=${e?.slice(0,8)??"none"} step=${r.step} decision=${r.decision}${r.reason?` reason=${r.reason}`:""} carrier=${t?US(t).id:"signaling"}`);let i=!!er(t)?.tempKey,s=r.step==="authz"&&!i;return t&&n!==void 0&&(s||r.step==="auth")&&w1(e,n,{pairing:i}),t&&r.decision===vr.reject&&r.step==="auth"&&(t.data.tailReject=t.data.tailReject||{reason:r.reason,penaltyMs:MS(Gn(Qa()||""))}),r}function Sht(t){t.data.authHandlersReady||(t.data.authHandlersReady=!0,t.on("device:tailProof",e=>{let n=er(t)?.deviceId;e?.tempKey&&t.data&&(t.data.auth||(t.data.auth={}),t.data.auth.tempKey=e.tempKey);try{let r=rz(t,e);Tr.info(`tailProof: device=${n?.slice(0,8)} carrier=${US(t).id} accepted=${r}`),r||nv(t,n)}catch(r){Tr.warn(`tailProof handler failed: ${r.message}`)}}))}async function FS(t){if(er(t)?.tempKey&&(Tr.info("one-time key used \u2014 clearing from UI"),fT()),await Tht(t),Sht(t),!t.data.localUi){let e=er(t)?.deviceId||null,n=Aht(t);if(!n)return;let{id:r}=US(t);n.attach(r,t.data.protocol?._adapters?.get(r)||null);let i=oz(t,e),{effects:s,reason:o}=JTe(n,i);if(Tr.info(`flow: device=${e?.slice(0,8)} state=${n.state} effects=[${s.join(",")}]${o?` reason=${o}`:""}`),Yt(`[auth] ${e?.slice(0,8)}: ${n.state} \u2192 ${s.join(",")||"wait"}`),s.includes("refuse")){nv(t,e,o);return}if(s.includes("open-auth-channel")){t.data.awaitingProof||(t.data.awaitingProof=!0,S1(e,()=>{t.data.awaitingProof=!1,t.connected&&FS(t).catch(()=>{})},()=>nv(t,e,Kr.timeout)));return}if(s.includes("ask-host")){let a=US(t);fz(e,{socketId:a.pendingId,ip:a.ip,peerId:t.peerId,notify:()=>Zh(t,"device:pendingApproval")});return}if(!s.includes("start-session"))return;u0(e)===Gi.auto&&(yT(e),Sg(e),Jn("deviceApproval",{action:"refresh"}))}await bht(t)}function xht(t){if(!er(t)?.tempKey)return;let e=v1(Qa()||"");e&&uz(t,()=>{Zh(t,"device:keyIssued",{tail:e}),Tr.info(`key issued to paired device=${er(t)?.deviceId?.slice(0,8)}`)})}function nAe(t){if(!t.connected||!t.data?.conn?.active&&!t.data?.localUi||!t.data?.clientReady)return;R1(t),xht(t);let e=qf._buildServerInfo?.();e&&t.emit("serverInfo",e),t.emit("srvCaps",{env2:1,fragCtl:1}),t.emit("tunnel:updated",uT())}async function bht(t){t.data.sessionReady||(t.data.sessionReady=!0,t.data.approved=!0,Iye(t),Pye(t),m_e(t),S_e(t),tve(t,Xs),PTe(t),await Sq(t,Xs,Qa()),nAe(t),t.emit("terminal:ready"))}async function Tht(t){if(t.data.protocol)return;let{webrtc:e,streaming:n}=Te,r=new vT(t,{enableWebRTC:e.enableWebRTC,enableTurn:e.enableTurn??!1,apiKey:Gn(Qa()),turnApiUrl:e.turnApiUrl||null,turnRefreshInterval:e.turnRefreshInterval,dcMaxMessageSize:e.dcMaxMessageSize,dcChunkSize:e.dcChunkSize,dcMaxTilesPerFrame:e.dcMaxTilesPerFrame,answerTimeout:e.answerTimeout,maxControlBuffer:e.maxControlBuffer,wsChunkSize:n.chunkSize,signaling:{deviceId:t.peerId||er(t)?.peerId||er(t)?.deviceId||null,doUrl:e.signalingDoUrl,apiKey:Qa()}});t.data.protocol=r,t.defersWsAdapter&&(r._onDead=()=>{Tr.debug(`[diag] _onDead fired peer=${(t.peerId||"").slice(0,12)} \u2014 rtc never returned in grace`),Ti(`RTC session closed: ${er(t)?.deviceId?.slice(0,8)}...`);try{r.close()}catch{}mp(r),t.disconnect()}),i7(r),r.attachAsBus(t);try{await r.init()}catch(i){console.error("[transport] pm init failed:",i.message)}}function Aht(t){let e=er(t)?.deviceId||null;if(!e)return null;let n=t.peerId||er(t)?.peerId||e,r=t.data.conn;if(r&&!r.closed)return r;let i=az.open({deviceId:e,peerId:n,apiKey:Qa()});return t.data.conn=i,i}function XD(){return cz}function E7(t){if(cz=t,!t){l7();return}a7();for(let e of[...Ys.keys()])rv(e),Ti(`RTC test-disabled: killed session ${e?.slice(0,8)}`)}function uz(t,e){t.data.clientReady?e():t.once("device:clientReady",e)}function rAe(t){t.data.clientReady=!1,t.on("device:clientReady",()=>{t.data.clientReady=!0,nAe(t)})}function Cht(t){if(!t)return;if(cz){C1(t,{type:"error",message:"rtc-disabled"});return}let e=t.split(":")[0],n=Ys.get(t);if(n){if(!n.data.protocol?._closed)return;Ti(`Stale RTC session ${e.slice(0,8)} \u2014 rebuilding`),rv(t)}let r=Rht(t),i=oz(null,e);if(i.decision===vr.hold&&i.step==="auth")return r?void 0:(Tr.info(`rtc-offer: building session so the TAIL proof has a road device=${e.slice(0,8)}`),void sz(t,e));switch(i.decision){case vr.admit:return r?void 0:void sz(t,e);case vr.reject:rL(e,ZTe(t),"rtc"),C1(t,{type:"error",message:tg.rejected}),Fb(t),Yt(`Rejected device via RTC: ${e.slice(0,8)} \u2014 waiting in Clients list`),Jn("deviceApproval",{action:"refresh"});return;default:fz(e,{socketId:ZTe(t),ip:"rtc",peerId:t,notify:()=>C1(t,{type:"error",message:tg.pending})})}}function fz(t,{socketId:e,ip:n,peerId:r,notify:i}){if(i(),O7(t)){Yt(`[auth] already pending, not asking twice: ${t?.slice(0,8)}`);return}eL(e,{deviceId:t,ip:n,...r?{peerId:r}:{}}),Tr.info(`asking host: device=${t?.slice(0,8)} via=${r?"rtc":"ws"}`),Yt(`[auth] ASKING HOST: ${t?.slice(0,8)} via=${r?"rtc":"ws"} socketId=${e}`),Yt(`Device needs approval: ${t?.slice(0,8)||"no-id"}`),Jn("deviceApproval",{socketId:e,deviceId:t,ip:n,action:"pending"})}function Rht(t){for(let e of Xs?.sockets.sockets.values()||[])if(e.connected&&er(e)?.peerId===t)return!0;return!1}function Zh(t,e,...n){let r=t.data?.protocol;r&&!r._closed&&r.emitEverywhere(e,...n)||t.emit(e,...n)}function R1(t){let e=()=>{t.connected&&uz(t,()=>Zh(t,"device:approved"))};if(t.data.localUi)return e();let n=t.data.conn;if(n?.active)return e();if(n)return void n.on("state",function r(i){i.to===Vr.closed&&n.off("state",r),i.to===Vr.active&&(n.off("state",r),e())})}function iAe(t){return t.data.approved||t.data.unlocking?Promise.resolve():(t.data.unlocking=!0,R1(t),FS(t).catch(n=>Yt(`Feature setup failed: ${n.message}`)).finally(()=>{t.data.unlocking=!1}))}async function sAe(t){if(!t)return;let e=f0(t);e&&_p(e);let n=[];for(let r of Xs?.sockets.sockets.values()||[])er(r)?.deviceId!==t||r.data.approved||n.push(iAe(r));for(let r of Ys.values())er(r)?.deviceId!==t||r.data.approved||n.push(FS(r).catch(i=>Yt(`Connection resume failed: ${i.message}`)));await Promise.allSettled(n);for(let r of qX(t))sz(r,t)}function nv(t,e,n){Tr.debug(`[diag] rejectDeviceTail device=${e?.slice(0,8)} reason=${n}`),t.data.tailReject=t.data.tailReject||{reason:n,penaltyMs:0};let r=t.data.tailReject.reason;Tr.warn(`tail rejected (${r}): device=${e?.slice(0,8)??"none"} carrier=${US(t).id}`),Yt(`Device refused (${r}): ${e?.slice(0,8)}`),er(t)?.tempKey&&r===Kr.mismatch&&(Tr.warn("one-time key burned (wrong TAIL) \u2014 clearing from UI"),fT()),x1(t,()=>{t.defersWsAdapter&&rv(t.peerId),oAe(e,r)})}function oAe(t,e){if(Tr.debug(`[diag] revokeDevice device=${t?.slice(0,8)} reason=${e}`),!!t){ez(t),_p(f0(t)||""),az.closeDevice(t,e);for(let n of Xs?.sockets.sockets.values()||[])er(n)?.deviceId===t&&(n.data.tailReject=n.data.tailReject||{reason:e,penaltyMs:0},x1(n));for(let[n,r]of Ys)er(r)?.deviceId===t&&(r.data?.tailReject||rv(n))}}function aAe(t){let e=tL(t);if(e)return{key:t,...e};let n=lz(t)?.split(":")[0]||er(Xs?.sockets.sockets.get(t)||null)?.deviceId||null,r=n?f0(n):null,i=r?tL(r):null;return i?{key:r,...i}:null}function rv(t){let e=t?Ys.get(t):null;if(!e)return;let n=e.data?.protocol;Ys.delete(t);try{e.disconnect()}catch{}if(n){try{n.close()}catch{}mp(n)}}function sz(t,e){Iht(t,e).catch(n=>{rv(t),Yt(`RTC session failed: ${n.message}`)})}async function Iht(t,e){if(Ys.has(t))return;let n=new Bb({deviceId:e,peerId:t,apiKey:Qa()});n.data.approved=!1,n.data.rtcSession=!0,n.data.conn=az.open({deviceId:e,peerId:t,apiKey:Qa()}),rAe(n);let r;n.data.ready=new Promise(i=>{r=i}),Ys.set(t,n),hT(n.id,"rtc",e,"rtc"),n.on("disconnect",()=>{Tr.debug(`[diag] AgentBus disconnect peer=${(t||"").slice(0,12)} \u2192 untrack + conn.close`),Ys.get(t)===n&&Ys.delete(t),mT(n.id),n.data.conn?.close("carrier-gone"),r()}),Ti(`RTC session: ${e.slice(0,8)}...`);try{await FS(n)}finally{r()}setTimeout(()=>{Ys.get(t)===n&&NS(e)!==fo.proven&&(Yt(`Device never proved its TAIL: ${e.slice(0,8)} \u2014 dropping session`),nv(n,e,Kr.timeout))},tz+1e3),R1(n)}function cAe(t){if(!Xs)return!1;let e=aAe(t);return e?NS(e.deviceId)===fo.rejected?(Tr.warn(`approve refused \u2014 TAIL was rejected: device=${e.deviceId.slice(0,8)}`),Yt(`Cannot approve ${e.deviceId.slice(0,8)} \u2014 wrong access key`),_p(e.key),oAe(e.deviceId,Kr.mismatch),Jn("deviceApproval",{action:"refresh"}),!1):(yT(e.deviceId),Sg(e.deviceId),Yt(`Device approved: ${e.deviceId.slice(0,8)}...`),sAe(e.deviceId),Jn("deviceApproval",{action:"refresh"}),!0):!1}function lAe(t){return!Xs||!t?!1:(yT(t),Sg(t),Yt(`Device approved from pending: ${t.slice(0,8)}...`),sAe(t),Jn("deviceApproval",{action:"refresh"}),!0)}function I1(t){Tr.debug(`[diag] disconnectDeviceSockets device=${t?.slice(0,8)} \u2014 stack hint: ${new Error().stack.split(`
|
|
493
493
|
`)[2]?.trim()?.slice(0,90)}`);let e=Xs;if(!e||!t)return 0;let n=0;for(let r of e.sockets.sockets.values())er(r)?.deviceId===t&&(r.disconnect(!0),n++);for(let r of s7())r._closed||r._deviceId?.split(":")[0]===t&&(s0(r),n++);for(let[r,i]of Ys)if(r.split(":")[0]===t){try{i.data.protocol?.close()}catch{}mp(i.data.protocol),Fb(r),i.disconnect(),n++}return n&&Ti(`Disconnected ${n} socket(s) for device ${t.slice(0,8)}...`),n}function uAe(t){if(!Xs)return!1;let e=aAe(t),n=Xs.sockets.sockets.get(t);_p(e?.key||t),e?.deviceId&&M7(e.deviceId,{ip:e.ip,socketId:t}),n&&(Zh(n,"device:rejected"),n.disconnect(!0));let r=e?.peerId||lz(t);return r&&(C1(r,{type:"error",message:tg.rejected}),Fb(r)),Jn("deviceApproval",{action:"refresh"}),Yt(`Device rejected: ${e?.deviceId?.slice(0,8)||"unknown"}...`),!0}async function fAe(t){T7(),L7(),Hv(Gn(Qa())),setInterval(()=>{let r=Gn(Qa());r&&Hv(r)},wht),FX(Cht),Lb(()=>gg());let e=new NX(t,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},allowRequest:(r,i)=>i(null,!mx(r.headers.host)),transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:3e4,pingInterval:12e3,maxHttpBufferSize:1e8,perMessageDeflate:{threshold:1024}}),n=await iZ();return RD(n),e.on("connection",r=>{$X("client-connected");let i=r.handshake.headers["x-forwarded-for"]||r.handshake.address||"unknown",s=er(r)?.deviceId||null;rAe(r),r.data.approved=!1,r.use((p,m)=>{if(r.data.localUi)return m();let g=r.data.conn;return g?g.allows(p[0])?m():m(new Error("Device not approved")):b1.has(p[0])?m():m(new Error("Device not approved"))});let o=r.handshake.address||"",a=o==="127.0.0.1"||o==="::1"||o==="::ffff:127.0.0.1",c=!!r.handshake.headers["cf-connecting-ip"],l=r.handshake.headers.origin,u=!l||Yd.includes(l);if(!c&&a&&u&&KX(r.handshake.auth?.localToken)){r.data.approved=!0,r.data.localUi=!0,Ti("Local UI connected \u2014 trusted (token)"),FS(r).catch(p=>Yt(`Feature setup failed: ${p.message}`));return}if(s===Kd){Yt(`Rejected untrusted local-ui socket from ${i}`),r.disconnect(!0);return}if(!c&&a&&u&&s&&!gT(s)){let p=DS(er(r),Jv);p&&tv(p)&&u0(s)===Gi.unknown&&(C7(s),Tr.info(`loopback workspace device admitted for this session (key TAIL verified): ${s.slice(0,8)}`),Ti(`Loopback workspace admitted (session): ${s.slice(0,8)} (key TAIL verified)`))}hT(r.id,i,s),Ti(`Client connected: ${i} (device: ${s?.slice(0,8)||"none"})`),r.on("disconnect",p=>{mT(r.id),_p(r.id);let m=r.data?.conn;m&&(m.detach("ws"),m.connected||m.close("carrier-gone"));let g=r.data?.protocol;Ti(`Client disconnected: ${i} (${p}) pm=${g?._deviceId?.slice(0,12)||"none"} remoteAttached=${!!r.data?.remoteAttached}`),g&&!r.data?.remoteAttached&&s0(g)});let f=()=>{if(!r.connected)return;let p=r.handshake.auth?.peerId||null,m=()=>{if(r.data.approved)return;let S=f0(s);if(S&&!lz(S)){Ti(`Device ${s?.slice(0,8)} already pending, ignoring duplicate`),r.disconnect(!0);return}let T=!!S;S&&_p(S),uz(r,()=>{if(!(r.data.approved||!r.connected)){if(T){eL(r.id,{deviceId:s,ip:i}),Zh(r,"device:pendingApproval");return}fz(s,{socketId:r.id,ip:i,notify:()=>Zh(r,"device:pendingApproval")})}})},g=S=>{let T=S.data.conn;r.data.conn=T,r.data.approved=!!T?.active,r.data.rtcHost=S,Promise.resolve(S.data.ready).then(()=>S.data.protocol?.attachSocket(r)).then(()=>T?.attach("ws",S.data.protocol?._adapters?.get("ws")||null)).then(()=>{T?.active&&r.emit("terminal:ready")}).catch(R=>Yt(`RTC session attachSocket failed: ${R.message}`)),Ti(`Tunnel attached to RTC session: ${s.slice(0,8)}...`),R1(r)},y=p?Ys.get(p):null;if(!y&&p&&!r.data._rtcWaited&&HX(p)){r.data._rtcWaited=!0,Ti(`WS first, RTC offer pending \u2192 grace 500ms (device ${s.slice(0,8)})`),setTimeout(f,500);return}let w=oz(r,s);if(w.decision===vr.hold&&w.step==="auth"){Tr.info(`route: awaiting TAIL proof device=${s?.slice(0,8)||"no-id"}`),S1(s,()=>f(),()=>{nv(r,s,Kr.timeout)});return}switch(w.decision){case vr.admit:if(y)return void g(y);Ti(`Device admitted: ${s?.slice(0,8)}...`),iAe(r);return;case vr.reject:{if(r.data?.tailReject)return void nv(r,s);rL(s,r.id,i),Yt(`Rejected device reconnected: ${s.slice(0,8)} \u2014 waiting in Clients list`),Zh(r,"device:rejected"),Jn("deviceApproval",{action:"refresh"});return}default:Tr.info(`route: hold for approval device=${s?.slice(0,8)||"no-id"}`),Yt(`Device needs approval: ${s?.slice(0,8)||"no-id"}`),m()}};f()}),qf(e,Qa()),Xs=e,e}var eAe,tAe,Tr,wht,Xs,Ys,az,cz,ZTe,lz,C1,hf=ae(()=>{MX();eAe=require("fs"),tAe=require("path");jv();WX();Mt();qb();hO();F7();Hi();Vi();Mr();Na();BT();kye();Oye();g_e();x_e();nve();OTe();mo();d0();iz();Qv();Hi();kd();ot();XTe();QTe();LS();Tr=be("transport");wht=5e3,Xs=null;Ys=new Map,az=new A1;cz=!1;ZTe=t=>`rtc-${t}`,lz=t=>t.startsWith("rtc-")?t.slice(4):null,C1=(t,e)=>Ub({...e,to:t});c7(rv)});var _Ae=B((BS,dz)=>{(function(t,e){typeof BS=="object"&&typeof dz=="object"?dz.exports=e(require("child_process"),require("crypto")):typeof define=="function"&&define.amd?define(["child_process","crypto"],e):typeof BS=="object"?BS["electron-machine-id"]=e(require("child_process"),require("crypto")):t["electron-machine-id"]=e(t.child_process,t.crypto)})(BS,function(t,e){return(function(n){function r(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return n[s].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var i={};return r.m=n,r.c=i,r.p="",r(0)})([function(n,r,i){n.exports=i(34)},function(n,r,i){var s=i(29)("wks"),o=i(33),a=i(2).Symbol,c=typeof a=="function",l=n.exports=function(u){return s[u]||(s[u]=c&&a[u]||(c?a:o)("Symbol."+u))};l.store=s},function(n,r){var i=n.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();typeof __g=="number"&&(__g=i)},function(n,r,i){var s=i(9);n.exports=function(o){if(!s(o))throw TypeError(o+" is not an object!");return o}},function(n,r,i){n.exports=!i(24)(function(){return Object.defineProperty({},"a",{get:function(){return 7}}).a!=7})},function(n,r,i){var s=i(12),o=i(17);n.exports=i(4)?function(a,c,l){return s.f(a,c,o(1,l))}:function(a,c,l){return a[c]=l,a}},function(n,r){var i=n.exports={version:"2.4.0"};typeof __e=="number"&&(__e=i)},function(n,r,i){var s=i(14);n.exports=function(o,a,c){if(s(o),a===void 0)return o;switch(c){case 1:return function(l){return o.call(a,l)};case 2:return function(l,u){return o.call(a,l,u)};case 3:return function(l,u,f){return o.call(a,l,u,f)}}return function(){return o.apply(a,arguments)}}},function(n,r){var i={}.hasOwnProperty;n.exports=function(s,o){return i.call(s,o)}},function(n,r){n.exports=function(i){return typeof i=="object"?i!==null:typeof i=="function"}},function(n,r){n.exports={}},function(n,r){var i={}.toString;n.exports=function(s){return i.call(s).slice(8,-1)}},function(n,r,i){var s=i(3),o=i(26),a=i(32),c=Object.defineProperty;r.f=i(4)?Object.defineProperty:function(l,u,f){if(s(l),u=a(u,!0),s(f),o)try{return c(l,u,f)}catch{}if("get"in f||"set"in f)throw TypeError("Accessors not supported!");return"value"in f&&(l[u]=f.value),l}},function(n,r,i){var s=i(42),o=i(15);n.exports=function(a){return s(o(a))}},function(n,r){n.exports=function(i){if(typeof i!="function")throw TypeError(i+" is not a function!");return i}},function(n,r){n.exports=function(i){if(i==null)throw TypeError("Can't call method on "+i);return i}},function(n,r,i){var s=i(9),o=i(2).document,a=s(o)&&s(o.createElement);n.exports=function(c){return a?o.createElement(c):{}}},function(n,r){n.exports=function(i,s){return{enumerable:!(1&i),configurable:!(2&i),writable:!(4&i),value:s}}},function(n,r,i){var s=i(12).f,o=i(8),a=i(1)("toStringTag");n.exports=function(c,l,u){c&&!o(c=u?c:c.prototype,a)&&s(c,a,{configurable:!0,value:l})}},function(n,r,i){var s=i(29)("keys"),o=i(33);n.exports=function(a){return s[a]||(s[a]=o(a))}},function(n,r){var i=Math.ceil,s=Math.floor;n.exports=function(o){return isNaN(o=+o)?0:(o>0?s:i)(o)}},function(n,r,i){var s=i(11),o=i(1)("toStringTag"),a=s((function(){return arguments})())=="Arguments",c=function(l,u){try{return l[u]}catch{}};n.exports=function(l){var u,f,p;return l===void 0?"Undefined":l===null?"Null":typeof(f=c(u=Object(l),o))=="string"?f:a?s(u):(p=s(u))=="Object"&&typeof u.callee=="function"?"Arguments":p}},function(n,r){n.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(n,r,i){var s=i(2),o=i(6),a=i(7),c=i(5),l="prototype",u=function(f,p,m){var g,y,w,S=f&u.F,T=f&u.G,R=f&u.S,C=f&u.P,D=f&u.B,q=f&u.W,G=T?o:o[p]||(o[p]={}),V=G[l],L=T?s:R?s[p]:(s[p]||{})[l];T&&(m=p);for(g in m)y=!S&&L&&L[g]!==void 0,y&&g in G||(w=y?L[g]:m[g],G[g]=T&&typeof L[g]!="function"?m[g]:D&&y?a(w,s):q&&L[g]==w?(function(k){var E=function(A,N,I){if(this instanceof k){switch(arguments.length){case 0:return new k;case 1:return new k(A);case 2:return new k(A,N)}return new k(A,N,I)}return k.apply(this,arguments)};return E[l]=k[l],E})(w):C&&typeof w=="function"?a(Function.call,w):w,C&&((G.virtual||(G.virtual={}))[g]=w,f&u.R&&V&&!V[g]&&c(V,g,w)))};u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,n.exports=u},function(n,r){n.exports=function(i){try{return!!i()}catch{return!0}}},function(n,r,i){n.exports=i(2).document&&document.documentElement},function(n,r,i){n.exports=!i(4)&&!i(24)(function(){return Object.defineProperty(i(16)("div"),"a",{get:function(){return 7}}).a!=7})},function(n,r,i){"use strict";var s=i(28),o=i(23),a=i(57),c=i(5),l=i(8),u=i(10),f=i(45),p=i(18),m=i(52),g=i(1)("iterator"),y=!([].keys&&"next"in[].keys()),w="@@iterator",S="keys",T="values",R=function(){return this};n.exports=function(C,D,q,G,V,L,k){f(q,D,G);var E,A,N,I=function(J){if(!y&&J in M)return M[J];switch(J){case S:return function(){return new q(this,J)};case T:return function(){return new q(this,J)}}return function(){return new q(this,J)}},P=D+" Iterator",F=V==T,X=!1,M=C.prototype,b=M[g]||M[w]||V&&M[V],$=b||I(V),pe=V?F?I("entries"):$:void 0,oe=D=="Array"&&M.entries||b;if(oe&&(N=m(oe.call(new C)),N!==Object.prototype&&(p(N,P,!0),s||l(N,g)||c(N,g,R))),F&&b&&b.name!==T&&(X=!0,$=function(){return b.call(this)}),s&&!k||!y&&!X&&M[g]||c(M,g,$),u[D]=$,u[P]=R,V)if(E={values:F?$:I(T),keys:L?$:I(S),entries:pe},k)for(A in E)A in M||a(M,A,E[A]);else o(o.P+o.F*(y||X),D,E);return E}},function(n,r){n.exports=!0},function(n,r,i){var s=i(2),o="__core-js_shared__",a=s[o]||(s[o]={});n.exports=function(c){return a[c]||(a[c]={})}},function(n,r,i){var s,o,a,c=i(7),l=i(41),u=i(25),f=i(16),p=i(2),m=p.process,g=p.setImmediate,y=p.clearImmediate,w=p.MessageChannel,S=0,T={},R="onreadystatechange",C=function(){var q=+this;if(T.hasOwnProperty(q)){var G=T[q];delete T[q],G()}},D=function(q){C.call(q.data)};g&&y||(g=function(q){for(var G=[],V=1;arguments.length>V;)G.push(arguments[V++]);return T[++S]=function(){l(typeof q=="function"?q:Function(q),G)},s(S),S},y=function(q){delete T[q]},i(11)(m)=="process"?s=function(q){m.nextTick(c(C,q,1))}:w?(o=new w,a=o.port2,o.port1.onmessage=D,s=c(a.postMessage,a,1)):p.addEventListener&&typeof postMessage=="function"&&!p.importScripts?(s=function(q){p.postMessage(q+"","*")},p.addEventListener("message",D,!1)):s=R in f("script")?function(q){u.appendChild(f("script"))[R]=function(){u.removeChild(this),C.call(q)}}:function(q){setTimeout(c(C,q,1),0)}),n.exports={set:g,clear:y}},function(n,r,i){var s=i(20),o=Math.min;n.exports=function(a){return a>0?o(s(a),9007199254740991):0}},function(n,r,i){var s=i(9);n.exports=function(o,a){if(!s(o))return o;var c,l;if(a&&typeof(c=o.toString)=="function"&&!s(l=c.call(o))||typeof(c=o.valueOf)=="function"&&!s(l=c.call(o))||!a&&typeof(c=o.toString)=="function"&&!s(l=c.call(o)))return l;throw TypeError("Can't convert object to primitive value")}},function(n,r){var i=0,s=Math.random();n.exports=function(o){return"Symbol(".concat(o===void 0?"":o,")_",(++i+s).toString(36))}},function(n,r,i){"use strict";function s(R){return R&&R.__esModule?R:{default:R}}function o(){return process.platform!=="win32"?"":process.arch==="ia32"&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"}function a(R){return(0,g.createHash)("sha256").update(R).digest("hex")}function c(R){switch(w){case"darwin":return R.split("IOPlatformUUID")[1].split(`
|
|
494
|
-
`)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return R.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return R.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return R.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function l(R){var C=c((0,m.execSync)(T[w]).toString());return R?C:a(C)}function u(R){return new p.default(function(C,D){return(0,m.exec)(T[w],{},function(q,G,V){if(q)return D(new Error("Error while obtaining machine id: "+q.stack));var L=c(G.toString());return C(R?L:a(L))})})}Object.defineProperty(r,"__esModule",{value:!0});var f=i(35),p=s(f);r.machineIdSync=l,r.machineId=u;var m=i(70),g=i(71),y=process,w=y.platform,S={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},T={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:S[o()]+"\\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(n,r,i){n.exports={default:i(36),__esModule:!0}},function(n,r,i){i(66),i(68),i(69),i(67),n.exports=i(6).Promise},function(n,r){n.exports=function(){}},function(n,r){n.exports=function(i,s,o,a){if(!(i instanceof s)||a!==void 0&&a in i)throw TypeError(o+": incorrect invocation!");return i}},function(n,r,i){var s=i(13),o=i(31),a=i(62);n.exports=function(c){return function(l,u,f){var p,m=s(l),g=o(m.length),y=a(f,g);if(c&&u!=u){for(;g>y;)if(p=m[y++],p!=p)return!0}else for(;g>y;y++)if((c||y in m)&&m[y]===u)return c||y||0;return!c&&-1}}},function(n,m,i){var s=i(7),o=i(44),a=i(43),c=i(3),l=i(31),u=i(64),f={},p={},m=n.exports=function(g,y,w,S,T){var R,C,D,q,G=T?function(){return g}:u(g),V=s(w,S,y?2:1),L=0;if(typeof G!="function")throw TypeError(g+" is not iterable!");if(a(G)){for(R=l(g.length);R>L;L++)if(q=y?V(c(C=g[L])[0],C[1]):V(g[L]),q===f||q===p)return q}else for(D=G.call(g);!(C=D.next()).done;)if(q=o(D,V,C.value,y),q===f||q===p)return q};m.BREAK=f,m.RETURN=p},function(n,r){n.exports=function(i,s,o){var a=o===void 0;switch(s.length){case 0:return a?i():i.call(o);case 1:return a?i(s[0]):i.call(o,s[0]);case 2:return a?i(s[0],s[1]):i.call(o,s[0],s[1]);case 3:return a?i(s[0],s[1],s[2]):i.call(o,s[0],s[1],s[2]);case 4:return a?i(s[0],s[1],s[2],s[3]):i.call(o,s[0],s[1],s[2],s[3])}return i.apply(o,s)}},function(n,r,i){var s=i(11);n.exports=Object("z").propertyIsEnumerable(0)?Object:function(o){return s(o)=="String"?o.split(""):Object(o)}},function(n,r,i){var s=i(10),o=i(1)("iterator"),a=Array.prototype;n.exports=function(c){return c!==void 0&&(s.Array===c||a[o]===c)}},function(n,r,i){var s=i(3);n.exports=function(o,a,c,l){try{return l?a(s(c)[0],c[1]):a(c)}catch(f){var u=o.return;throw u!==void 0&&s(u.call(o)),f}}},function(n,r,i){"use strict";var s=i(49),o=i(17),a=i(18),c={};i(5)(c,i(1)("iterator"),function(){return this}),n.exports=function(l,u,f){l.prototype=s(c,{next:o(1,f)}),a(l,u+" Iterator")}},function(n,r,i){var s=i(1)("iterator"),o=!1;try{var a=[7][s]();a.return=function(){o=!0},Array.from(a,function(){throw 2})}catch{}n.exports=function(c,l){if(!l&&!o)return!1;var u=!1;try{var f=[7],p=f[s]();p.next=function(){return{done:u=!0}},f[s]=function(){return p},c(f)}catch{}return u}},function(n,r){n.exports=function(i,s){return{value:s,done:!!i}}},function(n,r,i){var s=i(2),o=i(30).set,a=s.MutationObserver||s.WebKitMutationObserver,c=s.process,l=s.Promise,u=i(11)(c)=="process";n.exports=function(){var f,p,m,g=function(){var T,R;for(u&&(T=c.domain)&&T.exit();f;){R=f.fn,f=f.next;try{R()}catch(C){throw f?m():p=void 0,C}}p=void 0,T&&T.enter()};if(u)m=function(){c.nextTick(g)};else if(a){var y=!0,w=document.createTextNode("");new a(g).observe(w,{characterData:!0}),m=function(){w.data=y=!y}}else if(l&&l.resolve){var S=l.resolve();m=function(){S.then(g)}}else m=function(){o.call(s,g)};return function(T){var R={fn:T,next:void 0};p&&(p.next=R),f||(f=R,m()),p=R}}},function(n,r,i){var s=i(3),o=i(50),a=i(22),c=i(19)("IE_PROTO"),l=function(){},u="prototype",f=function(){var p,m=i(16)("iframe"),g=a.length,y=">";for(m.style.display="none",i(25).appendChild(m),m.src="javascript:",p=m.contentWindow.document,p.open(),p.write("<script>document.F=Object</script"+y),p.close(),f=p.F;g--;)delete f[u][a[g]];return f()};n.exports=Object.create||function(p,m){var g;return p!==null?(l[u]=s(p),g=new l,l[u]=null,g[c]=p):g=f(),m===void 0?g:o(g,m)}},function(n,r,i){var s=i(12),o=i(3),a=i(54);n.exports=i(4)?Object.defineProperties:function(c,l){o(c);for(var u,f=a(l),p=f.length,m=0;p>m;)s.f(c,u=f[m++],l[u]);return c}},function(n,r,i){var s=i(55),o=i(17),a=i(13),c=i(32),l=i(8),u=i(26),f=Object.getOwnPropertyDescriptor;r.f=i(4)?f:function(p,m){if(p=a(p),m=c(m,!0),u)try{return f(p,m)}catch{}if(l(p,m))return o(!s.f.call(p,m),p[m])}},function(n,r,i){var s=i(8),o=i(63),a=i(19)("IE_PROTO"),c=Object.prototype;n.exports=Object.getPrototypeOf||function(l){return l=o(l),s(l,a)?l[a]:typeof l.constructor=="function"&&l instanceof l.constructor?l.constructor.prototype:l instanceof Object?c:null}},function(n,r,i){var s=i(8),o=i(13),a=i(39)(!1),c=i(19)("IE_PROTO");n.exports=function(l,u){var f,p=o(l),m=0,g=[];for(f in p)f!=c&&s(p,f)&&g.push(f);for(;u.length>m;)s(p,f=u[m++])&&(~a(g,f)||g.push(f));return g}},function(n,r,i){var s=i(53),o=i(22);n.exports=Object.keys||function(a){return s(a,o)}},function(n,r){r.f={}.propertyIsEnumerable},function(n,r,i){var s=i(5);n.exports=function(o,a,c){for(var l in a)c&&o[l]?o[l]=a[l]:s(o,l,a[l]);return o}},function(n,r,i){n.exports=i(5)},function(n,r,i){var s=i(9),o=i(3),a=function(c,l){if(o(c),!s(l)&&l!==null)throw TypeError(l+": can't set as prototype!")};n.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(c,l,u){try{u=i(7)(Function.call,i(51).f(Object.prototype,"__proto__").set,2),u(c,[]),l=!(c instanceof Array)}catch{l=!0}return function(f,p){return a(f,p),l?f.__proto__=p:u(f,p),f}})({},!1):void 0),check:a}},function(n,r,i){"use strict";var s=i(2),o=i(6),a=i(12),c=i(4),l=i(1)("species");n.exports=function(u){var f=typeof o[u]=="function"?o[u]:s[u];c&&f&&!f[l]&&a.f(f,l,{configurable:!0,get:function(){return this}})}},function(n,r,i){var s=i(3),o=i(14),a=i(1)("species");n.exports=function(c,l){var u,f=s(c).constructor;return f===void 0||(u=s(f)[a])==null?l:o(u)}},function(n,r,i){var s=i(20),o=i(15);n.exports=function(a){return function(c,l){var u,f,p=String(o(c)),m=s(l),g=p.length;return m<0||m>=g?a?"":void 0:(u=p.charCodeAt(m),u<55296||u>56319||m+1===g||(f=p.charCodeAt(m+1))<56320||f>57343?a?p.charAt(m):u:a?p.slice(m,m+2):(u-55296<<10)+(f-56320)+65536)}}},function(n,r,i){var s=i(20),o=Math.max,a=Math.min;n.exports=function(c,l){return c=s(c),c<0?o(c+l,0):a(c,l)}},function(n,r,i){var s=i(15);n.exports=function(o){return Object(s(o))}},function(n,r,i){var s=i(21),o=i(1)("iterator"),a=i(10);n.exports=i(6).getIteratorMethod=function(c){if(c!=null)return c[o]||c["@@iterator"]||a[s(c)]}},function(n,r,i){"use strict";var s=i(37),o=i(47),a=i(10),c=i(13);n.exports=i(27)(Array,"Array",function(l,u){this._t=c(l),this._i=0,this._k=u},function(){var l=this._t,u=this._k,f=this._i++;return!l||f>=l.length?(this._t=void 0,o(1)):u=="keys"?o(0,f):u=="values"?o(0,l[f]):o(0,[f,l[f]])},"values"),a.Arguments=a.Array,s("keys"),s("values"),s("entries")},function(n,r){},function(n,r,i){"use strict";var s,o,a,c=i(28),l=i(2),u=i(7),f=i(21),p=i(23),m=i(9),g=(i(3),i(14)),y=i(38),w=i(40),S=(i(58).set,i(60)),T=i(30).set,R=i(48)(),C="Promise",D=l.TypeError,G=l.process,q=l[C],G=l.process,V=f(G)=="process",L=function(){},k=!!(function(){try{var oe=q.resolve(1),J=(oe.constructor={})[i(1)("species")]=function(ve){ve(L,L)};return(V||typeof PromiseRejectionEvent=="function")&&oe.then(L)instanceof J}catch{}})(),E=function(oe,J){return oe===J||oe===q&&J===a},A=function(oe){var J;return!(!m(oe)||typeof(J=oe.then)!="function")&&J},N=function(oe){return E(q,oe)?new I(oe):new o(oe)},I=o=function(oe){var J,ve;this.promise=new oe(function(we,Se){if(J!==void 0||ve!==void 0)throw D("Bad Promise constructor");J=we,ve=Se}),this.resolve=g(J),this.reject=g(ve)},P=function(oe){try{oe()}catch(J){return{error:J}}},F=function(oe,J){if(!oe._n){oe._n=!0;var ve=oe._c;R(function(){for(var we=oe._v,Se=oe._s==1,ct=0,Ue=function(U){var K,j,Q=Se?U.ok:U.fail,Z=U.resolve,ee=U.reject,ie=U.domain;try{Q?(Se||(oe._h==2&&b(oe),oe._h=1),Q===!0?K=we:(ie&&ie.enter(),K=Q(we),ie&&ie.exit()),K===U.promise?ee(D("Promise-chain cycle")):(j=A(K))?j.call(K,Z,ee):Z(K)):ee(we)}catch(ne){ee(ne)}};ve.length>ct;)Ue(ve[ct++]);oe._c=[],oe._n=!1,J&&!oe._h&&X(oe)})}},X=function(oe){T.call(l,function(){var J,ve,we,Se=oe._v;if(M(oe)&&(J=P(function(){V?G.emit("unhandledRejection",Se,oe):(ve=l.onunhandledrejection)?ve({promise:oe,reason:Se}):(we=l.console)&&we.error&&we.error("Unhandled promise rejection",Se)}),oe._h=V||M(oe)?2:1),oe._a=void 0,J)throw J.error})},M=function(oe){if(oe._h==1)return!1;for(var J,ve=oe._a||oe._c,we=0;ve.length>we;)if(J=ve[we++],J.fail||!M(J.promise))return!1;return!0},b=function(oe){T.call(l,function(){var J;V?G.emit("rejectionHandled",oe):(J=l.onrejectionhandled)&&J({promise:oe,reason:oe._v})})},$=function(oe){var J=this;J._d||(J._d=!0,J=J._w||J,J._v=oe,J._s=2,J._a||(J._a=J._c.slice()),F(J,!0))},pe=function(oe){var J,ve=this;if(!ve._d){ve._d=!0,ve=ve._w||ve;try{if(ve===oe)throw D("Promise can't be resolved itself");(J=A(oe))?R(function(){var we={_w:ve,_d:!1};try{J.call(oe,u(pe,we,1),u($,we,1))}catch(Se){$.call(we,Se)}}):(ve._v=oe,ve._s=1,F(ve,!1))}catch(we){$.call({_w:ve,_d:!1},we)}}};k||(q=function(oe){y(this,q,C,"_h"),g(oe),s.call(this);try{oe(u(pe,this,1),u($,this,1))}catch(J){$.call(this,J)}},s=function(oe){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},s.prototype=i(56)(q.prototype,{then:function(oe,J){var ve=N(S(this,q));return ve.ok=typeof oe!="function"||oe,ve.fail=typeof J=="function"&&J,ve.domain=V?G.domain:void 0,this._c.push(ve),this._a&&this._a.push(ve),this._s&&F(this,!1),ve.promise},catch:function(oe){return this.then(void 0,oe)}}),I=function(){var oe=new s;this.promise=oe,this.resolve=u(pe,oe,1),this.reject=u($,oe,1)}),p(p.G+p.W+p.F*!k,{Promise:q}),i(18)(q,C),i(59)(C),a=i(6)[C],p(p.S+p.F*!k,C,{reject:function(oe){var J=N(this),ve=J.reject;return ve(oe),J.promise}}),p(p.S+p.F*(c||!k),C,{resolve:function(oe){if(oe instanceof q&&E(oe.constructor,this))return oe;var J=N(this),ve=J.resolve;return ve(oe),J.promise}}),p(p.S+p.F*!(k&&i(46)(function(oe){q.all(oe).catch(L)})),C,{all:function(oe){var J=this,ve=N(J),we=ve.resolve,Se=ve.reject,ct=P(function(){var Ue=[],U=0,K=1;w(oe,!1,function(j){var Q=U++,Z=!1;Ue.push(void 0),K++,J.resolve(j).then(function(ee){Z||(Z=!0,Ue[Q]=ee,--K||we(Ue))},Se)}),--K||we(Ue)});return ct&&Se(ct.error),ve.promise},race:function(oe){var J=this,ve=N(J),we=ve.reject,Se=P(function(){w(oe,!1,function(ct){J.resolve(ct).then(ve.resolve,we)})});return Se&&we(Se.error),ve.promise}})},function(n,r,i){"use strict";var s=i(61)(!0);i(27)(String,"String",function(o){this._t=String(o),this._i=0},function(){var o,a=this._t,c=this._i;return c>=a.length?{value:void 0,done:!0}:(o=s(a,c),this._i+=o.length,{value:o,done:!1})})},function(n,r,i){i(65);for(var s=i(2),o=i(5),a=i(10),c=i(1)("toStringTag"),l=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var f=l[u],p=s[f],m=p&&p.prototype;m&&!m[c]&&o(m,c,f),a[f]=a.Array}},function(n,r){n.exports=require("child_process")},function(n,r){n.exports=require("crypto")}])})});var omt={};fr(omt,{startServer:()=>vCe});module.exports=hRe(omt);var N1=require("http"),em=require("child_process"),Li=require("fs"),tn=require("path"),M1=require("url");Cr();hO();Mt();ot();hf();sq();wH();Na();BB();kd();ff();async function dAe(t,e){let n=t.headers.authorization;if(!n||!n.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let r=n.slice(7);if(!E1(r,Wi()?.key)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let i=await DC();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(i))}kd();qb();var mAe=require("url");var k1=ce(require("path"),1),gAe=ce(require("os"),1);Mt();var pAe=ce(require("path"),1),hAe=ce(require("os"),1);var KOt=pAe.default.join(hAe.default.homedir(),".9remote","pids");hD();dp();var rNt=k1.default.dirname((0,mAe.fileURLToPath)(__importMetaUrl));var iNt=k1.default.join(gAe.default.homedir(),".9remote","cloudflared.pid");function yAe(t,e){let n=t.split(".").map(Number),r=e.split(".").map(Number);for(let i=0;i<3;i++){if(r[i]>n[i])return!0;if(r[i]<n[i])return!1}return!1}var sNt=k1.default.join(Oe.STATE,$v.lockFile);mo();Na();dp();Cr();ff();kd();var vAe=ce(_Ae(),1),pz=ce(require("crypto"),1),{machineIdSync:kht}=vAe.default;async function EAe(t=null){let e=t||process.env.MACHINE_ID_SALT||"9remote-salt";try{let n=kht();return pz.default.createHash("sha256").update(n+e).digest("hex").substring(0,16)}catch(n){return console.error("Error getting machine ID:",n),pz.default.randomUUID().replace(/-/g,"").substring(0,16)}}mo();Mt();ot();Qv();kd();zV();var wAe=be("session"),Pht=10;async function SAe(t,e){try{let n=await sc(`${e}/api/temp-key/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((()=>{let s={apiKey:Gn(t),expiryMinutes:Pht};return{...s,...Yb(s)}})())});if(!n.ok){let s=await n.json().catch(()=>null);throw new Error(s?.error||`HTTP ${n.status}`)}let r=await n.json(),i=LTe();return FTe(r.tempKey,i,r.expiresAt,e),{...r,oneTimeKey:`${r.tempKey}${i}`}}catch(n){return wAe.error(`Temp key creation failed: ${n?.message||n}`),null}}function xAe(t,e){return e?.tempKey?`${t}/login?k=${e.tempKey}#${e.oneTimeKey}`:`${t}/login`}async function bAe(t,e,n,r){try{let i=await sc(`${e}/api/session/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(t),hostPublicKey:zb(),hostX25519Key:Kb(),tempKey:OS()?.tempKey||void 0})});if(!i.ok)throw new Error(`HTTP ${i.status}`);return n&&await sc(`${e}/api/session/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(t),tunnelUrl:n,...Yb({apiKey:Gn(t),tunnelUrl:n})})}).catch(()=>{}),r&&Gn(r)!==Gn(t)&&await sc(`${e}/api/session/delete`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(r),...Yb({apiKey:Gn(r)})})}).catch(()=>{}),!0}catch(i){return wAe.error(`Session registration failed: ${i?.message||i}`),!1}}jv();kd();dp();async function TAe(t,e){let n=lT(),r=n.workerUrl||fc;if(!n.permanentKey){it(e,400,"No permanent key set");return}let i=await SAe(n.permanentKey,r);if(!i){it(e,500,"Temp key creation failed");return}let s=xAe(r,i);vc({oneTimeKey:i.oneTimeKey,oneTimeKeyExpiresAt:i.expiresAt,qrUrl:s}),Le(e,{oneTimeKey:i.oneTimeKey,expiresAt:i.expiresAt,qrUrl:s})}async function AAe(t,e){try{let n=lT(),r=n.workerUrl||fc,i=await EAe(),s=$Te(i),o=Wi();if(!await bAe(s,r,n.tunnelUrl,o?.key)){it(e,502,"Could not register the new key with the server");return}jJ(i,s,o?.name||"Default"),Hv(Gn(s)),vc({permanentKey:s,oneTimeKey:"",oneTimeKeyExpiresAt:null,qrUrl:"",pairingUsed:!0}),Le(e,{ok:!0,permanentKey:s})}catch(n){it(e,500,n.message)}}Cr();hf();d0();async function CAe(t,e){let n=await Ar(t,e);if(!n)return;let r=cAe(n.socketId);Le(e,{ok:r})}async function RAe(t,e){let n=await Ar(t,e);if(!n)return;let r=uAe(n.socketId);Le(e,{ok:r})}function IAe(t,e){Le(e,{pending:N7()})}function kAe(t,e){Le(e,{devices:P7()})}function PAe(t,e){Le(e,{rejected:D7()})}async function OAe(t,e){let n=await Ar(t,e);if(!n)return;let r=lAe(n.deviceId);Le(e,{ok:r})}async function NAe(t,e){let n=await Ar(t,e);n&&(I1(n.deviceId),Sg(n.deviceId),Le(e))}async function MAe(t,e){let n=await Ar(t,e);n&&(I1(n.deviceId),R7(n.deviceId),Le(e))}async function DAe(t,e){let n=await Ar(t,e);if(!n)return;A7(n.deviceId);let r=I1(n.deviceId);Le(e,{disconnected:r})}function LAe(t,e){Le(e,{enabled:iL()})}async function UAe(t,e){let n=await Ar(t,e);if(!n)return;let r=I7(n.deviceId,n.label);Le(e,{ok:r})}async function FAe(t,e){let n=await Ar(t,e);if(!n)return;let r=U7(!!n.enabled);Le(e,{enabled:r})}Cr();hf();Vi();NC();Rs();Cc();mq();GV();var BAe={},Oht=1e4;function Nht(t,e){let n=wU(t,e);return n||(Wg(t).length?wU(t,{[Wg(t)[0]]:e.csid}):null)}function $Ae(t,e){if(e)return{type:e.type||"stop",sessionId:e.sessionId||"",tool:e.tool||"",csid:e.csid||"",...e};let n=JSON.parse(t||"{}");return{type:n.type||"stop",sessionId:n.sessionId||"",tool:n.tool||"",csid:n.csid||"",...n}}async function GAe(t,e){let n="";await new Promise(r=>{t.on("data",i=>n+=i),t.on("end",r)});try{jAe($Ae(n,null)),Le(e,{success:!0})}catch{it(e,400,"Invalid JSON")}}function HAe(t,e,{query:n}){jAe($Ae(null,n)),Le(e,{success:!0})}function qAe(t,e,n){let{type:r,sessionId:i,tool:s}=t,o={type:r,sessionId:i,tool:s,timestamp:n},c=Bp({type:r,sessionId:i,tool:s})?.state||Xt.IDLE,l=Xi(i);if(et(e,"statusChange",{sessionId:i,state:c,tool:s,since:n,...l?{conversationId:l.id}:{}}),kU(i,o),et(e,"chatNotification",o),(c===Xt.DONE||c===Xt.BLOCKED)&&uA(i),(c===Xt.DONE||c===Xt.BLOCKED)&&$V(i),c!==Xt.DONE&&c!==Xt.BLOCKED)return;let u=`${i}:${c}`;n-(BAe[u]||0)<Oht||(BAe[u]=n,Voe({...o,state:c}))}function jAe(t){let{type:e,sessionId:n,tool:r}=t,i=Date.now(),s=Fa();if(!s||!n)return;let o=Nht(r,t);if(o&&Ta(n,r,o,"hook"),cA[e]===Xt.DONE){dA(n,()=>qAe(t,s,Date.now()));return}qAe(t,s,i)}Cr();cq();zC();Mt();var hz=ce(require("fs"),1),P1=ce(require("path"),1);hf();Vi();Xp();Na();var Mht=process.platform==="darwin"||process.platform==="win32",WAe=t=>Mht?t.toLowerCase():t,VAe=(t,e)=>{let n=WAe(t),r=WAe(e);return n===r||n.startsWith(r+P1.default.sep)},zAe=t=>[t.cwd,t.workspacePath].filter(Boolean);function Dht(t,e,n){if(e&&n.some(s=>s.id===e))return e;let r=null,i=-1;for(let s of n)for(let o of zAe(s))VAe(t,o)&&o.length>i&&(r=s.id,i=o.length);return r}function KAe({path:t,title:e},n=null){if(!t||typeof t!="string")return{error:"path is required"};let r=P1.default.resolve(t);try{r=hz.default.realpathSync(r)}catch{return{error:"File not found"}}if(vt(r))return{error:"Access denied"};if(!hz.default.statSync(r).isFile())return{error:"Not a file"};let i=su(),s=i.filter(c=>zAe(c).some(l=>VAe(r,l)));if(n&&i.some(c=>c.id===n)&&!s.some(c=>c.id===n))return{error:"File is outside this terminal's workspace"};if(!s.length)return{error:"File is outside every open terminal's workspace"};let o=Fa();if(!o)return{error:"Server not ready"};let a=Dht(r,n,s);return et(o,"artifactOpen",{path:r,title:e||P1.default.basename(r),sessionId:a}),{path:r}}var Lht={name:"openArtifact",description:"Show a file you just created or edited in the 9Remote app, sliding it in beside the terminal. Use it for files worth looking at \u2014 html, markdown, svg, images, pdf, csv, diagrams, code. Skip files with nothing to see. The user closes it themselves.",inputSchema:{type:"object",properties:{path:{type:"string",description:"Absolute path to the file."},title:{type:"string",description:"Optional label for the panel header."}},required:["path"]},run({path:t,title:e},n){let r=KAe({path:t,title:e},n?.sessionId);return r.error?r:`Opened ${r.path}`}},YAe=Lht;Dw();VH();var Uht=500;function Fht(t={applyAction:__}){return{name:"report_task",description:"Report what you just finished, in one or two sentences. It lands on this session's card on the kanban board the user watches, so progress is visible without reading your terminal. Call it when a chunk of work completes, and again with status when your own state changes (todo | in_progress | needs_input | done). While a turn of yours is actually running, the live state wins \u2014 the self-report takes effect when you go idle.",inputSchema:{type:"object",properties:{summary:{type:"string",description:"1-2 sentences of what was done or what changed"},status:{type:"string",enum:WH,description:"Optional self-reported status; live turn state still wins while running"}},required:["summary"]},async run({summary:e,status:n}={},r={}){let i=String(e||"").trim().slice(0,Uht);if(!i)return{error:"summary is required"};let s=r?.sessionId;if(!s)return{error:"no session identity; cannot tell which card is yours"};let{error:o}=await t.applyAction({type:"report",sessionId:s,summary:i,...n?{status:n}:{}});return o?{error:o}:"reported"}}}var XAe=Fht();tk();var JAe=[YAe,XAe],QAe=new Map([...JAe,...fd].map(t=>[t.name,t])),ZAe=()=>JAe.map(({name:t,description:e,inputSchema:n})=>({name:t,description:e,inputSchema:n}));var O1=(t,e=!1)=>({content:[{type:"text",text:t}],isError:e});async function Bht(t,e,n){let r=QAe.get(t);if(!r)return O1(`Unknown tool: ${t}`,!0);try{let i=await r.run(e||{},n||{});return i?.error?O1(i.error,!0):O1(typeof i=="string"?i:JSON.stringify(i))}catch(i){return O1(i.message,!0)}}async function eCe(t,e){let{id:n,method:r,params:i}=t||{},s=o=>({jsonrpc:"2.0",id:n,result:o});return r==="initialize"?s({protocolVersion:i?.protocolVersion||vl.PROTOCOL_VERSION,capabilities:{tools:{}},serverInfo:{name:vl.SERVER_NAME,version:"3.0.1"}}):r==="tools/list"?s({tools:ZAe()}):r==="tools/call"?s(await Bht(i?.name,i?.arguments,e)):r==="ping"?s({}):n==null?null:{jsonrpc:"2.0",id:n,error:{code:-32601,message:`Method not found: ${r}`}}}var gz=ce(require("fs"),1),nCe=require("child_process");ot();oq();var qht=be("artifact"),tCe=/(?:^|[\s\0])NINE_REMOTE_SESSION_ID=([^\s\0]+)/,mz=new WeakMap,yz=(t,e)=>(0,nCe.execFileSync)(t,e,{encoding:"utf8",timeout:by.PROBE_TIMEOUT_MS,stdio:["ignore","pipe","ignore"]});function $ht(t,e){let n=yz("lsof",["-nP",`-iTCP:${t}`,"-Fpn"]),r=null;for(let i of n.split(`
|
|
495
|
-
`))if(i[0]==="p")r=parseInt(i.slice(1),10);else if(i[0]==="n"&&r&&r!==e){let s=i.match(/^n(?:\[[^\]]+\]|[^:]+):(\d+)->/);if(s&&Number(s[1])===t)return r}return null}function Ght(t){try{return process.platform==="linux"?gz.default.readFileSync(`/proc/${t}/environ`,"utf8").match(tCe)?.[1]||null:yz("ps",["-Eww","-o","command=","-p",String(t)]).match(tCe)?.[1]||null}catch{return null}}function Hht(t){try{if(process.platform==="linux"){let e=gz.default.readFileSync(`/proc/${t}/stat`,"utf8");return parseInt(e.slice(e.lastIndexOf(")")+2).split(" ")[1],10)||null}return parseInt(yz("ps",["-o","ppid=","-p",String(t)]).trim(),10)||null}catch{return null}}function jht(t){for(let e=0;t>1&&t!==process.pid&&e<by.MAX_PARENT_HOPS;e++){let n=Ght(t);if(n)return n;if(t=Hht(t),!t)return null}return null}function rCe(t){let e=t?.headers?.[by.HEADER];if(e&&!/[${}]/.test(e))return e;let n=t?.socket;if(!n)return null;if(mz.has(n))return mz.get(n);let r=null;try{let i=$ht(n.remotePort,process.pid);i&&(r=jht(i))}catch(i){qht.warn(`caller probe failed: ${i.message}`)}return mz.set(n,r),r}async function iCe(t,e){if(!Vae(t.headers.authorization))return it(e,401,"Unauthorized");if(!bE())return it(e,403,"MCP is turned off in 9Remote settings");let n=await Ar(t,e);if(n===null&&!e.writableEnded)return it(e,400,"Invalid request");if(e.writableEnded)return;let r;try{r=await eCe(n,{sessionId:rCe(t)})}catch(i){r={jsonrpc:"2.0",id:n?.id??null,error:{code:-32603,message:i.message}}}if(!r)return e.writeHead(202),e.end();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(r))}Cr();sT();ff();Mr();mo();function sCe(){return{mode:ED(),active:vD(),presets:Object.keys(Te.sleepInhibit?.presets||{})}}function oCe(t,e){Le(e,sCe())}async function aCe(t,e){let n=await Ar(t,e);if(!n)return;let r=c0(n.mode);HJ({sleepInhibitMode:r});let i=sCe();Jn("sleepInhibit",i),Le(e,i)}Cr();wL();async function cCe(t,e){let n=await CT();Le(e,n)}async function lCe(t,e){let n=await gQ(),r=await CT();Le(e,{...n,...r})}async function uCe(t,e){let n=await Ar(t,e);if(!n)return;if(typeof n.text!="string"||!n.text){it(e,400,"Missing text");return}let r=await v0(n.text);Le(e,{ok:r.ok,reason:r.reason||null})}async function fCe(t,e){let n=await mQ(),r=await CT();Le(e,{...n,...r})}li();Cr();async function dCe(t,e){try{let n=await gf();Le(e,{sessions:n})}catch(n){it(e,500,n.message)}}async function pCe(t,e){let n=await Ar(t,e);if(n){if(!n.sessionId)return it(e,400,"sessionId required");try{await yf(n.sessionId),Le(e)}catch(r){it(e,500,r.message)}}}var Du=ce(require("os"),1);Mr();BT();Cr();function Wht(){let t=sZ();if(!t?.activeClients)return{total:0,streaming:0};let e=0;for(let n of t.activeClients.values())n.isStreaming&&e++;return{total:t.activeClients.size,streaming:e}}function Vht(){let t=process.memoryUsage(),e=Du.default.cpus();return{agent:{pid:process.pid,version:"3.0.1",nodeVersion:process.version,platform:`${process.platform}/${process.arch}`,uptimeSec:Math.round(process.uptime()),memory:{heapUsedMB:Math.round(t.heapUsed/1048576*10)/10,heapTotalMB:Math.round(t.heapTotal/1048576*10)/10,rssMB:Math.round(t.rss/1048576*10)/10,externalMB:Math.round(t.external/1048576*10)/10}},os:{hostname:Du.default.hostname(),platform:Du.default.platform(),arch:Du.default.arch(),uptimeSec:Math.round(Du.default.uptime()),loadAvg:Du.default.loadavg(),cpuModel:e?.[0]?.model||"unknown",cpuCount:e.length,totalMemMB:Math.round(Du.default.totalmem()/1048576),freeMemMB:Math.round(Du.default.freemem()/1048576)},remote:{available:FT(),...Wht(),memoryWarningThresholdMB:Te.resourceManagement.memoryWarningThreshold},timestamp:Date.now()}}function hCe(t,e){try{Le(e,Vht())}catch(n){it(e,500,"stats error",n.message)}}sT();ff();Mr();f8();R8();var Yo=be("server"),Xo=(0,M1.fileURLToPath)(new URL(".",__importMetaUrl)),yCe=process.env.NODE_ENV==="development",zht=5173,_z=[(0,tn.join)(Xo,"dist","ui"),(0,tn.join)(Xo,"ui","dist"),(0,tn.join)(Xo,"ui")].find(t=>(0,Li.existsSync)(t))||(0,tn.join)(Xo,"dist","ui"),Za=[(0,tn.join)(Xo,"dist","web"),(0,tn.join)(Xo,"web"),(0,tn.join)(Xo,"..","web","out")].find(t=>(0,Li.existsSync)(t))||_z,Kht={".html":"text/html; charset=utf-8",".js":"application/javascript; charset=utf-8",".mjs":"application/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff2":"font/woff2",".woff":"font/woff",".ttf":"font/ttf",".json":"application/json; charset=utf-8",".txt":"text/x-component; charset=utf-8",".webmanifest":"application/manifest+json"};function Yht(t,e,n){let r=(0,N1.request)({hostname:"localhost",port:zht,path:t.url,method:t.method,headers:t.headers},i=>{e.writeHead(i.statusCode,i.headers),i.pipe(e)});r.on("error",()=>n?n():void(e.writeHead(502),e.end("Vite dev server not ready"))),t.pipe(r)}function Xht(t,e){let n;try{n=(0,M1.parse)(t.url).pathname}catch{it(e,400,"Bad request");return}let r=T8(n,t.headers.host);if(!r){it(e,404,"Not found");return}for(let[i,s]of Object.entries(r.headers))e.setHeader(i,s);ls(e,(0,tn.join)(Za,r.path),{frameable:!0})||it(e,404,"Not found")}function ls(t,e,{frameable:n=!1}={}){if(!(0,Li.existsSync)(e))return!1;try{if((0,Li.statSync)(e).isDirectory()){let a=(0,tn.join)(e,"index.html");return(0,Li.existsSync)(a)?ls(t,a,{frameable:n}):!1}let i=(0,tn.extname)(e),s=Kht[i]||"application/octet-stream";t.setHeader("Content-Type",s),i===".html"&&!n&&t.setHeader("X-Frame-Options","SAMEORIGIN");let o=e.includes(`${tn.sep}_next${tn.sep}static${tn.sep}`);return t.hasHeader("Cache-Control")||t.setHeader("Cache-Control",o?"public, max-age=31536000, immutable":"no-cache"),t.writeHead(200),t.end((0,Li.readFileSync)(e)),!0}catch{return!1}}async function vz(t){try{let e=await sc(fO);if(!e.ok)return;let{version:n}=await e.json();n&&yAe(t,n)&&(CD({version:n}),Jn("updateAvailable",{version:n}),Eq())}catch{}}var mCe=0;function Jht(t){let e=Date.now();e-mCe<$v.connectCheckDebounceMs||(mCe=e,vz(t))}function Qht(t,e){if(process.env.CODESPACES!=="true"){it(e,400,"Not running on Codespaces");return}let n=process.env.CODESPACE_NAME;if(!n){it(e,400,"Codespace name not found");return}let r=Fa();r&&r.emit("codespace:stopping"),Le(e,{success:!0,message:"Stopping codespace..."}),setTimeout(()=>(0,em.execFile)("gh",["codespace","stop","-c",n],{windowsHide:!0}),500)}async function Zht(t,e){let{parseJsonBody:n}=await Promise.resolve().then(()=>(Cr(),Xu)),r=await n(t,e);if(!r)return;let{verifyPresentedTail:i}=await Promise.resolve().then(()=>(iz(),zTe)),s=i({tail:r.tail,tempKey:r.tempKey});if(s.ok){Le(e,{ok:!0});return}let o=t.headers["x-forwarded-for"]||t.socket?.remoteAddress||"unknown";if(r.tempKey&&r.tail){Yo.warn(`wrong one-time code TAIL (${o}) \u2014 code burned, clearing from UI`);let{clearOneTimeKey:a}=await Promise.resolve().then(()=>(mo(),v7));a()}else r.tempKey?Yo.warn(`wrong one-time code TAIL (${o}) \u2014 no TAIL presented, code still live`):Yo.warn(`wrong API-key TAIL (${o}) \u2014 rejected`);setTimeout(()=>Le(e,{ok:!1,reason:s.reason}),s.penaltyMs||0)}var _Ce;async function gCe(t,e,{pathname:n}){let r=t.headers.authorization;if(!r||!r.startsWith("Bearer ")||!E1(r.slice(7),Wi()?.key)){it(e,401,"Unauthorized");return}let{parseJsonBody:i}=await Promise.resolve().then(()=>(Cr(),Xu)),s=await i(t,e);if(!s)return;if(!s.port){it(e,400,"Port required");return}if(!n.endsWith("start")){$C(s.port),Le(e,{success:!0});return}let o=qC(s.port);if(!o){it(e,400,"Invalid port");return}Le(e,{success:!0,sessionId:o})}function emt(t,e,{pathname:n,search:r}){let i=n.match(/^\/proxy\/([0-9a-f-]{36})(\/.*)?$/);i?Hae(_Ce,t,e,i[1],i[2]||"/",r):it(e,404,"Not found")}function tmt(t,e,n){Cye(t,e,n)}var nmt=[{path:"/api/health",method:"GET",public:!0,handler:(t,e)=>Le(e,{status:"ok",timestamp:Date.now()})},{path:"/api/version",method:"GET",public:!0,handler:(t,e)=>{Le(e,{version:"3.0.1"})}},{path:"/api/notify",method:"POST",public:!0,handler:GAe},{path:"/api/notify",method:"GET",public:!0,handler:HAe},{path:"/proxy/*",method:"*",public:!0,handler:emt},{path:"/preview/*",method:"GET",public:!0,handler:tmt},{path:"/api/ui/events",method:"GET",handler:MD},{path:"/api/local-token",method:"GET",handler:PD},{path:vl.PATH,method:"POST",handler:iCe},{path:"/api/ui/state",method:"GET",handler:DD},{path:"/api/ui/state",method:"POST",handler:LD},{path:"/api/ui/stop",method:"POST",handler:UD},{path:"/api/ui/start",method:"POST",handler:FD},{path:"/api/ui/stop-tunnel",method:"POST",handler:BD},{path:"/api/ui/shutdown",method:"POST",handler:qD},{path:"/api/update",method:"POST",handler:$D},{path:"/api/system/stats",method:"GET",handler:hCe},{path:"/api/key/one-time",method:"POST",handler:TAe},{path:"/api/key/regenerate",method:"POST",handler:AAe},{path:"/api/device/approve",method:"POST",handler:CAe},{path:"/api/device/reject",method:"POST",handler:RAe},{path:"/api/device/pending",method:"GET",handler:IAe},{path:"/api/device/approved",method:"GET",handler:kAe},{path:"/api/device/rejected",method:"GET",handler:PAe},{path:"/api/device/approve-rejected",method:"POST",handler:OAe},{path:"/api/device/clear-rejected",method:"POST",handler:NAe},{path:"/api/device/remove",method:"POST",handler:MAe},{path:"/api/device/label",method:"POST",handler:UAe},{path:"/api/device/disconnect",method:"POST",handler:DAe},{path:"/api/device/auto-approve",method:"GET",handler:LAe},{path:"/api/device/auto-approve",method:"POST",handler:FAe},{path:"/api/connections",method:"GET",handler:GD},{path:"/api/logs",method:"GET",handler:HD},{path:"/api/logs/clear",method:"POST",handler:jD},{path:"/api/permissions",method:"GET",handler:VD},{path:"/api/permissions/request",method:"POST",handler:YD},{path:"/api/desktop/toggle",method:"POST",handler:WD},{path:"/api/ui/rtc-toggle",method:"POST",handler:OD},{path:"/api/autostart",method:"GET",handler:zD},{path:"/api/autostart",method:"POST",handler:KD},{path:"/api/sleep-inhibit",method:"GET",handler:oCe},{path:"/api/sleep-inhibit",method:"POST",handler:aCe},{path:"/api/desktop-unlock",method:"GET",handler:cCe},{path:"/api/desktop-unlock/install",method:"POST",handler:lCe},{path:"/api/desktop-unlock/uninstall",method:"POST",handler:fCe},{path:"/api/desktop-unlock/type",method:"POST",handler:uCe},{path:"/api/sessions",method:"GET",handler:dCe},{path:"/api/sessions/delete",method:"POST",handler:pCe},{path:"/api/local-sites",method:"*",public:!0,handler:dAe},{path:"/api/codespace/stop",method:"POST",handler:Qht},{path:"/api/verify-key",method:"POST",public:!0,handler:Zht},{path:"/api/proxy/start",method:"POST",public:!0,handler:gCe},{path:"/api/proxy/end",method:"POST",public:!0,handler:gCe}];var rmt=parseInt(process.env.PORT||"2208",10),qS=null;function imt(t){if(process.platform!=="win32")try{let e=(0,em.execSync)(`pgrep -f "vite --config ${t}"`,{encoding:"utf8"}).trim();for(let n of e.split(`
|
|
496
|
-
`).filter(Boolean))if((0,em.execSync)(`ps -o ppid= -p ${n}`,{encoding:"utf8"}).trim()==="1")try{process.kill(Number(n))}catch{}}catch{}}function smt(){if(!yCe)return;let t=(0,tn.join)(Xo,"vite.config.js");if(!(0,Li.existsSync)(t))return;imt(t);let e=(0,Li.existsSync)((0,tn.join)(Xo,"node_modules",".bin","vite"))?(0,tn.join)(Xo,"node_modules",".bin","vite"):(0,tn.join)(Xo,"..","node_modules",".bin","vite");qS=(0,em.spawn)("node",[e,"--config",t],{cwd:Xo,stdio:"ignore",detached:!1}),qS.on("error",()=>{}),qS.unref()}async function vCe(){let t=fD(),e=t.sleepInhibitMode;e||(t.sleepInhibit===!1?e="never":e=Te.sleepInhibit?.defaultMode||"never"),c0(e),await vq(),_Ce=Gae(),smt();let r=pO(nmt,{fallback:(c,l,{pathname:u})=>{if(u.startsWith("/api/")||u.startsWith("/socket.io")){it(l,404,"Not found");return}let f=u.replace(/^\//,"");if(f.split(/[\\/]/).includes("..")){it(l,400,"Bad request");return}if((0,Li.existsSync)(Za)&&f)try{let g=(0,tn.join)(Za,f);if((0,Li.existsSync)(g)&&!(0,Li.statSync)(g).isDirectory()&&ls(l,g))return}catch{}if((u==="/workspace"||u.startsWith("/workspace/")||u.startsWith("/_next/")||u==="/login"||u.startsWith("/login/"))&&(0,Li.existsSync)(Za)){let g=(0,tn.join)(Za,f);if(ls(l,g)||ls(l,`${g}.html`)||ls(l,(0,tn.join)(g,"index.html"))||(c.headers.rsc==="1"||f.endsWith(".txt"))&&(f.startsWith("workspace/terminal/")&&ls(l,(0,tn.join)(Za,"workspace","terminal","default.txt"))||ls(l,(0,tn.join)(Za,"workspace.txt")))||u.startsWith("/workspace")&&(ls(l,(0,tn.join)(Za,"workspace.html"))||ls(l,(0,tn.join)(Za,"workspace","index.html")))||u.startsWith("/login")&&(ls(l,(0,tn.join)(Za,"login.html"))||ls(l,(0,tn.join)(Za,"login","index.html"))))return;it(l,404,"Not found");return}let m=()=>{let g=f==="ui"||f===""?"index.html":f.replace(/^ui\/?/,""),y=(0,tn.join)(_z,g);ls(l,y)||ls(l,(0,tn.join)(_z,"index.html"))||it(l,404,"Not found")};if(yCe){Yht(c,l,m);return}m()}}),i=(0,N1.createServer)(async(c,l)=>{if(mx(c.headers.host)){Xht(c,l);return}await r(c,l)});NM(),xD(),bD();let s=()=>dT().catch(c=>Yo.error(`permission refresh failed: ${c?.message||c}`));s(),process.platform==="darwin"&&setInterval(s,d8),await fAe(i),i.on("error",c=>{Yo.error(`HTTP server error: ${c?.message||c}`),c?.code==="EADDRINUSE"&&process.exit(1)}),i.listen(rmt,c=>{if(c)throw c;let l="3.0.
|
|
494
|
+
`)[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return R.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":return R.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"freebsd":return R.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw new Error("Unsupported platform: "+process.platform)}}function l(R){var C=c((0,m.execSync)(T[w]).toString());return R?C:a(C)}function u(R){return new p.default(function(C,D){return(0,m.exec)(T[w],{},function(q,G,V){if(q)return D(new Error("Error while obtaining machine id: "+q.stack));var L=c(G.toString());return C(R?L:a(L))})})}Object.defineProperty(r,"__esModule",{value:!0});var f=i(35),p=s(f);r.machineIdSync=l,r.machineId=u;var m=i(70),g=i(71),y=process,w=y.platform,S={native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"},T={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:S[o()]+"\\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(n,r,i){n.exports={default:i(36),__esModule:!0}},function(n,r,i){i(66),i(68),i(69),i(67),n.exports=i(6).Promise},function(n,r){n.exports=function(){}},function(n,r){n.exports=function(i,s,o,a){if(!(i instanceof s)||a!==void 0&&a in i)throw TypeError(o+": incorrect invocation!");return i}},function(n,r,i){var s=i(13),o=i(31),a=i(62);n.exports=function(c){return function(l,u,f){var p,m=s(l),g=o(m.length),y=a(f,g);if(c&&u!=u){for(;g>y;)if(p=m[y++],p!=p)return!0}else for(;g>y;y++)if((c||y in m)&&m[y]===u)return c||y||0;return!c&&-1}}},function(n,m,i){var s=i(7),o=i(44),a=i(43),c=i(3),l=i(31),u=i(64),f={},p={},m=n.exports=function(g,y,w,S,T){var R,C,D,q,G=T?function(){return g}:u(g),V=s(w,S,y?2:1),L=0;if(typeof G!="function")throw TypeError(g+" is not iterable!");if(a(G)){for(R=l(g.length);R>L;L++)if(q=y?V(c(C=g[L])[0],C[1]):V(g[L]),q===f||q===p)return q}else for(D=G.call(g);!(C=D.next()).done;)if(q=o(D,V,C.value,y),q===f||q===p)return q};m.BREAK=f,m.RETURN=p},function(n,r){n.exports=function(i,s,o){var a=o===void 0;switch(s.length){case 0:return a?i():i.call(o);case 1:return a?i(s[0]):i.call(o,s[0]);case 2:return a?i(s[0],s[1]):i.call(o,s[0],s[1]);case 3:return a?i(s[0],s[1],s[2]):i.call(o,s[0],s[1],s[2]);case 4:return a?i(s[0],s[1],s[2],s[3]):i.call(o,s[0],s[1],s[2],s[3])}return i.apply(o,s)}},function(n,r,i){var s=i(11);n.exports=Object("z").propertyIsEnumerable(0)?Object:function(o){return s(o)=="String"?o.split(""):Object(o)}},function(n,r,i){var s=i(10),o=i(1)("iterator"),a=Array.prototype;n.exports=function(c){return c!==void 0&&(s.Array===c||a[o]===c)}},function(n,r,i){var s=i(3);n.exports=function(o,a,c,l){try{return l?a(s(c)[0],c[1]):a(c)}catch(f){var u=o.return;throw u!==void 0&&s(u.call(o)),f}}},function(n,r,i){"use strict";var s=i(49),o=i(17),a=i(18),c={};i(5)(c,i(1)("iterator"),function(){return this}),n.exports=function(l,u,f){l.prototype=s(c,{next:o(1,f)}),a(l,u+" Iterator")}},function(n,r,i){var s=i(1)("iterator"),o=!1;try{var a=[7][s]();a.return=function(){o=!0},Array.from(a,function(){throw 2})}catch{}n.exports=function(c,l){if(!l&&!o)return!1;var u=!1;try{var f=[7],p=f[s]();p.next=function(){return{done:u=!0}},f[s]=function(){return p},c(f)}catch{}return u}},function(n,r){n.exports=function(i,s){return{value:s,done:!!i}}},function(n,r,i){var s=i(2),o=i(30).set,a=s.MutationObserver||s.WebKitMutationObserver,c=s.process,l=s.Promise,u=i(11)(c)=="process";n.exports=function(){var f,p,m,g=function(){var T,R;for(u&&(T=c.domain)&&T.exit();f;){R=f.fn,f=f.next;try{R()}catch(C){throw f?m():p=void 0,C}}p=void 0,T&&T.enter()};if(u)m=function(){c.nextTick(g)};else if(a){var y=!0,w=document.createTextNode("");new a(g).observe(w,{characterData:!0}),m=function(){w.data=y=!y}}else if(l&&l.resolve){var S=l.resolve();m=function(){S.then(g)}}else m=function(){o.call(s,g)};return function(T){var R={fn:T,next:void 0};p&&(p.next=R),f||(f=R,m()),p=R}}},function(n,r,i){var s=i(3),o=i(50),a=i(22),c=i(19)("IE_PROTO"),l=function(){},u="prototype",f=function(){var p,m=i(16)("iframe"),g=a.length,y=">";for(m.style.display="none",i(25).appendChild(m),m.src="javascript:",p=m.contentWindow.document,p.open(),p.write("<script>document.F=Object</script"+y),p.close(),f=p.F;g--;)delete f[u][a[g]];return f()};n.exports=Object.create||function(p,m){var g;return p!==null?(l[u]=s(p),g=new l,l[u]=null,g[c]=p):g=f(),m===void 0?g:o(g,m)}},function(n,r,i){var s=i(12),o=i(3),a=i(54);n.exports=i(4)?Object.defineProperties:function(c,l){o(c);for(var u,f=a(l),p=f.length,m=0;p>m;)s.f(c,u=f[m++],l[u]);return c}},function(n,r,i){var s=i(55),o=i(17),a=i(13),c=i(32),l=i(8),u=i(26),f=Object.getOwnPropertyDescriptor;r.f=i(4)?f:function(p,m){if(p=a(p),m=c(m,!0),u)try{return f(p,m)}catch{}if(l(p,m))return o(!s.f.call(p,m),p[m])}},function(n,r,i){var s=i(8),o=i(63),a=i(19)("IE_PROTO"),c=Object.prototype;n.exports=Object.getPrototypeOf||function(l){return l=o(l),s(l,a)?l[a]:typeof l.constructor=="function"&&l instanceof l.constructor?l.constructor.prototype:l instanceof Object?c:null}},function(n,r,i){var s=i(8),o=i(13),a=i(39)(!1),c=i(19)("IE_PROTO");n.exports=function(l,u){var f,p=o(l),m=0,g=[];for(f in p)f!=c&&s(p,f)&&g.push(f);for(;u.length>m;)s(p,f=u[m++])&&(~a(g,f)||g.push(f));return g}},function(n,r,i){var s=i(53),o=i(22);n.exports=Object.keys||function(a){return s(a,o)}},function(n,r){r.f={}.propertyIsEnumerable},function(n,r,i){var s=i(5);n.exports=function(o,a,c){for(var l in a)c&&o[l]?o[l]=a[l]:s(o,l,a[l]);return o}},function(n,r,i){n.exports=i(5)},function(n,r,i){var s=i(9),o=i(3),a=function(c,l){if(o(c),!s(l)&&l!==null)throw TypeError(l+": can't set as prototype!")};n.exports={set:Object.setPrototypeOf||("__proto__"in{}?(function(c,l,u){try{u=i(7)(Function.call,i(51).f(Object.prototype,"__proto__").set,2),u(c,[]),l=!(c instanceof Array)}catch{l=!0}return function(f,p){return a(f,p),l?f.__proto__=p:u(f,p),f}})({},!1):void 0),check:a}},function(n,r,i){"use strict";var s=i(2),o=i(6),a=i(12),c=i(4),l=i(1)("species");n.exports=function(u){var f=typeof o[u]=="function"?o[u]:s[u];c&&f&&!f[l]&&a.f(f,l,{configurable:!0,get:function(){return this}})}},function(n,r,i){var s=i(3),o=i(14),a=i(1)("species");n.exports=function(c,l){var u,f=s(c).constructor;return f===void 0||(u=s(f)[a])==null?l:o(u)}},function(n,r,i){var s=i(20),o=i(15);n.exports=function(a){return function(c,l){var u,f,p=String(o(c)),m=s(l),g=p.length;return m<0||m>=g?a?"":void 0:(u=p.charCodeAt(m),u<55296||u>56319||m+1===g||(f=p.charCodeAt(m+1))<56320||f>57343?a?p.charAt(m):u:a?p.slice(m,m+2):(u-55296<<10)+(f-56320)+65536)}}},function(n,r,i){var s=i(20),o=Math.max,a=Math.min;n.exports=function(c,l){return c=s(c),c<0?o(c+l,0):a(c,l)}},function(n,r,i){var s=i(15);n.exports=function(o){return Object(s(o))}},function(n,r,i){var s=i(21),o=i(1)("iterator"),a=i(10);n.exports=i(6).getIteratorMethod=function(c){if(c!=null)return c[o]||c["@@iterator"]||a[s(c)]}},function(n,r,i){"use strict";var s=i(37),o=i(47),a=i(10),c=i(13);n.exports=i(27)(Array,"Array",function(l,u){this._t=c(l),this._i=0,this._k=u},function(){var l=this._t,u=this._k,f=this._i++;return!l||f>=l.length?(this._t=void 0,o(1)):u=="keys"?o(0,f):u=="values"?o(0,l[f]):o(0,[f,l[f]])},"values"),a.Arguments=a.Array,s("keys"),s("values"),s("entries")},function(n,r){},function(n,r,i){"use strict";var s,o,a,c=i(28),l=i(2),u=i(7),f=i(21),p=i(23),m=i(9),g=(i(3),i(14)),y=i(38),w=i(40),S=(i(58).set,i(60)),T=i(30).set,R=i(48)(),C="Promise",D=l.TypeError,G=l.process,q=l[C],G=l.process,V=f(G)=="process",L=function(){},k=!!(function(){try{var oe=q.resolve(1),J=(oe.constructor={})[i(1)("species")]=function(ve){ve(L,L)};return(V||typeof PromiseRejectionEvent=="function")&&oe.then(L)instanceof J}catch{}})(),E=function(oe,J){return oe===J||oe===q&&J===a},A=function(oe){var J;return!(!m(oe)||typeof(J=oe.then)!="function")&&J},N=function(oe){return E(q,oe)?new I(oe):new o(oe)},I=o=function(oe){var J,ve;this.promise=new oe(function(we,Se){if(J!==void 0||ve!==void 0)throw D("Bad Promise constructor");J=we,ve=Se}),this.resolve=g(J),this.reject=g(ve)},P=function(oe){try{oe()}catch(J){return{error:J}}},F=function(oe,J){if(!oe._n){oe._n=!0;var ve=oe._c;R(function(){for(var we=oe._v,Se=oe._s==1,ct=0,Ue=function(U){var K,j,Q=Se?U.ok:U.fail,Z=U.resolve,ee=U.reject,ie=U.domain;try{Q?(Se||(oe._h==2&&b(oe),oe._h=1),Q===!0?K=we:(ie&&ie.enter(),K=Q(we),ie&&ie.exit()),K===U.promise?ee(D("Promise-chain cycle")):(j=A(K))?j.call(K,Z,ee):Z(K)):ee(we)}catch(ne){ee(ne)}};ve.length>ct;)Ue(ve[ct++]);oe._c=[],oe._n=!1,J&&!oe._h&&X(oe)})}},X=function(oe){T.call(l,function(){var J,ve,we,Se=oe._v;if(M(oe)&&(J=P(function(){V?G.emit("unhandledRejection",Se,oe):(ve=l.onunhandledrejection)?ve({promise:oe,reason:Se}):(we=l.console)&&we.error&&we.error("Unhandled promise rejection",Se)}),oe._h=V||M(oe)?2:1),oe._a=void 0,J)throw J.error})},M=function(oe){if(oe._h==1)return!1;for(var J,ve=oe._a||oe._c,we=0;ve.length>we;)if(J=ve[we++],J.fail||!M(J.promise))return!1;return!0},b=function(oe){T.call(l,function(){var J;V?G.emit("rejectionHandled",oe):(J=l.onrejectionhandled)&&J({promise:oe,reason:oe._v})})},$=function(oe){var J=this;J._d||(J._d=!0,J=J._w||J,J._v=oe,J._s=2,J._a||(J._a=J._c.slice()),F(J,!0))},pe=function(oe){var J,ve=this;if(!ve._d){ve._d=!0,ve=ve._w||ve;try{if(ve===oe)throw D("Promise can't be resolved itself");(J=A(oe))?R(function(){var we={_w:ve,_d:!1};try{J.call(oe,u(pe,we,1),u($,we,1))}catch(Se){$.call(we,Se)}}):(ve._v=oe,ve._s=1,F(ve,!1))}catch(we){$.call({_w:ve,_d:!1},we)}}};k||(q=function(oe){y(this,q,C,"_h"),g(oe),s.call(this);try{oe(u(pe,this,1),u($,this,1))}catch(J){$.call(this,J)}},s=function(oe){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},s.prototype=i(56)(q.prototype,{then:function(oe,J){var ve=N(S(this,q));return ve.ok=typeof oe!="function"||oe,ve.fail=typeof J=="function"&&J,ve.domain=V?G.domain:void 0,this._c.push(ve),this._a&&this._a.push(ve),this._s&&F(this,!1),ve.promise},catch:function(oe){return this.then(void 0,oe)}}),I=function(){var oe=new s;this.promise=oe,this.resolve=u(pe,oe,1),this.reject=u($,oe,1)}),p(p.G+p.W+p.F*!k,{Promise:q}),i(18)(q,C),i(59)(C),a=i(6)[C],p(p.S+p.F*!k,C,{reject:function(oe){var J=N(this),ve=J.reject;return ve(oe),J.promise}}),p(p.S+p.F*(c||!k),C,{resolve:function(oe){if(oe instanceof q&&E(oe.constructor,this))return oe;var J=N(this),ve=J.resolve;return ve(oe),J.promise}}),p(p.S+p.F*!(k&&i(46)(function(oe){q.all(oe).catch(L)})),C,{all:function(oe){var J=this,ve=N(J),we=ve.resolve,Se=ve.reject,ct=P(function(){var Ue=[],U=0,K=1;w(oe,!1,function(j){var Q=U++,Z=!1;Ue.push(void 0),K++,J.resolve(j).then(function(ee){Z||(Z=!0,Ue[Q]=ee,--K||we(Ue))},Se)}),--K||we(Ue)});return ct&&Se(ct.error),ve.promise},race:function(oe){var J=this,ve=N(J),we=ve.reject,Se=P(function(){w(oe,!1,function(ct){J.resolve(ct).then(ve.resolve,we)})});return Se&&we(Se.error),ve.promise}})},function(n,r,i){"use strict";var s=i(61)(!0);i(27)(String,"String",function(o){this._t=String(o),this._i=0},function(){var o,a=this._t,c=this._i;return c>=a.length?{value:void 0,done:!0}:(o=s(a,c),this._i+=o.length,{value:o,done:!1})})},function(n,r,i){i(65);for(var s=i(2),o=i(5),a=i(10),c=i(1)("toStringTag"),l=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],u=0;u<5;u++){var f=l[u],p=s[f],m=p&&p.prototype;m&&!m[c]&&o(m,c,f),a[f]=a.Array}},function(n,r){n.exports=require("child_process")},function(n,r){n.exports=require("crypto")}])})});var omt={};fr(omt,{startServer:()=>vCe});module.exports=hRe(omt);var N1=require("http"),em=require("child_process"),Li=require("fs"),tn=require("path"),M1=require("url");Cr();hO();Mt();ot();hf();sq();wH();Na();BB();kd();ff();async function dAe(t,e){let n=t.headers.authorization;if(!n||!n.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let r=n.slice(7);if(!E1(r,Wi()?.key)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let i=await DC();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(i))}kd();qb();var mAe=require("url");var k1=ce(require("path"),1),gAe=ce(require("os"),1);Mt();var pAe=ce(require("path"),1),hAe=ce(require("os"),1);var KOt=pAe.default.join(hAe.default.homedir(),".9remote","pids");hD();dp();var rNt=k1.default.dirname((0,mAe.fileURLToPath)(__importMetaUrl));var iNt=k1.default.join(gAe.default.homedir(),".9remote","cloudflared.pid");function yAe(t,e){let n=t.split(".").map(Number),r=e.split(".").map(Number);for(let i=0;i<3;i++){if(r[i]>n[i])return!0;if(r[i]<n[i])return!1}return!1}var sNt=k1.default.join(Oe.STATE,$v.lockFile);mo();Na();dp();Cr();ff();kd();var vAe=ce(_Ae(),1),pz=ce(require("crypto"),1),{machineIdSync:kht}=vAe.default;async function EAe(t=null){let e=t||process.env.MACHINE_ID_SALT||"9remote-salt";try{let n=kht();return pz.default.createHash("sha256").update(n+e).digest("hex").substring(0,16)}catch(n){return console.error("Error getting machine ID:",n),pz.default.randomUUID().replace(/-/g,"").substring(0,16)}}mo();Mt();ot();Qv();kd();zV();var wAe=be("session"),Pht=10;async function SAe(t,e){try{let n=await sc(`${e}/api/temp-key/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify((()=>{let s={apiKey:Gn(t),expiryMinutes:Pht};return{...s,...Yb(s)}})())});if(!n.ok){let s=await n.json().catch(()=>null);throw new Error(s?.error||`HTTP ${n.status}`)}let r=await n.json(),i=LTe();return FTe(r.tempKey,i,r.expiresAt,e),{...r,oneTimeKey:`${r.tempKey}${i}`}}catch(n){return wAe.error(`Temp key creation failed: ${n?.message||n}`),null}}function xAe(t,e){return e?.tempKey?`${t}/login?k=${e.tempKey}#${e.oneTimeKey}`:`${t}/login`}async function bAe(t,e,n,r){try{let i=await sc(`${e}/api/session/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(t),hostPublicKey:zb(),hostX25519Key:Kb(),tempKey:OS()?.tempKey||void 0})});if(!i.ok)throw new Error(`HTTP ${i.status}`);return n&&await sc(`${e}/api/session/update`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(t),tunnelUrl:n,...Yb({apiKey:Gn(t),tunnelUrl:n})})}).catch(()=>{}),r&&Gn(r)!==Gn(t)&&await sc(`${e}/api/session/delete`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:Gn(r),...Yb({apiKey:Gn(r)})})}).catch(()=>{}),!0}catch(i){return wAe.error(`Session registration failed: ${i?.message||i}`),!1}}jv();kd();dp();async function TAe(t,e){let n=lT(),r=n.workerUrl||fc;if(!n.permanentKey){it(e,400,"No permanent key set");return}let i=await SAe(n.permanentKey,r);if(!i){it(e,500,"Temp key creation failed");return}let s=xAe(r,i);vc({oneTimeKey:i.oneTimeKey,oneTimeKeyExpiresAt:i.expiresAt,qrUrl:s}),Le(e,{oneTimeKey:i.oneTimeKey,expiresAt:i.expiresAt,qrUrl:s})}async function AAe(t,e){try{let n=lT(),r=n.workerUrl||fc,i=await EAe(),s=$Te(i),o=Wi();if(!await bAe(s,r,n.tunnelUrl,o?.key)){it(e,502,"Could not register the new key with the server");return}jJ(i,s,o?.name||"Default"),Hv(Gn(s)),vc({permanentKey:s,oneTimeKey:"",oneTimeKeyExpiresAt:null,qrUrl:"",pairingUsed:!0}),Le(e,{ok:!0,permanentKey:s})}catch(n){it(e,500,n.message)}}Cr();hf();d0();async function CAe(t,e){let n=await Ar(t,e);if(!n)return;let r=cAe(n.socketId);Le(e,{ok:r})}async function RAe(t,e){let n=await Ar(t,e);if(!n)return;let r=uAe(n.socketId);Le(e,{ok:r})}function IAe(t,e){Le(e,{pending:N7()})}function kAe(t,e){Le(e,{devices:P7()})}function PAe(t,e){Le(e,{rejected:D7()})}async function OAe(t,e){let n=await Ar(t,e);if(!n)return;let r=lAe(n.deviceId);Le(e,{ok:r})}async function NAe(t,e){let n=await Ar(t,e);n&&(I1(n.deviceId),Sg(n.deviceId),Le(e))}async function MAe(t,e){let n=await Ar(t,e);n&&(I1(n.deviceId),R7(n.deviceId),Le(e))}async function DAe(t,e){let n=await Ar(t,e);if(!n)return;A7(n.deviceId);let r=I1(n.deviceId);Le(e,{disconnected:r})}function LAe(t,e){Le(e,{enabled:iL()})}async function UAe(t,e){let n=await Ar(t,e);if(!n)return;let r=I7(n.deviceId,n.label);Le(e,{ok:r})}async function FAe(t,e){let n=await Ar(t,e);if(!n)return;let r=U7(!!n.enabled);Le(e,{enabled:r})}Cr();hf();Vi();NC();Rs();Cc();mq();GV();var BAe={},Oht=1e4;function Nht(t,e){let n=wU(t,e);return n||(Wg(t).length?wU(t,{[Wg(t)[0]]:e.csid}):null)}function $Ae(t,e){if(e)return{type:e.type||"stop",sessionId:e.sessionId||"",tool:e.tool||"",csid:e.csid||"",...e};let n=JSON.parse(t||"{}");return{type:n.type||"stop",sessionId:n.sessionId||"",tool:n.tool||"",csid:n.csid||"",...n}}async function GAe(t,e){let n="";await new Promise(r=>{t.on("data",i=>n+=i),t.on("end",r)});try{jAe($Ae(n,null)),Le(e,{success:!0})}catch{it(e,400,"Invalid JSON")}}function HAe(t,e,{query:n}){jAe($Ae(null,n)),Le(e,{success:!0})}function qAe(t,e,n){let{type:r,sessionId:i,tool:s}=t,o={type:r,sessionId:i,tool:s,timestamp:n},c=Bp({type:r,sessionId:i,tool:s})?.state||Xt.IDLE,l=Xi(i);if(et(e,"statusChange",{sessionId:i,state:c,tool:s,since:n,...l?{conversationId:l.id}:{}}),kU(i,o),et(e,"chatNotification",o),(c===Xt.DONE||c===Xt.BLOCKED)&&uA(i),(c===Xt.DONE||c===Xt.BLOCKED)&&$V(i),c!==Xt.DONE&&c!==Xt.BLOCKED)return;let u=`${i}:${c}`;n-(BAe[u]||0)<Oht||(BAe[u]=n,Voe({...o,state:c}))}function jAe(t){let{type:e,sessionId:n,tool:r}=t,i=Date.now(),s=Fa();if(!s||!n)return;let o=Nht(r,t);if(o&&Ta(n,r,o,"hook"),cA[e]===Xt.DONE){dA(n,()=>qAe(t,s,Date.now()));return}qAe(t,s,i)}Cr();cq();zC();Mt();var hz=ce(require("fs"),1),P1=ce(require("path"),1);hf();Vi();Xp();Na();var Mht=process.platform==="darwin"||process.platform==="win32",WAe=t=>Mht?t.toLowerCase():t,VAe=(t,e)=>{let n=WAe(t),r=WAe(e);return n===r||n.startsWith(r+P1.default.sep)},zAe=t=>[t.cwd,t.workspacePath].filter(Boolean);function Dht(t,e,n){if(e&&n.some(s=>s.id===e))return e;let r=null,i=-1;for(let s of n)for(let o of zAe(s))VAe(t,o)&&o.length>i&&(r=s.id,i=o.length);return r}function KAe({path:t,title:e},n=null){if(!t||typeof t!="string")return{error:"path is required"};let r=P1.default.resolve(t);try{r=hz.default.realpathSync(r)}catch{return{error:"File not found"}}if(vt(r))return{error:"Access denied"};if(!hz.default.statSync(r).isFile())return{error:"Not a file"};let i=su(),s=i.filter(c=>zAe(c).some(l=>VAe(r,l)));if(n&&i.some(c=>c.id===n)&&!s.some(c=>c.id===n))return{error:"File is outside this terminal's workspace"};if(!s.length)return{error:"File is outside every open terminal's workspace"};let o=Fa();if(!o)return{error:"Server not ready"};let a=Dht(r,n,s);return et(o,"artifactOpen",{path:r,title:e||P1.default.basename(r),sessionId:a}),{path:r}}var Lht={name:"openArtifact",description:"Show a file you just created or edited in the 9Remote app, sliding it in beside the terminal. Use it for files worth looking at \u2014 html, markdown, svg, images, pdf, csv, diagrams, code. Skip files with nothing to see. The user closes it themselves.",inputSchema:{type:"object",properties:{path:{type:"string",description:"Absolute path to the file."},title:{type:"string",description:"Optional label for the panel header."}},required:["path"]},run({path:t,title:e},n){let r=KAe({path:t,title:e},n?.sessionId);return r.error?r:`Opened ${r.path}`}},YAe=Lht;Dw();VH();var Uht=500;function Fht(t={applyAction:__}){return{name:"report_task",description:"Report what you just finished, in one or two sentences. It lands on this session's card on the kanban board the user watches, so progress is visible without reading your terminal. Call it when a chunk of work completes, and again with status when your own state changes (todo | in_progress | needs_input | done). While a turn of yours is actually running, the live state wins \u2014 the self-report takes effect when you go idle.",inputSchema:{type:"object",properties:{summary:{type:"string",description:"1-2 sentences of what was done or what changed"},status:{type:"string",enum:WH,description:"Optional self-reported status; live turn state still wins while running"}},required:["summary"]},async run({summary:e,status:n}={},r={}){let i=String(e||"").trim().slice(0,Uht);if(!i)return{error:"summary is required"};let s=r?.sessionId;if(!s)return{error:"no session identity; cannot tell which card is yours"};let{error:o}=await t.applyAction({type:"report",sessionId:s,summary:i,...n?{status:n}:{}});return o?{error:o}:"reported"}}}var XAe=Fht();tk();var JAe=[YAe,XAe],QAe=new Map([...JAe,...fd].map(t=>[t.name,t])),ZAe=()=>JAe.map(({name:t,description:e,inputSchema:n})=>({name:t,description:e,inputSchema:n}));var O1=(t,e=!1)=>({content:[{type:"text",text:t}],isError:e});async function Bht(t,e,n){let r=QAe.get(t);if(!r)return O1(`Unknown tool: ${t}`,!0);try{let i=await r.run(e||{},n||{});return i?.error?O1(i.error,!0):O1(typeof i=="string"?i:JSON.stringify(i))}catch(i){return O1(i.message,!0)}}async function eCe(t,e){let{id:n,method:r,params:i}=t||{},s=o=>({jsonrpc:"2.0",id:n,result:o});return r==="initialize"?s({protocolVersion:i?.protocolVersion||vl.PROTOCOL_VERSION,capabilities:{tools:{}},serverInfo:{name:vl.SERVER_NAME,version:"3.0.2"}}):r==="tools/list"?s({tools:ZAe()}):r==="tools/call"?s(await Bht(i?.name,i?.arguments,e)):r==="ping"?s({}):n==null?null:{jsonrpc:"2.0",id:n,error:{code:-32601,message:`Method not found: ${r}`}}}var gz=ce(require("fs"),1),nCe=require("child_process");ot();oq();var qht=be("artifact"),tCe=/(?:^|[\s\0])NINE_REMOTE_SESSION_ID=([^\s\0]+)/,mz=new WeakMap,yz=(t,e)=>(0,nCe.execFileSync)(t,e,{encoding:"utf8",timeout:by.PROBE_TIMEOUT_MS,stdio:["ignore","pipe","ignore"]});function $ht(t,e){let n=yz("lsof",["-nP",`-iTCP:${t}`,"-Fpn"]),r=null;for(let i of n.split(`
|
|
495
|
+
`))if(i[0]==="p")r=parseInt(i.slice(1),10);else if(i[0]==="n"&&r&&r!==e){let s=i.match(/^n(?:\[[^\]]+\]|[^:]+):(\d+)->/);if(s&&Number(s[1])===t)return r}return null}function Ght(t){try{return process.platform==="linux"?gz.default.readFileSync(`/proc/${t}/environ`,"utf8").match(tCe)?.[1]||null:yz("ps",["-Eww","-o","command=","-p",String(t)]).match(tCe)?.[1]||null}catch{return null}}function Hht(t){try{if(process.platform==="linux"){let e=gz.default.readFileSync(`/proc/${t}/stat`,"utf8");return parseInt(e.slice(e.lastIndexOf(")")+2).split(" ")[1],10)||null}return parseInt(yz("ps",["-o","ppid=","-p",String(t)]).trim(),10)||null}catch{return null}}function jht(t){for(let e=0;t>1&&t!==process.pid&&e<by.MAX_PARENT_HOPS;e++){let n=Ght(t);if(n)return n;if(t=Hht(t),!t)return null}return null}function rCe(t){let e=t?.headers?.[by.HEADER];if(e&&!/[${}]/.test(e))return e;let n=t?.socket;if(!n)return null;if(mz.has(n))return mz.get(n);let r=null;try{let i=$ht(n.remotePort,process.pid);i&&(r=jht(i))}catch(i){qht.warn(`caller probe failed: ${i.message}`)}return mz.set(n,r),r}async function iCe(t,e){if(!Vae(t.headers.authorization))return it(e,401,"Unauthorized");if(!bE())return it(e,403,"MCP is turned off in 9Remote settings");let n=await Ar(t,e);if(n===null&&!e.writableEnded)return it(e,400,"Invalid request");if(e.writableEnded)return;let r;try{r=await eCe(n,{sessionId:rCe(t)})}catch(i){r={jsonrpc:"2.0",id:n?.id??null,error:{code:-32603,message:i.message}}}if(!r)return e.writeHead(202),e.end();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(r))}Cr();sT();ff();Mr();mo();function sCe(){return{mode:ED(),active:vD(),presets:Object.keys(Te.sleepInhibit?.presets||{})}}function oCe(t,e){Le(e,sCe())}async function aCe(t,e){let n=await Ar(t,e);if(!n)return;let r=c0(n.mode);HJ({sleepInhibitMode:r});let i=sCe();Jn("sleepInhibit",i),Le(e,i)}Cr();wL();async function cCe(t,e){let n=await CT();Le(e,n)}async function lCe(t,e){let n=await gQ(),r=await CT();Le(e,{...n,...r})}async function uCe(t,e){let n=await Ar(t,e);if(!n)return;if(typeof n.text!="string"||!n.text){it(e,400,"Missing text");return}let r=await v0(n.text);Le(e,{ok:r.ok,reason:r.reason||null})}async function fCe(t,e){let n=await mQ(),r=await CT();Le(e,{...n,...r})}li();Cr();async function dCe(t,e){try{let n=await gf();Le(e,{sessions:n})}catch(n){it(e,500,n.message)}}async function pCe(t,e){let n=await Ar(t,e);if(n){if(!n.sessionId)return it(e,400,"sessionId required");try{await yf(n.sessionId),Le(e)}catch(r){it(e,500,r.message)}}}var Du=ce(require("os"),1);Mr();BT();Cr();function Wht(){let t=sZ();if(!t?.activeClients)return{total:0,streaming:0};let e=0;for(let n of t.activeClients.values())n.isStreaming&&e++;return{total:t.activeClients.size,streaming:e}}function Vht(){let t=process.memoryUsage(),e=Du.default.cpus();return{agent:{pid:process.pid,version:"3.0.2",nodeVersion:process.version,platform:`${process.platform}/${process.arch}`,uptimeSec:Math.round(process.uptime()),memory:{heapUsedMB:Math.round(t.heapUsed/1048576*10)/10,heapTotalMB:Math.round(t.heapTotal/1048576*10)/10,rssMB:Math.round(t.rss/1048576*10)/10,externalMB:Math.round(t.external/1048576*10)/10}},os:{hostname:Du.default.hostname(),platform:Du.default.platform(),arch:Du.default.arch(),uptimeSec:Math.round(Du.default.uptime()),loadAvg:Du.default.loadavg(),cpuModel:e?.[0]?.model||"unknown",cpuCount:e.length,totalMemMB:Math.round(Du.default.totalmem()/1048576),freeMemMB:Math.round(Du.default.freemem()/1048576)},remote:{available:FT(),...Wht(),memoryWarningThresholdMB:Te.resourceManagement.memoryWarningThreshold},timestamp:Date.now()}}function hCe(t,e){try{Le(e,Vht())}catch(n){it(e,500,"stats error",n.message)}}sT();ff();Mr();f8();R8();var Yo=be("server"),Xo=(0,M1.fileURLToPath)(new URL(".",__importMetaUrl)),yCe=process.env.NODE_ENV==="development",zht=5173,_z=[(0,tn.join)(Xo,"dist","ui"),(0,tn.join)(Xo,"ui","dist"),(0,tn.join)(Xo,"ui")].find(t=>(0,Li.existsSync)(t))||(0,tn.join)(Xo,"dist","ui"),Za=[(0,tn.join)(Xo,"dist","web"),(0,tn.join)(Xo,"web"),(0,tn.join)(Xo,"..","web","out")].find(t=>(0,Li.existsSync)(t))||_z,Kht={".html":"text/html; charset=utf-8",".js":"application/javascript; charset=utf-8",".mjs":"application/javascript; charset=utf-8",".css":"text/css; charset=utf-8",".svg":"image/svg+xml",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".webp":"image/webp",".gif":"image/gif",".ico":"image/x-icon",".woff2":"font/woff2",".woff":"font/woff",".ttf":"font/ttf",".json":"application/json; charset=utf-8",".txt":"text/x-component; charset=utf-8",".webmanifest":"application/manifest+json"};function Yht(t,e,n){let r=(0,N1.request)({hostname:"localhost",port:zht,path:t.url,method:t.method,headers:t.headers},i=>{e.writeHead(i.statusCode,i.headers),i.pipe(e)});r.on("error",()=>n?n():void(e.writeHead(502),e.end("Vite dev server not ready"))),t.pipe(r)}function Xht(t,e){let n;try{n=(0,M1.parse)(t.url).pathname}catch{it(e,400,"Bad request");return}let r=T8(n,t.headers.host);if(!r){it(e,404,"Not found");return}for(let[i,s]of Object.entries(r.headers))e.setHeader(i,s);ls(e,(0,tn.join)(Za,r.path),{frameable:!0})||it(e,404,"Not found")}function ls(t,e,{frameable:n=!1}={}){if(!(0,Li.existsSync)(e))return!1;try{if((0,Li.statSync)(e).isDirectory()){let a=(0,tn.join)(e,"index.html");return(0,Li.existsSync)(a)?ls(t,a,{frameable:n}):!1}let i=(0,tn.extname)(e),s=Kht[i]||"application/octet-stream";t.setHeader("Content-Type",s),i===".html"&&!n&&t.setHeader("X-Frame-Options","SAMEORIGIN");let o=e.includes(`${tn.sep}_next${tn.sep}static${tn.sep}`);return t.hasHeader("Cache-Control")||t.setHeader("Cache-Control",o?"public, max-age=31536000, immutable":"no-cache"),t.writeHead(200),t.end((0,Li.readFileSync)(e)),!0}catch{return!1}}async function vz(t){try{let e=await sc(fO);if(!e.ok)return;let{version:n}=await e.json();n&&yAe(t,n)&&(CD({version:n}),Jn("updateAvailable",{version:n}),Eq())}catch{}}var mCe=0;function Jht(t){let e=Date.now();e-mCe<$v.connectCheckDebounceMs||(mCe=e,vz(t))}function Qht(t,e){if(process.env.CODESPACES!=="true"){it(e,400,"Not running on Codespaces");return}let n=process.env.CODESPACE_NAME;if(!n){it(e,400,"Codespace name not found");return}let r=Fa();r&&r.emit("codespace:stopping"),Le(e,{success:!0,message:"Stopping codespace..."}),setTimeout(()=>(0,em.execFile)("gh",["codespace","stop","-c",n],{windowsHide:!0}),500)}async function Zht(t,e){let{parseJsonBody:n}=await Promise.resolve().then(()=>(Cr(),Xu)),r=await n(t,e);if(!r)return;let{verifyPresentedTail:i}=await Promise.resolve().then(()=>(iz(),zTe)),s=i({tail:r.tail,tempKey:r.tempKey});if(s.ok){Le(e,{ok:!0});return}let o=t.headers["x-forwarded-for"]||t.socket?.remoteAddress||"unknown";if(r.tempKey&&r.tail){Yo.warn(`wrong one-time code TAIL (${o}) \u2014 code burned, clearing from UI`);let{clearOneTimeKey:a}=await Promise.resolve().then(()=>(mo(),v7));a()}else r.tempKey?Yo.warn(`wrong one-time code TAIL (${o}) \u2014 no TAIL presented, code still live`):Yo.warn(`wrong API-key TAIL (${o}) \u2014 rejected`);setTimeout(()=>Le(e,{ok:!1,reason:s.reason}),s.penaltyMs||0)}var _Ce;async function gCe(t,e,{pathname:n}){let r=t.headers.authorization;if(!r||!r.startsWith("Bearer ")||!E1(r.slice(7),Wi()?.key)){it(e,401,"Unauthorized");return}let{parseJsonBody:i}=await Promise.resolve().then(()=>(Cr(),Xu)),s=await i(t,e);if(!s)return;if(!s.port){it(e,400,"Port required");return}if(!n.endsWith("start")){$C(s.port),Le(e,{success:!0});return}let o=qC(s.port);if(!o){it(e,400,"Invalid port");return}Le(e,{success:!0,sessionId:o})}function emt(t,e,{pathname:n,search:r}){let i=n.match(/^\/proxy\/([0-9a-f-]{36})(\/.*)?$/);i?Hae(_Ce,t,e,i[1],i[2]||"/",r):it(e,404,"Not found")}function tmt(t,e,n){Cye(t,e,n)}var nmt=[{path:"/api/health",method:"GET",public:!0,handler:(t,e)=>Le(e,{status:"ok",timestamp:Date.now()})},{path:"/api/version",method:"GET",public:!0,handler:(t,e)=>{Le(e,{version:"3.0.2"})}},{path:"/api/notify",method:"POST",public:!0,handler:GAe},{path:"/api/notify",method:"GET",public:!0,handler:HAe},{path:"/proxy/*",method:"*",public:!0,handler:emt},{path:"/preview/*",method:"GET",public:!0,handler:tmt},{path:"/api/ui/events",method:"GET",handler:MD},{path:"/api/local-token",method:"GET",handler:PD},{path:vl.PATH,method:"POST",handler:iCe},{path:"/api/ui/state",method:"GET",handler:DD},{path:"/api/ui/state",method:"POST",handler:LD},{path:"/api/ui/stop",method:"POST",handler:UD},{path:"/api/ui/start",method:"POST",handler:FD},{path:"/api/ui/stop-tunnel",method:"POST",handler:BD},{path:"/api/ui/shutdown",method:"POST",handler:qD},{path:"/api/update",method:"POST",handler:$D},{path:"/api/system/stats",method:"GET",handler:hCe},{path:"/api/key/one-time",method:"POST",handler:TAe},{path:"/api/key/regenerate",method:"POST",handler:AAe},{path:"/api/device/approve",method:"POST",handler:CAe},{path:"/api/device/reject",method:"POST",handler:RAe},{path:"/api/device/pending",method:"GET",handler:IAe},{path:"/api/device/approved",method:"GET",handler:kAe},{path:"/api/device/rejected",method:"GET",handler:PAe},{path:"/api/device/approve-rejected",method:"POST",handler:OAe},{path:"/api/device/clear-rejected",method:"POST",handler:NAe},{path:"/api/device/remove",method:"POST",handler:MAe},{path:"/api/device/label",method:"POST",handler:UAe},{path:"/api/device/disconnect",method:"POST",handler:DAe},{path:"/api/device/auto-approve",method:"GET",handler:LAe},{path:"/api/device/auto-approve",method:"POST",handler:FAe},{path:"/api/connections",method:"GET",handler:GD},{path:"/api/logs",method:"GET",handler:HD},{path:"/api/logs/clear",method:"POST",handler:jD},{path:"/api/permissions",method:"GET",handler:VD},{path:"/api/permissions/request",method:"POST",handler:YD},{path:"/api/desktop/toggle",method:"POST",handler:WD},{path:"/api/ui/rtc-toggle",method:"POST",handler:OD},{path:"/api/autostart",method:"GET",handler:zD},{path:"/api/autostart",method:"POST",handler:KD},{path:"/api/sleep-inhibit",method:"GET",handler:oCe},{path:"/api/sleep-inhibit",method:"POST",handler:aCe},{path:"/api/desktop-unlock",method:"GET",handler:cCe},{path:"/api/desktop-unlock/install",method:"POST",handler:lCe},{path:"/api/desktop-unlock/uninstall",method:"POST",handler:fCe},{path:"/api/desktop-unlock/type",method:"POST",handler:uCe},{path:"/api/sessions",method:"GET",handler:dCe},{path:"/api/sessions/delete",method:"POST",handler:pCe},{path:"/api/local-sites",method:"*",public:!0,handler:dAe},{path:"/api/codespace/stop",method:"POST",handler:Qht},{path:"/api/verify-key",method:"POST",public:!0,handler:Zht},{path:"/api/proxy/start",method:"POST",public:!0,handler:gCe},{path:"/api/proxy/end",method:"POST",public:!0,handler:gCe}];var rmt=parseInt(process.env.PORT||"2208",10),qS=null;function imt(t){if(process.platform!=="win32")try{let e=(0,em.execSync)(`pgrep -f "vite --config ${t}"`,{encoding:"utf8"}).trim();for(let n of e.split(`
|
|
496
|
+
`).filter(Boolean))if((0,em.execSync)(`ps -o ppid= -p ${n}`,{encoding:"utf8"}).trim()==="1")try{process.kill(Number(n))}catch{}}catch{}}function smt(){if(!yCe)return;let t=(0,tn.join)(Xo,"vite.config.js");if(!(0,Li.existsSync)(t))return;imt(t);let e=(0,Li.existsSync)((0,tn.join)(Xo,"node_modules",".bin","vite"))?(0,tn.join)(Xo,"node_modules",".bin","vite"):(0,tn.join)(Xo,"..","node_modules",".bin","vite");qS=(0,em.spawn)("node",[e,"--config",t],{cwd:Xo,stdio:"ignore",detached:!1}),qS.on("error",()=>{}),qS.unref()}async function vCe(){let t=fD(),e=t.sleepInhibitMode;e||(t.sleepInhibit===!1?e="never":e=Te.sleepInhibit?.defaultMode||"never"),c0(e),await vq(),_Ce=Gae(),smt();let r=pO(nmt,{fallback:(c,l,{pathname:u})=>{if(u.startsWith("/api/")||u.startsWith("/socket.io")){it(l,404,"Not found");return}let f=u.replace(/^\//,"");if(f.split(/[\\/]/).includes("..")){it(l,400,"Bad request");return}if((0,Li.existsSync)(Za)&&f)try{let g=(0,tn.join)(Za,f);if((0,Li.existsSync)(g)&&!(0,Li.statSync)(g).isDirectory()&&ls(l,g))return}catch{}if((u==="/workspace"||u.startsWith("/workspace/")||u.startsWith("/_next/")||u==="/login"||u.startsWith("/login/"))&&(0,Li.existsSync)(Za)){let g=(0,tn.join)(Za,f);if(ls(l,g)||ls(l,`${g}.html`)||ls(l,(0,tn.join)(g,"index.html"))||(c.headers.rsc==="1"||f.endsWith(".txt"))&&(f.startsWith("workspace/terminal/")&&ls(l,(0,tn.join)(Za,"workspace","terminal","default.txt"))||ls(l,(0,tn.join)(Za,"workspace.txt")))||u.startsWith("/workspace")&&(ls(l,(0,tn.join)(Za,"workspace.html"))||ls(l,(0,tn.join)(Za,"workspace","index.html")))||u.startsWith("/login")&&(ls(l,(0,tn.join)(Za,"login.html"))||ls(l,(0,tn.join)(Za,"login","index.html"))))return;it(l,404,"Not found");return}let m=()=>{let g=f==="ui"||f===""?"index.html":f.replace(/^ui\/?/,""),y=(0,tn.join)(_z,g);ls(l,y)||ls(l,(0,tn.join)(_z,"index.html"))||it(l,404,"Not found")};if(yCe){Yht(c,l,m);return}m()}}),i=(0,N1.createServer)(async(c,l)=>{if(mx(c.headers.host)){Xht(c,l);return}await r(c,l)});NM(),xD(),bD();let s=()=>dT().catch(c=>Yo.error(`permission refresh failed: ${c?.message||c}`));s(),process.platform==="darwin"&&setInterval(s,d8),await fAe(i),i.on("error",c=>{Yo.error(`HTTP server error: ${c?.message||c}`),c?.code==="EADDRINUSE"&&process.exit(1)}),i.listen(rmt,c=>{if(c)throw c;let l="3.0.2";vz(l),setInterval(()=>vz(l),$v.checkIntervalMs),wq(()=>Jht(l))});let o=!1,a=async c=>{if(o)return;o=!0,_D(),Yo.info(`\u{1F6D1} Received ${c}, shutting down gracefully...`);let l=setTimeout(()=>{Yo.error("\u26A0\uFE0F Forced exit"),process.exit(1)},5e3);try{if(i.close(()=>Yo.info("\u2713 HTTP server closed")),qS)try{qS.kill()}catch{}let u=Fa();u&&(u.emit("server:shutdown"),u.close(()=>Yo.info("\u2713 Socket.IO closed"))),await new Promise(f=>setTimeout(f,500)),clearTimeout(l),Yo.info("\u2705 Server stopped cleanly"),process.exit(0)}catch(u){Yo.error(`\u274C Error during shutdown: ${u?.message||u}`),clearTimeout(l),process.exit(1)}};return process.on("SIGINT",()=>a("SIGINT")),process.on("SIGTERM",()=>a("SIGTERM")),process.platform==="win32"&&process.on("SIGBREAK",()=>a("SIGBREAK")),i}vCe().catch(t=>{Yo.error(`Server failed to start: ${t?.stack||t?.message||t}`),process.exit(1)});0&&(module.exports={startServer});
|
|
497
497
|
/*! Bundled license information:
|
|
498
498
|
|
|
499
499
|
negotiator/index.js:
|