@mablhq/mabl-cli 2.16.4 → 2.19.13

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.
@@ -1,2 +1,2 @@
1
1
  /*! Copyright © 2024 mabl Inc. All rights reserved. - License information can be found in LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("bufferutil")}catch(e){}}(),function(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bufferutil","utf-8-validate"],t):"object"==typeof exports?exports.socketTunnel=t(function(){try{return require("bufferutil")}catch(e){}}(),function(){try{return require("utf-8-validate")}catch(e){}}()):e.socketTunnel=t(e.bufferutil,e["utf-8-validate"])}(global,((e,t)=>(()=>{var s={4122:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocketTunnelClient=void 0;const i=s(1808),n=s(8398),o=s(8712),a=s(6655),r=s(9235),c=s(1719),p=s(8468);t.SocketTunnelClient=class{constructor(e,t){var s,n,o;this.tunnelUrl=e,this.sessionId=(0,a.nanoid)(),this.bindAddress=t.localAddress,this.bindPort=null!==(s=t.localPort)&&void 0!==s?s:t.remotePort,this.connectionTracing=null!==(n=t.connectionTracing)&&void 0!==n&&n,this.connectTimeoutMillis=null!==(o=t.connectTimeoutMillis)&&void 0!==o?o:c.DefaultConnectionTimeoutMillis,this.forwardingServer=(0,i.createServer)(),this.remoteHost=t.remoteHost,this.remotePort=t.remotePort,this.tunnel=this.initializeTunnel(t)}boundAddress(){var e;const t=null===(e=this.forwardingServer.address())||void 0===e?void 0:e.address;return"::"===t||"0.0.0.0"===t||"::1"===t||(null==t?void 0:t.startsWith("127."))||"localhost"===t?"localhost":t}boundPort(){var e;return null===(e=this.forwardingServer.address())||void 0===e?void 0:e.port}async connect(){console.log(`Connecting to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`),await this.openTunnelConnection(),await this.startForwarding(),console.log(`Connection established to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`)}async disconnect(){await this.stopForwarding(),await this.closeTunnelConnection(),console.log(`Connection to tunnel ${this.tunnelUrl} with session ID ${this.sessionId} closed`)}isConnected(){return this.tunnel.connected}initializeTunnel(e){var t,s;const i={},n={},a={"User-Agent":null!==(t=null==e?void 0:e.userAgent)&&void 0!==t?t:c.DefaultUserAgent};(null==e?void 0:e.httpAuthorization)&&(a.Authorization=this.generateAuthorizationHeader(e.httpAuthorization)),(null==e?void 0:e.tunnelAuthorization)&&(i.auth=async t=>{const s="function"==typeof e.tunnelAuthorization?await e.tunnelAuthorization():e.tunnelAuthorization;t(null!=s?s:{})}),(null==e?void 0:e.proxy)&&(n.agent=this.getAgent(this.tunnelUrl,e.proxy)),n.path=new URL(this.tunnelUrl).pathname;const p=new URL(`/?${r.SessionIdKey}=${this.sessionId}`,this.tunnelUrl).toString();return(0,o.io)(p,{...i,...n,autoConnect:!1,extraHeaders:a,rejectUnauthorized:null===(s=null==e?void 0:e.insecure)||void 0===s||s,transports:["websocket","polling","webtransport"]})}generateAuthorizationHeader(e){switch(e.type){case"basic":return`Basic ${Buffer.from(`${e.username}:${e.password}`).toString("base64")}`;case"bearer":return`Bearer ${e.bearerToken}`}}getAgent(e,t){let s="http://";if(t.credentials){const{username:e,password:i}=t.credentials;s+=`${e}:${i}@`}s+=`${t.host}:${t.port}`;const i={rejectUnauthorized:!1},o=new URL(e).protocol;return"https:"===o||"wss:"===o?new n.HttpsProxyAgent({proxy:s,proxyRequestOptions:i}):new n.HttpProxyAgent({proxy:s,proxyRequestOptions:i})}openTunnelConnection(){return new Promise(((e,t)=>{if(this.isConnected()){const e=Error(`Client already connected to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`);t(e)}else this.tunnel.once("connect_error",(e=>{if("TransportError"!==e.type)t(e);else{const s=e.description.error;t(s)}})),this.tunnel.on("connect",e),this.tunnel.on("disconnect",(e=>console.log(`Disconnected from server ${this.tunnelUrl} : ${e}`))),this.tunnel.connect()}))}closeTunnelConnection(){return new Promise((e=>{if(!this.isConnected())return console.warn("Attempted to close a tunnel connection on an already closed tunnel"),void e();this.tunnel.disconnect(),this.tunnel.disconnected?e():this.tunnel.once("disconnect",(t=>e()))}))}async startForwarding(){var e;console.log(`Opening port forwarder at ${null!==(e=this.bindAddress)&&void 0!==e?e:"*"}:${this.bindPort}`),await new Promise(((e,t)=>{this.forwardingServer.once("error",(e=>t(e))),this.forwardingServer.listen(this.bindPort,this.bindAddress,e)})),this.forwardingServer.on("connection",(async e=>{var t,s,i;const n=`${this.boundAddress()}:${this.boundPort()}`,o=`${null!==(t=e.remoteAddress)&&void 0!==t?t:""}:${e.remotePort}`;if(console.log(`Received new connection from ${o} => ${n}`),!this.isConnected())return console.log(`Rejecting connection from ${o} => ${n} because tunnel is not connected`),void e.destroy();let a;try{const t=await this.sendConnectRequest();if(!t.success){const s=new Error(t.error);return console.log(`Tunnel ${this.tunnel.id} with session ID ${this.sessionId} failed to establish connection to ${null!==(i=this.remoteHost)&&void 0!==i?i:""}:${this.remotePort} : ${s}`),void e.destroy()}console.log(`Tunnel ${this.tunnel.id} with session ID ${this.sessionId} successfully connected to ${null!==(s=this.remoteHost)&&void 0!==s?s:""}:${this.remotePort} with connection id ${t.connectionId}`),a=t.connectionId}catch(t){return console.log(`Failed to send connect request to tunnel ${this.tunnel.id} with session ID ${this.sessionId}: ${t}`),void e.destroy()}this.tunnel.on(r.ConnectionDataMessage,((t,s)=>{t===a&&(this.connectionTracing&&console.debug(`Writing ${s.byteLength} bytes from tunnel ${this.tunnel.id} with session ID ${this.sessionId} on connection ${a} to client ${o}`),e.write(s))})),this.tunnel.on(r.ConnectionCloseMessage,(t=>{t===a&&(this.connectionTracing&&console.debug(`Closing connection ${a} on tunnel ${this.tunnel.id} with session ID ${this.sessionId}`),e.destroy())})),e.on("data",(e=>{this.connectionTracing&&console.debug(`Sending ${e.byteLength} bytes from client ${o} to tunnel ${this.tunnel.id} with session ID ${this.sessionId} on connection ${a}`),this.tunnel.emit(r.ConnectionDataMessage,a,e)})),e.on("close",(e=>{console.log(`Connection from ${o} => ${n} closed`),this.tunnel.emit(r.ConnectionCloseMessage,a)})),e.on("error",(t=>{console.error(`Error on connection from ${o} => ${n}`,t),e.destroy()}))})),console.log(`Port forwarder listening at ${this.boundAddress()}:${this.boundPort()}`)}async sendConnectRequest(){var e,t;const s=null!==(e=this.connectTimeoutMillis)&&void 0!==e?e:c.DefaultConnectionTimeoutMillis,i={remoteHost:this.remoteHost,remotePort:this.remotePort,timeoutMillis:s};console.log(`Sending connect request for remote server at ${null!==(t=i.remoteHost)&&void 0!==t?t:""}:${i.remotePort} with session ID ${this.sessionId} via tunnel ${this.tunnel.id} with timeout ${s}ms`),this.tunnel.emit(r.ConnectRequestMessage,i);return await(0,p.withTimeout)(new Promise((e=>this.tunnel.once(r.ConnectResponseMessage,(t=>e(t))))),s)}async stopForwarding(){const e=this.boundAddress(),t=this.boundPort();this.forwardingServer.listening&&(console.log(`Closing port forwarder at ${e}:${t}`),await new Promise(((e,t)=>this.forwardingServer.close((s=>{s?t(s):e()})))),console.log(`Port forwarder at ${e}:${t} closed`))}}},1719:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultUserAgent=t.DefaultConnectionTimeoutMillis=void 0,t.DefaultConnectionTimeoutMillis=1e4,t.DefaultUserAgent="Socket Tunnel Client"},8613:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},9235:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionDataMessage=t.ConnectionCloseMessage=t.ConnectResponseMessage=t.ConnectRequestMessage=t.SessionIdKey=t.SessionIdError=t.AuthorizationError=t.ConnectionError=void 0;class s extends Error{constructor(e,t,s){super(t,s),this.data={},this.data.type=e}}t.ConnectionError=s;t.AuthorizationError=class extends s{constructor(e,t){super("authorization",null!=e?e:"Credentials are missing or invalid",t)}static isAuthorizationError(e){var t;return"authorization"===(null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.type)}};t.SessionIdError=class extends s{constructor(e,t){super("session_id",null!=e?e:"Session ID is missing or invalid",t)}static isSessionIdError(e){var t;return"session_id"===(null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.type)}},t.SessionIdKey="session",t.ConnectRequestMessage="tunnel::connect::request",t.ConnectResponseMessage="tunnel::connect::response",t.ConnectionCloseMessage="tunnel::close",t.ConnectionDataMessage="tunnel::data"},8468:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.withTimeout=void 0,t.withTimeout=async function(e,t){let s;const i=new Promise(((e,i)=>{s=globalThis.setTimeout((()=>i(new Error(`Timed out after ${t}ms`))),t)})),n=await Promise.race([i,e]);return globalThis.clearTimeout(s),n}},4382:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||i(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),t.SessionIdError=t.ConnectionError=t.AuthorizationError=void 0,n(s(4122),t),n(s(8613),t);var o=s(9235);Object.defineProperty(t,"AuthorizationError",{enumerable:!0,get:function(){return o.AuthorizationError}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return o.ConnectionError}}),Object.defineProperty(t,"SessionIdError",{enumerable:!0,get:function(){return o.SessionIdError}}),n(s(1155),t),n(s(645),t),n(s(5128),t),n(s(2614),t),n(s(1907),t)},1155:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AllowedConnectHostFilter=void 0;const i=s(5743);t.AllowedConnectHostFilter=class{constructor(e){if(this.allowedHostExpressions=null!=e?e:i.DefaultAllowedConnectHostExpressions,!this.allowedHostExpressions.length)throw new Error("At least one allowed connect host expression must be specified")}hostIsAllowed(e){return!!this.allowedHostExpressions.find((t=>e.match(t)))}}},645:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocketTunnelServer=void 0;const i=s(1808),n=s(3685),o=s(6655),a=s(2625),r=s(1155),c=s(9235),p=s(5743),l=s(8468);t.SocketTunnelServer=class{constructor(e){var t,s,i,n;this.connections=new Map,this.sessions=new Map,this.sessionDisconnectTimes=new Map,this.cleanup=this.cleanup.bind(this),this.openConnection=this.openConnection.bind(this),this.closeConnection=this.closeConnection.bind(this),this.sendConnectionDataToRemoteHost=this.sendConnectionDataToRemoteHost.bind(this),this.address=null==e?void 0:e.address,this.allowedConnectHostFilter=new r.AllowedConnectHostFilter(null==e?void 0:e.allowedConnectHosts),this.connectionTracing=null!==(t=null==e?void 0:e.connectionTracing)&&void 0!==t?t:p.DefaultConnectionTracking,this.destroySessionOnDisconnect=null!==(s=null==e?void 0:e.destroySessionOnDisconnect)&&void 0!==s?s:p.DefaultDestroySessionOnDisconnect,this.httpAuthorizer=null==e?void 0:e.httpAuthorizer,this.port=null!==(i=null==e?void 0:e.port)&&void 0!==i?i:p.DefaultBindPort,this.sessionReconnectGracePeriodSeconds=null!==(n=null==e?void 0:e.sessionReconnectGracePeriodSeconds)&&void 0!==n?n:p.DefaultTunnelReconnectGracePeriodSeconds,this.tunnelAuthorizer=null==e?void 0:e.tunnelAuthorizer,this.httpServer=this.initializeHttpServer(),this.tunnel=this.initializeTunnel(e)}initializeHttpServer(){const e=(0,n.createServer)();return e.on("request",(async(e,t)=>{await this.isHttpRequestAuthorized(e)||(t.writeHead(401),t.end())})),e.on("upgrade",(async(e,t)=>{await this.isHttpRequestAuthorized(e)||(t.write("HTTP/1.1 401 Unauthorized\r\nConnection: Close\r\n\r\n"),t.destroy())})),e}initializeTunnel(e){var t;const s=new a.Server({allowRequest:async(e,t)=>{try{t(null,await this.isHttpRequestAuthorized(e))}catch(e){t(`${e}`,!1)}},path:null!==(t=null==e?void 0:e.path)&&void 0!==t?t:p.DefaultPath});return s.use((async(e,t)=>{var s;const i=e.handshake.query[c.SessionIdKey];if(!i||"string"!=typeof i)return console.log(`Received ${i?"invalid":"missing"} session id from client ${e.client.conn.remoteAddress}: '${JSON.stringify(i,void 0,0)}'`),t(new c.SessionIdError);try{if(!await this.isTunnelSessionAuthorized(e.handshake.auth,i)){const n=Object.keys(null!==(s=e.handshake.auth)&&void 0!==s?s:{}).length>0;return console.log(`Received ${n?"invalid":"missing"} tunnel credentials from client ${e.client.conn.remoteAddress} with session ID ${i}`),t(new c.AuthorizationError)}}catch(e){return t(new c.AuthorizationError(`Error occurred while authorizing tunnel session: ${e}`,{cause:e}))}const n=this.sessionDisconnectTimes.get(i);n?(console.log(`Session ${i} reconnected with new client ${e.id} (old client disconnected at ${new Date(n).toUTCString()})`),this.sessionDisconnectTimes.delete(i)):console.log(`Received new tunnel connection ${e.id} from ${e.client.conn.remoteAddress} with session ID ${i}`),this.sessions.set(i,e),e.on("disconnecting",(t=>{console.log(`Tunnel connection ${e.id} from ${e.client.conn.remoteAddress} with session ID ${i} disconnected: ${t}`),this.destroySessionOnDisconnect&&"ping timeout"!==t?this.destroySession(i):(this.sessions.delete(i),this.sessionDisconnectTimes.set(i,Date.now()))})),e.on(c.ConnectRequestMessage,(t=>this.openConnection(i,t,e))),e.on(c.ConnectionCloseMessage,(e=>this.closeConnection(i,e,!1))),e.on(c.ConnectionDataMessage,((t,s)=>this.sendConnectionDataToRemoteHost(e,i,t,s))),t()})),s}async isHttpRequestAuthorized(e){if(!this.httpAuthorizer)return!0;const t=await this.httpAuthorizer.isAuthorized(e),s=!!e.headers.upgrade,i=!!e.headers.authorization;return console.log(`HTTP ${e.method}${s?" (upgrade)":""} request ${e.url} from ${e.socket.remoteAddress} is ${t?"authorized":"NOT authorized"}${i?"":" (no authorization header)"}`),t}async isTunnelSessionAuthorized(e,t){if(!this.tunnelAuthorizer)return!0;const s=await this.tunnelAuthorizer.isAuthorized(e,t);return console.log(`Tunnel session ${t} is ${s?"authorized":"NOT authorized"}`),s}boundPort(){var e;return null===(e=this.httpServer.address())||void 0===e?void 0:e.port}async start(){var e;if(this.cleanupTimer)throw new Error("Server already running");await new Promise(((e,t)=>{this.httpServer.listen(this.port,this.address).once("listening",e).once("error",t)})),this.tunnel.attach(this.httpServer),this.cleanupTimer=globalThis.setInterval(this.cleanup,p.CleanupTimerPeriodMillis),console.log(`Tunnel Server listening on ${null!==(e=this.address)&&void 0!==e?e:"*"}:${this.boundPort()}`)}async stop(){var e;if(!this.cleanupTimer)throw new Error("Server already stopped");await new Promise(((e,t)=>this.httpServer.close((s=>{if(s)return t(s);e()}))));for(const t in this.connections.keys())for(const s in null===(e=this.connections.get(t))||void 0===e?void 0:e.keys())this.closeConnection(t,s,!0);this.connections.clear(),this.sessions.forEach(((e,t)=>{console.log(`Closing tunnel ${e.id} from ${e.conn.remoteAddress} for session ${t}`),e.disconnect(!0)})),this.sessions.clear(),globalThis.clearInterval(this.cleanupTimer),this.cleanupTimer=void 0}async openConnection(e,t,s){var n;const a=(0,o.nanoid)();console.log(`Generated connection ID ${a} for connect request`,t);const r=null!==(n=t.remoteHost)&&void 0!==n?n:p.DefaultConnectHost;if(!this.allowedConnectHostFilter.hostIsAllowed(r)){const e=`Rejecting request ${a} to connect to host not in allowed list: ${r}`;console.log(e);const t={connectionId:a,error:e,success:!1};return void s.emit(c.ConnectResponseMessage,t)}const u=new i.Socket;try{await(0,l.withTimeout)(new Promise(((i,n)=>{u.once("connect",i),u.once("error",(e=>n(e))),u.once("timeout",(()=>n(new Error(`Timed out connecting to ${r}:${t.remotePort}`)))),console.log(`Connecting to ${r}:${t.remotePort} with timeout ${t.timeoutMillis}ms on connection ${a} in session ${e} for tunnel ${s.id}`),u.connect({host:r,keepAlive:!0,noDelay:!0,port:t.remotePort})})),t.timeoutMillis),u.on("data",(s=>{const i=this.sessions.get(e);i?(this.connectionTracing&&console.debug(`Sending ${s.byteLength} bytes from ${r}:${t.remotePort} to tunnel ${i.id} on connection ${a} in session ${e}`),i.emit(c.ConnectionDataMessage,a,s)):this.connectionTracing&&console.log(`Dropping ${s.byteLength} bytes from ${r}:${t.remotePort} because no active tunnel connection exists for session ${e}`)})),u.on("close",(()=>{this.sessions.get(e)?this.closeConnection(e,a,!0):this.connectionTracing&&console.log(`Unable to send close message for connection ${a} because no active tunnel connection exists for session ${e}`)}));let i=this.connections.get(e);i||(i=new Map,this.connections.set(e,i)),i.set(a,u);const n={connectionId:a,success:!0};s.emit(c.ConnectResponseMessage,n),console.log(`Successfully connected to ${r}:${t.remotePort} with connection ID ${a} in session ${e} for tunnel ${s.id}`)}catch(e){console.log(`Error connecting to ${r}:${t.remotePort} : ${e}`),u.destroy();const i={connectionId:a,error:null==e?void 0:e.toString(),success:!1};s.emit(c.ConnectResponseMessage,i)}}destroySession(e){var t;null===(t=this.connections.get(e))||void 0===t||t.forEach(((t,s)=>this.closeConnection(e,s,!1))),this.connections.delete(e);this.sessions.get(e)&&this.sessions.delete(e)}closeConnection(e,t,s){var i;const n=this.connections.get(e);if(!n)return;const o=n.get(t);o&&(console.log(`Closing connection ${t} in session ${e}`),o.destroy(),n.delete(t),0===n.size&&this.connections.delete(e),s&&(null===(i=this.sessions.get(e))||void 0===i||i.emit(c.ConnectionCloseMessage,t)))}sendConnectionDataToRemoteHost(e,t,s,i){const n=this.connections.get(t);if(!n)return this.connectionTracing&&console.log(`Received request to send data on connection ${s} in unknown session ${t}`),void this.closeConnection(t,s,!0);const o=n.get(s);if(!o)return this.connectionTracing&&console.log(`Received request to send data on unknown connection ${s}`),void this.closeConnection(t,s,!0);this.connectionTracing&&console.debug(`Writing ${i.byteLength} bytes from tunnel ${e.id} on connection ${s} to ${o.remoteAddress}:${o.remotePort}`),o.write(i)}cleanup(){const e=Date.now();this.sessionDisconnectTimes.forEach(((t,s)=>{if(this.sessions.get(s))return void this.sessionDisconnectTimes.delete(s);if(this.sessionReconnectGracePeriodSeconds<0)return;const i=t+1e3*this.sessionReconnectGracePeriodSeconds;e>i&&(console.log(`Session ${s} which disconnected at ${new Date(t).toUTCString()} has expired after ${this.sessionReconnectGracePeriodSeconds}s with no reconnect`),this.destroySession(s),this.sessionDisconnectTimes.delete(s))}))}}},2614:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleHttpAuthorizer=void 0;const i=s(5589),n={basic:/^Basic ([^\s]+)/i,bearer:/^Bearer ([^\s]+)/i},o=/^([^\s:]+):([^\s:]+)/;t.SimpleHttpAuthorizer=class{constructor(e){this.authorization=e}async isAuthorized(e){const t=this.extractAuthorization(e.headers.authorization);return(0,i.authorizationMatches)(this.authorization,t)}extractAuthorization(e){var t;if(!e)return;const s=null===(t=n[this.authorization.type].exec(e))||void 0===t?void 0:t[1];if(s)switch(this.authorization.type){case"basic":return this.extractBasicAuthorization(s);case"bearer":return this.extractBearerAuthorization(s)}}extractBasicAuthorization(e){const t=Buffer.from(e,"base64").toString("utf-8"),s=o.exec(t);if(!s)return;const[,i,n]=s;return{password:n,type:"basic",username:i}}extractBearerAuthorization(e){return{bearerToken:e,type:"bearer"}}}},1907:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleTunnelAuthorizer=void 0;const i=s(5589);t.SimpleTunnelAuthorizer=class{constructor(e){this.authorization=e}async isAuthorized(e,t){return(0,i.authorizationMatches)(this.authorization,e)}}},5589:(e,t)=>{"use strict";function s(e){return JSON.stringify(e,void 0,0)}Object.defineProperty(t,"__esModule",{value:!0}),t.authorizationMatches=void 0,t.authorizationMatches=function(e,t){return!!t&&s(e)===s(t)}},5743:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultPath=t.DefaultConnectionTracking=t.DefaultDestroySessionOnDisconnect=t.DefaultTunnelReconnectGracePeriodSeconds=t.CleanupTimerPeriodMillis=t.DefaultAllowedConnectHostExpressions=t.Ipv4OctetRe=t.DefaultConnectHost=t.DefaultBindPort=void 0,t.DefaultBindPort=8080,t.DefaultConnectHost="localhost",t.Ipv4OctetRe=/25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?/,t.DefaultAllowedConnectHostExpressions=[/^localhost$/i,new RegExp(`^(127)\\.(${t.Ipv4OctetRe.source})\\.(${t.Ipv4OctetRe.source})\\.(${t.Ipv4OctetRe.source})$`),/^::1$/],t.CleanupTimerPeriodMillis=6e4,t.DefaultTunnelReconnectGracePeriodSeconds=3600,t.DefaultDestroySessionOnDisconnect=!1,t.DefaultConnectionTracking=!1,t.DefaultPath="/"},5128:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},181:(e,t,s)=>{"use strict";var i=s(9442),n=s(4345);function o(e){if(!(this instanceof o))return new o(e);this.headers=e.headers,this.negotiator=new i(e)}function a(e){return-1===e.indexOf("/")?n.lookup(e):e}function r(e){return"string"==typeof e}e.exports=o,o.prototype.type=o.prototype.types=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}if(!t||0===t.length)return this.negotiator.mediaTypes();if(!this.headers.accept)return t[0];var i=t.map(a),n=this.negotiator.mediaTypes(i.filter(r))[0];return!!n&&t[i.indexOf(n)]},o.prototype.encoding=o.prototype.encodings=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.encodings(t)[0]||!1:this.negotiator.encodings()},o.prototype.charset=o.prototype.charsets=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.charsets(t)[0]||!1:this.negotiator.charsets()},o.prototype.lang=o.prototype.langs=o.prototype.language=o.prototype.languages=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.languages(t)[0]||!1:this.negotiator.languages()}},9916:(e,t,s)=>{var i=s(6113),n=function(){};n.prototype.getRandomBytes=function(e){var t=4096,s=this;if((e=e||12)>t)return i.randomBytes(e);var n=parseInt(t/e),o=parseInt(.85*n);if(!o)return i.randomBytes(e);if(null==this.bytesBufferIndex&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==n&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(-1==this.bytesBufferIndex||this.bytesBufferIndex>o)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,i.randomBytes(t,(function(e,t){s.bytesBuffer=t,s.bytesBufferIndex=0,s.isGeneratingBytes=!1}))),-1==this.bytesBufferIndex))return i.randomBytes(e);var a=this.bytesBuffer.slice(e*this.bytesBufferIndex,e*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a},n.prototype.generateId=function(){var e=Buffer.alloc(15);return e.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,e.writeInt32BE(this.sequenceNumber,11),i.randomBytes?this.getRandomBytes(12).copy(e):[0,4,8].forEach((function(t){e.writeInt32BE(Math.random()*Math.pow(2,32)|0,t)})),e.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()},e.exports=new n},2507:(e,t)=>{"use strict";t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var i={},n=t||{},a=e.split(";"),r=n.decode||s,c=0;c<a.length;c++){var p=a[c],l=p.indexOf("=");if(!(l<0)){var u=p.substring(0,l).trim();if(null==i[u]){var d=p.substring(l+1,p.length).trim();'"'===d[0]&&(d=d.slice(1,-1)),i[u]=o(d,r)}}}return i},t.serialize=function(e,t,s){var o=s||{},a=o.encode||i;if("function"!=typeof a)throw new TypeError("option encode is invalid");if(!n.test(e))throw new TypeError("argument name is invalid");var r=a(t);if(r&&!n.test(r))throw new TypeError("argument val is invalid");var c=e+"="+r;if(null!=o.maxAge){var p=o.maxAge-0;if(isNaN(p)||!isFinite(p))throw new TypeError("option maxAge is invalid");c+="; Max-Age="+Math.floor(p)}if(o.domain){if(!n.test(o.domain))throw new TypeError("option domain is invalid");c+="; Domain="+o.domain}if(o.path){if(!n.test(o.path))throw new TypeError("option path is invalid");c+="; Path="+o.path}if(o.expires){if("function"!=typeof o.expires.toUTCString)throw new TypeError("option expires is invalid");c+="; Expires="+o.expires.toUTCString()}o.httpOnly&&(c+="; HttpOnly");o.secure&&(c+="; Secure");if(o.sameSite){switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:c+="; SameSite=Strict";break;case"lax":c+="; SameSite=Lax";break;case"strict":c+="; SameSite=Strict";break;case"none":c+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return c};var s=decodeURIComponent,i=encodeURIComponent,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function o(e,t){try{return t(e)}catch(t){return e}}},9920:(e,t,s)=>{!function(){"use strict";var t=s(1538),i=s(9548),n={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function o(e){return"string"==typeof e||e instanceof String}function a(e,t){if(Array.isArray(t)){for(var s=0;s<t.length;++s)if(a(e,t[s]))return!0;return!1}return o(t)?e===t:t instanceof RegExp?t.test(e):!!t}function r(e,t){var s,i=t.headers.origin,n=[];return e.origin&&"*"!==e.origin?o(e.origin)?(n.push([{key:"Access-Control-Allow-Origin",value:e.origin}]),n.push([{key:"Vary",value:"Origin"}])):(s=a(i,e.origin),n.push([{key:"Access-Control-Allow-Origin",value:!!s&&i}]),n.push([{key:"Vary",value:"Origin"}])):n.push([{key:"Access-Control-Allow-Origin",value:"*"}]),n}function c(e){return!0===e.credentials?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function p(e){var t=e.exposedHeaders;return t?(t.join&&(t=t.join(",")),t&&t.length?{key:"Access-Control-Expose-Headers",value:t}:null):null}function l(e,t){for(var s=0,n=e.length;s<n;s++){var o=e[s];o&&(Array.isArray(o)?l(o,t):"Vary"===o.key&&o.value?i(t,o.value):o.value&&t.setHeader(o.key,o.value))}}e.exports=function(e){var s=null;return s="function"==typeof e?e:function(t,s){s(null,e)},function(e,i,o){s(e,(function(s,a){if(s)o(s);else{var u=t({},n,a),d=null;u.origin&&"function"==typeof u.origin?d=u.origin:u.origin&&(d=function(e,t){t(null,u.origin)}),d?d(e.headers.origin,(function(t,s){t||!s?o(t):(u.origin=s,function(e,t,s,i){var n=[];"OPTIONS"===(t.method&&t.method.toUpperCase&&t.method.toUpperCase())?(n.push(r(e,t)),n.push(c(e)),n.push(function(e){var t=e.methods;return t.join&&(t=e.methods.join(",")),{key:"Access-Control-Allow-Methods",value:t}}(e)),n.push(function(e,t){var s=e.allowedHeaders||e.headers,i=[];return s?s.join&&(s=s.join(",")):(s=t.headers["access-control-request-headers"],i.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),s&&s.length&&i.push([{key:"Access-Control-Allow-Headers",value:s}]),i}(e,t)),n.push(function(e){var t=("number"==typeof e.maxAge||e.maxAge)&&e.maxAge.toString();return t&&t.length?{key:"Access-Control-Max-Age",value:t}:null}(e)),n.push(p(e)),l(n,s),e.preflightContinue?i():(s.statusCode=e.optionsSuccessStatus,s.setHeader("Content-Length","0"),s.end())):(n.push(r(e,t)),n.push(c(e)),n.push(p(e)),l(n,s),i())}(u,e,i,o))})):o()}}))}}}()},8682:(e,t,s)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const s="color: "+this.color;t.splice(1,0,s,"color: inherit");let i=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(i++,"%c"===e&&(n=i))})),t.splice(n,0,s)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=s(130)(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},130:(e,t,s)=>{e.exports=function(e){function t(e){let s,n,o,a=null;function r(...e){if(!r.enabled)return;const i=r,n=Number(new Date),o=n-(s||n);i.diff=o,i.prev=s,i.curr=n,s=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((s,n)=>{if("%%"===s)return"%";a++;const o=t.formatters[n];if("function"==typeof o){const t=e[a];s=o.call(i,t),e.splice(a,1),a--}return s})),t.formatArgs.call(i,e);(i.log||t.log).apply(i,e)}return r.namespace=e,r.useColors=t.useColors(),r.color=t.selectColor(e),r.extend=i,r.destroy=t.destroy,Object.defineProperty(r,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(n!==t.namespaces&&(n=t.namespaces,o=t.enabled(e)),o),set:e=>{a=e}}),"function"==typeof t.init&&t.init(r),r}function i(e,s){const i=t(this.namespace+(void 0===s?":":s)+e);return i.log=this.log,i}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let s;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").split(/[\s,]+/),n=i.length;for(s=0;s<n;s++)i[s]&&("-"===(e=i[s].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let s,i;for(s=0,i=t.skips.length;s<i;s++)if(t.skips[s].test(e))return!1;for(s=0,i=t.names.length;s<i;s++)if(t.names[s].test(e))return!0;return!1},t.humanize=s(6468),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((s=>{t[s]=e[s]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let s=0;for(let t=0;t<e.length;t++)s=(s<<5)-s+e.charCodeAt(t),s|=0;return t.colors[Math.abs(s)%t.colors.length]},t.enable(t.load()),t}},818:(e,t,s)=>{"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?e.exports=s(8682):e.exports=s(1316)},1316:(e,t,s)=>{const i=s(6224),n=s(3837);t.init=function(e){e.inspectOpts={};const s=Object.keys(t.inspectOpts);for(let i=0;i<s.length;i++)e.inspectOpts[s[i]]=t.inspectOpts[s[i]]},t.log=function(...e){return process.stderr.write(n.format(...e)+"\n")},t.formatArgs=function(s){const{namespace:i,useColors:n}=this;if(n){const t=this.color,n="[3"+(t<8?t:"8;5;"+t),o=` ${n};1m${i} `;s[0]=o+s[0].split("\n").join("\n"+o),s.push(n+"m+"+e.exports.humanize(this.diff)+"")}else s[0]=function(){if(t.inspectOpts.hideDate)return"";return(new Date).toISOString()+" "}()+i+" "+s[0]},t.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},t.load=function(){return process.env.DEBUG},t.useColors=function(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):i.isatty(process.stderr.fd)},t.destroy=n.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=s(7318);e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(process.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const s=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let i=process.env[t];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[s]=i,e}),{}),e.exports=s(130)(t);const{formatters:o}=e.exports;o.o=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts).split("\n").map((e=>e.trim())).join(" ")},o.O=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts)}},602:e=>{"use strict";e.exports=(e,t)=>{t=t||process.argv;const s=e.startsWith("-")?"":1===e.length?"-":"--",i=t.indexOf(s+e),n=t.indexOf("--");return-1!==i&&(-1===n||i<n)}},8398:(e,t,s)=>{"use strict";const i=s(5687),n=s(3685),{URL:o}=s(7310);class a extends n.Agent{constructor(e){const{proxy:t,proxyRequestOptions:s,...i}=e;super(i),this.proxy="string"==typeof t?new o(t):t,this.proxyRequestOptions=s||{}}createConnection(e,t){const s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${e.host}:${e.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${e.host}:${e.port}`},agent:!1,timeout:e.timeout||0};if(this.proxy.username||this.proxy.password){const e=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${e}`}"https:"===this.proxy.protocol&&(s.servername=this.proxy.hostname);const o=("http:"===this.proxy.protocol?n:i).request(s);o.once("connect",((e,s,i)=>{o.removeAllListeners(),s.removeAllListeners(),200===e.statusCode?t(null,s):(s.destroy(),t(new Error(`Bad response: ${e.statusCode}`),null))})),o.once("timeout",(()=>{o.destroy(new Error("Proxy timeout"))})),o.once("error",(e=>{o.removeAllListeners(),t(e,null)})),o.end()}}class r extends i.Agent{constructor(e){const{proxy:t,proxyRequestOptions:s,...i}=e;super(i),this.proxy="string"==typeof t?new o(t):t,this.proxyRequestOptions=s||{}}createConnection(e,t){const s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${e.host}:${e.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${e.host}:${e.port}`},agent:!1,timeout:e.timeout||0};if(this.proxy.username||this.proxy.password){const e=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${e}`}"https:"===this.proxy.protocol&&(s.servername=this.proxy.hostname);const o=("http:"===this.proxy.protocol?n:i).request(s);o.once("connect",((s,i,n)=>{if(o.removeAllListeners(),i.removeAllListeners(),200===s.statusCode){const s=super.createConnection({...e,socket:i});t(null,s)}else i.destroy(),t(new Error(`Bad response: ${s.statusCode}`),null)})),o.once("timeout",(()=>{o.destroy(new Error("Proxy timeout"))})),o.once("error",(e=>{o.removeAllListeners(),t(e,null)})),o.end()}}e.exports={HttpProxyAgent:a,HttpsProxyAgent:r}},8437:(e,t,s)=>{e.exports=s(9601)},4345:(e,t,s)=>{"use strict";var i,n,o,a=s(8437),r=s(1017).extname,c=/^\s*([^;\s]*)(?:;|\s|$)/,p=/^text\//i;function l(e){if(!e||"string"!=typeof e)return!1;var t=c.exec(e),s=t&&a[t[1].toLowerCase()];return s&&s.charset?s.charset:!(!t||!p.test(t[1]))&&"UTF-8"}t.charset=l,t.charsets={lookup:l},t.contentType=function(e){if(!e||"string"!=typeof e)return!1;var s=-1===e.indexOf("/")?t.lookup(e):e;if(!s)return!1;if(-1===s.indexOf("charset")){var i=t.charset(s);i&&(s+="; charset="+i.toLowerCase())}return s},t.extension=function(e){if(!e||"string"!=typeof e)return!1;var s=c.exec(e),i=s&&t.extensions[s[1].toLowerCase()];if(!i||!i.length)return!1;return i[0]},t.extensions=Object.create(null),t.lookup=function(e){if(!e||"string"!=typeof e)return!1;var s=r("x."+e).toLowerCase().substr(1);if(!s)return!1;return t.types[s]||!1},t.types=Object.create(null),i=t.extensions,n=t.types,o=["nginx","apache",void 0,"iana"],Object.keys(a).forEach((function(e){var t=a[e],s=t.extensions;if(s&&s.length){i[e]=s;for(var r=0;r<s.length;r++){var c=s[r];if(n[c]){var p=o.indexOf(a[n[c]].source),l=o.indexOf(t.source);if("application/octet-stream"!==n[c]&&(p>l||p===l&&"application/"===n[c].substr(0,12)))continue}n[c]=e}}}))},6468:e=>{var t=1e3,s=60*t,i=60*s,n=24*i,o=7*n,a=365.25*n;function r(e,t,s,i){var n=t>=1.5*s;return Math.round(e/s)+" "+i+(n?"s":"")}e.exports=function(e,c){c=c||{};var p=typeof e;if("string"===p&&e.length>0)return function(e){if((e=String(e)).length>100)return;var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;var c=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*a;case"weeks":case"week":case"w":return c*o;case"days":case"day":case"d":return c*n;case"hours":case"hour":case"hrs":case"hr":case"h":return c*i;case"minutes":case"minute":case"mins":case"min":case"m":return c*s;case"seconds":case"second":case"secs":case"sec":case"s":return c*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(e);if("number"===p&&isFinite(e))return c.long?function(e){var o=Math.abs(e);if(o>=n)return r(e,o,n,"day");if(o>=i)return r(e,o,i,"hour");if(o>=s)return r(e,o,s,"minute");if(o>=t)return r(e,o,t,"second");return e+" ms"}(e):function(e){var o=Math.abs(e);if(o>=n)return Math.round(e/n)+"d";if(o>=i)return Math.round(e/i)+"h";if(o>=s)return Math.round(e/s)+"m";if(o>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9442:(e,t,s)=>{"use strict";var i=s(8664),n=s(5039),o=s(7190),a=s(527);function r(e){if(!(this instanceof r))return new r(e);this.request=e}e.exports=r,e.exports.Negotiator=r,r.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]},r.prototype.charsets=function(e){return i(this.request.headers["accept-charset"],e)},r.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]},r.prototype.encodings=function(e){return n(this.request.headers["accept-encoding"],e)},r.prototype.language=function(e){var t=this.languages(e);return t&&t[0]},r.prototype.languages=function(e){return o(this.request.headers["accept-language"],e)},r.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]},r.prototype.mediaTypes=function(e){return a(this.request.headers.accept,e)},r.prototype.preferredCharset=r.prototype.charset,r.prototype.preferredCharsets=r.prototype.charsets,r.prototype.preferredEncoding=r.prototype.encoding,r.prototype.preferredEncodings=r.prototype.encodings,r.prototype.preferredLanguage=r.prototype.language,r.prototype.preferredLanguages=r.prototype.languages,r.prototype.preferredMediaType=r.prototype.mediaType,r.prototype.preferredMediaTypes=r.prototype.mediaTypes},8664:e=>{"use strict";e.exports=n,e.exports.preferredCharsets=n;var t=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=1;if(i[2])for(var a=i[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if("q"===c[0]){o=parseFloat(c[1]);break}}return{charset:n,q:o,i:s}}function i(e,t,s){var i=0;if(t.charset.toLowerCase()===e.toLowerCase())i|=1;else if("*"!==t.charset)return null;return{i:s,o:t.i,q:t.q,s:i}}function n(e,t){var n=function(e){for(var t=e.split(","),i=0,n=0;i<t.length;i++){var o=s(t[i].trim(),i);o&&(t[n++]=o)}return t.length=n,t}(void 0===e?"*":e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.charset}function r(e){return e.q>0}},5039:e=>{"use strict";e.exports=n,e.exports.preferredEncodings=n;var t=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=1;if(i[2])for(var a=i[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if("q"===c[0]){o=parseFloat(c[1]);break}}return{encoding:n,q:o,i:s}}function i(e,t,s){var i=0;if(t.encoding.toLowerCase()===e.toLowerCase())i|=1;else if("*"!==t.encoding)return null;return{i:s,o:t.i,q:t.q,s:i}}function n(e,t){var n=function(e){for(var t=e.split(","),n=!1,o=1,a=0,r=0;a<t.length;a++){var c=s(t[a].trim(),a);c&&(t[r++]=c,n=n||i("identity",c),o=Math.min(o,c.q||1))}return n||(t[r++]={encoding:"identity",q:o,i:a}),t.length=r,t}(e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.encoding}function r(e){return e.q>0}},7190:e=>{"use strict";e.exports=n,e.exports.preferredLanguages=n;var t=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=i[2],a=n;o&&(a+="-"+o);var r=1;if(i[3])for(var c=i[3].split(";"),p=0;p<c.length;p++){var l=c[p].split("=");"q"===l[0]&&(r=parseFloat(l[1]))}return{prefix:n,suffix:o,q:r,i:s,full:a}}function i(e,t,i){var n=s(e);if(!n)return null;var o=0;if(t.full.toLowerCase()===n.full.toLowerCase())o|=4;else if(t.prefix.toLowerCase()===n.full.toLowerCase())o|=2;else if(t.full.toLowerCase()===n.prefix.toLowerCase())o|=1;else if("*"!==t.full)return null;return{i,o:t.i,q:t.q,s:o}}function n(e,t){var n=function(e){for(var t=e.split(","),i=0,n=0;i<t.length;i++){var o=s(t[i].trim(),i);o&&(t[n++]=o)}return t.length=n,t}(void 0===e?"*":e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.full}function r(e){return e.q>0}},527:e=>{"use strict";e.exports=o,e.exports.preferredMediaTypes=o;var t=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function s(e){for(var t=function(e){for(var t=e.split(","),s=1,i=0;s<t.length;s++)p(t[i])%2==0?t[++i]=t[s]:t[i]+=","+t[s];return t.length=i+1,t}(e),s=0,n=0;s<t.length;s++){var o=i(t[s].trim(),s);o&&(t[n++]=o)}return t.length=n,t}function i(e,s){var i=t.exec(e);if(!i)return null;var n=Object.create(null),o=1,a=i[2],r=i[1];if(i[3])for(var c=function(e){for(var t=e.split(";"),s=1,i=0;s<t.length;s++)p(t[i])%2==0?t[++i]=t[s]:t[i]+=";"+t[s];t.length=i+1;for(s=0;s<t.length;s++)t[s]=t[s].trim();return t}(i[3]).map(l),u=0;u<c.length;u++){var d=c[u],h=d[0].toLowerCase(),m=d[1],f=m&&'"'===m[0]&&'"'===m[m.length-1]?m.substr(1,m.length-2):m;if("q"===h){o=parseFloat(f);break}n[h]=f}return{type:r,subtype:a,params:n,q:o,i:s}}function n(e,t,s){var n=i(e),o=0;if(!n)return null;if(t.type.toLowerCase()==n.type.toLowerCase())o|=4;else if("*"!=t.type)return null;if(t.subtype.toLowerCase()==n.subtype.toLowerCase())o|=2;else if("*"!=t.subtype)return null;var a=Object.keys(t.params);if(a.length>0){if(!a.every((function(e){return"*"==t.params[e]||(t.params[e]||"").toLowerCase()==(n.params[e]||"").toLowerCase()})))return null;o|=1}return{i:s,o:t.i,q:t.q,s:o}}function o(e,t){var i=s(void 0===e?"*/*":e||"");if(!t)return i.filter(c).sort(a).map(r);var o=t.map((function(e,t){return function(e,t,s){for(var i={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=n(e,t[o],s);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}(e,i,t)}));return o.filter(c).sort(a).map((function(e){return t[o.indexOf(e)]}))}function a(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function r(e){return e.type+"/"+e.subtype}function c(e){return e.q>0}function p(e){for(var t=0,s=0;-1!==(s=e.indexOf('"',s));)t++,s++;return t}function l(e){var t,s,i=e.indexOf("=");return-1===i?t=e:(t=e.substr(0,i),s=e.substr(i+1)),[t,s]}},1538:e=>{"use strict";var t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},s=0;s<10;s++)t["_"+String.fromCharCode(s)]=s;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,n){for(var o,a,r=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c<arguments.length;c++){for(var p in o=Object(arguments[c]))s.call(o,p)&&(r[p]=o[p]);if(t){a=t(o);for(var l=0;l<a.length;l++)i.call(o,a[l])&&(r[a[l]]=o[a[l]])}}return r}},2839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),i=64,n={};let o,a=0,r=0;function c(e){let t="";do{t=s[e%i]+t,e=Math.floor(e/i)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(r=0;r<e.length;r++)t=t*i+n[e.charAt(r)];return t},t.yeast=function(){const e=c(+new Date);return e!==o?(a=0,o=e):e+"."+c(a++)};r<i;r++)n[s[r]]=r},5099:(e,t,s)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionAwareAdapter=t.Adapter=void 0;const n=s(2361),o=s(2839),a=s(7883),r="function"==typeof(null===(i=null==a?void 0:a.Sender)||void 0===i?void 0:i.frame);class c extends n.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,t){this.sids.has(e)||this.sids.set(e,new Set);for(const s of t)this.sids.get(e).add(s),this.rooms.has(s)||(this.rooms.set(s,new Set),this.emit("create-room",s)),this.rooms.get(s).has(e)||(this.rooms.get(s).add(e),this.emit("join-room",s,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){const s=this.rooms.get(e);if(null!=s){s.delete(t)&&this.emit("leave-room",e,t),0===s.size&&this.rooms.delete(e)&&this.emit("delete-room",e)}}delAll(e){if(this.sids.has(e)){for(const t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){const s=t.flags||{},i={preEncoded:!0,volatile:s.volatile,compress:s.compress};e.nsp=this.nsp.name;const n=this._encode(e,i);this.apply(t,(t=>{"function"==typeof t.notifyOutgoingListeners&&t.notifyOutgoingListeners(e),t.client.writeToEngine(n,i)}))}broadcastWithAck(e,t,s,i){const n=t.flags||{},o={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;const a=this._encode(e,o);let r=0;this.apply(t,(t=>{r++,t.acks.set(e.id,i),"function"==typeof t.notifyOutgoingListeners&&t.notifyOutgoingListeners(e),t.client.writeToEngine(a,o)})),s(r)}_encode(e,t){const s=this.encoder.encode(e);if(r&&1===s.length&&"string"==typeof s[0]){const e=Buffer.from("4"+s[0]);t.wsPreEncodedFrame=a.Sender.frame(e,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return s}sockets(e){const t=new Set;return this.apply({rooms:e},(e=>{t.add(e.id)})),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){const t=[];return this.apply(e,(e=>{t.push(e)})),Promise.resolve(t)}addSockets(e,t){this.apply(e,(e=>{e.join(t)}))}delSockets(e,t){this.apply(e,(e=>{t.forEach((t=>e.leave(t)))}))}disconnectSockets(e,t){this.apply(e,(e=>{e.disconnect(t)}))}apply(e,t){const s=e.rooms,i=this.computeExceptSids(e.except);if(s.size){const e=new Set;for(const n of s)if(this.rooms.has(n))for(const s of this.rooms.get(n)){if(e.has(s)||i.has(s))continue;const n=this.nsp.sockets.get(s);n&&(t(n),e.add(s))}}else for(const[e]of this.sids){if(i.has(e))continue;const s=this.nsp.sockets.get(e);s&&t(s)}}computeExceptSids(e){const t=new Set;if(e&&e.size>0)for(const s of e)this.rooms.has(s)&&this.rooms.get(s).forEach((e=>t.add(e)));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}}t.Adapter=c;function p(e,t){const s=0===t.rooms.size||e.some((e=>t.rooms.has(e))),i=e.every((e=>!t.except.has(e)));return s&&i}t.SessionAwareAdapter=class extends c{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration;setInterval((()=>{const e=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach(((t,s)=>{t.disconnectedAt<e&&this.sessions.delete(s)}));for(let t=this.packets.length-1;t>=0;t--){if(this.packets[t].emittedAt<e){this.packets.splice(0,t+1);break}}}),6e4).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){const s=this.sessions.get(e);if(!s)return null;if(s.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;const i=this.packets.findIndex((e=>e.id===t));if(-1===i)return null;const n=[];for(let e=i+1;e<this.packets.length;e++){const t=this.packets[e];p(s.rooms,t.opts)&&n.push(t.data)}return Promise.resolve(Object.assign(Object.assign({},s),{missedPackets:n}))}broadcast(e,t){var s;const i=2===e.type,n=void 0===e.id,a=void 0===(null===(s=t.flags)||void 0===s?void 0:s.volatile);if(i&&n&&a){const s=(0,o.yeast)();e.data.push(s),this.packets.push({id:s,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}}},7318:(e,t,s)=>{"use strict";const i=s(2037),n=s(602),o=process.env;let a;function r(e){const t=function(e){if(!1===a)return 0;if(n("color=16m")||n("color=full")||n("color=truecolor"))return 3;if(n("color=256"))return 2;if(e&&!e.isTTY&&!0!==a)return 0;const t=a?1:0;if("win32"===process.platform){const e=i.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in o))||"codeship"===o.CI_NAME?1:t;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:(o.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}n("no-color")||n("no-colors")||n("color=false")?a=!1:(n("color")||n("colors")||n("color=true")||n("color=always"))&&(a=!0),"FORCE_COLOR"in o&&(a=0===o.FORCE_COLOR.length||0!==parseInt(o.FORCE_COLOR,10)),e.exports={supportsColor:r,stdout:r(process.stdout),stderr:r(process.stderr)}},9548:e=>{"use strict";e.exports=function(e,t){if(!e||!e.getHeader||!e.setHeader)throw new TypeError("res argument is required");var i=e.getHeader("Vary")||"",n=Array.isArray(i)?i.join(", "):String(i);(i=s(n,t))&&e.setHeader("Vary",i)},e.exports.append=s;var t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function s(e,s){if("string"!=typeof e)throw new TypeError("header argument is required");if(!s)throw new TypeError("field argument is required");for(var n=Array.isArray(s)?s:i(String(s)),o=0;o<n.length;o++)if(!t.test(n[o]))throw new TypeError("field argument contains an invalid header name");if("*"===e)return e;var a=e,r=i(e.toLowerCase());if(-1!==n.indexOf("*")||-1!==r.indexOf("*"))return"*";for(var c=0;c<n.length;c++){var p=n[c].toLowerCase();-1===r.indexOf(p)&&(r.push(p),a=a?a+", "+n[c]:n[c])}return a}function i(e){for(var t=0,s=[],i=0,n=0,o=e.length;n<o;n++)switch(e.charCodeAt(n)){case 32:i===t&&(i=t=n+1);break;case 44:s.push(e.substring(i,t)),i=t=n+1;break;default:t=n+1}return s.push(e.substring(i,t)),s}},7883:(e,t,s)=>{"use strict";const i=s(5861);i.createWebSocketStream=s(7092),i.Server=s(8693),i.Receiver=s(3512),i.Sender=s(3497),i.WebSocket=i,i.WebSocketServer=i.Server,e.exports=i},7470:(e,t,s)=>{"use strict";const{EMPTY_BUFFER:i}=s(8500);function n(e,t,s,i,n){for(let o=0;o<n;o++)s[i+o]=e[o]^t[3&o]}function o(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(e.exports={concat:function(e,t){if(0===e.length)return i;if(1===e.length)return e[0];const s=Buffer.allocUnsafe(t);let n=0;for(let t=0;t<e.length;t++){const i=e[t];s.set(i,n),n+=i.length}return n<t?s.slice(0,n):s},mask:n,toArrayBuffer:function(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},toBuffer:function e(t){if(e.readOnly=!0,Buffer.isBuffer(t))return t;let s;return t instanceof ArrayBuffer?s=Buffer.from(t):ArrayBuffer.isView(t)?s=Buffer.from(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s},unmask:o},!process.env.WS_NO_BUFFER_UTIL)try{const t=s(797);e.exports.mask=function(e,s,i,o,a){a<48?n(e,s,i,o,a):t.mask(e,s,i,o,a)},e.exports.unmask=function(e,s){e.length<32?o(e,s):t.unmask(e,s)}}catch(e){}},8500:e=>{"use strict";e.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},9455:(e,t,s)=>{"use strict";const{kForOnEventAttribute:i,kListener:n}=s(8500),o=Symbol("kCode"),a=Symbol("kData"),r=Symbol("kError"),c=Symbol("kMessage"),p=Symbol("kReason"),l=Symbol("kTarget"),u=Symbol("kType"),d=Symbol("kWasClean");class h{constructor(e){this[l]=null,this[u]=e}get target(){return this[l]}get type(){return this[u]}}Object.defineProperty(h.prototype,"target",{enumerable:!0}),Object.defineProperty(h.prototype,"type",{enumerable:!0});class m extends h{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[p]=void 0===t.reason?"":t.reason,this[d]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[p]}get wasClean(){return this[d]}}Object.defineProperty(m.prototype,"code",{enumerable:!0}),Object.defineProperty(m.prototype,"reason",{enumerable:!0}),Object.defineProperty(m.prototype,"wasClean",{enumerable:!0});class f extends h{constructor(e,t={}){super(e),this[r]=void 0===t.error?null:t.error,this[c]=void 0===t.message?"":t.message}get error(){return this[r]}get message(){return this[c]}}Object.defineProperty(f.prototype,"error",{enumerable:!0}),Object.defineProperty(f.prototype,"message",{enumerable:!0});class v extends h{constructor(e,t={}){super(e),this[a]=void 0===t.data?null:t.data}get data(){return this[a]}}Object.defineProperty(v.prototype,"data",{enumerable:!0});const x={addEventListener(e,t,s={}){for(const o of this.listeners(e))if(!s[i]&&o[n]===t&&!o[i])return;let o;if("message"===e)o=function(e,s){const i=new v("message",{data:s?e:e.toString()});i[l]=this,g(t,this,i)};else if("close"===e)o=function(e,s){const i=new m("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});i[l]=this,g(t,this,i)};else if("error"===e)o=function(e){const s=new f("error",{error:e,message:e.message});s[l]=this,g(t,this,s)};else{if("open"!==e)return;o=function(){const e=new h("open");e[l]=this,g(t,this,e)}}o[i]=!!s[i],o[n]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(const s of this.listeners(e))if(s[n]===t&&!s[i]){this.removeListener(e,s);break}}};function g(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}e.exports={CloseEvent:m,ErrorEvent:f,Event:h,EventTarget:x,MessageEvent:v}},8477:(e,t,s)=>{"use strict";const{tokenChars:i}=s(956);function n(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}e.exports={format:function(e){return Object.keys(e).map((t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map((e=>[t].concat(Object.keys(e).map((t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map((e=>!0===e?t:`${t}=${e}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")},parse:function(e){const t=Object.create(null);let s,o,a=Object.create(null),r=!1,c=!1,p=!1,l=-1,u=-1,d=-1,h=0;for(;h<e.length;h++)if(u=e.charCodeAt(h),void 0===s)if(-1===d&&1===i[u])-1===l&&(l=h);else if(0===h||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${h}`);{if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h);const i=e.slice(l,d);44===u?(n(t,i,a),a=Object.create(null)):s=i,l=d=-1}}else-1===d&&-1!==l&&(d=h);else if(void 0===o)if(-1===d&&1===i[u])-1===l&&(l=h);else if(32===u||9===u)-1===d&&-1!==l&&(d=h);else if(59===u||44===u){if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h),n(a,e.slice(l,d),!0),44===u&&(n(t,s,a),a=Object.create(null),s=void 0),l=d=-1}else{if(61!==u||-1===l||-1!==d)throw new SyntaxError(`Unexpected character at index ${h}`);o=e.slice(l,h),l=d=-1}else if(c){if(1!==i[u])throw new SyntaxError(`Unexpected character at index ${h}`);-1===l?l=h:r||(r=!0),c=!1}else if(p)if(1===i[u])-1===l&&(l=h);else if(34===u&&-1!==l)p=!1,d=h;else{if(92!==u)throw new SyntaxError(`Unexpected character at index ${h}`);c=!0}else if(34===u&&61===e.charCodeAt(h-1))p=!0;else if(-1===d&&1===i[u])-1===l&&(l=h);else if(-1===l||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${h}`);{if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h);let i=e.slice(l,d);r&&(i=i.replace(/\\/g,""),r=!1),n(a,o,i),44===u&&(n(t,s,a),a=Object.create(null),s=void 0),o=void 0,l=d=-1}}else-1===d&&(d=h);if(-1===l||p||32===u||9===u)throw new SyntaxError("Unexpected end of input");-1===d&&(d=h);const m=e.slice(l,d);return void 0===s?n(t,m,a):(void 0===o?n(a,m,!0):n(a,o,r?m.replace(/\\/g,""):m),n(t,s,a)),t}}},4053:e=>{"use strict";const t=Symbol("kDone"),s=Symbol("kRun");e.exports=class{constructor(e){this[t]=()=>{this.pending--,this[s]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[s]()}[s](){if(this.pending!==this.concurrency&&this.jobs.length){const e=this.jobs.shift();this.pending++,e(this[t])}}}},142:(e,t,s)=>{"use strict";const i=s(9796),n=s(7470),o=s(4053),{kStatusCode:a}=s(8500),r=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),p=Symbol("total-length"),l=Symbol("callback"),u=Symbol("buffers"),d=Symbol("error");let h;function m(e){this[u].push(e),this[p]+=e.length}function f(e){this[p]+=e.length,this[c]._maxPayload<1||this[p]<=this[c]._maxPayload?this[u].push(e):(this[d]=new RangeError("Max payload size exceeded"),this[d].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[d][a]=1009,this.removeListener("data",f),this.reset())}function v(e){this[c]._inflate=null,e[a]=1007,this[l](e)}e.exports=class{constructor(e,t,s){if(this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!h){const e=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;h=new o(e)}}static get extensionName(){return"permessage-deflate"}offer(){const e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const e=this._deflate[l];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){const t=this._options,s=e.find((e=>!(!1===t.serverNoContextTakeover&&e.server_no_context_takeover||e.server_max_window_bits&&(!1===t.serverMaxWindowBits||"number"==typeof t.serverMaxWindowBits&&t.serverMaxWindowBits>e.server_max_window_bits)||"number"==typeof t.clientMaxWindowBits&&!e.client_max_window_bits)));if(!s)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:!0!==s.client_max_window_bits&&!1!==t.clientMaxWindowBits||delete s.client_max_window_bits,s}acceptAsClient(e){const t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach((e=>{Object.keys(e).forEach((t=>{let s=e[t];if(s.length>1)throw new Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){const e=+s;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){const e=+s;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else{if("client_no_context_takeover"!==t&&"server_no_context_takeover"!==t)throw new Error(`Unknown parameter "${t}"`);if(!0!==s)throw new TypeError(`Invalid value for parameter "${t}": ${s}`)}e[t]=s}))})),e}decompress(e,t,s){h.add((i=>{this._decompress(e,t,((e,t)=>{i(),s(e,t)}))}))}compress(e,t,s){h.add((i=>{this._compress(e,t,((e,t)=>{i(),s(e,t)}))}))}_decompress(e,t,s){const o=this._isServer?"client":"server";if(!this._inflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[p]=0,this._inflate[u]=[],this._inflate.on("error",v),this._inflate.on("data",f)}this._inflate[l]=s,this._inflate.write(e),t&&this._inflate.write(r),this._inflate.flush((()=>{const e=this._inflate[d];if(e)return this._inflate.close(),this._inflate=null,void s(e);const i=n.concat(this._inflate[u],this._inflate[p]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[p]=0,this._inflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),s(null,i)}))}_compress(e,t,s){const o=this._isServer?"server":"client";if(!this._deflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[p]=0,this._deflate[u]=[],this._deflate.on("data",m)}this._deflate[l]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,(()=>{if(!this._deflate)return;let e=n.concat(this._deflate[u],this._deflate[p]);t&&(e=e.slice(0,e.length-4)),this._deflate[l]=null,this._deflate[p]=0,this._deflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),s(null,e)}))}}},3512:(e,t,s)=>{"use strict";const{Writable:i}=s(2781),n=s(142),{BINARY_TYPES:o,EMPTY_BUFFER:a,kStatusCode:r,kWebSocket:c}=s(8500),{concat:p,toArrayBuffer:l,unmask:u}=s(7470),{isValidStatusCode:d,isValidUTF8:h}=s(956);function m(e,t,s,i,n){const o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,m),o.code=n,o[r]=i,o}e.exports=class extends i{constructor(e={}){super(),this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[c]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=0,this._loop=!1}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){const t=this._buffers[0];return this._buffers[0]=t.slice(e),t.slice(0,e)}const t=Buffer.allocUnsafe(e);do{const s=this._buffers[0],i=t.length-e;e>=s.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=s.slice(e)),e-=s.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do{switch(this._state){case 0:t=this.getInfo();break;case 1:t=this.getPayloadLength16();break;case 2:t=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:t=this.getData(e);break;default:return void(this._loop=!1)}}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const e=this.consume(2);if(0!=(48&e[0]))return this._loop=!1,m(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");const t=64==(64&e[0]);if(t&&!this._extensions[n.extensionName])return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=128==(128&e[0]),this._opcode=15&e[0],this._payloadLength=127&e[1],0===this._opcode){if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,m(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=t}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin)return this._loop=!1,m(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,m(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&e[1]),this._isServer){if(!this._masked)return this._loop=!1,m(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,m(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,21)-1?(this._loop=!1,m(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(e){let t=a;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength)return void(this._loop=!1);t=this.consume(this._payloadLength),this._masked&&0!=(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])&&u(t,this._mask)}return this._opcode>7?this.controlMessage(t):this._compressed?(this._state=5,void this.decompress(t,e)):(t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage())}decompress(e,t){this._extensions[n.extensionName].decompress(e,this._fin,((e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}const i=this.dataMessage();if(i)return t(i);this.startLoop(t)}))}dataMessage(){if(this._fin){const e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let s;s="nodebuffer"===this._binaryType?p(t,e):"arraybuffer"===this._binaryType?l(p(t,e)):t,this.emit("message",s,!0)}else{const s=p(t,e);if(!this._skipUTF8Validation&&!h(s))return this._loop=!1,m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",s,!1)}}this._state=0}controlMessage(e){if(8===this._opcode)if(this._loop=!1,0===e.length)this.emit("conclude",1005,a),this.end();else{if(1===e.length)return m(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{const t=e.readUInt16BE(0);if(!d(t))return m(RangeError,`invalid status code ${t}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");const s=e.slice(2);if(!this._skipUTF8Validation&&!h(s))return m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",t,s),this.end()}}else 9===this._opcode?this.emit("ping",e):this.emit("pong",e);this._state=0}}},3497:(e,t,s)=>{"use strict";s(1808),s(4404);const{randomFillSync:i}=s(6113),n=s(142),{EMPTY_BUFFER:o}=s(8500),{isValidStatusCode:a}=s(956),{mask:r,toBuffer:c}=s(7470),p=Symbol("kByteLength"),l=Buffer.alloc(4);class u{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let s,n,o=!1,a=2,c=!1;t.mask&&(s=t.maskBuffer||l,t.generateMask?t.generateMask(s):i(s,0,4),c=0==(s[0]|s[1]|s[2]|s[3]),a=6),"string"==typeof e?n=t.mask&&!c||void 0===t[p]?(e=Buffer.from(e)).length:t[p]:(n=e.length,o=t.mask&&t.readOnly&&!c);let u=n;n>=65536?(a+=8,u=127):n>125&&(a+=2,u=126);const d=Buffer.allocUnsafe(o?n+a:a);return d[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,126===u?d.writeUInt16BE(n,2):127===u&&(d[2]=d[3]=0,d.writeUIntBE(n,4,6)),t.mask?(d[1]|=128,d[a-4]=s[0],d[a-3]=s[1],d[a-2]=s[2],d[a-1]=s[3],c?[d,e]:o?(r(e,s,d,a,n),[d]):(r(e,s,e,0,n),[d,e])):[d,e]}close(e,t,s,i){let n;if(void 0===e)n=o;else{if("number"!=typeof e||!a(e))throw new TypeError("First argument must be a valid error code number");if(void 0!==t&&t.length){const s=Buffer.byteLength(t);if(s>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+s),n.writeUInt16BE(e,0),"string"==typeof t?n.write(t,2):n.set(t,2)}else n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0)}const r={[p]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,n,!1,r,i]):this.sendFrame(u.frame(n,r),i)}ping(e,t,s){let i,n;if("string"==typeof e?(i=Buffer.byteLength(e),n=!1):(i=(e=c(e)).length,n=c.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[p]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(u.frame(e,o),s)}pong(e,t,s){let i,n;if("string"==typeof e?(i=Buffer.byteLength(e),n=!1):(i=(e=c(e)).length,n=c.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[p]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(u.frame(e,o),s)}send(e,t,s){const i=this._extensions[n.extensionName];let o,a,r=t.binary?2:1,l=t.compress;if("string"==typeof e?(o=Buffer.byteLength(e),a=!1):(o=(e=c(e)).length,a=c.readOnly),this._firstFragment?(this._firstFragment=!1,l&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=o>=i._threshold),this._compress=l):(l=!1,r=0),t.fin&&(this._firstFragment=!0),i){const i={[p]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:r,readOnly:a,rsv1:l};this._deflating?this.enqueue([this.dispatch,e,this._compress,i,s]):this.dispatch(e,this._compress,i,s)}else this.sendFrame(u.frame(e,{[p]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:r,readOnly:a,rsv1:!1}),s)}dispatch(e,t,s,i){if(!t)return void this.sendFrame(u.frame(e,s),i);const o=this._extensions[n.extensionName];this._bufferedBytes+=s[p],this._deflating=!0,o.compress(e,s.fin,((e,t)=>{if(this._socket.destroyed){const e=new Error("The socket was closed while data was being compressed");"function"==typeof i&&i(e);for(let t=0;t<this._queue.length;t++){const s=this._queue[t],i=s[s.length-1];"function"==typeof i&&i(e)}}else this._bufferedBytes-=s[p],this._deflating=!1,s.readOnly=!1,this.sendFrame(u.frame(t,s),i),this.dequeue()}))}dequeue(){for(;!this._deflating&&this._queue.length;){const e=this._queue.shift();this._bufferedBytes-=e[3][p],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][p],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}e.exports=u},7092:(e,t,s)=>{"use strict";const{Duplex:i}=s(2781);function n(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function a(e){this.removeListener("error",a),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let s=!0;const r=new i({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",(function(t,s){const i=!s&&r._readableState.objectMode?t.toString():t;r.push(i)||e.pause()})),e.once("error",(function(e){r.destroyed||(s=!1,r.destroy(e))})),e.once("close",(function(){r.destroyed||r.push(null)})),r._destroy=function(t,i){if(e.readyState===e.CLOSED)return i(t),void process.nextTick(n,r);let o=!1;e.once("error",(function(e){o=!0,i(e)})),e.once("close",(function(){o||i(t),process.nextTick(n,r)})),s&&e.terminate()},r._final=function(t){e.readyState!==e.CONNECTING?null!==e._socket&&(e._socket._writableState.finished?(t(),r._readableState.endEmitted&&r.destroy()):(e._socket.once("finish",(function(){t()})),e.close())):e.once("open",(function(){r._final(t)}))},r._read=function(){e.isPaused&&e.resume()},r._write=function(t,s,i){e.readyState!==e.CONNECTING?e.send(t,i):e.once("open",(function(){r._write(t,s,i)}))},r.on("end",o),r.on("error",a),r}},5326:(e,t,s)=>{"use strict";const{tokenChars:i}=s(956);e.exports={parse:function(e){const t=new Set;let s=-1,n=-1,o=0;for(;o<e.length;o++){const a=e.charCodeAt(o);if(-1===n&&1===i[a])-1===s&&(s=o);else if(0===o||32!==a&&9!==a){if(44!==a)throw new SyntaxError(`Unexpected character at index ${o}`);{if(-1===s)throw new SyntaxError(`Unexpected character at index ${o}`);-1===n&&(n=o);const i=e.slice(s,n);if(t.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);t.add(i),s=n=-1}}else-1===n&&-1!==s&&(n=o)}if(-1===s||-1!==n)throw new SyntaxError("Unexpected end of input");const a=e.slice(s,o);if(t.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return t.add(a),t}}},956:(e,t,s)=>{"use strict";function i(e){const t=e.length;let s=0;for(;s<t;)if(0==(128&e[s]))s++;else if(192==(224&e[s])){if(s+1===t||128!=(192&e[s+1])||192==(254&e[s]))return!1;s+=2}else if(224==(240&e[s])){if(s+2>=t||128!=(192&e[s+1])||128!=(192&e[s+2])||224===e[s]&&128==(224&e[s+1])||237===e[s]&&160==(224&e[s+1]))return!1;s+=3}else{if(240!=(248&e[s]))return!1;if(s+3>=t||128!=(192&e[s+1])||128!=(192&e[s+2])||128!=(192&e[s+3])||240===e[s]&&128==(240&e[s+1])||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(e.exports={isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:i,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},!process.env.WS_NO_UTF_8_VALIDATE)try{const t=s(367);e.exports.isValidUTF8=function(e){return e.length<150?i(e):t(e)}}catch(e){}},8693:(e,t,s)=>{"use strict";const i=s(2361),n=s(3685),{createHash:o}=(s(5687),s(1808),s(4404),s(6113)),a=s(8477),r=s(142),c=s(5326),p=s(5861),{GUID:l,kWebSocket:u}=s(8500),d=/^[+/0-9A-Za-z]{22}==$/;function h(e){e._state=2,e.emit("close")}function m(){this.destroy()}function f(e,t,s,i){s=s||n.STATUS_CODES[t],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...i},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${n.STATUS_CODES[t]}\r\n`+Object.keys(i).map((e=>`${e}: ${i[e]}`)).join("\r\n")+"\r\n\r\n"+s)}function v(e,t,s,i,n){if(e.listenerCount("wsClientError")){const i=new Error(n);Error.captureStackTrace(i,v),e.emit("wsClientError",i,s,t)}else f(s,i,n)}e.exports=class extends i{constructor(e,t){if(super(),null==(e={maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:p,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=n.createServer(((e,t)=>{const s=n.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)})),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(const s of Object.keys(t))e.on(s,t[s]);return function(){for(const s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,i)=>{this.handleUpgrade(t,s,i,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state)return e&&this.once("close",(()=>{e(new Error("The server is not running"))})),void process.nextTick(h,this);if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(h,this);else{const e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close((()=>{h(this)}))}}shouldHandle(e){if(this.options.path){const t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,i){t.on("error",m);const n=e.headers["sec-websocket-key"],o=+e.headers["sec-websocket-version"];if("GET"!==e.method){return void v(this,e,t,405,"Invalid HTTP method")}if("websocket"!==e.headers.upgrade.toLowerCase()){return void v(this,e,t,400,"Invalid Upgrade header")}if(!n||!d.test(n)){return void v(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header")}if(8!==o&&13!==o){return void v(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header")}if(!this.shouldHandle(e))return void f(t,400);const p=e.headers["sec-websocket-protocol"];let l=new Set;if(void 0!==p)try{l=c.parse(p)}catch(s){return void v(this,e,t,400,"Invalid Sec-WebSocket-Protocol header")}const u=e.headers["sec-websocket-extensions"],h={};if(this.options.perMessageDeflate&&void 0!==u){const s=new r(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const e=a.parse(u);e[r.extensionName]&&(s.accept(e[r.extensionName]),h[r.extensionName]=s)}catch(s){return void v(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header")}}if(this.options.verifyClient){const a={origin:e.headers[""+(8===o?"sec-websocket-origin":"origin")],secure:!(!e.socket.authorized&&!e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(a,((o,a,r,c)=>{if(!o)return f(t,a||401,r,c);this.completeUpgrade(h,n,l,e,t,s,i)}));if(!this.options.verifyClient(a))return f(t,401)}this.completeUpgrade(h,n,l,e,t,s,i)}completeUpgrade(e,t,s,i,n,c,p){if(!n.readable||!n.writable)return n.destroy();if(n[u])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return f(n,503);const d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${o("sha1").update(t+l).digest("base64")}`],v=new this.options.WebSocket(null);if(s.size){const e=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),v._protocol=e)}if(e[r.extensionName]){const t=e[r.extensionName].params,s=a.format({[r.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),v._extensions=e}this.emit("headers",d,i),n.write(d.concat("\r\n").join("\r\n")),n.removeListener("error",m),v.setSocket(n,c,{maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(v),v.on("close",(()=>{this.clients.delete(v),this._shouldEmitClose&&!this.clients.size&&process.nextTick(h,this)}))),p(v,i)}}},5861:(e,t,s)=>{"use strict";const i=s(2361),n=s(5687),o=s(3685),a=s(1808),r=s(4404),{randomBytes:c,createHash:p}=s(6113),{Readable:l}=s(2781),{URL:u}=s(7310),d=s(142),h=s(3512),m=s(3497),{BINARY_TYPES:f,EMPTY_BUFFER:v,GUID:x,kForOnEventAttribute:g,kListener:b,kStatusCode:y,kWebSocket:w,NOOP:k}=s(8500),{EventTarget:{addEventListener:_,removeEventListener:S}}=s(9455),{format:E,parse:T}=s(8477),{toBuffer:C}=s(7470),O=Symbol("kAborted"),j=[8,13],P=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class A extends i{constructor(e,t,s){super(),this._binaryType=f[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=v,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=A.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),q(this,e,t,s)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){f.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){const i=new h({binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation});this._sender=new m(e,this._extensions,s.generateMask),this._receiver=i,this._socket=e,i[w]=this,e[w]=this,i.on("conclude",I),i.on("drain",U),i.on("error",F),i.on("message",$),i.on("ping",H),i.on("pong",W),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",G),e.on("data",K),e.on("end",Y),e.on("error",J),this._readyState=A.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=A.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[d.extensionName]&&this._extensions[d.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=A.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==A.CLOSED){if(this.readyState===A.CONNECTING){const e="WebSocket was closed before the connection was established";return L(this,this._req,e)}this.readyState!==A.CLOSING?(this._readyState=A.CLOSING,this._sender.close(e,t,!this._isServer,(e=>{e||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())})),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end()}}pause(){this.readyState!==A.CONNECTING&&this.readyState!==A.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===A.OPEN?(void 0===t&&(t=!this._isServer),this._sender.ping(e||v,t,s)):M(this,e,s)}pong(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===A.OPEN?(void 0===t&&(t=!this._isServer),this._sender.pong(e||v,t,s)):M(this,e,s)}resume(){this.readyState!==A.CONNECTING&&this.readyState!==A.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==A.OPEN)return void M(this,e,s);const i={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[d.extensionName]||(i.compress=!1),this._sender.send(e||v,i,s)}terminate(){if(this.readyState!==A.CLOSED){if(this.readyState===A.CONNECTING){const e="WebSocket was closed before the connection was established";return L(this,this._req,e)}this._socket&&(this._readyState=A.CLOSING,this._socket.destroy())}}}function q(e,t,s,i){const a={protocolVersion:j[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(!j.includes(a.protocolVersion))throw new RangeError(`Unsupported protocol version: ${a.protocolVersion} (supported versions: ${j.join(", ")})`);let r;if(t instanceof u)r=t,e._url=t.href;else{try{r=new u(t)}catch(e){throw new SyntaxError(`Invalid URL: ${t}`)}e._url=t}const l="wss:"===r.protocol,h="ws+unix:"===r.protocol;let m;if("ws:"===r.protocol||l||h?h&&!r.pathname?m="The URL's pathname is empty":r.hash&&(m="The URL contains a fragment identifier"):m='The URL\'s protocol must be one of "ws:", "wss:", or "ws+unix:"',m){const t=new SyntaxError(m);if(0===e._redirects)throw t;return void N(e,t)}const f=l?443:80,v=c(16).toString("base64"),g=l?n.request:o.request,b=new Set;let y,w;if(a.createConnection=l?D:B,a.defaultPort=a.defaultPort||f,a.port=r.port||f,a.host=r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,a.headers={...a.headers,"Sec-WebSocket-Version":a.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},a.path=r.pathname+r.search,a.timeout=a.handshakeTimeout,a.perMessageDeflate&&(y=new d(!0!==a.perMessageDeflate?a.perMessageDeflate:{},!1,a.maxPayload),a.headers["Sec-WebSocket-Extensions"]=E({[d.extensionName]:y.offer()})),s.length){for(const e of s){if("string"!=typeof e||!R.test(e)||b.has(e))throw new SyntaxError("An invalid or duplicated subprotocol was specified");b.add(e)}a.headers["Sec-WebSocket-Protocol"]=s.join(",")}if(a.origin&&(a.protocolVersion<13?a.headers["Sec-WebSocket-Origin"]=a.origin:a.headers.Origin=a.origin),(r.username||r.password)&&(a.auth=`${r.username}:${r.password}`),h){const e=a.path.split(":");a.socketPath=e[0],a.path=e[1]}if(a.followRedirects){if(0===e._redirects){e._originalIpc=h,e._originalSecure=l,e._originalHostOrSocketPath=h?a.socketPath:r.host;const t=i&&i.headers;if(i={...i,headers:{}},t)for(const[e,s]of Object.entries(t))i.headers[e.toLowerCase()]=s}else if(0===e.listenerCount("redirect")){const t=h?!!e._originalIpc&&a.socketPath===e._originalHostOrSocketPath:!e._originalIpc&&r.host===e._originalHostOrSocketPath;(!t||e._originalSecure&&!l)&&(delete a.headers.authorization,delete a.headers.cookie,t||delete a.headers.host,a.auth=void 0)}a.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(a.auth).toString("base64")),w=e._req=g(a),e._redirects&&e.emit("redirect",e.url,w)}else w=e._req=g(a);a.timeout&&w.on("timeout",(()=>{L(e,w,"Opening handshake has timed out")})),w.on("error",(t=>{null===w||w[O]||(w=e._req=null,N(e,t))})),w.on("response",(n=>{const o=n.headers.location,r=n.statusCode;if(o&&a.followRedirects&&r>=300&&r<400){if(++e._redirects>a.maxRedirects)return void L(e,w,"Maximum redirects exceeded");let n;w.abort();try{n=new u(o,t)}catch(t){const s=new SyntaxError(`Invalid URL: ${o}`);return void N(e,s)}q(e,n,s,i)}else e.emit("unexpected-response",w,n)||L(e,w,`Unexpected server response: ${n.statusCode}`)})),w.on("upgrade",((t,s,i)=>{if(e.emit("upgrade",t),e.readyState!==A.CONNECTING)return;if(w=e._req=null,"websocket"!==t.headers.upgrade.toLowerCase())return void L(e,s,"Invalid Upgrade header");const n=p("sha1").update(v+x).digest("base64");if(t.headers["sec-websocket-accept"]!==n)return void L(e,s,"Invalid Sec-WebSocket-Accept header");const o=t.headers["sec-websocket-protocol"];let r;if(void 0!==o?b.size?b.has(o)||(r="Server sent an invalid subprotocol"):r="Server sent a subprotocol but none was requested":b.size&&(r="Server sent no subprotocol"),r)return void L(e,s,r);o&&(e._protocol=o);const c=t.headers["sec-websocket-extensions"];if(void 0!==c){if(!y){return void L(e,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested")}let t;try{t=T(c)}catch(t){return void L(e,s,"Invalid Sec-WebSocket-Extensions header")}const i=Object.keys(t);if(1!==i.length||i[0]!==d.extensionName){return void L(e,s,"Server indicated an extension that was not requested")}try{y.accept(t[d.extensionName])}catch(t){return void L(e,s,"Invalid Sec-WebSocket-Extensions header")}e._extensions[d.extensionName]=y}e.setSocket(s,i,{generateMask:a.generateMask,maxPayload:a.maxPayload,skipUTF8Validation:a.skipUTF8Validation})})),w.end()}function N(e,t){e._readyState=A.CLOSING,e.emit("error",t),e.emitClose()}function B(e){return e.path=e.socketPath,a.connect(e)}function D(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=a.isIP(e.host)?"":e.host),r.connect(e)}function L(e,t,s){e._readyState=A.CLOSING;const i=new Error(s);Error.captureStackTrace(i,L),t.setHeader?(t[O]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(N,e,i)):(t.destroy(i),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function M(e,t,s){if(t){const s=C(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){s(new Error(`WebSocket is not open: readyState ${e.readyState} (${P[e.readyState]})`))}}function I(e,t){const s=this[w];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[w]&&(s._socket.removeListener("data",K),process.nextTick(V,s._socket),1005===e?s.close():s.close(e,t))}function U(){const e=this[w];e.isPaused||e._socket.resume()}function F(e){const t=this[w];void 0!==t._socket[w]&&(t._socket.removeListener("data",K),process.nextTick(V,t._socket),t.close(e[y])),t.emit("error",e)}function z(){this[w].emitClose()}function $(e,t){this[w].emit("message",e,t)}function H(e){const t=this[w];t.pong(e,!t._isServer,k),t.emit("ping",e)}function W(e){this[w].emit("pong",e)}function V(e){e.resume()}function G(){const e=this[w];let t;this.removeListener("close",G),this.removeListener("data",K),this.removeListener("end",Y),e._readyState=A.CLOSING,this._readableState.endEmitted||e._closeFrameReceived||e._receiver._writableState.errorEmitted||null===(t=e._socket.read())||e._receiver.write(t),e._receiver.end(),this[w]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",z),e._receiver.on("finish",z))}function K(e){this[w]._receiver.write(e)||this.pause()}function Y(){const e=this[w];e._readyState=A.CLOSING,e._receiver.end(),this.end()}function J(){const e=this[w];this.removeListener("error",J),this.on("error",k),e&&(e._readyState=A.CLOSING,this.destroy())}Object.defineProperty(A,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(A.prototype,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(A,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(A.prototype,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(A,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(A.prototype,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(A,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),Object.defineProperty(A.prototype,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((e=>{Object.defineProperty(A.prototype,e,{enumerable:!0})})),["open","error","close","message"].forEach((e=>{Object.defineProperty(A.prototype,`on${e}`,{enumerable:!0,get(){for(const t of this.listeners(e))if(t[g])return t[b];return null},set(t){for(const t of this.listeners(e))if(t[g]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[g]:!0})}})})),A.prototype.addEventListener=_,A.prototype.removeEventListener=S,e.exports=A},2353:(e,t,s)=>{var i=s(7147),n=s(7310),o=s(2081).spawn;function a(e){"use strict";e=e||{};var t,a,r=this,c=s(3685),p=s(5687),l={},u=!1,d={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},h=Object.assign({},d),m=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","content-transfer-encoding","cookie","cookie2","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"],f=["TRACE","TRACK","CONNECT"],v=!1,x=!1,g=!1,b={};this.UNSENT=0,this.OPENED=1,this.HEADERS_RECEIVED=2,this.LOADING=3,this.DONE=4,this.readyState=this.UNSENT,this.onreadystatechange=null,this.responseText="",this.responseXML="",this.status=null,this.statusText=null;this.open=function(e,t,s,i,n){if(this.abort(),x=!1,g=!1,!function(e){return e&&-1===f.indexOf(e)}(e))throw new Error("SecurityError: Request method not allowed");l={method:e,url:t.toString(),async:"boolean"!=typeof s||s,user:i||null,password:n||null},y(this.OPENED)},this.setDisableHeaderCheck=function(e){u=e},this.setRequestHeader=function(e,t){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!function(e){return u||e&&-1===m.indexOf(e.toLowerCase())}(e))return console.warn('Refused to set unsafe header "'+e+'"'),!1;if(v)throw new Error("INVALID_STATE_ERR: send flag is true");return h[e]=t,!0},this.getResponseHeader=function(e){return"string"==typeof e&&this.readyState>this.OPENED&&a.headers[e.toLowerCase()]&&!x?a.headers[e.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||x)return"";var e="";for(var t in a.headers)"set-cookie"!==t&&"set-cookie2"!==t&&(e+=t+": "+a.headers[t]+"\r\n");return e.substr(0,e.length-2)},this.getRequestHeader=function(e){return"string"==typeof e&&h[e]?h[e]:""},this.send=function(s){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(v)throw new Error("INVALID_STATE_ERR: send has already been called");var u,d=!1,m=!1,f=n.parse(l.url);switch(f.protocol){case"https:":d=!0;case"http:":u=f.hostname;break;case"file:":m=!0;break;case void 0:case"":u="localhost";break;default:throw new Error("Protocol not supported.")}if(m){if("GET"!==l.method)throw new Error("XMLHttpRequest: Only GET method is supported");if(l.async)i.readFile(unescape(f.pathname),"utf8",(function(e,t){e?r.handleError(e,e.errno||-1):(r.status=200,r.responseText=t,y(r.DONE))}));else try{this.responseText=i.readFileSync(unescape(f.pathname),"utf8"),this.status=200,y(r.DONE)}catch(e){this.handleError(e,e.errno||-1)}}else{var g=f.port||(d?443:80),b=f.pathname+(f.search?f.search:"");if(h.Host=u,d&&443===g||80===g||(h.Host+=":"+f.port),l.user){void 0===l.password&&(l.password="");var w=new Buffer(l.user+":"+l.password);h.Authorization="Basic "+w.toString("base64")}"GET"===l.method||"HEAD"===l.method?s=null:s?(h["Content-Length"]=Buffer.isBuffer(s)?s.length:Buffer.byteLength(s),h["Content-Type"]||(h["Content-Type"]="text/plain;charset=UTF-8")):"POST"===l.method&&(h["Content-Length"]=0);var k=e.agent||!1,_={host:u,port:g,path:b,method:l.method,headers:h,agent:k};if(d&&(_.pfx=e.pfx,_.key=e.key,_.passphrase=e.passphrase,_.cert=e.cert,_.ca=e.ca,_.ciphers=e.ciphers,_.rejectUnauthorized=!1!==e.rejectUnauthorized),x=!1,l.async){var S=d?p.request:c.request;v=!0,r.dispatchEvent("readystatechange");var E=function(s){if(302===(a=s).statusCode||303===a.statusCode||307===a.statusCode){l.url=a.headers.location;var i=n.parse(l.url);u=i.hostname;var o={hostname:i.hostname,port:i.port,path:i.path,method:303===a.statusCode?"GET":l.method,headers:h};return d&&(o.pfx=e.pfx,o.key=e.key,o.passphrase=e.passphrase,o.cert=e.cert,o.ca=e.ca,o.ciphers=e.ciphers,o.rejectUnauthorized=!1!==e.rejectUnauthorized),void(t=S(o,E).on("error",T)).end()}a&&a.setEncoding&&a.setEncoding("utf8"),y(r.HEADERS_RECEIVED),r.status=a.statusCode,a.on("data",(function(e){e&&(r.responseText+=e),v&&y(r.LOADING)})),a.on("end",(function(){v&&(v=!1,y(r.DONE))})),a.on("error",(function(e){r.handleError(e)}))},T=function(e){r.handleError(e)};t=S(_,E).on("error",T),e.autoUnref&&t.on("socket",(e=>{e.unref()})),s&&t.write(s),t.end(),r.dispatchEvent("loadstart")}else{var C=".node-xmlhttprequest-content-"+process.pid,O=".node-xmlhttprequest-sync-"+process.pid;i.writeFileSync(O,"","utf8");for(var j="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(d?"s":"")+".request;var options = "+JSON.stringify(_)+";var responseText = '';var req = doRequest(options, function(response) {response.setEncoding('utf8');response.on('data', function(chunk) { responseText += chunk;});response.on('end', function() {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-STATUS:' + response.statusCode + ',' + responseText, 'utf8');fs.unlinkSync('"+O+"');});response.on('error', function(error) {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+O+"');});}).on('error', function(error) {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+O+"');});"+(s?"req.write('"+JSON.stringify(s).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",P=o(process.argv[0],["-e",j]);i.existsSync(O););if(r.responseText=i.readFileSync(C,"utf8"),P.stdin.end(),i.unlinkSync(C),r.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var R=r.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,"");r.handleError(R,503)}else r.status=r.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1"),r.responseText=r.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"),y(r.DONE)}}},this.handleError=function(e,t){this.status=t||0,this.statusText=e,this.responseText=e.stack,x=!0,y(this.DONE)},this.abort=function(){t&&(t.abort(),t=null),h=Object.assign({},d),this.responseText="",this.responseXML="",x=g=!0,this.readyState===this.UNSENT||this.readyState===this.OPENED&&!v||this.readyState===this.DONE||(v=!1,y(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(e,t){e in b||(b[e]=[]),b[e].push(t)},this.removeEventListener=function(e,t){e in b&&(b[e]=b[e].filter((function(e){return e!==t})))},this.dispatchEvent=function(e){if("function"==typeof r["on"+e]&&(this.readyState===this.DONE?setImmediate((function(){r["on"+e]()})):r["on"+e]()),e in b)for(let t=0,s=b[e].length;t<s;t++)this.readyState===this.DONE?setImmediate((function(){b[e][t].call(r)})):b[e][t].call(r)};var y=function(e){if(!(r.readyState===e||r.readyState===r.UNSENT&&g)&&(r.readyState=e,(l.async||r.readyState<r.OPENED||r.readyState===r.DONE)&&r.dispatchEvent("readystatechange"),r.readyState===r.DONE)){let e;e=g?"abort":x?"error":"load",r.dispatchEvent(e),r.dispatchEvent("loadend")}}}e.exports=a,a.XMLHttpRequest=a},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},3477:e=>{"use strict";e.exports=require("querystring")},2781:e=>{"use strict";e.exports=require("stream")},9512:e=>{"use strict";e.exports=require("timers")},4404:e=>{"use strict";e.exports=require("tls")},6224:e=>{"use strict";e.exports=require("tty")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},797:t=>{"use strict";if(void 0===e){var s=new Error("Cannot find module 'bufferutil'");throw s.code="MODULE_NOT_FOUND",s}t.exports=e},367:e=>{"use strict";if(void 0===t){var s=new Error("Cannot find module 'utf-8-validate'");throw s.code="MODULE_NOT_FOUND",s}e.exports=t},778:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0,t.encode=function(e){let t="";for(let s in e)e.hasOwnProperty(s)&&(t.length&&(t+="&"),t+=encodeURIComponent(s)+"="+encodeURIComponent(e[s]));return t},t.decode=function(e){let t={},s=e.split("&");for(let e=0,i=s.length;e<i;e++){let i=s[e].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;const s=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,i=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.parse=function(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),o=e.indexOf("]");-1!=n&&-1!=o&&(e=e.substring(0,n)+e.substring(n,o).replace(/:/g,";")+e.substring(o,e.length));let a=s.exec(e||""),r={},c=14;for(;c--;)r[i[c]]=a[c]||"";return-1!=n&&-1!=o&&(r.source=t,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=function(e,t){const s=/\/{2,9}/g,i=t.replace(s,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||i.splice(0,1);"/"==t.slice(-1)&&i.splice(i.length-1,1);return i}(0,r.path),r.queryKey=function(e,t){const s={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,i){t&&(s[t]=i)})),s}(0,r.query),r}},393:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),i=64,n={};let o,a=0,r=0;function c(e){let t="";do{t=s[e%i]+t,e=Math.floor(e/i)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(r=0;r<e.length;r++)t=t*i+n[e.charAt(r)];return t},t.yeast=function(){const e=c(+new Date);return e!==o?(a=0,o=e):e+"."+c(a++)};r<i;r++)n[s[r]]=r},6361:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.globalThisShim=void 0,t.globalThisShim=global},8493:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.parse=t.installTimerFunctions=t.transports=t.TransportError=t.Transport=t.protocol=t.Socket=void 0;const i=s(5804);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return i.Socket}}),t.protocol=i.Socket.protocol;var n=s(9052);Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return n.Transport}}),Object.defineProperty(t,"TransportError",{enumerable:!0,get:function(){return n.TransportError}});var o=s(84);Object.defineProperty(t,"transports",{enumerable:!0,get:function(){return o.transports}});var a=s(767);Object.defineProperty(t,"installTimerFunctions",{enumerable:!0,get:function(){return a.installTimerFunctions}});var r=s(4030);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}});var c=s(3565);Object.defineProperty(t,"nextTick",{enumerable:!0,get:function(){return c.nextTick}})},5804:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const n=s(84),o=s(767),a=s(778),r=s(4030),c=i(s(818)),p=s(9818),l=s(1836),u=s(3565),d=(0,c.default)("engine.io-client:socket");class h extends p.Emitter{constructor(e,t={}){super(),this.binaryType=u.defaultBinaryType,this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=(0,r.parse)(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=(0,r.parse)(t.host).host),(0,o.installTimerFunctions)(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=(0,a.decode)(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){d('creating transport "%s"',e);const t=Object.assign({},this.opts.query);t.EIO=l.protocol,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return d("options: %j",s),new n.transports[e](s)}open(){let e;if(this.opts.rememberUpgrade&&h.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return d("error while creating transport: %s",e),this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){d("setting transport %s",e.name),this.transport&&(d("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){d('probing transport "%s"',e);let t=this.createTransport(e),s=!1;h.priorWebsocketSuccess=!1;const i=()=>{s||(d('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",(i=>{if(!s)if("pong"===i.type&&"probe"===i.data){if(d('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;h.priorWebsocketSuccess="websocket"===t.name,d('pausing current transport "%s"',this.transport.name),this.transport.pause((()=>{s||"closed"!==this.readyState&&(d("changing transport and sending upgrade packet"),p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{d('probe transport "%s" failed',e);const s=new Error("probe error");s.transport=t.name,this.emitReserved("upgradeError",s)}})))};function n(){s||(s=!0,p(),t.close(),t=null)}const o=s=>{const i=new Error("probe error: "+s);i.transport=t.name,n(),d('probe transport "%s" failed because of error: %s',e,s),this.emitReserved("upgradeError",i)};function a(){o("transport closed")}function r(){o("socket closed")}function c(e){t&&e.name!==t.name&&(d('"%s" works - aborting "%s"',e.name,t.name),n())}const p=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",a),this.off("close",r),this.off("upgrading",c)};t.once("open",i),t.once("error",o),t.once("close",a),this.once("close",r),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{s||t.open()}),200):t.open()}onOpen(){if(d("socket open"),this.readyState="open",h.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){d("starting upgrade probes");let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(d('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}else d('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();d("flushing %d packets in socket",e.length),this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){const s=this.writeBuffer[t].data;if(s&&(e+=(0,o.byteLength)(s)),t>0&&e>this.maxPayload)return d("only send %d out of %d packets",t,this.writeBuffer.length),this.writeBuffer.slice(0,t);e+=2}return d("payload size is %d (max: %d)",e,this.maxPayload),this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,i){if("function"==typeof t&&(i=t,t=void 0),"function"==typeof s&&(i=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const n={type:e,data:t,options:s};this.emitReserved("packetCreate",n),this.writeBuffer.push(n),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this.onClose("forced close"),d("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():e()})):this.upgrading?s():e()),this}onError(e){d("socket error %j",e),h.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(d('socket close with reason: "%s"',e),this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const i=e.length;for(;s<i;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}t.Socket=h,h.protocol=l.protocol},9052:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=t.TransportError=void 0;const n=s(1836),o=s(9818),a=s(767),r=i(s(818)),c=s(778),p=(0,r.default)("engine.io-client:transport");class l extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}t.TransportError=l;class u extends o.Emitter{constructor(e){super(),this.writable=!1,(0,a.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new l(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState?this.write(e):p("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=(0,n.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=(0,c.encode)(e);return t.length?"?"+t:""}}t.Transport=u},84:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transports=void 0;const i=s(3150),n=s(1857),o=s(8929);t.transports={websocket:n.WS,webtransport:o.WT,polling:i.Polling}},3150:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Request=t.Polling=void 0;const n=s(9052),o=i(s(818)),a=s(393),r=s(1836),c=s(8891),p=s(9818),l=s(767),u=s(6361),d=(0,o.default)("engine.io-client:polling");function h(){}const m=null!=new c.XHR({xdomain:!1}).responseType;class f extends n.Transport{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let s=location.port;s||(s=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||s!==e.port}const t=e&&e.forceBase64;this.supportsBinary=m&&!t,this.opts.withCredentials&&(this.cookieJar=(0,c.createCookieJar)())}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{d("paused"),this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(d("we are currently polling - waiting to pause"),e++,this.once("pollComplete",(function(){d("pre-pause polling complete"),--e||t()}))),this.writable||(d("we are currently writing - waiting to pause"),e++,this.once("drain",(function(){d("pre-pause writing complete"),--e||t()})))}else t()}poll(){d("polling"),this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){d("polling got data %s",e);(0,r.decodePayload)(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState?this.poll():d('ignoring poll - transport state "%s"',this.readyState))}doClose(){const e=()=>{d("writing close packet"),this.write([{type:"close"}])};"open"===this.readyState?(d("transport open - closing"),e()):(d("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,r.encodePayload)(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,a.yeast)()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new v(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){d("xhr poll");const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}t.Polling=f;class v extends p.Emitter{constructor(e,t){super(),(0,l.installTimerFunctions)(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=(0,l.pick)(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const s=this.xhr=new c.XHR(t);try{d("xhr open %s: %s",this.method,this.uri),s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&s.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{s.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var e;3===s.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},d("xhr data %s",this.data),s.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=v.requestsCount++,v.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=h,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete v.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(t.Request=v,v.requestsCount=0,v.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",x);else if("function"==typeof addEventListener){const e="onpagehide"in u.globalThisShim?"pagehide":"unload";addEventListener(e,x,!1)}function x(){for(let e in v.requests)v.requests.hasOwnProperty(e)&&v.requests[e].abort()}},3565:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.defaultBinaryType=t.usingBrowserWebSocket=t.WebSocket=void 0;const n=i(s(7883));t.WebSocket=n.default,t.usingBrowserWebSocket=!1,t.defaultBinaryType="nodebuffer",t.nextTick=process.nextTick},1857:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WS=void 0;const n=s(9052),o=s(393),a=s(767),r=s(3565),c=i(s(818)),p=s(1836),l=(0,c.default)("engine.io-client:websocket"),u="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class d extends n.Transport{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=u?{}:(0,a.pick)(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=r.usingBrowserWebSocket&&!u?t?new r.WebSocket(e,t):new r.WebSocket(e):new r.WebSocket(e,t,s)}catch(e){return this.emitReserved("error",e)}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++){const s=e[t],i=t===e.length-1;(0,p.encodePacket)(s,this.supportsBinary,(e=>{const t={};if(!r.usingBrowserWebSocket&&(s.options&&(t.compress=s.options.compress),this.opts.perMessageDeflate)){("string"==typeof e?Buffer.byteLength(e):e.length)<this.opts.perMessageDeflate.threshold&&(t.compress=!1)}try{r.usingBrowserWebSocket?this.ws.send(e):this.ws.send(e,t)}catch(e){l("websocket closed before onclose event")}i&&(0,r.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,o.yeast)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!r.WebSocket}}t.WS=d},8929:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WT=void 0;const n=s(9052),o=s(3565),a=s(1836),r=(0,i(s(818)).default)("engine.io-client:webtransport");class c extends n.Transport{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{r("transport closed gracefully"),this.onClose()})).catch((e=>{r("transport closed due to %s",e),this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=(0,a.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=(0,a.createPacketEncoderStream)();i.readable.pipeTo(e.writable),this.writer=i.writable.getWriter();const n=()=>{s.read().then((({done:e,value:t})=>{e?r("session is closed"):(r("received chunk: %o",t),this.onPacket(t),n())})).catch((e=>{r("an error occurred while reading: %s",e)}))};n();const 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++){const s=e[t],i=t===e.length-1;this.writer.write(s).then((()=>{i&&(0,o.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}}t.WT=c},8891:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CookieJar=t.parse=t.createCookieJar=t.XHR=void 0;const a=o(s(2353));function r(e){const t=e.split("; "),s=t[0].indexOf("=");if(-1===s)return;const i=t[0].substring(0,s).trim();if(!i.length)return;let n=t[0].substring(s+1).trim();34===n.charCodeAt(0)&&(n=n.slice(1,-1));const o={name:i,value:n};for(let e=1;e<t.length;e++){const s=t[e].split("=");if(2!==s.length)continue;const i=s[0].trim(),n=s[1].trim();switch(i){case"Expires":o.expires=new Date(n);break;case"Max-Age":const e=new Date;e.setUTCSeconds(e.getUTCSeconds()+parseInt(n,10)),o.expires=e}}return o}t.XHR=a.default||a,t.createCookieJar=function(){return new c},t.parse=r;class c{constructor(){this.cookies=new Map}parseCookies(e){const t=e.getResponseHeader("set-cookie");t&&t.forEach((e=>{const t=r(e);t&&this.cookies.set(t.name,t)}))}addCookies(e){const t=[];this.cookies.forEach(((e,s)=>{var i;(null===(i=e.expires)||void 0===i?void 0:i.getTime())<Date.now()?this.cookies.delete(s):t.push(`${s}=${e.value}`)})),t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}}t.CookieJar=c},767:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.byteLength=t.installTimerFunctions=t.pick=void 0;const i=s(6361);t.pick=function(e,...t){return t.reduce(((t,s)=>(e.hasOwnProperty(s)&&(t[s]=e[s]),t)),{})};const n=i.globalThisShim.setTimeout,o=i.globalThisShim.clearTimeout;t.installTimerFunctions=function(e,t){t.useNativeTimers?(e.setTimeoutFn=n.bind(i.globalThisShim),e.clearTimeoutFn=o.bind(i.globalThisShim)):(e.setTimeoutFn=i.globalThisShim.setTimeout.bind(i.globalThisShim),e.clearTimeoutFn=i.globalThisShim.clearTimeout.bind(i.globalThisShim))};t.byteLength=function(e){return"string"==typeof e?function(e){let t=0,s=0;for(let i=0,n=e.length;i<n;i++)t=e.charCodeAt(i),t<128?s+=1:t<2048?s+=2:t<55296||t>=57344?s+=3:(i++,s+=4);return s}(e):Math.ceil(1.33*(e.byteLength||e.size))}},6533:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_PACKET=t.PACKET_TYPES_REVERSE=t.PACKET_TYPES=void 0;const s=Object.create(null);t.PACKET_TYPES=s,s.open="0",s.close="1",s.ping="2",s.pong="3",s.message="4",s.upgrade="5",s.noop="6";const i=Object.create(null);t.PACKET_TYPES_REVERSE=i,Object.keys(s).forEach((e=>{i[s[e]]=e}));t.ERROR_PACKET={type:"error",data:"parser error"}},1740:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePacket=void 0;const i=s(6533);t.decodePacket=(e,t)=>{if("string"!=typeof e)return{type:"message",data:n(e,t)};const s=e.charAt(0);if("b"===s){const s=Buffer.from(e.substring(1),"base64");return{type:"message",data:n(s,t)}}return i.PACKET_TYPES_REVERSE[s]?e.length>1?{type:i.PACKET_TYPES_REVERSE[s],data:e.substring(1)}:{type:i.PACKET_TYPES_REVERSE[s]}:i.ERROR_PACKET};const n=(e,t)=>"arraybuffer"===t?e instanceof ArrayBuffer?e:Buffer.isBuffer(e)?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e.buffer:Buffer.isBuffer(e)?e:Buffer.from(e)},8029:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encodePacketToBinary=t.encodePacket=void 0;const i=s(6533);t.encodePacket=({type:e,data:t},s,o)=>t instanceof ArrayBuffer||ArrayBuffer.isView(t)?o(s?t:"b"+n(t,!0).toString("base64")):o(i.PACKET_TYPES[e]+(t||""));const n=(e,t)=>Buffer.isBuffer(e)||e instanceof Uint8Array&&!t?e:e instanceof ArrayBuffer?Buffer.from(e):Buffer.from(e.buffer,e.byteOffset,e.byteLength);let o;t.encodePacketToBinary=function(e,s){if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return s(n(e.data,!1));(0,t.encodePacket)(e,!0,(e=>{o||(o=new TextEncoder),s(o.encode(e))}))}},1836:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayload=t.decodePacket=t.encodePayload=t.encodePacket=t.protocol=t.createPacketDecoderStream=t.createPacketEncoderStream=void 0;const i=s(8029);Object.defineProperty(t,"encodePacket",{enumerable:!0,get:function(){return i.encodePacket}});const n=s(1740);Object.defineProperty(t,"decodePacket",{enumerable:!0,get:function(){return n.decodePacket}});const o=s(6533),a=String.fromCharCode(30);t.encodePayload=(e,t)=>{const s=e.length,n=new Array(s);let o=0;e.forEach(((e,r)=>{(0,i.encodePacket)(e,!1,(e=>{n[r]=e,++o===s&&t(n.join(a))}))}))};let r;function c(e){return e.reduce(((e,t)=>e+t.length),0)}function p(e,t){if(e[0].length===t)return e.shift();const s=new Uint8Array(t);let i=0;for(let n=0;n<t;n++)s[n]=e[0][i++],i===e[0].length&&(e.shift(),i=0);return e.length&&i<e[0].length&&(e[0]=e[0].slice(i)),s}t.decodePayload=(e,t)=>{const s=e.split(a),i=[];for(let e=0;e<s.length;e++){const o=(0,n.decodePacket)(s[e],t);if(i.push(o),"error"===o.type)break}return i},t.createPacketEncoderStream=function(){return new TransformStream({transform(e,t){(0,i.encodePacketToBinary)(e,(s=>{const i=s.length;let n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);const e=new DataView(n.buffer);e.setUint8(0,126),e.setUint16(1,i)}else{n=new Uint8Array(9);const e=new DataView(n.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(i))}e.data&&"string"!=typeof e.data&&(n[0]|=128),t.enqueue(n),t.enqueue(s)}))}})},t.createPacketDecoderStream=function(e,t){r||(r=new TextDecoder);const s=[];let i=0,a=-1,l=!1;return new TransformStream({transform(u,d){for(s.push(u);;){if(0===i){if(c(s)<1)break;const e=p(s,1);l=128==(128&e[0]),a=127&e[0],i=a<126?3:126===a?1:2}else if(1===i){if(c(s)<2)break;const e=p(s,2);a=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),i=3}else if(2===i){if(c(s)<8)break;const e=p(s,8),t=new DataView(e.buffer,e.byteOffset,e.length),n=t.getUint32(0);if(n>Math.pow(2,21)-1){d.enqueue(o.ERROR_PACKET);break}a=n*Math.pow(2,32)+t.getUint32(4),i=3}else{if(c(s)<a)break;const e=p(s,a);d.enqueue((0,n.decodePacket)(l?e:r.decode(e),t)),i=0}if(0===a||a>e){d.enqueue(o.ERROR_PACKET);break}}}})},t.protocol=4},9600:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocol=t.Transport=t.Socket=t.uServer=t.parser=t.attach=t.listen=t.transports=t.Server=void 0;const i=s(3685),n=s(2076);Object.defineProperty(t,"Server",{enumerable:!0,get:function(){return n.Server}});const o=s(2067);t.transports=o.default;const a=s(1836);t.parser=a;var r=s(274);Object.defineProperty(t,"uServer",{enumerable:!0,get:function(){return r.uServer}});var c=s(1463);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return c.Socket}});var p=s(4947);function l(e,t){const s=new n.Server(t);return s.attach(e,t),s}Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return p.Transport}}),t.protocol=a.protocol,t.listen=function(e,t,s){"function"==typeof t&&(s=t,t={});const n=(0,i.createServer)((function(e,t){t.writeHead(501),t.end("Not Implemented")})),o=l(n,t);return o.httpServer=n,n.listen(e,s),o},t.attach=l},8702:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayloadAsBinary=t.encodePayloadAsBinary=t.decodePayload=t.encodePayload=t.decodeBase64Packet=t.decodePacket=t.encodeBase64Packet=t.encodePacket=t.packets=t.protocol=void 0;var i=s(1225);t.protocol=3;t.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var n=Object.keys(t.packets),o={type:"error",data:"parser error"};const a=Buffer.concat([]);function r(e,s,n,o){if("function"==typeof s&&(o=s,s=null),"function"==typeof n&&(o=n,n=null),Buffer.isBuffer(e.data))return c(e,s,o);if(e.data&&(e.data.buffer||e.data)instanceof ArrayBuffer)return c({type:e.type,data:f(e.data)},s,o);var a=t.packets[e.type];return void 0!==e.data&&(a+=n?i.encode(String(e.data),{strict:!1}):String(e.data)),o(""+a)}function c(e,s,i){if(!s)return p(e,i);var n=e.data,o=Buffer.allocUnsafe(1);return o[0]=t.packets[e.type],i(Buffer.concat([o,n]))}function p(e,s){var i=Buffer.isBuffer(e.data)?e.data:f(e.data),n="b"+t.packets[e.type];return s(n+=i.toString("base64"))}function l(e,t,s){if(void 0===e)return o;var a;if("string"==typeof e)return"b"===(a=e.charAt(0))?u(e.slice(1),t):s&&!1===(e=function(e){try{e=i.decode(e,{strict:!1})}catch(e){return!1}return e}(e))?o:Number(a)==a&&n[a]?e.length>1?{type:n[a],data:e.slice(1)}:{type:n[a]}:o;if("arraybuffer"===t){var r=new Uint8Array(e);return a=r[0],{type:n[a],data:r.buffer.slice(1)}}return e instanceof ArrayBuffer&&(e=f(e)),a=e[0],{type:n[a],data:e.slice(1)}}function u(e,t){var s=n[e.charAt(0)],i=Buffer.from(e.slice(1),"base64");if("arraybuffer"===t){for(var o=new Uint8Array(i.length),a=0;a<o.length;a++)o[a]=i[a];i=o.buffer}return{type:s,data:i}}function d(e,t,s){const i=new Array(e.length);let n=0;for(let o=0;o<e.length;o++)t(e[o],((t,a)=>{i[o]=a,++n===e.length&&s(null,i)}))}function h(e){for(var t="",s=0,i=e.length;s<i;s++)t+=String.fromCharCode(e[s]);return t}function m(e){for(var t=Buffer.allocUnsafe(e.length),s=0,i=e.length;s<i;s++)t.writeUInt8(e.charCodeAt(s),s);return t}function f(e){var t=e.byteLength||e.length,s=e.byteOffset||0;return Buffer.from(e.buffer||e,s,t)}function v(e,t){if(!e.length)return t(a);d(e,x,(function(e,s){return t(Buffer.concat(s))}))}function x(e,t){r(e,!0,!0,(function(e){var s,i=""+e.length;if("string"==typeof e){(s=Buffer.allocUnsafe(i.length+2))[0]=0;for(var n=0;n<i.length;n++)s[n+1]=parseInt(i[n],10);return s[s.length-1]=255,t(null,Buffer.concat([s,m(e)]))}for((s=Buffer.allocUnsafe(i.length+2))[0]=1,n=0;n<i.length;n++)s[n+1]=parseInt(i[n],10);s[s.length-1]=255,t(null,Buffer.concat([s,e]))}))}function g(e,t,s){"function"==typeof t&&(s=t,t=null);for(var i,n=e,a=[];n.length>0;){var r="",c=0===n[0];for(i=1;255!==n[i];i++){if(r.length>310)return s(o,0,1);r+=""+n[i]}n=n.slice(r.length+1);var p=parseInt(r,10),u=n.slice(1,p+1);c&&(u=h(u)),a.push(u),n=n.slice(p+1)}var d=a.length;for(i=0;i<d;i++){s(l(a[i],t,!0),i,d)}}t.encodePacket=r,t.encodeBase64Packet=p,t.decodePacket=l,t.decodeBase64Packet=u,t.encodePayload=function(e,t,s){if("function"==typeof t&&(s=t,t=null),t&&(e=>{for(const t of e)if(t.data instanceof ArrayBuffer||ArrayBuffer.isView(t.data))return!0;return!1})(e))return v(e,s);if(!e.length)return s("0:");d(e,(function(e,s){r(e,t,!1,(function(e){s(null,function(e){return e.length+":"+e}(e))}))}),(function(e,t){return s(t.join(""))}))},t.decodePayload=function(e,t,s){if("string"!=typeof e)return g(e,t,s);if("function"==typeof t&&(s=t,t=null),""===e)return s(o,0,1);for(var i,n,a,r="",c=0,p=e.length;c<p;c++){var u=e.charAt(c);if(":"===u){if(""===r||r!=(i=Number(r)))return s(o,0,1);if(r!=(n=e.slice(c+1,c+1+i)).length)return s(o,0,1);if(n.length){if(a=l(n,t,!1),o.type===a.type&&o.data===a.data)return s(o,0,1);if(!1===s(a,c+i,p))return}c+=i,r=""}else r+=u}return""!==r?s(o,0,1):void 0},t.encodePayloadAsBinary=v,t.decodePayloadAsBinary=g},1225:e=>{var t,s,i,n=String.fromCharCode;function o(e){for(var t,s,i=[],n=0,o=e.length;n<o;)(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<o?56320==(64512&(s=e.charCodeAt(n++)))?i.push(((1023&t)<<10)+(1023&s)+65536):(i.push(t),n--):i.push(t);return i}function a(e,t){if(e>=55296&&e<=57343){if(t)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function r(e,t){return n(e>>t&63|128)}function c(e,t){if(0==(4294967168&e))return n(e);var s="";return 0==(4294965248&e)?s=n(e>>6&31|192):0==(4294901760&e)?(a(e,t)||(e=65533),s=n(e>>12&15|224),s+=r(e,6)):0==(4292870144&e)&&(s=n(e>>18&7|240),s+=r(e,12),s+=r(e,6)),s+=n(63&e|128)}function p(){if(i>=s)throw Error("Invalid byte index");var e=255&t[i];if(i++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function l(e){var n,o;if(i>s)throw Error("Invalid byte index");if(i==s)return!1;if(n=255&t[i],i++,0==(128&n))return n;if(192==(224&n)){if((o=(31&n)<<6|p())>=128)return o;throw Error("Invalid continuation byte")}if(224==(240&n)){if((o=(15&n)<<12|p()<<6|p())>=2048)return a(o,e)?o:65533;throw Error("Invalid continuation byte")}if(240==(248&n)&&(o=(7&n)<<18|p()<<12|p()<<6|p())>=65536&&o<=1114111)return o;throw Error("Invalid UTF-8 detected")}e.exports={version:"2.1.2",encode:function(e,t){for(var s=!1!==(t=t||{}).strict,i=o(e),n=i.length,a=-1,r="";++a<n;)r+=c(i[a],s);return r},decode:function(e,a){var r=!1!==(a=a||{}).strict;t=o(e),s=t.length,i=0;for(var c,p=[];!1!==(c=l(r));)p.push(c);return function(e){for(var t,s=e.length,i=-1,o="";++i<s;)(t=e[i])>65535&&(o+=n((t-=65536)>>>10&1023|55296),t=56320|1023&t),o+=n(t);return o}(p)}}},2076:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Server=t.BaseServer=void 0;const i=s(3477),n=s(7310),o=s(9916),a=s(2067),r=s(2361),c=s(1463),p=s(818),l=s(2507),u=s(7883),d=s(1765),h=s(1836),m=(0,p.default)("engine"),f=Symbol("responseHeaders");class v extends r.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:u.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:!1!==e.cookie.path,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(s(9920)(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return!1!==e.addTrailingSlash&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades&&a.default[e].upgradesTo||[]}verify(e,t,s){const i=e._query.transport;if(!~this.opts.transports.indexOf(i)||"webtransport"===i)return m('unknown transport "%s"',i),s(g.errors.UNKNOWN_TRANSPORT,{transport:i});if(function(e){if((e+="").length<1)return!1;if(!w[e.charCodeAt(0)])return m('invalid header, index 0, char "%s"',e.charCodeAt(0)),!0;if(e.length<2)return!1;if(!w[e.charCodeAt(1)])return m('invalid header, index 1, char "%s"',e.charCodeAt(1)),!0;if(e.length<3)return!1;if(!w[e.charCodeAt(2)])return m('invalid header, index 2, char "%s"',e.charCodeAt(2)),!0;if(e.length<4)return!1;if(!w[e.charCodeAt(3)])return m('invalid header, index 3, char "%s"',e.charCodeAt(3)),!0;for(let t=4;t<e.length;++t)if(!w[e.charCodeAt(t)])return m('invalid header, index "%i", char "%s"',t,e.charCodeAt(t)),!0;return!1}(e.headers.origin)){const t=e.headers.origin;return e.headers.origin=null,m("origin header invalid"),s(g.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:t})}const n=e._query.sid;if(!n)return"GET"!==e.method?s(g.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):"websocket"!==i||t?this.opts.allowRequest?this.opts.allowRequest(e,((e,t)=>{if(!t)return s(g.errors.FORBIDDEN,{message:e});s()})):s():(m("invalid transport upgrade"),s(g.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"}));{if(!this.clients.hasOwnProperty(n))return m('unknown sid "%s"',n),s(g.errors.UNKNOWN_SID,{sid:n});const e=this.clients[n].transport.name;if(!t&&e!==i)return m("bad request: unexpected transport without upgrade"),s(g.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:i,previousTransport:e})}s()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,s){if(0===this.middlewares.length)return m("no middleware to apply, skipping"),s();const i=n=>{m("applying middleware n°%d",n+1),this.middlewares[n](e,t,(e=>{if(e)return s(e);n+1<this.middlewares.length?i(n+1):s()}))};i(0)}close(){m("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return o.generateId()}async handshake(e,t,s){const i="4"===t._query.EIO?4:3;if(3===i&&!this.opts.allowEIO3)return m("unsupported protocol version"),this.emit("connection_error",{req:t,code:g.errors.UNSUPPORTED_PROTOCOL_VERSION,message:g.errorMessages[g.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:i}}),void s(g.errors.UNSUPPORTED_PROTOCOL_VERSION);let n;try{n=await this.generateId(t)}catch(e){return m("error while generating an id"),this.emit("connection_error",{req:t,code:g.errors.BAD_REQUEST,message:g.errorMessages[g.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:e}}),void s(g.errors.BAD_REQUEST)}m('handshaking client "%s"',n);try{var o=this.createTransport(e,t);"polling"===e?(o.maxHttpBufferSize=this.opts.maxHttpBufferSize,o.httpCompression=this.opts.httpCompression):"websocket"===e&&(o.perMessageDeflate=this.opts.perMessageDeflate)}catch(i){return m('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:g.errors.BAD_REQUEST,message:g.errorMessages[g.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:i}}),void s(g.errors.BAD_REQUEST)}const a=new c.Socket(n,this,o,t,i);return o.on("headers",((e,t)=>{!t._query.sid&&(this.opts.cookie&&(e["Set-Cookie"]=[(0,l.serialize)(this.opts.cookie.name,n,this.opts.cookie)]),this.emit("initial_headers",e,t)),this.emit("headers",e,t)})),o.onRequest(t),this.clients[n]=a,this.clientsCount++,a.once("close",(()=>{delete this.clients[n],this.clientsCount--})),this.emit("connection",a),o}async onWebTransportSession(e){const t=setTimeout((()=>{m("the client failed to establish a bidirectional stream in the given period"),e.close()}),this.opts.upgradeTimeout),s=e.incomingBidirectionalStreams.getReader(),i=await s.read();if(i.done)return void m("session is closed");const n=i.value,a=(0,h.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),r=n.readable.pipeThrough(a).getReader(),{value:p,done:l}=await r.read();if(l)return void m("stream is closed");if(clearTimeout(t),"open"!==p.type)return m("invalid WebTransport handshake"),e.close();if(void 0===p.data){const t=new d.WebTransport(e,n,r),s=o.generateId();m('handshaking client "%s" (WebTransport)',s);const i=new c.Socket(s,this,t,null,4);return this.clients[s]=i,this.clientsCount++,i.once("close",(()=>{delete this.clients[s],this.clientsCount--})),void this.emit("connection",i)}const u=function(e){try{const t=JSON.parse(e);if("string"==typeof t.sid)return t.sid}catch(e){}}(p.data);if(!u)return m("invalid WebTransport handshake"),e.close();const f=this.clients[u];if(f)if(f.upgrading)m("transport has already been trying to upgrade"),e.close();else if(f.upgraded)m("transport had already been upgraded"),e.close();else{m("upgrading existing transport");const t=new d.WebTransport(e,n,r);f.maybeUpgrade(t)}else m("upgrade attempt for closed client"),e.close()}}t.BaseServer=v,v.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5},v.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class x{constructor(e,t){this.req=e,this.socket=t,e[f]={}}setHeader(e,t){this.req[f][e]=t}getHeader(e){return this.req[f][e]}removeHeader(e){delete this.req[f][e]}write(){}writeHead(){}end(){this.socket.destroy()}}class g extends v{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),"function"==typeof this.ws.on&&this.ws.on("headers",((e,t)=>{const s=t[f]||{};delete t[f];!t._query.sid&&this.emit("initial_headers",s,t),this.emit("headers",s,t),m("writing headers: %j",s),Object.keys(s).forEach((t=>{e.push(`${t}: ${s[t]}`)}))})))}cleanup(){this.ws&&(m("closing webSocketServer"),this.ws.close())}prepare(e){e._query||(e._query=~e.url.indexOf("?")?i.parse((0,n.parse)(e.url).query):{})}createTransport(e,t){return new a.default[e](t)}handleRequest(e,t){m('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;const s=(s,i)=>{if(void 0!==s)return this.emit("connection_error",{req:e,code:s,message:g.errorMessages[s],context:i}),void b(t,s,i);if(e._query.sid)m("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{const s=(e,s)=>b(t,e,s);this.handshake(e._query.transport,e,s)}};this._applyMiddlewares(e,t,(t=>{t?s(g.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,s)}))}handleUpgrade(e,t,s){this.prepare(e);const i=new x(e,t),n=(n,o)=>{if(void 0!==n)return this.emit("connection_error",{req:e,code:n,message:g.errorMessages[n],context:o}),void y(t,n,o);const a=Buffer.from(s);s=null,i.writeHead(),this.ws.handleUpgrade(e,t,a,(s=>{this.onWebSocket(e,t,s)}))};this._applyMiddlewares(e,i,(t=>{t?n(g.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,n)}))}onWebSocket(e,t,s){if(s.on("error",n),void 0!==a.default[e._query.transport]&&!a.default[e._query.transport].prototype.handlesUpgrades)return m("transport doesnt handle upgraded requests"),void s.close();const i=e._query.sid;if(e.websocket=s,i){const t=this.clients[i];if(t)if(t.upgrading)m("transport has already been trying to upgrade"),s.close();else if(t.upgraded)m("transport had already been upgraded"),s.close();else{m("upgrading existing transport"),s.removeListener("error",n);const i=this.createTransport(e._query.transport,e);i.perMessageDeflate=this.opts.perMessageDeflate,t.maybeUpgrade(i)}else m("upgrade attempt for closed client"),s.close()}else{const s=(e,s)=>y(t,e,s);this.handshake(e._query.transport,e,s)}function n(){m("websocket error before upgrade")}}attach(e,t={}){const s=this._computePath(t),i=t.destroyUpgradeTimeout||1e3;function n(e){return s===e.url.slice(0,s.length)}const o=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",((t,i)=>{if(n(t))m('intercepting request for path "%s"',s),this.handleRequest(t,i);else{let s=0;const n=o.length;for(;s<n;s++)o[s].call(e,t,i)}})),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",((e,s,o)=>{n(e)?this.handleUpgrade(e,s,o):!1!==t.destroyUpgrade&&setTimeout((function(){if(s.writable&&s.bytesWritten<=0)return s.on("error",(e=>{m("error while destroying upgrade: %s",e.message)})),s.end()}),i)}))}}function b(e,t,s){const i=t===g.errors.FORBIDDEN?403:400,n=s&&s.message?s.message:g.errorMessages[t];e.writeHead(i,{"Content-Type":"application/json"}),e.end(JSON.stringify({code:t,message:n}))}function y(e,t,s={}){if(e.on("error",(()=>{m("ignoring error from closed connection")})),e.writable){const i=s.message||g.errorMessages[t],n=Buffer.byteLength(i);e.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+n+"\r\n\r\n"+i)}e.destroy()}t.Server=g;const w=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},1463:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const i=s(2361),n=s(818),o=s(9512),a=(0,n.default)("engine:socket");class r extends i.EventEmitter{constructor(e,t,s,i,n){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=i,this.protocol=n,i&&(i.websocket&&i.websocket._socket?this.remoteAddress=i.websocket._socket.remoteAddress:this.remoteAddress=i.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(s),this.onOpen()}get readyState(){return this._readyState}set readyState(e){a("readyState updated from %s to %s",this._readyState,e),this._readyState=e}onOpen(){this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket&&this.sendPacket("message",this.server.opts.initialPacket),this.emit("open"),3===this.protocol?this.resetPingTimeout(this.server.opts.pingInterval+this.server.opts.pingTimeout):this.schedulePing()}onPacket(e){if("open"!==this.readyState)return a("packet received with closed socket");switch(a(`received packet ${e.type}`),this.emit("packet",e),this.resetPingTimeout(this.server.opts.pingInterval+this.server.opts.pingTimeout),e.type){case"ping":if(3!==this.transport.protocol)return void this.onError("invalid heartbeat direction");a("got ping"),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(3===this.transport.protocol)return void this.onError("invalid heartbeat direction");a("got pong"),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data)}}onError(e){a("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,o.setTimeout)((()=>{a("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout(this.server.opts.pingTimeout)}),this.server.opts.pingInterval)}resetPingTimeout(e){(0,o.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,o.setTimeout)((()=>{"closed"!==this.readyState&&this.onClose("ping timeout")}),e)}setTransport(e){const t=this.onError.bind(this),s=this.onPacket.bind(this),i=this.flush.bind(this),n=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("packet",s),this.transport.on("drain",i),this.transport.once("close",n),this.setupSendCallback(),this.cleanupFn.push((function(){e.removeListener("error",t),e.removeListener("packet",s),e.removeListener("drain",i),e.removeListener("close",n)}))}maybeUpgrade(e){a('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;const t=(0,o.setTimeout)((()=>{a("client did not complete upgrade - closing transport"),r(),"open"===e.readyState&&e.close()}),this.server.opts.upgradeTimeout);let s;const i=t=>{"ping"===t.type&&"probe"===t.data?(a("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(s),s=setInterval(n,100)):"upgrade"===t.type&&"closed"!==this.readyState?(a("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),"closing"===this.readyState&&e.close((()=>{this.onClose("forced close")}))):(r(),e.close())},n=()=>{"polling"===this.transport.name&&this.transport.writable&&(a("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(s),(0,o.clearTimeout)(t),e.removeListener("packet",i),e.removeListener("close",p),e.removeListener("error",c),this.removeListener("close",l)},c=t=>{a("client did not complete upgrade - %s",t),r(),e.close(),e=null},p=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",i),e.once("close",p),e.once("error",c),this.once("close",l)}clearTransport(){let e;const t=this.cleanupFn.length;for(let s=0;s<t;s++)e=this.cleanupFn.shift(),e();this.transport.on("error",(function(){a("error triggered by discarded transport")})),this.transport.close(),(0,o.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){"closed"!==this.readyState&&(this.readyState="closed",(0,o.clearTimeout)(this.pingIntervalTimer),(0,o.clearTimeout)(this.pingTimeoutTimer),process.nextTick((()=>{this.writeBuffer=[]})),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}setupSendCallback(){const e=()=>{if(this.sentCallbackFn.length>0){const e=this.sentCallbackFn.splice(0,1)[0];if("function"==typeof e)a("executing send callback"),e(this.transport);else if(Array.isArray(e)){a("executing batch send callback");const t=e.length;let s=0;for(;s<t;s++)"function"==typeof e[s]&&e[s](this.transport)}}};this.transport.on("drain",e),this.cleanupFn.push((()=>{this.transport.removeListener("drain",e)}))}send(e,t,s){return this.sendPacket("message",e,t,s),this}write(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s={},i){if("function"==typeof s&&(i=s,s={}),"closing"!==this.readyState&&"closed"!==this.readyState){a('sending packet "%s" (%s)',e,t),s.compress=!1!==s.compress;const n={type:e,options:s};t&&(n.data=t),this.emit("packetCreate",n),this.writeBuffer.push(n),i&&this.packetsFn.push(i),this.flush()}}flush(){if("closed"!==this.readyState&&this.transport.writable&&this.writeBuffer.length){a("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const e=this.writeBuffer;this.writeBuffer=[],this.transport.supportsFraming?this.sentCallbackFn.push.apply(this.sentCallbackFn,this.packetsFn):this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[],this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const e=[],t=this.server.upgrades(this.transport.name);let s=0;const i=t.length;for(;s<i;++s){const i=t[s];-1!==this.server.opts.transports.indexOf(i)&&e.push(i)}return e}close(e){if("open"===this.readyState){if(this.readyState="closing",this.writeBuffer.length)return a("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),void this.once("drain",(()=>{a("all packets have been sent, closing the transport"),this.closeTransport(e)}));a("the buffer is empty, closing the transport right away",e),this.closeTransport(e)}}closeTransport(e){a("closing the transport (discard? %s)",e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}}t.Socket=r},4947:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=void 0;const i=s(2361),n=s(1836),o=s(8702),a=(0,s(818).default)("engine:transport");function r(){}class c extends i.EventEmitter{constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol="4"===e._query.EIO?4:3,this.parser=4===this.protocol?n:o,this.supportsBinary=!(e._query&&e._query.b64)}get readyState(){return this._readyState}set readyState(e){a("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}discard(){this.discarded=!0}onRequest(e){a("setting request"),this.req=e}close(e){"closed"!==this.readyState&&"closing"!==this.readyState&&(this.readyState="closing",this.doClose(e||r))}onError(e,t){if(this.listeners("error").length){const s=new Error(e);s.type="TransportError",s.description=t,this.emit("error",s)}else a("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}}t.Transport=c},2615:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(3112),n=s(6880);t.default={polling:i.Polling,websocket:n.WebSocket}},3112:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Polling=void 0;const i=s(4947),n=s(9796),o=s(181),a=(0,s(818).default)("engine:polling"),r={gzip:n.createGzip,deflate:n.createDeflate};class c extends i.Transport{constructor(e){super(e),this.closeTimeout=3e4}get name(){return"polling"}get supportsFraming(){return!1}onRequest(e){const t=e.res;e.res=null,"get"===e.getMethod()?this.onPollRequest(e,t):"post"===e.getMethod()?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req)return a("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),void t.end();a("setting request"),this.req=e,this.res=t;e.cleanup=()=>{this.req=this.res=null},t.onAborted((()=>{this.writable=!1,this.onError("poll connection closed prematurely")})),this.writable=!0,this.emit("drain"),this.writable&&this.shouldClose&&(a("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq)return this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),void t.end();const s=Number(e.headers["content-length"]);if(!s)return this.onError("content-length header required"),void t.writeStatus("411 Length Required").end();if(s>this.maxHttpBufferSize)return this.onError("payload too large"),void t.writeStatus("413 Payload Too Large").end();if("application/octet-stream"===e.headers["content-type"]&&4===this.protocol)return this.onError("invalid content");let i;this.dataReq=e,this.dataRes=t;let n=0;const o={"Content-Type":"text/html"};this.headers(e,o);for(let e in o)t.writeHeader(e,String(o[e]));const a=e=>{this.onData(e.toString()),this.onDataRequestCleanup(),t.cork((()=>{t.end("ok")}))};t.onAborted((()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")})),t.onData(((e,o)=>{const r=n+e.byteLength;if(r>s)return this.onError("content-length mismatch"),void t.close();if(!i){if(o)return void a(Buffer.from(e));i=Buffer.allocUnsafe(s)}if(Buffer.from(e).copy(i,n),o)return r!=s?(this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),void this.onDataRequestCleanup()):void a(i);n=r}))}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){a('received "%s"',e);const t=e=>{if("close"===e.type)return a("got xhr close packet"),this.onClose(),!1;this.onPacket(e)};3===this.protocol?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(a("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);const t=t=>{const s=e.some((e=>e.options&&e.options.compress));this.write(t,{compress:s})};3===this.protocol?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){a('writing "%s"',e),this.doWrite(e,t,(()=>{this.req.cleanup()}))}doWrite(e,t,s){const i="string"==typeof e,n={"Content-Type":i?"text/plain; charset=UTF-8":"application/octet-stream"},a=e=>{this.headers(this.req,n),this.res.cork((()=>{Object.keys(n).forEach((e=>{this.res.writeHeader(e,String(n[e]))})),this.res.end(e)})),s()};if(!this.httpCompression||!t.compress)return void a(e);if((i?Buffer.byteLength(e):e.length)<this.httpCompression.threshold)return void a(e);const r=o(this.req).encodings(["gzip","deflate"]);r?this.compress(e,r,((e,t)=>{if(e)return this.res.writeStatus("500 Internal Server Error"),this.res.end(),void s(e);n["Content-Encoding"]=r,a(t)})):a(e)}compress(e,t,s){a("compressing");const i=[];let n=0;r[t](this.httpCompression).on("error",s).on("data",(function(e){i.push(e),n+=e.length})).on("end",(function(){s(null,Buffer.concat(i,n))})).end(e)}doClose(e){let t;a("closing");const s=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(a("transport writable - closing right away"),this.send([{type:"close"}]),s()):this.discarded?(a("transport discarded - closing right away"),s()):(a("transport not writable - buffering orderly close"),this.shouldClose=s,t=setTimeout(s,this.closeTimeout))}headers(e,t){t=t||{};const s=e.headers["user-agent"];return s&&(~s.indexOf(";MSIE")||~s.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}}t.Polling=c},6880:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocket=void 0;const i=s(4947),n=(0,s(818).default)("engine:ws");class o extends i.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}get supportsFraming(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t+1===e.length,o=e=>{const t="string"!=typeof e,s=this.perMessageDeflate&&Buffer.byteLength(e)>this.perMessageDeflate.threshold;n('writing "%s"',e),this.socket.send(e,t,s),i&&(this.writable=!0,this.emit("drain"))};s.options&&"string"==typeof s.options.wsPreEncoded?o(s.options.wsPreEncoded):this.parser.encodePacket(s,this.supportsBinary,o)}}doClose(e){n("closing"),e&&e(),this.socket.end()}}t.WebSocket=o},2067:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(6530),n=s(3927),o=s(8495),a=s(1765);function r(e){return"string"==typeof e._query.j?new n.JSONP(e):new i.Polling(e)}t.default={polling:r,websocket:o.WebSocket,webtransport:a.WebTransport},r.upgradesTo=["websocket","webtransport"]},3927:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSONP=void 0;const i=s(6530),n=s(3477),o=/\\\\n/g,a=/(\\)?\\n/g;class r extends i.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){"string"==typeof(e=n.parse(e).d)&&(e=e.replace(a,(function(e,t){return t?e:"\n"})),super.onData(e.replace(o,"\\n")))}doWrite(e,t,s){const i=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+i+this.foot,super.doWrite(e,t,s)}}t.JSONP=r},6530:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Polling=void 0;const i=s(4947),n=s(9796),o=s(181),a=(0,s(818).default)("engine:polling"),r={gzip:n.createGzip,deflate:n.createDeflate};class c extends i.Transport{constructor(e){super(e),this.closeTimeout=3e4}get name(){return"polling"}get supportsFraming(){return!1}onRequest(e){const t=e.res;e.res=null,"GET"===e.method?this.onPollRequest(e,t):"POST"===e.method?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req)return a("request overlap"),this.onError("overlap from client"),t.writeHead(400),void t.end();a("setting request"),this.req=e,this.res=t;const s=()=>{this.onError("poll connection closed prematurely")};e.cleanup=()=>{e.removeListener("close",s),this.req=this.res=null},e.on("close",s),this.writable=!0,this.emit("drain"),this.writable&&this.shouldClose&&(a("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq)return this.onError("data request overlap from client"),t.writeHead(400),void t.end();const s="application/octet-stream"===e.headers["content-type"];if(s&&4===this.protocol)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let i=s?Buffer.concat([]):"";const n=()=>{e.removeListener("data",a),e.removeListener("end",r),e.removeListener("close",o),this.dataReq=this.dataRes=i=null},o=()=>{n(),this.onError("data request connection closed prematurely")},a=e=>{let o;s?(i=Buffer.concat([i,e]),o=i.length):(i+=e,o=Buffer.byteLength(i)),o>this.maxHttpBufferSize&&(t.writeHead(413).end(),n())},r=()=>{this.onData(i);t.writeHead(200,this.headers(e,{"Content-Type":"text/html","Content-Length":2})),t.end("ok"),n()};e.on("close",o),s||e.setEncoding("utf8"),e.on("data",a),e.on("end",r)}onData(e){a('received "%s"',e);const t=e=>{if("close"===e.type)return a("got xhr close packet"),this.onClose(),!1;this.onPacket(e)};3===this.protocol?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(a("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);const t=t=>{const s=e.some((e=>e.options&&e.options.compress));this.write(t,{compress:s})};3===this.protocol?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){a('writing "%s"',e),this.doWrite(e,t,(()=>{this.req.cleanup()}))}doWrite(e,t,s){const i="string"==typeof e,n={"Content-Type":i?"text/plain; charset=UTF-8":"application/octet-stream"},a=e=>{n["Content-Length"]="string"==typeof e?Buffer.byteLength(e):e.length,this.res.writeHead(200,this.headers(this.req,n)),this.res.end(e),s()};if(!this.httpCompression||!t.compress)return void a(e);if((i?Buffer.byteLength(e):e.length)<this.httpCompression.threshold)return void a(e);const r=o(this.req).encodings(["gzip","deflate"]);r?this.compress(e,r,((e,t)=>{if(e)return this.res.writeHead(500),this.res.end(),void s(e);n["Content-Encoding"]=r,a(t)})):a(e)}compress(e,t,s){a("compressing");const i=[];let n=0;r[t](this.httpCompression).on("error",s).on("data",(function(e){i.push(e),n+=e.length})).on("end",(function(){s(null,Buffer.concat(i,n))})).end(e)}doClose(e){let t;a("closing"),this.dataReq&&(a("aborting ongoing data request"),this.dataReq.destroy());const s=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(a("transport writable - closing right away"),this.send([{type:"close"}]),s()):this.discarded?(a("transport discarded - closing right away"),s()):(a("transport not writable - buffering orderly close"),this.shouldClose=s,t=setTimeout(s,this.closeTimeout))}headers(e,t){t=t||{};const s=e.headers["user-agent"];return s&&(~s.indexOf(";MSIE")||~s.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}}t.Polling=c},8495:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocket=void 0;const i=s(4947),n=(0,s(818).default)("engine:ws");class o extends i.Transport{constructor(e){super(e),this.socket=e.websocket,this.socket.on("message",((e,t)=>{const s=t?e:e.toString();n('received "%s"',s),super.onData(s)})),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}get supportsFraming(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t+1===e.length,o={};s.options&&(o.compress=s.options.compress);const a=e=>{if(e)return this.onError("write error",e.stack);i&&(this.writable=!0,this.emit("drain"))},r=e=>{if(this.perMessageDeflate){("string"==typeof e?Buffer.byteLength(e):e.length)<this.perMessageDeflate.threshold&&(o.compress=!1)}n('writing "%s"',e),this.socket.send(e,o,a)};s.options&&"string"==typeof s.options.wsPreEncoded?r(s.options.wsPreEncoded):this._canSendPreEncodedFrame(s)?this.socket._sender.sendFrame(s.options.wsPreEncodedFrame,a):this.parser.encodePacket(s,this.supportsBinary,r)}}_canSendPreEncodedFrame(e){var t,s,i;return!this.perMessageDeflate&&"function"==typeof(null===(s=null===(t=this.socket)||void 0===t?void 0:t._sender)||void 0===s?void 0:s.sendFrame)&&void 0!==(null===(i=e.options)||void 0===i?void 0:i.wsPreEncodedFrame)}doClose(e){n("closing"),this.socket.close(),e&&e()}}t.WebSocket=o},1765:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebTransport=void 0;const i=s(4947),n=s(818),o=s(1836),a=(0,n.default)("engine:webtransport");class r extends i.Transport{constructor(e,t,s){super({_query:{EIO:"4"}}),this.session=e;const i=(0,o.createPacketEncoderStream)();i.readable.pipeTo(t.writable).catch((()=>{a("the stream was closed")})),this.writer=i.writable.getWriter(),(async()=>{try{for(;;){const{value:e,done:t}=await s.read();if(t){a("session is closed");break}a("received chunk: %o",e),this.onPacket(e)}}catch(e){a("error while reading: %s",e.message)}})(),e.closed.then((()=>this.onClose())),this.writable=!0}get name(){return"webtransport"}get supportsFraming(){return!0}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){const s=e[t];await this.writer.write(s)}}catch(e){a("error while writing: %s",e.message)}this.writable=!0,this.emit("drain")}doClose(e){a("closing WebTransport session"),this.session.close(),e&&e()}}t.WebTransport=r},274:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uServer=void 0;const i=s(818),n=s(2076),o=s(2615),a=(0,i.default)("engine:uws");class r extends n.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();const s=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(s.entries()),e.headers={},e.forEach(((t,s)=>{e.headers[t]=s})),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted((()=>{a("response has been aborted")}))}createTransport(e,t){return new o.default[e](t)}attach(e,t={}){const s=this._computePath(t);e.any(s,this.handleRequest.bind(this)).ws(s,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:e=>{const t=e.getUserData().transport;t.socket=e,t.writable=!0,t.emit("drain")},message:(e,t,s)=>{e.getUserData().transport.onData(s?t:Buffer.from(t).toString())},close:(e,t,s)=>{e.getUserData().transport.onClose(t,s)}})}_applyMiddlewares(e,t,s){if(0===this.middlewares.length)return s();e.res=new c(t),super._applyMiddlewares(e,e.res,(t=>{e.res.writeHead(),s(t)}))}handleRequest(e,t){a('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;const s=(s,i)=>{if(void 0!==s)return this.emit("connection_error",{req:t,code:s,message:n.Server.errorMessages[s],context:i}),void this.abortRequest(t.res,s,i);if(t._query.sid)a("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{const s=(t,s)=>this.abortRequest(e,t,s);this.handshake(t._query.transport,t,s)}};this._applyMiddlewares(t,e,(e=>{e?s(n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,s)}))}handleUpgrade(e,t,s){a("on upgrade"),this.prepare(t,e),t.res=e;const i=async(i,o)=>{if(void 0!==i)return this.emit("connection_error",{req:t,code:i,message:n.Server.errorMessages[i],context:o}),void this.abortRequest(e,i,o);const r=t._query.sid;let c;if(r){const s=this.clients[r];s?s.upgrading?(a("transport has already been trying to upgrade"),e.close()):s.upgraded?(a("transport had already been upgraded"),e.close()):(a("upgrading existing transport"),c=this.createTransport(t._query.transport,t),s.maybeUpgrade(c)):(a("upgrade attempt for closed client"),e.close())}else if(c=await this.handshake(t._query.transport,t,((t,s)=>this.abortRequest(e,t,s))),!c)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:c},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),s)};this._applyMiddlewares(t,e,(e=>{e?i(n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,i)}))}abortRequest(e,t,s){const i=t===n.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",o=s&&s.message?s.message:n.Server.errorMessages[t];e.writeStatus(i),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:o}))}}t.uServer=r;class c{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(200===e?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach((t=>{this.writeHeader(e,t)})):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||"Content-Length"!==e&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach((([e,t])=>{this.res.writeHeader(e,t)}))}end(e){this.isAborted||this.res.cork((()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)}))}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted((()=>{this.isAborted=!0,e()}))}cork(e){this.isAborted||this.res.cork(e)}}},6655:e=>{e.exports={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(s=t)=>{let i="",n=s;for(;n--;)i+=e[Math.random()*e.length|0];return i}}},7587:(e,t)=>{"use strict";function s(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Object.defineProperty(t,"__esModule",{value:!0}),t.Backoff=void 0,t.Backoff=s,s.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),s=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-s:e+s}return 0|Math.min(e,this.max)},s.prototype.reset=function(){this.attempts=0},s.prototype.setMin=function(e){this.ms=e},s.prototype.setMax=function(e){this.max=e},s.prototype.setJitter=function(e){this.jitter=e}},8712:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.connect=t.io=t.Socket=t.Manager=t.protocol=void 0;const n=s(9631),o=s(2035);Object.defineProperty(t,"Manager",{enumerable:!0,get:function(){return o.Manager}});const a=s(6560);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return a.Socket}});const r=i(s(818)).default("socket.io-client"),c={};function p(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};const s=n.url(e,t.path||"/socket.io"),i=s.source,a=s.id,p=s.path,l=c[a]&&p in c[a].nsps;let u;return t.forceNew||t["force new connection"]||!1===t.multiplex||l?(r("ignoring socket cache for %s",i),u=new o.Manager(i,t)):(c[a]||(r("new io instance for %s",i),c[a]=new o.Manager(i,t)),u=c[a]),s.query&&!t.query&&(t.query=s.queryKey),u.socket(s.path,t)}t.io=p,t.connect=p,t.default=p,Object.assign(p,{Manager:o.Manager,Socket:a.Socket,io:p,connect:p});var l=s(4815);Object.defineProperty(t,"protocol",{enumerable:!0,get:function(){return l.protocol}}),e.exports=p},2035:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Manager=void 0;const r=s(8493),c=s(6560),p=o(s(4815)),l=s(3004),u=s(7587),d=s(9818),h=a(s(818)).default("socket.io-client:manager");class m extends d.Emitter{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,r.installTimerFunctions(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=t.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new u.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||p;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(h("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;h("opening %s",this.uri),this.engine=new r.Socket(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=l.on(t,"open",(function(){s.onopen(),e&&e()})),n=t=>{h("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=l.on(t,"error",n);if(!1!==this._timeout){const e=this._timeout;h("connect attempt will timeout after %d",e);const s=this.setTimeoutFn((()=>{h("connect attempt timed out after %d",e),i(),n(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){h("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(l.on(e,"ping",this.onping.bind(this)),l.on(e,"data",this.ondata.bind(this)),l.on(e,"error",this.onerror.bind(this)),l.on(e,"close",this.onclose.bind(this)),l.on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){r.nextTick((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){h("error",e),this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new c.Socket(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return void h("socket %s is still active, skipping close",e)}this._close()}_packet(e){h("writing packet %j",e);const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){h("cleanup"),this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){h("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){h("closed due to %s",e),this.cleanup(),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;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)h("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();h("will wait %dms before reconnect attempt",t),this._reconnecting=!0;const s=this.setTimeoutFn((()=>{e.skipReconnect||(h("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(h("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):(h("reconnect success"),e.onreconnect())})))}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}t.Manager=m},3004:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.on=void 0,t.on=function(e,t,s){return e.on(t,s),function(){e.off(t,s)}}},6560:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const n=s(4815),o=s(3004),a=s(9818),r=i(s(818)).default("socket.io-client:socket"),c=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class p extends a.Emitter{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;const e=this.io;this.subs=[o.on(e,"open",this.onopen.bind(this)),o.on(e,"packet",this.onpacket.bind(this)),o.on(e,"error",this.onerror.bind(this)),o.on(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(c.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;const s={type:n.PacketType.EVENT,data:t,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++;r("emitting packet with ack id %d",e);const i=t.pop();this._registerAckCallback(e,i),s.id=e}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)?r("discard packet as the transport is not currently writable"):this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s),this.flags={},this}_registerAckCallback(e,t){var s;const i=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===i)return void(this.acks[e]=t);const n=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&(r("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(t,1));r("event with ack id %d has timed out after %d ms",e,i),t.call(this,new Error("operation has timed out"))}),i);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(n),t.apply(this,[null,...e])}}emitWithAck(e,...t){const s=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((i,n)=>{t.push(((e,t)=>s?e?n(e):i(t):i(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...i)=>{if(s!==this._queue[0])return;return null!==e?s.tryCount>this._opts.retries&&(r("packet [%d] is discarded after %d tries",s.id,s.tryCount),this._queue.shift(),t&&t(e)):(r("packet [%d] was successfully sent",s.id),this._queue.shift(),t&&t(null,...i)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(r("draining queue"),!this.connected||0===this._queue.length)return;const t=this._queue[0];!t.pending||e?(t.pending=!0,t.tryCount++,r("sending packet [%d] (try n°%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)):r("packet [%d] has already been sent and is waiting for an ack",t.id)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){r("transport is open - connecting"),"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:n.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){r("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case n.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case n.PacketType.EVENT:case n.PacketType.BINARY_EVENT:this.onevent(e);break;case n.PacketType.ACK:case n.PacketType.BINARY_ACK:this.onack(e);break;case n.PacketType.DISCONNECT:this.ondisconnect();break;case n.PacketType.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];r("emitting event %j",t),null!=e.id&&(r("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,r("sending ack %j",i),t.packet({type:n.PacketType.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];"function"==typeof t?(r("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),delete this.acks[e.id]):r("bad ack %s",e.id)}onconnect(e,t){r("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){r("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(r("performing disconnect (%s)",this.nsp),this.packet({type:n.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const 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){const 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){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}t.Socket=p},9631:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.url=void 0;const n=s(8493),o=i(s(818)).default("socket.io-client:url");t.url=function(e,t="",s){let i=e;s=s||"undefined"!=typeof location&&location,null==e&&(e=s.protocol+"//"+s.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?s.protocol+e:s.host+e),/^(https?|wss?):\/\//.test(e)||(o("protocol-less url %s",e),e=void 0!==s?s.protocol+"//"+e:"https://"+e),o("parse %s",e),i=n.parse(e)),i.port||(/^(http|ws)$/.test(i.protocol)?i.port="80":/^(http|ws)s$/.test(i.protocol)&&(i.port="443")),i.path=i.path||"/";const a=-1!==i.host.indexOf(":")?"["+i.host+"]":i.host;return i.id=i.protocol+"://"+a+":"+i.port+t,i.href=i.protocol+"://"+a+(s&&s.port===i.port?"":":"+i.port),i}},9182:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const i=s(9485);function n(e,t){if(!e)return e;if((0,i.isBinary)(e)){const s={_placeholder:!0,num:t.length};return t.push(e),s}if(Array.isArray(e)){const s=new Array(e.length);for(let i=0;i<e.length;i++)s[i]=n(e[i],t);return s}if("object"==typeof e&&!(e instanceof Date)){const s={};for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(s[i]=n(e[i],t));return s}return e}function o(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=o(e[s],t);else if("object"==typeof e)for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(e[s]=o(e[s],t));return e}t.deconstructPacket=function(e){const t=[],s=e.data,i=e;return i.data=n(s,t),i.attachments=t.length,{packet:i,buffers:t}},t.reconstructPacket=function(e,t){return e.data=o(e.data,t),delete e.attachments,e}},4815:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const i=s(9818),n=s(9182),o=s(9485),a=(0,s(818).default)("socket.io-parser"),r=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var c;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(c=t.PacketType||(t.PacketType={}));function p(e){return"[object Object]"===Object.prototype.toString.call(e)}t.Encoder=class{constructor(e){this.replacer=e}encode(e){return a("encoding packet %j",e),e.type!==c.EVENT&&e.type!==c.ACK||!(0,o.hasBinary)(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===c.EVENT?c.BINARY_EVENT:c.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}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+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),a("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=(0,n.deconstructPacket)(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}};class l extends i.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===c.BINARY_EVENT;s||t.type===c.BINARY_ACK?(t.type=s?c.EVENT:c.ACK,this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!(0,o.isBinary)(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(void 0===c[s.type])throw new Error("unknown packet type "+s.type);if(s.type===c.BINARY_EVENT||s.type===c.BINARY_ACK){const i=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const n=e.substring(i,t);if(n!=Number(n)||"-"!==e.charAt(t))throw new Error("Illegal attachments");s.attachments=Number(n)}if("/"===e.charAt(t+1)){const i=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}s.nsp=e.substring(i,t)}else s.nsp="/";const i=e.charAt(t+1);if(""!==i&&Number(i)==i){const i=t+1;for(;++t;){const s=e.charAt(t);if(null==s||Number(s)!=s){--t;break}if(t===e.length)break}s.id=Number(e.substring(i,t+1))}if(e.charAt(++t)){const i=this.tryParse(e.substr(t));if(!l.isPayloadValid(s.type,i))throw new Error("invalid payload");s.data=i}return a("decoded %s as %j",e,s),s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return p(t);case c.DISCONNECT:return void 0===t;case c.CONNECT_ERROR:return"string"==typeof t||p(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===r.indexOf(t[0]));case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}t.Decoder=l;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=(0,n.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},9485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const s="function"==typeof ArrayBuffer,i=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,n=Object.prototype.toString,o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===n.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===n.call(File);function r(e){return s&&(e instanceof ArrayBuffer||i(e))||o&&e instanceof Blob||a&&e instanceof File}t.isBinary=r,t.hasBinary=function e(t,s){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let s=0,i=t.length;s<i;s++)if(e(t[s]))return!0;return!1}if(r(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&e(t[s]))return!0;return!1}},3558:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteSocket=t.BroadcastOperator=void 0;const i=s(2898),n=s(4815);class o{constructor(e,t=new Set,s=new Set,i={}){this.adapter=e,this.rooms=t,this.exceptRooms=s,this.flags=i}to(e){const t=new Set(this.rooms);return Array.isArray(e)?e.forEach((e=>t.add(e))):t.add(e),new o(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){const t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach((e=>t.add(e))):t.add(e),new o(this.adapter,this.rooms,t,this.flags)}compress(e){const t=Object.assign({},this.flags,{compress:e});return new o(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){const e=Object.assign({},this.flags,{volatile:!0});return new o(this.adapter,this.rooms,this.exceptRooms,e)}get local(){const e=Object.assign({},this.flags,{local:!0});return new o(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){const t=Object.assign({},this.flags,{timeout:e});return new o(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(i.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);const s=[e,...t],o={type:n.PacketType.EVENT,data:s};if(!("function"==typeof s[s.length-1]))return this.adapter.broadcast(o,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const a=s.pop();let r=!1,c=[];const p=setTimeout((()=>{r=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])}),this.flags.timeout);let l=-1,u=0,d=0;const h=()=>{r||l!==u||c.length!==d||(clearTimeout(p),a.apply(this,[null,this.flags.expectSingleResponse?c[0]:c]))};return this.adapter.broadcastWithAck(o,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(e=>{d+=e,u++,h()}),(e=>{c.push(e),h()})),this.adapter.serverCount().then((e=>{l=e,h()})),!0}emitWithAck(e,...t){return new Promise(((s,i)=>{t.push(((e,t)=>e?(e.responses=t,i(e)):s(t))),this.emit(e,...t)}))}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((e=>e.map((e=>e instanceof i.Socket?e:new a(this.adapter,e)))))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}}t.BroadcastOperator=o;class a{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new o(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}}t.RemoteSocket=a},7269:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Client=void 0;const i=s(4815),n=s(818),o=s(7310),a=n("socket.io:client");t.Client=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout((()=>{0===this.nsps.size?(a("no namespace joined yet, close the client"),this.close()):a("the client has already joined a namespace, nothing to do")}),this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return a("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,(s=>{s?this.doConnect(e,t):(a("creation of namespace %s was denied",e),this._packet({type:i.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))}))}doConnect(e,t){const s=this.server.of(e);s._add(this,t,(e=>{this.sockets.set(e.id,e),this.nsps.set(s.name,e),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}))}_disconnect(){for(const e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){const t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else a("ignoring remove for %s",e.id)}close(){"open"===this.conn.readyState&&(a("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if("open"!==this.conn.readyState)return void a("ignoring packet write %j",e);const s=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(s,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable)return void a("volatile packet is discarded since the transport is not currently writable");const s=Array.isArray(e)?e:[e];for(const e of s)this.conn.write(e,t)}ondata(e){try{this.decoder.add(e)}catch(e){a("invalid packet format"),this.onerror(e)}}ondecoded(e){let t,s;if(3===this.conn.protocol){const i=o.parse(e.nsp,!0);t=i.pathname,s=i.query}else t=e.nsp,s=e.data;const n=this.nsps.get(t);n||e.type!==i.PacketType.CONNECT?n&&e.type!==i.PacketType.CONNECT&&e.type!==i.PacketType.CONNECT_ERROR?process.nextTick((function(){n._onpacket(e)})):(a("invalid state (packet type: %s)",e.type),this.close()):this.connect(t,s)}onerror(e){for(const t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){a("client close with reason %s",e),this.destroy();for(const s of this.sockets.values())s._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}}},2625:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Namespace=t.Socket=t.Server=void 0;const r=s(3685),c=s(7147),p=s(9796),l=s(181),u=s(2781),d=s(1017),h=s(9600),m=s(7269),f=s(2361),v=s(3929);Object.defineProperty(t,"Namespace",{enumerable:!0,get:function(){return v.Namespace}});const x=s(5268),g=s(5099),b=o(s(4815)),y=a(s(818)),w=s(2898);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return w.Socket}});const k=s(12),_=s(7117),S=a(s(9920)),E=(0,y.default)("socket.io:server"),T=s(1751).i8,C=/\.map/;class O extends k.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,"object"==typeof e&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(!1!==t.serveClient),this._parser=t.parser||b,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:12e4,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||g.SessionAwareAdapter)):this.adapter(t.adapter||g.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||"number"==typeof e)&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,S.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,s){if(0===this.parentNsps.size)return s(!1);const i=this.parentNsps.keys(),n=()=>{const o=i.next();if(o.done)return s(!1);o.value(e,t,((t,i)=>{if(t||!i)return n();if(this._nsps.has(e))return E("dynamic namespace %s already exists",e),s(this._nsps.get(e));const a=this.parentNsps.get(o.value).createChild(e);E("dynamic namespace %s was created",e),s(a)}))};n()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");const t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return void 0===e?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(const e of this._nsps.values())e._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if("function"==typeof e){throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.")}if(Number(e)==e&&(e=Number(e)),"number"==typeof e){E("creating http server and binding to %d",e);const t=e;(e=r.createServer(((e,t)=>{t.writeHead(404),t.end()}))).listen(t)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,E("creating uWebSockets.js-based engine with opts %j",t);const s=new h.uServer(t);s.attach(e,t),this.bind(s),this._serveClient&&e.get(`${this._path}/*`,((e,t)=>{if(!this.clientPathRegex.test(t.getUrl()))return void t.setYield(!0);const s=t.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),i=C.test(s),n=i?"map":"source",o='"'+T+'"',a="W/"+o,r=t.getHeader("if-none-match");if(r&&(o===r||a===r))return E("serve client %s 304",n),e.writeStatus("304 Not Modified"),void e.end();E("serve client %s",n),e.writeHeader("cache-control","public, max-age=0"),e.writeHeader("content-type","application/"+(i?"json":"javascript")+"; charset=utf-8"),e.writeHeader("etag",o);const c=d.join(__dirname,"../client-dist/",s);(0,_.serveFile)(e,c)})),(0,_.patchAdapter)(e)}initEngine(e,t){E("creating engine.io instance with opts %j",t),this.eio=(0,h.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){E("attaching client serving req handler");const t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",((s,i)=>{if(this.clientPathRegex.test(s.url))this._corsMiddleware?this._corsMiddleware(s,i,(()=>{this.serve(s,i)})):this.serve(s,i);else for(let n=0;n<t.length;n++)t[n].call(e,s,i)}))}serve(e,t){const s=e.url.replace(this._path,"").replace(/\?.*$/,""),i=C.test(s),n=i?"map":"source",o='"'+T+'"',a="W/"+o,r=e.headers["if-none-match"];if(r&&(o===r||a===r))return E("serve client %s 304",n),t.writeHead(304),void t.end();E("serve client %s",n),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(i?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",o),O.sendFile(s,e,t)}static sendFile(e,t,s){const i=(0,c.createReadStream)(d.join(__dirname,"../client-dist/",e)),n=e=>{e&&s.end()};switch(l(t).encodings(["br","gzip","deflate"])){case"br":s.writeHead(200,{"content-encoding":"br"}),i.pipe((0,p.createBrotliCompress)()).pipe(s),(0,u.pipeline)(i,(0,p.createBrotliCompress)(),s,n);break;case"gzip":s.writeHead(200,{"content-encoding":"gzip"}),(0,u.pipeline)(i,(0,p.createGzip)(),s,n);break;case"deflate":s.writeHead(200,{"content-encoding":"deflate"}),(0,u.pipeline)(i,(0,p.createDeflate)(),s,n);break;default:s.writeHead(200),(0,u.pipeline)(i,s,n)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){E("incoming connection with id %s",e.id);const t=new m.Client(this,e);return 3===e.protocol&&t.connect("/"),this}of(e,t){if("function"==typeof e||e instanceof RegExp){const s=new x.ParentNamespace(this);return E("initializing parent namespace %s",s.name),"function"==typeof e?this.parentNsps.set(e,s):(this.parentNsps.set(((t,s,i)=>i(null,e.test(t))),s),this.parentNamespacesFromRegExp.set(e,s)),t&&s.on("connect",t),s}"/"!==String(e)[0]&&(e="/"+e);let s=this._nsps.get(e);if(!s){for(const[t,s]of this.parentNamespacesFromRegExp)if(t.test(e))return E("attaching namespace %s to parent namespace %s",e,t),s.createChild(e);E("initializing namespace %s",e),s=new v.Namespace(this,e),this._nsps.set(e,s),"/"!==e&&this.sockets.emitReserved("new_namespace",s)}return t&&s.on("connect",t),s}close(e){for(const e of this.sockets.sockets.values())e._onclose("server shutting down");this.engine.close(),(0,_.restoreAdapter)(),this.httpServer?this.httpServer.close(e):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,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}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)}}t.Server=O;Object.keys(f.EventEmitter.prototype).filter((function(e){return"function"==typeof f.EventEmitter.prototype[e]})).forEach((function(e){O.prototype[e]=function(){return this.sockets[e].apply(this.sockets,arguments)}})),e.exports=(e,t)=>new O(e,t),e.exports.Server=O,e.exports.Namespace=v.Namespace,e.exports.Socket=w.Socket;s(2898)},3929:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Namespace=t.RESERVED_EVENTS=void 0;const n=s(2898),o=s(12),a=i(s(818)),r=s(3558),c=(0,a.default)("socket.io:namespace");t.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class p extends o.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(e){return this._fns.push(e),this}run(e,t){const s=this._fns.slice(0);if(!s.length)return t(null);!function i(n){s[n](e,(function(e){return e?t(e):s[n+1]?void i(n+1):t(null)}))}(0)}to(e){return new r.BroadcastOperator(this.adapter).to(e)}in(e){return new r.BroadcastOperator(this.adapter).in(e)}except(e){return new r.BroadcastOperator(this.adapter).except(e)}async _add(e,t,s){var i;c("adding socket to nsp %s",this.name);const n=await this._createSocket(e,t);if((null===(i=this.server.opts.connectionStateRecovery)||void 0===i?void 0:i.skipMiddlewares)&&n.recovered&&"open"===e.conn.readyState)return this._doConnect(n,s);this.run(n,(t=>{process.nextTick((()=>"open"!==e.conn.readyState?(c("next called after client was closed - ignoring socket"),void n._cleanup()):t?(c("middleware error, sending CONNECT_ERROR packet to the client"),n._cleanup(),3===e.conn.protocol?n._error(t.data||t.message):n._error({message:t.message,data:t.data})):void this._doConnect(n,s)))}))}async _createSocket(e,t){const s=t.pid,i=t.offset;if(this.server.opts.connectionStateRecovery&&"string"==typeof s&&"string"==typeof i){let o;try{o=await this.adapter.restoreSession(s,i)}catch(e){c("error while restoring session: %s",e)}if(o)return c("connection state recovered for sid %s",o.sid),new n.Socket(this,e,t,o)}return new n.Socket(this,e,t)}_doConnect(e,t){this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.has(e.id)?this.sockets.delete(e.id):c("ignoring remove for %s",e.id)}emit(e,...t){return new r.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...s){if(t.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return s.unshift(e),this.adapter.serverSideEmit(s),!0}serverSideEmitWithAck(e,...t){return new Promise(((s,i)=>{t.push(((e,t)=>e?(e.responses=t,i(e)):s(t))),this.serverSideEmit(e,...t)}))}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new r.BroadcastOperator(this.adapter).allSockets()}compress(e){return new r.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new r.BroadcastOperator(this.adapter).volatile}get local(){return new r.BroadcastOperator(this.adapter).local}timeout(e){return new r.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new r.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new r.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new r.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new r.BroadcastOperator(this.adapter).disconnectSockets(e)}}t.Namespace=p},5268:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParentNamespace=void 0;const n=s(3929),o=(0,i(s(818)).default)("socket.io:parent-namespace");class a extends n.Namespace{constructor(e){super(e,"/_"+a.count++),this.children=new Set}_initAdapter(){this.adapter={broadcast:(e,t)=>{this.children.forEach((s=>{s.adapter.broadcast(e,t)}))}}}emit(e,...t){return this.children.forEach((s=>{s.emit(e,...t)})),!0}createChild(e){o("creating child namespace %s",e);const t=new n.Namespace(this.server,e);if(t._fns=this._fns.slice(0),this.listeners("connect").forEach((e=>t.on("connect",e))),this.listeners("connection").forEach((e=>t.on("connection",e))),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){const s=t._remove;t._remove=i=>{s.call(t,i),0===t.sockets.size&&(o("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}t.ParentNamespace=a,a.count=0},2898:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=t.RESERVED_EVENTS=void 0;const n=s(4815),o=i(s(818)),a=s(12),r=i(s(9916)),c=s(3558),p=(0,o.default)("socket.io:socket"),l=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function u(){}t.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"]);class d extends a.StrictEventEmitter{constructor(e,t,s,i){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=this.nsp.adapter,i?(this.id=i.sid,this.pid=i.pid,i.rooms.forEach((e=>this.join(e))),this.data=i.data,i.missedPackets.forEach((e=>{this.packet({type:n.PacketType.EVENT,data:e})})),this.recovered=!0):(3===t.conn.protocol?this.id="/"!==e.name?e.name+"#"+t.id:t.id:this.id=r.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=r.default.generateId())),this.handshake=this.buildHandshake(s),this.on("error",u)}buildHandshake(e){var t,s,i,n;return{headers:(null===(t=this.request)||void 0===t?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(null===(s=this.request)||void 0===s?void 0:s.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:null===(i=this.request)||void 0===i?void 0:i.url,query:(null===(n=this.request)||void 0===n?void 0:n._query)||{},auth:e}}emit(e,...s){if(t.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);const i=[e,...s],o={type:n.PacketType.EVENT,data:i};if("function"==typeof i[i.length-1]){const e=this.nsp._ids++;p("emitting packet with ack id %d",e),this.registerAckCallback(e,i.pop()),o.id=e}const a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(o,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(o),this.packet(o,a)),!0}emitWithAck(e,...t){const s=void 0!==this.flags.timeout;return new Promise(((i,n)=>{t.push(((e,t)=>s?e?n(e):i(t):i(e))),this.emit(e,...t)}))}registerAckCallback(e,t){const s=this.flags.timeout;if(void 0===s)return void this.acks.set(e,t);const i=setTimeout((()=>{p("event with ack id %d has timed out after %d ms",e,s),this.acks.delete(e),t.call(this,new Error("operation has timed out"))}),s);this.acks.set(e,((...e)=>{clearTimeout(i),t.apply(this,[null,...e])}))}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=!1!==t.compress,this.client._packet(e,t)}join(e){return p("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return p("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){p("socket connected - writing packet"),this.connected=!0,this.join(this.id),3===this.conn.protocol?this.packet({type:n.PacketType.CONNECT}):this.packet({type:n.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(p("got packet %j",e),e.type){case n.PacketType.EVENT:case n.PacketType.BINARY_EVENT:this.onevent(e);break;case n.PacketType.ACK:case n.PacketType.BINARY_ACK:this.onack(e);break;case n.PacketType.DISCONNECT:this.ondisconnect()}}onevent(e){const t=e.data||[];if(p("emitting event %j",t),null!=e.id&&(p("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const s of e)s.apply(this,t)}this.dispatch(t)}ack(e){const t=this;let s=!1;return function(){if(s)return;const i=Array.prototype.slice.call(arguments);p("sending ack %j",i),t.packet({id:e,type:n.PacketType.ACK,data:i}),s=!0}}onack(e){const t=this.acks.get(e.id);"function"==typeof t?(p("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):p("bad ack %s",e.id)}ondisconnect(){p("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;p("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&l.has(e)&&(p("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data})),this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=u}_error(e){this.packet({type:n.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:n.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){p("dispatching an event %j",e),this.run(e,(t=>{process.nextTick((()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):p("ignore packet received after disconnection")}))}))}use(e){return this.fns.push(e),this}run(e,t){const s=this.fns.slice(0);if(!s.length)return t(null);!function i(n){s[n](e,(function(e){return e?t(e):s[n+1]?void i(n+1):t(null)}))}(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}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){const 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){const 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){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}newBroadcastOperator(){const e=Object.assign({},this.flags);return this.flags={},new c.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}}t.Socket=d},12:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StrictEventEmitter=void 0;const i=s(2361);class n extends i.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}}t.StrictEventEmitter=n},7117:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.serveFile=t.restoreAdapter=t.patchAdapter=void 0;const n=s(5099),o=s(7147),a=(0,i(s(818)).default)("socket.io:adapter-uws"),r="",{addAll:c,del:p,broadcast:l}=n.Adapter.prototype;function u(e,t,s,i){const n=t.conn.id,o=t.conn.transport.socket;s&&(a("subscribe connection %s to topic %s",n,e),o.subscribe(e)),i.forEach((t=>{const s=`${e}${r}${t}`;a("subscribe connection %s to topic %s",n,s),o.subscribe(s)}))}t.patchAdapter=function(e){n.Adapter.prototype.addAll=function(e,t){const s=!this.sids.has(e);c.call(this,e,t);const i=this.nsp.sockets.get(e);i&&("websocket"!==i.conn.transport.name?s&&i.conn.on("upgrade",(()=>{const t=this.sids.get(e);t&&u(this.nsp.name,i,s,t)})):u(this.nsp.name,i,s,t))},n.Adapter.prototype.del=function(e,t){p.call(this,e,t);const s=this.nsp.sockets.get(e);if(s&&"websocket"===s.conn.transport.name){const e=s.conn.id,i=s.conn.transport.socket,n=`${this.nsp.name}${r}${t}`;a("unsubscribe connection %s from topic %s",e,n),i.unsubscribe(n)}},n.Adapter.prototype.broadcast=function(t,s){if(!(s.rooms.size<=1&&0===s.except.size))return void l.call(this,t,s);const i=s.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};t.nsp=this.nsp.name;const o=this.encoder.encode(t),c=0===s.rooms.size?this.nsp.name:`${this.nsp.name}${r}${s.rooms.keys().next().value}`;a("fast publish to %s",c),o.forEach((t=>{const s="string"!=typeof t;e.publish(c,s?t:"4"+t,s)})),this.apply(s,(e=>{"websocket"!==e.conn.transport.name&&e.client.writeToEngine(o,n)}))}},t.restoreAdapter=function(){n.Adapter.prototype.addAll=c,n.Adapter.prototype.del=p,n.Adapter.prototype.broadcast=l};t.serveFile=function(e,t){const{size:s}=(0,o.statSync)(t),i=(0,o.createReadStream)(t),n=()=>!i.destroyed&&i.destroy();e.onAborted(n),i.on("data",(t=>{const n=(e=>{const{buffer:t,byteOffset:s,byteLength:i}=e;return t.slice(s,s+i)})(t),o=e.getWriteOffset(),[a,r]=e.tryEnd(n,s);r||a||(i.pause(),e.onWritable((t=>{const[a,r]=e.tryEnd(n.slice(t-o),s);return!r&&a&&i.resume(),a})))})).on("error",(e=>{throw n(),e})).on("end",n)}},9818:(e,t,s)=>{"use strict";function i(e){if(e)return function(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}(e)}s.r(t),s.d(t,{Emitter:()=>i}),i.prototype.on=i.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},i.prototype.once=function(e,t){function s(){this.off(e,s),t.apply(this,arguments)}return s.fn=t,this.on(e,s),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var n=0;n<i.length;n++)if((s=i[n])===t||s.fn===t){i.splice(n,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},i.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),s=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(s){i=0;for(var n=(s=s.slice(0)).length;i<n;++i)s[i].apply(this,t)}return this},i.prototype.emitReserved=i.prototype.emit,i.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},i.prototype.hasListeners=function(e){return!!this.listeners(e).length}},9601:e=>{"use strict";e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},1751:e=>{"use strict";e.exports={i8:"4.7.4"}}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var o=i[e]={exports:{}};return s[e].call(o.exports,o,o.exports,n),o.exports}n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.SocketTunnelClient=e.SessionIdError=e.ConnectionError=e.AuthorizationError=void 0;var t=n(4382);Object.defineProperty(e,"AuthorizationError",{enumerable:!0,get:function(){return t.AuthorizationError}}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:function(){return t.ConnectionError}}),Object.defineProperty(e,"SessionIdError",{enumerable:!0,get:function(){return t.SessionIdError}}),Object.defineProperty(e,"SocketTunnelClient",{enumerable:!0,get:function(){return t.SocketTunnelClient}})})(),o})()));
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(function(){try{return require("bufferutil")}catch(e){}}(),function(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bufferutil","utf-8-validate"],t):"object"==typeof exports?exports.socketTunnel=t(function(){try{return require("bufferutil")}catch(e){}}(),function(){try{return require("utf-8-validate")}catch(e){}}()):e.socketTunnel=t(e.bufferutil,e["utf-8-validate"])}(global,((e,t)=>(()=>{var s={501:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DestroyableServer=void 0;const i=s(1808);class n extends i.Server{constructor(e,t){super(e,t),this.sockets=new Set,this.on("connection",(e=>{this.sockets.add(e),e.once("close",(()=>this.sockets.delete(e)))}))}async destroy(){const e=this.closeAsync(),t=[...this.sockets];if(t.length){console.log(`Destroying ${t.length} existing connections...`);try{await Promise.allSettled(t.map(this.destroySocket))}catch(e){console.error("Error destroying one or more existing connections:",e)}this.sockets.clear(),console.log(`Finished destroying ${t.length} existing connections.`)}await e}closeAsync(){return new Promise(((e,t)=>this.close((s=>{s?t(s):e()}))))}async destroySocket(e){console.log(`Destroying connection from ${e.remoteAddress}:${e.remotePort} to ${e.localAddress}:${e.localPort}`),await new Promise(((t,s)=>{e.destroy(),e.once("close",(()=>t())),e.once("error",(e=>s(e)))})),this.sockets.delete(e)}}t.DestroyableServer=n},3254:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocketTunnelClient=void 0;const i=s(8398),n=s(8712),o=s(6655),a=s(7076),r=s(8490),c=s(501),p=s(9292);t.SocketTunnelClient=class{constructor(e,t){var s,i,n;this.tunnelUrl=e,this.sessionId=(0,o.nanoid)(),this.bindAddress=t.localAddress,this.bindPort=null!==(s=t.localPort)&&void 0!==s?s:t.remotePort,this.connectionTracing=null!==(i=t.connectionTracing)&&void 0!==i&&i,this.connectTimeoutMillis=null!==(n=t.connectTimeoutMillis)&&void 0!==n?n:r.DefaultConnectionTimeoutMillis,this.forwardingServer=new c.DestroyableServer,this.remoteHost=t.remoteHost,this.remotePort=t.remotePort,this.tunnel=this.initializeTunnel(t)}boundAddress(){var e;const t=null===(e=this.forwardingServer.address())||void 0===e?void 0:e.address;return"::"===t||"0.0.0.0"===t||"::1"===t||(null==t?void 0:t.startsWith("127."))||"localhost"===t?"localhost":t}boundPort(){var e;return null===(e=this.forwardingServer.address())||void 0===e?void 0:e.port}async connect(){console.log(`Connecting to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`),await this.openTunnelConnection(),await this.startForwarding(),console.log(`Connection established to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`)}async disconnect(){await this.stopForwarding(),await this.closeTunnelConnection(),console.log(`Connection to tunnel ${this.tunnelUrl} with session ID ${this.sessionId} closed`)}isConnected(){return this.tunnel.connected}initializeTunnel(e){var t,s;const i={},o={},c={"User-Agent":null!==(t=null==e?void 0:e.userAgent)&&void 0!==t?t:r.DefaultUserAgent};(null==e?void 0:e.httpAuthorization)&&(c.Authorization=this.generateAuthorizationHeader(e.httpAuthorization)),(null==e?void 0:e.tunnelAuthorization)&&(i.auth=async t=>{const s="function"==typeof e.tunnelAuthorization?await e.tunnelAuthorization():e.tunnelAuthorization;t(null!=s?s:{})}),(null==e?void 0:e.proxy)&&(o.agent=this.getAgent(this.tunnelUrl,e.proxy)),o.path=new URL(this.tunnelUrl).pathname;const p=new URL(`/?${a.SessionIdKey}=${this.sessionId}`,this.tunnelUrl).toString();return(0,n.io)(p,{...i,...o,autoConnect:!1,extraHeaders:c,rejectUnauthorized:null===(s=null==e?void 0:e.insecure)||void 0===s||s,transports:["websocket","polling","webtransport"]})}generateAuthorizationHeader(e){switch(e.type){case"basic":return`Basic ${Buffer.from(`${e.username}:${e.password}`).toString("base64")}`;case"bearer":return`Bearer ${e.bearerToken}`}}getAgent(e,t){let s="http://";if(t.credentials){const{username:e,password:i}=t.credentials;s+=`${e}:${i}@`}s+=`${t.host}:${t.port}`;const n={rejectUnauthorized:!1},o=new URL(e).protocol;return"https:"===o||"wss:"===o?new i.HttpsProxyAgent({proxy:s,proxyRequestOptions:n}):new i.HttpProxyAgent({proxy:s,proxyRequestOptions:n})}openTunnelConnection(){return new Promise(((e,t)=>{if(this.isConnected()){const e=Error(`Client already connected to tunnel ${this.tunnelUrl} with session ID ${this.sessionId}`);t(e)}else this.tunnel.once("connect_error",(e=>{if("TransportError"!==e.type)t(e);else{const s=e.description.error;t(s)}})),this.tunnel.on("connect",e),this.tunnel.on("disconnect",(e=>console.log(`Disconnected from server ${this.tunnelUrl} : ${e}`))),this.tunnel.connect()}))}closeTunnelConnection(){return new Promise((e=>{if(!this.isConnected())return console.warn("Attempted to close a tunnel connection on an already closed tunnel"),void e();this.tunnel.disconnect(),this.tunnel.disconnected?e():this.tunnel.once("disconnect",(t=>e()))}))}async startForwarding(){var e;console.log(`Opening port forwarder at ${null!==(e=this.bindAddress)&&void 0!==e?e:"*"}:${this.bindPort}`),await new Promise(((e,t)=>{this.forwardingServer.once("error",(e=>t(e))),this.forwardingServer.listen(this.bindPort,this.bindAddress,e)})),this.forwardingServer.on("connection",(async e=>{var t,s,i;const n=`${this.boundAddress()}:${this.boundPort()}`,o=`${null!==(t=e.remoteAddress)&&void 0!==t?t:""}:${e.remotePort}`;if(console.log(`Received new connection from ${o} => ${n}`),!this.isConnected())return console.log(`Rejecting connection from ${o} => ${n} because tunnel is not connected`),void e.destroy();let r;try{const t=await this.sendConnectRequest();if(!t.success){const s=new Error(t.error);return console.log(`Tunnel ${this.tunnel.id} with session ID ${this.sessionId} failed to establish connection to ${null!==(i=this.remoteHost)&&void 0!==i?i:""}:${this.remotePort} : ${s}`),void e.destroy()}console.log(`Tunnel ${this.tunnel.id} with session ID ${this.sessionId} successfully connected to ${null!==(s=this.remoteHost)&&void 0!==s?s:""}:${this.remotePort} with connection id ${t.connectionId}`),r=t.connectionId}catch(t){return console.log(`Failed to send connect request to tunnel ${this.tunnel.id} with session ID ${this.sessionId}: ${t}`),void e.destroy()}this.tunnel.on(a.ConnectionDataMessage,((t,s)=>{t===r&&(this.connectionTracing&&console.debug(`Writing ${s.byteLength} bytes from tunnel ${this.tunnel.id} with session ID ${this.sessionId} on connection ${r} to client ${o}`),e.write(s))})),this.tunnel.on(a.ConnectionCloseMessage,(t=>{t===r&&(this.connectionTracing&&console.debug(`Closing connection ${r} on tunnel ${this.tunnel.id} with session ID ${this.sessionId}`),e.destroy())})),e.on("data",(e=>{this.connectionTracing&&console.debug(`Sending ${e.byteLength} bytes from client ${o} to tunnel ${this.tunnel.id} with session ID ${this.sessionId} on connection ${r}`),this.tunnel.emit(a.ConnectionDataMessage,r,e)})),e.on("close",(e=>{console.log(`Connection from ${o} => ${n} closed`),this.tunnel.emit(a.ConnectionCloseMessage,r)})),e.on("error",(t=>{console.error(`Error on connection from ${o} => ${n}`,t),e.destroy()}))})),console.log(`Port forwarder listening at ${this.boundAddress()}:${this.boundPort()}`)}async sendConnectRequest(){var e,t;const s=null!==(e=this.connectTimeoutMillis)&&void 0!==e?e:r.DefaultConnectionTimeoutMillis,i={remoteHost:this.remoteHost,remotePort:this.remotePort,timeoutMillis:s};console.log(`Sending connect request for remote server at ${null!==(t=i.remoteHost)&&void 0!==t?t:""}:${i.remotePort} with session ID ${this.sessionId} via tunnel ${this.tunnel.id} with timeout ${s}ms`),this.tunnel.emit(a.ConnectRequestMessage,i);return await(0,p.withTimeout)(new Promise((e=>this.tunnel.once(a.ConnectResponseMessage,(t=>e(t))))),s)}async stopForwarding(){const e=this.boundAddress(),t=this.boundPort();this.forwardingServer.listening&&(console.log(`Closing port forwarder at ${e}:${t}`),await this.forwardingServer.destroy(),console.log(`Port forwarder at ${e}:${t} closed`))}}},8490:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultUserAgent=t.DefaultConnectionTimeoutMillis=void 0,t.DefaultConnectionTimeoutMillis=1e4,t.DefaultUserAgent="Socket Tunnel Client"},3473:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},7076:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConnectionDataMessage=t.ConnectionCloseMessage=t.ConnectResponseMessage=t.ConnectRequestMessage=t.SessionIdKey=t.SessionIdError=t.AuthorizationError=t.ConnectionError=void 0;class s extends Error{constructor(e,t,s){super(t,s),this.data={},this.data.type=e}}t.ConnectionError=s;t.AuthorizationError=class extends s{constructor(e,t){super("authorization",null!=e?e:"Credentials are missing or invalid",t)}static isAuthorizationError(e){var t;return"authorization"===(null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.type)}};t.SessionIdError=class extends s{constructor(e,t){super("session_id",null!=e?e:"Session ID is missing or invalid",t)}static isSessionIdError(e){var t;return"session_id"===(null===(t=null==e?void 0:e.data)||void 0===t?void 0:t.type)}},t.SessionIdKey="session",t.ConnectRequestMessage="tunnel::connect::request",t.ConnectResponseMessage="tunnel::connect::response",t.ConnectionCloseMessage="tunnel::close",t.ConnectionDataMessage="tunnel::data"},9292:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.withTimeout=void 0,t.withTimeout=async function(e,t){let s;const i=new Promise(((e,i)=>{s=globalThis.setTimeout((()=>i(new Error(`Timed out after ${t}ms`))),t)})),n=await Promise.race([i,e]);return globalThis.clearTimeout(s),n}},7487:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__exportStar||function(e,t){for(var s in e)"default"===s||Object.prototype.hasOwnProperty.call(t,s)||i(t,e,s)};Object.defineProperty(t,"__esModule",{value:!0}),t.SessionIdError=t.ConnectionError=t.AuthorizationError=void 0,n(s(3254),t),n(s(3473),t);var o=s(7076);Object.defineProperty(t,"AuthorizationError",{enumerable:!0,get:function(){return o.AuthorizationError}}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:function(){return o.ConnectionError}}),Object.defineProperty(t,"SessionIdError",{enumerable:!0,get:function(){return o.SessionIdError}}),n(s(23),t),n(s(3144),t),n(s(4324),t),n(s(3983),t),n(s(3941),t)},23:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AllowedConnectHostFilter=void 0;const i=s(6562);t.AllowedConnectHostFilter=class{constructor(e){if(this.allowedHostExpressions=null!=e?e:i.DefaultAllowedConnectHostExpressions,!this.allowedHostExpressions.length)throw new Error("At least one allowed connect host expression must be specified")}hostIsAllowed(e){return!!this.allowedHostExpressions.find((t=>e.match(t)))}}},3144:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SocketTunnelServer=void 0;const i=s(1808),n=s(3685),o=s(6655),a=s(2625),r=s(23),c=s(7076),p=s(6562),l=s(9292);t.SocketTunnelServer=class{constructor(e){var t,s,i,n;this.connections=new Map,this.sessions=new Map,this.sessionDisconnectTimes=new Map,this.cleanup=this.cleanup.bind(this),this.openConnection=this.openConnection.bind(this),this.closeConnection=this.closeConnection.bind(this),this.sendConnectionDataToRemoteHost=this.sendConnectionDataToRemoteHost.bind(this),this.address=null==e?void 0:e.address,this.allowedConnectHostFilter=new r.AllowedConnectHostFilter(null==e?void 0:e.allowedConnectHosts),this.connectionTracing=null!==(t=null==e?void 0:e.connectionTracing)&&void 0!==t?t:p.DefaultConnectionTracking,this.destroySessionOnDisconnect=null!==(s=null==e?void 0:e.destroySessionOnDisconnect)&&void 0!==s?s:p.DefaultDestroySessionOnDisconnect,this.httpAuthorizer=null==e?void 0:e.httpAuthorizer,this.port=null!==(i=null==e?void 0:e.port)&&void 0!==i?i:p.DefaultBindPort,this.sessionReconnectGracePeriodSeconds=null!==(n=null==e?void 0:e.sessionReconnectGracePeriodSeconds)&&void 0!==n?n:p.DefaultTunnelReconnectGracePeriodSeconds,this.tunnelAuthorizer=null==e?void 0:e.tunnelAuthorizer,this.httpServer=this.initializeHttpServer(),this.tunnel=this.initializeTunnel(e)}initializeHttpServer(){const e=(0,n.createServer)();return e.on("request",(async(e,t)=>{await this.isHttpRequestAuthorized(e)||(t.writeHead(401),t.end())})),e.on("upgrade",(async(e,t)=>{await this.isHttpRequestAuthorized(e)||(t.write("HTTP/1.1 401 Unauthorized\r\nConnection: Close\r\n\r\n"),t.destroy())})),e}initializeTunnel(e){var t;const s=new a.Server({allowRequest:async(e,t)=>{try{t(null,await this.isHttpRequestAuthorized(e))}catch(e){t(`${e}`,!1)}},path:null!==(t=null==e?void 0:e.path)&&void 0!==t?t:p.DefaultPath});return s.use((async(e,t)=>{var s;const i=e.handshake.query[c.SessionIdKey];if(!i||"string"!=typeof i)return console.log(`Received ${i?"invalid":"missing"} session id from client ${e.client.conn.remoteAddress}: '${JSON.stringify(i,void 0,0)}'`),t(new c.SessionIdError);try{if(!await this.isTunnelSessionAuthorized(e.handshake.auth,i)){const n=Object.keys(null!==(s=e.handshake.auth)&&void 0!==s?s:{}).length>0;return console.log(`Received ${n?"invalid":"missing"} tunnel credentials from client ${e.client.conn.remoteAddress} with session ID ${i}`),t(new c.AuthorizationError)}}catch(e){return t(new c.AuthorizationError(`Error occurred while authorizing tunnel session: ${e}`,{cause:e}))}const n=this.sessionDisconnectTimes.get(i);n?(console.log(`Session ${i} reconnected with new client ${e.id} (old client disconnected at ${new Date(n).toUTCString()})`),this.sessionDisconnectTimes.delete(i)):console.log(`Received new tunnel connection ${e.id} from ${e.client.conn.remoteAddress} with session ID ${i}`),this.sessions.set(i,e),e.on("disconnecting",(t=>{console.log(`Tunnel connection ${e.id} from ${e.client.conn.remoteAddress} with session ID ${i} disconnected: ${t}`),this.destroySessionOnDisconnect&&"ping timeout"!==t?this.destroySession(i):(this.sessions.delete(i),this.sessionDisconnectTimes.set(i,Date.now()))})),e.on(c.ConnectRequestMessage,(t=>this.openConnection(i,t,e))),e.on(c.ConnectionCloseMessage,(e=>this.closeConnection(i,e,!1))),e.on(c.ConnectionDataMessage,((t,s)=>this.sendConnectionDataToRemoteHost(e,i,t,s))),t()})),s}async isHttpRequestAuthorized(e){if(!this.httpAuthorizer)return!0;const t=await this.httpAuthorizer.isAuthorized(e),s=!!e.headers.upgrade,i=!!e.headers.authorization;return console.log(`HTTP ${e.method}${s?" (upgrade)":""} request ${e.url} from ${e.socket.remoteAddress} is ${t?"authorized":"NOT authorized"}${i?"":" (no authorization header)"}`),t}async isTunnelSessionAuthorized(e,t){if(!this.tunnelAuthorizer)return!0;const s=await this.tunnelAuthorizer.isAuthorized(e,t);return console.log(`Tunnel session ${t} is ${s?"authorized":"NOT authorized"}`),s}boundPort(){var e;return null===(e=this.httpServer.address())||void 0===e?void 0:e.port}async start(){var e;if(this.cleanupTimer)throw new Error("Server already running");await new Promise(((e,t)=>{this.httpServer.listen(this.port,this.address).once("listening",e).once("error",t)})),this.tunnel.attach(this.httpServer),this.cleanupTimer=globalThis.setInterval(this.cleanup,p.CleanupTimerPeriodMillis),console.log(`Tunnel Server listening on ${null!==(e=this.address)&&void 0!==e?e:"*"}:${this.boundPort()}`)}async stop(){var e;if(!this.cleanupTimer)throw new Error("Server already stopped");await new Promise(((e,t)=>this.httpServer.close((s=>{if(s)return t(s);e()}))));for(const t in this.connections.keys())for(const s in null===(e=this.connections.get(t))||void 0===e?void 0:e.keys())this.closeConnection(t,s,!0);this.connections.clear(),this.sessions.forEach(((e,t)=>{console.log(`Closing tunnel ${e.id} from ${e.conn.remoteAddress} for session ${t}`),e.disconnect(!0)})),this.sessions.clear(),globalThis.clearInterval(this.cleanupTimer),this.cleanupTimer=void 0}async openConnection(e,t,s){var n;const a=(0,o.nanoid)();console.log(`Generated connection ID ${a} for connect request`,t);const r=null!==(n=t.remoteHost)&&void 0!==n?n:p.DefaultConnectHost;if(!this.allowedConnectHostFilter.hostIsAllowed(r)){const e=`Rejecting request ${a} to connect to host not in allowed list: ${r}`;console.log(e);const t={connectionId:a,error:e,success:!1};return void s.emit(c.ConnectResponseMessage,t)}const u=new i.Socket;try{await(0,l.withTimeout)(new Promise(((i,n)=>{u.once("connect",i),u.once("error",(e=>n(e))),u.once("timeout",(()=>n(new Error(`Timed out connecting to ${r}:${t.remotePort}`)))),console.log(`Connecting to ${r}:${t.remotePort} with timeout ${t.timeoutMillis}ms on connection ${a} in session ${e} for tunnel ${s.id}`),u.connect({host:r,keepAlive:!0,noDelay:!0,port:t.remotePort})})),t.timeoutMillis),u.on("data",(s=>{const i=this.sessions.get(e);i?(this.connectionTracing&&console.debug(`Sending ${s.byteLength} bytes from ${r}:${t.remotePort} to tunnel ${i.id} on connection ${a} in session ${e}`),i.emit(c.ConnectionDataMessage,a,s)):this.connectionTracing&&console.log(`Dropping ${s.byteLength} bytes from ${r}:${t.remotePort} because no active tunnel connection exists for session ${e}`)})),u.on("close",(()=>{this.sessions.get(e)?this.closeConnection(e,a,!0):this.connectionTracing&&console.log(`Unable to send close message for connection ${a} because no active tunnel connection exists for session ${e}`)}));let i=this.connections.get(e);i||(i=new Map,this.connections.set(e,i)),i.set(a,u);const n={connectionId:a,success:!0};s.emit(c.ConnectResponseMessage,n),console.log(`Successfully connected to ${r}:${t.remotePort} with connection ID ${a} in session ${e} for tunnel ${s.id}`)}catch(e){console.log(`Error connecting to ${r}:${t.remotePort} : ${e}`),u.destroy();const i={connectionId:a,error:null==e?void 0:e.toString(),success:!1};s.emit(c.ConnectResponseMessage,i)}}destroySession(e){var t;null===(t=this.connections.get(e))||void 0===t||t.forEach(((t,s)=>this.closeConnection(e,s,!1))),this.connections.delete(e);this.sessions.get(e)&&this.sessions.delete(e)}closeConnection(e,t,s){var i;const n=this.connections.get(e);if(!n)return;const o=n.get(t);o&&(console.log(`Closing connection ${t} in session ${e}`),o.destroy(),n.delete(t),0===n.size&&this.connections.delete(e),s&&(null===(i=this.sessions.get(e))||void 0===i||i.emit(c.ConnectionCloseMessage,t)))}sendConnectionDataToRemoteHost(e,t,s,i){const n=this.connections.get(t);if(!n)return this.connectionTracing&&console.log(`Received request to send data on connection ${s} in unknown session ${t}`),void this.closeConnection(t,s,!0);const o=n.get(s);if(!o)return this.connectionTracing&&console.log(`Received request to send data on unknown connection ${s}`),void this.closeConnection(t,s,!0);this.connectionTracing&&console.debug(`Writing ${i.byteLength} bytes from tunnel ${e.id} on connection ${s} to ${o.remoteAddress}:${o.remotePort}`),o.write(i)}cleanup(){const e=Date.now();this.sessionDisconnectTimes.forEach(((t,s)=>{if(this.sessions.get(s))return void this.sessionDisconnectTimes.delete(s);if(this.sessionReconnectGracePeriodSeconds<0)return;const i=t+1e3*this.sessionReconnectGracePeriodSeconds;e>i&&(console.log(`Session ${s} which disconnected at ${new Date(t).toUTCString()} has expired after ${this.sessionReconnectGracePeriodSeconds}s with no reconnect`),this.destroySession(s),this.sessionDisconnectTimes.delete(s))}))}}},3983:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleHttpAuthorizer=void 0;const i=s(6727),n={basic:/^Basic ([^\s]+)/i,bearer:/^Bearer ([^\s]+)/i},o=/^([^\s:]+):([^\s:]+)/;t.SimpleHttpAuthorizer=class{constructor(e){this.authorization=e}async isAuthorized(e){const t=this.extractAuthorization(e.headers.authorization);return(0,i.authorizationMatches)(this.authorization,t)}extractAuthorization(e){var t;if(!e)return;const s=null===(t=n[this.authorization.type].exec(e))||void 0===t?void 0:t[1];if(s)switch(this.authorization.type){case"basic":return this.extractBasicAuthorization(s);case"bearer":return this.extractBearerAuthorization(s)}}extractBasicAuthorization(e){const t=Buffer.from(e,"base64").toString("utf-8"),s=o.exec(t);if(!s)return;const[,i,n]=s;return{password:n,type:"basic",username:i}}extractBearerAuthorization(e){return{bearerToken:e,type:"bearer"}}}},3941:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SimpleTunnelAuthorizer=void 0;const i=s(6727);t.SimpleTunnelAuthorizer=class{constructor(e){this.authorization=e}async isAuthorized(e,t){return(0,i.authorizationMatches)(this.authorization,e)}}},6727:(e,t)=>{"use strict";function s(e){return JSON.stringify(e,void 0,0)}Object.defineProperty(t,"__esModule",{value:!0}),t.authorizationMatches=void 0,t.authorizationMatches=function(e,t){return!!t&&s(e)===s(t)}},6562:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DefaultPath=t.DefaultConnectionTracking=t.DefaultDestroySessionOnDisconnect=t.DefaultTunnelReconnectGracePeriodSeconds=t.CleanupTimerPeriodMillis=t.DefaultAllowedConnectHostExpressions=t.Ipv4OctetRe=t.DefaultConnectHost=t.DefaultBindPort=void 0,t.DefaultBindPort=8080,t.DefaultConnectHost="localhost",t.Ipv4OctetRe=/25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?/,t.DefaultAllowedConnectHostExpressions=[/^localhost$/i,new RegExp(`^(127)\\.(${t.Ipv4OctetRe.source})\\.(${t.Ipv4OctetRe.source})\\.(${t.Ipv4OctetRe.source})$`),/^::1$/],t.CleanupTimerPeriodMillis=6e4,t.DefaultTunnelReconnectGracePeriodSeconds=3600,t.DefaultDestroySessionOnDisconnect=!1,t.DefaultConnectionTracking=!1,t.DefaultPath="/"},4324:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},181:(e,t,s)=>{"use strict";var i=s(9442),n=s(4345);function o(e){if(!(this instanceof o))return new o(e);this.headers=e.headers,this.negotiator=new i(e)}function a(e){return-1===e.indexOf("/")?n.lookup(e):e}function r(e){return"string"==typeof e}e.exports=o,o.prototype.type=o.prototype.types=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}if(!t||0===t.length)return this.negotiator.mediaTypes();if(!this.headers.accept)return t[0];var i=t.map(a),n=this.negotiator.mediaTypes(i.filter(r))[0];return!!n&&t[i.indexOf(n)]},o.prototype.encoding=o.prototype.encodings=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.encodings(t)[0]||!1:this.negotiator.encodings()},o.prototype.charset=o.prototype.charsets=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.charsets(t)[0]||!1:this.negotiator.charsets()},o.prototype.lang=o.prototype.langs=o.prototype.language=o.prototype.languages=function(e){var t=e;if(t&&!Array.isArray(t)){t=new Array(arguments.length);for(var s=0;s<t.length;s++)t[s]=arguments[s]}return t&&0!==t.length?this.negotiator.languages(t)[0]||!1:this.negotiator.languages()}},9916:(e,t,s)=>{var i=s(6113),n=function(){};n.prototype.getRandomBytes=function(e){var t=4096,s=this;if((e=e||12)>t)return i.randomBytes(e);var n=parseInt(t/e),o=parseInt(.85*n);if(!o)return i.randomBytes(e);if(null==this.bytesBufferIndex&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==n&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(-1==this.bytesBufferIndex||this.bytesBufferIndex>o)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,i.randomBytes(t,(function(e,t){s.bytesBuffer=t,s.bytesBufferIndex=0,s.isGeneratingBytes=!1}))),-1==this.bytesBufferIndex))return i.randomBytes(e);var a=this.bytesBuffer.slice(e*this.bytesBufferIndex,e*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a},n.prototype.generateId=function(){var e=Buffer.alloc(15);return e.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,e.writeInt32BE(this.sequenceNumber,11),i.randomBytes?this.getRandomBytes(12).copy(e):[0,4,8].forEach((function(t){e.writeInt32BE(Math.random()*Math.pow(2,32)|0,t)})),e.toString("base64").replace(/\//g,"_").replace(/\+/g,"-")):Math.abs(Math.random()*Math.random()*Date.now()|0).toString()+Math.abs(Math.random()*Math.random()*Date.now()|0).toString()},e.exports=new n},2507:(e,t)=>{"use strict";t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var i={},n=t||{},a=e.split(";"),r=n.decode||s,c=0;c<a.length;c++){var p=a[c],l=p.indexOf("=");if(!(l<0)){var u=p.substring(0,l).trim();if(null==i[u]){var d=p.substring(l+1,p.length).trim();'"'===d[0]&&(d=d.slice(1,-1)),i[u]=o(d,r)}}}return i},t.serialize=function(e,t,s){var o=s||{},a=o.encode||i;if("function"!=typeof a)throw new TypeError("option encode is invalid");if(!n.test(e))throw new TypeError("argument name is invalid");var r=a(t);if(r&&!n.test(r))throw new TypeError("argument val is invalid");var c=e+"="+r;if(null!=o.maxAge){var p=o.maxAge-0;if(isNaN(p)||!isFinite(p))throw new TypeError("option maxAge is invalid");c+="; Max-Age="+Math.floor(p)}if(o.domain){if(!n.test(o.domain))throw new TypeError("option domain is invalid");c+="; Domain="+o.domain}if(o.path){if(!n.test(o.path))throw new TypeError("option path is invalid");c+="; Path="+o.path}if(o.expires){if("function"!=typeof o.expires.toUTCString)throw new TypeError("option expires is invalid");c+="; Expires="+o.expires.toUTCString()}o.httpOnly&&(c+="; HttpOnly");o.secure&&(c+="; Secure");if(o.sameSite){switch("string"==typeof o.sameSite?o.sameSite.toLowerCase():o.sameSite){case!0:c+="; SameSite=Strict";break;case"lax":c+="; SameSite=Lax";break;case"strict":c+="; SameSite=Strict";break;case"none":c+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return c};var s=decodeURIComponent,i=encodeURIComponent,n=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function o(e,t){try{return t(e)}catch(t){return e}}},9920:(e,t,s)=>{!function(){"use strict";var t=s(1538),i=s(9548),n={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function o(e){return"string"==typeof e||e instanceof String}function a(e,t){if(Array.isArray(t)){for(var s=0;s<t.length;++s)if(a(e,t[s]))return!0;return!1}return o(t)?e===t:t instanceof RegExp?t.test(e):!!t}function r(e,t){var s,i=t.headers.origin,n=[];return e.origin&&"*"!==e.origin?o(e.origin)?(n.push([{key:"Access-Control-Allow-Origin",value:e.origin}]),n.push([{key:"Vary",value:"Origin"}])):(s=a(i,e.origin),n.push([{key:"Access-Control-Allow-Origin",value:!!s&&i}]),n.push([{key:"Vary",value:"Origin"}])):n.push([{key:"Access-Control-Allow-Origin",value:"*"}]),n}function c(e){return!0===e.credentials?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function p(e){var t=e.exposedHeaders;return t?(t.join&&(t=t.join(",")),t&&t.length?{key:"Access-Control-Expose-Headers",value:t}:null):null}function l(e,t){for(var s=0,n=e.length;s<n;s++){var o=e[s];o&&(Array.isArray(o)?l(o,t):"Vary"===o.key&&o.value?i(t,o.value):o.value&&t.setHeader(o.key,o.value))}}e.exports=function(e){var s=null;return s="function"==typeof e?e:function(t,s){s(null,e)},function(e,i,o){s(e,(function(s,a){if(s)o(s);else{var u=t({},n,a),d=null;u.origin&&"function"==typeof u.origin?d=u.origin:u.origin&&(d=function(e,t){t(null,u.origin)}),d?d(e.headers.origin,(function(t,s){t||!s?o(t):(u.origin=s,function(e,t,s,i){var n=[];"OPTIONS"===(t.method&&t.method.toUpperCase&&t.method.toUpperCase())?(n.push(r(e,t)),n.push(c(e)),n.push(function(e){var t=e.methods;return t.join&&(t=e.methods.join(",")),{key:"Access-Control-Allow-Methods",value:t}}(e)),n.push(function(e,t){var s=e.allowedHeaders||e.headers,i=[];return s?s.join&&(s=s.join(",")):(s=t.headers["access-control-request-headers"],i.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),s&&s.length&&i.push([{key:"Access-Control-Allow-Headers",value:s}]),i}(e,t)),n.push(function(e){var t=("number"==typeof e.maxAge||e.maxAge)&&e.maxAge.toString();return t&&t.length?{key:"Access-Control-Max-Age",value:t}:null}(e)),n.push(p(e)),l(n,s),e.preflightContinue?i():(s.statusCode=e.optionsSuccessStatus,s.setHeader("Content-Length","0"),s.end())):(n.push(r(e,t)),n.push(c(e)),n.push(p(e)),l(n,s),i())}(u,e,i,o))})):o()}}))}}}()},8682:(e,t,s)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const s="color: "+this.color;t.splice(1,0,s,"color: inherit");let i=0,n=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(i++,"%c"===e&&(n=i))})),t.splice(n,0,s)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=s(130)(t);const{formatters:i}=e.exports;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},130:(e,t,s)=>{e.exports=function(e){function t(e){let s,n,o,a=null;function r(...e){if(!r.enabled)return;const i=r,n=Number(new Date),o=n-(s||n);i.diff=o,i.prev=s,i.curr=n,s=n,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((s,n)=>{if("%%"===s)return"%";a++;const o=t.formatters[n];if("function"==typeof o){const t=e[a];s=o.call(i,t),e.splice(a,1),a--}return s})),t.formatArgs.call(i,e);(i.log||t.log).apply(i,e)}return r.namespace=e,r.useColors=t.useColors(),r.color=t.selectColor(e),r.extend=i,r.destroy=t.destroy,Object.defineProperty(r,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(n!==t.namespaces&&(n=t.namespaces,o=t.enabled(e)),o),set:e=>{a=e}}),"function"==typeof t.init&&t.init(r),r}function i(e,s){const i=t(this.namespace+(void 0===s?":":s)+e);return i.log=this.log,i}function n(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names.map(n),...t.skips.map(n).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let s;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const i=("string"==typeof e?e:"").split(/[\s,]+/),n=i.length;for(s=0;s<n;s++)i[s]&&("-"===(e=i[s].replace(/\*/g,".*?"))[0]?t.skips.push(new RegExp("^"+e.slice(1)+"$")):t.names.push(new RegExp("^"+e+"$")))},t.enabled=function(e){if("*"===e[e.length-1])return!0;let s,i;for(s=0,i=t.skips.length;s<i;s++)if(t.skips[s].test(e))return!1;for(s=0,i=t.names.length;s<i;s++)if(t.names[s].test(e))return!0;return!1},t.humanize=s(6468),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach((s=>{t[s]=e[s]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let s=0;for(let t=0;t<e.length;t++)s=(s<<5)-s+e.charCodeAt(t),s|=0;return t.colors[Math.abs(s)%t.colors.length]},t.enable(t.load()),t}},818:(e,t,s)=>{"undefined"==typeof process||"renderer"===process.type||!0===process.browser||process.__nwjs?e.exports=s(8682):e.exports=s(1316)},1316:(e,t,s)=>{const i=s(6224),n=s(3837);t.init=function(e){e.inspectOpts={};const s=Object.keys(t.inspectOpts);for(let i=0;i<s.length;i++)e.inspectOpts[s[i]]=t.inspectOpts[s[i]]},t.log=function(...e){return process.stderr.write(n.format(...e)+"\n")},t.formatArgs=function(s){const{namespace:i,useColors:n}=this;if(n){const t=this.color,n="[3"+(t<8?t:"8;5;"+t),o=` ${n};1m${i} `;s[0]=o+s[0].split("\n").join("\n"+o),s.push(n+"m+"+e.exports.humanize(this.diff)+"")}else s[0]=function(){if(t.inspectOpts.hideDate)return"";return(new Date).toISOString()+" "}()+i+" "+s[0]},t.save=function(e){e?process.env.DEBUG=e:delete process.env.DEBUG},t.load=function(){return process.env.DEBUG},t.useColors=function(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):i.isatty(process.stderr.fd)},t.destroy=n.deprecate((()=>{}),"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."),t.colors=[6,2,3,4,5,1];try{const e=s(7318);e&&(e.stderr||e).level>=2&&(t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch(e){}t.inspectOpts=Object.keys(process.env).filter((e=>/^debug_/i.test(e))).reduce(((e,t)=>{const s=t.substring(6).toLowerCase().replace(/_([a-z])/g,((e,t)=>t.toUpperCase()));let i=process.env[t];return i=!!/^(yes|on|true|enabled)$/i.test(i)||!/^(no|off|false|disabled)$/i.test(i)&&("null"===i?null:Number(i)),e[s]=i,e}),{}),e.exports=s(130)(t);const{formatters:o}=e.exports;o.o=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts).split("\n").map((e=>e.trim())).join(" ")},o.O=function(e){return this.inspectOpts.colors=this.useColors,n.inspect(e,this.inspectOpts)}},602:e=>{"use strict";e.exports=(e,t)=>{t=t||process.argv;const s=e.startsWith("-")?"":1===e.length?"-":"--",i=t.indexOf(s+e),n=t.indexOf("--");return-1!==i&&(-1===n||i<n)}},8398:(e,t,s)=>{"use strict";const i=s(5687),n=s(3685),{URL:o}=s(7310);class a extends n.Agent{constructor(e){const{proxy:t,proxyRequestOptions:s,...i}=e;super(i),this.proxy="string"==typeof t?new o(t):t,this.proxyRequestOptions=s||{}}createConnection(e,t){const s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${e.host}:${e.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${e.host}:${e.port}`},agent:!1,timeout:e.timeout||0};if(this.proxy.username||this.proxy.password){const e=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${e}`}"https:"===this.proxy.protocol&&(s.servername=this.proxy.hostname);const o=("http:"===this.proxy.protocol?n:i).request(s);o.once("connect",((e,s,i)=>{o.removeAllListeners(),s.removeAllListeners(),200===e.statusCode?t(null,s):(s.destroy(),t(new Error(`Bad response: ${e.statusCode}`),null))})),o.once("timeout",(()=>{o.destroy(new Error("Proxy timeout"))})),o.once("error",(e=>{o.removeAllListeners(),t(e,null)})),o.end()}}class r extends i.Agent{constructor(e){const{proxy:t,proxyRequestOptions:s,...i}=e;super(i),this.proxy="string"==typeof t?new o(t):t,this.proxyRequestOptions=s||{}}createConnection(e,t){const s={...this.proxyRequestOptions,method:"CONNECT",host:this.proxy.hostname,port:this.proxy.port,path:`${e.host}:${e.port}`,setHost:!1,headers:{...this.proxyRequestOptions.headers,connection:this.keepAlive?"keep-alive":"close",host:`${e.host}:${e.port}`},agent:!1,timeout:e.timeout||0};if(this.proxy.username||this.proxy.password){const e=Buffer.from(`${decodeURIComponent(this.proxy.username||"")}:${decodeURIComponent(this.proxy.password||"")}`).toString("base64");s.headers["proxy-authorization"]=`Basic ${e}`}"https:"===this.proxy.protocol&&(s.servername=this.proxy.hostname);const o=("http:"===this.proxy.protocol?n:i).request(s);o.once("connect",((s,i,n)=>{if(o.removeAllListeners(),i.removeAllListeners(),200===s.statusCode){const s=super.createConnection({...e,socket:i});t(null,s)}else i.destroy(),t(new Error(`Bad response: ${s.statusCode}`),null)})),o.once("timeout",(()=>{o.destroy(new Error("Proxy timeout"))})),o.once("error",(e=>{o.removeAllListeners(),t(e,null)})),o.end()}}e.exports={HttpProxyAgent:a,HttpsProxyAgent:r}},8437:(e,t,s)=>{e.exports=s(9601)},4345:(e,t,s)=>{"use strict";var i,n,o,a=s(8437),r=s(1017).extname,c=/^\s*([^;\s]*)(?:;|\s|$)/,p=/^text\//i;function l(e){if(!e||"string"!=typeof e)return!1;var t=c.exec(e),s=t&&a[t[1].toLowerCase()];return s&&s.charset?s.charset:!(!t||!p.test(t[1]))&&"UTF-8"}t.charset=l,t.charsets={lookup:l},t.contentType=function(e){if(!e||"string"!=typeof e)return!1;var s=-1===e.indexOf("/")?t.lookup(e):e;if(!s)return!1;if(-1===s.indexOf("charset")){var i=t.charset(s);i&&(s+="; charset="+i.toLowerCase())}return s},t.extension=function(e){if(!e||"string"!=typeof e)return!1;var s=c.exec(e),i=s&&t.extensions[s[1].toLowerCase()];if(!i||!i.length)return!1;return i[0]},t.extensions=Object.create(null),t.lookup=function(e){if(!e||"string"!=typeof e)return!1;var s=r("x."+e).toLowerCase().substr(1);if(!s)return!1;return t.types[s]||!1},t.types=Object.create(null),i=t.extensions,n=t.types,o=["nginx","apache",void 0,"iana"],Object.keys(a).forEach((function(e){var t=a[e],s=t.extensions;if(s&&s.length){i[e]=s;for(var r=0;r<s.length;r++){var c=s[r];if(n[c]){var p=o.indexOf(a[n[c]].source),l=o.indexOf(t.source);if("application/octet-stream"!==n[c]&&(p>l||p===l&&"application/"===n[c].substr(0,12)))continue}n[c]=e}}}))},6468:e=>{var t=1e3,s=60*t,i=60*s,n=24*i,o=7*n,a=365.25*n;function r(e,t,s,i){var n=t>=1.5*s;return Math.round(e/s)+" "+i+(n?"s":"")}e.exports=function(e,c){c=c||{};var p=typeof e;if("string"===p&&e.length>0)return function(e){if((e=String(e)).length>100)return;var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!r)return;var c=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return c*a;case"weeks":case"week":case"w":return c*o;case"days":case"day":case"d":return c*n;case"hours":case"hour":case"hrs":case"hr":case"h":return c*i;case"minutes":case"minute":case"mins":case"min":case"m":return c*s;case"seconds":case"second":case"secs":case"sec":case"s":return c*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return c;default:return}}(e);if("number"===p&&isFinite(e))return c.long?function(e){var o=Math.abs(e);if(o>=n)return r(e,o,n,"day");if(o>=i)return r(e,o,i,"hour");if(o>=s)return r(e,o,s,"minute");if(o>=t)return r(e,o,t,"second");return e+" ms"}(e):function(e){var o=Math.abs(e);if(o>=n)return Math.round(e/n)+"d";if(o>=i)return Math.round(e/i)+"h";if(o>=s)return Math.round(e/s)+"m";if(o>=t)return Math.round(e/t)+"s";return e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},9442:(e,t,s)=>{"use strict";var i=s(8664),n=s(5039),o=s(7190),a=s(527);function r(e){if(!(this instanceof r))return new r(e);this.request=e}e.exports=r,e.exports.Negotiator=r,r.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]},r.prototype.charsets=function(e){return i(this.request.headers["accept-charset"],e)},r.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]},r.prototype.encodings=function(e){return n(this.request.headers["accept-encoding"],e)},r.prototype.language=function(e){var t=this.languages(e);return t&&t[0]},r.prototype.languages=function(e){return o(this.request.headers["accept-language"],e)},r.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]},r.prototype.mediaTypes=function(e){return a(this.request.headers.accept,e)},r.prototype.preferredCharset=r.prototype.charset,r.prototype.preferredCharsets=r.prototype.charsets,r.prototype.preferredEncoding=r.prototype.encoding,r.prototype.preferredEncodings=r.prototype.encodings,r.prototype.preferredLanguage=r.prototype.language,r.prototype.preferredLanguages=r.prototype.languages,r.prototype.preferredMediaType=r.prototype.mediaType,r.prototype.preferredMediaTypes=r.prototype.mediaTypes},8664:e=>{"use strict";e.exports=n,e.exports.preferredCharsets=n;var t=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=1;if(i[2])for(var a=i[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if("q"===c[0]){o=parseFloat(c[1]);break}}return{charset:n,q:o,i:s}}function i(e,t,s){var i=0;if(t.charset.toLowerCase()===e.toLowerCase())i|=1;else if("*"!==t.charset)return null;return{i:s,o:t.i,q:t.q,s:i}}function n(e,t){var n=function(e){for(var t=e.split(","),i=0,n=0;i<t.length;i++){var o=s(t[i].trim(),i);o&&(t[n++]=o)}return t.length=n,t}(void 0===e?"*":e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.charset}function r(e){return e.q>0}},5039:e=>{"use strict";e.exports=n,e.exports.preferredEncodings=n;var t=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=1;if(i[2])for(var a=i[2].split(";"),r=0;r<a.length;r++){var c=a[r].trim().split("=");if("q"===c[0]){o=parseFloat(c[1]);break}}return{encoding:n,q:o,i:s}}function i(e,t,s){var i=0;if(t.encoding.toLowerCase()===e.toLowerCase())i|=1;else if("*"!==t.encoding)return null;return{i:s,o:t.i,q:t.q,s:i}}function n(e,t){var n=function(e){for(var t=e.split(","),n=!1,o=1,a=0,r=0;a<t.length;a++){var c=s(t[a].trim(),a);c&&(t[r++]=c,n=n||i("identity",c),o=Math.min(o,c.q||1))}return n||(t[r++]={encoding:"identity",q:o,i:a}),t.length=r,t}(e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.encoding}function r(e){return e.q>0}},7190:e=>{"use strict";e.exports=n,e.exports.preferredLanguages=n;var t=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function s(e,s){var i=t.exec(e);if(!i)return null;var n=i[1],o=i[2],a=n;o&&(a+="-"+o);var r=1;if(i[3])for(var c=i[3].split(";"),p=0;p<c.length;p++){var l=c[p].split("=");"q"===l[0]&&(r=parseFloat(l[1]))}return{prefix:n,suffix:o,q:r,i:s,full:a}}function i(e,t,i){var n=s(e);if(!n)return null;var o=0;if(t.full.toLowerCase()===n.full.toLowerCase())o|=4;else if(t.prefix.toLowerCase()===n.full.toLowerCase())o|=2;else if(t.full.toLowerCase()===n.prefix.toLowerCase())o|=1;else if("*"!==t.full)return null;return{i,o:t.i,q:t.q,s:o}}function n(e,t){var n=function(e){for(var t=e.split(","),i=0,n=0;i<t.length;i++){var o=s(t[i].trim(),i);o&&(t[n++]=o)}return t.length=n,t}(void 0===e?"*":e||"");if(!t)return n.filter(r).sort(o).map(a);var c=t.map((function(e,t){return function(e,t,s){for(var n={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=i(e,t[o],s);a&&(n.s-a.s||n.q-a.q||n.o-a.o)<0&&(n=a)}return n}(e,n,t)}));return c.filter(r).sort(o).map((function(e){return t[c.indexOf(e)]}))}function o(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function a(e){return e.full}function r(e){return e.q>0}},527:e=>{"use strict";e.exports=o,e.exports.preferredMediaTypes=o;var t=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function s(e){for(var t=function(e){for(var t=e.split(","),s=1,i=0;s<t.length;s++)p(t[i])%2==0?t[++i]=t[s]:t[i]+=","+t[s];return t.length=i+1,t}(e),s=0,n=0;s<t.length;s++){var o=i(t[s].trim(),s);o&&(t[n++]=o)}return t.length=n,t}function i(e,s){var i=t.exec(e);if(!i)return null;var n=Object.create(null),o=1,a=i[2],r=i[1];if(i[3])for(var c=function(e){for(var t=e.split(";"),s=1,i=0;s<t.length;s++)p(t[i])%2==0?t[++i]=t[s]:t[i]+=";"+t[s];t.length=i+1;for(s=0;s<t.length;s++)t[s]=t[s].trim();return t}(i[3]).map(l),u=0;u<c.length;u++){var d=c[u],h=d[0].toLowerCase(),m=d[1],f=m&&'"'===m[0]&&'"'===m[m.length-1]?m.substr(1,m.length-2):m;if("q"===h){o=parseFloat(f);break}n[h]=f}return{type:r,subtype:a,params:n,q:o,i:s}}function n(e,t,s){var n=i(e),o=0;if(!n)return null;if(t.type.toLowerCase()==n.type.toLowerCase())o|=4;else if("*"!=t.type)return null;if(t.subtype.toLowerCase()==n.subtype.toLowerCase())o|=2;else if("*"!=t.subtype)return null;var a=Object.keys(t.params);if(a.length>0){if(!a.every((function(e){return"*"==t.params[e]||(t.params[e]||"").toLowerCase()==(n.params[e]||"").toLowerCase()})))return null;o|=1}return{i:s,o:t.i,q:t.q,s:o}}function o(e,t){var i=s(void 0===e?"*/*":e||"");if(!t)return i.filter(c).sort(a).map(r);var o=t.map((function(e,t){return function(e,t,s){for(var i={o:-1,q:0,s:0},o=0;o<t.length;o++){var a=n(e,t[o],s);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}(e,i,t)}));return o.filter(c).sort(a).map((function(e){return t[o.indexOf(e)]}))}function a(e,t){return t.q-e.q||t.s-e.s||e.o-t.o||e.i-t.i||0}function r(e){return e.type+"/"+e.subtype}function c(e){return e.q>0}function p(e){for(var t=0,s=0;-1!==(s=e.indexOf('"',s));)t++,s++;return t}function l(e){var t,s,i=e.indexOf("=");return-1===i?t=e:(t=e.substr(0,i),s=e.substr(i+1)),[t,s]}},1538:e=>{"use strict";var t=Object.getOwnPropertySymbols,s=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},s=0;s<10;s++)t["_"+String.fromCharCode(s)]=s;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var i={};return"abcdefghijklmnopqrst".split("").forEach((function(e){i[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},i)).join("")}catch(e){return!1}}()?Object.assign:function(e,n){for(var o,a,r=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c<arguments.length;c++){for(var p in o=Object(arguments[c]))s.call(o,p)&&(r[p]=o[p]);if(t){a=t(o);for(var l=0;l<a.length;l++)i.call(o,a[l])&&(r[a[l]]=o[a[l]])}}return r}},2839:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),i=64,n={};let o,a=0,r=0;function c(e){let t="";do{t=s[e%i]+t,e=Math.floor(e/i)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(r=0;r<e.length;r++)t=t*i+n[e.charAt(r)];return t},t.yeast=function(){const e=c(+new Date);return e!==o?(a=0,o=e):e+"."+c(a++)};r<i;r++)n[s[r]]=r},5099:(e,t,s)=>{"use strict";var i;Object.defineProperty(t,"__esModule",{value:!0}),t.SessionAwareAdapter=t.Adapter=void 0;const n=s(2361),o=s(2839),a=s(7883),r="function"==typeof(null===(i=null==a?void 0:a.Sender)||void 0===i?void 0:i.frame);class c extends n.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,t){this.sids.has(e)||this.sids.set(e,new Set);for(const s of t)this.sids.get(e).add(s),this.rooms.has(s)||(this.rooms.set(s,new Set),this.emit("create-room",s)),this.rooms.get(s).has(e)||(this.rooms.get(s).add(e),this.emit("join-room",s,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){const s=this.rooms.get(e);if(null!=s){s.delete(t)&&this.emit("leave-room",e,t),0===s.size&&this.rooms.delete(e)&&this.emit("delete-room",e)}}delAll(e){if(this.sids.has(e)){for(const t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){const s=t.flags||{},i={preEncoded:!0,volatile:s.volatile,compress:s.compress};e.nsp=this.nsp.name;const n=this._encode(e,i);this.apply(t,(t=>{"function"==typeof t.notifyOutgoingListeners&&t.notifyOutgoingListeners(e),t.client.writeToEngine(n,i)}))}broadcastWithAck(e,t,s,i){const n=t.flags||{},o={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;const a=this._encode(e,o);let r=0;this.apply(t,(t=>{r++,t.acks.set(e.id,i),"function"==typeof t.notifyOutgoingListeners&&t.notifyOutgoingListeners(e),t.client.writeToEngine(a,o)})),s(r)}_encode(e,t){const s=this.encoder.encode(e);if(r&&1===s.length&&"string"==typeof s[0]){const e=Buffer.from("4"+s[0]);t.wsPreEncodedFrame=a.Sender.frame(e,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return s}sockets(e){const t=new Set;return this.apply({rooms:e},(e=>{t.add(e.id)})),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){const t=[];return this.apply(e,(e=>{t.push(e)})),Promise.resolve(t)}addSockets(e,t){this.apply(e,(e=>{e.join(t)}))}delSockets(e,t){this.apply(e,(e=>{t.forEach((t=>e.leave(t)))}))}disconnectSockets(e,t){this.apply(e,(e=>{e.disconnect(t)}))}apply(e,t){const s=e.rooms,i=this.computeExceptSids(e.except);if(s.size){const e=new Set;for(const n of s)if(this.rooms.has(n))for(const s of this.rooms.get(n)){if(e.has(s)||i.has(s))continue;const n=this.nsp.sockets.get(s);n&&(t(n),e.add(s))}}else for(const[e]of this.sids){if(i.has(e))continue;const s=this.nsp.sockets.get(e);s&&t(s)}}computeExceptSids(e){const t=new Set;if(e&&e.size>0)for(const s of e)this.rooms.has(s)&&this.rooms.get(s).forEach((e=>t.add(e)));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}}t.Adapter=c;function p(e,t){const s=0===t.rooms.size||e.some((e=>t.rooms.has(e))),i=e.every((e=>!t.except.has(e)));return s&&i}t.SessionAwareAdapter=class extends c{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration;setInterval((()=>{const e=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach(((t,s)=>{t.disconnectedAt<e&&this.sessions.delete(s)}));for(let t=this.packets.length-1;t>=0;t--){if(this.packets[t].emittedAt<e){this.packets.splice(0,t+1);break}}}),6e4).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){const s=this.sessions.get(e);if(!s)return null;if(s.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;const i=this.packets.findIndex((e=>e.id===t));if(-1===i)return null;const n=[];for(let e=i+1;e<this.packets.length;e++){const t=this.packets[e];p(s.rooms,t.opts)&&n.push(t.data)}return Promise.resolve(Object.assign(Object.assign({},s),{missedPackets:n}))}broadcast(e,t){var s;const i=2===e.type,n=void 0===e.id,a=void 0===(null===(s=t.flags)||void 0===s?void 0:s.volatile);if(i&&n&&a){const s=(0,o.yeast)();e.data.push(s),this.packets.push({id:s,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}}},7318:(e,t,s)=>{"use strict";const i=s(2037),n=s(602),o=process.env;let a;function r(e){const t=function(e){if(!1===a)return 0;if(n("color=16m")||n("color=full")||n("color=truecolor"))return 3;if(n("color=256"))return 2;if(e&&!e.isTTY&&!0!==a)return 0;const t=a?1:0;if("win32"===process.platform){const e=i.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some((e=>e in o))||"codeship"===o.CI_NAME?1:t;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:(o.TERM,t)}(e);return function(e){return 0!==e&&{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}(t)}n("no-color")||n("no-colors")||n("color=false")?a=!1:(n("color")||n("colors")||n("color=true")||n("color=always"))&&(a=!0),"FORCE_COLOR"in o&&(a=0===o.FORCE_COLOR.length||0!==parseInt(o.FORCE_COLOR,10)),e.exports={supportsColor:r,stdout:r(process.stdout),stderr:r(process.stderr)}},9548:e=>{"use strict";e.exports=function(e,t){if(!e||!e.getHeader||!e.setHeader)throw new TypeError("res argument is required");var i=e.getHeader("Vary")||"",n=Array.isArray(i)?i.join(", "):String(i);(i=s(n,t))&&e.setHeader("Vary",i)},e.exports.append=s;var t=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function s(e,s){if("string"!=typeof e)throw new TypeError("header argument is required");if(!s)throw new TypeError("field argument is required");for(var n=Array.isArray(s)?s:i(String(s)),o=0;o<n.length;o++)if(!t.test(n[o]))throw new TypeError("field argument contains an invalid header name");if("*"===e)return e;var a=e,r=i(e.toLowerCase());if(-1!==n.indexOf("*")||-1!==r.indexOf("*"))return"*";for(var c=0;c<n.length;c++){var p=n[c].toLowerCase();-1===r.indexOf(p)&&(r.push(p),a=a?a+", "+n[c]:n[c])}return a}function i(e){for(var t=0,s=[],i=0,n=0,o=e.length;n<o;n++)switch(e.charCodeAt(n)){case 32:i===t&&(i=t=n+1);break;case 44:s.push(e.substring(i,t)),i=t=n+1;break;default:t=n+1}return s.push(e.substring(i,t)),s}},7883:(e,t,s)=>{"use strict";const i=s(5861);i.createWebSocketStream=s(7092),i.Server=s(8693),i.Receiver=s(3512),i.Sender=s(3497),i.WebSocket=i,i.WebSocketServer=i.Server,e.exports=i},7470:(e,t,s)=>{"use strict";const{EMPTY_BUFFER:i}=s(8500);function n(e,t,s,i,n){for(let o=0;o<n;o++)s[i+o]=e[o]^t[3&o]}function o(e,t){for(let s=0;s<e.length;s++)e[s]^=t[3&s]}if(e.exports={concat:function(e,t){if(0===e.length)return i;if(1===e.length)return e[0];const s=Buffer.allocUnsafe(t);let n=0;for(let t=0;t<e.length;t++){const i=e[t];s.set(i,n),n+=i.length}return n<t?s.slice(0,n):s},mask:n,toArrayBuffer:function(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)},toBuffer:function e(t){if(e.readOnly=!0,Buffer.isBuffer(t))return t;let s;return t instanceof ArrayBuffer?s=Buffer.from(t):ArrayBuffer.isView(t)?s=Buffer.from(t.buffer,t.byteOffset,t.byteLength):(s=Buffer.from(t),e.readOnly=!1),s},unmask:o},!process.env.WS_NO_BUFFER_UTIL)try{const t=s(797);e.exports.mask=function(e,s,i,o,a){a<48?n(e,s,i,o,a):t.mask(e,s,i,o,a)},e.exports.unmask=function(e,s){e.length<32?o(e,s):t.unmask(e,s)}}catch(e){}},8500:e=>{"use strict";e.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}},9455:(e,t,s)=>{"use strict";const{kForOnEventAttribute:i,kListener:n}=s(8500),o=Symbol("kCode"),a=Symbol("kData"),r=Symbol("kError"),c=Symbol("kMessage"),p=Symbol("kReason"),l=Symbol("kTarget"),u=Symbol("kType"),d=Symbol("kWasClean");class h{constructor(e){this[l]=null,this[u]=e}get target(){return this[l]}get type(){return this[u]}}Object.defineProperty(h.prototype,"target",{enumerable:!0}),Object.defineProperty(h.prototype,"type",{enumerable:!0});class m extends h{constructor(e,t={}){super(e),this[o]=void 0===t.code?0:t.code,this[p]=void 0===t.reason?"":t.reason,this[d]=void 0!==t.wasClean&&t.wasClean}get code(){return this[o]}get reason(){return this[p]}get wasClean(){return this[d]}}Object.defineProperty(m.prototype,"code",{enumerable:!0}),Object.defineProperty(m.prototype,"reason",{enumerable:!0}),Object.defineProperty(m.prototype,"wasClean",{enumerable:!0});class f extends h{constructor(e,t={}){super(e),this[r]=void 0===t.error?null:t.error,this[c]=void 0===t.message?"":t.message}get error(){return this[r]}get message(){return this[c]}}Object.defineProperty(f.prototype,"error",{enumerable:!0}),Object.defineProperty(f.prototype,"message",{enumerable:!0});class v extends h{constructor(e,t={}){super(e),this[a]=void 0===t.data?null:t.data}get data(){return this[a]}}Object.defineProperty(v.prototype,"data",{enumerable:!0});const x={addEventListener(e,t,s={}){for(const o of this.listeners(e))if(!s[i]&&o[n]===t&&!o[i])return;let o;if("message"===e)o=function(e,s){const i=new v("message",{data:s?e:e.toString()});i[l]=this,g(t,this,i)};else if("close"===e)o=function(e,s){const i=new m("close",{code:e,reason:s.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});i[l]=this,g(t,this,i)};else if("error"===e)o=function(e){const s=new f("error",{error:e,message:e.message});s[l]=this,g(t,this,s)};else{if("open"!==e)return;o=function(){const e=new h("open");e[l]=this,g(t,this,e)}}o[i]=!!s[i],o[n]=t,s.once?this.once(e,o):this.on(e,o)},removeEventListener(e,t){for(const s of this.listeners(e))if(s[n]===t&&!s[i]){this.removeListener(e,s);break}}};function g(e,t,s){"object"==typeof e&&e.handleEvent?e.handleEvent.call(e,s):e.call(t,s)}e.exports={CloseEvent:m,ErrorEvent:f,Event:h,EventTarget:x,MessageEvent:v}},8477:(e,t,s)=>{"use strict";const{tokenChars:i}=s(956);function n(e,t,s){void 0===e[t]?e[t]=[s]:e[t].push(s)}e.exports={format:function(e){return Object.keys(e).map((t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map((e=>[t].concat(Object.keys(e).map((t=>{let s=e[t];return Array.isArray(s)||(s=[s]),s.map((e=>!0===e?t:`${t}=${e}`)).join("; ")}))).join("; "))).join(", ")})).join(", ")},parse:function(e){const t=Object.create(null);let s,o,a=Object.create(null),r=!1,c=!1,p=!1,l=-1,u=-1,d=-1,h=0;for(;h<e.length;h++)if(u=e.charCodeAt(h),void 0===s)if(-1===d&&1===i[u])-1===l&&(l=h);else if(0===h||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${h}`);{if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h);const i=e.slice(l,d);44===u?(n(t,i,a),a=Object.create(null)):s=i,l=d=-1}}else-1===d&&-1!==l&&(d=h);else if(void 0===o)if(-1===d&&1===i[u])-1===l&&(l=h);else if(32===u||9===u)-1===d&&-1!==l&&(d=h);else if(59===u||44===u){if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h),n(a,e.slice(l,d),!0),44===u&&(n(t,s,a),a=Object.create(null),s=void 0),l=d=-1}else{if(61!==u||-1===l||-1!==d)throw new SyntaxError(`Unexpected character at index ${h}`);o=e.slice(l,h),l=d=-1}else if(c){if(1!==i[u])throw new SyntaxError(`Unexpected character at index ${h}`);-1===l?l=h:r||(r=!0),c=!1}else if(p)if(1===i[u])-1===l&&(l=h);else if(34===u&&-1!==l)p=!1,d=h;else{if(92!==u)throw new SyntaxError(`Unexpected character at index ${h}`);c=!0}else if(34===u&&61===e.charCodeAt(h-1))p=!0;else if(-1===d&&1===i[u])-1===l&&(l=h);else if(-1===l||32!==u&&9!==u){if(59!==u&&44!==u)throw new SyntaxError(`Unexpected character at index ${h}`);{if(-1===l)throw new SyntaxError(`Unexpected character at index ${h}`);-1===d&&(d=h);let i=e.slice(l,d);r&&(i=i.replace(/\\/g,""),r=!1),n(a,o,i),44===u&&(n(t,s,a),a=Object.create(null),s=void 0),o=void 0,l=d=-1}}else-1===d&&(d=h);if(-1===l||p||32===u||9===u)throw new SyntaxError("Unexpected end of input");-1===d&&(d=h);const m=e.slice(l,d);return void 0===s?n(t,m,a):(void 0===o?n(a,m,!0):n(a,o,r?m.replace(/\\/g,""):m),n(t,s,a)),t}}},4053:e=>{"use strict";const t=Symbol("kDone"),s=Symbol("kRun");e.exports=class{constructor(e){this[t]=()=>{this.pending--,this[s]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[s]()}[s](){if(this.pending!==this.concurrency&&this.jobs.length){const e=this.jobs.shift();this.pending++,e(this[t])}}}},142:(e,t,s)=>{"use strict";const i=s(9796),n=s(7470),o=s(4053),{kStatusCode:a}=s(8500),r=Buffer.from([0,0,255,255]),c=Symbol("permessage-deflate"),p=Symbol("total-length"),l=Symbol("callback"),u=Symbol("buffers"),d=Symbol("error");let h;function m(e){this[u].push(e),this[p]+=e.length}function f(e){this[p]+=e.length,this[c]._maxPayload<1||this[p]<=this[c]._maxPayload?this[u].push(e):(this[d]=new RangeError("Max payload size exceeded"),this[d].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[d][a]=1009,this.removeListener("data",f),this.reset())}function v(e){this[c]._inflate=null,e[a]=1007,this[l](e)}e.exports=class{constructor(e,t,s){if(this._maxPayload=0|s,this._options=e||{},this._threshold=void 0!==this._options.threshold?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!h){const e=void 0!==this._options.concurrencyLimit?this._options.concurrencyLimit:10;h=new o(e)}}static get extensionName(){return"permessage-deflate"}offer(){const e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:null==this._options.clientMaxWindowBits&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){const e=this._deflate[l];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){const t=this._options,s=e.find((e=>!(!1===t.serverNoContextTakeover&&e.server_no_context_takeover||e.server_max_window_bits&&(!1===t.serverMaxWindowBits||"number"==typeof t.serverMaxWindowBits&&t.serverMaxWindowBits>e.server_max_window_bits)||"number"==typeof t.clientMaxWindowBits&&!e.client_max_window_bits)));if(!s)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(s.server_no_context_takeover=!0),t.clientNoContextTakeover&&(s.client_no_context_takeover=!0),"number"==typeof t.serverMaxWindowBits&&(s.server_max_window_bits=t.serverMaxWindowBits),"number"==typeof t.clientMaxWindowBits?s.client_max_window_bits=t.clientMaxWindowBits:!0!==s.client_max_window_bits&&!1!==t.clientMaxWindowBits||delete s.client_max_window_bits,s}acceptAsClient(e){const t=e[0];if(!1===this._options.clientNoContextTakeover&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(t.client_max_window_bits){if(!1===this._options.clientMaxWindowBits||"number"==typeof this._options.clientMaxWindowBits&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"')}else"number"==typeof this._options.clientMaxWindowBits&&(t.client_max_window_bits=this._options.clientMaxWindowBits);return t}normalizeParams(e){return e.forEach((e=>{Object.keys(e).forEach((t=>{let s=e[t];if(s.length>1)throw new Error(`Parameter "${t}" must have only a single value`);if(s=s[0],"client_max_window_bits"===t){if(!0!==s){const e=+s;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${t}": ${s}`)}else if("server_max_window_bits"===t){const e=+s;if(!Number.isInteger(e)||e<8||e>15)throw new TypeError(`Invalid value for parameter "${t}": ${s}`);s=e}else{if("client_no_context_takeover"!==t&&"server_no_context_takeover"!==t)throw new Error(`Unknown parameter "${t}"`);if(!0!==s)throw new TypeError(`Invalid value for parameter "${t}": ${s}`)}e[t]=s}))})),e}decompress(e,t,s){h.add((i=>{this._decompress(e,t,((e,t)=>{i(),s(e,t)}))}))}compress(e,t,s){h.add((i=>{this._compress(e,t,((e,t)=>{i(),s(e,t)}))}))}_decompress(e,t,s){const o=this._isServer?"client":"server";if(!this._inflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._inflate=i.createInflateRaw({...this._options.zlibInflateOptions,windowBits:t}),this._inflate[c]=this,this._inflate[p]=0,this._inflate[u]=[],this._inflate.on("error",v),this._inflate.on("data",f)}this._inflate[l]=s,this._inflate.write(e),t&&this._inflate.write(r),this._inflate.flush((()=>{const e=this._inflate[d];if(e)return this._inflate.close(),this._inflate=null,void s(e);const i=n.concat(this._inflate[u],this._inflate[p]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[p]=0,this._inflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._inflate.reset()),s(null,i)}))}_compress(e,t,s){const o=this._isServer?"server":"client";if(!this._deflate){const e=`${o}_max_window_bits`,t="number"!=typeof this.params[e]?i.Z_DEFAULT_WINDOWBITS:this.params[e];this._deflate=i.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:t}),this._deflate[p]=0,this._deflate[u]=[],this._deflate.on("data",m)}this._deflate[l]=s,this._deflate.write(e),this._deflate.flush(i.Z_SYNC_FLUSH,(()=>{if(!this._deflate)return;let e=n.concat(this._deflate[u],this._deflate[p]);t&&(e=e.slice(0,e.length-4)),this._deflate[l]=null,this._deflate[p]=0,this._deflate[u]=[],t&&this.params[`${o}_no_context_takeover`]&&this._deflate.reset(),s(null,e)}))}}},3512:(e,t,s)=>{"use strict";const{Writable:i}=s(2781),n=s(142),{BINARY_TYPES:o,EMPTY_BUFFER:a,kStatusCode:r,kWebSocket:c}=s(8500),{concat:p,toArrayBuffer:l,unmask:u}=s(7470),{isValidStatusCode:d,isValidUTF8:h}=s(956);function m(e,t,s,i,n){const o=new e(s?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(o,m),o.code=n,o[r]=i,o}e.exports=class extends i{constructor(e={}){super(),this._binaryType=e.binaryType||o[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=0|e.maxPayload,this._skipUTF8Validation=!!e.skipUTF8Validation,this[c]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=0,this._loop=!1}_write(e,t,s){if(8===this._opcode&&0==this._state)return s();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(s)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){const t=this._buffers[0];return this._buffers[0]=t.slice(e),t.slice(0,e)}const t=Buffer.allocUnsafe(e);do{const s=this._buffers[0],i=t.length-e;e>=s.length?t.set(this._buffers.shift(),i):(t.set(new Uint8Array(s.buffer,s.byteOffset,e),i),this._buffers[0]=s.slice(e)),e-=s.length}while(e>0);return t}startLoop(e){let t;this._loop=!0;do{switch(this._state){case 0:t=this.getInfo();break;case 1:t=this.getPayloadLength16();break;case 2:t=this.getPayloadLength64();break;case 3:this.getMask();break;case 4:t=this.getData(e);break;default:return void(this._loop=!1)}}while(this._loop);e(t)}getInfo(){if(this._bufferedBytes<2)return void(this._loop=!1);const e=this.consume(2);if(0!=(48&e[0]))return this._loop=!1,m(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");const t=64==(64&e[0]);if(t&&!this._extensions[n.extensionName])return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._fin=128==(128&e[0]),this._opcode=15&e[0],this._payloadLength=127&e[1],0===this._opcode){if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(!this._fragmented)return this._loop=!1,m(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");this._opcode=this._fragmented}else if(1===this._opcode||2===this._opcode){if(this._fragmented)return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");this._compressed=t}else{if(!(this._opcode>7&&this._opcode<11))return this._loop=!1,m(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");if(!this._fin)return this._loop=!1,m(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");if(t)return this._loop=!1,m(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");if(this._payloadLength>125)return this._loop=!1,m(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH")}if(this._fin||this._fragmented||(this._fragmented=this._opcode),this._masked=128==(128&e[1]),this._isServer){if(!this._masked)return this._loop=!1,m(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK")}else if(this._masked)return this._loop=!1,m(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");if(126===this._payloadLength)this._state=1;else{if(127!==this._payloadLength)return this.haveLength();this._state=2}}getPayloadLength16(){if(!(this._bufferedBytes<2))return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength();this._loop=!1}getPayloadLength64(){if(this._bufferedBytes<8)return void(this._loop=!1);const e=this.consume(8),t=e.readUInt32BE(0);return t>Math.pow(2,21)-1?(this._loop=!1,m(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH")):(this._payloadLength=t*Math.pow(2,32)+e.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");this._masked?this._state=3:this._state=4}getMask(){this._bufferedBytes<4?this._loop=!1:(this._mask=this.consume(4),this._state=4)}getData(e){let t=a;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength)return void(this._loop=!1);t=this.consume(this._payloadLength),this._masked&&0!=(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])&&u(t,this._mask)}return this._opcode>7?this.controlMessage(t):this._compressed?(this._state=5,void this.decompress(t,e)):(t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage())}decompress(e,t){this._extensions[n.extensionName].decompress(e,this._fin,((e,s)=>{if(e)return t(e);if(s.length){if(this._messageLength+=s.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return t(m(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH"));this._fragments.push(s)}const i=this.dataMessage();if(i)return t(i);this.startLoop(t)}))}dataMessage(){if(this._fin){const e=this._messageLength,t=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],2===this._opcode){let s;s="nodebuffer"===this._binaryType?p(t,e):"arraybuffer"===this._binaryType?l(p(t,e)):t,this.emit("message",s,!0)}else{const s=p(t,e);if(!this._skipUTF8Validation&&!h(s))return this._loop=!1,m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("message",s,!1)}}this._state=0}controlMessage(e){if(8===this._opcode)if(this._loop=!1,0===e.length)this.emit("conclude",1005,a),this.end();else{if(1===e.length)return m(RangeError,"invalid payload length 1",!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");{const t=e.readUInt16BE(0);if(!d(t))return m(RangeError,`invalid status code ${t}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");const s=e.slice(2);if(!this._skipUTF8Validation&&!h(s))return m(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");this.emit("conclude",t,s),this.end()}}else 9===this._opcode?this.emit("ping",e):this.emit("pong",e);this._state=0}}},3497:(e,t,s)=>{"use strict";s(1808),s(4404);const{randomFillSync:i}=s(6113),n=s(142),{EMPTY_BUFFER:o}=s(8500),{isValidStatusCode:a}=s(956),{mask:r,toBuffer:c}=s(7470),p=Symbol("kByteLength"),l=Buffer.alloc(4);class u{constructor(e,t,s){this._extensions=t||{},s&&(this._generateMask=s,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(e,t){let s,n,o=!1,a=2,c=!1;t.mask&&(s=t.maskBuffer||l,t.generateMask?t.generateMask(s):i(s,0,4),c=0==(s[0]|s[1]|s[2]|s[3]),a=6),"string"==typeof e?n=t.mask&&!c||void 0===t[p]?(e=Buffer.from(e)).length:t[p]:(n=e.length,o=t.mask&&t.readOnly&&!c);let u=n;n>=65536?(a+=8,u=127):n>125&&(a+=2,u=126);const d=Buffer.allocUnsafe(o?n+a:a);return d[0]=t.fin?128|t.opcode:t.opcode,t.rsv1&&(d[0]|=64),d[1]=u,126===u?d.writeUInt16BE(n,2):127===u&&(d[2]=d[3]=0,d.writeUIntBE(n,4,6)),t.mask?(d[1]|=128,d[a-4]=s[0],d[a-3]=s[1],d[a-2]=s[2],d[a-1]=s[3],c?[d,e]:o?(r(e,s,d,a,n),[d]):(r(e,s,e,0,n),[d,e])):[d,e]}close(e,t,s,i){let n;if(void 0===e)n=o;else{if("number"!=typeof e||!a(e))throw new TypeError("First argument must be a valid error code number");if(void 0!==t&&t.length){const s=Buffer.byteLength(t);if(s>123)throw new RangeError("The message must not be greater than 123 bytes");n=Buffer.allocUnsafe(2+s),n.writeUInt16BE(e,0),"string"==typeof t?n.write(t,2):n.set(t,2)}else n=Buffer.allocUnsafe(2),n.writeUInt16BE(e,0)}const r={[p]:n.length,fin:!0,generateMask:this._generateMask,mask:s,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._deflating?this.enqueue([this.dispatch,n,!1,r,i]):this.sendFrame(u.frame(n,r),i)}ping(e,t,s){let i,n;if("string"==typeof e?(i=Buffer.byteLength(e),n=!1):(i=(e=c(e)).length,n=c.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[p]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(u.frame(e,o),s)}pong(e,t,s){let i,n;if("string"==typeof e?(i=Buffer.byteLength(e),n=!1):(i=(e=c(e)).length,n=c.readOnly),i>125)throw new RangeError("The data size must not be greater than 125 bytes");const o={[p]:i,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:n,rsv1:!1};this._deflating?this.enqueue([this.dispatch,e,!1,o,s]):this.sendFrame(u.frame(e,o),s)}send(e,t,s){const i=this._extensions[n.extensionName];let o,a,r=t.binary?2:1,l=t.compress;if("string"==typeof e?(o=Buffer.byteLength(e),a=!1):(o=(e=c(e)).length,a=c.readOnly),this._firstFragment?(this._firstFragment=!1,l&&i&&i.params[i._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(l=o>=i._threshold),this._compress=l):(l=!1,r=0),t.fin&&(this._firstFragment=!0),i){const i={[p]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:r,readOnly:a,rsv1:l};this._deflating?this.enqueue([this.dispatch,e,this._compress,i,s]):this.dispatch(e,this._compress,i,s)}else this.sendFrame(u.frame(e,{[p]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:r,readOnly:a,rsv1:!1}),s)}dispatch(e,t,s,i){if(!t)return void this.sendFrame(u.frame(e,s),i);const o=this._extensions[n.extensionName];this._bufferedBytes+=s[p],this._deflating=!0,o.compress(e,s.fin,((e,t)=>{if(this._socket.destroyed){const e=new Error("The socket was closed while data was being compressed");"function"==typeof i&&i(e);for(let t=0;t<this._queue.length;t++){const s=this._queue[t],i=s[s.length-1];"function"==typeof i&&i(e)}}else this._bufferedBytes-=s[p],this._deflating=!1,s.readOnly=!1,this.sendFrame(u.frame(t,s),i),this.dequeue()}))}dequeue(){for(;!this._deflating&&this._queue.length;){const e=this._queue.shift();this._bufferedBytes-=e[3][p],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][p],this._queue.push(e)}sendFrame(e,t){2===e.length?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}}e.exports=u},7092:(e,t,s)=>{"use strict";const{Duplex:i}=s(2781);function n(e){e.emit("close")}function o(){!this.destroyed&&this._writableState.finished&&this.destroy()}function a(e){this.removeListener("error",a),this.destroy(),0===this.listenerCount("error")&&this.emit("error",e)}e.exports=function(e,t){let s=!0;const r=new i({...t,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return e.on("message",(function(t,s){const i=!s&&r._readableState.objectMode?t.toString():t;r.push(i)||e.pause()})),e.once("error",(function(e){r.destroyed||(s=!1,r.destroy(e))})),e.once("close",(function(){r.destroyed||r.push(null)})),r._destroy=function(t,i){if(e.readyState===e.CLOSED)return i(t),void process.nextTick(n,r);let o=!1;e.once("error",(function(e){o=!0,i(e)})),e.once("close",(function(){o||i(t),process.nextTick(n,r)})),s&&e.terminate()},r._final=function(t){e.readyState!==e.CONNECTING?null!==e._socket&&(e._socket._writableState.finished?(t(),r._readableState.endEmitted&&r.destroy()):(e._socket.once("finish",(function(){t()})),e.close())):e.once("open",(function(){r._final(t)}))},r._read=function(){e.isPaused&&e.resume()},r._write=function(t,s,i){e.readyState!==e.CONNECTING?e.send(t,i):e.once("open",(function(){r._write(t,s,i)}))},r.on("end",o),r.on("error",a),r}},5326:(e,t,s)=>{"use strict";const{tokenChars:i}=s(956);e.exports={parse:function(e){const t=new Set;let s=-1,n=-1,o=0;for(;o<e.length;o++){const a=e.charCodeAt(o);if(-1===n&&1===i[a])-1===s&&(s=o);else if(0===o||32!==a&&9!==a){if(44!==a)throw new SyntaxError(`Unexpected character at index ${o}`);{if(-1===s)throw new SyntaxError(`Unexpected character at index ${o}`);-1===n&&(n=o);const i=e.slice(s,n);if(t.has(i))throw new SyntaxError(`The "${i}" subprotocol is duplicated`);t.add(i),s=n=-1}}else-1===n&&-1!==s&&(n=o)}if(-1===s||-1!==n)throw new SyntaxError("Unexpected end of input");const a=e.slice(s,o);if(t.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return t.add(a),t}}},956:(e,t,s)=>{"use strict";function i(e){const t=e.length;let s=0;for(;s<t;)if(0==(128&e[s]))s++;else if(192==(224&e[s])){if(s+1===t||128!=(192&e[s+1])||192==(254&e[s]))return!1;s+=2}else if(224==(240&e[s])){if(s+2>=t||128!=(192&e[s+1])||128!=(192&e[s+2])||224===e[s]&&128==(224&e[s+1])||237===e[s]&&160==(224&e[s+1]))return!1;s+=3}else{if(240!=(248&e[s]))return!1;if(s+3>=t||128!=(192&e[s+1])||128!=(192&e[s+2])||128!=(192&e[s+3])||240===e[s]&&128==(240&e[s+1])||244===e[s]&&e[s+1]>143||e[s]>244)return!1;s+=4}return!0}if(e.exports={isValidStatusCode:function(e){return e>=1e3&&e<=1014&&1004!==e&&1005!==e&&1006!==e||e>=3e3&&e<=4999},isValidUTF8:i,tokenChars:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0]},!process.env.WS_NO_UTF_8_VALIDATE)try{const t=s(367);e.exports.isValidUTF8=function(e){return e.length<150?i(e):t(e)}}catch(e){}},8693:(e,t,s)=>{"use strict";const i=s(2361),n=s(3685),{createHash:o}=(s(5687),s(1808),s(4404),s(6113)),a=s(8477),r=s(142),c=s(5326),p=s(5861),{GUID:l,kWebSocket:u}=s(8500),d=/^[+/0-9A-Za-z]{22}==$/;function h(e){e._state=2,e.emit("close")}function m(){this.destroy()}function f(e,t,s,i){s=s||n.STATUS_CODES[t],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(s),...i},e.once("finish",e.destroy),e.end(`HTTP/1.1 ${t} ${n.STATUS_CODES[t]}\r\n`+Object.keys(i).map((e=>`${e}: ${i[e]}`)).join("\r\n")+"\r\n\r\n"+s)}function v(e,t,s,i,n){if(e.listenerCount("wsClientError")){const i=new Error(n);Error.captureStackTrace(i,v),e.emit("wsClientError",i,s,t)}else f(s,i,n)}e.exports=class extends i{constructor(e,t){if(super(),null==(e={maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:p,...e}).port&&!e.server&&!e.noServer||null!=e.port&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(null!=e.port?(this._server=n.createServer(((e,t)=>{const s=n.STATUS_CODES[426];t.writeHead(426,{"Content-Length":s.length,"Content-Type":"text/plain"}),t.end(s)})),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){const e=this.emit.bind(this,"connection");this._removeListeners=function(e,t){for(const s of Object.keys(t))e.on(s,t[s]);return function(){for(const s of Object.keys(t))e.removeListener(s,t[s])}}(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(t,s,i)=>{this.handleUpgrade(t,s,i,e)}})}!0===e.perMessageDeflate&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=0}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(2===this._state)return e&&this.once("close",(()=>{e(new Error("The server is not running"))})),void process.nextTick(h,this);if(e&&this.once("close",e),1!==this._state)if(this._state=1,this.options.noServer||this.options.server)this._server&&(this._removeListeners(),this._removeListeners=this._server=null),this.clients&&this.clients.size?this._shouldEmitClose=!0:process.nextTick(h,this);else{const e=this._server;this._removeListeners(),this._removeListeners=this._server=null,e.close((()=>{h(this)}))}}shouldHandle(e){if(this.options.path){const t=e.url.indexOf("?");if((-1!==t?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,s,i){t.on("error",m);const n=e.headers["sec-websocket-key"],o=+e.headers["sec-websocket-version"];if("GET"!==e.method){return void v(this,e,t,405,"Invalid HTTP method")}if("websocket"!==e.headers.upgrade.toLowerCase()){return void v(this,e,t,400,"Invalid Upgrade header")}if(!n||!d.test(n)){return void v(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header")}if(8!==o&&13!==o){return void v(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header")}if(!this.shouldHandle(e))return void f(t,400);const p=e.headers["sec-websocket-protocol"];let l=new Set;if(void 0!==p)try{l=c.parse(p)}catch(s){return void v(this,e,t,400,"Invalid Sec-WebSocket-Protocol header")}const u=e.headers["sec-websocket-extensions"],h={};if(this.options.perMessageDeflate&&void 0!==u){const s=new r(this.options.perMessageDeflate,!0,this.options.maxPayload);try{const e=a.parse(u);e[r.extensionName]&&(s.accept(e[r.extensionName]),h[r.extensionName]=s)}catch(s){return void v(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header")}}if(this.options.verifyClient){const a={origin:e.headers[""+(8===o?"sec-websocket-origin":"origin")],secure:!(!e.socket.authorized&&!e.socket.encrypted),req:e};if(2===this.options.verifyClient.length)return void this.options.verifyClient(a,((o,a,r,c)=>{if(!o)return f(t,a||401,r,c);this.completeUpgrade(h,n,l,e,t,s,i)}));if(!this.options.verifyClient(a))return f(t,401)}this.completeUpgrade(h,n,l,e,t,s,i)}completeUpgrade(e,t,s,i,n,c,p){if(!n.readable||!n.writable)return n.destroy();if(n[u])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return f(n,503);const d=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${o("sha1").update(t+l).digest("base64")}`],v=new this.options.WebSocket(null);if(s.size){const e=this.options.handleProtocols?this.options.handleProtocols(s,i):s.values().next().value;e&&(d.push(`Sec-WebSocket-Protocol: ${e}`),v._protocol=e)}if(e[r.extensionName]){const t=e[r.extensionName].params,s=a.format({[r.extensionName]:[t]});d.push(`Sec-WebSocket-Extensions: ${s}`),v._extensions=e}this.emit("headers",d,i),n.write(d.concat("\r\n").join("\r\n")),n.removeListener("error",m),v.setSocket(n,c,{maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(v),v.on("close",(()=>{this.clients.delete(v),this._shouldEmitClose&&!this.clients.size&&process.nextTick(h,this)}))),p(v,i)}}},5861:(e,t,s)=>{"use strict";const i=s(2361),n=s(5687),o=s(3685),a=s(1808),r=s(4404),{randomBytes:c,createHash:p}=s(6113),{Readable:l}=s(2781),{URL:u}=s(7310),d=s(142),h=s(3512),m=s(3497),{BINARY_TYPES:f,EMPTY_BUFFER:v,GUID:x,kForOnEventAttribute:g,kListener:b,kStatusCode:y,kWebSocket:w,NOOP:k}=s(8500),{EventTarget:{addEventListener:_,removeEventListener:S}}=s(9455),{format:E,parse:T}=s(8477),{toBuffer:C}=s(7470),O=Symbol("kAborted"),j=[8,13],P=["CONNECTING","OPEN","CLOSING","CLOSED"],R=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class A extends i{constructor(e,t,s){super(),this._binaryType=f[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=v,this._closeTimer=null,this._extensions={},this._paused=!1,this._protocol="",this._readyState=A.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,null!==e?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,void 0===t?t=[]:Array.isArray(t)||("object"==typeof t&&null!==t?(s=t,t=[]):t=[t]),q(this,e,t,s)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(e){f.includes(e)&&(this._binaryType=e,this._receiver&&(this._receiver._binaryType=e))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(e,t,s){const i=new h({binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:s.maxPayload,skipUTF8Validation:s.skipUTF8Validation});this._sender=new m(e,this._extensions,s.generateMask),this._receiver=i,this._socket=e,i[w]=this,e[w]=this,i.on("conclude",I),i.on("drain",U),i.on("error",F),i.on("message",$),i.on("ping",H),i.on("pong",W),e.setTimeout(0),e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",G),e.on("data",K),e.on("end",Y),e.on("error",J),this._readyState=A.OPEN,this.emit("open")}emitClose(){if(!this._socket)return this._readyState=A.CLOSED,void this.emit("close",this._closeCode,this._closeMessage);this._extensions[d.extensionName]&&this._extensions[d.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=A.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==A.CLOSED){if(this.readyState===A.CONNECTING){const e="WebSocket was closed before the connection was established";return L(this,this._req,e)}this.readyState!==A.CLOSING?(this._readyState=A.CLOSING,this._sender.close(e,t,!this._isServer,(e=>{e||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())})),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),3e4)):this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end()}}pause(){this.readyState!==A.CONNECTING&&this.readyState!==A.CLOSED&&(this._paused=!0,this._socket.pause())}ping(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===A.OPEN?(void 0===t&&(t=!this._isServer),this._sender.ping(e||v,t,s)):M(this,e,s)}pong(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");"function"==typeof e?(s=e,e=t=void 0):"function"==typeof t&&(s=t,t=void 0),"number"==typeof e&&(e=e.toString()),this.readyState===A.OPEN?(void 0===t&&(t=!this._isServer),this._sender.pong(e||v,t,s)):M(this,e,s)}resume(){this.readyState!==A.CONNECTING&&this.readyState!==A.CLOSED&&(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,s){if(this.readyState===A.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if("function"==typeof t&&(s=t,t={}),"number"==typeof e&&(e=e.toString()),this.readyState!==A.OPEN)return void M(this,e,s);const i={binary:"string"!=typeof e,mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[d.extensionName]||(i.compress=!1),this._sender.send(e||v,i,s)}terminate(){if(this.readyState!==A.CLOSED){if(this.readyState===A.CONNECTING){const e="WebSocket was closed before the connection was established";return L(this,this._req,e)}this._socket&&(this._readyState=A.CLOSING,this._socket.destroy())}}}function q(e,t,s,i){const a={protocolVersion:j[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,createConnection:void 0,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(!j.includes(a.protocolVersion))throw new RangeError(`Unsupported protocol version: ${a.protocolVersion} (supported versions: ${j.join(", ")})`);let r;if(t instanceof u)r=t,e._url=t.href;else{try{r=new u(t)}catch(e){throw new SyntaxError(`Invalid URL: ${t}`)}e._url=t}const l="wss:"===r.protocol,h="ws+unix:"===r.protocol;let m;if("ws:"===r.protocol||l||h?h&&!r.pathname?m="The URL's pathname is empty":r.hash&&(m="The URL contains a fragment identifier"):m='The URL\'s protocol must be one of "ws:", "wss:", or "ws+unix:"',m){const t=new SyntaxError(m);if(0===e._redirects)throw t;return void N(e,t)}const f=l?443:80,v=c(16).toString("base64"),g=l?n.request:o.request,b=new Set;let y,w;if(a.createConnection=l?D:B,a.defaultPort=a.defaultPort||f,a.port=r.port||f,a.host=r.hostname.startsWith("[")?r.hostname.slice(1,-1):r.hostname,a.headers={...a.headers,"Sec-WebSocket-Version":a.protocolVersion,"Sec-WebSocket-Key":v,Connection:"Upgrade",Upgrade:"websocket"},a.path=r.pathname+r.search,a.timeout=a.handshakeTimeout,a.perMessageDeflate&&(y=new d(!0!==a.perMessageDeflate?a.perMessageDeflate:{},!1,a.maxPayload),a.headers["Sec-WebSocket-Extensions"]=E({[d.extensionName]:y.offer()})),s.length){for(const e of s){if("string"!=typeof e||!R.test(e)||b.has(e))throw new SyntaxError("An invalid or duplicated subprotocol was specified");b.add(e)}a.headers["Sec-WebSocket-Protocol"]=s.join(",")}if(a.origin&&(a.protocolVersion<13?a.headers["Sec-WebSocket-Origin"]=a.origin:a.headers.Origin=a.origin),(r.username||r.password)&&(a.auth=`${r.username}:${r.password}`),h){const e=a.path.split(":");a.socketPath=e[0],a.path=e[1]}if(a.followRedirects){if(0===e._redirects){e._originalIpc=h,e._originalSecure=l,e._originalHostOrSocketPath=h?a.socketPath:r.host;const t=i&&i.headers;if(i={...i,headers:{}},t)for(const[e,s]of Object.entries(t))i.headers[e.toLowerCase()]=s}else if(0===e.listenerCount("redirect")){const t=h?!!e._originalIpc&&a.socketPath===e._originalHostOrSocketPath:!e._originalIpc&&r.host===e._originalHostOrSocketPath;(!t||e._originalSecure&&!l)&&(delete a.headers.authorization,delete a.headers.cookie,t||delete a.headers.host,a.auth=void 0)}a.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(a.auth).toString("base64")),w=e._req=g(a),e._redirects&&e.emit("redirect",e.url,w)}else w=e._req=g(a);a.timeout&&w.on("timeout",(()=>{L(e,w,"Opening handshake has timed out")})),w.on("error",(t=>{null===w||w[O]||(w=e._req=null,N(e,t))})),w.on("response",(n=>{const o=n.headers.location,r=n.statusCode;if(o&&a.followRedirects&&r>=300&&r<400){if(++e._redirects>a.maxRedirects)return void L(e,w,"Maximum redirects exceeded");let n;w.abort();try{n=new u(o,t)}catch(t){const s=new SyntaxError(`Invalid URL: ${o}`);return void N(e,s)}q(e,n,s,i)}else e.emit("unexpected-response",w,n)||L(e,w,`Unexpected server response: ${n.statusCode}`)})),w.on("upgrade",((t,s,i)=>{if(e.emit("upgrade",t),e.readyState!==A.CONNECTING)return;if(w=e._req=null,"websocket"!==t.headers.upgrade.toLowerCase())return void L(e,s,"Invalid Upgrade header");const n=p("sha1").update(v+x).digest("base64");if(t.headers["sec-websocket-accept"]!==n)return void L(e,s,"Invalid Sec-WebSocket-Accept header");const o=t.headers["sec-websocket-protocol"];let r;if(void 0!==o?b.size?b.has(o)||(r="Server sent an invalid subprotocol"):r="Server sent a subprotocol but none was requested":b.size&&(r="Server sent no subprotocol"),r)return void L(e,s,r);o&&(e._protocol=o);const c=t.headers["sec-websocket-extensions"];if(void 0!==c){if(!y){return void L(e,s,"Server sent a Sec-WebSocket-Extensions header but no extension was requested")}let t;try{t=T(c)}catch(t){return void L(e,s,"Invalid Sec-WebSocket-Extensions header")}const i=Object.keys(t);if(1!==i.length||i[0]!==d.extensionName){return void L(e,s,"Server indicated an extension that was not requested")}try{y.accept(t[d.extensionName])}catch(t){return void L(e,s,"Invalid Sec-WebSocket-Extensions header")}e._extensions[d.extensionName]=y}e.setSocket(s,i,{generateMask:a.generateMask,maxPayload:a.maxPayload,skipUTF8Validation:a.skipUTF8Validation})})),w.end()}function N(e,t){e._readyState=A.CLOSING,e.emit("error",t),e.emitClose()}function B(e){return e.path=e.socketPath,a.connect(e)}function D(e){return e.path=void 0,e.servername||""===e.servername||(e.servername=a.isIP(e.host)?"":e.host),r.connect(e)}function L(e,t,s){e._readyState=A.CLOSING;const i=new Error(s);Error.captureStackTrace(i,L),t.setHeader?(t[O]=!0,t.abort(),t.socket&&!t.socket.destroyed&&t.socket.destroy(),process.nextTick(N,e,i)):(t.destroy(i),t.once("error",e.emit.bind(e,"error")),t.once("close",e.emitClose.bind(e)))}function M(e,t,s){if(t){const s=C(t).length;e._socket?e._sender._bufferedBytes+=s:e._bufferedAmount+=s}if(s){s(new Error(`WebSocket is not open: readyState ${e.readyState} (${P[e.readyState]})`))}}function I(e,t){const s=this[w];s._closeFrameReceived=!0,s._closeMessage=t,s._closeCode=e,void 0!==s._socket[w]&&(s._socket.removeListener("data",K),process.nextTick(V,s._socket),1005===e?s.close():s.close(e,t))}function U(){const e=this[w];e.isPaused||e._socket.resume()}function F(e){const t=this[w];void 0!==t._socket[w]&&(t._socket.removeListener("data",K),process.nextTick(V,t._socket),t.close(e[y])),t.emit("error",e)}function z(){this[w].emitClose()}function $(e,t){this[w].emit("message",e,t)}function H(e){const t=this[w];t.pong(e,!t._isServer,k),t.emit("ping",e)}function W(e){this[w].emit("pong",e)}function V(e){e.resume()}function G(){const e=this[w];let t;this.removeListener("close",G),this.removeListener("data",K),this.removeListener("end",Y),e._readyState=A.CLOSING,this._readableState.endEmitted||e._closeFrameReceived||e._receiver._writableState.errorEmitted||null===(t=e._socket.read())||e._receiver.write(t),e._receiver.end(),this[w]=void 0,clearTimeout(e._closeTimer),e._receiver._writableState.finished||e._receiver._writableState.errorEmitted?e.emitClose():(e._receiver.on("error",z),e._receiver.on("finish",z))}function K(e){this[w]._receiver.write(e)||this.pause()}function Y(){const e=this[w];e._readyState=A.CLOSING,e._receiver.end(),this.end()}function J(){const e=this[w];this.removeListener("error",J),this.on("error",k),e&&(e._readyState=A.CLOSING,this.destroy())}Object.defineProperty(A,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(A.prototype,"CONNECTING",{enumerable:!0,value:P.indexOf("CONNECTING")}),Object.defineProperty(A,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(A.prototype,"OPEN",{enumerable:!0,value:P.indexOf("OPEN")}),Object.defineProperty(A,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(A.prototype,"CLOSING",{enumerable:!0,value:P.indexOf("CLOSING")}),Object.defineProperty(A,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),Object.defineProperty(A.prototype,"CLOSED",{enumerable:!0,value:P.indexOf("CLOSED")}),["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((e=>{Object.defineProperty(A.prototype,e,{enumerable:!0})})),["open","error","close","message"].forEach((e=>{Object.defineProperty(A.prototype,`on${e}`,{enumerable:!0,get(){for(const t of this.listeners(e))if(t[g])return t[b];return null},set(t){for(const t of this.listeners(e))if(t[g]){this.removeListener(e,t);break}"function"==typeof t&&this.addEventListener(e,t,{[g]:!0})}})})),A.prototype.addEventListener=_,A.prototype.removeEventListener=S,e.exports=A},2353:(e,t,s)=>{var i=s(7147),n=s(7310),o=s(2081).spawn;function a(e){"use strict";e=e||{};var t,a,r=this,c=s(3685),p=s(5687),l={},u=!1,d={"User-Agent":"node-XMLHttpRequest",Accept:"*/*"},h=Object.assign({},d),m=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","content-transfer-encoding","cookie","cookie2","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","via"],f=["TRACE","TRACK","CONNECT"],v=!1,x=!1,g=!1,b={};this.UNSENT=0,this.OPENED=1,this.HEADERS_RECEIVED=2,this.LOADING=3,this.DONE=4,this.readyState=this.UNSENT,this.onreadystatechange=null,this.responseText="",this.responseXML="",this.status=null,this.statusText=null;this.open=function(e,t,s,i,n){if(this.abort(),x=!1,g=!1,!function(e){return e&&-1===f.indexOf(e)}(e))throw new Error("SecurityError: Request method not allowed");l={method:e,url:t.toString(),async:"boolean"!=typeof s||s,user:i||null,password:n||null},y(this.OPENED)},this.setDisableHeaderCheck=function(e){u=e},this.setRequestHeader=function(e,t){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: setRequestHeader can only be called when state is OPEN");if(!function(e){return u||e&&-1===m.indexOf(e.toLowerCase())}(e))return console.warn('Refused to set unsafe header "'+e+'"'),!1;if(v)throw new Error("INVALID_STATE_ERR: send flag is true");return h[e]=t,!0},this.getResponseHeader=function(e){return"string"==typeof e&&this.readyState>this.OPENED&&a.headers[e.toLowerCase()]&&!x?a.headers[e.toLowerCase()]:null},this.getAllResponseHeaders=function(){if(this.readyState<this.HEADERS_RECEIVED||x)return"";var e="";for(var t in a.headers)"set-cookie"!==t&&"set-cookie2"!==t&&(e+=t+": "+a.headers[t]+"\r\n");return e.substr(0,e.length-2)},this.getRequestHeader=function(e){return"string"==typeof e&&h[e]?h[e]:""},this.send=function(s){if(this.readyState!=this.OPENED)throw new Error("INVALID_STATE_ERR: connection must be opened before send() is called");if(v)throw new Error("INVALID_STATE_ERR: send has already been called");var u,d=!1,m=!1,f=n.parse(l.url);switch(f.protocol){case"https:":d=!0;case"http:":u=f.hostname;break;case"file:":m=!0;break;case void 0:case"":u="localhost";break;default:throw new Error("Protocol not supported.")}if(m){if("GET"!==l.method)throw new Error("XMLHttpRequest: Only GET method is supported");if(l.async)i.readFile(unescape(f.pathname),"utf8",(function(e,t){e?r.handleError(e,e.errno||-1):(r.status=200,r.responseText=t,y(r.DONE))}));else try{this.responseText=i.readFileSync(unescape(f.pathname),"utf8"),this.status=200,y(r.DONE)}catch(e){this.handleError(e,e.errno||-1)}}else{var g=f.port||(d?443:80),b=f.pathname+(f.search?f.search:"");if(h.Host=u,d&&443===g||80===g||(h.Host+=":"+f.port),l.user){void 0===l.password&&(l.password="");var w=new Buffer(l.user+":"+l.password);h.Authorization="Basic "+w.toString("base64")}"GET"===l.method||"HEAD"===l.method?s=null:s?(h["Content-Length"]=Buffer.isBuffer(s)?s.length:Buffer.byteLength(s),h["Content-Type"]||(h["Content-Type"]="text/plain;charset=UTF-8")):"POST"===l.method&&(h["Content-Length"]=0);var k=e.agent||!1,_={host:u,port:g,path:b,method:l.method,headers:h,agent:k};if(d&&(_.pfx=e.pfx,_.key=e.key,_.passphrase=e.passphrase,_.cert=e.cert,_.ca=e.ca,_.ciphers=e.ciphers,_.rejectUnauthorized=!1!==e.rejectUnauthorized),x=!1,l.async){var S=d?p.request:c.request;v=!0,r.dispatchEvent("readystatechange");var E=function(s){if(302===(a=s).statusCode||303===a.statusCode||307===a.statusCode){l.url=a.headers.location;var i=n.parse(l.url);u=i.hostname;var o={hostname:i.hostname,port:i.port,path:i.path,method:303===a.statusCode?"GET":l.method,headers:h};return d&&(o.pfx=e.pfx,o.key=e.key,o.passphrase=e.passphrase,o.cert=e.cert,o.ca=e.ca,o.ciphers=e.ciphers,o.rejectUnauthorized=!1!==e.rejectUnauthorized),void(t=S(o,E).on("error",T)).end()}a&&a.setEncoding&&a.setEncoding("utf8"),y(r.HEADERS_RECEIVED),r.status=a.statusCode,a.on("data",(function(e){e&&(r.responseText+=e),v&&y(r.LOADING)})),a.on("end",(function(){v&&(v=!1,y(r.DONE))})),a.on("error",(function(e){r.handleError(e)}))},T=function(e){r.handleError(e)};t=S(_,E).on("error",T),e.autoUnref&&t.on("socket",(e=>{e.unref()})),s&&t.write(s),t.end(),r.dispatchEvent("loadstart")}else{var C=".node-xmlhttprequest-content-"+process.pid,O=".node-xmlhttprequest-sync-"+process.pid;i.writeFileSync(O,"","utf8");for(var j="var http = require('http'), https = require('https'), fs = require('fs');var doRequest = http"+(d?"s":"")+".request;var options = "+JSON.stringify(_)+";var responseText = '';var req = doRequest(options, function(response) {response.setEncoding('utf8');response.on('data', function(chunk) { responseText += chunk;});response.on('end', function() {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-STATUS:' + response.statusCode + ',' + responseText, 'utf8');fs.unlinkSync('"+O+"');});response.on('error', function(error) {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+O+"');});}).on('error', function(error) {fs.writeFileSync('"+C+"', 'NODE-XMLHTTPREQUEST-ERROR:' + JSON.stringify(error), 'utf8');fs.unlinkSync('"+O+"');});"+(s?"req.write('"+JSON.stringify(s).slice(1,-1).replace(/'/g,"\\'")+"');":"")+"req.end();",P=o(process.argv[0],["-e",j]);i.existsSync(O););if(r.responseText=i.readFileSync(C,"utf8"),P.stdin.end(),i.unlinkSync(C),r.responseText.match(/^NODE-XMLHTTPREQUEST-ERROR:/)){var R=r.responseText.replace(/^NODE-XMLHTTPREQUEST-ERROR:/,"");r.handleError(R,503)}else r.status=r.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:([0-9]*),.*/,"$1"),r.responseText=r.responseText.replace(/^NODE-XMLHTTPREQUEST-STATUS:[0-9]*,(.*)/,"$1"),y(r.DONE)}}},this.handleError=function(e,t){this.status=t||0,this.statusText=e,this.responseText=e.stack,x=!0,y(this.DONE)},this.abort=function(){t&&(t.abort(),t=null),h=Object.assign({},d),this.responseText="",this.responseXML="",x=g=!0,this.readyState===this.UNSENT||this.readyState===this.OPENED&&!v||this.readyState===this.DONE||(v=!1,y(this.DONE)),this.readyState=this.UNSENT},this.addEventListener=function(e,t){e in b||(b[e]=[]),b[e].push(t)},this.removeEventListener=function(e,t){e in b&&(b[e]=b[e].filter((function(e){return e!==t})))},this.dispatchEvent=function(e){if("function"==typeof r["on"+e]&&(this.readyState===this.DONE?setImmediate((function(){r["on"+e]()})):r["on"+e]()),e in b)for(let t=0,s=b[e].length;t<s;t++)this.readyState===this.DONE?setImmediate((function(){b[e][t].call(r)})):b[e][t].call(r)};var y=function(e){if(!(r.readyState===e||r.readyState===r.UNSENT&&g)&&(r.readyState=e,(l.async||r.readyState<r.OPENED||r.readyState===r.DONE)&&r.dispatchEvent("readystatechange"),r.readyState===r.DONE)){let e;e=g?"abort":x?"error":"load",r.dispatchEvent(e),r.dispatchEvent("loadend")}}}e.exports=a,a.XMLHttpRequest=a},2081:e=>{"use strict";e.exports=require("child_process")},6113:e=>{"use strict";e.exports=require("crypto")},2361:e=>{"use strict";e.exports=require("events")},7147:e=>{"use strict";e.exports=require("fs")},3685:e=>{"use strict";e.exports=require("http")},5687:e=>{"use strict";e.exports=require("https")},1808:e=>{"use strict";e.exports=require("net")},2037:e=>{"use strict";e.exports=require("os")},1017:e=>{"use strict";e.exports=require("path")},3477:e=>{"use strict";e.exports=require("querystring")},2781:e=>{"use strict";e.exports=require("stream")},9512:e=>{"use strict";e.exports=require("timers")},4404:e=>{"use strict";e.exports=require("tls")},6224:e=>{"use strict";e.exports=require("tty")},7310:e=>{"use strict";e.exports=require("url")},3837:e=>{"use strict";e.exports=require("util")},9796:e=>{"use strict";e.exports=require("zlib")},797:t=>{"use strict";if(void 0===e){var s=new Error("Cannot find module 'bufferutil'");throw s.code="MODULE_NOT_FOUND",s}t.exports=e},367:e=>{"use strict";if(void 0===t){var s=new Error("Cannot find module 'utf-8-validate'");throw s.code="MODULE_NOT_FOUND",s}e.exports=t},778:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decode=t.encode=void 0,t.encode=function(e){let t="";for(let s in e)e.hasOwnProperty(s)&&(t.length&&(t+="&"),t+=encodeURIComponent(s)+"="+encodeURIComponent(e[s]));return t},t.decode=function(e){let t={},s=e.split("&");for(let e=0,i=s.length;e<i;e++){let i=s[e].split("=");t[decodeURIComponent(i[0])]=decodeURIComponent(i[1])}return t}},4030:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;const s=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,i=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];t.parse=function(e){if(e.length>2e3)throw"URI too long";const t=e,n=e.indexOf("["),o=e.indexOf("]");-1!=n&&-1!=o&&(e=e.substring(0,n)+e.substring(n,o).replace(/:/g,";")+e.substring(o,e.length));let a=s.exec(e||""),r={},c=14;for(;c--;)r[i[c]]=a[c]||"";return-1!=n&&-1!=o&&(r.source=t,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=function(e,t){const s=/\/{2,9}/g,i=t.replace(s,"/").split("/");"/"!=t.slice(0,1)&&0!==t.length||i.splice(0,1);"/"==t.slice(-1)&&i.splice(i.length-1,1);return i}(0,r.path),r.queryKey=function(e,t){const s={};return t.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,(function(e,t,i){t&&(s[t]=i)})),s}(0,r.query),r}},393:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.yeast=t.decode=t.encode=void 0;const s="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),i=64,n={};let o,a=0,r=0;function c(e){let t="";do{t=s[e%i]+t,e=Math.floor(e/i)}while(e>0);return t}for(t.encode=c,t.decode=function(e){let t=0;for(r=0;r<e.length;r++)t=t*i+n[e.charAt(r)];return t},t.yeast=function(){const e=c(+new Date);return e!==o?(a=0,o=e):e+"."+c(a++)};r<i;r++)n[s[r]]=r},6361:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.globalThisShim=void 0,t.globalThisShim=global},8493:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.parse=t.installTimerFunctions=t.transports=t.TransportError=t.Transport=t.protocol=t.Socket=void 0;const i=s(5804);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return i.Socket}}),t.protocol=i.Socket.protocol;var n=s(9052);Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return n.Transport}}),Object.defineProperty(t,"TransportError",{enumerable:!0,get:function(){return n.TransportError}});var o=s(84);Object.defineProperty(t,"transports",{enumerable:!0,get:function(){return o.transports}});var a=s(767);Object.defineProperty(t,"installTimerFunctions",{enumerable:!0,get:function(){return a.installTimerFunctions}});var r=s(4030);Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return r.parse}});var c=s(3565);Object.defineProperty(t,"nextTick",{enumerable:!0,get:function(){return c.nextTick}})},5804:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const n=s(84),o=s(767),a=s(778),r=s(4030),c=i(s(818)),p=s(9818),l=s(1836),u=s(3565),d=(0,c.default)("engine.io-client:socket");class h extends p.Emitter{constructor(e,t={}){super(),this.binaryType=u.defaultBinaryType,this.writeBuffer=[],e&&"object"==typeof e&&(t=e,e=null),e?(e=(0,r.parse)(e),t.hostname=e.host,t.secure="https"===e.protocol||"wss"===e.protocol,t.port=e.port,e.query&&(t.query=e.query)):t.host&&(t.hostname=(0,r.parse)(t.host).host),(0,o.installTimerFunctions)(this,t),this.secure=null!=t.secure?t.secure:"undefined"!=typeof location&&"https:"===location.protocol,t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||("undefined"!=typeof location?location.hostname:"localhost"),this.port=t.port||("undefined"!=typeof location&&location.port?location.port:this.secure?"443":"80"),this.transports=t.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),"string"==typeof this.opts.query&&(this.opts.query=(0,a.decode)(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,"function"==typeof addEventListener&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),"localhost"!==this.hostname&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(e){d('creating transport "%s"',e);const t=Object.assign({},this.opts.query);t.EIO=l.protocol,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return d("options: %j",s),new n.transports[e](s)}open(){let e;if(this.opts.rememberUpgrade&&h.priorWebsocketSuccess&&-1!==this.transports.indexOf("websocket"))e="websocket";else{if(0===this.transports.length)return void this.setTimeoutFn((()=>{this.emitReserved("error","No transports available")}),0);e=this.transports[0]}this.readyState="opening";try{e=this.createTransport(e)}catch(e){return d("error while creating transport: %s",e),this.transports.shift(),void this.open()}e.open(),this.setTransport(e)}setTransport(e){d("setting transport %s",e.name),this.transport&&(d("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=e,e.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",(e=>this.onClose("transport close",e)))}probe(e){d('probing transport "%s"',e);let t=this.createTransport(e),s=!1;h.priorWebsocketSuccess=!1;const i=()=>{s||(d('probe transport "%s" opened',e),t.send([{type:"ping",data:"probe"}]),t.once("packet",(i=>{if(!s)if("pong"===i.type&&"probe"===i.data){if(d('probe transport "%s" pong',e),this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;h.priorWebsocketSuccess="websocket"===t.name,d('pausing current transport "%s"',this.transport.name),this.transport.pause((()=>{s||"closed"!==this.readyState&&(d("changing transport and sending upgrade packet"),p(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())}))}else{d('probe transport "%s" failed',e);const s=new Error("probe error");s.transport=t.name,this.emitReserved("upgradeError",s)}})))};function n(){s||(s=!0,p(),t.close(),t=null)}const o=s=>{const i=new Error("probe error: "+s);i.transport=t.name,n(),d('probe transport "%s" failed because of error: %s',e,s),this.emitReserved("upgradeError",i)};function a(){o("transport closed")}function r(){o("socket closed")}function c(e){t&&e.name!==t.name&&(d('"%s" works - aborting "%s"',e.name,t.name),n())}const p=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",a),this.off("close",r),this.off("upgrading",c)};t.once("open",i),t.once("error",o),t.once("close",a),this.once("close",r),this.once("upgrading",c),-1!==this.upgrades.indexOf("webtransport")&&"webtransport"!==e?this.setTimeoutFn((()=>{s||t.open()}),200):t.open()}onOpen(){if(d("socket open"),this.readyState="open",h.priorWebsocketSuccess="websocket"===this.transport.name,this.emitReserved("open"),this.flush(),"open"===this.readyState&&this.opts.upgrade){d("starting upgrade probes");let e=0;const t=this.upgrades.length;for(;e<t;e++)this.probe(this.upgrades[e])}}onPacket(e){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(d('socket receive: type "%s", data "%s"',e.type,e.data),this.emitReserved("packet",e),this.emitReserved("heartbeat"),this.resetPingTimeout(),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const t=new Error("server error");t.code=e.data,this.onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data)}else d('packet received with socket readyState "%s"',this.readyState)}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this.upgrades=this.filterUpgrades(e.upgrades),this.pingInterval=e.pingInterval,this.pingTimeout=e.pingTimeout,this.maxPayload=e.maxPayload,this.onOpen(),"closed"!==this.readyState&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn((()=>{this.onClose("ping timeout")}),this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emitReserved("drain"):this.flush()}flush(){if("closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this.getWritablePackets();d("flushing %d packets in socket",e.length),this.transport.send(e),this.prevBufferLen=e.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&"polling"===this.transport.name&&this.writeBuffer.length>1))return this.writeBuffer;let e=1;for(let t=0;t<this.writeBuffer.length;t++){const s=this.writeBuffer[t].data;if(s&&(e+=(0,o.byteLength)(s)),t>0&&e>this.maxPayload)return d("only send %d out of %d packets",t,this.writeBuffer.length),this.writeBuffer.slice(0,t);e+=2}return d("payload size is %d (max: %d)",e,this.maxPayload),this.writeBuffer}write(e,t,s){return this.sendPacket("message",e,t,s),this}send(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s,i){if("function"==typeof t&&(i=t,t=void 0),"function"==typeof s&&(i=s,s=null),"closing"===this.readyState||"closed"===this.readyState)return;(s=s||{}).compress=!1!==s.compress;const n={type:e,data:t,options:s};this.emitReserved("packetCreate",n),this.writeBuffer.push(n),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this.onClose("forced close"),d("socket closing - telling transport to close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return"opening"!==this.readyState&&"open"!==this.readyState||(this.readyState="closing",this.writeBuffer.length?this.once("drain",(()=>{this.upgrading?s():e()})):this.upgrading?s():e()),this}onError(e){d("socket error %j",e),h.priorWebsocketSuccess=!1,this.emitReserved("error",e),this.onClose("transport error",e)}onClose(e,t){"opening"!==this.readyState&&"open"!==this.readyState&&"closing"!==this.readyState||(d('socket close with reason: "%s"',e),this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),"function"==typeof removeEventListener&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(e){const t=[];let s=0;const i=e.length;for(;s<i;s++)~this.transports.indexOf(e[s])&&t.push(e[s]);return t}}t.Socket=h,h.protocol=l.protocol},9052:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=t.TransportError=void 0;const n=s(1836),o=s(9818),a=s(767),r=i(s(818)),c=s(778),p=(0,r.default)("engine.io-client:transport");class l extends Error{constructor(e,t,s){super(e),this.description=t,this.context=s,this.type="TransportError"}}t.TransportError=l;class u extends o.Emitter{constructor(e){super(),this.writable=!1,(0,a.installTimerFunctions)(this,e),this.opts=e,this.query=e.query,this.socket=e.socket}onError(e,t,s){return super.emitReserved("error",new l(e,t,s)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this}send(e){"open"===this.readyState?this.write(e):p("transport is not open, discarding packets")}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(e){const t=(0,n.decodePacket)(e,this.socket.binaryType);this.onPacket(t)}onPacket(e){super.emitReserved("packet",e)}onClose(e){this.readyState="closed",super.emitReserved("close",e)}pause(e){}createUri(e,t={}){return e+"://"+this._hostname()+this._port()+this.opts.path+this._query(t)}_hostname(){const e=this.opts.hostname;return-1===e.indexOf(":")?e:"["+e+"]"}_port(){return this.opts.port&&(this.opts.secure&&Number(443!==this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?":"+this.opts.port:""}_query(e){const t=(0,c.encode)(e);return t.length?"?"+t:""}}t.Transport=u},84:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transports=void 0;const i=s(3150),n=s(1857),o=s(8929);t.transports={websocket:n.WS,webtransport:o.WT,polling:i.Polling}},3150:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Request=t.Polling=void 0;const n=s(9052),o=i(s(818)),a=s(393),r=s(1836),c=s(8891),p=s(9818),l=s(767),u=s(6361),d=(0,o.default)("engine.io-client:polling");function h(){}const m=null!=new c.XHR({xdomain:!1}).responseType;class f extends n.Transport{constructor(e){if(super(e),this.polling=!1,"undefined"!=typeof location){const t="https:"===location.protocol;let s=location.port;s||(s=t?"443":"80"),this.xd="undefined"!=typeof location&&e.hostname!==location.hostname||s!==e.port}const t=e&&e.forceBase64;this.supportsBinary=m&&!t,this.opts.withCredentials&&(this.cookieJar=(0,c.createCookieJar)())}get name(){return"polling"}doOpen(){this.poll()}pause(e){this.readyState="pausing";const t=()=>{d("paused"),this.readyState="paused",e()};if(this.polling||!this.writable){let e=0;this.polling&&(d("we are currently polling - waiting to pause"),e++,this.once("pollComplete",(function(){d("pre-pause polling complete"),--e||t()}))),this.writable||(d("we are currently writing - waiting to pause"),e++,this.once("drain",(function(){d("pre-pause writing complete"),--e||t()})))}else t()}poll(){d("polling"),this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){d("polling got data %s",e);(0,r.decodePayload)(e,this.socket.binaryType).forEach((e=>{if("opening"===this.readyState&&"open"===e.type&&this.onOpen(),"close"===e.type)return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(e)})),"closed"!==this.readyState&&(this.polling=!1,this.emitReserved("pollComplete"),"open"===this.readyState?this.poll():d('ignoring poll - transport state "%s"',this.readyState))}doClose(){const e=()=>{d("writing close packet"),this.write([{type:"close"}])};"open"===this.readyState?(d("transport open - closing"),e()):(d("transport not open - deferring close"),this.once("open",e))}write(e){this.writable=!1,(0,r.encodePayload)(e,(e=>{this.doWrite(e,(()=>{this.writable=!0,this.emitReserved("drain")}))}))}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return!1!==this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,a.yeast)()),this.supportsBinary||t.sid||(t.b64=1),this.createUri(e,t)}request(e={}){return Object.assign(e,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new v(this.uri(),e)}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",((e,t)=>{this.onError("xhr post error",e,t)}))}doPoll(){d("xhr poll");const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",((e,t)=>{this.onError("xhr poll error",e,t)})),this.pollXhr=e}}t.Polling=f;class v extends p.Emitter{constructor(e,t){super(),(0,l.installTimerFunctions)(this,t),this.opts=t,this.method=t.method||"GET",this.uri=e,this.data=void 0!==t.data?t.data:null,this.create()}create(){var e;const t=(0,l.pick)(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this.opts.xd;const s=this.xhr=new c.XHR(t);try{d("xhr open %s: %s",this.method,this.uri),s.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let e in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(e)&&s.setRequestHeader(e,this.opts.extraHeaders[e])}}catch(e){}if("POST"===this.method)try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{s.setRequestHeader("Accept","*/*")}catch(e){}null===(e=this.opts.cookieJar)||void 0===e||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(s.timeout=this.opts.requestTimeout),s.onreadystatechange=()=>{var e;3===s.readyState&&(null===(e=this.opts.cookieJar)||void 0===e||e.parseCookies(s)),4===s.readyState&&(200===s.status||1223===s.status?this.onLoad():this.setTimeoutFn((()=>{this.onError("number"==typeof s.status?s.status:0)}),0))},d("xhr data %s",this.data),s.send(this.data)}catch(e){return void this.setTimeoutFn((()=>{this.onError(e)}),0)}"undefined"!=typeof document&&(this.index=v.requestsCount++,v.requests[this.index]=this)}onError(e){this.emitReserved("error",e,this.xhr),this.cleanup(!0)}cleanup(e){if(void 0!==this.xhr&&null!==this.xhr){if(this.xhr.onreadystatechange=h,e)try{this.xhr.abort()}catch(e){}"undefined"!=typeof document&&delete v.requests[this.index],this.xhr=null}}onLoad(){const e=this.xhr.responseText;null!==e&&(this.emitReserved("data",e),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}if(t.Request=v,v.requestsCount=0,v.requests={},"undefined"!=typeof document)if("function"==typeof attachEvent)attachEvent("onunload",x);else if("function"==typeof addEventListener){const e="onpagehide"in u.globalThisShim?"pagehide":"unload";addEventListener(e,x,!1)}function x(){for(let e in v.requests)v.requests.hasOwnProperty(e)&&v.requests[e].abort()}},3565:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.nextTick=t.defaultBinaryType=t.usingBrowserWebSocket=t.WebSocket=void 0;const n=i(s(7883));t.WebSocket=n.default,t.usingBrowserWebSocket=!1,t.defaultBinaryType="nodebuffer",t.nextTick=process.nextTick},1857:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WS=void 0;const n=s(9052),o=s(393),a=s(767),r=s(3565),c=i(s(818)),p=s(1836),l=(0,c.default)("engine.io-client:websocket"),u="undefined"!=typeof navigator&&"string"==typeof navigator.product&&"reactnative"===navigator.product.toLowerCase();class d extends n.Transport{constructor(e){super(e),this.supportsBinary=!e.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protocols,s=u?{}:(0,a.pick)(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=r.usingBrowserWebSocket&&!u?t?new r.WebSocket(e,t):new r.WebSocket(e):new r.WebSocket(e,t,s)}catch(e){return this.emitReserved("error",e)}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++){const s=e[t],i=t===e.length-1;(0,p.encodePacket)(s,this.supportsBinary,(e=>{const t={};if(!r.usingBrowserWebSocket&&(s.options&&(t.compress=s.options.compress),this.opts.perMessageDeflate)){("string"==typeof e?Buffer.byteLength(e):e.length)<this.opts.perMessageDeflate.threshold&&(t.compress=!1)}try{r.usingBrowserWebSocket?this.ws.send(e):this.ws.send(e,t)}catch(e){l("websocket closed before onclose event")}i&&(0,r.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){void 0!==this.ws&&(this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=(0,o.yeast)()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}check(){return!!r.WebSocket}}t.WS=d},8929:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WT=void 0;const n=s(9052),o=s(3565),a=s(1836),r=(0,i(s(818)).default)("engine.io-client:webtransport");class c extends n.Transport{get name(){return"webtransport"}doOpen(){"function"==typeof WebTransport&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then((()=>{r("transport closed gracefully"),this.onClose()})).catch((e=>{r("transport closed due to %s",e),this.onError("webtransport error",e)})),this.transport.ready.then((()=>{this.transport.createBidirectionalStream().then((e=>{const t=(0,a.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=(0,a.createPacketEncoderStream)();i.readable.pipeTo(e.writable),this.writer=i.writable.getWriter();const n=()=>{s.read().then((({done:e,value:t})=>{e?r("session is closed"):(r("received chunk: %o",t),this.onPacket(t),n())})).catch((e=>{r("an error occurred while reading: %s",e)}))};n();const 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++){const s=e[t],i=t===e.length-1;this.writer.write(s).then((()=>{i&&(0,o.nextTick)((()=>{this.writable=!0,this.emitReserved("drain")}),this.setTimeoutFn)}))}}doClose(){var e;null===(e=this.transport)||void 0===e||e.close()}}t.WT=c},8891:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.CookieJar=t.parse=t.createCookieJar=t.XHR=void 0;const a=o(s(2353));function r(e){const t=e.split("; "),s=t[0].indexOf("=");if(-1===s)return;const i=t[0].substring(0,s).trim();if(!i.length)return;let n=t[0].substring(s+1).trim();34===n.charCodeAt(0)&&(n=n.slice(1,-1));const o={name:i,value:n};for(let e=1;e<t.length;e++){const s=t[e].split("=");if(2!==s.length)continue;const i=s[0].trim(),n=s[1].trim();switch(i){case"Expires":o.expires=new Date(n);break;case"Max-Age":const e=new Date;e.setUTCSeconds(e.getUTCSeconds()+parseInt(n,10)),o.expires=e}}return o}t.XHR=a.default||a,t.createCookieJar=function(){return new c},t.parse=r;class c{constructor(){this.cookies=new Map}parseCookies(e){const t=e.getResponseHeader("set-cookie");t&&t.forEach((e=>{const t=r(e);t&&this.cookies.set(t.name,t)}))}addCookies(e){const t=[];this.cookies.forEach(((e,s)=>{var i;(null===(i=e.expires)||void 0===i?void 0:i.getTime())<Date.now()?this.cookies.delete(s):t.push(`${s}=${e.value}`)})),t.length&&(e.setDisableHeaderCheck(!0),e.setRequestHeader("cookie",t.join("; ")))}}t.CookieJar=c},767:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.byteLength=t.installTimerFunctions=t.pick=void 0;const i=s(6361);t.pick=function(e,...t){return t.reduce(((t,s)=>(e.hasOwnProperty(s)&&(t[s]=e[s]),t)),{})};const n=i.globalThisShim.setTimeout,o=i.globalThisShim.clearTimeout;t.installTimerFunctions=function(e,t){t.useNativeTimers?(e.setTimeoutFn=n.bind(i.globalThisShim),e.clearTimeoutFn=o.bind(i.globalThisShim)):(e.setTimeoutFn=i.globalThisShim.setTimeout.bind(i.globalThisShim),e.clearTimeoutFn=i.globalThisShim.clearTimeout.bind(i.globalThisShim))};t.byteLength=function(e){return"string"==typeof e?function(e){let t=0,s=0;for(let i=0,n=e.length;i<n;i++)t=e.charCodeAt(i),t<128?s+=1:t<2048?s+=2:t<55296||t>=57344?s+=3:(i++,s+=4);return s}(e):Math.ceil(1.33*(e.byteLength||e.size))}},6533:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERROR_PACKET=t.PACKET_TYPES_REVERSE=t.PACKET_TYPES=void 0;const s=Object.create(null);t.PACKET_TYPES=s,s.open="0",s.close="1",s.ping="2",s.pong="3",s.message="4",s.upgrade="5",s.noop="6";const i=Object.create(null);t.PACKET_TYPES_REVERSE=i,Object.keys(s).forEach((e=>{i[s[e]]=e}));t.ERROR_PACKET={type:"error",data:"parser error"}},1740:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePacket=void 0;const i=s(6533);t.decodePacket=(e,t)=>{if("string"!=typeof e)return{type:"message",data:n(e,t)};const s=e.charAt(0);if("b"===s){const s=Buffer.from(e.substring(1),"base64");return{type:"message",data:n(s,t)}}return i.PACKET_TYPES_REVERSE[s]?e.length>1?{type:i.PACKET_TYPES_REVERSE[s],data:e.substring(1)}:{type:i.PACKET_TYPES_REVERSE[s]}:i.ERROR_PACKET};const n=(e,t)=>"arraybuffer"===t?e instanceof ArrayBuffer?e:Buffer.isBuffer(e)?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e.buffer:Buffer.isBuffer(e)?e:Buffer.from(e)},8029:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.encodePacketToBinary=t.encodePacket=void 0;const i=s(6533);t.encodePacket=({type:e,data:t},s,o)=>t instanceof ArrayBuffer||ArrayBuffer.isView(t)?o(s?t:"b"+n(t,!0).toString("base64")):o(i.PACKET_TYPES[e]+(t||""));const n=(e,t)=>Buffer.isBuffer(e)||e instanceof Uint8Array&&!t?e:e instanceof ArrayBuffer?Buffer.from(e):Buffer.from(e.buffer,e.byteOffset,e.byteLength);let o;t.encodePacketToBinary=function(e,s){if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return s(n(e.data,!1));(0,t.encodePacket)(e,!0,(e=>{o||(o=new TextEncoder),s(o.encode(e))}))}},1836:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayload=t.decodePacket=t.encodePayload=t.encodePacket=t.protocol=t.createPacketDecoderStream=t.createPacketEncoderStream=void 0;const i=s(8029);Object.defineProperty(t,"encodePacket",{enumerable:!0,get:function(){return i.encodePacket}});const n=s(1740);Object.defineProperty(t,"decodePacket",{enumerable:!0,get:function(){return n.decodePacket}});const o=s(6533),a=String.fromCharCode(30);t.encodePayload=(e,t)=>{const s=e.length,n=new Array(s);let o=0;e.forEach(((e,r)=>{(0,i.encodePacket)(e,!1,(e=>{n[r]=e,++o===s&&t(n.join(a))}))}))};let r;function c(e){return e.reduce(((e,t)=>e+t.length),0)}function p(e,t){if(e[0].length===t)return e.shift();const s=new Uint8Array(t);let i=0;for(let n=0;n<t;n++)s[n]=e[0][i++],i===e[0].length&&(e.shift(),i=0);return e.length&&i<e[0].length&&(e[0]=e[0].slice(i)),s}t.decodePayload=(e,t)=>{const s=e.split(a),i=[];for(let e=0;e<s.length;e++){const o=(0,n.decodePacket)(s[e],t);if(i.push(o),"error"===o.type)break}return i},t.createPacketEncoderStream=function(){return new TransformStream({transform(e,t){(0,i.encodePacketToBinary)(e,(s=>{const i=s.length;let n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);const e=new DataView(n.buffer);e.setUint8(0,126),e.setUint16(1,i)}else{n=new Uint8Array(9);const e=new DataView(n.buffer);e.setUint8(0,127),e.setBigUint64(1,BigInt(i))}e.data&&"string"!=typeof e.data&&(n[0]|=128),t.enqueue(n),t.enqueue(s)}))}})},t.createPacketDecoderStream=function(e,t){r||(r=new TextDecoder);const s=[];let i=0,a=-1,l=!1;return new TransformStream({transform(u,d){for(s.push(u);;){if(0===i){if(c(s)<1)break;const e=p(s,1);l=128==(128&e[0]),a=127&e[0],i=a<126?3:126===a?1:2}else if(1===i){if(c(s)<2)break;const e=p(s,2);a=new DataView(e.buffer,e.byteOffset,e.length).getUint16(0),i=3}else if(2===i){if(c(s)<8)break;const e=p(s,8),t=new DataView(e.buffer,e.byteOffset,e.length),n=t.getUint32(0);if(n>Math.pow(2,21)-1){d.enqueue(o.ERROR_PACKET);break}a=n*Math.pow(2,32)+t.getUint32(4),i=3}else{if(c(s)<a)break;const e=p(s,a);d.enqueue((0,n.decodePacket)(l?e:r.decode(e),t)),i=0}if(0===a||a>e){d.enqueue(o.ERROR_PACKET);break}}}})},t.protocol=4},9600:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.protocol=t.Transport=t.Socket=t.uServer=t.parser=t.attach=t.listen=t.transports=t.Server=void 0;const i=s(3685),n=s(2076);Object.defineProperty(t,"Server",{enumerable:!0,get:function(){return n.Server}});const o=s(2067);t.transports=o.default;const a=s(1836);t.parser=a;var r=s(274);Object.defineProperty(t,"uServer",{enumerable:!0,get:function(){return r.uServer}});var c=s(1463);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return c.Socket}});var p=s(4947);function l(e,t){const s=new n.Server(t);return s.attach(e,t),s}Object.defineProperty(t,"Transport",{enumerable:!0,get:function(){return p.Transport}}),t.protocol=a.protocol,t.listen=function(e,t,s){"function"==typeof t&&(s=t,t={});const n=(0,i.createServer)((function(e,t){t.writeHead(501),t.end("Not Implemented")})),o=l(n,t);return o.httpServer=n,n.listen(e,s),o},t.attach=l},8702:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.decodePayloadAsBinary=t.encodePayloadAsBinary=t.decodePayload=t.encodePayload=t.decodeBase64Packet=t.decodePacket=t.encodeBase64Packet=t.encodePacket=t.packets=t.protocol=void 0;var i=s(1225);t.protocol=3;t.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var n=Object.keys(t.packets),o={type:"error",data:"parser error"};const a=Buffer.concat([]);function r(e,s,n,o){if("function"==typeof s&&(o=s,s=null),"function"==typeof n&&(o=n,n=null),Buffer.isBuffer(e.data))return c(e,s,o);if(e.data&&(e.data.buffer||e.data)instanceof ArrayBuffer)return c({type:e.type,data:f(e.data)},s,o);var a=t.packets[e.type];return void 0!==e.data&&(a+=n?i.encode(String(e.data),{strict:!1}):String(e.data)),o(""+a)}function c(e,s,i){if(!s)return p(e,i);var n=e.data,o=Buffer.allocUnsafe(1);return o[0]=t.packets[e.type],i(Buffer.concat([o,n]))}function p(e,s){var i=Buffer.isBuffer(e.data)?e.data:f(e.data),n="b"+t.packets[e.type];return s(n+=i.toString("base64"))}function l(e,t,s){if(void 0===e)return o;var a;if("string"==typeof e)return"b"===(a=e.charAt(0))?u(e.slice(1),t):s&&!1===(e=function(e){try{e=i.decode(e,{strict:!1})}catch(e){return!1}return e}(e))?o:Number(a)==a&&n[a]?e.length>1?{type:n[a],data:e.slice(1)}:{type:n[a]}:o;if("arraybuffer"===t){var r=new Uint8Array(e);return a=r[0],{type:n[a],data:r.buffer.slice(1)}}return e instanceof ArrayBuffer&&(e=f(e)),a=e[0],{type:n[a],data:e.slice(1)}}function u(e,t){var s=n[e.charAt(0)],i=Buffer.from(e.slice(1),"base64");if("arraybuffer"===t){for(var o=new Uint8Array(i.length),a=0;a<o.length;a++)o[a]=i[a];i=o.buffer}return{type:s,data:i}}function d(e,t,s){const i=new Array(e.length);let n=0;for(let o=0;o<e.length;o++)t(e[o],((t,a)=>{i[o]=a,++n===e.length&&s(null,i)}))}function h(e){for(var t="",s=0,i=e.length;s<i;s++)t+=String.fromCharCode(e[s]);return t}function m(e){for(var t=Buffer.allocUnsafe(e.length),s=0,i=e.length;s<i;s++)t.writeUInt8(e.charCodeAt(s),s);return t}function f(e){var t=e.byteLength||e.length,s=e.byteOffset||0;return Buffer.from(e.buffer||e,s,t)}function v(e,t){if(!e.length)return t(a);d(e,x,(function(e,s){return t(Buffer.concat(s))}))}function x(e,t){r(e,!0,!0,(function(e){var s,i=""+e.length;if("string"==typeof e){(s=Buffer.allocUnsafe(i.length+2))[0]=0;for(var n=0;n<i.length;n++)s[n+1]=parseInt(i[n],10);return s[s.length-1]=255,t(null,Buffer.concat([s,m(e)]))}for((s=Buffer.allocUnsafe(i.length+2))[0]=1,n=0;n<i.length;n++)s[n+1]=parseInt(i[n],10);s[s.length-1]=255,t(null,Buffer.concat([s,e]))}))}function g(e,t,s){"function"==typeof t&&(s=t,t=null);for(var i,n=e,a=[];n.length>0;){var r="",c=0===n[0];for(i=1;255!==n[i];i++){if(r.length>310)return s(o,0,1);r+=""+n[i]}n=n.slice(r.length+1);var p=parseInt(r,10),u=n.slice(1,p+1);c&&(u=h(u)),a.push(u),n=n.slice(p+1)}var d=a.length;for(i=0;i<d;i++){s(l(a[i],t,!0),i,d)}}t.encodePacket=r,t.encodeBase64Packet=p,t.decodePacket=l,t.decodeBase64Packet=u,t.encodePayload=function(e,t,s){if("function"==typeof t&&(s=t,t=null),t&&(e=>{for(const t of e)if(t.data instanceof ArrayBuffer||ArrayBuffer.isView(t.data))return!0;return!1})(e))return v(e,s);if(!e.length)return s("0:");d(e,(function(e,s){r(e,t,!1,(function(e){s(null,function(e){return e.length+":"+e}(e))}))}),(function(e,t){return s(t.join(""))}))},t.decodePayload=function(e,t,s){if("string"!=typeof e)return g(e,t,s);if("function"==typeof t&&(s=t,t=null),""===e)return s(o,0,1);for(var i,n,a,r="",c=0,p=e.length;c<p;c++){var u=e.charAt(c);if(":"===u){if(""===r||r!=(i=Number(r)))return s(o,0,1);if(r!=(n=e.slice(c+1,c+1+i)).length)return s(o,0,1);if(n.length){if(a=l(n,t,!1),o.type===a.type&&o.data===a.data)return s(o,0,1);if(!1===s(a,c+i,p))return}c+=i,r=""}else r+=u}return""!==r?s(o,0,1):void 0},t.encodePayloadAsBinary=v,t.decodePayloadAsBinary=g},1225:e=>{var t,s,i,n=String.fromCharCode;function o(e){for(var t,s,i=[],n=0,o=e.length;n<o;)(t=e.charCodeAt(n++))>=55296&&t<=56319&&n<o?56320==(64512&(s=e.charCodeAt(n++)))?i.push(((1023&t)<<10)+(1023&s)+65536):(i.push(t),n--):i.push(t);return i}function a(e,t){if(e>=55296&&e<=57343){if(t)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function r(e,t){return n(e>>t&63|128)}function c(e,t){if(0==(4294967168&e))return n(e);var s="";return 0==(4294965248&e)?s=n(e>>6&31|192):0==(4294901760&e)?(a(e,t)||(e=65533),s=n(e>>12&15|224),s+=r(e,6)):0==(4292870144&e)&&(s=n(e>>18&7|240),s+=r(e,12),s+=r(e,6)),s+=n(63&e|128)}function p(){if(i>=s)throw Error("Invalid byte index");var e=255&t[i];if(i++,128==(192&e))return 63&e;throw Error("Invalid continuation byte")}function l(e){var n,o;if(i>s)throw Error("Invalid byte index");if(i==s)return!1;if(n=255&t[i],i++,0==(128&n))return n;if(192==(224&n)){if((o=(31&n)<<6|p())>=128)return o;throw Error("Invalid continuation byte")}if(224==(240&n)){if((o=(15&n)<<12|p()<<6|p())>=2048)return a(o,e)?o:65533;throw Error("Invalid continuation byte")}if(240==(248&n)&&(o=(7&n)<<18|p()<<12|p()<<6|p())>=65536&&o<=1114111)return o;throw Error("Invalid UTF-8 detected")}e.exports={version:"2.1.2",encode:function(e,t){for(var s=!1!==(t=t||{}).strict,i=o(e),n=i.length,a=-1,r="";++a<n;)r+=c(i[a],s);return r},decode:function(e,a){var r=!1!==(a=a||{}).strict;t=o(e),s=t.length,i=0;for(var c,p=[];!1!==(c=l(r));)p.push(c);return function(e){for(var t,s=e.length,i=-1,o="";++i<s;)(t=e[i])>65535&&(o+=n((t-=65536)>>>10&1023|55296),t=56320|1023&t),o+=n(t);return o}(p)}}},2076:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Server=t.BaseServer=void 0;const i=s(3477),n=s(7310),o=s(9916),a=s(2067),r=s(2361),c=s(1463),p=s(818),l=s(2507),u=s(7883),d=s(1765),h=s(1836),m=(0,p.default)("engine"),f=Symbol("responseHeaders");class v extends r.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:u.Server,pingTimeout:2e4,pingInterval:25e3,upgradeTimeout:1e4,maxHttpBufferSize:1e6,transports:["polling","websocket"],allowUpgrades:!0,httpCompression:{threshold:1024},cors:!1,allowEIO3:!1},e),e.cookie&&(this.opts.cookie=Object.assign({name:"io",path:"/",httpOnly:!1!==e.cookie.path,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(s(9920)(this.opts.cors)),e.perMessageDeflate&&(this.opts.perMessageDeflate=Object.assign({threshold:1024},e.perMessageDeflate)),this.init()}_computePath(e){let t=(e.path||"/engine.io").replace(/\/$/,"");return!1!==e.addTrailingSlash&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades&&a.default[e].upgradesTo||[]}verify(e,t,s){const i=e._query.transport;if(!~this.opts.transports.indexOf(i)||"webtransport"===i)return m('unknown transport "%s"',i),s(g.errors.UNKNOWN_TRANSPORT,{transport:i});if(function(e){if((e+="").length<1)return!1;if(!w[e.charCodeAt(0)])return m('invalid header, index 0, char "%s"',e.charCodeAt(0)),!0;if(e.length<2)return!1;if(!w[e.charCodeAt(1)])return m('invalid header, index 1, char "%s"',e.charCodeAt(1)),!0;if(e.length<3)return!1;if(!w[e.charCodeAt(2)])return m('invalid header, index 2, char "%s"',e.charCodeAt(2)),!0;if(e.length<4)return!1;if(!w[e.charCodeAt(3)])return m('invalid header, index 3, char "%s"',e.charCodeAt(3)),!0;for(let t=4;t<e.length;++t)if(!w[e.charCodeAt(t)])return m('invalid header, index "%i", char "%s"',t,e.charCodeAt(t)),!0;return!1}(e.headers.origin)){const t=e.headers.origin;return e.headers.origin=null,m("origin header invalid"),s(g.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:t})}const n=e._query.sid;if(!n)return"GET"!==e.method?s(g.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):"websocket"!==i||t?this.opts.allowRequest?this.opts.allowRequest(e,((e,t)=>{if(!t)return s(g.errors.FORBIDDEN,{message:e});s()})):s():(m("invalid transport upgrade"),s(g.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"}));{if(!this.clients.hasOwnProperty(n))return m('unknown sid "%s"',n),s(g.errors.UNKNOWN_SID,{sid:n});const e=this.clients[n].transport.name;if(!t&&e!==i)return m("bad request: unexpected transport without upgrade"),s(g.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:i,previousTransport:e})}s()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,s){if(0===this.middlewares.length)return m("no middleware to apply, skipping"),s();const i=n=>{m("applying middleware n°%d",n+1),this.middlewares[n](e,t,(e=>{if(e)return s(e);n+1<this.middlewares.length?i(n+1):s()}))};i(0)}close(){m("closing all open clients");for(let e in this.clients)this.clients.hasOwnProperty(e)&&this.clients[e].close(!0);return this.cleanup(),this}generateId(e){return o.generateId()}async handshake(e,t,s){const i="4"===t._query.EIO?4:3;if(3===i&&!this.opts.allowEIO3)return m("unsupported protocol version"),this.emit("connection_error",{req:t,code:g.errors.UNSUPPORTED_PROTOCOL_VERSION,message:g.errorMessages[g.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:i}}),void s(g.errors.UNSUPPORTED_PROTOCOL_VERSION);let n;try{n=await this.generateId(t)}catch(e){return m("error while generating an id"),this.emit("connection_error",{req:t,code:g.errors.BAD_REQUEST,message:g.errorMessages[g.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:e}}),void s(g.errors.BAD_REQUEST)}m('handshaking client "%s"',n);try{var o=this.createTransport(e,t);"polling"===e?(o.maxHttpBufferSize=this.opts.maxHttpBufferSize,o.httpCompression=this.opts.httpCompression):"websocket"===e&&(o.perMessageDeflate=this.opts.perMessageDeflate)}catch(i){return m('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:g.errors.BAD_REQUEST,message:g.errorMessages[g.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:i}}),void s(g.errors.BAD_REQUEST)}const a=new c.Socket(n,this,o,t,i);return o.on("headers",((e,t)=>{!t._query.sid&&(this.opts.cookie&&(e["Set-Cookie"]=[(0,l.serialize)(this.opts.cookie.name,n,this.opts.cookie)]),this.emit("initial_headers",e,t)),this.emit("headers",e,t)})),o.onRequest(t),this.clients[n]=a,this.clientsCount++,a.once("close",(()=>{delete this.clients[n],this.clientsCount--})),this.emit("connection",a),o}async onWebTransportSession(e){const t=setTimeout((()=>{m("the client failed to establish a bidirectional stream in the given period"),e.close()}),this.opts.upgradeTimeout),s=e.incomingBidirectionalStreams.getReader(),i=await s.read();if(i.done)return void m("session is closed");const n=i.value,a=(0,h.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),r=n.readable.pipeThrough(a).getReader(),{value:p,done:l}=await r.read();if(l)return void m("stream is closed");if(clearTimeout(t),"open"!==p.type)return m("invalid WebTransport handshake"),e.close();if(void 0===p.data){const t=new d.WebTransport(e,n,r),s=o.generateId();m('handshaking client "%s" (WebTransport)',s);const i=new c.Socket(s,this,t,null,4);return this.clients[s]=i,this.clientsCount++,i.once("close",(()=>{delete this.clients[s],this.clientsCount--})),void this.emit("connection",i)}const u=function(e){try{const t=JSON.parse(e);if("string"==typeof t.sid)return t.sid}catch(e){}}(p.data);if(!u)return m("invalid WebTransport handshake"),e.close();const f=this.clients[u];if(f)if(f.upgrading)m("transport has already been trying to upgrade"),e.close();else if(f.upgraded)m("transport had already been upgraded"),e.close();else{m("upgrading existing transport");const t=new d.WebTransport(e,n,r);f.maybeUpgrade(t)}else m("upgrade attempt for closed client"),e.close()}}t.BaseServer=v,v.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5},v.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};class x{constructor(e,t){this.req=e,this.socket=t,e[f]={}}setHeader(e,t){this.req[f][e]=t}getHeader(e){return this.req[f][e]}removeHeader(e){delete this.req[f][e]}write(){}writeHead(){}end(){this.socket.destroy()}}class g extends v{init(){~this.opts.transports.indexOf("websocket")&&(this.ws&&this.ws.close(),this.ws=new this.opts.wsEngine({noServer:!0,clientTracking:!1,perMessageDeflate:this.opts.perMessageDeflate,maxPayload:this.opts.maxHttpBufferSize}),"function"==typeof this.ws.on&&this.ws.on("headers",((e,t)=>{const s=t[f]||{};delete t[f];!t._query.sid&&this.emit("initial_headers",s,t),this.emit("headers",s,t),m("writing headers: %j",s),Object.keys(s).forEach((t=>{e.push(`${t}: ${s[t]}`)}))})))}cleanup(){this.ws&&(m("closing webSocketServer"),this.ws.close())}prepare(e){e._query||(e._query=~e.url.indexOf("?")?i.parse((0,n.parse)(e.url).query):{})}createTransport(e,t){return new a.default[e](t)}handleRequest(e,t){m('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;const s=(s,i)=>{if(void 0!==s)return this.emit("connection_error",{req:e,code:s,message:g.errorMessages[s],context:i}),void b(t,s,i);if(e._query.sid)m("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{const s=(e,s)=>b(t,e,s);this.handshake(e._query.transport,e,s)}};this._applyMiddlewares(e,t,(t=>{t?s(g.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,s)}))}handleUpgrade(e,t,s){this.prepare(e);const i=new x(e,t),n=(n,o)=>{if(void 0!==n)return this.emit("connection_error",{req:e,code:n,message:g.errorMessages[n],context:o}),void y(t,n,o);const a=Buffer.from(s);s=null,i.writeHead(),this.ws.handleUpgrade(e,t,a,(s=>{this.onWebSocket(e,t,s)}))};this._applyMiddlewares(e,i,(t=>{t?n(g.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,n)}))}onWebSocket(e,t,s){if(s.on("error",n),void 0!==a.default[e._query.transport]&&!a.default[e._query.transport].prototype.handlesUpgrades)return m("transport doesnt handle upgraded requests"),void s.close();const i=e._query.sid;if(e.websocket=s,i){const t=this.clients[i];if(t)if(t.upgrading)m("transport has already been trying to upgrade"),s.close();else if(t.upgraded)m("transport had already been upgraded"),s.close();else{m("upgrading existing transport"),s.removeListener("error",n);const i=this.createTransport(e._query.transport,e);i.perMessageDeflate=this.opts.perMessageDeflate,t.maybeUpgrade(i)}else m("upgrade attempt for closed client"),s.close()}else{const s=(e,s)=>y(t,e,s);this.handshake(e._query.transport,e,s)}function n(){m("websocket error before upgrade")}}attach(e,t={}){const s=this._computePath(t),i=t.destroyUpgradeTimeout||1e3;function n(e){return s===e.url.slice(0,s.length)}const o=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("close",this.close.bind(this)),e.on("listening",this.init.bind(this)),e.on("request",((t,i)=>{if(n(t))m('intercepting request for path "%s"',s),this.handleRequest(t,i);else{let s=0;const n=o.length;for(;s<n;s++)o[s].call(e,t,i)}})),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",((e,s,o)=>{n(e)?this.handleUpgrade(e,s,o):!1!==t.destroyUpgrade&&setTimeout((function(){if(s.writable&&s.bytesWritten<=0)return s.on("error",(e=>{m("error while destroying upgrade: %s",e.message)})),s.end()}),i)}))}}function b(e,t,s){const i=t===g.errors.FORBIDDEN?403:400,n=s&&s.message?s.message:g.errorMessages[t];e.writeHead(i,{"Content-Type":"application/json"}),e.end(JSON.stringify({code:t,message:n}))}function y(e,t,s={}){if(e.on("error",(()=>{m("ignoring error from closed connection")})),e.writable){const i=s.message||g.errorMessages[t],n=Buffer.byteLength(i);e.write("HTTP/1.1 400 Bad Request\r\nConnection: close\r\nContent-type: text/html\r\nContent-Length: "+n+"\r\n\r\n"+i)}e.destroy()}t.Server=g;const w=[0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},1463:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const i=s(2361),n=s(818),o=s(9512),a=(0,n.default)("engine:socket");class r extends i.EventEmitter{constructor(e,t,s,i,n){super(),this._readyState="opening",this.upgrading=!1,this.upgraded=!1,this.writeBuffer=[],this.packetsFn=[],this.sentCallbackFn=[],this.cleanupFn=[],this.id=e,this.server=t,this.request=i,this.protocol=n,i&&(i.websocket&&i.websocket._socket?this.remoteAddress=i.websocket._socket.remoteAddress:this.remoteAddress=i.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(s),this.onOpen()}get readyState(){return this._readyState}set readyState(e){a("readyState updated from %s to %s",this._readyState,e),this._readyState=e}onOpen(){this.readyState="open",this.transport.sid=this.id,this.sendPacket("open",JSON.stringify({sid:this.id,upgrades:this.getAvailableUpgrades(),pingInterval:this.server.opts.pingInterval,pingTimeout:this.server.opts.pingTimeout,maxPayload:this.server.opts.maxHttpBufferSize})),this.server.opts.initialPacket&&this.sendPacket("message",this.server.opts.initialPacket),this.emit("open"),3===this.protocol?this.resetPingTimeout(this.server.opts.pingInterval+this.server.opts.pingTimeout):this.schedulePing()}onPacket(e){if("open"!==this.readyState)return a("packet received with closed socket");switch(a(`received packet ${e.type}`),this.emit("packet",e),this.resetPingTimeout(this.server.opts.pingInterval+this.server.opts.pingTimeout),e.type){case"ping":if(3!==this.transport.protocol)return void this.onError("invalid heartbeat direction");a("got ping"),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(3===this.transport.protocol)return void this.onError("invalid heartbeat direction");a("got pong"),this.pingIntervalTimer.refresh(),this.emit("heartbeat");break;case"error":this.onClose("parse error");break;case"message":this.emit("data",e.data),this.emit("message",e.data)}}onError(e){a("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,o.setTimeout)((()=>{a("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout(this.server.opts.pingTimeout)}),this.server.opts.pingInterval)}resetPingTimeout(e){(0,o.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,o.setTimeout)((()=>{"closed"!==this.readyState&&this.onClose("ping timeout")}),e)}setTransport(e){const t=this.onError.bind(this),s=this.onPacket.bind(this),i=this.flush.bind(this),n=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("packet",s),this.transport.on("drain",i),this.transport.once("close",n),this.setupSendCallback(),this.cleanupFn.push((function(){e.removeListener("error",t),e.removeListener("packet",s),e.removeListener("drain",i),e.removeListener("close",n)}))}maybeUpgrade(e){a('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;const t=(0,o.setTimeout)((()=>{a("client did not complete upgrade - closing transport"),r(),"open"===e.readyState&&e.close()}),this.server.opts.upgradeTimeout);let s;const i=t=>{"ping"===t.type&&"probe"===t.data?(a("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(s),s=setInterval(n,100)):"upgrade"===t.type&&"closed"!==this.readyState?(a("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),"closing"===this.readyState&&e.close((()=>{this.onClose("forced close")}))):(r(),e.close())},n=()=>{"polling"===this.transport.name&&this.transport.writable&&(a("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(s),(0,o.clearTimeout)(t),e.removeListener("packet",i),e.removeListener("close",p),e.removeListener("error",c),this.removeListener("close",l)},c=t=>{a("client did not complete upgrade - %s",t),r(),e.close(),e=null},p=()=>{c("transport closed")},l=()=>{c("socket closed")};e.on("packet",i),e.once("close",p),e.once("error",c),this.once("close",l)}clearTransport(){let e;const t=this.cleanupFn.length;for(let s=0;s<t;s++)e=this.cleanupFn.shift(),e();this.transport.on("error",(function(){a("error triggered by discarded transport")})),this.transport.close(),(0,o.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){"closed"!==this.readyState&&(this.readyState="closed",(0,o.clearTimeout)(this.pingIntervalTimer),(0,o.clearTimeout)(this.pingTimeoutTimer),process.nextTick((()=>{this.writeBuffer=[]})),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}setupSendCallback(){const e=()=>{if(this.sentCallbackFn.length>0){const e=this.sentCallbackFn.splice(0,1)[0];if("function"==typeof e)a("executing send callback"),e(this.transport);else if(Array.isArray(e)){a("executing batch send callback");const t=e.length;let s=0;for(;s<t;s++)"function"==typeof e[s]&&e[s](this.transport)}}};this.transport.on("drain",e),this.cleanupFn.push((()=>{this.transport.removeListener("drain",e)}))}send(e,t,s){return this.sendPacket("message",e,t,s),this}write(e,t,s){return this.sendPacket("message",e,t,s),this}sendPacket(e,t,s={},i){if("function"==typeof s&&(i=s,s={}),"closing"!==this.readyState&&"closed"!==this.readyState){a('sending packet "%s" (%s)',e,t),s.compress=!1!==s.compress;const n={type:e,options:s};t&&(n.data=t),this.emit("packetCreate",n),this.writeBuffer.push(n),i&&this.packetsFn.push(i),this.flush()}}flush(){if("closed"!==this.readyState&&this.transport.writable&&this.writeBuffer.length){a("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);const e=this.writeBuffer;this.writeBuffer=[],this.transport.supportsFraming?this.sentCallbackFn.push.apply(this.sentCallbackFn,this.packetsFn):this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[],this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){const e=[],t=this.server.upgrades(this.transport.name);let s=0;const i=t.length;for(;s<i;++s){const i=t[s];-1!==this.server.opts.transports.indexOf(i)&&e.push(i)}return e}close(e){if("open"===this.readyState){if(this.readyState="closing",this.writeBuffer.length)return a("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),void this.once("drain",(()=>{a("all packets have been sent, closing the transport"),this.closeTransport(e)}));a("the buffer is empty, closing the transport right away",e),this.closeTransport(e)}}closeTransport(e){a("closing the transport (discard? %s)",e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}}t.Socket=r},4947:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Transport=void 0;const i=s(2361),n=s(1836),o=s(8702),a=(0,s(818).default)("engine:transport");function r(){}class c extends i.EventEmitter{constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol="4"===e._query.EIO?4:3,this.parser=4===this.protocol?n:o,this.supportsBinary=!(e._query&&e._query.b64)}get readyState(){return this._readyState}set readyState(e){a("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}discard(){this.discarded=!0}onRequest(e){a("setting request"),this.req=e}close(e){"closed"!==this.readyState&&"closing"!==this.readyState&&(this.readyState="closing",this.doClose(e||r))}onError(e,t){if(this.listeners("error").length){const s=new Error(e);s.type="TransportError",s.description=t,this.emit("error",s)}else a("ignored transport error %s (%s)",e,t)}onPacket(e){this.emit("packet",e)}onData(e){this.onPacket(this.parser.decodePacket(e))}onClose(){this.readyState="closed",this.emit("close")}}t.Transport=c},2615:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(3112),n=s(6880);t.default={polling:i.Polling,websocket:n.WebSocket}},3112:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Polling=void 0;const i=s(4947),n=s(9796),o=s(181),a=(0,s(818).default)("engine:polling"),r={gzip:n.createGzip,deflate:n.createDeflate};class c extends i.Transport{constructor(e){super(e),this.closeTimeout=3e4}get name(){return"polling"}get supportsFraming(){return!1}onRequest(e){const t=e.res;e.res=null,"get"===e.getMethod()?this.onPollRequest(e,t):"post"===e.getMethod()?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req)return a("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),void t.end();a("setting request"),this.req=e,this.res=t;e.cleanup=()=>{this.req=this.res=null},t.onAborted((()=>{this.writable=!1,this.onError("poll connection closed prematurely")})),this.writable=!0,this.emit("drain"),this.writable&&this.shouldClose&&(a("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq)return this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),void t.end();const s=Number(e.headers["content-length"]);if(!s)return this.onError("content-length header required"),void t.writeStatus("411 Length Required").end();if(s>this.maxHttpBufferSize)return this.onError("payload too large"),void t.writeStatus("413 Payload Too Large").end();if("application/octet-stream"===e.headers["content-type"]&&4===this.protocol)return this.onError("invalid content");let i;this.dataReq=e,this.dataRes=t;let n=0;const o={"Content-Type":"text/html"};this.headers(e,o);for(let e in o)t.writeHeader(e,String(o[e]));const a=e=>{this.onData(e.toString()),this.onDataRequestCleanup(),t.cork((()=>{t.end("ok")}))};t.onAborted((()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")})),t.onData(((e,o)=>{const r=n+e.byteLength;if(r>s)return this.onError("content-length mismatch"),void t.close();if(!i){if(o)return void a(Buffer.from(e));i=Buffer.allocUnsafe(s)}if(Buffer.from(e).copy(i,n),o)return r!=s?(this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),void this.onDataRequestCleanup()):void a(i);n=r}))}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){a('received "%s"',e);const t=e=>{if("close"===e.type)return a("got xhr close packet"),this.onClose(),!1;this.onPacket(e)};3===this.protocol?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(a("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);const t=t=>{const s=e.some((e=>e.options&&e.options.compress));this.write(t,{compress:s})};3===this.protocol?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){a('writing "%s"',e),this.doWrite(e,t,(()=>{this.req.cleanup()}))}doWrite(e,t,s){const i="string"==typeof e,n={"Content-Type":i?"text/plain; charset=UTF-8":"application/octet-stream"},a=e=>{this.headers(this.req,n),this.res.cork((()=>{Object.keys(n).forEach((e=>{this.res.writeHeader(e,String(n[e]))})),this.res.end(e)})),s()};if(!this.httpCompression||!t.compress)return void a(e);if((i?Buffer.byteLength(e):e.length)<this.httpCompression.threshold)return void a(e);const r=o(this.req).encodings(["gzip","deflate"]);r?this.compress(e,r,((e,t)=>{if(e)return this.res.writeStatus("500 Internal Server Error"),this.res.end(),void s(e);n["Content-Encoding"]=r,a(t)})):a(e)}compress(e,t,s){a("compressing");const i=[];let n=0;r[t](this.httpCompression).on("error",s).on("data",(function(e){i.push(e),n+=e.length})).on("end",(function(){s(null,Buffer.concat(i,n))})).end(e)}doClose(e){let t;a("closing");const s=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(a("transport writable - closing right away"),this.send([{type:"close"}]),s()):this.discarded?(a("transport discarded - closing right away"),s()):(a("transport not writable - buffering orderly close"),this.shouldClose=s,t=setTimeout(s,this.closeTimeout))}headers(e,t){t=t||{};const s=e.headers["user-agent"];return s&&(~s.indexOf(";MSIE")||~s.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}}t.Polling=c},6880:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocket=void 0;const i=s(4947),n=(0,s(818).default)("engine:ws");class o extends i.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}get supportsFraming(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t+1===e.length,o=e=>{const t="string"!=typeof e,s=this.perMessageDeflate&&Buffer.byteLength(e)>this.perMessageDeflate.threshold;n('writing "%s"',e),this.socket.send(e,t,s),i&&(this.writable=!0,this.emit("drain"))};s.options&&"string"==typeof s.options.wsPreEncoded?o(s.options.wsPreEncoded):this.parser.encodePacket(s,this.supportsBinary,o)}}doClose(e){n("closing"),e&&e(),this.socket.end()}}t.WebSocket=o},2067:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i=s(6530),n=s(3927),o=s(8495),a=s(1765);function r(e){return"string"==typeof e._query.j?new n.JSONP(e):new i.Polling(e)}t.default={polling:r,websocket:o.WebSocket,webtransport:a.WebTransport},r.upgradesTo=["websocket","webtransport"]},3927:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSONP=void 0;const i=s(6530),n=s(3477),o=/\\\\n/g,a=/(\\)?\\n/g;class r extends i.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){"string"==typeof(e=n.parse(e).d)&&(e=e.replace(a,(function(e,t){return t?e:"\n"})),super.onData(e.replace(o,"\\n")))}doWrite(e,t,s){const i=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+i+this.foot,super.doWrite(e,t,s)}}t.JSONP=r},6530:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Polling=void 0;const i=s(4947),n=s(9796),o=s(181),a=(0,s(818).default)("engine:polling"),r={gzip:n.createGzip,deflate:n.createDeflate};class c extends i.Transport{constructor(e){super(e),this.closeTimeout=3e4}get name(){return"polling"}get supportsFraming(){return!1}onRequest(e){const t=e.res;e.res=null,"GET"===e.method?this.onPollRequest(e,t):"POST"===e.method?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req)return a("request overlap"),this.onError("overlap from client"),t.writeHead(400),void t.end();a("setting request"),this.req=e,this.res=t;const s=()=>{this.onError("poll connection closed prematurely")};e.cleanup=()=>{e.removeListener("close",s),this.req=this.res=null},e.on("close",s),this.writable=!0,this.emit("drain"),this.writable&&this.shouldClose&&(a("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq)return this.onError("data request overlap from client"),t.writeHead(400),void t.end();const s="application/octet-stream"===e.headers["content-type"];if(s&&4===this.protocol)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let i=s?Buffer.concat([]):"";const n=()=>{e.removeListener("data",a),e.removeListener("end",r),e.removeListener("close",o),this.dataReq=this.dataRes=i=null},o=()=>{n(),this.onError("data request connection closed prematurely")},a=e=>{let o;s?(i=Buffer.concat([i,e]),o=i.length):(i+=e,o=Buffer.byteLength(i)),o>this.maxHttpBufferSize&&(t.writeHead(413).end(),n())},r=()=>{this.onData(i);t.writeHead(200,this.headers(e,{"Content-Type":"text/html","Content-Length":2})),t.end("ok"),n()};e.on("close",o),s||e.setEncoding("utf8"),e.on("data",a),e.on("end",r)}onData(e){a('received "%s"',e);const t=e=>{if("close"===e.type)return a("got xhr close packet"),this.onClose(),!1;this.onPacket(e)};3===this.protocol?this.parser.decodePayload(e,t):this.parser.decodePayload(e).forEach(t)}onClose(){this.writable&&this.send([{type:"noop"}]),super.onClose()}send(e){this.writable=!1,this.shouldClose&&(a("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);const t=t=>{const s=e.some((e=>e.options&&e.options.compress));this.write(t,{compress:s})};3===this.protocol?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){a('writing "%s"',e),this.doWrite(e,t,(()=>{this.req.cleanup()}))}doWrite(e,t,s){const i="string"==typeof e,n={"Content-Type":i?"text/plain; charset=UTF-8":"application/octet-stream"},a=e=>{n["Content-Length"]="string"==typeof e?Buffer.byteLength(e):e.length,this.res.writeHead(200,this.headers(this.req,n)),this.res.end(e),s()};if(!this.httpCompression||!t.compress)return void a(e);if((i?Buffer.byteLength(e):e.length)<this.httpCompression.threshold)return void a(e);const r=o(this.req).encodings(["gzip","deflate"]);r?this.compress(e,r,((e,t)=>{if(e)return this.res.writeHead(500),this.res.end(),void s(e);n["Content-Encoding"]=r,a(t)})):a(e)}compress(e,t,s){a("compressing");const i=[];let n=0;r[t](this.httpCompression).on("error",s).on("data",(function(e){i.push(e),n+=e.length})).on("end",(function(){s(null,Buffer.concat(i,n))})).end(e)}doClose(e){let t;a("closing"),this.dataReq&&(a("aborting ongoing data request"),this.dataReq.destroy());const s=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(a("transport writable - closing right away"),this.send([{type:"close"}]),s()):this.discarded?(a("transport discarded - closing right away"),s()):(a("transport not writable - buffering orderly close"),this.shouldClose=s,t=setTimeout(s,this.closeTimeout))}headers(e,t){t=t||{};const s=e.headers["user-agent"];return s&&(~s.indexOf(";MSIE")||~s.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}}t.Polling=c},8495:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebSocket=void 0;const i=s(4947),n=(0,s(818).default)("engine:ws");class o extends i.Transport{constructor(e){super(e),this.socket=e.websocket,this.socket.on("message",((e,t)=>{const s=t?e:e.toString();n('received "%s"',s),super.onData(s)})),this.socket.once("close",this.onClose.bind(this)),this.socket.on("error",this.onError.bind(this)),this.writable=!0,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}get supportsFraming(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){const s=e[t],i=t+1===e.length,o={};s.options&&(o.compress=s.options.compress);const a=e=>{if(e)return this.onError("write error",e.stack);i&&(this.writable=!0,this.emit("drain"))},r=e=>{if(this.perMessageDeflate){("string"==typeof e?Buffer.byteLength(e):e.length)<this.perMessageDeflate.threshold&&(o.compress=!1)}n('writing "%s"',e),this.socket.send(e,o,a)};s.options&&"string"==typeof s.options.wsPreEncoded?r(s.options.wsPreEncoded):this._canSendPreEncodedFrame(s)?this.socket._sender.sendFrame(s.options.wsPreEncodedFrame,a):this.parser.encodePacket(s,this.supportsBinary,r)}}_canSendPreEncodedFrame(e){var t,s,i;return!this.perMessageDeflate&&"function"==typeof(null===(s=null===(t=this.socket)||void 0===t?void 0:t._sender)||void 0===s?void 0:s.sendFrame)&&void 0!==(null===(i=e.options)||void 0===i?void 0:i.wsPreEncodedFrame)}doClose(e){n("closing"),this.socket.close(),e&&e()}}t.WebSocket=o},1765:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WebTransport=void 0;const i=s(4947),n=s(818),o=s(1836),a=(0,n.default)("engine:webtransport");class r extends i.Transport{constructor(e,t,s){super({_query:{EIO:"4"}}),this.session=e;const i=(0,o.createPacketEncoderStream)();i.readable.pipeTo(t.writable).catch((()=>{a("the stream was closed")})),this.writer=i.writable.getWriter(),(async()=>{try{for(;;){const{value:e,done:t}=await s.read();if(t){a("session is closed");break}a("received chunk: %o",e),this.onPacket(e)}}catch(e){a("error while reading: %s",e.message)}})(),e.closed.then((()=>this.onClose())),this.writable=!0}get name(){return"webtransport"}get supportsFraming(){return!0}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){const s=e[t];await this.writer.write(s)}}catch(e){a("error while writing: %s",e.message)}this.writable=!0,this.emit("drain")}doClose(e){a("closing WebTransport session"),this.session.close(),e&&e()}}t.WebTransport=r},274:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.uServer=void 0;const i=s(818),n=s(2076),o=s(2615),a=(0,i.default)("engine:uws");class r extends n.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();const s=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(s.entries()),e.headers={},e.forEach(((t,s)=>{e.headers[t]=s})),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted((()=>{a("response has been aborted")}))}createTransport(e,t){return new o.default[e](t)}attach(e,t={}){const s=this._computePath(t);e.any(s,this.handleRequest.bind(this)).ws(s,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:e=>{const t=e.getUserData().transport;t.socket=e,t.writable=!0,t.emit("drain")},message:(e,t,s)=>{e.getUserData().transport.onData(s?t:Buffer.from(t).toString())},close:(e,t,s)=>{e.getUserData().transport.onClose(t,s)}})}_applyMiddlewares(e,t,s){if(0===this.middlewares.length)return s();e.res=new c(t),super._applyMiddlewares(e,e.res,(t=>{e.res.writeHead(),s(t)}))}handleRequest(e,t){a('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;const s=(s,i)=>{if(void 0!==s)return this.emit("connection_error",{req:t,code:s,message:n.Server.errorMessages[s],context:i}),void this.abortRequest(t.res,s,i);if(t._query.sid)a("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{const s=(t,s)=>this.abortRequest(e,t,s);this.handshake(t._query.transport,t,s)}};this._applyMiddlewares(t,e,(e=>{e?s(n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,s)}))}handleUpgrade(e,t,s){a("on upgrade"),this.prepare(t,e),t.res=e;const i=async(i,o)=>{if(void 0!==i)return this.emit("connection_error",{req:t,code:i,message:n.Server.errorMessages[i],context:o}),void this.abortRequest(e,i,o);const r=t._query.sid;let c;if(r){const s=this.clients[r];s?s.upgrading?(a("transport has already been trying to upgrade"),e.close()):s.upgraded?(a("transport had already been upgraded"),e.close()):(a("upgrading existing transport"),c=this.createTransport(t._query.transport,t),s.maybeUpgrade(c)):(a("upgrade attempt for closed client"),e.close())}else if(c=await this.handshake(t._query.transport,t,((t,s)=>this.abortRequest(e,t,s))),!c)return;t.res.writeStatus("101 Switching Protocols"),e.upgrade({transport:c},t.getHeader("sec-websocket-key"),t.getHeader("sec-websocket-protocol"),t.getHeader("sec-websocket-extensions"),s)};this._applyMiddlewares(t,e,(e=>{e?i(n.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,i)}))}abortRequest(e,t,s){const i=t===n.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",o=s&&s.message?s.message:n.Server.errorMessages[t];e.writeStatus(i),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:o}))}}t.uServer=r;class c{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(200===e?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach((t=>{this.writeHeader(e,t)})):this.writeHeader(e,t)}removeHeader(){}getHeader(){}writeStatus(e){if(!this.isAborted)return this.res.writeStatus(e),this.statusWritten=!0,this.writeBufferedHeaders(),this}writeHeader(e,t){this.isAborted||"Content-Length"!==e&&(this.statusWritten?this.res.writeHeader(e,t):this.headers.push([e,t]))}writeBufferedHeaders(){this.headers.forEach((([e,t])=>{this.res.writeHeader(e,t)}))}end(e){this.isAborted||this.res.cork((()=>{this.statusWritten||this.writeBufferedHeaders(),this.res.end(e)}))}onData(e){this.isAborted||this.res.onData(e)}onAborted(e){this.isAborted||this.res.onAborted((()=>{this.isAborted=!0,e()}))}cork(e){this.isAborted||this.res.cork(e)}}},6655:e=>{e.exports={nanoid:(e=21)=>{let t="",s=e;for(;s--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[64*Math.random()|0];return t},customAlphabet:(e,t=21)=>(s=t)=>{let i="",n=s;for(;n--;)i+=e[Math.random()*e.length|0];return i}}},7587:(e,t)=>{"use strict";function s(e){e=e||{},this.ms=e.min||100,this.max=e.max||1e4,this.factor=e.factor||2,this.jitter=e.jitter>0&&e.jitter<=1?e.jitter:0,this.attempts=0}Object.defineProperty(t,"__esModule",{value:!0}),t.Backoff=void 0,t.Backoff=s,s.prototype.duration=function(){var e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var t=Math.random(),s=Math.floor(t*this.jitter*e);e=0==(1&Math.floor(10*t))?e-s:e+s}return 0|Math.min(e,this.max)},s.prototype.reset=function(){this.attempts=0},s.prototype.setMin=function(e){this.ms=e},s.prototype.setMax=function(e){this.max=e},s.prototype.setJitter=function(e){this.jitter=e}},8712:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.connect=t.io=t.Socket=t.Manager=t.protocol=void 0;const n=s(9631),o=s(2035);Object.defineProperty(t,"Manager",{enumerable:!0,get:function(){return o.Manager}});const a=s(6560);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return a.Socket}});const r=i(s(818)).default("socket.io-client"),c={};function p(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};const s=n.url(e,t.path||"/socket.io"),i=s.source,a=s.id,p=s.path,l=c[a]&&p in c[a].nsps;let u;return t.forceNew||t["force new connection"]||!1===t.multiplex||l?(r("ignoring socket cache for %s",i),u=new o.Manager(i,t)):(c[a]||(r("new io instance for %s",i),c[a]=new o.Manager(i,t)),u=c[a]),s.query&&!t.query&&(t.query=s.queryKey),u.socket(s.path,t)}t.io=p,t.connect=p,t.default=p,Object.assign(p,{Manager:o.Manager,Socket:a.Socket,io:p,connect:p});var l=s(4815);Object.defineProperty(t,"protocol",{enumerable:!0,get:function(){return l.protocol}}),e.exports=p},2035:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[s]}})}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Manager=void 0;const r=s(8493),c=s(6560),p=o(s(4815)),l=s(3004),u=s(7587),d=s(9818),h=a(s(818)).default("socket.io-client:manager");class m extends d.Emitter{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&"object"==typeof e&&(t=e,e=void 0),(t=t||{}).path=t.path||"/socket.io",this.opts=t,r.installTimerFunctions(this,t),this.reconnection(!1!==t.reconnection),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor(null!==(s=t.randomizationFactor)&&void 0!==s?s:.5),this.backoff=new u.Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==t.timeout?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||p;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=!1!==t.autoConnect,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,this):this._reconnection}reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(this._reconnectionDelay=e,null===(t=this.backoff)||void 0===t||t.setMin(e),this)}randomizationFactor(e){var t;return void 0===e?this._randomizationFactor:(this._randomizationFactor=e,null===(t=this.backoff)||void 0===t||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,null===(t=this.backoff)||void 0===t||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()}open(e){if(h("readyState %s",this._readyState),~this._readyState.indexOf("open"))return this;h("opening %s",this.uri),this.engine=new r.Socket(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=l.on(t,"open",(function(){s.onopen(),e&&e()})),n=t=>{h("error"),this.cleanup(),this._readyState="closed",this.emitReserved("error",t),e?e(t):this.maybeReconnectOnOpen()},o=l.on(t,"error",n);if(!1!==this._timeout){const e=this._timeout;h("connect attempt will timeout after %d",e);const s=this.setTimeoutFn((()=>{h("connect attempt timed out after %d",e),i(),n(new Error("timeout")),t.close()}),e);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){h("open"),this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(l.on(e,"ping",this.onping.bind(this)),l.on(e,"data",this.ondata.bind(this)),l.on(e,"error",this.onerror.bind(this)),l.on(e,"close",this.onclose.bind(this)),l.on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(e){this.onclose("parse error",e)}}ondecoded(e){r.nextTick((()=>{this.emitReserved("packet",e)}),this.setTimeoutFn)}onerror(e){h("error",e),this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new c.Socket(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const e of t){if(this.nsps[e].active)return void h("socket %s is still active, skipping close",e)}this._close()}_packet(e){h("writing packet %j",e);const t=this.encoder.encode(e);for(let s=0;s<t.length;s++)this.engine.write(t[s],e.options)}cleanup(){h("cleanup"),this.subs.forEach((e=>e())),this.subs.length=0,this.decoder.destroy()}_close(){h("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(e,t){h("closed due to %s",e),this.cleanup(),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;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)h("reconnect failed"),this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();h("will wait %dms before reconnect attempt",t),this._reconnecting=!0;const s=this.setTimeoutFn((()=>{e.skipReconnect||(h("attempting reconnect"),this.emitReserved("reconnect_attempt",e.backoff.attempts),e.skipReconnect||e.open((t=>{t?(h("reconnect attempt error"),e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",t)):(h("reconnect success"),e.onreconnect())})))}),t);this.opts.autoUnref&&s.unref(),this.subs.push((()=>{this.clearTimeoutFn(s)}))}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}t.Manager=m},3004:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.on=void 0,t.on=function(e,t,s){return e.on(t,s),function(){e.off(t,s)}}},6560:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=void 0;const n=s(4815),o=s(3004),a=s(9818),r=i(s(818)).default("socket.io-client:socket"),c=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class p extends a.Emitter{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;const e=this.io;this.subs=[o.on(e,"open",this.onopen.bind(this)),o.on(e,"packet",this.onpacket.bind(this)),o.on(e,"error",this.onerror.bind(this)),o.on(e,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...e){return e.unshift("message"),this.emit.apply(this,e),this}emit(e,...t){if(c.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;const s={type:n.PacketType.EVENT,data:t,options:{}};if(s.options.compress=!1!==this.flags.compress,"function"==typeof t[t.length-1]){const e=this.ids++;r("emitting packet with ack id %d",e);const i=t.pop();this._registerAckCallback(e,i),s.id=e}const i=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!i||!this.connected)?r("discard packet as the transport is not currently writable"):this.connected?(this.notifyOutgoingListeners(s),this.packet(s)):this.sendBuffer.push(s),this.flags={},this}_registerAckCallback(e,t){var s;const i=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===i)return void(this.acks[e]=t);const n=this.io.setTimeoutFn((()=>{delete this.acks[e];for(let t=0;t<this.sendBuffer.length;t++)this.sendBuffer[t].id===e&&(r("removing packet with ack id %d from the buffer",e),this.sendBuffer.splice(t,1));r("event with ack id %d has timed out after %d ms",e,i),t.call(this,new Error("operation has timed out"))}),i);this.acks[e]=(...e)=>{this.io.clearTimeoutFn(n),t.apply(this,[null,...e])}}emitWithAck(e,...t){const s=void 0!==this.flags.timeout||void 0!==this._opts.ackTimeout;return new Promise(((i,n)=>{t.push(((e,t)=>s?e?n(e):i(t):i(e))),this.emit(e,...t)}))}_addToQueue(e){let t;"function"==typeof e[e.length-1]&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push(((e,...i)=>{if(s!==this._queue[0])return;return null!==e?s.tryCount>this._opts.retries&&(r("packet [%d] is discarded after %d tries",s.id,s.tryCount),this._queue.shift(),t&&t(e)):(r("packet [%d] was successfully sent",s.id),this._queue.shift(),t&&t(null,...i)),s.pending=!1,this._drainQueue()})),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(r("draining queue"),!this.connected||0===this._queue.length)return;const t=this._queue[0];!t.pending||e?(t.pending=!0,t.tryCount++,r("sending packet [%d] (try n°%d)",t.id,t.tryCount),this.flags=t.flags,this.emit.apply(this,t.args)):r("packet [%d] has already been sent and is waiting for an ack",t.id)}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){r("transport is open - connecting"),"function"==typeof this.auth?this.auth((e=>{this._sendConnectPacket(e)})):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:n.PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){r("close (%s)",e),this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t)}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case n.PacketType.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case n.PacketType.EVENT:case n.PacketType.BINARY_EVENT:this.onevent(e);break;case n.PacketType.ACK:case n.PacketType.BINARY_ACK:this.onack(e);break;case n.PacketType.DISCONNECT:this.ondisconnect();break;case n.PacketType.CONNECT_ERROR:this.destroy();const t=new Error(e.data.message);t.data=e.data.data,this.emitReserved("connect_error",t)}}onevent(e){const t=e.data||[];r("emitting event %j",t),null!=e.id&&(r("attaching ack callback to event"),t.push(this.ack(e.id))),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&"string"==typeof e[e.length-1]&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,r("sending ack %j",i),t.packet({type:n.PacketType.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];"function"==typeof t?(r("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),delete this.acks[e.id]):r("bad ack %s",e.id)}onconnect(e,t){r("socket connected with id %s",e),this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach((e=>this.emitEvent(e))),this.receiveBuffer=[],this.sendBuffer.forEach((e=>{this.notifyOutgoingListeners(e),this.packet(e)})),this.sendBuffer=[]}ondisconnect(){r("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach((e=>e())),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&(r("performing disconnect (%s)",this.nsp),this.packet({type:n.PacketType.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const 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){const 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){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}}t.Socket=p},9631:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.url=void 0;const n=s(8493),o=i(s(818)).default("socket.io-client:url");t.url=function(e,t="",s){let i=e;s=s||"undefined"!=typeof location&&location,null==e&&(e=s.protocol+"//"+s.host),"string"==typeof e&&("/"===e.charAt(0)&&(e="/"===e.charAt(1)?s.protocol+e:s.host+e),/^(https?|wss?):\/\//.test(e)||(o("protocol-less url %s",e),e=void 0!==s?s.protocol+"//"+e:"https://"+e),o("parse %s",e),i=n.parse(e)),i.port||(/^(http|ws)$/.test(i.protocol)?i.port="80":/^(http|ws)s$/.test(i.protocol)&&(i.port="443")),i.path=i.path||"/";const a=-1!==i.host.indexOf(":")?"["+i.host+"]":i.host;return i.id=i.protocol+"://"+a+":"+i.port+t,i.href=i.protocol+"://"+a+(s&&s.port===i.port?"":":"+i.port),i}},9182:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.reconstructPacket=t.deconstructPacket=void 0;const i=s(9485);function n(e,t){if(!e)return e;if((0,i.isBinary)(e)){const s={_placeholder:!0,num:t.length};return t.push(e),s}if(Array.isArray(e)){const s=new Array(e.length);for(let i=0;i<e.length;i++)s[i]=n(e[i],t);return s}if("object"==typeof e&&!(e instanceof Date)){const s={};for(const i in e)Object.prototype.hasOwnProperty.call(e,i)&&(s[i]=n(e[i],t));return s}return e}function o(e,t){if(!e)return e;if(e&&!0===e._placeholder){if("number"==typeof e.num&&e.num>=0&&e.num<t.length)return t[e.num];throw new Error("illegal attachments")}if(Array.isArray(e))for(let s=0;s<e.length;s++)e[s]=o(e[s],t);else if("object"==typeof e)for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(e[s]=o(e[s],t));return e}t.deconstructPacket=function(e){const t=[],s=e.data,i=e;return i.data=n(s,t),i.attachments=t.length,{packet:i,buffers:t}},t.reconstructPacket=function(e,t){return e.data=o(e.data,t),delete e.attachments,e}},4815:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Decoder=t.Encoder=t.PacketType=t.protocol=void 0;const i=s(9818),n=s(9182),o=s(9485),a=(0,s(818).default)("socket.io-parser"),r=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];var c;t.protocol=5,function(e){e[e.CONNECT=0]="CONNECT",e[e.DISCONNECT=1]="DISCONNECT",e[e.EVENT=2]="EVENT",e[e.ACK=3]="ACK",e[e.CONNECT_ERROR=4]="CONNECT_ERROR",e[e.BINARY_EVENT=5]="BINARY_EVENT",e[e.BINARY_ACK=6]="BINARY_ACK"}(c=t.PacketType||(t.PacketType={}));function p(e){return"[object Object]"===Object.prototype.toString.call(e)}t.Encoder=class{constructor(e){this.replacer=e}encode(e){return a("encoding packet %j",e),e.type!==c.EVENT&&e.type!==c.ACK||!(0,o.hasBinary)(e)?[this.encodeAsString(e)]:this.encodeAsBinary({type:e.type===c.EVENT?c.BINARY_EVENT:c.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id})}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+","),null!=e.id&&(t+=e.id),null!=e.data&&(t+=JSON.stringify(e.data,this.replacer)),a("encoded %j as %s",e,t),t}encodeAsBinary(e){const t=(0,n.deconstructPacket)(e),s=this.encodeAsString(t.packet),i=t.buffers;return i.unshift(s),i}};class l extends i.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if("string"==typeof e){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);const s=t.type===c.BINARY_EVENT;s||t.type===c.BINARY_ACK?(t.type=s?c.EVENT:c.ACK,this.reconstructor=new u(t),0===t.attachments&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else{if(!(0,o.isBinary)(e)&&!e.base64)throw new Error("Unknown type: "+e);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t))}}decodeString(e){let t=0;const s={type:Number(e.charAt(0))};if(void 0===c[s.type])throw new Error("unknown packet type "+s.type);if(s.type===c.BINARY_EVENT||s.type===c.BINARY_ACK){const i=t+1;for(;"-"!==e.charAt(++t)&&t!=e.length;);const n=e.substring(i,t);if(n!=Number(n)||"-"!==e.charAt(t))throw new Error("Illegal attachments");s.attachments=Number(n)}if("/"===e.charAt(t+1)){const i=t+1;for(;++t;){if(","===e.charAt(t))break;if(t===e.length)break}s.nsp=e.substring(i,t)}else s.nsp="/";const i=e.charAt(t+1);if(""!==i&&Number(i)==i){const i=t+1;for(;++t;){const s=e.charAt(t);if(null==s||Number(s)!=s){--t;break}if(t===e.length)break}s.id=Number(e.substring(i,t+1))}if(e.charAt(++t)){const i=this.tryParse(e.substr(t));if(!l.isPayloadValid(s.type,i))throw new Error("invalid payload");s.data=i}return a("decoded %s as %j",e,s),s}tryParse(e){try{return JSON.parse(e,this.reviver)}catch(e){return!1}}static isPayloadValid(e,t){switch(e){case c.CONNECT:return p(t);case c.DISCONNECT:return void 0===t;case c.CONNECT_ERROR:return"string"==typeof t||p(t);case c.EVENT:case c.BINARY_EVENT:return Array.isArray(t)&&("number"==typeof t[0]||"string"==typeof t[0]&&-1===r.indexOf(t[0]));case c.ACK:case c.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}t.Decoder=l;class u{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){const e=(0,n.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),e}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}},9485:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasBinary=t.isBinary=void 0;const s="function"==typeof ArrayBuffer,i=e=>"function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):e.buffer instanceof ArrayBuffer,n=Object.prototype.toString,o="function"==typeof Blob||"undefined"!=typeof Blob&&"[object BlobConstructor]"===n.call(Blob),a="function"==typeof File||"undefined"!=typeof File&&"[object FileConstructor]"===n.call(File);function r(e){return s&&(e instanceof ArrayBuffer||i(e))||o&&e instanceof Blob||a&&e instanceof File}t.isBinary=r,t.hasBinary=function e(t,s){if(!t||"object"!=typeof t)return!1;if(Array.isArray(t)){for(let s=0,i=t.length;s<i;s++)if(e(t[s]))return!0;return!1}if(r(t))return!0;if(t.toJSON&&"function"==typeof t.toJSON&&1===arguments.length)return e(t.toJSON(),!0);for(const s in t)if(Object.prototype.hasOwnProperty.call(t,s)&&e(t[s]))return!0;return!1}},3558:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RemoteSocket=t.BroadcastOperator=void 0;const i=s(2898),n=s(4815);class o{constructor(e,t=new Set,s=new Set,i={}){this.adapter=e,this.rooms=t,this.exceptRooms=s,this.flags=i}to(e){const t=new Set(this.rooms);return Array.isArray(e)?e.forEach((e=>t.add(e))):t.add(e),new o(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){const t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach((e=>t.add(e))):t.add(e),new o(this.adapter,this.rooms,t,this.flags)}compress(e){const t=Object.assign({},this.flags,{compress:e});return new o(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){const e=Object.assign({},this.flags,{volatile:!0});return new o(this.adapter,this.rooms,this.exceptRooms,e)}get local(){const e=Object.assign({},this.flags,{local:!0});return new o(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){const t=Object.assign({},this.flags,{timeout:e});return new o(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(i.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);const s=[e,...t],o={type:n.PacketType.EVENT,data:s};if(!("function"==typeof s[s.length-1]))return this.adapter.broadcast(o,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;const a=s.pop();let r=!1,c=[];const p=setTimeout((()=>{r=!0,a.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])}),this.flags.timeout);let l=-1,u=0,d=0;const h=()=>{r||l!==u||c.length!==d||(clearTimeout(p),a.apply(this,[null,this.flags.expectSingleResponse?c[0]:c]))};return this.adapter.broadcastWithAck(o,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},(e=>{d+=e,u++,h()}),(e=>{c.push(e),h()})),this.adapter.serverCount().then((e=>{l=e,h()})),!0}emitWithAck(e,...t){return new Promise(((s,i)=>{t.push(((e,t)=>e?(e.responses=t,i(e)):s(t))),this.emit(e,...t)}))}allSockets(){if(!this.adapter)throw new Error("No adapter for this namespace, are you trying to get the list of clients of a dynamic namespace?");return this.adapter.sockets(this.rooms)}fetchSockets(){return this.adapter.fetchSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags}).then((e=>e.map((e=>e instanceof i.Socket?e:new a(this.adapter,e)))))}socketsJoin(e){this.adapter.addSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}socketsLeave(e){this.adapter.delSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},Array.isArray(e)?e:[e])}disconnectSockets(e=!1){this.adapter.disconnectSockets({rooms:this.rooms,except:this.exceptRooms,flags:this.flags},e)}}t.BroadcastOperator=o;class a{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new o(e,new Set([this.id]),new Set,{expectSingleResponse:!0})}timeout(e){return this.operator.timeout(e)}emit(e,...t){return this.operator.emit(e,...t)}join(e){return this.operator.socketsJoin(e)}leave(e){return this.operator.socketsLeave(e)}disconnect(e=!1){return this.operator.disconnectSockets(e),this}}t.RemoteSocket=a},7269:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Client=void 0;const i=s(4815),n=s(818),o=s(7310),a=n("socket.io:client");t.Client=class{constructor(e,t){this.sockets=new Map,this.nsps=new Map,this.server=e,this.conn=t,this.encoder=e.encoder,this.decoder=new e._parser.Decoder,this.id=t.id,this.setup()}get request(){return this.conn.request}setup(){this.onclose=this.onclose.bind(this),this.ondata=this.ondata.bind(this),this.onerror=this.onerror.bind(this),this.ondecoded=this.ondecoded.bind(this),this.decoder.on("decoded",this.ondecoded),this.conn.on("data",this.ondata),this.conn.on("error",this.onerror),this.conn.on("close",this.onclose),this.connectTimeout=setTimeout((()=>{0===this.nsps.size?(a("no namespace joined yet, close the client"),this.close()):a("the client has already joined a namespace, nothing to do")}),this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return a("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,(s=>{s?this.doConnect(e,t):(a("creation of namespace %s was denied",e),this._packet({type:i.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))}))}doConnect(e,t){const s=this.server.of(e);s._add(this,t,(e=>{this.sockets.set(e.id,e),this.nsps.set(s.name,e),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}))}_disconnect(){for(const e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){const t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else a("ignoring remove for %s",e.id)}close(){"open"===this.conn.readyState&&(a("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if("open"!==this.conn.readyState)return void a("ignoring packet write %j",e);const s=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(s,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable)return void a("volatile packet is discarded since the transport is not currently writable");const s=Array.isArray(e)?e:[e];for(const e of s)this.conn.write(e,t)}ondata(e){try{this.decoder.add(e)}catch(e){a("invalid packet format"),this.onerror(e)}}ondecoded(e){let t,s;if(3===this.conn.protocol){const i=o.parse(e.nsp,!0);t=i.pathname,s=i.query}else t=e.nsp,s=e.data;const n=this.nsps.get(t);n||e.type!==i.PacketType.CONNECT?n&&e.type!==i.PacketType.CONNECT&&e.type!==i.PacketType.CONNECT_ERROR?process.nextTick((function(){n._onpacket(e)})):(a("invalid state (packet type: %s)",e.type),this.close()):this.connect(t,s)}onerror(e){for(const t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){a("client close with reason %s",e),this.destroy();for(const s of this.sockets.values())s._onclose(e,t);this.sockets.clear(),this.decoder.destroy()}destroy(){this.conn.removeListener("data",this.ondata),this.conn.removeListener("error",this.onerror),this.conn.removeListener("close",this.onclose),this.decoder.removeListener("decoded",this.ondecoded),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)}}},2625:function(e,t,s){"use strict";var i=this&&this.__createBinding||(Object.create?function(e,t,s,i){void 0===i&&(i=s);var n=Object.getOwnPropertyDescriptor(t,s);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[s]}}),Object.defineProperty(e,i,n)}:function(e,t,s,i){void 0===i&&(i=s),e[i]=t[s]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&i(t,e,s);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Namespace=t.Socket=t.Server=void 0;const r=s(3685),c=s(7147),p=s(9796),l=s(181),u=s(2781),d=s(1017),h=s(9600),m=s(7269),f=s(2361),v=s(3929);Object.defineProperty(t,"Namespace",{enumerable:!0,get:function(){return v.Namespace}});const x=s(5268),g=s(5099),b=o(s(4815)),y=a(s(818)),w=s(2898);Object.defineProperty(t,"Socket",{enumerable:!0,get:function(){return w.Socket}});const k=s(12),_=s(7117),S=a(s(9920)),E=(0,y.default)("socket.io:server"),T=s(1751).i8,C=/\.map/;class O extends k.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,"object"==typeof e&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(!1!==t.serveClient),this._parser=t.parser||b,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:12e4,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||g.SessionAwareAdapter)):this.adapter(t.adapter||g.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||"number"==typeof e)&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,S.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,s){if(0===this.parentNsps.size)return s(!1);const i=this.parentNsps.keys(),n=()=>{const o=i.next();if(o.done)return s(!1);o.value(e,t,((t,i)=>{if(t||!i)return n();if(this._nsps.has(e))return E("dynamic namespace %s already exists",e),s(this._nsps.get(e));const a=this.parentNsps.get(o.value).createChild(e);E("dynamic namespace %s was created",e),s(a)}))};n()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");const t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return void 0===e?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(const e of this._nsps.values())e._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if("function"==typeof e){throw new Error("You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.")}if(Number(e)==e&&(e=Number(e)),"number"==typeof e){E("creating http server and binding to %d",e);const t=e;(e=r.createServer(((e,t)=>{t.writeHead(404),t.end()}))).listen(t)}return Object.assign(t,this.opts),t.path=t.path||this._path,this.initEngine(e,t),this}attachApp(e,t={}){Object.assign(t,this.opts),t.path=t.path||this._path,E("creating uWebSockets.js-based engine with opts %j",t);const s=new h.uServer(t);s.attach(e,t),this.bind(s),this._serveClient&&e.get(`${this._path}/*`,((e,t)=>{if(!this.clientPathRegex.test(t.getUrl()))return void t.setYield(!0);const s=t.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),i=C.test(s),n=i?"map":"source",o='"'+T+'"',a="W/"+o,r=t.getHeader("if-none-match");if(r&&(o===r||a===r))return E("serve client %s 304",n),e.writeStatus("304 Not Modified"),void e.end();E("serve client %s",n),e.writeHeader("cache-control","public, max-age=0"),e.writeHeader("content-type","application/"+(i?"json":"javascript")+"; charset=utf-8"),e.writeHeader("etag",o);const c=d.join(__dirname,"../client-dist/",s);(0,_.serveFile)(e,c)})),(0,_.patchAdapter)(e)}initEngine(e,t){E("creating engine.io instance with opts %j",t),this.eio=(0,h.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){E("attaching client serving req handler");const t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",((s,i)=>{if(this.clientPathRegex.test(s.url))this._corsMiddleware?this._corsMiddleware(s,i,(()=>{this.serve(s,i)})):this.serve(s,i);else for(let n=0;n<t.length;n++)t[n].call(e,s,i)}))}serve(e,t){const s=e.url.replace(this._path,"").replace(/\?.*$/,""),i=C.test(s),n=i?"map":"source",o='"'+T+'"',a="W/"+o,r=e.headers["if-none-match"];if(r&&(o===r||a===r))return E("serve client %s 304",n),t.writeHead(304),void t.end();E("serve client %s",n),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(i?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",o),O.sendFile(s,e,t)}static sendFile(e,t,s){const i=(0,c.createReadStream)(d.join(__dirname,"../client-dist/",e)),n=e=>{e&&s.end()};switch(l(t).encodings(["br","gzip","deflate"])){case"br":s.writeHead(200,{"content-encoding":"br"}),i.pipe((0,p.createBrotliCompress)()).pipe(s),(0,u.pipeline)(i,(0,p.createBrotliCompress)(),s,n);break;case"gzip":s.writeHead(200,{"content-encoding":"gzip"}),(0,u.pipeline)(i,(0,p.createGzip)(),s,n);break;case"deflate":s.writeHead(200,{"content-encoding":"deflate"}),(0,u.pipeline)(i,(0,p.createDeflate)(),s,n);break;default:s.writeHead(200),(0,u.pipeline)(i,s,n)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){E("incoming connection with id %s",e.id);const t=new m.Client(this,e);return 3===e.protocol&&t.connect("/"),this}of(e,t){if("function"==typeof e||e instanceof RegExp){const s=new x.ParentNamespace(this);return E("initializing parent namespace %s",s.name),"function"==typeof e?this.parentNsps.set(e,s):(this.parentNsps.set(((t,s,i)=>i(null,e.test(t))),s),this.parentNamespacesFromRegExp.set(e,s)),t&&s.on("connect",t),s}"/"!==String(e)[0]&&(e="/"+e);let s=this._nsps.get(e);if(!s){for(const[t,s]of this.parentNamespacesFromRegExp)if(t.test(e))return E("attaching namespace %s to parent namespace %s",e,t),s.createChild(e);E("initializing namespace %s",e),s=new v.Namespace(this,e),this._nsps.set(e,s),"/"!==e&&this.sockets.emitReserved("new_namespace",s)}return t&&s.on("connect",t),s}close(e){for(const e of this.sockets.sockets.values())e._onclose("server shutting down");this.engine.close(),(0,_.restoreAdapter)(),this.httpServer?this.httpServer.close(e):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,...t){return this.sockets.serverSideEmit(e,...t)}serverSideEmitWithAck(e,...t){return this.sockets.serverSideEmitWithAck(e,...t)}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)}}t.Server=O;Object.keys(f.EventEmitter.prototype).filter((function(e){return"function"==typeof f.EventEmitter.prototype[e]})).forEach((function(e){O.prototype[e]=function(){return this.sockets[e].apply(this.sockets,arguments)}})),e.exports=(e,t)=>new O(e,t),e.exports.Server=O,e.exports.Namespace=v.Namespace,e.exports.Socket=w.Socket;s(2898)},3929:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Namespace=t.RESERVED_EVENTS=void 0;const n=s(2898),o=s(12),a=i(s(818)),r=s(3558),c=(0,a.default)("socket.io:namespace");t.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);class p extends o.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this)}use(e){return this._fns.push(e),this}run(e,t){const s=this._fns.slice(0);if(!s.length)return t(null);!function i(n){s[n](e,(function(e){return e?t(e):s[n+1]?void i(n+1):t(null)}))}(0)}to(e){return new r.BroadcastOperator(this.adapter).to(e)}in(e){return new r.BroadcastOperator(this.adapter).in(e)}except(e){return new r.BroadcastOperator(this.adapter).except(e)}async _add(e,t,s){var i;c("adding socket to nsp %s",this.name);const n=await this._createSocket(e,t);if((null===(i=this.server.opts.connectionStateRecovery)||void 0===i?void 0:i.skipMiddlewares)&&n.recovered&&"open"===e.conn.readyState)return this._doConnect(n,s);this.run(n,(t=>{process.nextTick((()=>"open"!==e.conn.readyState?(c("next called after client was closed - ignoring socket"),void n._cleanup()):t?(c("middleware error, sending CONNECT_ERROR packet to the client"),n._cleanup(),3===e.conn.protocol?n._error(t.data||t.message):n._error({message:t.message,data:t.data})):void this._doConnect(n,s)))}))}async _createSocket(e,t){const s=t.pid,i=t.offset;if(this.server.opts.connectionStateRecovery&&"string"==typeof s&&"string"==typeof i){let o;try{o=await this.adapter.restoreSession(s,i)}catch(e){c("error while restoring session: %s",e)}if(o)return c("connection state recovered for sid %s",o.sid),new n.Socket(this,e,t,o)}return new n.Socket(this,e,t)}_doConnect(e,t){this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.has(e.id)?this.sockets.delete(e.id):c("ignoring remove for %s",e.id)}emit(e,...t){return new r.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...s){if(t.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return s.unshift(e),this.adapter.serverSideEmit(s),!0}serverSideEmitWithAck(e,...t){return new Promise(((s,i)=>{t.push(((e,t)=>e?(e.responses=t,i(e)):s(t))),this.serverSideEmit(e,...t)}))}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new r.BroadcastOperator(this.adapter).allSockets()}compress(e){return new r.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new r.BroadcastOperator(this.adapter).volatile}get local(){return new r.BroadcastOperator(this.adapter).local}timeout(e){return new r.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new r.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new r.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new r.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new r.BroadcastOperator(this.adapter).disconnectSockets(e)}}t.Namespace=p},5268:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ParentNamespace=void 0;const n=s(3929),o=(0,i(s(818)).default)("socket.io:parent-namespace");class a extends n.Namespace{constructor(e){super(e,"/_"+a.count++),this.children=new Set}_initAdapter(){this.adapter={broadcast:(e,t)=>{this.children.forEach((s=>{s.adapter.broadcast(e,t)}))}}}emit(e,...t){return this.children.forEach((s=>{s.emit(e,...t)})),!0}createChild(e){o("creating child namespace %s",e);const t=new n.Namespace(this.server,e);if(t._fns=this._fns.slice(0),this.listeners("connect").forEach((e=>t.on("connect",e))),this.listeners("connection").forEach((e=>t.on("connection",e))),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){const s=t._remove;t._remove=i=>{s.call(t,i),0===t.sockets.size&&(o("closing child namespace %s",e),t.adapter.close(),this.server._nsps.delete(t.name),this.children.delete(t))}}return this.server._nsps.set(e,t),this.server.sockets.emitReserved("new_namespace",t),t}fetchSockets(){throw new Error("fetchSockets() is not supported on parent namespaces")}}t.ParentNamespace=a,a.count=0},2898:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Socket=t.RESERVED_EVENTS=void 0;const n=s(4815),o=i(s(818)),a=s(12),r=i(s(9916)),c=s(3558),p=(0,o.default)("socket.io:socket"),l=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function u(){}t.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"]);class d extends a.StrictEventEmitter{constructor(e,t,s,i){super(),this.nsp=e,this.client=t,this.recovered=!1,this.data={},this.connected=!1,this.acks=new Map,this.fns=[],this.flags={},this.server=e.server,this.adapter=this.nsp.adapter,i?(this.id=i.sid,this.pid=i.pid,i.rooms.forEach((e=>this.join(e))),this.data=i.data,i.missedPackets.forEach((e=>{this.packet({type:n.PacketType.EVENT,data:e})})),this.recovered=!0):(3===t.conn.protocol?this.id="/"!==e.name?e.name+"#"+t.id:t.id:this.id=r.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=r.default.generateId())),this.handshake=this.buildHandshake(s),this.on("error",u)}buildHandshake(e){var t,s,i,n;return{headers:(null===(t=this.request)||void 0===t?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(null===(s=this.request)||void 0===s?void 0:s.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:null===(i=this.request)||void 0===i?void 0:i.url,query:(null===(n=this.request)||void 0===n?void 0:n._query)||{},auth:e}}emit(e,...s){if(t.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);const i=[e,...s],o={type:n.PacketType.EVENT,data:i};if("function"==typeof i[i.length-1]){const e=this.nsp._ids++;p("emitting packet with ack id %d",e),this.registerAckCallback(e,i.pop()),o.id=e}const a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(o,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(o),this.packet(o,a)),!0}emitWithAck(e,...t){const s=void 0!==this.flags.timeout;return new Promise(((i,n)=>{t.push(((e,t)=>s?e?n(e):i(t):i(e))),this.emit(e,...t)}))}registerAckCallback(e,t){const s=this.flags.timeout;if(void 0===s)return void this.acks.set(e,t);const i=setTimeout((()=>{p("event with ack id %d has timed out after %d ms",e,s),this.acks.delete(e),t.call(this,new Error("operation has timed out"))}),s);this.acks.set(e,((...e)=>{clearTimeout(i),t.apply(this,[null,...e])}))}to(e){return this.newBroadcastOperator().to(e)}in(e){return this.newBroadcastOperator().in(e)}except(e){return this.newBroadcastOperator().except(e)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}packet(e,t={}){e.nsp=this.nsp.name,t.compress=!1!==t.compress,this.client._packet(e,t)}join(e){return p("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return p("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){p("socket connected - writing packet"),this.connected=!0,this.join(this.id),3===this.conn.protocol?this.packet({type:n.PacketType.CONNECT}):this.packet({type:n.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(p("got packet %j",e),e.type){case n.PacketType.EVENT:case n.PacketType.BINARY_EVENT:this.onevent(e);break;case n.PacketType.ACK:case n.PacketType.BINARY_ACK:this.onack(e);break;case n.PacketType.DISCONNECT:this.ondisconnect()}}onevent(e){const t=e.data||[];if(p("emitting event %j",t),null!=e.id&&(p("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const s of e)s.apply(this,t)}this.dispatch(t)}ack(e){const t=this;let s=!1;return function(){if(s)return;const i=Array.prototype.slice.call(arguments);p("sending ack %j",i),t.packet({id:e,type:n.PacketType.ACK,data:i}),s=!0}}onack(e){const t=this.acks.get(e.id);"function"==typeof t?(p("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):p("bad ack %s",e.id)}ondisconnect(){p("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;p("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&l.has(e)&&(p("connection state recovery is enabled for sid %s",this.id),this.adapter.persistSession({sid:this.id,pid:this.pid,rooms:[...this.rooms],data:this.data})),this._cleanup(),this.client._remove(this),this.connected=!1,this.emitReserved("disconnect",e,t)}_cleanup(){this.leaveAll(),this.nsp._remove(this),this.join=u}_error(e){this.packet({type:n.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:n.PacketType.DISCONNECT}),this._onclose("server namespace disconnect")),this):this}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}get broadcast(){return this.newBroadcastOperator()}get local(){return this.newBroadcastOperator().local}timeout(e){return this.flags.timeout=e,this}dispatch(e){p("dispatching an event %j",e),this.run(e,(t=>{process.nextTick((()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):p("ignore packet received after disconnection")}))}))}use(e){return this.fns.push(e),this}run(e,t){const s=this.fns.slice(0);if(!s.length)return t(null);!function i(n){s[n](e,(function(e){return e?t(e):s[n+1]?void i(n+1):t(null)}))}(0)}get disconnected(){return!this.connected}get request(){return this.client.request}get conn(){return this.client.conn}get rooms(){return this.adapter.socketRooms(this.id)||new Set}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){const 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){const 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){const t=this._anyOutgoingListeners.slice();for(const s of t)s.apply(this,e.data)}}newBroadcastOperator(){const e=Object.assign({},this.flags);return this.flags={},new c.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}}t.Socket=d},12:(e,t,s)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StrictEventEmitter=void 0;const i=s(2361);class n extends i.EventEmitter{on(e,t){return super.on(e,t)}once(e,t){return super.once(e,t)}emit(e,...t){return super.emit(e,...t)}emitReserved(e,...t){return super.emit(e,...t)}emitUntyped(e,...t){return super.emit(e,...t)}listeners(e){return super.listeners(e)}}t.StrictEventEmitter=n},7117:function(e,t,s){"use strict";var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.serveFile=t.restoreAdapter=t.patchAdapter=void 0;const n=s(5099),o=s(7147),a=(0,i(s(818)).default)("socket.io:adapter-uws"),r="",{addAll:c,del:p,broadcast:l}=n.Adapter.prototype;function u(e,t,s,i){const n=t.conn.id,o=t.conn.transport.socket;s&&(a("subscribe connection %s to topic %s",n,e),o.subscribe(e)),i.forEach((t=>{const s=`${e}${r}${t}`;a("subscribe connection %s to topic %s",n,s),o.subscribe(s)}))}t.patchAdapter=function(e){n.Adapter.prototype.addAll=function(e,t){const s=!this.sids.has(e);c.call(this,e,t);const i=this.nsp.sockets.get(e);i&&("websocket"!==i.conn.transport.name?s&&i.conn.on("upgrade",(()=>{const t=this.sids.get(e);t&&u(this.nsp.name,i,s,t)})):u(this.nsp.name,i,s,t))},n.Adapter.prototype.del=function(e,t){p.call(this,e,t);const s=this.nsp.sockets.get(e);if(s&&"websocket"===s.conn.transport.name){const e=s.conn.id,i=s.conn.transport.socket,n=`${this.nsp.name}${r}${t}`;a("unsubscribe connection %s from topic %s",e,n),i.unsubscribe(n)}},n.Adapter.prototype.broadcast=function(t,s){if(!(s.rooms.size<=1&&0===s.except.size))return void l.call(this,t,s);const i=s.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};t.nsp=this.nsp.name;const o=this.encoder.encode(t),c=0===s.rooms.size?this.nsp.name:`${this.nsp.name}${r}${s.rooms.keys().next().value}`;a("fast publish to %s",c),o.forEach((t=>{const s="string"!=typeof t;e.publish(c,s?t:"4"+t,s)})),this.apply(s,(e=>{"websocket"!==e.conn.transport.name&&e.client.writeToEngine(o,n)}))}},t.restoreAdapter=function(){n.Adapter.prototype.addAll=c,n.Adapter.prototype.del=p,n.Adapter.prototype.broadcast=l};t.serveFile=function(e,t){const{size:s}=(0,o.statSync)(t),i=(0,o.createReadStream)(t),n=()=>!i.destroyed&&i.destroy();e.onAborted(n),i.on("data",(t=>{const n=(e=>{const{buffer:t,byteOffset:s,byteLength:i}=e;return t.slice(s,s+i)})(t),o=e.getWriteOffset(),[a,r]=e.tryEnd(n,s);r||a||(i.pause(),e.onWritable((t=>{const[a,r]=e.tryEnd(n.slice(t-o),s);return!r&&a&&i.resume(),a})))})).on("error",(e=>{throw n(),e})).on("end",n)}},9818:(e,t,s)=>{"use strict";function i(e){if(e)return function(e){for(var t in i.prototype)e[t]=i.prototype[t];return e}(e)}s.r(t),s.d(t,{Emitter:()=>i}),i.prototype.on=i.prototype.addEventListener=function(e,t){return this._callbacks=this._callbacks||{},(this._callbacks["$"+e]=this._callbacks["$"+e]||[]).push(t),this},i.prototype.once=function(e,t){function s(){this.off(e,s),t.apply(this,arguments)}return s.fn=t,this.on(e,s),this},i.prototype.off=i.prototype.removeListener=i.prototype.removeAllListeners=i.prototype.removeEventListener=function(e,t){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var s,i=this._callbacks["$"+e];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+e],this;for(var n=0;n<i.length;n++)if((s=i[n])===t||s.fn===t){i.splice(n,1);break}return 0===i.length&&delete this._callbacks["$"+e],this},i.prototype.emit=function(e){this._callbacks=this._callbacks||{};for(var t=new Array(arguments.length-1),s=this._callbacks["$"+e],i=1;i<arguments.length;i++)t[i-1]=arguments[i];if(s){i=0;for(var n=(s=s.slice(0)).length;i<n;++i)s[i].apply(this,t)}return this},i.prototype.emitReserved=i.prototype.emit,i.prototype.listeners=function(e){return this._callbacks=this._callbacks||{},this._callbacks["$"+e]||[]},i.prototype.hasListeners=function(e){return!!this.listeners(e).length}},9601:e=>{"use strict";e.exports=JSON.parse('{"application/1d-interleaved-parityfec":{"source":"iana"},"application/3gpdash-qoe-report+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/3gpp-ims+xml":{"source":"iana","compressible":true},"application/3gpphal+json":{"source":"iana","compressible":true},"application/3gpphalforms+json":{"source":"iana","compressible":true},"application/a2l":{"source":"iana"},"application/ace+cbor":{"source":"iana"},"application/activemessage":{"source":"iana"},"application/activity+json":{"source":"iana","compressible":true},"application/alto-costmap+json":{"source":"iana","compressible":true},"application/alto-costmapfilter+json":{"source":"iana","compressible":true},"application/alto-directory+json":{"source":"iana","compressible":true},"application/alto-endpointcost+json":{"source":"iana","compressible":true},"application/alto-endpointcostparams+json":{"source":"iana","compressible":true},"application/alto-endpointprop+json":{"source":"iana","compressible":true},"application/alto-endpointpropparams+json":{"source":"iana","compressible":true},"application/alto-error+json":{"source":"iana","compressible":true},"application/alto-networkmap+json":{"source":"iana","compressible":true},"application/alto-networkmapfilter+json":{"source":"iana","compressible":true},"application/alto-updatestreamcontrol+json":{"source":"iana","compressible":true},"application/alto-updatestreamparams+json":{"source":"iana","compressible":true},"application/aml":{"source":"iana"},"application/andrew-inset":{"source":"iana","extensions":["ez"]},"application/applefile":{"source":"iana"},"application/applixware":{"source":"apache","extensions":["aw"]},"application/at+jwt":{"source":"iana"},"application/atf":{"source":"iana"},"application/atfx":{"source":"iana"},"application/atom+xml":{"source":"iana","compressible":true,"extensions":["atom"]},"application/atomcat+xml":{"source":"iana","compressible":true,"extensions":["atomcat"]},"application/atomdeleted+xml":{"source":"iana","compressible":true,"extensions":["atomdeleted"]},"application/atomicmail":{"source":"iana"},"application/atomsvc+xml":{"source":"iana","compressible":true,"extensions":["atomsvc"]},"application/atsc-dwd+xml":{"source":"iana","compressible":true,"extensions":["dwd"]},"application/atsc-dynamic-event-message":{"source":"iana"},"application/atsc-held+xml":{"source":"iana","compressible":true,"extensions":["held"]},"application/atsc-rdt+json":{"source":"iana","compressible":true},"application/atsc-rsat+xml":{"source":"iana","compressible":true,"extensions":["rsat"]},"application/atxml":{"source":"iana"},"application/auth-policy+xml":{"source":"iana","compressible":true},"application/bacnet-xdd+zip":{"source":"iana","compressible":false},"application/batch-smtp":{"source":"iana"},"application/bdoc":{"compressible":false,"extensions":["bdoc"]},"application/beep+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/calendar+json":{"source":"iana","compressible":true},"application/calendar+xml":{"source":"iana","compressible":true,"extensions":["xcs"]},"application/call-completion":{"source":"iana"},"application/cals-1840":{"source":"iana"},"application/captive+json":{"source":"iana","compressible":true},"application/cbor":{"source":"iana"},"application/cbor-seq":{"source":"iana"},"application/cccex":{"source":"iana"},"application/ccmp+xml":{"source":"iana","compressible":true},"application/ccxml+xml":{"source":"iana","compressible":true,"extensions":["ccxml"]},"application/cdfx+xml":{"source":"iana","compressible":true,"extensions":["cdfx"]},"application/cdmi-capability":{"source":"iana","extensions":["cdmia"]},"application/cdmi-container":{"source":"iana","extensions":["cdmic"]},"application/cdmi-domain":{"source":"iana","extensions":["cdmid"]},"application/cdmi-object":{"source":"iana","extensions":["cdmio"]},"application/cdmi-queue":{"source":"iana","extensions":["cdmiq"]},"application/cdni":{"source":"iana"},"application/cea":{"source":"iana"},"application/cea-2018+xml":{"source":"iana","compressible":true},"application/cellml+xml":{"source":"iana","compressible":true},"application/cfw":{"source":"iana"},"application/city+json":{"source":"iana","compressible":true},"application/clr":{"source":"iana"},"application/clue+xml":{"source":"iana","compressible":true},"application/clue_info+xml":{"source":"iana","compressible":true},"application/cms":{"source":"iana"},"application/cnrp+xml":{"source":"iana","compressible":true},"application/coap-group+json":{"source":"iana","compressible":true},"application/coap-payload":{"source":"iana"},"application/commonground":{"source":"iana"},"application/conference-info+xml":{"source":"iana","compressible":true},"application/cose":{"source":"iana"},"application/cose-key":{"source":"iana"},"application/cose-key-set":{"source":"iana"},"application/cpl+xml":{"source":"iana","compressible":true,"extensions":["cpl"]},"application/csrattrs":{"source":"iana"},"application/csta+xml":{"source":"iana","compressible":true},"application/cstadata+xml":{"source":"iana","compressible":true},"application/csvm+json":{"source":"iana","compressible":true},"application/cu-seeme":{"source":"apache","extensions":["cu"]},"application/cwt":{"source":"iana"},"application/cybercash":{"source":"iana"},"application/dart":{"compressible":true},"application/dash+xml":{"source":"iana","compressible":true,"extensions":["mpd"]},"application/dash-patch+xml":{"source":"iana","compressible":true,"extensions":["mpp"]},"application/dashdelta":{"source":"iana"},"application/davmount+xml":{"source":"iana","compressible":true,"extensions":["davmount"]},"application/dca-rft":{"source":"iana"},"application/dcd":{"source":"iana"},"application/dec-dx":{"source":"iana"},"application/dialog-info+xml":{"source":"iana","compressible":true},"application/dicom":{"source":"iana"},"application/dicom+json":{"source":"iana","compressible":true},"application/dicom+xml":{"source":"iana","compressible":true},"application/dii":{"source":"iana"},"application/dit":{"source":"iana"},"application/dns":{"source":"iana"},"application/dns+json":{"source":"iana","compressible":true},"application/dns-message":{"source":"iana"},"application/docbook+xml":{"source":"apache","compressible":true,"extensions":["dbk"]},"application/dots+cbor":{"source":"iana"},"application/dskpp+xml":{"source":"iana","compressible":true},"application/dssc+der":{"source":"iana","extensions":["dssc"]},"application/dssc+xml":{"source":"iana","compressible":true,"extensions":["xdssc"]},"application/dvcs":{"source":"iana"},"application/ecmascript":{"source":"iana","compressible":true,"extensions":["es","ecma"]},"application/edi-consent":{"source":"iana"},"application/edi-x12":{"source":"iana","compressible":false},"application/edifact":{"source":"iana","compressible":false},"application/efi":{"source":"iana"},"application/elm+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/elm+xml":{"source":"iana","compressible":true},"application/emergencycalldata.cap+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/emergencycalldata.comment+xml":{"source":"iana","compressible":true},"application/emergencycalldata.control+xml":{"source":"iana","compressible":true},"application/emergencycalldata.deviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.ecall.msd":{"source":"iana"},"application/emergencycalldata.providerinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.serviceinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.subscriberinfo+xml":{"source":"iana","compressible":true},"application/emergencycalldata.veds+xml":{"source":"iana","compressible":true},"application/emma+xml":{"source":"iana","compressible":true,"extensions":["emma"]},"application/emotionml+xml":{"source":"iana","compressible":true,"extensions":["emotionml"]},"application/encaprtp":{"source":"iana"},"application/epp+xml":{"source":"iana","compressible":true},"application/epub+zip":{"source":"iana","compressible":false,"extensions":["epub"]},"application/eshop":{"source":"iana"},"application/exi":{"source":"iana","extensions":["exi"]},"application/expect-ct-report+json":{"source":"iana","compressible":true},"application/express":{"source":"iana","extensions":["exp"]},"application/fastinfoset":{"source":"iana"},"application/fastsoap":{"source":"iana"},"application/fdt+xml":{"source":"iana","compressible":true,"extensions":["fdt"]},"application/fhir+json":{"source":"iana","charset":"UTF-8","compressible":true},"application/fhir+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/fido.trusted-apps+json":{"compressible":true},"application/fits":{"source":"iana"},"application/flexfec":{"source":"iana"},"application/font-sfnt":{"source":"iana"},"application/font-tdpfr":{"source":"iana","extensions":["pfr"]},"application/font-woff":{"source":"iana","compressible":false},"application/framework-attributes+xml":{"source":"iana","compressible":true},"application/geo+json":{"source":"iana","compressible":true,"extensions":["geojson"]},"application/geo+json-seq":{"source":"iana"},"application/geopackage+sqlite3":{"source":"iana"},"application/geoxacml+xml":{"source":"iana","compressible":true},"application/gltf-buffer":{"source":"iana"},"application/gml+xml":{"source":"iana","compressible":true,"extensions":["gml"]},"application/gpx+xml":{"source":"apache","compressible":true,"extensions":["gpx"]},"application/gxf":{"source":"apache","extensions":["gxf"]},"application/gzip":{"source":"iana","compressible":false,"extensions":["gz"]},"application/h224":{"source":"iana"},"application/held+xml":{"source":"iana","compressible":true},"application/hjson":{"extensions":["hjson"]},"application/http":{"source":"iana"},"application/hyperstudio":{"source":"iana","extensions":["stk"]},"application/ibe-key-request+xml":{"source":"iana","compressible":true},"application/ibe-pkg-reply+xml":{"source":"iana","compressible":true},"application/ibe-pp-data":{"source":"iana"},"application/iges":{"source":"iana"},"application/im-iscomposing+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/index":{"source":"iana"},"application/index.cmd":{"source":"iana"},"application/index.obj":{"source":"iana"},"application/index.response":{"source":"iana"},"application/index.vnd":{"source":"iana"},"application/inkml+xml":{"source":"iana","compressible":true,"extensions":["ink","inkml"]},"application/iotp":{"source":"iana"},"application/ipfix":{"source":"iana","extensions":["ipfix"]},"application/ipp":{"source":"iana"},"application/isup":{"source":"iana"},"application/its+xml":{"source":"iana","compressible":true,"extensions":["its"]},"application/java-archive":{"source":"apache","compressible":false,"extensions":["jar","war","ear"]},"application/java-serialized-object":{"source":"apache","compressible":false,"extensions":["ser"]},"application/java-vm":{"source":"apache","compressible":false,"extensions":["class"]},"application/javascript":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["js","mjs"]},"application/jf2feed+json":{"source":"iana","compressible":true},"application/jose":{"source":"iana"},"application/jose+json":{"source":"iana","compressible":true},"application/jrd+json":{"source":"iana","compressible":true},"application/jscalendar+json":{"source":"iana","compressible":true},"application/json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["json","map"]},"application/json-patch+json":{"source":"iana","compressible":true},"application/json-seq":{"source":"iana"},"application/json5":{"extensions":["json5"]},"application/jsonml+json":{"source":"apache","compressible":true,"extensions":["jsonml"]},"application/jwk+json":{"source":"iana","compressible":true},"application/jwk-set+json":{"source":"iana","compressible":true},"application/jwt":{"source":"iana"},"application/kpml-request+xml":{"source":"iana","compressible":true},"application/kpml-response+xml":{"source":"iana","compressible":true},"application/ld+json":{"source":"iana","compressible":true,"extensions":["jsonld"]},"application/lgr+xml":{"source":"iana","compressible":true,"extensions":["lgr"]},"application/link-format":{"source":"iana"},"application/load-control+xml":{"source":"iana","compressible":true},"application/lost+xml":{"source":"iana","compressible":true,"extensions":["lostxml"]},"application/lostsync+xml":{"source":"iana","compressible":true},"application/lpf+zip":{"source":"iana","compressible":false},"application/lxf":{"source":"iana"},"application/mac-binhex40":{"source":"iana","extensions":["hqx"]},"application/mac-compactpro":{"source":"apache","extensions":["cpt"]},"application/macwriteii":{"source":"iana"},"application/mads+xml":{"source":"iana","compressible":true,"extensions":["mads"]},"application/manifest+json":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["webmanifest"]},"application/marc":{"source":"iana","extensions":["mrc"]},"application/marcxml+xml":{"source":"iana","compressible":true,"extensions":["mrcx"]},"application/mathematica":{"source":"iana","extensions":["ma","nb","mb"]},"application/mathml+xml":{"source":"iana","compressible":true,"extensions":["mathml"]},"application/mathml-content+xml":{"source":"iana","compressible":true},"application/mathml-presentation+xml":{"source":"iana","compressible":true},"application/mbms-associated-procedure-description+xml":{"source":"iana","compressible":true},"application/mbms-deregister+xml":{"source":"iana","compressible":true},"application/mbms-envelope+xml":{"source":"iana","compressible":true},"application/mbms-msk+xml":{"source":"iana","compressible":true},"application/mbms-msk-response+xml":{"source":"iana","compressible":true},"application/mbms-protection-description+xml":{"source":"iana","compressible":true},"application/mbms-reception-report+xml":{"source":"iana","compressible":true},"application/mbms-register+xml":{"source":"iana","compressible":true},"application/mbms-register-response+xml":{"source":"iana","compressible":true},"application/mbms-schedule+xml":{"source":"iana","compressible":true},"application/mbms-user-service-description+xml":{"source":"iana","compressible":true},"application/mbox":{"source":"iana","extensions":["mbox"]},"application/media-policy-dataset+xml":{"source":"iana","compressible":true,"extensions":["mpf"]},"application/media_control+xml":{"source":"iana","compressible":true},"application/mediaservercontrol+xml":{"source":"iana","compressible":true,"extensions":["mscml"]},"application/merge-patch+json":{"source":"iana","compressible":true},"application/metalink+xml":{"source":"apache","compressible":true,"extensions":["metalink"]},"application/metalink4+xml":{"source":"iana","compressible":true,"extensions":["meta4"]},"application/mets+xml":{"source":"iana","compressible":true,"extensions":["mets"]},"application/mf4":{"source":"iana"},"application/mikey":{"source":"iana"},"application/mipc":{"source":"iana"},"application/missing-blocks+cbor-seq":{"source":"iana"},"application/mmt-aei+xml":{"source":"iana","compressible":true,"extensions":["maei"]},"application/mmt-usd+xml":{"source":"iana","compressible":true,"extensions":["musd"]},"application/mods+xml":{"source":"iana","compressible":true,"extensions":["mods"]},"application/moss-keys":{"source":"iana"},"application/moss-signature":{"source":"iana"},"application/mosskey-data":{"source":"iana"},"application/mosskey-request":{"source":"iana"},"application/mp21":{"source":"iana","extensions":["m21","mp21"]},"application/mp4":{"source":"iana","extensions":["mp4s","m4p"]},"application/mpeg4-generic":{"source":"iana"},"application/mpeg4-iod":{"source":"iana"},"application/mpeg4-iod-xmt":{"source":"iana"},"application/mrb-consumer+xml":{"source":"iana","compressible":true},"application/mrb-publish+xml":{"source":"iana","compressible":true},"application/msc-ivr+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msc-mixer+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/msword":{"source":"iana","compressible":false,"extensions":["doc","dot"]},"application/mud+json":{"source":"iana","compressible":true},"application/multipart-core":{"source":"iana"},"application/mxf":{"source":"iana","extensions":["mxf"]},"application/n-quads":{"source":"iana","extensions":["nq"]},"application/n-triples":{"source":"iana","extensions":["nt"]},"application/nasdata":{"source":"iana"},"application/news-checkgroups":{"source":"iana","charset":"US-ASCII"},"application/news-groupinfo":{"source":"iana","charset":"US-ASCII"},"application/news-transmission":{"source":"iana"},"application/nlsml+xml":{"source":"iana","compressible":true},"application/node":{"source":"iana","extensions":["cjs"]},"application/nss":{"source":"iana"},"application/oauth-authz-req+jwt":{"source":"iana"},"application/oblivious-dns-message":{"source":"iana"},"application/ocsp-request":{"source":"iana"},"application/ocsp-response":{"source":"iana"},"application/octet-stream":{"source":"iana","compressible":false,"extensions":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"]},"application/oda":{"source":"iana","extensions":["oda"]},"application/odm+xml":{"source":"iana","compressible":true},"application/odx":{"source":"iana"},"application/oebps-package+xml":{"source":"iana","compressible":true,"extensions":["opf"]},"application/ogg":{"source":"iana","compressible":false,"extensions":["ogx"]},"application/omdoc+xml":{"source":"apache","compressible":true,"extensions":["omdoc"]},"application/onenote":{"source":"apache","extensions":["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{"source":"iana","compressible":true},"application/oscore":{"source":"iana"},"application/oxps":{"source":"iana","extensions":["oxps"]},"application/p21":{"source":"iana"},"application/p21+zip":{"source":"iana","compressible":false},"application/p2p-overlay+xml":{"source":"iana","compressible":true,"extensions":["relo"]},"application/parityfec":{"source":"iana"},"application/passport":{"source":"iana"},"application/patch-ops-error+xml":{"source":"iana","compressible":true,"extensions":["xer"]},"application/pdf":{"source":"iana","compressible":false,"extensions":["pdf"]},"application/pdx":{"source":"iana"},"application/pem-certificate-chain":{"source":"iana"},"application/pgp-encrypted":{"source":"iana","compressible":false,"extensions":["pgp"]},"application/pgp-keys":{"source":"iana","extensions":["asc"]},"application/pgp-signature":{"source":"iana","extensions":["asc","sig"]},"application/pics-rules":{"source":"apache","extensions":["prf"]},"application/pidf+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pidf-diff+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/pkcs10":{"source":"iana","extensions":["p10"]},"application/pkcs12":{"source":"iana"},"application/pkcs7-mime":{"source":"iana","extensions":["p7m","p7c"]},"application/pkcs7-signature":{"source":"iana","extensions":["p7s"]},"application/pkcs8":{"source":"iana","extensions":["p8"]},"application/pkcs8-encrypted":{"source":"iana"},"application/pkix-attr-cert":{"source":"iana","extensions":["ac"]},"application/pkix-cert":{"source":"iana","extensions":["cer"]},"application/pkix-crl":{"source":"iana","extensions":["crl"]},"application/pkix-pkipath":{"source":"iana","extensions":["pkipath"]},"application/pkixcmp":{"source":"iana","extensions":["pki"]},"application/pls+xml":{"source":"iana","compressible":true,"extensions":["pls"]},"application/poc-settings+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/postscript":{"source":"iana","compressible":true,"extensions":["ai","eps","ps"]},"application/ppsp-tracker+json":{"source":"iana","compressible":true},"application/problem+json":{"source":"iana","compressible":true},"application/problem+xml":{"source":"iana","compressible":true},"application/provenance+xml":{"source":"iana","compressible":true,"extensions":["provx"]},"application/prs.alvestrand.titrax-sheet":{"source":"iana"},"application/prs.cww":{"source":"iana","extensions":["cww"]},"application/prs.cyn":{"source":"iana","charset":"7-BIT"},"application/prs.hpub+zip":{"source":"iana","compressible":false},"application/prs.nprend":{"source":"iana"},"application/prs.plucker":{"source":"iana"},"application/prs.rdf-xml-crypt":{"source":"iana"},"application/prs.xsf+xml":{"source":"iana","compressible":true},"application/pskc+xml":{"source":"iana","compressible":true,"extensions":["pskcxml"]},"application/pvd+json":{"source":"iana","compressible":true},"application/qsig":{"source":"iana"},"application/raml+yaml":{"compressible":true,"extensions":["raml"]},"application/raptorfec":{"source":"iana"},"application/rdap+json":{"source":"iana","compressible":true},"application/rdf+xml":{"source":"iana","compressible":true,"extensions":["rdf","owl"]},"application/reginfo+xml":{"source":"iana","compressible":true,"extensions":["rif"]},"application/relax-ng-compact-syntax":{"source":"iana","extensions":["rnc"]},"application/remote-printing":{"source":"iana"},"application/reputon+json":{"source":"iana","compressible":true},"application/resource-lists+xml":{"source":"iana","compressible":true,"extensions":["rl"]},"application/resource-lists-diff+xml":{"source":"iana","compressible":true,"extensions":["rld"]},"application/rfc+xml":{"source":"iana","compressible":true},"application/riscos":{"source":"iana"},"application/rlmi+xml":{"source":"iana","compressible":true},"application/rls-services+xml":{"source":"iana","compressible":true,"extensions":["rs"]},"application/route-apd+xml":{"source":"iana","compressible":true,"extensions":["rapd"]},"application/route-s-tsid+xml":{"source":"iana","compressible":true,"extensions":["sls"]},"application/route-usd+xml":{"source":"iana","compressible":true,"extensions":["rusd"]},"application/rpki-ghostbusters":{"source":"iana","extensions":["gbr"]},"application/rpki-manifest":{"source":"iana","extensions":["mft"]},"application/rpki-publication":{"source":"iana"},"application/rpki-roa":{"source":"iana","extensions":["roa"]},"application/rpki-updown":{"source":"iana"},"application/rsd+xml":{"source":"apache","compressible":true,"extensions":["rsd"]},"application/rss+xml":{"source":"apache","compressible":true,"extensions":["rss"]},"application/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"application/rtploopback":{"source":"iana"},"application/rtx":{"source":"iana"},"application/samlassertion+xml":{"source":"iana","compressible":true},"application/samlmetadata+xml":{"source":"iana","compressible":true},"application/sarif+json":{"source":"iana","compressible":true},"application/sarif-external-properties+json":{"source":"iana","compressible":true},"application/sbe":{"source":"iana"},"application/sbml+xml":{"source":"iana","compressible":true,"extensions":["sbml"]},"application/scaip+xml":{"source":"iana","compressible":true},"application/scim+json":{"source":"iana","compressible":true},"application/scvp-cv-request":{"source":"iana","extensions":["scq"]},"application/scvp-cv-response":{"source":"iana","extensions":["scs"]},"application/scvp-vp-request":{"source":"iana","extensions":["spq"]},"application/scvp-vp-response":{"source":"iana","extensions":["spp"]},"application/sdp":{"source":"iana","extensions":["sdp"]},"application/secevent+jwt":{"source":"iana"},"application/senml+cbor":{"source":"iana"},"application/senml+json":{"source":"iana","compressible":true},"application/senml+xml":{"source":"iana","compressible":true,"extensions":["senmlx"]},"application/senml-etch+cbor":{"source":"iana"},"application/senml-etch+json":{"source":"iana","compressible":true},"application/senml-exi":{"source":"iana"},"application/sensml+cbor":{"source":"iana"},"application/sensml+json":{"source":"iana","compressible":true},"application/sensml+xml":{"source":"iana","compressible":true,"extensions":["sensmlx"]},"application/sensml-exi":{"source":"iana"},"application/sep+xml":{"source":"iana","compressible":true},"application/sep-exi":{"source":"iana"},"application/session-info":{"source":"iana"},"application/set-payment":{"source":"iana"},"application/set-payment-initiation":{"source":"iana","extensions":["setpay"]},"application/set-registration":{"source":"iana"},"application/set-registration-initiation":{"source":"iana","extensions":["setreg"]},"application/sgml":{"source":"iana"},"application/sgml-open-catalog":{"source":"iana"},"application/shf+xml":{"source":"iana","compressible":true,"extensions":["shf"]},"application/sieve":{"source":"iana","extensions":["siv","sieve"]},"application/simple-filter+xml":{"source":"iana","compressible":true},"application/simple-message-summary":{"source":"iana"},"application/simplesymbolcontainer":{"source":"iana"},"application/sipc":{"source":"iana"},"application/slate":{"source":"iana"},"application/smil":{"source":"iana"},"application/smil+xml":{"source":"iana","compressible":true,"extensions":["smi","smil"]},"application/smpte336m":{"source":"iana"},"application/soap+fastinfoset":{"source":"iana"},"application/soap+xml":{"source":"iana","compressible":true},"application/sparql-query":{"source":"iana","extensions":["rq"]},"application/sparql-results+xml":{"source":"iana","compressible":true,"extensions":["srx"]},"application/spdx+json":{"source":"iana","compressible":true},"application/spirits-event+xml":{"source":"iana","compressible":true},"application/sql":{"source":"iana"},"application/srgs":{"source":"iana","extensions":["gram"]},"application/srgs+xml":{"source":"iana","compressible":true,"extensions":["grxml"]},"application/sru+xml":{"source":"iana","compressible":true,"extensions":["sru"]},"application/ssdl+xml":{"source":"apache","compressible":true,"extensions":["ssdl"]},"application/ssml+xml":{"source":"iana","compressible":true,"extensions":["ssml"]},"application/stix+json":{"source":"iana","compressible":true},"application/swid+xml":{"source":"iana","compressible":true,"extensions":["swidtag"]},"application/tamp-apex-update":{"source":"iana"},"application/tamp-apex-update-confirm":{"source":"iana"},"application/tamp-community-update":{"source":"iana"},"application/tamp-community-update-confirm":{"source":"iana"},"application/tamp-error":{"source":"iana"},"application/tamp-sequence-adjust":{"source":"iana"},"application/tamp-sequence-adjust-confirm":{"source":"iana"},"application/tamp-status-query":{"source":"iana"},"application/tamp-status-response":{"source":"iana"},"application/tamp-update":{"source":"iana"},"application/tamp-update-confirm":{"source":"iana"},"application/tar":{"compressible":true},"application/taxii+json":{"source":"iana","compressible":true},"application/td+json":{"source":"iana","compressible":true},"application/tei+xml":{"source":"iana","compressible":true,"extensions":["tei","teicorpus"]},"application/tetra_isi":{"source":"iana"},"application/thraud+xml":{"source":"iana","compressible":true,"extensions":["tfi"]},"application/timestamp-query":{"source":"iana"},"application/timestamp-reply":{"source":"iana"},"application/timestamped-data":{"source":"iana","extensions":["tsd"]},"application/tlsrpt+gzip":{"source":"iana"},"application/tlsrpt+json":{"source":"iana","compressible":true},"application/tnauthlist":{"source":"iana"},"application/token-introspection+jwt":{"source":"iana"},"application/toml":{"compressible":true,"extensions":["toml"]},"application/trickle-ice-sdpfrag":{"source":"iana"},"application/trig":{"source":"iana","extensions":["trig"]},"application/ttml+xml":{"source":"iana","compressible":true,"extensions":["ttml"]},"application/tve-trigger":{"source":"iana"},"application/tzif":{"source":"iana"},"application/tzif-leap":{"source":"iana"},"application/ubjson":{"compressible":false,"extensions":["ubj"]},"application/ulpfec":{"source":"iana"},"application/urc-grpsheet+xml":{"source":"iana","compressible":true},"application/urc-ressheet+xml":{"source":"iana","compressible":true,"extensions":["rsheet"]},"application/urc-targetdesc+xml":{"source":"iana","compressible":true,"extensions":["td"]},"application/urc-uisocketdesc+xml":{"source":"iana","compressible":true},"application/vcard+json":{"source":"iana","compressible":true},"application/vcard+xml":{"source":"iana","compressible":true},"application/vemmi":{"source":"iana"},"application/vividence.scriptfile":{"source":"apache"},"application/vnd.1000minds.decision-model+xml":{"source":"iana","compressible":true,"extensions":["1km"]},"application/vnd.3gpp-prose+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-prose-pc3ch+xml":{"source":"iana","compressible":true},"application/vnd.3gpp-v2x-local-service-information":{"source":"iana"},"application/vnd.3gpp.5gnas":{"source":"iana"},"application/vnd.3gpp.access-transfer-events+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.bsf+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gmop+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.gtpc":{"source":"iana"},"application/vnd.3gpp.interworking-data":{"source":"iana"},"application/vnd.3gpp.lpp":{"source":"iana"},"application/vnd.3gpp.mc-signalling-ear":{"source":"iana"},"application/vnd.3gpp.mcdata-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-payload":{"source":"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-signalling":{"source":"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcdata-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-floor-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-signed+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-ue-init-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcptt-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-location-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-service-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-transmission-request+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-ue-config+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mcvideo-user-profile+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.mid-call+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ngap":{"source":"iana"},"application/vnd.3gpp.pfcp":{"source":"iana"},"application/vnd.3gpp.pic-bw-large":{"source":"iana","extensions":["plb"]},"application/vnd.3gpp.pic-bw-small":{"source":"iana","extensions":["psb"]},"application/vnd.3gpp.pic-bw-var":{"source":"iana","extensions":["pvb"]},"application/vnd.3gpp.s1ap":{"source":"iana"},"application/vnd.3gpp.sms":{"source":"iana"},"application/vnd.3gpp.sms+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-ext+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.srvcc-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.state-and-event-info+xml":{"source":"iana","compressible":true},"application/vnd.3gpp.ussd+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.bcmcsinfo+xml":{"source":"iana","compressible":true},"application/vnd.3gpp2.sms":{"source":"iana"},"application/vnd.3gpp2.tcap":{"source":"iana","extensions":["tcap"]},"application/vnd.3lightssoftware.imagescal":{"source":"iana"},"application/vnd.3m.post-it-notes":{"source":"iana","extensions":["pwn"]},"application/vnd.accpac.simply.aso":{"source":"iana","extensions":["aso"]},"application/vnd.accpac.simply.imp":{"source":"iana","extensions":["imp"]},"application/vnd.acucobol":{"source":"iana","extensions":["acu"]},"application/vnd.acucorp":{"source":"iana","extensions":["atc","acutc"]},"application/vnd.adobe.air-application-installer-package+zip":{"source":"apache","compressible":false,"extensions":["air"]},"application/vnd.adobe.flash.movie":{"source":"iana"},"application/vnd.adobe.formscentral.fcdt":{"source":"iana","extensions":["fcdt"]},"application/vnd.adobe.fxp":{"source":"iana","extensions":["fxp","fxpl"]},"application/vnd.adobe.partial-upload":{"source":"iana"},"application/vnd.adobe.xdp+xml":{"source":"iana","compressible":true,"extensions":["xdp"]},"application/vnd.adobe.xfdf":{"source":"iana","extensions":["xfdf"]},"application/vnd.aether.imp":{"source":"iana"},"application/vnd.afpc.afplinedata":{"source":"iana"},"application/vnd.afpc.afplinedata-pagedef":{"source":"iana"},"application/vnd.afpc.cmoca-cmresource":{"source":"iana"},"application/vnd.afpc.foca-charset":{"source":"iana"},"application/vnd.afpc.foca-codedfont":{"source":"iana"},"application/vnd.afpc.foca-codepage":{"source":"iana"},"application/vnd.afpc.modca":{"source":"iana"},"application/vnd.afpc.modca-cmtable":{"source":"iana"},"application/vnd.afpc.modca-formdef":{"source":"iana"},"application/vnd.afpc.modca-mediummap":{"source":"iana"},"application/vnd.afpc.modca-objectcontainer":{"source":"iana"},"application/vnd.afpc.modca-overlay":{"source":"iana"},"application/vnd.afpc.modca-pagesegment":{"source":"iana"},"application/vnd.age":{"source":"iana","extensions":["age"]},"application/vnd.ah-barcode":{"source":"iana"},"application/vnd.ahead.space":{"source":"iana","extensions":["ahead"]},"application/vnd.airzip.filesecure.azf":{"source":"iana","extensions":["azf"]},"application/vnd.airzip.filesecure.azs":{"source":"iana","extensions":["azs"]},"application/vnd.amadeus+json":{"source":"iana","compressible":true},"application/vnd.amazon.ebook":{"source":"apache","extensions":["azw"]},"application/vnd.amazon.mobi8-ebook":{"source":"iana"},"application/vnd.americandynamics.acc":{"source":"iana","extensions":["acc"]},"application/vnd.amiga.ami":{"source":"iana","extensions":["ami"]},"application/vnd.amundsen.maze+xml":{"source":"iana","compressible":true},"application/vnd.android.ota":{"source":"iana"},"application/vnd.android.package-archive":{"source":"apache","compressible":false,"extensions":["apk"]},"application/vnd.anki":{"source":"iana"},"application/vnd.anser-web-certificate-issue-initiation":{"source":"iana","extensions":["cii"]},"application/vnd.anser-web-funds-transfer-initiation":{"source":"apache","extensions":["fti"]},"application/vnd.antix.game-component":{"source":"iana","extensions":["atx"]},"application/vnd.apache.arrow.file":{"source":"iana"},"application/vnd.apache.arrow.stream":{"source":"iana"},"application/vnd.apache.thrift.binary":{"source":"iana"},"application/vnd.apache.thrift.compact":{"source":"iana"},"application/vnd.apache.thrift.json":{"source":"iana"},"application/vnd.api+json":{"source":"iana","compressible":true},"application/vnd.aplextor.warrp+json":{"source":"iana","compressible":true},"application/vnd.apothekende.reservation+json":{"source":"iana","compressible":true},"application/vnd.apple.installer+xml":{"source":"iana","compressible":true,"extensions":["mpkg"]},"application/vnd.apple.keynote":{"source":"iana","extensions":["key"]},"application/vnd.apple.mpegurl":{"source":"iana","extensions":["m3u8"]},"application/vnd.apple.numbers":{"source":"iana","extensions":["numbers"]},"application/vnd.apple.pages":{"source":"iana","extensions":["pages"]},"application/vnd.apple.pkpass":{"compressible":false,"extensions":["pkpass"]},"application/vnd.arastra.swi":{"source":"iana"},"application/vnd.aristanetworks.swi":{"source":"iana","extensions":["swi"]},"application/vnd.artisan+json":{"source":"iana","compressible":true},"application/vnd.artsquare":{"source":"iana"},"application/vnd.astraea-software.iota":{"source":"iana","extensions":["iota"]},"application/vnd.audiograph":{"source":"iana","extensions":["aep"]},"application/vnd.autopackage":{"source":"iana"},"application/vnd.avalon+json":{"source":"iana","compressible":true},"application/vnd.avistar+xml":{"source":"iana","compressible":true},"application/vnd.balsamiq.bmml+xml":{"source":"iana","compressible":true,"extensions":["bmml"]},"application/vnd.balsamiq.bmpr":{"source":"iana"},"application/vnd.banana-accounting":{"source":"iana"},"application/vnd.bbf.usp.error":{"source":"iana"},"application/vnd.bbf.usp.msg":{"source":"iana"},"application/vnd.bbf.usp.msg+json":{"source":"iana","compressible":true},"application/vnd.bekitzur-stech+json":{"source":"iana","compressible":true},"application/vnd.bint.med-content":{"source":"iana"},"application/vnd.biopax.rdf+xml":{"source":"iana","compressible":true},"application/vnd.blink-idb-value-wrapper":{"source":"iana"},"application/vnd.blueice.multipass":{"source":"iana","extensions":["mpm"]},"application/vnd.bluetooth.ep.oob":{"source":"iana"},"application/vnd.bluetooth.le.oob":{"source":"iana"},"application/vnd.bmi":{"source":"iana","extensions":["bmi"]},"application/vnd.bpf":{"source":"iana"},"application/vnd.bpf3":{"source":"iana"},"application/vnd.businessobjects":{"source":"iana","extensions":["rep"]},"application/vnd.byu.uapi+json":{"source":"iana","compressible":true},"application/vnd.cab-jscript":{"source":"iana"},"application/vnd.canon-cpdl":{"source":"iana"},"application/vnd.canon-lips":{"source":"iana"},"application/vnd.capasystems-pg+json":{"source":"iana","compressible":true},"application/vnd.cendio.thinlinc.clientconf":{"source":"iana"},"application/vnd.century-systems.tcp_stream":{"source":"iana"},"application/vnd.chemdraw+xml":{"source":"iana","compressible":true,"extensions":["cdxml"]},"application/vnd.chess-pgn":{"source":"iana"},"application/vnd.chipnuts.karaoke-mmd":{"source":"iana","extensions":["mmd"]},"application/vnd.ciedi":{"source":"iana"},"application/vnd.cinderella":{"source":"iana","extensions":["cdy"]},"application/vnd.cirpack.isdn-ext":{"source":"iana"},"application/vnd.citationstyles.style+xml":{"source":"iana","compressible":true,"extensions":["csl"]},"application/vnd.claymore":{"source":"iana","extensions":["cla"]},"application/vnd.cloanto.rp9":{"source":"iana","extensions":["rp9"]},"application/vnd.clonk.c4group":{"source":"iana","extensions":["c4g","c4d","c4f","c4p","c4u"]},"application/vnd.cluetrust.cartomobile-config":{"source":"iana","extensions":["c11amc"]},"application/vnd.cluetrust.cartomobile-config-pkg":{"source":"iana","extensions":["c11amz"]},"application/vnd.coffeescript":{"source":"iana"},"application/vnd.collabio.xodocuments.document":{"source":"iana"},"application/vnd.collabio.xodocuments.document-template":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation":{"source":"iana"},"application/vnd.collabio.xodocuments.presentation-template":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet":{"source":"iana"},"application/vnd.collabio.xodocuments.spreadsheet-template":{"source":"iana"},"application/vnd.collection+json":{"source":"iana","compressible":true},"application/vnd.collection.doc+json":{"source":"iana","compressible":true},"application/vnd.collection.next+json":{"source":"iana","compressible":true},"application/vnd.comicbook+zip":{"source":"iana","compressible":false},"application/vnd.comicbook-rar":{"source":"iana"},"application/vnd.commerce-battelle":{"source":"iana"},"application/vnd.commonspace":{"source":"iana","extensions":["csp"]},"application/vnd.contact.cmsg":{"source":"iana","extensions":["cdbcmsg"]},"application/vnd.coreos.ignition+json":{"source":"iana","compressible":true},"application/vnd.cosmocaller":{"source":"iana","extensions":["cmc"]},"application/vnd.crick.clicker":{"source":"iana","extensions":["clkx"]},"application/vnd.crick.clicker.keyboard":{"source":"iana","extensions":["clkk"]},"application/vnd.crick.clicker.palette":{"source":"iana","extensions":["clkp"]},"application/vnd.crick.clicker.template":{"source":"iana","extensions":["clkt"]},"application/vnd.crick.clicker.wordbank":{"source":"iana","extensions":["clkw"]},"application/vnd.criticaltools.wbs+xml":{"source":"iana","compressible":true,"extensions":["wbs"]},"application/vnd.cryptii.pipe+json":{"source":"iana","compressible":true},"application/vnd.crypto-shade-file":{"source":"iana"},"application/vnd.cryptomator.encrypted":{"source":"iana"},"application/vnd.cryptomator.vault":{"source":"iana"},"application/vnd.ctc-posml":{"source":"iana","extensions":["pml"]},"application/vnd.ctct.ws+xml":{"source":"iana","compressible":true},"application/vnd.cups-pdf":{"source":"iana"},"application/vnd.cups-postscript":{"source":"iana"},"application/vnd.cups-ppd":{"source":"iana","extensions":["ppd"]},"application/vnd.cups-raster":{"source":"iana"},"application/vnd.cups-raw":{"source":"iana"},"application/vnd.curl":{"source":"iana"},"application/vnd.curl.car":{"source":"apache","extensions":["car"]},"application/vnd.curl.pcurl":{"source":"apache","extensions":["pcurl"]},"application/vnd.cyan.dean.root+xml":{"source":"iana","compressible":true},"application/vnd.cybank":{"source":"iana"},"application/vnd.cyclonedx+json":{"source":"iana","compressible":true},"application/vnd.cyclonedx+xml":{"source":"iana","compressible":true},"application/vnd.d2l.coursepackage1p0+zip":{"source":"iana","compressible":false},"application/vnd.d3m-dataset":{"source":"iana"},"application/vnd.d3m-problem":{"source":"iana"},"application/vnd.dart":{"source":"iana","compressible":true,"extensions":["dart"]},"application/vnd.data-vision.rdz":{"source":"iana","extensions":["rdz"]},"application/vnd.datapackage+json":{"source":"iana","compressible":true},"application/vnd.dataresource+json":{"source":"iana","compressible":true},"application/vnd.dbf":{"source":"iana","extensions":["dbf"]},"application/vnd.debian.binary-package":{"source":"iana"},"application/vnd.dece.data":{"source":"iana","extensions":["uvf","uvvf","uvd","uvvd"]},"application/vnd.dece.ttml+xml":{"source":"iana","compressible":true,"extensions":["uvt","uvvt"]},"application/vnd.dece.unspecified":{"source":"iana","extensions":["uvx","uvvx"]},"application/vnd.dece.zip":{"source":"iana","extensions":["uvz","uvvz"]},"application/vnd.denovo.fcselayout-link":{"source":"iana","extensions":["fe_launch"]},"application/vnd.desmume.movie":{"source":"iana"},"application/vnd.dir-bi.plate-dl-nosuffix":{"source":"iana"},"application/vnd.dm.delegation+xml":{"source":"iana","compressible":true},"application/vnd.dna":{"source":"iana","extensions":["dna"]},"application/vnd.document+json":{"source":"iana","compressible":true},"application/vnd.dolby.mlp":{"source":"apache","extensions":["mlp"]},"application/vnd.dolby.mobile.1":{"source":"iana"},"application/vnd.dolby.mobile.2":{"source":"iana"},"application/vnd.doremir.scorecloud-binary-document":{"source":"iana"},"application/vnd.dpgraph":{"source":"iana","extensions":["dpg"]},"application/vnd.dreamfactory":{"source":"iana","extensions":["dfac"]},"application/vnd.drive+json":{"source":"iana","compressible":true},"application/vnd.ds-keypoint":{"source":"apache","extensions":["kpxx"]},"application/vnd.dtg.local":{"source":"iana"},"application/vnd.dtg.local.flash":{"source":"iana"},"application/vnd.dtg.local.html":{"source":"iana"},"application/vnd.dvb.ait":{"source":"iana","extensions":["ait"]},"application/vnd.dvb.dvbisl+xml":{"source":"iana","compressible":true},"application/vnd.dvb.dvbj":{"source":"iana"},"application/vnd.dvb.esgcontainer":{"source":"iana"},"application/vnd.dvb.ipdcdftnotifaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess":{"source":"iana"},"application/vnd.dvb.ipdcesgaccess2":{"source":"iana"},"application/vnd.dvb.ipdcesgpdd":{"source":"iana"},"application/vnd.dvb.ipdcroaming":{"source":"iana"},"application/vnd.dvb.iptv.alfec-base":{"source":"iana"},"application/vnd.dvb.iptv.alfec-enhancement":{"source":"iana"},"application/vnd.dvb.notif-aggregate-root+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-container+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-generic+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-msglist+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-request+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-ia-registration-response+xml":{"source":"iana","compressible":true},"application/vnd.dvb.notif-init+xml":{"source":"iana","compressible":true},"application/vnd.dvb.pfr":{"source":"iana"},"application/vnd.dvb.service":{"source":"iana","extensions":["svc"]},"application/vnd.dxr":{"source":"iana"},"application/vnd.dynageo":{"source":"iana","extensions":["geo"]},"application/vnd.dzr":{"source":"iana"},"application/vnd.easykaraoke.cdgdownload":{"source":"iana"},"application/vnd.ecdis-update":{"source":"iana"},"application/vnd.ecip.rlp":{"source":"iana"},"application/vnd.eclipse.ditto+json":{"source":"iana","compressible":true},"application/vnd.ecowin.chart":{"source":"iana","extensions":["mag"]},"application/vnd.ecowin.filerequest":{"source":"iana"},"application/vnd.ecowin.fileupdate":{"source":"iana"},"application/vnd.ecowin.series":{"source":"iana"},"application/vnd.ecowin.seriesrequest":{"source":"iana"},"application/vnd.ecowin.seriesupdate":{"source":"iana"},"application/vnd.efi.img":{"source":"iana"},"application/vnd.efi.iso":{"source":"iana"},"application/vnd.emclient.accessrequest+xml":{"source":"iana","compressible":true},"application/vnd.enliven":{"source":"iana","extensions":["nml"]},"application/vnd.enphase.envoy":{"source":"iana"},"application/vnd.eprints.data+xml":{"source":"iana","compressible":true},"application/vnd.epson.esf":{"source":"iana","extensions":["esf"]},"application/vnd.epson.msf":{"source":"iana","extensions":["msf"]},"application/vnd.epson.quickanime":{"source":"iana","extensions":["qam"]},"application/vnd.epson.salt":{"source":"iana","extensions":["slt"]},"application/vnd.epson.ssf":{"source":"iana","extensions":["ssf"]},"application/vnd.ericsson.quickcall":{"source":"iana"},"application/vnd.espass-espass+zip":{"source":"iana","compressible":false},"application/vnd.eszigno3+xml":{"source":"iana","compressible":true,"extensions":["es3","et3"]},"application/vnd.etsi.aoc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.asic-e+zip":{"source":"iana","compressible":false},"application/vnd.etsi.asic-s+zip":{"source":"iana","compressible":false},"application/vnd.etsi.cug+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvcommand+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-bc+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-cod+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsad-npvr+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvservice+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvsync+xml":{"source":"iana","compressible":true},"application/vnd.etsi.iptvueprofile+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mcid+xml":{"source":"iana","compressible":true},"application/vnd.etsi.mheg5":{"source":"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{"source":"iana","compressible":true},"application/vnd.etsi.pstn+xml":{"source":"iana","compressible":true},"application/vnd.etsi.sci+xml":{"source":"iana","compressible":true},"application/vnd.etsi.simservs+xml":{"source":"iana","compressible":true},"application/vnd.etsi.timestamp-token":{"source":"iana"},"application/vnd.etsi.tsl+xml":{"source":"iana","compressible":true},"application/vnd.etsi.tsl.der":{"source":"iana"},"application/vnd.eu.kasparian.car+json":{"source":"iana","compressible":true},"application/vnd.eudora.data":{"source":"iana"},"application/vnd.evolv.ecig.profile":{"source":"iana"},"application/vnd.evolv.ecig.settings":{"source":"iana"},"application/vnd.evolv.ecig.theme":{"source":"iana"},"application/vnd.exstream-empower+zip":{"source":"iana","compressible":false},"application/vnd.exstream-package":{"source":"iana"},"application/vnd.ezpix-album":{"source":"iana","extensions":["ez2"]},"application/vnd.ezpix-package":{"source":"iana","extensions":["ez3"]},"application/vnd.f-secure.mobile":{"source":"iana"},"application/vnd.familysearch.gedcom+zip":{"source":"iana","compressible":false},"application/vnd.fastcopy-disk-image":{"source":"iana"},"application/vnd.fdf":{"source":"iana","extensions":["fdf"]},"application/vnd.fdsn.mseed":{"source":"iana","extensions":["mseed"]},"application/vnd.fdsn.seed":{"source":"iana","extensions":["seed","dataless"]},"application/vnd.ffsns":{"source":"iana"},"application/vnd.ficlab.flb+zip":{"source":"iana","compressible":false},"application/vnd.filmit.zfc":{"source":"iana"},"application/vnd.fints":{"source":"iana"},"application/vnd.firemonkeys.cloudcell":{"source":"iana"},"application/vnd.flographit":{"source":"iana","extensions":["gph"]},"application/vnd.fluxtime.clip":{"source":"iana","extensions":["ftc"]},"application/vnd.font-fontforge-sfd":{"source":"iana"},"application/vnd.framemaker":{"source":"iana","extensions":["fm","frame","maker","book"]},"application/vnd.frogans.fnc":{"source":"iana","extensions":["fnc"]},"application/vnd.frogans.ltf":{"source":"iana","extensions":["ltf"]},"application/vnd.fsc.weblaunch":{"source":"iana","extensions":["fsc"]},"application/vnd.fujifilm.fb.docuworks":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.binder":{"source":"iana"},"application/vnd.fujifilm.fb.docuworks.container":{"source":"iana"},"application/vnd.fujifilm.fb.jfi+xml":{"source":"iana","compressible":true},"application/vnd.fujitsu.oasys":{"source":"iana","extensions":["oas"]},"application/vnd.fujitsu.oasys2":{"source":"iana","extensions":["oa2"]},"application/vnd.fujitsu.oasys3":{"source":"iana","extensions":["oa3"]},"application/vnd.fujitsu.oasysgp":{"source":"iana","extensions":["fg5"]},"application/vnd.fujitsu.oasysprs":{"source":"iana","extensions":["bh2"]},"application/vnd.fujixerox.art-ex":{"source":"iana"},"application/vnd.fujixerox.art4":{"source":"iana"},"application/vnd.fujixerox.ddd":{"source":"iana","extensions":["ddd"]},"application/vnd.fujixerox.docuworks":{"source":"iana","extensions":["xdw"]},"application/vnd.fujixerox.docuworks.binder":{"source":"iana","extensions":["xbd"]},"application/vnd.fujixerox.docuworks.container":{"source":"iana"},"application/vnd.fujixerox.hbpl":{"source":"iana"},"application/vnd.fut-misnet":{"source":"iana"},"application/vnd.futoin+cbor":{"source":"iana"},"application/vnd.futoin+json":{"source":"iana","compressible":true},"application/vnd.fuzzysheet":{"source":"iana","extensions":["fzs"]},"application/vnd.genomatix.tuxedo":{"source":"iana","extensions":["txd"]},"application/vnd.gentics.grd+json":{"source":"iana","compressible":true},"application/vnd.geo+json":{"source":"iana","compressible":true},"application/vnd.geocube+xml":{"source":"iana","compressible":true},"application/vnd.geogebra.file":{"source":"iana","extensions":["ggb"]},"application/vnd.geogebra.slides":{"source":"iana"},"application/vnd.geogebra.tool":{"source":"iana","extensions":["ggt"]},"application/vnd.geometry-explorer":{"source":"iana","extensions":["gex","gre"]},"application/vnd.geonext":{"source":"iana","extensions":["gxt"]},"application/vnd.geoplan":{"source":"iana","extensions":["g2w"]},"application/vnd.geospace":{"source":"iana","extensions":["g3w"]},"application/vnd.gerber":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt":{"source":"iana"},"application/vnd.globalplatform.card-content-mgt-response":{"source":"iana"},"application/vnd.gmx":{"source":"iana","extensions":["gmx"]},"application/vnd.google-apps.document":{"compressible":false,"extensions":["gdoc"]},"application/vnd.google-apps.presentation":{"compressible":false,"extensions":["gslides"]},"application/vnd.google-apps.spreadsheet":{"compressible":false,"extensions":["gsheet"]},"application/vnd.google-earth.kml+xml":{"source":"iana","compressible":true,"extensions":["kml"]},"application/vnd.google-earth.kmz":{"source":"iana","compressible":false,"extensions":["kmz"]},"application/vnd.gov.sk.e-form+xml":{"source":"iana","compressible":true},"application/vnd.gov.sk.e-form+zip":{"source":"iana","compressible":false},"application/vnd.gov.sk.xmldatacontainer+xml":{"source":"iana","compressible":true},"application/vnd.grafeq":{"source":"iana","extensions":["gqf","gqs"]},"application/vnd.gridmp":{"source":"iana"},"application/vnd.groove-account":{"source":"iana","extensions":["gac"]},"application/vnd.groove-help":{"source":"iana","extensions":["ghf"]},"application/vnd.groove-identity-message":{"source":"iana","extensions":["gim"]},"application/vnd.groove-injector":{"source":"iana","extensions":["grv"]},"application/vnd.groove-tool-message":{"source":"iana","extensions":["gtm"]},"application/vnd.groove-tool-template":{"source":"iana","extensions":["tpl"]},"application/vnd.groove-vcard":{"source":"iana","extensions":["vcg"]},"application/vnd.hal+json":{"source":"iana","compressible":true},"application/vnd.hal+xml":{"source":"iana","compressible":true,"extensions":["hal"]},"application/vnd.handheld-entertainment+xml":{"source":"iana","compressible":true,"extensions":["zmm"]},"application/vnd.hbci":{"source":"iana","extensions":["hbci"]},"application/vnd.hc+json":{"source":"iana","compressible":true},"application/vnd.hcl-bireports":{"source":"iana"},"application/vnd.hdt":{"source":"iana"},"application/vnd.heroku+json":{"source":"iana","compressible":true},"application/vnd.hhe.lesson-player":{"source":"iana","extensions":["les"]},"application/vnd.hl7cda+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hl7v2+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.hp-hpgl":{"source":"iana","extensions":["hpgl"]},"application/vnd.hp-hpid":{"source":"iana","extensions":["hpid"]},"application/vnd.hp-hps":{"source":"iana","extensions":["hps"]},"application/vnd.hp-jlyt":{"source":"iana","extensions":["jlt"]},"application/vnd.hp-pcl":{"source":"iana","extensions":["pcl"]},"application/vnd.hp-pclxl":{"source":"iana","extensions":["pclxl"]},"application/vnd.httphone":{"source":"iana"},"application/vnd.hydrostatix.sof-data":{"source":"iana","extensions":["sfd-hdstx"]},"application/vnd.hyper+json":{"source":"iana","compressible":true},"application/vnd.hyper-item+json":{"source":"iana","compressible":true},"application/vnd.hyperdrive+json":{"source":"iana","compressible":true},"application/vnd.hzn-3d-crossword":{"source":"iana"},"application/vnd.ibm.afplinedata":{"source":"iana"},"application/vnd.ibm.electronic-media":{"source":"iana"},"application/vnd.ibm.minipay":{"source":"iana","extensions":["mpy"]},"application/vnd.ibm.modcap":{"source":"iana","extensions":["afp","listafp","list3820"]},"application/vnd.ibm.rights-management":{"source":"iana","extensions":["irm"]},"application/vnd.ibm.secure-container":{"source":"iana","extensions":["sc"]},"application/vnd.iccprofile":{"source":"iana","extensions":["icc","icm"]},"application/vnd.ieee.1905":{"source":"iana"},"application/vnd.igloader":{"source":"iana","extensions":["igl"]},"application/vnd.imagemeter.folder+zip":{"source":"iana","compressible":false},"application/vnd.imagemeter.image+zip":{"source":"iana","compressible":false},"application/vnd.immervision-ivp":{"source":"iana","extensions":["ivp"]},"application/vnd.immervision-ivu":{"source":"iana","extensions":["ivu"]},"application/vnd.ims.imsccv1p1":{"source":"iana"},"application/vnd.ims.imsccv1p2":{"source":"iana"},"application/vnd.ims.imsccv1p3":{"source":"iana"},"application/vnd.ims.lis.v2.result+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolproxy.id+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings+json":{"source":"iana","compressible":true},"application/vnd.ims.lti.v2.toolsettings.simple+json":{"source":"iana","compressible":true},"application/vnd.informedcontrol.rms+xml":{"source":"iana","compressible":true},"application/vnd.informix-visionary":{"source":"iana"},"application/vnd.infotech.project":{"source":"iana"},"application/vnd.infotech.project+xml":{"source":"iana","compressible":true},"application/vnd.innopath.wamp.notification":{"source":"iana"},"application/vnd.insors.igm":{"source":"iana","extensions":["igm"]},"application/vnd.intercon.formnet":{"source":"iana","extensions":["xpw","xpx"]},"application/vnd.intergeo":{"source":"iana","extensions":["i2g"]},"application/vnd.intertrust.digibox":{"source":"iana"},"application/vnd.intertrust.nncp":{"source":"iana"},"application/vnd.intu.qbo":{"source":"iana","extensions":["qbo"]},"application/vnd.intu.qfx":{"source":"iana","extensions":["qfx"]},"application/vnd.iptc.g2.catalogitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.conceptitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.knowledgeitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.newsmessage+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.packageitem+xml":{"source":"iana","compressible":true},"application/vnd.iptc.g2.planningitem+xml":{"source":"iana","compressible":true},"application/vnd.ipunplugged.rcprofile":{"source":"iana","extensions":["rcprofile"]},"application/vnd.irepository.package+xml":{"source":"iana","compressible":true,"extensions":["irp"]},"application/vnd.is-xpr":{"source":"iana","extensions":["xpr"]},"application/vnd.isac.fcs":{"source":"iana","extensions":["fcs"]},"application/vnd.iso11783-10+zip":{"source":"iana","compressible":false},"application/vnd.jam":{"source":"iana","extensions":["jam"]},"application/vnd.japannet-directory-service":{"source":"iana"},"application/vnd.japannet-jpnstore-wakeup":{"source":"iana"},"application/vnd.japannet-payment-wakeup":{"source":"iana"},"application/vnd.japannet-registration":{"source":"iana"},"application/vnd.japannet-registration-wakeup":{"source":"iana"},"application/vnd.japannet-setstore-wakeup":{"source":"iana"},"application/vnd.japannet-verification":{"source":"iana"},"application/vnd.japannet-verification-wakeup":{"source":"iana"},"application/vnd.jcp.javame.midlet-rms":{"source":"iana","extensions":["rms"]},"application/vnd.jisp":{"source":"iana","extensions":["jisp"]},"application/vnd.joost.joda-archive":{"source":"iana","extensions":["joda"]},"application/vnd.jsk.isdn-ngn":{"source":"iana"},"application/vnd.kahootz":{"source":"iana","extensions":["ktz","ktr"]},"application/vnd.kde.karbon":{"source":"iana","extensions":["karbon"]},"application/vnd.kde.kchart":{"source":"iana","extensions":["chrt"]},"application/vnd.kde.kformula":{"source":"iana","extensions":["kfo"]},"application/vnd.kde.kivio":{"source":"iana","extensions":["flw"]},"application/vnd.kde.kontour":{"source":"iana","extensions":["kon"]},"application/vnd.kde.kpresenter":{"source":"iana","extensions":["kpr","kpt"]},"application/vnd.kde.kspread":{"source":"iana","extensions":["ksp"]},"application/vnd.kde.kword":{"source":"iana","extensions":["kwd","kwt"]},"application/vnd.kenameaapp":{"source":"iana","extensions":["htke"]},"application/vnd.kidspiration":{"source":"iana","extensions":["kia"]},"application/vnd.kinar":{"source":"iana","extensions":["kne","knp"]},"application/vnd.koan":{"source":"iana","extensions":["skp","skd","skt","skm"]},"application/vnd.kodak-descriptor":{"source":"iana","extensions":["sse"]},"application/vnd.las":{"source":"iana"},"application/vnd.las.las+json":{"source":"iana","compressible":true},"application/vnd.las.las+xml":{"source":"iana","compressible":true,"extensions":["lasxml"]},"application/vnd.laszip":{"source":"iana"},"application/vnd.leap+json":{"source":"iana","compressible":true},"application/vnd.liberty-request+xml":{"source":"iana","compressible":true},"application/vnd.llamagraphics.life-balance.desktop":{"source":"iana","extensions":["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{"source":"iana","compressible":true,"extensions":["lbe"]},"application/vnd.logipipe.circuit+zip":{"source":"iana","compressible":false},"application/vnd.loom":{"source":"iana"},"application/vnd.lotus-1-2-3":{"source":"iana","extensions":["123"]},"application/vnd.lotus-approach":{"source":"iana","extensions":["apr"]},"application/vnd.lotus-freelance":{"source":"iana","extensions":["pre"]},"application/vnd.lotus-notes":{"source":"iana","extensions":["nsf"]},"application/vnd.lotus-organizer":{"source":"iana","extensions":["org"]},"application/vnd.lotus-screencam":{"source":"iana","extensions":["scm"]},"application/vnd.lotus-wordpro":{"source":"iana","extensions":["lwp"]},"application/vnd.macports.portpkg":{"source":"iana","extensions":["portpkg"]},"application/vnd.mapbox-vector-tile":{"source":"iana","extensions":["mvt"]},"application/vnd.marlin.drm.actiontoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.conftoken+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.license+xml":{"source":"iana","compressible":true},"application/vnd.marlin.drm.mdcf":{"source":"iana"},"application/vnd.mason+json":{"source":"iana","compressible":true},"application/vnd.maxar.archive.3tz+zip":{"source":"iana","compressible":false},"application/vnd.maxmind.maxmind-db":{"source":"iana"},"application/vnd.mcd":{"source":"iana","extensions":["mcd"]},"application/vnd.medcalcdata":{"source":"iana","extensions":["mc1"]},"application/vnd.mediastation.cdkey":{"source":"iana","extensions":["cdkey"]},"application/vnd.meridian-slingshot":{"source":"iana"},"application/vnd.mfer":{"source":"iana","extensions":["mwf"]},"application/vnd.mfmp":{"source":"iana","extensions":["mfm"]},"application/vnd.micro+json":{"source":"iana","compressible":true},"application/vnd.micrografx.flo":{"source":"iana","extensions":["flo"]},"application/vnd.micrografx.igx":{"source":"iana","extensions":["igx"]},"application/vnd.microsoft.portable-executable":{"source":"iana"},"application/vnd.microsoft.windows.thumbnail-cache":{"source":"iana"},"application/vnd.miele+json":{"source":"iana","compressible":true},"application/vnd.mif":{"source":"iana","extensions":["mif"]},"application/vnd.minisoft-hp3000-save":{"source":"iana"},"application/vnd.mitsubishi.misty-guard.trustweb":{"source":"iana"},"application/vnd.mobius.daf":{"source":"iana","extensions":["daf"]},"application/vnd.mobius.dis":{"source":"iana","extensions":["dis"]},"application/vnd.mobius.mbk":{"source":"iana","extensions":["mbk"]},"application/vnd.mobius.mqy":{"source":"iana","extensions":["mqy"]},"application/vnd.mobius.msl":{"source":"iana","extensions":["msl"]},"application/vnd.mobius.plc":{"source":"iana","extensions":["plc"]},"application/vnd.mobius.txf":{"source":"iana","extensions":["txf"]},"application/vnd.mophun.application":{"source":"iana","extensions":["mpn"]},"application/vnd.mophun.certificate":{"source":"iana","extensions":["mpc"]},"application/vnd.motorola.flexsuite":{"source":"iana"},"application/vnd.motorola.flexsuite.adsi":{"source":"iana"},"application/vnd.motorola.flexsuite.fis":{"source":"iana"},"application/vnd.motorola.flexsuite.gotap":{"source":"iana"},"application/vnd.motorola.flexsuite.kmr":{"source":"iana"},"application/vnd.motorola.flexsuite.ttc":{"source":"iana"},"application/vnd.motorola.flexsuite.wem":{"source":"iana"},"application/vnd.motorola.iprm":{"source":"iana"},"application/vnd.mozilla.xul+xml":{"source":"iana","compressible":true,"extensions":["xul"]},"application/vnd.ms-3mfdocument":{"source":"iana"},"application/vnd.ms-artgalry":{"source":"iana","extensions":["cil"]},"application/vnd.ms-asf":{"source":"iana"},"application/vnd.ms-cab-compressed":{"source":"iana","extensions":["cab"]},"application/vnd.ms-color.iccprofile":{"source":"apache"},"application/vnd.ms-excel":{"source":"iana","compressible":false,"extensions":["xls","xlm","xla","xlc","xlt","xlw"]},"application/vnd.ms-excel.addin.macroenabled.12":{"source":"iana","extensions":["xlam"]},"application/vnd.ms-excel.sheet.binary.macroenabled.12":{"source":"iana","extensions":["xlsb"]},"application/vnd.ms-excel.sheet.macroenabled.12":{"source":"iana","extensions":["xlsm"]},"application/vnd.ms-excel.template.macroenabled.12":{"source":"iana","extensions":["xltm"]},"application/vnd.ms-fontobject":{"source":"iana","compressible":true,"extensions":["eot"]},"application/vnd.ms-htmlhelp":{"source":"iana","extensions":["chm"]},"application/vnd.ms-ims":{"source":"iana","extensions":["ims"]},"application/vnd.ms-lrm":{"source":"iana","extensions":["lrm"]},"application/vnd.ms-office.activex+xml":{"source":"iana","compressible":true},"application/vnd.ms-officetheme":{"source":"iana","extensions":["thmx"]},"application/vnd.ms-opentype":{"source":"apache","compressible":true},"application/vnd.ms-outlook":{"compressible":false,"extensions":["msg"]},"application/vnd.ms-package.obfuscated-opentype":{"source":"apache"},"application/vnd.ms-pki.seccat":{"source":"apache","extensions":["cat"]},"application/vnd.ms-pki.stl":{"source":"apache","extensions":["stl"]},"application/vnd.ms-playready.initiator+xml":{"source":"iana","compressible":true},"application/vnd.ms-powerpoint":{"source":"iana","compressible":false,"extensions":["ppt","pps","pot"]},"application/vnd.ms-powerpoint.addin.macroenabled.12":{"source":"iana","extensions":["ppam"]},"application/vnd.ms-powerpoint.presentation.macroenabled.12":{"source":"iana","extensions":["pptm"]},"application/vnd.ms-powerpoint.slide.macroenabled.12":{"source":"iana","extensions":["sldm"]},"application/vnd.ms-powerpoint.slideshow.macroenabled.12":{"source":"iana","extensions":["ppsm"]},"application/vnd.ms-powerpoint.template.macroenabled.12":{"source":"iana","extensions":["potm"]},"application/vnd.ms-printdevicecapabilities+xml":{"source":"iana","compressible":true},"application/vnd.ms-printing.printticket+xml":{"source":"apache","compressible":true},"application/vnd.ms-printschematicket+xml":{"source":"iana","compressible":true},"application/vnd.ms-project":{"source":"iana","extensions":["mpp","mpt"]},"application/vnd.ms-tnef":{"source":"iana"},"application/vnd.ms-windows.devicepairing":{"source":"iana"},"application/vnd.ms-windows.nwprinting.oob":{"source":"iana"},"application/vnd.ms-windows.printerpairing":{"source":"iana"},"application/vnd.ms-windows.wsd.oob":{"source":"iana"},"application/vnd.ms-wmdrm.lic-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.lic-resp":{"source":"iana"},"application/vnd.ms-wmdrm.meter-chlg-req":{"source":"iana"},"application/vnd.ms-wmdrm.meter-resp":{"source":"iana"},"application/vnd.ms-word.document.macroenabled.12":{"source":"iana","extensions":["docm"]},"application/vnd.ms-word.template.macroenabled.12":{"source":"iana","extensions":["dotm"]},"application/vnd.ms-works":{"source":"iana","extensions":["wps","wks","wcm","wdb"]},"application/vnd.ms-wpl":{"source":"iana","extensions":["wpl"]},"application/vnd.ms-xpsdocument":{"source":"iana","compressible":false,"extensions":["xps"]},"application/vnd.msa-disk-image":{"source":"iana"},"application/vnd.mseq":{"source":"iana","extensions":["mseq"]},"application/vnd.msign":{"source":"iana"},"application/vnd.multiad.creator":{"source":"iana"},"application/vnd.multiad.creator.cif":{"source":"iana"},"application/vnd.music-niff":{"source":"iana"},"application/vnd.musician":{"source":"iana","extensions":["mus"]},"application/vnd.muvee.style":{"source":"iana","extensions":["msty"]},"application/vnd.mynfc":{"source":"iana","extensions":["taglet"]},"application/vnd.nacamar.ybrid+json":{"source":"iana","compressible":true},"application/vnd.ncd.control":{"source":"iana"},"application/vnd.ncd.reference":{"source":"iana"},"application/vnd.nearst.inv+json":{"source":"iana","compressible":true},"application/vnd.nebumind.line":{"source":"iana"},"application/vnd.nervana":{"source":"iana"},"application/vnd.netfpx":{"source":"iana"},"application/vnd.neurolanguage.nlu":{"source":"iana","extensions":["nlu"]},"application/vnd.nimn":{"source":"iana"},"application/vnd.nintendo.nitro.rom":{"source":"iana"},"application/vnd.nintendo.snes.rom":{"source":"iana"},"application/vnd.nitf":{"source":"iana","extensions":["ntf","nitf"]},"application/vnd.noblenet-directory":{"source":"iana","extensions":["nnd"]},"application/vnd.noblenet-sealer":{"source":"iana","extensions":["nns"]},"application/vnd.noblenet-web":{"source":"iana","extensions":["nnw"]},"application/vnd.nokia.catalogs":{"source":"iana"},"application/vnd.nokia.conml+wbxml":{"source":"iana"},"application/vnd.nokia.conml+xml":{"source":"iana","compressible":true},"application/vnd.nokia.iptv.config+xml":{"source":"iana","compressible":true},"application/vnd.nokia.isds-radio-presets":{"source":"iana"},"application/vnd.nokia.landmark+wbxml":{"source":"iana"},"application/vnd.nokia.landmark+xml":{"source":"iana","compressible":true},"application/vnd.nokia.landmarkcollection+xml":{"source":"iana","compressible":true},"application/vnd.nokia.n-gage.ac+xml":{"source":"iana","compressible":true,"extensions":["ac"]},"application/vnd.nokia.n-gage.data":{"source":"iana","extensions":["ngdat"]},"application/vnd.nokia.n-gage.symbian.install":{"source":"iana","extensions":["n-gage"]},"application/vnd.nokia.ncd":{"source":"iana"},"application/vnd.nokia.pcd+wbxml":{"source":"iana"},"application/vnd.nokia.pcd+xml":{"source":"iana","compressible":true},"application/vnd.nokia.radio-preset":{"source":"iana","extensions":["rpst"]},"application/vnd.nokia.radio-presets":{"source":"iana","extensions":["rpss"]},"application/vnd.novadigm.edm":{"source":"iana","extensions":["edm"]},"application/vnd.novadigm.edx":{"source":"iana","extensions":["edx"]},"application/vnd.novadigm.ext":{"source":"iana","extensions":["ext"]},"application/vnd.ntt-local.content-share":{"source":"iana"},"application/vnd.ntt-local.file-transfer":{"source":"iana"},"application/vnd.ntt-local.ogw_remote-access":{"source":"iana"},"application/vnd.ntt-local.sip-ta_remote":{"source":"iana"},"application/vnd.ntt-local.sip-ta_tcp_stream":{"source":"iana"},"application/vnd.oasis.opendocument.chart":{"source":"iana","extensions":["odc"]},"application/vnd.oasis.opendocument.chart-template":{"source":"iana","extensions":["otc"]},"application/vnd.oasis.opendocument.database":{"source":"iana","extensions":["odb"]},"application/vnd.oasis.opendocument.formula":{"source":"iana","extensions":["odf"]},"application/vnd.oasis.opendocument.formula-template":{"source":"iana","extensions":["odft"]},"application/vnd.oasis.opendocument.graphics":{"source":"iana","compressible":false,"extensions":["odg"]},"application/vnd.oasis.opendocument.graphics-template":{"source":"iana","extensions":["otg"]},"application/vnd.oasis.opendocument.image":{"source":"iana","extensions":["odi"]},"application/vnd.oasis.opendocument.image-template":{"source":"iana","extensions":["oti"]},"application/vnd.oasis.opendocument.presentation":{"source":"iana","compressible":false,"extensions":["odp"]},"application/vnd.oasis.opendocument.presentation-template":{"source":"iana","extensions":["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{"source":"iana","compressible":false,"extensions":["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{"source":"iana","extensions":["ots"]},"application/vnd.oasis.opendocument.text":{"source":"iana","compressible":false,"extensions":["odt"]},"application/vnd.oasis.opendocument.text-master":{"source":"iana","extensions":["odm"]},"application/vnd.oasis.opendocument.text-template":{"source":"iana","extensions":["ott"]},"application/vnd.oasis.opendocument.text-web":{"source":"iana","extensions":["oth"]},"application/vnd.obn":{"source":"iana"},"application/vnd.ocf+cbor":{"source":"iana"},"application/vnd.oci.image.manifest.v1+json":{"source":"iana","compressible":true},"application/vnd.oftn.l10n+json":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessdownload+xml":{"source":"iana","compressible":true},"application/vnd.oipf.contentaccessstreaming+xml":{"source":"iana","compressible":true},"application/vnd.oipf.cspg-hexbinary":{"source":"iana"},"application/vnd.oipf.dae.svg+xml":{"source":"iana","compressible":true},"application/vnd.oipf.dae.xhtml+xml":{"source":"iana","compressible":true},"application/vnd.oipf.mippvcontrolmessage+xml":{"source":"iana","compressible":true},"application/vnd.oipf.pae.gem":{"source":"iana"},"application/vnd.oipf.spdiscovery+xml":{"source":"iana","compressible":true},"application/vnd.oipf.spdlist+xml":{"source":"iana","compressible":true},"application/vnd.oipf.ueprofile+xml":{"source":"iana","compressible":true},"application/vnd.oipf.userprofile+xml":{"source":"iana","compressible":true},"application/vnd.olpc-sugar":{"source":"iana","extensions":["xo"]},"application/vnd.oma-scws-config":{"source":"iana"},"application/vnd.oma-scws-http-request":{"source":"iana"},"application/vnd.oma-scws-http-response":{"source":"iana"},"application/vnd.oma.bcast.associated-procedure-parameter+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.drm-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.imd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.ltkm":{"source":"iana"},"application/vnd.oma.bcast.notification+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.provisioningtrigger":{"source":"iana"},"application/vnd.oma.bcast.sgboot":{"source":"iana"},"application/vnd.oma.bcast.sgdd+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sgdu":{"source":"iana"},"application/vnd.oma.bcast.simple-symbol-container":{"source":"iana"},"application/vnd.oma.bcast.smartcard-trigger+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.sprov+xml":{"source":"iana","compressible":true},"application/vnd.oma.bcast.stkm":{"source":"iana"},"application/vnd.oma.cab-address-book+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-feature-handler+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-pcc+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-subs-invite+xml":{"source":"iana","compressible":true},"application/vnd.oma.cab-user-prefs+xml":{"source":"iana","compressible":true},"application/vnd.oma.dcd":{"source":"iana"},"application/vnd.oma.dcdc":{"source":"iana"},"application/vnd.oma.dd2+xml":{"source":"iana","compressible":true,"extensions":["dd2"]},"application/vnd.oma.drm.risd+xml":{"source":"iana","compressible":true},"application/vnd.oma.group-usage-list+xml":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+cbor":{"source":"iana"},"application/vnd.oma.lwm2m+json":{"source":"iana","compressible":true},"application/vnd.oma.lwm2m+tlv":{"source":"iana"},"application/vnd.oma.pal+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.detailed-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.final-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.groups+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.invocation-descriptor+xml":{"source":"iana","compressible":true},"application/vnd.oma.poc.optimized-progress-report+xml":{"source":"iana","compressible":true},"application/vnd.oma.push":{"source":"iana"},"application/vnd.oma.scidm.messages+xml":{"source":"iana","compressible":true},"application/vnd.oma.xcap-directory+xml":{"source":"iana","compressible":true},"application/vnd.omads-email+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-file+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omads-folder+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.omaloc-supl-init":{"source":"iana"},"application/vnd.onepager":{"source":"iana"},"application/vnd.onepagertamp":{"source":"iana"},"application/vnd.onepagertamx":{"source":"iana"},"application/vnd.onepagertat":{"source":"iana"},"application/vnd.onepagertatp":{"source":"iana"},"application/vnd.onepagertatx":{"source":"iana"},"application/vnd.openblox.game+xml":{"source":"iana","compressible":true,"extensions":["obgx"]},"application/vnd.openblox.game-binary":{"source":"iana"},"application/vnd.openeye.oeb":{"source":"iana"},"application/vnd.openofficeorg.extension":{"source":"apache","extensions":["oxt"]},"application/vnd.openstreetmap.data+xml":{"source":"iana","compressible":true,"extensions":["osm"]},"application/vnd.opentimestamps.ots":{"source":"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawing+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{"source":"iana","compressible":false,"extensions":["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slide":{"source":"iana","extensions":["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{"source":"iana","extensions":["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.template":{"source":"iana","extensions":["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"source":"iana","compressible":false,"extensions":["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{"source":"iana","extensions":["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.theme+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.vmldrawing":{"source":"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{"source":"iana","compressible":false,"extensions":["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{"source":"iana","extensions":["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.core-properties+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{"source":"iana","compressible":true},"application/vnd.openxmlformats-package.relationships+xml":{"source":"iana","compressible":true},"application/vnd.oracle.resource+json":{"source":"iana","compressible":true},"application/vnd.orange.indata":{"source":"iana"},"application/vnd.osa.netdeploy":{"source":"iana"},"application/vnd.osgeo.mapguide.package":{"source":"iana","extensions":["mgp"]},"application/vnd.osgi.bundle":{"source":"iana"},"application/vnd.osgi.dp":{"source":"iana","extensions":["dp"]},"application/vnd.osgi.subsystem":{"source":"iana","extensions":["esa"]},"application/vnd.otps.ct-kip+xml":{"source":"iana","compressible":true},"application/vnd.oxli.countgraph":{"source":"iana"},"application/vnd.pagerduty+json":{"source":"iana","compressible":true},"application/vnd.palm":{"source":"iana","extensions":["pdb","pqa","oprc"]},"application/vnd.panoply":{"source":"iana"},"application/vnd.paos.xml":{"source":"iana"},"application/vnd.patentdive":{"source":"iana"},"application/vnd.patientecommsdoc":{"source":"iana"},"application/vnd.pawaafile":{"source":"iana","extensions":["paw"]},"application/vnd.pcos":{"source":"iana"},"application/vnd.pg.format":{"source":"iana","extensions":["str"]},"application/vnd.pg.osasli":{"source":"iana","extensions":["ei6"]},"application/vnd.piaccess.application-licence":{"source":"iana"},"application/vnd.picsel":{"source":"iana","extensions":["efif"]},"application/vnd.pmi.widget":{"source":"iana","extensions":["wg"]},"application/vnd.poc.group-advertisement+xml":{"source":"iana","compressible":true},"application/vnd.pocketlearn":{"source":"iana","extensions":["plf"]},"application/vnd.powerbuilder6":{"source":"iana","extensions":["pbd"]},"application/vnd.powerbuilder6-s":{"source":"iana"},"application/vnd.powerbuilder7":{"source":"iana"},"application/vnd.powerbuilder7-s":{"source":"iana"},"application/vnd.powerbuilder75":{"source":"iana"},"application/vnd.powerbuilder75-s":{"source":"iana"},"application/vnd.preminet":{"source":"iana"},"application/vnd.previewsystems.box":{"source":"iana","extensions":["box"]},"application/vnd.proteus.magazine":{"source":"iana","extensions":["mgz"]},"application/vnd.psfs":{"source":"iana"},"application/vnd.publishare-delta-tree":{"source":"iana","extensions":["qps"]},"application/vnd.pvi.ptid1":{"source":"iana","extensions":["ptid"]},"application/vnd.pwg-multiplexed":{"source":"iana"},"application/vnd.pwg-xhtml-print+xml":{"source":"iana","compressible":true},"application/vnd.qualcomm.brew-app-res":{"source":"iana"},"application/vnd.quarantainenet":{"source":"iana"},"application/vnd.quark.quarkxpress":{"source":"iana","extensions":["qxd","qxt","qwd","qwt","qxl","qxb"]},"application/vnd.quobject-quoxdocument":{"source":"iana"},"application/vnd.radisys.moml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-conn+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-audit-stream+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-conf+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-base+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-detect+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-group+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-speech+xml":{"source":"iana","compressible":true},"application/vnd.radisys.msml-dialog-transform+xml":{"source":"iana","compressible":true},"application/vnd.rainstor.data":{"source":"iana"},"application/vnd.rapid":{"source":"iana"},"application/vnd.rar":{"source":"iana","extensions":["rar"]},"application/vnd.realvnc.bed":{"source":"iana","extensions":["bed"]},"application/vnd.recordare.musicxml":{"source":"iana","extensions":["mxl"]},"application/vnd.recordare.musicxml+xml":{"source":"iana","compressible":true,"extensions":["musicxml"]},"application/vnd.renlearn.rlprint":{"source":"iana"},"application/vnd.resilient.logic":{"source":"iana"},"application/vnd.restful+json":{"source":"iana","compressible":true},"application/vnd.rig.cryptonote":{"source":"iana","extensions":["cryptonote"]},"application/vnd.rim.cod":{"source":"apache","extensions":["cod"]},"application/vnd.rn-realmedia":{"source":"apache","extensions":["rm"]},"application/vnd.rn-realmedia-vbr":{"source":"apache","extensions":["rmvb"]},"application/vnd.route66.link66+xml":{"source":"iana","compressible":true,"extensions":["link66"]},"application/vnd.rs-274x":{"source":"iana"},"application/vnd.ruckus.download":{"source":"iana"},"application/vnd.s3sms":{"source":"iana"},"application/vnd.sailingtracker.track":{"source":"iana","extensions":["st"]},"application/vnd.sar":{"source":"iana"},"application/vnd.sbm.cid":{"source":"iana"},"application/vnd.sbm.mid2":{"source":"iana"},"application/vnd.scribus":{"source":"iana"},"application/vnd.sealed.3df":{"source":"iana"},"application/vnd.sealed.csf":{"source":"iana"},"application/vnd.sealed.doc":{"source":"iana"},"application/vnd.sealed.eml":{"source":"iana"},"application/vnd.sealed.mht":{"source":"iana"},"application/vnd.sealed.net":{"source":"iana"},"application/vnd.sealed.ppt":{"source":"iana"},"application/vnd.sealed.tiff":{"source":"iana"},"application/vnd.sealed.xls":{"source":"iana"},"application/vnd.sealedmedia.softseal.html":{"source":"iana"},"application/vnd.sealedmedia.softseal.pdf":{"source":"iana"},"application/vnd.seemail":{"source":"iana","extensions":["see"]},"application/vnd.seis+json":{"source":"iana","compressible":true},"application/vnd.sema":{"source":"iana","extensions":["sema"]},"application/vnd.semd":{"source":"iana","extensions":["semd"]},"application/vnd.semf":{"source":"iana","extensions":["semf"]},"application/vnd.shade-save-file":{"source":"iana"},"application/vnd.shana.informed.formdata":{"source":"iana","extensions":["ifm"]},"application/vnd.shana.informed.formtemplate":{"source":"iana","extensions":["itp"]},"application/vnd.shana.informed.interchange":{"source":"iana","extensions":["iif"]},"application/vnd.shana.informed.package":{"source":"iana","extensions":["ipk"]},"application/vnd.shootproof+json":{"source":"iana","compressible":true},"application/vnd.shopkick+json":{"source":"iana","compressible":true},"application/vnd.shp":{"source":"iana"},"application/vnd.shx":{"source":"iana"},"application/vnd.sigrok.session":{"source":"iana"},"application/vnd.simtech-mindmapper":{"source":"iana","extensions":["twd","twds"]},"application/vnd.siren+json":{"source":"iana","compressible":true},"application/vnd.smaf":{"source":"iana","extensions":["mmf"]},"application/vnd.smart.notebook":{"source":"iana"},"application/vnd.smart.teacher":{"source":"iana","extensions":["teacher"]},"application/vnd.snesdev-page-table":{"source":"iana"},"application/vnd.software602.filler.form+xml":{"source":"iana","compressible":true,"extensions":["fo"]},"application/vnd.software602.filler.form-xml-zip":{"source":"iana"},"application/vnd.solent.sdkm+xml":{"source":"iana","compressible":true,"extensions":["sdkm","sdkd"]},"application/vnd.spotfire.dxp":{"source":"iana","extensions":["dxp"]},"application/vnd.spotfire.sfs":{"source":"iana","extensions":["sfs"]},"application/vnd.sqlite3":{"source":"iana"},"application/vnd.sss-cod":{"source":"iana"},"application/vnd.sss-dtf":{"source":"iana"},"application/vnd.sss-ntf":{"source":"iana"},"application/vnd.stardivision.calc":{"source":"apache","extensions":["sdc"]},"application/vnd.stardivision.draw":{"source":"apache","extensions":["sda"]},"application/vnd.stardivision.impress":{"source":"apache","extensions":["sdd"]},"application/vnd.stardivision.math":{"source":"apache","extensions":["smf"]},"application/vnd.stardivision.writer":{"source":"apache","extensions":["sdw","vor"]},"application/vnd.stardivision.writer-global":{"source":"apache","extensions":["sgl"]},"application/vnd.stepmania.package":{"source":"iana","extensions":["smzip"]},"application/vnd.stepmania.stepchart":{"source":"iana","extensions":["sm"]},"application/vnd.street-stream":{"source":"iana"},"application/vnd.sun.wadl+xml":{"source":"iana","compressible":true,"extensions":["wadl"]},"application/vnd.sun.xml.calc":{"source":"apache","extensions":["sxc"]},"application/vnd.sun.xml.calc.template":{"source":"apache","extensions":["stc"]},"application/vnd.sun.xml.draw":{"source":"apache","extensions":["sxd"]},"application/vnd.sun.xml.draw.template":{"source":"apache","extensions":["std"]},"application/vnd.sun.xml.impress":{"source":"apache","extensions":["sxi"]},"application/vnd.sun.xml.impress.template":{"source":"apache","extensions":["sti"]},"application/vnd.sun.xml.math":{"source":"apache","extensions":["sxm"]},"application/vnd.sun.xml.writer":{"source":"apache","extensions":["sxw"]},"application/vnd.sun.xml.writer.global":{"source":"apache","extensions":["sxg"]},"application/vnd.sun.xml.writer.template":{"source":"apache","extensions":["stw"]},"application/vnd.sus-calendar":{"source":"iana","extensions":["sus","susp"]},"application/vnd.svd":{"source":"iana","extensions":["svd"]},"application/vnd.swiftview-ics":{"source":"iana"},"application/vnd.sycle+xml":{"source":"iana","compressible":true},"application/vnd.syft+json":{"source":"iana","compressible":true},"application/vnd.symbian.install":{"source":"apache","extensions":["sis","sisx"]},"application/vnd.syncml+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xsm"]},"application/vnd.syncml.dm+wbxml":{"source":"iana","charset":"UTF-8","extensions":["bdm"]},"application/vnd.syncml.dm+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["xdm"]},"application/vnd.syncml.dm.notification":{"source":"iana"},"application/vnd.syncml.dmddf+wbxml":{"source":"iana"},"application/vnd.syncml.dmddf+xml":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{"source":"iana"},"application/vnd.syncml.dmtnds+xml":{"source":"iana","charset":"UTF-8","compressible":true},"application/vnd.syncml.ds.notification":{"source":"iana"},"application/vnd.tableschema+json":{"source":"iana","compressible":true},"application/vnd.tao.intent-module-archive":{"source":"iana","extensions":["tao"]},"application/vnd.tcpdump.pcap":{"source":"iana","extensions":["pcap","cap","dmp"]},"application/vnd.think-cell.ppttc+json":{"source":"iana","compressible":true},"application/vnd.tmd.mediaflex.api+xml":{"source":"iana","compressible":true},"application/vnd.tml":{"source":"iana"},"application/vnd.tmobile-livetv":{"source":"iana","extensions":["tmo"]},"application/vnd.tri.onesource":{"source":"iana"},"application/vnd.trid.tpt":{"source":"iana","extensions":["tpt"]},"application/vnd.triscape.mxs":{"source":"iana","extensions":["mxs"]},"application/vnd.trueapp":{"source":"iana","extensions":["tra"]},"application/vnd.truedoc":{"source":"iana"},"application/vnd.ubisoft.webplayer":{"source":"iana"},"application/vnd.ufdl":{"source":"iana","extensions":["ufd","ufdl"]},"application/vnd.uiq.theme":{"source":"iana","extensions":["utz"]},"application/vnd.umajin":{"source":"iana","extensions":["umj"]},"application/vnd.unity":{"source":"iana","extensions":["unityweb"]},"application/vnd.uoml+xml":{"source":"iana","compressible":true,"extensions":["uoml"]},"application/vnd.uplanet.alert":{"source":"iana"},"application/vnd.uplanet.alert-wbxml":{"source":"iana"},"application/vnd.uplanet.bearer-choice":{"source":"iana"},"application/vnd.uplanet.bearer-choice-wbxml":{"source":"iana"},"application/vnd.uplanet.cacheop":{"source":"iana"},"application/vnd.uplanet.cacheop-wbxml":{"source":"iana"},"application/vnd.uplanet.channel":{"source":"iana"},"application/vnd.uplanet.channel-wbxml":{"source":"iana"},"application/vnd.uplanet.list":{"source":"iana"},"application/vnd.uplanet.list-wbxml":{"source":"iana"},"application/vnd.uplanet.listcmd":{"source":"iana"},"application/vnd.uplanet.listcmd-wbxml":{"source":"iana"},"application/vnd.uplanet.signal":{"source":"iana"},"application/vnd.uri-map":{"source":"iana"},"application/vnd.valve.source.material":{"source":"iana"},"application/vnd.vcx":{"source":"iana","extensions":["vcx"]},"application/vnd.vd-study":{"source":"iana"},"application/vnd.vectorworks":{"source":"iana"},"application/vnd.vel+json":{"source":"iana","compressible":true},"application/vnd.verimatrix.vcas":{"source":"iana"},"application/vnd.veritone.aion+json":{"source":"iana","compressible":true},"application/vnd.veryant.thin":{"source":"iana"},"application/vnd.ves.encrypted":{"source":"iana"},"application/vnd.vidsoft.vidconference":{"source":"iana"},"application/vnd.visio":{"source":"iana","extensions":["vsd","vst","vss","vsw"]},"application/vnd.visionary":{"source":"iana","extensions":["vis"]},"application/vnd.vividence.scriptfile":{"source":"iana"},"application/vnd.vsf":{"source":"iana","extensions":["vsf"]},"application/vnd.wap.sic":{"source":"iana"},"application/vnd.wap.slc":{"source":"iana"},"application/vnd.wap.wbxml":{"source":"iana","charset":"UTF-8","extensions":["wbxml"]},"application/vnd.wap.wmlc":{"source":"iana","extensions":["wmlc"]},"application/vnd.wap.wmlscriptc":{"source":"iana","extensions":["wmlsc"]},"application/vnd.webturbo":{"source":"iana","extensions":["wtb"]},"application/vnd.wfa.dpp":{"source":"iana"},"application/vnd.wfa.p2p":{"source":"iana"},"application/vnd.wfa.wsc":{"source":"iana"},"application/vnd.windows.devicepairing":{"source":"iana"},"application/vnd.wmc":{"source":"iana"},"application/vnd.wmf.bootstrap":{"source":"iana"},"application/vnd.wolfram.mathematica":{"source":"iana"},"application/vnd.wolfram.mathematica.package":{"source":"iana"},"application/vnd.wolfram.player":{"source":"iana","extensions":["nbp"]},"application/vnd.wordperfect":{"source":"iana","extensions":["wpd"]},"application/vnd.wqd":{"source":"iana","extensions":["wqd"]},"application/vnd.wrq-hp3000-labelled":{"source":"iana"},"application/vnd.wt.stf":{"source":"iana","extensions":["stf"]},"application/vnd.wv.csp+wbxml":{"source":"iana"},"application/vnd.wv.csp+xml":{"source":"iana","compressible":true},"application/vnd.wv.ssp+xml":{"source":"iana","compressible":true},"application/vnd.xacml+json":{"source":"iana","compressible":true},"application/vnd.xara":{"source":"iana","extensions":["xar"]},"application/vnd.xfdl":{"source":"iana","extensions":["xfdl"]},"application/vnd.xfdl.webform":{"source":"iana"},"application/vnd.xmi+xml":{"source":"iana","compressible":true},"application/vnd.xmpie.cpkg":{"source":"iana"},"application/vnd.xmpie.dpkg":{"source":"iana"},"application/vnd.xmpie.plan":{"source":"iana"},"application/vnd.xmpie.ppkg":{"source":"iana"},"application/vnd.xmpie.xlim":{"source":"iana"},"application/vnd.yamaha.hv-dic":{"source":"iana","extensions":["hvd"]},"application/vnd.yamaha.hv-script":{"source":"iana","extensions":["hvs"]},"application/vnd.yamaha.hv-voice":{"source":"iana","extensions":["hvp"]},"application/vnd.yamaha.openscoreformat":{"source":"iana","extensions":["osf"]},"application/vnd.yamaha.openscoreformat.osfpvg+xml":{"source":"iana","compressible":true,"extensions":["osfpvg"]},"application/vnd.yamaha.remote-setup":{"source":"iana"},"application/vnd.yamaha.smaf-audio":{"source":"iana","extensions":["saf"]},"application/vnd.yamaha.smaf-phrase":{"source":"iana","extensions":["spf"]},"application/vnd.yamaha.through-ngn":{"source":"iana"},"application/vnd.yamaha.tunnel-udpencap":{"source":"iana"},"application/vnd.yaoweme":{"source":"iana"},"application/vnd.yellowriver-custom-menu":{"source":"iana","extensions":["cmp"]},"application/vnd.youtube.yt":{"source":"iana"},"application/vnd.zul":{"source":"iana","extensions":["zir","zirz"]},"application/vnd.zzazz.deck+xml":{"source":"iana","compressible":true,"extensions":["zaz"]},"application/voicexml+xml":{"source":"iana","compressible":true,"extensions":["vxml"]},"application/voucher-cms+json":{"source":"iana","compressible":true},"application/vq-rtcpxr":{"source":"iana"},"application/wasm":{"source":"iana","compressible":true,"extensions":["wasm"]},"application/watcherinfo+xml":{"source":"iana","compressible":true,"extensions":["wif"]},"application/webpush-options+json":{"source":"iana","compressible":true},"application/whoispp-query":{"source":"iana"},"application/whoispp-response":{"source":"iana"},"application/widget":{"source":"iana","extensions":["wgt"]},"application/winhlp":{"source":"apache","extensions":["hlp"]},"application/wita":{"source":"iana"},"application/wordperfect5.1":{"source":"iana"},"application/wsdl+xml":{"source":"iana","compressible":true,"extensions":["wsdl"]},"application/wspolicy+xml":{"source":"iana","compressible":true,"extensions":["wspolicy"]},"application/x-7z-compressed":{"source":"apache","compressible":false,"extensions":["7z"]},"application/x-abiword":{"source":"apache","extensions":["abw"]},"application/x-ace-compressed":{"source":"apache","extensions":["ace"]},"application/x-amf":{"source":"apache"},"application/x-apple-diskimage":{"source":"apache","extensions":["dmg"]},"application/x-arj":{"compressible":false,"extensions":["arj"]},"application/x-authorware-bin":{"source":"apache","extensions":["aab","x32","u32","vox"]},"application/x-authorware-map":{"source":"apache","extensions":["aam"]},"application/x-authorware-seg":{"source":"apache","extensions":["aas"]},"application/x-bcpio":{"source":"apache","extensions":["bcpio"]},"application/x-bdoc":{"compressible":false,"extensions":["bdoc"]},"application/x-bittorrent":{"source":"apache","extensions":["torrent"]},"application/x-blorb":{"source":"apache","extensions":["blb","blorb"]},"application/x-bzip":{"source":"apache","compressible":false,"extensions":["bz"]},"application/x-bzip2":{"source":"apache","compressible":false,"extensions":["bz2","boz"]},"application/x-cbr":{"source":"apache","extensions":["cbr","cba","cbt","cbz","cb7"]},"application/x-cdlink":{"source":"apache","extensions":["vcd"]},"application/x-cfs-compressed":{"source":"apache","extensions":["cfs"]},"application/x-chat":{"source":"apache","extensions":["chat"]},"application/x-chess-pgn":{"source":"apache","extensions":["pgn"]},"application/x-chrome-extension":{"extensions":["crx"]},"application/x-cocoa":{"source":"nginx","extensions":["cco"]},"application/x-compress":{"source":"apache"},"application/x-conference":{"source":"apache","extensions":["nsc"]},"application/x-cpio":{"source":"apache","extensions":["cpio"]},"application/x-csh":{"source":"apache","extensions":["csh"]},"application/x-deb":{"compressible":false},"application/x-debian-package":{"source":"apache","extensions":["deb","udeb"]},"application/x-dgc-compressed":{"source":"apache","extensions":["dgc"]},"application/x-director":{"source":"apache","extensions":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"]},"application/x-doom":{"source":"apache","extensions":["wad"]},"application/x-dtbncx+xml":{"source":"apache","compressible":true,"extensions":["ncx"]},"application/x-dtbook+xml":{"source":"apache","compressible":true,"extensions":["dtb"]},"application/x-dtbresource+xml":{"source":"apache","compressible":true,"extensions":["res"]},"application/x-dvi":{"source":"apache","compressible":false,"extensions":["dvi"]},"application/x-envoy":{"source":"apache","extensions":["evy"]},"application/x-eva":{"source":"apache","extensions":["eva"]},"application/x-font-bdf":{"source":"apache","extensions":["bdf"]},"application/x-font-dos":{"source":"apache"},"application/x-font-framemaker":{"source":"apache"},"application/x-font-ghostscript":{"source":"apache","extensions":["gsf"]},"application/x-font-libgrx":{"source":"apache"},"application/x-font-linux-psf":{"source":"apache","extensions":["psf"]},"application/x-font-pcf":{"source":"apache","extensions":["pcf"]},"application/x-font-snf":{"source":"apache","extensions":["snf"]},"application/x-font-speedo":{"source":"apache"},"application/x-font-sunos-news":{"source":"apache"},"application/x-font-type1":{"source":"apache","extensions":["pfa","pfb","pfm","afm"]},"application/x-font-vfont":{"source":"apache"},"application/x-freearc":{"source":"apache","extensions":["arc"]},"application/x-futuresplash":{"source":"apache","extensions":["spl"]},"application/x-gca-compressed":{"source":"apache","extensions":["gca"]},"application/x-glulx":{"source":"apache","extensions":["ulx"]},"application/x-gnumeric":{"source":"apache","extensions":["gnumeric"]},"application/x-gramps-xml":{"source":"apache","extensions":["gramps"]},"application/x-gtar":{"source":"apache","extensions":["gtar"]},"application/x-gzip":{"source":"apache"},"application/x-hdf":{"source":"apache","extensions":["hdf"]},"application/x-httpd-php":{"compressible":true,"extensions":["php"]},"application/x-install-instructions":{"source":"apache","extensions":["install"]},"application/x-iso9660-image":{"source":"apache","extensions":["iso"]},"application/x-iwork-keynote-sffkey":{"extensions":["key"]},"application/x-iwork-numbers-sffnumbers":{"extensions":["numbers"]},"application/x-iwork-pages-sffpages":{"extensions":["pages"]},"application/x-java-archive-diff":{"source":"nginx","extensions":["jardiff"]},"application/x-java-jnlp-file":{"source":"apache","compressible":false,"extensions":["jnlp"]},"application/x-javascript":{"compressible":true},"application/x-keepass2":{"extensions":["kdbx"]},"application/x-latex":{"source":"apache","compressible":false,"extensions":["latex"]},"application/x-lua-bytecode":{"extensions":["luac"]},"application/x-lzh-compressed":{"source":"apache","extensions":["lzh","lha"]},"application/x-makeself":{"source":"nginx","extensions":["run"]},"application/x-mie":{"source":"apache","extensions":["mie"]},"application/x-mobipocket-ebook":{"source":"apache","extensions":["prc","mobi"]},"application/x-mpegurl":{"compressible":false},"application/x-ms-application":{"source":"apache","extensions":["application"]},"application/x-ms-shortcut":{"source":"apache","extensions":["lnk"]},"application/x-ms-wmd":{"source":"apache","extensions":["wmd"]},"application/x-ms-wmz":{"source":"apache","extensions":["wmz"]},"application/x-ms-xbap":{"source":"apache","extensions":["xbap"]},"application/x-msaccess":{"source":"apache","extensions":["mdb"]},"application/x-msbinder":{"source":"apache","extensions":["obd"]},"application/x-mscardfile":{"source":"apache","extensions":["crd"]},"application/x-msclip":{"source":"apache","extensions":["clp"]},"application/x-msdos-program":{"extensions":["exe"]},"application/x-msdownload":{"source":"apache","extensions":["exe","dll","com","bat","msi"]},"application/x-msmediaview":{"source":"apache","extensions":["mvb","m13","m14"]},"application/x-msmetafile":{"source":"apache","extensions":["wmf","wmz","emf","emz"]},"application/x-msmoney":{"source":"apache","extensions":["mny"]},"application/x-mspublisher":{"source":"apache","extensions":["pub"]},"application/x-msschedule":{"source":"apache","extensions":["scd"]},"application/x-msterminal":{"source":"apache","extensions":["trm"]},"application/x-mswrite":{"source":"apache","extensions":["wri"]},"application/x-netcdf":{"source":"apache","extensions":["nc","cdf"]},"application/x-ns-proxy-autoconfig":{"compressible":true,"extensions":["pac"]},"application/x-nzb":{"source":"apache","extensions":["nzb"]},"application/x-perl":{"source":"nginx","extensions":["pl","pm"]},"application/x-pilot":{"source":"nginx","extensions":["prc","pdb"]},"application/x-pkcs12":{"source":"apache","compressible":false,"extensions":["p12","pfx"]},"application/x-pkcs7-certificates":{"source":"apache","extensions":["p7b","spc"]},"application/x-pkcs7-certreqresp":{"source":"apache","extensions":["p7r"]},"application/x-pki-message":{"source":"iana"},"application/x-rar-compressed":{"source":"apache","compressible":false,"extensions":["rar"]},"application/x-redhat-package-manager":{"source":"nginx","extensions":["rpm"]},"application/x-research-info-systems":{"source":"apache","extensions":["ris"]},"application/x-sea":{"source":"nginx","extensions":["sea"]},"application/x-sh":{"source":"apache","compressible":true,"extensions":["sh"]},"application/x-shar":{"source":"apache","extensions":["shar"]},"application/x-shockwave-flash":{"source":"apache","compressible":false,"extensions":["swf"]},"application/x-silverlight-app":{"source":"apache","extensions":["xap"]},"application/x-sql":{"source":"apache","extensions":["sql"]},"application/x-stuffit":{"source":"apache","compressible":false,"extensions":["sit"]},"application/x-stuffitx":{"source":"apache","extensions":["sitx"]},"application/x-subrip":{"source":"apache","extensions":["srt"]},"application/x-sv4cpio":{"source":"apache","extensions":["sv4cpio"]},"application/x-sv4crc":{"source":"apache","extensions":["sv4crc"]},"application/x-t3vm-image":{"source":"apache","extensions":["t3"]},"application/x-tads":{"source":"apache","extensions":["gam"]},"application/x-tar":{"source":"apache","compressible":true,"extensions":["tar"]},"application/x-tcl":{"source":"apache","extensions":["tcl","tk"]},"application/x-tex":{"source":"apache","extensions":["tex"]},"application/x-tex-tfm":{"source":"apache","extensions":["tfm"]},"application/x-texinfo":{"source":"apache","extensions":["texinfo","texi"]},"application/x-tgif":{"source":"apache","extensions":["obj"]},"application/x-ustar":{"source":"apache","extensions":["ustar"]},"application/x-virtualbox-hdd":{"compressible":true,"extensions":["hdd"]},"application/x-virtualbox-ova":{"compressible":true,"extensions":["ova"]},"application/x-virtualbox-ovf":{"compressible":true,"extensions":["ovf"]},"application/x-virtualbox-vbox":{"compressible":true,"extensions":["vbox"]},"application/x-virtualbox-vbox-extpack":{"compressible":false,"extensions":["vbox-extpack"]},"application/x-virtualbox-vdi":{"compressible":true,"extensions":["vdi"]},"application/x-virtualbox-vhd":{"compressible":true,"extensions":["vhd"]},"application/x-virtualbox-vmdk":{"compressible":true,"extensions":["vmdk"]},"application/x-wais-source":{"source":"apache","extensions":["src"]},"application/x-web-app-manifest+json":{"compressible":true,"extensions":["webapp"]},"application/x-www-form-urlencoded":{"source":"iana","compressible":true},"application/x-x509-ca-cert":{"source":"iana","extensions":["der","crt","pem"]},"application/x-x509-ca-ra-cert":{"source":"iana"},"application/x-x509-next-ca-cert":{"source":"iana"},"application/x-xfig":{"source":"apache","extensions":["fig"]},"application/x-xliff+xml":{"source":"apache","compressible":true,"extensions":["xlf"]},"application/x-xpinstall":{"source":"apache","compressible":false,"extensions":["xpi"]},"application/x-xz":{"source":"apache","extensions":["xz"]},"application/x-zmachine":{"source":"apache","extensions":["z1","z2","z3","z4","z5","z6","z7","z8"]},"application/x400-bp":{"source":"iana"},"application/xacml+xml":{"source":"iana","compressible":true},"application/xaml+xml":{"source":"apache","compressible":true,"extensions":["xaml"]},"application/xcap-att+xml":{"source":"iana","compressible":true,"extensions":["xav"]},"application/xcap-caps+xml":{"source":"iana","compressible":true,"extensions":["xca"]},"application/xcap-diff+xml":{"source":"iana","compressible":true,"extensions":["xdf"]},"application/xcap-el+xml":{"source":"iana","compressible":true,"extensions":["xel"]},"application/xcap-error+xml":{"source":"iana","compressible":true},"application/xcap-ns+xml":{"source":"iana","compressible":true,"extensions":["xns"]},"application/xcon-conference-info+xml":{"source":"iana","compressible":true},"application/xcon-conference-info-diff+xml":{"source":"iana","compressible":true},"application/xenc+xml":{"source":"iana","compressible":true,"extensions":["xenc"]},"application/xhtml+xml":{"source":"iana","compressible":true,"extensions":["xhtml","xht"]},"application/xhtml-voice+xml":{"source":"apache","compressible":true},"application/xliff+xml":{"source":"iana","compressible":true,"extensions":["xlf"]},"application/xml":{"source":"iana","compressible":true,"extensions":["xml","xsl","xsd","rng"]},"application/xml-dtd":{"source":"iana","compressible":true,"extensions":["dtd"]},"application/xml-external-parsed-entity":{"source":"iana"},"application/xml-patch+xml":{"source":"iana","compressible":true},"application/xmpp+xml":{"source":"iana","compressible":true},"application/xop+xml":{"source":"iana","compressible":true,"extensions":["xop"]},"application/xproc+xml":{"source":"apache","compressible":true,"extensions":["xpl"]},"application/xslt+xml":{"source":"iana","compressible":true,"extensions":["xsl","xslt"]},"application/xspf+xml":{"source":"apache","compressible":true,"extensions":["xspf"]},"application/xv+xml":{"source":"iana","compressible":true,"extensions":["mxml","xhvml","xvml","xvm"]},"application/yang":{"source":"iana","extensions":["yang"]},"application/yang-data+json":{"source":"iana","compressible":true},"application/yang-data+xml":{"source":"iana","compressible":true},"application/yang-patch+json":{"source":"iana","compressible":true},"application/yang-patch+xml":{"source":"iana","compressible":true},"application/yin+xml":{"source":"iana","compressible":true,"extensions":["yin"]},"application/zip":{"source":"iana","compressible":false,"extensions":["zip"]},"application/zlib":{"source":"iana"},"application/zstd":{"source":"iana"},"audio/1d-interleaved-parityfec":{"source":"iana"},"audio/32kadpcm":{"source":"iana"},"audio/3gpp":{"source":"iana","compressible":false,"extensions":["3gpp"]},"audio/3gpp2":{"source":"iana"},"audio/aac":{"source":"iana"},"audio/ac3":{"source":"iana"},"audio/adpcm":{"source":"apache","extensions":["adp"]},"audio/amr":{"source":"iana","extensions":["amr"]},"audio/amr-wb":{"source":"iana"},"audio/amr-wb+":{"source":"iana"},"audio/aptx":{"source":"iana"},"audio/asc":{"source":"iana"},"audio/atrac-advanced-lossless":{"source":"iana"},"audio/atrac-x":{"source":"iana"},"audio/atrac3":{"source":"iana"},"audio/basic":{"source":"iana","compressible":false,"extensions":["au","snd"]},"audio/bv16":{"source":"iana"},"audio/bv32":{"source":"iana"},"audio/clearmode":{"source":"iana"},"audio/cn":{"source":"iana"},"audio/dat12":{"source":"iana"},"audio/dls":{"source":"iana"},"audio/dsr-es201108":{"source":"iana"},"audio/dsr-es202050":{"source":"iana"},"audio/dsr-es202211":{"source":"iana"},"audio/dsr-es202212":{"source":"iana"},"audio/dv":{"source":"iana"},"audio/dvi4":{"source":"iana"},"audio/eac3":{"source":"iana"},"audio/encaprtp":{"source":"iana"},"audio/evrc":{"source":"iana"},"audio/evrc-qcp":{"source":"iana"},"audio/evrc0":{"source":"iana"},"audio/evrc1":{"source":"iana"},"audio/evrcb":{"source":"iana"},"audio/evrcb0":{"source":"iana"},"audio/evrcb1":{"source":"iana"},"audio/evrcnw":{"source":"iana"},"audio/evrcnw0":{"source":"iana"},"audio/evrcnw1":{"source":"iana"},"audio/evrcwb":{"source":"iana"},"audio/evrcwb0":{"source":"iana"},"audio/evrcwb1":{"source":"iana"},"audio/evs":{"source":"iana"},"audio/flexfec":{"source":"iana"},"audio/fwdred":{"source":"iana"},"audio/g711-0":{"source":"iana"},"audio/g719":{"source":"iana"},"audio/g722":{"source":"iana"},"audio/g7221":{"source":"iana"},"audio/g723":{"source":"iana"},"audio/g726-16":{"source":"iana"},"audio/g726-24":{"source":"iana"},"audio/g726-32":{"source":"iana"},"audio/g726-40":{"source":"iana"},"audio/g728":{"source":"iana"},"audio/g729":{"source":"iana"},"audio/g7291":{"source":"iana"},"audio/g729d":{"source":"iana"},"audio/g729e":{"source":"iana"},"audio/gsm":{"source":"iana"},"audio/gsm-efr":{"source":"iana"},"audio/gsm-hr-08":{"source":"iana"},"audio/ilbc":{"source":"iana"},"audio/ip-mr_v2.5":{"source":"iana"},"audio/isac":{"source":"apache"},"audio/l16":{"source":"iana"},"audio/l20":{"source":"iana"},"audio/l24":{"source":"iana","compressible":false},"audio/l8":{"source":"iana"},"audio/lpc":{"source":"iana"},"audio/melp":{"source":"iana"},"audio/melp1200":{"source":"iana"},"audio/melp2400":{"source":"iana"},"audio/melp600":{"source":"iana"},"audio/mhas":{"source":"iana"},"audio/midi":{"source":"apache","extensions":["mid","midi","kar","rmi"]},"audio/mobile-xmf":{"source":"iana","extensions":["mxmf"]},"audio/mp3":{"compressible":false,"extensions":["mp3"]},"audio/mp4":{"source":"iana","compressible":false,"extensions":["m4a","mp4a"]},"audio/mp4a-latm":{"source":"iana"},"audio/mpa":{"source":"iana"},"audio/mpa-robust":{"source":"iana"},"audio/mpeg":{"source":"iana","compressible":false,"extensions":["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{"source":"iana"},"audio/musepack":{"source":"apache"},"audio/ogg":{"source":"iana","compressible":false,"extensions":["oga","ogg","spx","opus"]},"audio/opus":{"source":"iana"},"audio/parityfec":{"source":"iana"},"audio/pcma":{"source":"iana"},"audio/pcma-wb":{"source":"iana"},"audio/pcmu":{"source":"iana"},"audio/pcmu-wb":{"source":"iana"},"audio/prs.sid":{"source":"iana"},"audio/qcelp":{"source":"iana"},"audio/raptorfec":{"source":"iana"},"audio/red":{"source":"iana"},"audio/rtp-enc-aescm128":{"source":"iana"},"audio/rtp-midi":{"source":"iana"},"audio/rtploopback":{"source":"iana"},"audio/rtx":{"source":"iana"},"audio/s3m":{"source":"apache","extensions":["s3m"]},"audio/scip":{"source":"iana"},"audio/silk":{"source":"apache","extensions":["sil"]},"audio/smv":{"source":"iana"},"audio/smv-qcp":{"source":"iana"},"audio/smv0":{"source":"iana"},"audio/sofa":{"source":"iana"},"audio/sp-midi":{"source":"iana"},"audio/speex":{"source":"iana"},"audio/t140c":{"source":"iana"},"audio/t38":{"source":"iana"},"audio/telephone-event":{"source":"iana"},"audio/tetra_acelp":{"source":"iana"},"audio/tetra_acelp_bb":{"source":"iana"},"audio/tone":{"source":"iana"},"audio/tsvcis":{"source":"iana"},"audio/uemclip":{"source":"iana"},"audio/ulpfec":{"source":"iana"},"audio/usac":{"source":"iana"},"audio/vdvi":{"source":"iana"},"audio/vmr-wb":{"source":"iana"},"audio/vnd.3gpp.iufp":{"source":"iana"},"audio/vnd.4sb":{"source":"iana"},"audio/vnd.audiokoz":{"source":"iana"},"audio/vnd.celp":{"source":"iana"},"audio/vnd.cisco.nse":{"source":"iana"},"audio/vnd.cmles.radio-events":{"source":"iana"},"audio/vnd.cns.anp1":{"source":"iana"},"audio/vnd.cns.inf1":{"source":"iana"},"audio/vnd.dece.audio":{"source":"iana","extensions":["uva","uvva"]},"audio/vnd.digital-winds":{"source":"iana","extensions":["eol"]},"audio/vnd.dlna.adts":{"source":"iana"},"audio/vnd.dolby.heaac.1":{"source":"iana"},"audio/vnd.dolby.heaac.2":{"source":"iana"},"audio/vnd.dolby.mlp":{"source":"iana"},"audio/vnd.dolby.mps":{"source":"iana"},"audio/vnd.dolby.pl2":{"source":"iana"},"audio/vnd.dolby.pl2x":{"source":"iana"},"audio/vnd.dolby.pl2z":{"source":"iana"},"audio/vnd.dolby.pulse.1":{"source":"iana"},"audio/vnd.dra":{"source":"iana","extensions":["dra"]},"audio/vnd.dts":{"source":"iana","extensions":["dts"]},"audio/vnd.dts.hd":{"source":"iana","extensions":["dtshd"]},"audio/vnd.dts.uhd":{"source":"iana"},"audio/vnd.dvb.file":{"source":"iana"},"audio/vnd.everad.plj":{"source":"iana"},"audio/vnd.hns.audio":{"source":"iana"},"audio/vnd.lucent.voice":{"source":"iana","extensions":["lvp"]},"audio/vnd.ms-playready.media.pya":{"source":"iana","extensions":["pya"]},"audio/vnd.nokia.mobile-xmf":{"source":"iana"},"audio/vnd.nortel.vbk":{"source":"iana"},"audio/vnd.nuera.ecelp4800":{"source":"iana","extensions":["ecelp4800"]},"audio/vnd.nuera.ecelp7470":{"source":"iana","extensions":["ecelp7470"]},"audio/vnd.nuera.ecelp9600":{"source":"iana","extensions":["ecelp9600"]},"audio/vnd.octel.sbc":{"source":"iana"},"audio/vnd.presonus.multitrack":{"source":"iana"},"audio/vnd.qcelp":{"source":"iana"},"audio/vnd.rhetorex.32kadpcm":{"source":"iana"},"audio/vnd.rip":{"source":"iana","extensions":["rip"]},"audio/vnd.rn-realaudio":{"compressible":false},"audio/vnd.sealedmedia.softseal.mpeg":{"source":"iana"},"audio/vnd.vmx.cvsd":{"source":"iana"},"audio/vnd.wave":{"compressible":false},"audio/vorbis":{"source":"iana","compressible":false},"audio/vorbis-config":{"source":"iana"},"audio/wav":{"compressible":false,"extensions":["wav"]},"audio/wave":{"compressible":false,"extensions":["wav"]},"audio/webm":{"source":"apache","compressible":false,"extensions":["weba"]},"audio/x-aac":{"source":"apache","compressible":false,"extensions":["aac"]},"audio/x-aiff":{"source":"apache","extensions":["aif","aiff","aifc"]},"audio/x-caf":{"source":"apache","compressible":false,"extensions":["caf"]},"audio/x-flac":{"source":"apache","extensions":["flac"]},"audio/x-m4a":{"source":"nginx","extensions":["m4a"]},"audio/x-matroska":{"source":"apache","extensions":["mka"]},"audio/x-mpegurl":{"source":"apache","extensions":["m3u"]},"audio/x-ms-wax":{"source":"apache","extensions":["wax"]},"audio/x-ms-wma":{"source":"apache","extensions":["wma"]},"audio/x-pn-realaudio":{"source":"apache","extensions":["ram","ra"]},"audio/x-pn-realaudio-plugin":{"source":"apache","extensions":["rmp"]},"audio/x-realaudio":{"source":"nginx","extensions":["ra"]},"audio/x-tta":{"source":"apache"},"audio/x-wav":{"source":"apache","extensions":["wav"]},"audio/xm":{"source":"apache","extensions":["xm"]},"chemical/x-cdx":{"source":"apache","extensions":["cdx"]},"chemical/x-cif":{"source":"apache","extensions":["cif"]},"chemical/x-cmdf":{"source":"apache","extensions":["cmdf"]},"chemical/x-cml":{"source":"apache","extensions":["cml"]},"chemical/x-csml":{"source":"apache","extensions":["csml"]},"chemical/x-pdb":{"source":"apache"},"chemical/x-xyz":{"source":"apache","extensions":["xyz"]},"font/collection":{"source":"iana","extensions":["ttc"]},"font/otf":{"source":"iana","compressible":true,"extensions":["otf"]},"font/sfnt":{"source":"iana"},"font/ttf":{"source":"iana","compressible":true,"extensions":["ttf"]},"font/woff":{"source":"iana","extensions":["woff"]},"font/woff2":{"source":"iana","extensions":["woff2"]},"image/aces":{"source":"iana","extensions":["exr"]},"image/apng":{"compressible":false,"extensions":["apng"]},"image/avci":{"source":"iana","extensions":["avci"]},"image/avcs":{"source":"iana","extensions":["avcs"]},"image/avif":{"source":"iana","compressible":false,"extensions":["avif"]},"image/bmp":{"source":"iana","compressible":true,"extensions":["bmp"]},"image/cgm":{"source":"iana","extensions":["cgm"]},"image/dicom-rle":{"source":"iana","extensions":["drle"]},"image/emf":{"source":"iana","extensions":["emf"]},"image/fits":{"source":"iana","extensions":["fits"]},"image/g3fax":{"source":"iana","extensions":["g3"]},"image/gif":{"source":"iana","compressible":false,"extensions":["gif"]},"image/heic":{"source":"iana","extensions":["heic"]},"image/heic-sequence":{"source":"iana","extensions":["heics"]},"image/heif":{"source":"iana","extensions":["heif"]},"image/heif-sequence":{"source":"iana","extensions":["heifs"]},"image/hej2k":{"source":"iana","extensions":["hej2"]},"image/hsj2":{"source":"iana","extensions":["hsj2"]},"image/ief":{"source":"iana","extensions":["ief"]},"image/jls":{"source":"iana","extensions":["jls"]},"image/jp2":{"source":"iana","compressible":false,"extensions":["jp2","jpg2"]},"image/jpeg":{"source":"iana","compressible":false,"extensions":["jpeg","jpg","jpe"]},"image/jph":{"source":"iana","extensions":["jph"]},"image/jphc":{"source":"iana","extensions":["jhc"]},"image/jpm":{"source":"iana","compressible":false,"extensions":["jpm"]},"image/jpx":{"source":"iana","compressible":false,"extensions":["jpx","jpf"]},"image/jxr":{"source":"iana","extensions":["jxr"]},"image/jxra":{"source":"iana","extensions":["jxra"]},"image/jxrs":{"source":"iana","extensions":["jxrs"]},"image/jxs":{"source":"iana","extensions":["jxs"]},"image/jxsc":{"source":"iana","extensions":["jxsc"]},"image/jxsi":{"source":"iana","extensions":["jxsi"]},"image/jxss":{"source":"iana","extensions":["jxss"]},"image/ktx":{"source":"iana","extensions":["ktx"]},"image/ktx2":{"source":"iana","extensions":["ktx2"]},"image/naplps":{"source":"iana"},"image/pjpeg":{"compressible":false},"image/png":{"source":"iana","compressible":false,"extensions":["png"]},"image/prs.btif":{"source":"iana","extensions":["btif"]},"image/prs.pti":{"source":"iana","extensions":["pti"]},"image/pwg-raster":{"source":"iana"},"image/sgi":{"source":"apache","extensions":["sgi"]},"image/svg+xml":{"source":"iana","compressible":true,"extensions":["svg","svgz"]},"image/t38":{"source":"iana","extensions":["t38"]},"image/tiff":{"source":"iana","compressible":false,"extensions":["tif","tiff"]},"image/tiff-fx":{"source":"iana","extensions":["tfx"]},"image/vnd.adobe.photoshop":{"source":"iana","compressible":true,"extensions":["psd"]},"image/vnd.airzip.accelerator.azv":{"source":"iana","extensions":["azv"]},"image/vnd.cns.inf2":{"source":"iana"},"image/vnd.dece.graphic":{"source":"iana","extensions":["uvi","uvvi","uvg","uvvg"]},"image/vnd.djvu":{"source":"iana","extensions":["djvu","djv"]},"image/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"image/vnd.dwg":{"source":"iana","extensions":["dwg"]},"image/vnd.dxf":{"source":"iana","extensions":["dxf"]},"image/vnd.fastbidsheet":{"source":"iana","extensions":["fbs"]},"image/vnd.fpx":{"source":"iana","extensions":["fpx"]},"image/vnd.fst":{"source":"iana","extensions":["fst"]},"image/vnd.fujixerox.edmics-mmr":{"source":"iana","extensions":["mmr"]},"image/vnd.fujixerox.edmics-rlc":{"source":"iana","extensions":["rlc"]},"image/vnd.globalgraphics.pgb":{"source":"iana"},"image/vnd.microsoft.icon":{"source":"iana","compressible":true,"extensions":["ico"]},"image/vnd.mix":{"source":"iana"},"image/vnd.mozilla.apng":{"source":"iana"},"image/vnd.ms-dds":{"compressible":true,"extensions":["dds"]},"image/vnd.ms-modi":{"source":"iana","extensions":["mdi"]},"image/vnd.ms-photo":{"source":"apache","extensions":["wdp"]},"image/vnd.net-fpx":{"source":"iana","extensions":["npx"]},"image/vnd.pco.b16":{"source":"iana","extensions":["b16"]},"image/vnd.radiance":{"source":"iana"},"image/vnd.sealed.png":{"source":"iana"},"image/vnd.sealedmedia.softseal.gif":{"source":"iana"},"image/vnd.sealedmedia.softseal.jpg":{"source":"iana"},"image/vnd.svf":{"source":"iana"},"image/vnd.tencent.tap":{"source":"iana","extensions":["tap"]},"image/vnd.valve.source.texture":{"source":"iana","extensions":["vtf"]},"image/vnd.wap.wbmp":{"source":"iana","extensions":["wbmp"]},"image/vnd.xiff":{"source":"iana","extensions":["xif"]},"image/vnd.zbrush.pcx":{"source":"iana","extensions":["pcx"]},"image/webp":{"source":"apache","extensions":["webp"]},"image/wmf":{"source":"iana","extensions":["wmf"]},"image/x-3ds":{"source":"apache","extensions":["3ds"]},"image/x-cmu-raster":{"source":"apache","extensions":["ras"]},"image/x-cmx":{"source":"apache","extensions":["cmx"]},"image/x-freehand":{"source":"apache","extensions":["fh","fhc","fh4","fh5","fh7"]},"image/x-icon":{"source":"apache","compressible":true,"extensions":["ico"]},"image/x-jng":{"source":"nginx","extensions":["jng"]},"image/x-mrsid-image":{"source":"apache","extensions":["sid"]},"image/x-ms-bmp":{"source":"nginx","compressible":true,"extensions":["bmp"]},"image/x-pcx":{"source":"apache","extensions":["pcx"]},"image/x-pict":{"source":"apache","extensions":["pic","pct"]},"image/x-portable-anymap":{"source":"apache","extensions":["pnm"]},"image/x-portable-bitmap":{"source":"apache","extensions":["pbm"]},"image/x-portable-graymap":{"source":"apache","extensions":["pgm"]},"image/x-portable-pixmap":{"source":"apache","extensions":["ppm"]},"image/x-rgb":{"source":"apache","extensions":["rgb"]},"image/x-tga":{"source":"apache","extensions":["tga"]},"image/x-xbitmap":{"source":"apache","extensions":["xbm"]},"image/x-xcf":{"compressible":false},"image/x-xpixmap":{"source":"apache","extensions":["xpm"]},"image/x-xwindowdump":{"source":"apache","extensions":["xwd"]},"message/cpim":{"source":"iana"},"message/delivery-status":{"source":"iana"},"message/disposition-notification":{"source":"iana","extensions":["disposition-notification"]},"message/external-body":{"source":"iana"},"message/feedback-report":{"source":"iana"},"message/global":{"source":"iana","extensions":["u8msg"]},"message/global-delivery-status":{"source":"iana","extensions":["u8dsn"]},"message/global-disposition-notification":{"source":"iana","extensions":["u8mdn"]},"message/global-headers":{"source":"iana","extensions":["u8hdr"]},"message/http":{"source":"iana","compressible":false},"message/imdn+xml":{"source":"iana","compressible":true},"message/news":{"source":"iana"},"message/partial":{"source":"iana","compressible":false},"message/rfc822":{"source":"iana","compressible":true,"extensions":["eml","mime"]},"message/s-http":{"source":"iana"},"message/sip":{"source":"iana"},"message/sipfrag":{"source":"iana"},"message/tracking-status":{"source":"iana"},"message/vnd.si.simp":{"source":"iana"},"message/vnd.wfa.wsc":{"source":"iana","extensions":["wsc"]},"model/3mf":{"source":"iana","extensions":["3mf"]},"model/e57":{"source":"iana"},"model/gltf+json":{"source":"iana","compressible":true,"extensions":["gltf"]},"model/gltf-binary":{"source":"iana","compressible":true,"extensions":["glb"]},"model/iges":{"source":"iana","compressible":false,"extensions":["igs","iges"]},"model/mesh":{"source":"iana","compressible":false,"extensions":["msh","mesh","silo"]},"model/mtl":{"source":"iana","extensions":["mtl"]},"model/obj":{"source":"iana","extensions":["obj"]},"model/step":{"source":"iana"},"model/step+xml":{"source":"iana","compressible":true,"extensions":["stpx"]},"model/step+zip":{"source":"iana","compressible":false,"extensions":["stpz"]},"model/step-xml+zip":{"source":"iana","compressible":false,"extensions":["stpxz"]},"model/stl":{"source":"iana","extensions":["stl"]},"model/vnd.collada+xml":{"source":"iana","compressible":true,"extensions":["dae"]},"model/vnd.dwf":{"source":"iana","extensions":["dwf"]},"model/vnd.flatland.3dml":{"source":"iana"},"model/vnd.gdl":{"source":"iana","extensions":["gdl"]},"model/vnd.gs-gdl":{"source":"apache"},"model/vnd.gs.gdl":{"source":"iana"},"model/vnd.gtw":{"source":"iana","extensions":["gtw"]},"model/vnd.moml+xml":{"source":"iana","compressible":true},"model/vnd.mts":{"source":"iana","extensions":["mts"]},"model/vnd.opengex":{"source":"iana","extensions":["ogex"]},"model/vnd.parasolid.transmit.binary":{"source":"iana","extensions":["x_b"]},"model/vnd.parasolid.transmit.text":{"source":"iana","extensions":["x_t"]},"model/vnd.pytha.pyox":{"source":"iana"},"model/vnd.rosette.annotated-data-model":{"source":"iana"},"model/vnd.sap.vds":{"source":"iana","extensions":["vds"]},"model/vnd.usdz+zip":{"source":"iana","compressible":false,"extensions":["usdz"]},"model/vnd.valve.source.compiled-map":{"source":"iana","extensions":["bsp"]},"model/vnd.vtu":{"source":"iana","extensions":["vtu"]},"model/vrml":{"source":"iana","compressible":false,"extensions":["wrl","vrml"]},"model/x3d+binary":{"source":"apache","compressible":false,"extensions":["x3db","x3dbz"]},"model/x3d+fastinfoset":{"source":"iana","extensions":["x3db"]},"model/x3d+vrml":{"source":"apache","compressible":false,"extensions":["x3dv","x3dvz"]},"model/x3d+xml":{"source":"iana","compressible":true,"extensions":["x3d","x3dz"]},"model/x3d-vrml":{"source":"iana","extensions":["x3dv"]},"multipart/alternative":{"source":"iana","compressible":false},"multipart/appledouble":{"source":"iana"},"multipart/byteranges":{"source":"iana"},"multipart/digest":{"source":"iana"},"multipart/encrypted":{"source":"iana","compressible":false},"multipart/form-data":{"source":"iana","compressible":false},"multipart/header-set":{"source":"iana"},"multipart/mixed":{"source":"iana"},"multipart/multilingual":{"source":"iana"},"multipart/parallel":{"source":"iana"},"multipart/related":{"source":"iana","compressible":false},"multipart/report":{"source":"iana"},"multipart/signed":{"source":"iana","compressible":false},"multipart/vnd.bint.med-plus":{"source":"iana"},"multipart/voice-message":{"source":"iana"},"multipart/x-mixed-replace":{"source":"iana"},"text/1d-interleaved-parityfec":{"source":"iana"},"text/cache-manifest":{"source":"iana","compressible":true,"extensions":["appcache","manifest"]},"text/calendar":{"source":"iana","extensions":["ics","ifb"]},"text/calender":{"compressible":true},"text/cmd":{"compressible":true},"text/coffeescript":{"extensions":["coffee","litcoffee"]},"text/cql":{"source":"iana"},"text/cql-expression":{"source":"iana"},"text/cql-identifier":{"source":"iana"},"text/css":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["css"]},"text/csv":{"source":"iana","compressible":true,"extensions":["csv"]},"text/csv-schema":{"source":"iana"},"text/directory":{"source":"iana"},"text/dns":{"source":"iana"},"text/ecmascript":{"source":"iana"},"text/encaprtp":{"source":"iana"},"text/enriched":{"source":"iana"},"text/fhirpath":{"source":"iana"},"text/flexfec":{"source":"iana"},"text/fwdred":{"source":"iana"},"text/gff3":{"source":"iana"},"text/grammar-ref-list":{"source":"iana"},"text/html":{"source":"iana","compressible":true,"extensions":["html","htm","shtml"]},"text/jade":{"extensions":["jade"]},"text/javascript":{"source":"iana","compressible":true},"text/jcr-cnd":{"source":"iana"},"text/jsx":{"compressible":true,"extensions":["jsx"]},"text/less":{"compressible":true,"extensions":["less"]},"text/markdown":{"source":"iana","compressible":true,"extensions":["markdown","md"]},"text/mathml":{"source":"nginx","extensions":["mml"]},"text/mdx":{"compressible":true,"extensions":["mdx"]},"text/mizar":{"source":"iana"},"text/n3":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["n3"]},"text/parameters":{"source":"iana","charset":"UTF-8"},"text/parityfec":{"source":"iana"},"text/plain":{"source":"iana","compressible":true,"extensions":["txt","text","conf","def","list","log","in","ini"]},"text/provenance-notation":{"source":"iana","charset":"UTF-8"},"text/prs.fallenstein.rst":{"source":"iana"},"text/prs.lines.tag":{"source":"iana","extensions":["dsc"]},"text/prs.prop.logic":{"source":"iana"},"text/raptorfec":{"source":"iana"},"text/red":{"source":"iana"},"text/rfc822-headers":{"source":"iana"},"text/richtext":{"source":"iana","compressible":true,"extensions":["rtx"]},"text/rtf":{"source":"iana","compressible":true,"extensions":["rtf"]},"text/rtp-enc-aescm128":{"source":"iana"},"text/rtploopback":{"source":"iana"},"text/rtx":{"source":"iana"},"text/sgml":{"source":"iana","extensions":["sgml","sgm"]},"text/shaclc":{"source":"iana"},"text/shex":{"source":"iana","extensions":["shex"]},"text/slim":{"extensions":["slim","slm"]},"text/spdx":{"source":"iana","extensions":["spdx"]},"text/strings":{"source":"iana"},"text/stylus":{"extensions":["stylus","styl"]},"text/t140":{"source":"iana"},"text/tab-separated-values":{"source":"iana","compressible":true,"extensions":["tsv"]},"text/troff":{"source":"iana","extensions":["t","tr","roff","man","me","ms"]},"text/turtle":{"source":"iana","charset":"UTF-8","extensions":["ttl"]},"text/ulpfec":{"source":"iana"},"text/uri-list":{"source":"iana","compressible":true,"extensions":["uri","uris","urls"]},"text/vcard":{"source":"iana","compressible":true,"extensions":["vcard"]},"text/vnd.a":{"source":"iana"},"text/vnd.abc":{"source":"iana"},"text/vnd.ascii-art":{"source":"iana"},"text/vnd.curl":{"source":"iana","extensions":["curl"]},"text/vnd.curl.dcurl":{"source":"apache","extensions":["dcurl"]},"text/vnd.curl.mcurl":{"source":"apache","extensions":["mcurl"]},"text/vnd.curl.scurl":{"source":"apache","extensions":["scurl"]},"text/vnd.debian.copyright":{"source":"iana","charset":"UTF-8"},"text/vnd.dmclientscript":{"source":"iana"},"text/vnd.dvb.subtitle":{"source":"iana","extensions":["sub"]},"text/vnd.esmertec.theme-descriptor":{"source":"iana","charset":"UTF-8"},"text/vnd.familysearch.gedcom":{"source":"iana","extensions":["ged"]},"text/vnd.ficlab.flt":{"source":"iana"},"text/vnd.fly":{"source":"iana","extensions":["fly"]},"text/vnd.fmi.flexstor":{"source":"iana","extensions":["flx"]},"text/vnd.gml":{"source":"iana"},"text/vnd.graphviz":{"source":"iana","extensions":["gv"]},"text/vnd.hans":{"source":"iana"},"text/vnd.hgl":{"source":"iana"},"text/vnd.in3d.3dml":{"source":"iana","extensions":["3dml"]},"text/vnd.in3d.spot":{"source":"iana","extensions":["spot"]},"text/vnd.iptc.newsml":{"source":"iana"},"text/vnd.iptc.nitf":{"source":"iana"},"text/vnd.latex-z":{"source":"iana"},"text/vnd.motorola.reflex":{"source":"iana"},"text/vnd.ms-mediapackage":{"source":"iana"},"text/vnd.net2phone.commcenter.command":{"source":"iana"},"text/vnd.radisys.msml-basic-layout":{"source":"iana"},"text/vnd.senx.warpscript":{"source":"iana"},"text/vnd.si.uricatalogue":{"source":"iana"},"text/vnd.sosi":{"source":"iana"},"text/vnd.sun.j2me.app-descriptor":{"source":"iana","charset":"UTF-8","extensions":["jad"]},"text/vnd.trolltech.linguist":{"source":"iana","charset":"UTF-8"},"text/vnd.wap.si":{"source":"iana"},"text/vnd.wap.sl":{"source":"iana"},"text/vnd.wap.wml":{"source":"iana","extensions":["wml"]},"text/vnd.wap.wmlscript":{"source":"iana","extensions":["wmls"]},"text/vtt":{"source":"iana","charset":"UTF-8","compressible":true,"extensions":["vtt"]},"text/x-asm":{"source":"apache","extensions":["s","asm"]},"text/x-c":{"source":"apache","extensions":["c","cc","cxx","cpp","h","hh","dic"]},"text/x-component":{"source":"nginx","extensions":["htc"]},"text/x-fortran":{"source":"apache","extensions":["f","for","f77","f90"]},"text/x-gwt-rpc":{"compressible":true},"text/x-handlebars-template":{"extensions":["hbs"]},"text/x-java-source":{"source":"apache","extensions":["java"]},"text/x-jquery-tmpl":{"compressible":true},"text/x-lua":{"extensions":["lua"]},"text/x-markdown":{"compressible":true,"extensions":["mkd"]},"text/x-nfo":{"source":"apache","extensions":["nfo"]},"text/x-opml":{"source":"apache","extensions":["opml"]},"text/x-org":{"compressible":true,"extensions":["org"]},"text/x-pascal":{"source":"apache","extensions":["p","pas"]},"text/x-processing":{"compressible":true,"extensions":["pde"]},"text/x-sass":{"extensions":["sass"]},"text/x-scss":{"extensions":["scss"]},"text/x-setext":{"source":"apache","extensions":["etx"]},"text/x-sfv":{"source":"apache","extensions":["sfv"]},"text/x-suse-ymp":{"compressible":true,"extensions":["ymp"]},"text/x-uuencode":{"source":"apache","extensions":["uu"]},"text/x-vcalendar":{"source":"apache","extensions":["vcs"]},"text/x-vcard":{"source":"apache","extensions":["vcf"]},"text/xml":{"source":"iana","compressible":true,"extensions":["xml"]},"text/xml-external-parsed-entity":{"source":"iana"},"text/yaml":{"compressible":true,"extensions":["yaml","yml"]},"video/1d-interleaved-parityfec":{"source":"iana"},"video/3gpp":{"source":"iana","extensions":["3gp","3gpp"]},"video/3gpp-tt":{"source":"iana"},"video/3gpp2":{"source":"iana","extensions":["3g2"]},"video/av1":{"source":"iana"},"video/bmpeg":{"source":"iana"},"video/bt656":{"source":"iana"},"video/celb":{"source":"iana"},"video/dv":{"source":"iana"},"video/encaprtp":{"source":"iana"},"video/ffv1":{"source":"iana"},"video/flexfec":{"source":"iana"},"video/h261":{"source":"iana","extensions":["h261"]},"video/h263":{"source":"iana","extensions":["h263"]},"video/h263-1998":{"source":"iana"},"video/h263-2000":{"source":"iana"},"video/h264":{"source":"iana","extensions":["h264"]},"video/h264-rcdo":{"source":"iana"},"video/h264-svc":{"source":"iana"},"video/h265":{"source":"iana"},"video/iso.segment":{"source":"iana","extensions":["m4s"]},"video/jpeg":{"source":"iana","extensions":["jpgv"]},"video/jpeg2000":{"source":"iana"},"video/jpm":{"source":"apache","extensions":["jpm","jpgm"]},"video/jxsv":{"source":"iana"},"video/mj2":{"source":"iana","extensions":["mj2","mjp2"]},"video/mp1s":{"source":"iana"},"video/mp2p":{"source":"iana"},"video/mp2t":{"source":"iana","extensions":["ts"]},"video/mp4":{"source":"iana","compressible":false,"extensions":["mp4","mp4v","mpg4"]},"video/mp4v-es":{"source":"iana"},"video/mpeg":{"source":"iana","compressible":false,"extensions":["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{"source":"iana"},"video/mpv":{"source":"iana"},"video/nv":{"source":"iana"},"video/ogg":{"source":"iana","compressible":false,"extensions":["ogv"]},"video/parityfec":{"source":"iana"},"video/pointer":{"source":"iana"},"video/quicktime":{"source":"iana","compressible":false,"extensions":["qt","mov"]},"video/raptorfec":{"source":"iana"},"video/raw":{"source":"iana"},"video/rtp-enc-aescm128":{"source":"iana"},"video/rtploopback":{"source":"iana"},"video/rtx":{"source":"iana"},"video/scip":{"source":"iana"},"video/smpte291":{"source":"iana"},"video/smpte292m":{"source":"iana"},"video/ulpfec":{"source":"iana"},"video/vc1":{"source":"iana"},"video/vc2":{"source":"iana"},"video/vnd.cctv":{"source":"iana"},"video/vnd.dece.hd":{"source":"iana","extensions":["uvh","uvvh"]},"video/vnd.dece.mobile":{"source":"iana","extensions":["uvm","uvvm"]},"video/vnd.dece.mp4":{"source":"iana"},"video/vnd.dece.pd":{"source":"iana","extensions":["uvp","uvvp"]},"video/vnd.dece.sd":{"source":"iana","extensions":["uvs","uvvs"]},"video/vnd.dece.video":{"source":"iana","extensions":["uvv","uvvv"]},"video/vnd.directv.mpeg":{"source":"iana"},"video/vnd.directv.mpeg-tts":{"source":"iana"},"video/vnd.dlna.mpeg-tts":{"source":"iana"},"video/vnd.dvb.file":{"source":"iana","extensions":["dvb"]},"video/vnd.fvt":{"source":"iana","extensions":["fvt"]},"video/vnd.hns.video":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.1dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-1010":{"source":"iana"},"video/vnd.iptvforum.2dparityfec-2005":{"source":"iana"},"video/vnd.iptvforum.ttsavc":{"source":"iana"},"video/vnd.iptvforum.ttsmpeg2":{"source":"iana"},"video/vnd.motorola.video":{"source":"iana"},"video/vnd.motorola.videop":{"source":"iana"},"video/vnd.mpegurl":{"source":"iana","extensions":["mxu","m4u"]},"video/vnd.ms-playready.media.pyv":{"source":"iana","extensions":["pyv"]},"video/vnd.nokia.interleaved-multimedia":{"source":"iana"},"video/vnd.nokia.mp4vr":{"source":"iana"},"video/vnd.nokia.videovoip":{"source":"iana"},"video/vnd.objectvideo":{"source":"iana"},"video/vnd.radgamettools.bink":{"source":"iana"},"video/vnd.radgamettools.smacker":{"source":"iana"},"video/vnd.sealed.mpeg1":{"source":"iana"},"video/vnd.sealed.mpeg4":{"source":"iana"},"video/vnd.sealed.swf":{"source":"iana"},"video/vnd.sealedmedia.softseal.mov":{"source":"iana"},"video/vnd.uvvu.mp4":{"source":"iana","extensions":["uvu","uvvu"]},"video/vnd.vivo":{"source":"iana","extensions":["viv"]},"video/vnd.youtube.yt":{"source":"iana"},"video/vp8":{"source":"iana"},"video/vp9":{"source":"iana"},"video/webm":{"source":"apache","compressible":false,"extensions":["webm"]},"video/x-f4v":{"source":"apache","extensions":["f4v"]},"video/x-fli":{"source":"apache","extensions":["fli"]},"video/x-flv":{"source":"apache","compressible":false,"extensions":["flv"]},"video/x-m4v":{"source":"apache","extensions":["m4v"]},"video/x-matroska":{"source":"apache","compressible":false,"extensions":["mkv","mk3d","mks"]},"video/x-mng":{"source":"apache","extensions":["mng"]},"video/x-ms-asf":{"source":"apache","extensions":["asf","asx"]},"video/x-ms-vob":{"source":"apache","extensions":["vob"]},"video/x-ms-wm":{"source":"apache","extensions":["wm"]},"video/x-ms-wmv":{"source":"apache","compressible":false,"extensions":["wmv"]},"video/x-ms-wmx":{"source":"apache","extensions":["wmx"]},"video/x-ms-wvx":{"source":"apache","extensions":["wvx"]},"video/x-msvideo":{"source":"apache","extensions":["avi"]},"video/x-sgi-movie":{"source":"apache","extensions":["movie"]},"video/x-smv":{"source":"apache","extensions":["smv"]},"x-conference/x-cooltalk":{"source":"apache","extensions":["ice"]},"x-shader/x-fragment":{"compressible":true},"x-shader/x-vertex":{"compressible":true}}')},1751:e=>{"use strict";e.exports={i8:"4.7.4"}}},i={};function n(e){var t=i[e];if(void 0!==t)return t.exports;var o=i[e]={exports:{}};return s[e].call(o.exports,o,o.exports,n),o.exports}n.d=(e,t)=>{for(var s in t)n.o(t,s)&&!n.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};return(()=>{"use strict";var e=o;Object.defineProperty(e,"__esModule",{value:!0}),e.SocketTunnelClient=e.SessionIdError=e.ConnectionError=e.AuthorizationError=void 0;var t=n(7487);Object.defineProperty(e,"AuthorizationError",{enumerable:!0,get:function(){return t.AuthorizationError}}),Object.defineProperty(e,"ConnectionError",{enumerable:!0,get:function(){return t.ConnectionError}}),Object.defineProperty(e,"SessionIdError",{enumerable:!0,get:function(){return t.SessionIdError}}),Object.defineProperty(e,"SocketTunnelClient",{enumerable:!0,get:function(){return t.SocketTunnelClient}})})(),o})()));