homebridge-config-ui-x
Version:
A web based management, configuration and control platform for Homebridge.
1 lines • 42.9 kB
JavaScript
import{o as w$1,r as C$1}from"./chunk-D39XL-zh.js";import{Ot as S$1,Un as g$1,b as Co,nt as Lr,v as C$2}from"./chunk-D96TCRAL.js";import{ft as he$1}from"./main-E3N63CH7.js";var d=Object.create(null);d.open=`0`;d.close=`1`;d.ping=`2`;d.pong=`3`;d.message=`4`;d.upgrade=`5`;d.noop=`6`;var O=Object.create(null);Object.keys(d).forEach(r=>{O[d[r]]=r});var S={type:`error`,data:`parser error`};var _e=typeof Blob==`function`||typeof Blob<`u`&&Object.prototype.toString.call(Blob)===`[object BlobConstructor]`;var be=typeof ArrayBuffer==`function`;var we=r=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(r):r&&r.buffer instanceof ArrayBuffer;var N=({type:r,data:e},t,s)=>_e&&e instanceof Blob?t?s(e):ye(e,s):be&&(e instanceof ArrayBuffer||we(e))?t?s(e):ye(new Blob([e]),s):s(d[r]+(e||``));var ye=(r,e)=>{let t=new FileReader;return t.onload=function(){let s=t.result.split(`,`)[1];e(`b`+(s||``))},t.readAsDataURL(r)};function ge(r){return r instanceof Uint8Array?r:r instanceof ArrayBuffer?new Uint8Array(r):new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}var j;function Ee(r,e){if(_e&&r.data instanceof Blob)return r.data.arrayBuffer().then(ge).then(e);if(be&&(r.data instanceof ArrayBuffer||we(r.data)))return e(ge(r.data));N(r,!1,t=>{j||(j=new TextEncoder),e(j.encode(t))})}var ke=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`;var B=typeof Uint8Array>`u`?[]:new Uint8Array(256);for(let r=0;r<ke.length;r++)B[ke.charCodeAt(r)]=r;var ve=r=>{let e=r.length*.75,t=r.length,s,i=0,n,o,a,h;r[r.length-1]===`=`&&(e--,r[r.length-2]===`=`&&e--);let m=new ArrayBuffer(e),p=new Uint8Array(m);for(s=0;s<t;s+=4)n=B[r.charCodeAt(s)],o=B[r.charCodeAt(s+1)],a=B[r.charCodeAt(s+2)],h=B[r.charCodeAt(s+3)],p[i++]=n<<2|o>>4,p[i++]=(o&15)<<4|a>>2,p[i++]=(a&3)<<6|h&63;return m};var ze=typeof ArrayBuffer==`function`;var L=(r,e)=>{if(typeof r!=`string`)return{type:`message`,data:xe(r,e)};let t=r.charAt(0);return t===`b`?{type:`message`,data:Xe(r.substring(1),e)}:O[t]?r.length>1?{type:O[t],data:r.substring(1)}:{type:O[t]}:S};var Xe=(r,e)=>{if(ze)return xe(ve(r),e);else return{base64:!0,data:r}};var xe=(r,e)=>e===`blob`?r instanceof Blob?r:new Blob([r]):r instanceof ArrayBuffer?r:r.buffer;var Te=``;var Ae=(r,e)=>{let t=r.length,s=new Array(t),i=0;r.forEach((n,o)=>{N(n,!1,a=>{s[o]=a,++i===t&&e(s.join(Te))})})};var Ce=(r,e)=>{let t=r.split(Te),s=[];for(let i=0;i<t.length;i++){let n=L(t[i],e);if(s.push(n),n.type===`error`)break}return s};function Re(){return new TransformStream({transform(r,e){Ee(r,t=>{let s=t.length,i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);let n=new DataView(i.buffer);n.setUint8(0,126),n.setUint16(1,s)}else{i=new Uint8Array(9);let n=new DataView(i.buffer);n.setUint8(0,127),n.setBigUint64(1,BigInt(s))}r.data&&typeof r.data!=`string`&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}var G;function U(r){return r.reduce((e,t)=>e+t.length,0)}function V(r,e){if(r[0].length===e)return r.shift();let t=new Uint8Array(e),s=0;for(let i=0;i<e;i++)t[i]=r[0][s++],s===r[0].length&&(r.shift(),s=0);return r.length&&s<r[0].length&&(r[0]=r[0].slice(s)),t}function Oe(r,e){G||(G=new TextDecoder);let t=[],s=0,i=-1,n=!1;return new TransformStream({transform(o,a){for(t.push(o);;){if(s===0){if(U(t)<1)break;let h=V(t,1);n=(h[0]&128)===128,i=h[0]&127,i<126?s=3:i===126?s=1:s=2}else if(s===1){if(U(t)<2)break;let h=V(t,2);i=new DataView(h.buffer,h.byteOffset,h.length).getUint16(0),s=3}else if(s===2){if(U(t)<8)break;let h=V(t,8),m=new DataView(h.buffer,h.byteOffset,h.length),p=m.getUint32(0);if(p>Math.pow(2,21)-1){a.enqueue(S);break}i=p*Math.pow(2,32)+m.getUint32(4),s=3}else{if(U(t)<i)break;let h=V(t,i);a.enqueue(L(n?h:G.decode(h),e)),s=0}if(i===0||i>r){a.enqueue(S);break}}}})}var Z=4;function f(r){if(r)return $e(r)}function $e(r){for(var e in f.prototype)r[e]=f.prototype[e];return r}f.prototype.on=f.prototype.addEventListener=function(r,e){return this._callbacks=this._callbacks||{},(this._callbacks[`$`+r]=this._callbacks[`$`+r]||[]).push(e),this};f.prototype.once=function(r,e){function t(){this.off(r,t),e.apply(this,arguments)}return t.fn=e,this.on(r,t),this};f.prototype.off=f.prototype.removeListener=f.prototype.removeAllListeners=f.prototype.removeEventListener=function(r,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks[`$`+r];if(!t)return this;if(arguments.length==1)return delete this._callbacks[`$`+r],this;for(var s,i=0;i<t.length;i++)if(s=t[i],s===e||s.fn===e){t.splice(i,1);break}return t.length===0&&delete this._callbacks[`$`+r],this};f.prototype.emit=function(r){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks[`$`+r],s=1;s<arguments.length;s++)e[s-1]=arguments[s];if(t){t=t.slice(0);for(var s=0,i=t.length;s<i;++s)t[s].apply(this,e)}return this};f.prototype.emitReserved=f.prototype.emit;f.prototype.listeners=function(r){return this._callbacks=this._callbacks||{},this._callbacks[`$`+r]||[]};f.prototype.hasListeners=function(r){return!!this.listeners(r).length};var y=typeof Promise==`function`&&typeof Promise.resolve==`function`?e=>Promise.resolve().then(e):(e,t)=>t(e,0);var u=typeof self<`u`?self:typeof window<`u`?window:Function(`return this`)();var Se=`arraybuffer`;function M(r,...e){return e.reduce((t,s)=>(r.hasOwnProperty(s)&&(t[s]=r[s]),t),{})}var Qe=u.setTimeout;var je=u.clearTimeout;function g(r,e){e.useNativeTimers?(r.setTimeoutFn=Qe.bind(u),r.clearTimeoutFn=je.bind(u)):(r.setTimeoutFn=u.setTimeout.bind(u),r.clearTimeoutFn=u.clearTimeout.bind(u))}var Ge=1.33;function Ne(r){return typeof r==`string`?Ze(r):Math.ceil((r.byteLength||r.size)*Ge)}function Ze(r){let e=0,t=0;for(let s=0,i=r.length;s<i;s++)e=r.charCodeAt(s),e<128?t+=1:e<2048?t+=2:e<55296||e>=57344?t+=3:(s++,t+=4);return t}function H(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function Be(r){let e=``;for(let t in r)r.hasOwnProperty(t)&&(e.length&&(e+=`&`),e+=encodeURIComponent(t)+`=`+encodeURIComponent(r[t]));return e}function Le(r){let e={},t=r.split(`&`);for(let s=0,i=t.length;s<i;s++){let n=t[s].split(`=`);e[decodeURIComponent(n[0])]=decodeURIComponent(n[1])}return e}var W=class extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type=`TransportError`}};var _=class extends f{constructor(e){super(),this.writable=!1,g(this,e),this.opts=e,this.query=e.query,this.socket=e.socket,this.supportsBinary=!e.forceBase64}onError(e,t,s){return super.emitReserved(`error`,new W(e,t,s)),this}open(){return this.readyState=`opening`,this.doOpen(),this}close(){return(this.readyState===`opening`||this.readyState===`open`)&&(this.doClose(),this.onClose()),this}send(e){this.readyState===`open`&&this.write(e)}onOpen(){this.readyState=`open`,this.writable=!0,super.emitReserved(`open`)}onData(e){let t=L(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved(`packet`,e)}onClose(e){this.readyState=`closed`,super.emitReserved(`close`,e)}pause(e){}createUri(e,t={}){return e+`://`+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){let e=this.opts.hostname;return e.indexOf(`:`)===-1?e:`[`+e+`]`}_port(){return this.opts.port&&(this.opts.secure&&Number(this.opts.port)!==443||!this.opts.secure&&Number(this.opts.port)!==80)?`:`+this.opts.port:``}_query(e){let t=Be(e);return t.length?`?`+t:``}};var P=class extends _{constructor(){super(...arguments),this._polling=!1}get name(){return`polling`}doOpen(){this._poll()}pause(e){this.readyState=`pausing`;let t=()=>{this.readyState=`paused`,e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once(`pollComplete`,function(){--s||t()})),this.writable||(s++,this.once(`drain`,function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved(`poll`)}onData(e){let t=s=>{if(this.readyState===`opening`&&s.type===`open`&&this.onOpen(),s.type===`close`)return this.onClose({description:`transport closed by the server`}),!1;this.onPacket(s)};Ce(e,this.socket.binaryType).forEach(t),this.readyState!==`closed`&&(this._polling=!1,this.emitReserved(`pollComplete`),this.readyState===`open`&&this._poll())}doClose(){let e=()=>{this.write([{type:`close`}])};this.readyState===`open`?e():this.once(`open`,e)}write(e){this.writable=!1,Ae(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved(`drain`)})})}uri(){let e=this.opts.secure?`https`:`http`,t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=H()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}};var Pe=!1;try{Pe=typeof XMLHttpRequest<`u`&&`withCredentials`in new XMLHttpRequest}catch(r){}var qe=Pe;function et(){}var ee=class extends P{constructor(e){if(super(e),typeof location<`u`){let t=location.protocol===`https:`,s=location.port;s||(s=t?`443`:`80`),this.xd=typeof location<`u`&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){let s=this.request({method:`POST`,data:e});s.on(`success`,t),s.on(`error`,(i,n)=>{this.onError(`xhr post error`,i,n)})}doPoll(){let e=this.request();e.on(`data`,this.onData.bind(this)),e.on(`error`,(t,s)=>{this.onError(`xhr poll error`,t,s)}),this.pollXhr=e}};var K=(()=>{class r extends f{constructor(t,s,i){super(),this.createRequest=t,g(this,i),this._opts=i,this._method=i.method||`GET`,this._uri=s,this._data=i.data!==void 0?i.data:null,this._create()}_create(){var t;let s=M(this._opts,`agent`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`autoUnref`);s.xdomain=!!this._opts.xd;let i=this._xhr=this.createRequest(s);try{i.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){i.setDisableHeaderCheck&&i.setDisableHeaderCheck(!0);for(let n in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(n)&&i.setRequestHeader(n,this._opts.extraHeaders[n])}}catch(n){}if(this._method===`POST`)try{i.setRequestHeader(`Content-type`,`text/plain;charset=UTF-8`)}catch(n){}try{i.setRequestHeader(`Accept`,`*/*`)}catch(n){}(t=this._opts.cookieJar)===null||t===void 0||t.addCookies(i),`withCredentials`in i&&(i.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(i.timeout=this._opts.requestTimeout),i.onreadystatechange=()=>{var n;i.readyState===3&&((n=this._opts.cookieJar)===null||n===void 0||n.parseCookies(i.getResponseHeader(`set-cookie`))),i.readyState===4&&(i.status===200||i.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof i.status==`number`?i.status:0)},0))},i.send(this._data)}catch(n){this.setTimeoutFn(()=>{this._onError(n)},0);return}typeof document<`u`&&(this._index=r.requestsCount++,r.requests[this._index]=this)}_onError(t){this.emitReserved(`error`,t,this._xhr),this._cleanup(!0)}_cleanup(t){if(!(typeof this._xhr>`u`||this._xhr===null)){if(this._xhr.onreadystatechange=et,t)try{this._xhr.abort()}catch(s){}typeof document<`u`&&delete r.requests[this._index],this._xhr=null}}_onLoad(){let t=this._xhr.responseText;t!==null&&(this.emitReserved(`data`,t),this.emitReserved(`success`),this._cleanup())}abort(){this._cleanup()}}return r.requestsCount=0,r.requests={},r})();if(typeof document<`u`){if(typeof attachEvent==`function`)attachEvent(`onunload`,De);else if(typeof addEventListener==`function`){let r=`onpagehide`in u?`pagehide`:`unload`;addEventListener(r,De,!1)}}function De(){for(let r in K.requests)K.requests.hasOwnProperty(r)&&K.requests[r].abort()}var tt=(function(){let r=Ie({xdomain:!1});return r&&r.responseType!==null})();var w=class extends ee{constructor(e){super(e);let t=e&&e.forceBase64;this.supportsBinary=tt&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new K(Ie,this.uri(),e)}};function Ie(r){let e=r.xdomain;try{if(typeof XMLHttpRequest<`u`&&(!e||qe))return new XMLHttpRequest}catch(t){}if(!e)try{return new u[[`Active`].concat(`Object`).join(`X`)](`Microsoft.XMLHTTP`)}catch(t){}}var Fe=typeof navigator<`u`&&typeof navigator.product==`string`&&navigator.product.toLowerCase()===`reactnative`;var re=class extends _{get name(){return`websocket`}doOpen(){let e=this.uri(),t=this.opts.protocols,s=Fe?{}:M(this.opts,`agent`,`perMessageDeflate`,`pfx`,`key`,`passphrase`,`cert`,`ca`,`ciphers`,`rejectUnauthorized`,`localAddress`,`protocolVersion`,`origin`,`maxPayload`,`family`,`checkServerIdentity`);this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved(`error`,i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:`websocket connection closed`,context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError(`websocket error`,e)}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;N(s,this.supportsBinary,n=>{try{this.doWrite(s,n)}catch(o){}i&&y(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){typeof this.ws<`u`&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){let e=this.opts.secure?`wss`:`ws`,t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=H()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}};var te=u.WebSocket||u.MozWebSocket;var E=class extends re{createSocket(e,t,s){return Fe?new te(e,t,s):t?new te(e,t):new te(e)}doWrite(e,t){this.ws.send(t)}};var v=class extends _{get name(){return`webtransport`}doOpen(){try{this._transport=new WebTransport(this.createUri(`https`),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved(`error`,e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError(`webtransport error`,e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{let t=Oe(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=Re();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();let n=()=>{s.read().then(({done:a,value:h})=>{a||(this.onPacket(h),n())}).catch(a=>{})};n();let o={type:`open`};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t<e.length;t++){let s=e[t],i=t===e.length-1;this._writer.write(s).then(()=>{i&&y(()=>{this.writable=!0,this.emitReserved(`drain`)},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}};var se={websocket:E,webtransport:v,polling:w};var rt=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;var st=[`source`,`protocol`,`authority`,`userInfo`,`user`,`password`,`host`,`port`,`relative`,`path`,`directory`,`file`,`query`,`anchor`];function x(r){if(r.length>8e3)throw`URI too long`;let e=r,t=r.indexOf(`[`),s=r.indexOf(`]`);t!=-1&&s!=-1&&(r=r.substring(0,t)+r.substring(t,s).replace(/:/g,`;`)+r.substring(s,r.length));let i=rt.exec(r||``),n={},o=14;for(;o--;)n[st[o]]=i[o]||``;return t!=-1&&s!=-1&&(n.source=e,n.host=n.host.substring(1,n.host.length-1).replace(/;/g,`:`),n.authority=n.authority.replace(`[`,``).replace(`]`,``).replace(/;/g,`:`),n.ipv6uri=!0),n.pathNames=it(n,n.path),n.queryKey=nt(n,n.query),n}function it(r,e){let s=e.replace(/\/{2,9}/g,`/`).split(`/`);return(e.slice(0,1)==`/`||e.length===0)&&s.splice(0,1),e.slice(-1)==`/`&&s.splice(s.length-1,1),s}function nt(r,e){let t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,n){i&&(t[i]=n)}),t}var ie=typeof addEventListener==`function`&&typeof removeEventListener==`function`;var Y=[];ie&&addEventListener(`offline`,()=>{Y.forEach(r=>r())},!1);var J=(()=>{class r extends f{constructor(t,s){if(super(),this.binaryType=Se,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=Infinity,t&&typeof t==`object`&&(s=t,t=null),t){let i=x(t);s.hostname=i.host,s.secure=i.protocol===`https`||i.protocol===`wss`,s.port=i.port,i.query&&(s.query=i.query)}else s.host&&(s.hostname=x(s.host).host);g(this,s),this.secure=s.secure!=null?s.secure:typeof location<`u`&&location.protocol===`https:`,s.hostname&&!s.port&&(s.port=this.secure?`443`:`80`),this.hostname=s.hostname||(typeof location<`u`?location.hostname:`localhost`),this.port=s.port||(typeof location<`u`&&location.port?location.port:this.secure?`443`:`80`),this.transports=[],this._transportsByName={},s.transports.forEach(i=>{let n=i.prototype.name;this.transports.push(n),this._transportsByName[n]=i}),this.opts=Object.assign({path:`/engine.io`,agent:!1,withCredentials:!1,upgrade:!0,timestampParam:`t`,rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},s),this.opts.path=this.opts.path.replace(/\/$/,``)+(this.opts.addTrailingSlash?`/`:``),typeof this.opts.query==`string`&&(this.opts.query=Le(this.opts.query)),ie&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener(`beforeunload`,this._beforeunloadEventListener,!1)),this.hostname!==`localhost`&&(this._offlineEventListener=()=>{this._onClose(`transport close`,{description:`network connection lost`})},Y.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(t){let s=Object.assign({},this.opts.query);s.EIO=Z,s.transport=t,this.id&&(s.sid=this.id);let i=Object.assign({},this.opts,{query:s,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[t]);return new this._transportsByName[t](i)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved(`error`,`No transports available`)},0);return}let t=this.opts.rememberUpgrade&&r.priorWebsocketSuccess&&this.transports.indexOf(`websocket`)!==-1?`websocket`:this.transports[0];this.readyState=`opening`;let s=this.createTransport(t);s.open(),this.setTransport(s)}setTransport(t){this.transport&&this.transport.removeAllListeners(),this.transport=t,t.on(`drain`,this._onDrain.bind(this)).on(`packet`,this._onPacket.bind(this)).on(`error`,this._onError.bind(this)).on(`close`,s=>this._onClose(`transport close`,s))}onOpen(){this.readyState=`open`,r.priorWebsocketSuccess=this.transport.name===`websocket`,this.emitReserved(`open`),this.flush()}_onPacket(t){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`)switch(this.emitReserved(`packet`,t),this.emitReserved(`heartbeat`),t.type){case`open`:this.onHandshake(JSON.parse(t.data));break;case`ping`:this._sendPacket(`pong`),this.emitReserved(`ping`),this.emitReserved(`pong`),this._resetPingTimeout();break;case`error`:let s=new Error(`server error`);s.code=t.data,this._onError(s);break;case`message`:this.emitReserved(`data`,t.data),this.emitReserved(`message`,t.data);break}}onHandshake(t){this.emitReserved(`handshake`,t),this.id=t.sid,this.transport.query.sid=t.sid,this._pingInterval=t.pingInterval,this._pingTimeout=t.pingTimeout,this._maxPayload=t.maxPayload,this.onOpen(),this.readyState!==`closed`&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);let t=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+t,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose(`ping timeout`)},t),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved(`drain`):this.flush()}flush(){if(this.readyState!==`closed`&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){let t=this._getWritablePackets();this.transport.send(t),this._prevBufferLen=t.length,this.emitReserved(`flush`)}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name===`polling`&&this.writeBuffer.length>1))return this.writeBuffer;let s=1;for(let i=0;i<this.writeBuffer.length;i++){let n=this.writeBuffer[i].data;if(n&&(s+=Ne(n)),i>0&&s>this._maxPayload)return this.writeBuffer.slice(0,i);s+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;let t=Date.now()>this._pingTimeoutTime;return t&&(this._pingTimeoutTime=0,y(()=>{this._onClose(`ping timeout`)},this.setTimeoutFn)),t}write(t,s,i){return this._sendPacket(`message`,t,s,i),this}send(t,s,i){return this._sendPacket(`message`,t,s,i),this}_sendPacket(t,s,i,n){if(typeof s==`function`&&(n=s,s=void 0),typeof i==`function`&&(n=i,i=null),this.readyState===`closing`||this.readyState===`closed`)return;i=i||{},i.compress=i.compress!==!1;let o={type:t,data:s,options:i};this.emitReserved(`packetCreate`,o),this.writeBuffer.push(o),n&&this.once(`flush`,n),this.flush()}close(){let t=()=>{this._onClose(`forced close`),this.transport.close()},s=()=>{this.off(`upgrade`,s),this.off(`upgradeError`,s),t()},i=()=>{this.once(`upgrade`,s),this.once(`upgradeError`,s)};return(this.readyState===`opening`||this.readyState===`open`)&&(this.readyState=`closing`,this.writeBuffer.length?this.once(`drain`,()=>{this.upgrading?i():t()}):this.upgrading?i():t()),this}_onError(t){if(r.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState===`opening`)return this.transports.shift(),this._open();this.emitReserved(`error`,t),this._onClose(`transport error`,t)}_onClose(t,s){if(this.readyState===`opening`||this.readyState===`open`||this.readyState===`closing`){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners(`close`),this.transport.close(),this.transport.removeAllListeners(),ie&&(this._beforeunloadEventListener&&removeEventListener(`beforeunload`,this._beforeunloadEventListener,!1),this._offlineEventListener)){let i=Y.indexOf(this._offlineEventListener);i!==-1&&Y.splice(i,1)}this.readyState=`closed`,this.id=null,this.emitReserved(`close`,t,s),this.writeBuffer=[],this._prevBufferLen=0}}}return r.protocol=Z,r})();var z=class extends J{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState===`open`&&this.opts.upgrade)for(let e=0;e<this._upgrades.length;e++)this._probe(this._upgrades[e])}_probe(e){let t=this.createTransport(e),s=!1;J.priorWebsocketSuccess=!1;let i=()=>{s||(t.send([{type:`ping`,data:`probe`}]),t.once(`packet`,b=>{if(!s)if(b.type===`pong`&&b.data===`probe`){if(this.upgrading=!0,this.emitReserved(`upgrading`,t),!t)return;J.priorWebsocketSuccess=t.name===`websocket`,this.transport.pause(()=>{s||this.readyState!==`closed`&&(p(),this.setTransport(t),t.send([{type:`upgrade`}]),this.emitReserved(`upgrade`,t),t=null,this.upgrading=!1,this.flush())})}else{let R=new Error(`probe error`);R.transport=t.name,this.emitReserved(`upgradeError`,R)}}))};function n(){s||(s=!0,p(),t.close(),t=null)}let o=b=>{let R=new Error(`probe error: `+b);R.transport=t.name,n(),this.emitReserved(`upgradeError`,R)};function a(){o(`transport closed`)}function h(){o(`socket closed`)}function m(b){t&&b.name!==t.name&&n()}let p=()=>{t.removeListener(`open`,i),t.removeListener(`error`,o),t.removeListener(`close`,a),this.off(`close`,h),this.off(`upgrading`,m)};t.once(`open`,i),t.once(`error`,o),t.once(`close`,a),this.once(`close`,h),this.once(`upgrading`,m),this._upgrades.indexOf(`webtransport`)!==-1&&e!==`webtransport`?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){let t=[];for(let s=0;s<e.length;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}};var T=class extends z{constructor(e,t={}){let s=typeof e==`object`,i=s?w$1({},e):w$1({},t);(!i.transports||i.transports&&typeof i.transports[0]==`string`)&&(i.transports=(i.transports||[`polling`,`websocket`,`webtransport`]).map(n=>se[n]).filter(n=>!!n)),super(s?i:e,i)}};T.protocol;function Ue(r,e=``,t){let s=r;t=t||typeof location<`u`&&location,r??=t.protocol+`//`+t.host,typeof r==`string`&&(r.charAt(0)===`/`&&(r.charAt(1)===`/`?r=t.protocol+r:r=t.host+r),/^(https?|wss?):\/\//.test(r)||(typeof t<`u`?r=t.protocol+`//`+r:r=`https://`+r),s=x(r)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port=`80`:/^(http|ws)s$/.test(s.protocol)&&(s.port=`443`)),s.path=s.path||`/`;let n=s.host.indexOf(`:`)!==-1?`[`+s.host+`]`:s.host;return s.id=s.protocol+`://`+n+`:`+s.port+e,s.href=s.protocol+`://`+n+(t&&t.port===s.port?``:`:`+s.port),s}var he={};C$1(he,{Decoder:()=>ae,Encoder:()=>oe,PacketType:()=>c,isPacketValid:()=>dt,protocol:()=>Ke});var at=typeof ArrayBuffer==`function`;var ct=r=>typeof ArrayBuffer.isView==`function`?ArrayBuffer.isView(r):r.buffer instanceof ArrayBuffer;var Ve=Object.prototype.toString;var ht=typeof Blob==`function`||typeof Blob<`u`&&Ve.call(Blob)===`[object BlobConstructor]`;var ft=typeof File==`function`||typeof File<`u`&&Ve.call(File)===`[object FileConstructor]`;function D(r){return at&&(r instanceof ArrayBuffer||ct(r))||ht&&r instanceof Blob||ft&&r instanceof File}function q(r,e){if(!r||typeof r!=`object`)return!1;if(Array.isArray(r)){for(let t=0,s=r.length;t<s;t++)if(q(r[t]))return!0;return!1}if(D(r))return!0;if(r.toJSON&&typeof r.toJSON==`function`&&arguments.length===1)return q(r.toJSON(),!0);for(let t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&q(r[t]))return!0;return!1}function Me(r){let e=[],t=r.data,s=r;return s.data=X(t,e),s.attachments=e.length,{packet:s,buffers:e}}function X(r,e,t){if(!r)return r;if(D(r)){let s={_placeholder:!0,num:e.length};return e.push(r),s}else if(Array.isArray(r)){let s=new Array(r.length);for(let i=0;i<r.length;i++)s[i]=X(r[i],e);return s}else if(typeof r==`object`&&!(r instanceof Date)){if(r.toJSON&&typeof r.toJSON==`function`&&!t)return X(r.toJSON(),e,!0);let s={};for(let i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[i]=X(r[i],e));return s}return r}function He(r,e){return r.data=ne(r.data,e),delete r.attachments,r}function ne(r,e){if(!r)return r;if(r&&r._placeholder===!0){if(typeof r.num==`number`&&r.num>=0&&r.num<e.length)return e[r.num];throw new Error(`illegal attachments`)}else if(Array.isArray(r))for(let t=0;t<r.length;t++)r[t]=ne(r[t],e);else if(typeof r==`object`)for(let t in r)Object.prototype.hasOwnProperty.call(r,t)&&(r[t]=ne(r[t],e));return r}var We=[`connect`,`connect_error`,`disconnect`,`disconnecting`,`newListener`,`removeListener`];var Ke=5;var c=(function(r){return r[r.CONNECT=0]=`CONNECT`,r[r.DISCONNECT=1]=`DISCONNECT`,r[r.EVENT=2]=`EVENT`,r[r.ACK=3]=`ACK`,r[r.CONNECT_ERROR=4]=`CONNECT_ERROR`,r[r.BINARY_EVENT=5]=`BINARY_EVENT`,r[r.BINARY_ACK=6]=`BINARY_ACK`,r})(c||{});var oe=class{constructor(e){this.replacer=e}encode(e){return(e.type===c.EVENT||e.type===c.ACK)&&q(e)?this.encodeAsBinary({type:e.type===c.EVENT?c.BINARY_EVENT:c.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=``+e.type;return(e.type===c.BINARY_EVENT||e.type===c.BINARY_ACK)&&(t+=e.attachments+`-`),e.nsp&&e.nsp!==`/`&&(t+=e.nsp+`,`),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),t}encodeAsBinary(e){let t=Me(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}};var ae=class r extends f{constructor(e){super(),this.opts=Object.assign({reviver:void 0,maxAttachments:10},typeof e==`function`?{reviver:e}:e)}add(e){let t;if(typeof e==`string`){if(this.reconstructor)throw new Error(`got plaintext data when reconstructing a packet`);t=this.decodeString(e);let s=t.type===c.BINARY_EVENT;s||t.type===c.BINARY_ACK?(t.type=s?c.EVENT:c.ACK,this.reconstructor=new ce(t)):super.emitReserved(`decoded`,t)}else if(D(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved(`decoded`,t));else throw new Error(`got binary data when not reconstructing a packet`);else throw new Error(`Unknown type: `+e)}decodeString(e){let t=0,s={type:Number(e.charAt(0))};if(c[s.type]===void 0)throw new Error(`unknown packet type `+s.type);if(s.type===c.BINARY_EVENT||s.type===c.BINARY_ACK){let n=t+1;for(;e.charAt(++t)!==`-`&&t!=e.length;);let o=e.substring(n,t);if(o!=Number(o)||e.charAt(t)!==`-`)throw new Error(`Illegal attachments`);let a=Number(o);if(!Ye(a)||a<1)throw new Error(`Illegal attachments`);if(a>this.opts.maxAttachments)throw new Error(`too many attachments`);s.attachments=a}if(e.charAt(t+1)===`/`){let n=t+1;for(;++t&&!(e.charAt(t)===`,`||t===e.length););s.nsp=e.substring(n,t)}else s.nsp=`/`;let i=e.charAt(t+1);if(i!==``&&Number(i)==i){let n=t+1;for(;++t;){let o=e.charAt(t);if(o==null||Number(o)!=o){--t;break}if(t===e.length)break}s.id=Number(e.substring(n,t+1))}if(e.charAt(++t)){let n=this.tryParse(e.substr(t));if(r.isPayloadValid(s.type,n))s.data=n;else throw new Error(`invalid payload`)}return s}tryParse(e){try{return JSON.parse(e,this.opts.reviver)}catch(t){return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return $(t);case c.DISCONNECT:return t===void 0;case c.CONNECT_ERROR:return typeof t==`string`||$(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]==`number`||typeof t[0]==`string`&&We.indexOf(t[0])===-1);case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};var ce=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=He(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function ut(r){return typeof r==`string`}var Ye=Number.isInteger||function(r){return typeof r==`number`&&isFinite(r)&&Math.floor(r)===r};function lt(r){return r===void 0||Ye(r)}function $(r){return Object.prototype.toString.call(r)===`[object Object]`}function pt(r,e){switch(r){case c.CONNECT:return e===void 0||$(e);case c.DISCONNECT:return e===void 0;case c.EVENT:return Array.isArray(e)&&(typeof e[0]==`number`||typeof e[0]==`string`&&We.indexOf(e[0])===-1);case c.ACK:return Array.isArray(e);case c.CONNECT_ERROR:return typeof e==`string`||$(e);default:return!1}}function dt(r){return ut(r.nsp)&<(r.id)&&pt(r.type,r.data)}function l(r,e,t){return r.on(e,t),function(){r.off(e,t)}}var mt=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});var A=class extends f{constructor(e,t,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=e,this.nsp=t,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;let e=this.io;this.subs=[l(e,`open`,this.onopen.bind(this)),l(e,`packet`,this.onpacket.bind(this)),l(e,`error`,this.onerror.bind(this)),l(e,`close`,this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState===`open`&&this.onopen(),this)}open(){return this.connect()}send(...e){return e.unshift(`message`),this.emit.apply(this,e),this}emit(e,...t){var s,i,n;if(mt.hasOwnProperty(e))throw new Error(`"`+e.toString()+`" is a reserved event name`);if(t.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(t),this;let o={type:c.EVENT,data:t};if(o.options={},o.options.compress=this.flags.compress!==!1,typeof t[t.length-1]==`function`){let p=this.ids++,b=t.pop();this._registerAckCallback(p,b),o.id=p}let a=(i=(s=this.io.engine)===null||s===void 0?void 0:s.transport)===null||i===void 0?void 0:i.writable,h=this.connected&&!(!((n=this.io.engine)===null||n===void 0)&&n._hasPingExpired());return this.flags.volatile&&!a||(h?(this.notifyOutgoingListeners(o),this.packet(o)):this.sendBuffer.push(o)),this.flags={},this}_registerAckCallback(e,t){var s;let i=(s=this.flags.timeout)!==null&&s!==void 0?s:this._opts.ackTimeout;if(i===void 0){this.acks[e]=t;return}let n=this.io.setTimeoutFn(()=>{delete this.acks[e];for(let a=0;a<this.sendBuffer.length;a++)this.sendBuffer[a].id===e&&this.sendBuffer.splice(a,1);t.call(this,new Error(`operation has timed out`))},i),o=(...a)=>{this.io.clearTimeoutFn(n),t.apply(this,a)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{let n=(o,a)=>o?i(o):s(a);n.withError=!0,t.push(n),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]==`function`&&(t=e.pop());let s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...n)=>(this._queue[0],i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...n)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;let t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth==`function`?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:c.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved(`connect_error`,e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved(`disconnect`,e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){let s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error(`socket has been disconnected`))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case c.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved(`connect_error`,new Error(`It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)`));break;case c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.CONNECT_ERROR:this.destroy();let s=new Error(e.data.message);s.data=e.data.data,this.emitReserved(`connect_error`,s);break}}onevent(e){let t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){let t=this._anyListeners.slice();for(let s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]==`string`&&(this._lastOffset=e[e.length-1])}ack(e){let t=this,s=!1;return function(...i){s||(s=!0,t.packet({type:c.ACK,id:e,data:i}))}}onack(e){let t=this.acks[e.id];typeof t==`function`&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved(`connect`)}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose(`io server disconnect`)}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:c.DISCONNECT}),this.destroy(),this.connected&&this.onclose(`io client disconnect`),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){let t=this._anyListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let s=0;s<t.length;s++)if(e===t[s])return t.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let s of t)s.apply(this,e.data)}}};function k(r){r=r||{},this.ms=r.min||100,this.max=r.max||1e4,this.factor=r.factor||2,this.jitter=r.jitter>0&&r.jitter<=1?r.jitter:0,this.attempts=0}k.prototype.duration=function(){var r=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*r);r=(Math.floor(e*10)&1)==0?r-t:r+t}return Math.min(r,this.max)|0};k.prototype.reset=function(){this.attempts=0};k.prototype.setMin=function(r){this.ms=r};k.prototype.setMax=function(r){this.max=r};k.prototype.setJitter=function(r){this.jitter=r};var C=class extends f{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e==`object`&&(t=e,e=void 0),t=t||{},t.path=t.path||`/socket.io`,this.opts=t,g(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||Infinity),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new k({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState=`closed`,this.uri=e;let i=t.parser||he;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf(`open`))return this;this.engine=new T(this.uri,this.opts);let t=this.engine,s=this;this._readyState=`opening`,this.skipReconnect=!1;let i=l(t,`open`,function(){s.onopen(),e&&e()}),n=a=>{this.cleanup(),this._readyState=`closed`,this.emitReserved(`error`,a),e?e(a):this.maybeReconnectOnOpen()},o=l(t,`error`,n);if(this._timeout!==!1){let a=this._timeout,h=this.setTimeoutFn(()=>{i(),n(new Error(`timeout`)),t.close()},a);this.opts.autoUnref&&h.unref(),this.subs.push(()=>{this.clearTimeoutFn(h)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState=`open`,this.emitReserved(`open`);let e=this.engine;this.subs.push(l(e,`ping`,this.onping.bind(this)),l(e,`data`,this.ondata.bind(this)),l(e,`error`,this.onerror.bind(this)),l(e,`close`,this.onclose.bind(this)),l(this.decoder,`decoded`,this.ondecoded.bind(this)))}onping(){this.emitReserved(`ping`)}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose(`parse error`,t)}}ondecoded(e){y(()=>{this.emitReserved(`packet`,e)},this.setTimeoutFn)}onerror(e){this.emitReserved(`error`,e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new A(this,e,t),this.nsps[e]=s),s}_destroy(e){let t=Object.keys(this.nsps);for(let s of t)if(this.nsps[s].active)return;this._close()}_packet(e){let t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){this.subs.forEach(e=>e()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose(`forced close`)}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState=`closed`,this.emitReserved(`close`,e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;let e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved(`reconnect_failed`),this._reconnecting=!1;else{let t=this.backoff.duration();this._reconnecting=!0;let s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved(`reconnect_attempt`,e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved(`reconnect_error`,i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){let e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved(`reconnect`,e)}};var I={};function F(r,e){typeof r==`object`&&(e=r,r=void 0),e=e||{};let t=Ue(r,e.path||`/socket.io`),s=t.source,i=t.id,n=t.path,o=I[i]&&n in I[i].nsps,a=e.forceNew||e[`force new connection`]||e.multiplex===!1||o,h;return a?h=new C(s,e):(I[i]||(I[i]=new C(s,e)),h=I[i]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(F,{Manager:C,Socket:A,io:F,connect:F});var ds=(()=>{class r{$auth=g$1(he$1);namespaceConnectionCache={};connectToNamespace(t){if(this.namespaceConnectionCache[t])return this.namespaceConnectionCache[t];let s=this.establishConnectionToNamespace(t);return s.connected=new Lr(1),s.socket.on(`connect`,()=>{s.connected.next()}),s.end=()=>{s.socket.emit(`end`)},this.namespaceConnectionCache[t]=s,s}getExistingNamespace(t){return this.namespaceConnectionCache[t]}establishConnectionToNamespace(t){let s=F(`${Co.api.socket}/${t}`,{auth:n=>n({token:this.$auth.token}),reconnectionAttempts:10,reconnectionDelayMax:3e4});return{socket:s,request:(n,o)=>new S$1(a=>{s.emit(n,o,h=>{typeof h==`object`&&h.error?a.error(h):a.next(h),a.complete()})})}}static ɵfac=function(s){return new(s||r)};static ɵprov=C$2({token:r,factory:r.ɵfac,providedIn:`root`})}return r})();export{ds as t};