9remote 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/dist/server.cjs +19 -21
  2. package/dist/standalone/.next/BUILD_ID +1 -1
  3. package/dist/standalone/.next/build-manifest.json +2 -2
  4. package/dist/standalone/.next/server/app/_global-error.html +2 -2
  5. package/dist/standalone/.next/server/app/_global-error.rsc +1 -1
  6. package/dist/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  9. package/dist/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  10. package/dist/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  11. package/dist/standalone/.next/server/app/_not-found.html +1 -1
  12. package/dist/standalone/.next/server/app/_not-found.rsc +1 -1
  13. package/dist/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  14. package/dist/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  15. package/dist/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  16. package/dist/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  17. package/dist/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  18. package/dist/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  19. package/dist/standalone/.next/server/app/index.html +2 -2
  20. package/dist/standalone/.next/server/app/index.rsc +1 -1
  21. package/dist/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  22. package/dist/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  23. package/dist/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  24. package/dist/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  25. package/dist/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  26. package/dist/standalone/.next/server/app/login.html +1 -1
  27. package/dist/standalone/.next/server/app/login.rsc +1 -1
  28. package/dist/standalone/.next/server/app/login.segments/_full.segment.rsc +1 -1
  29. package/dist/standalone/.next/server/app/login.segments/_head.segment.rsc +1 -1
  30. package/dist/standalone/.next/server/app/login.segments/_index.segment.rsc +1 -1
  31. package/dist/standalone/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  32. package/dist/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  33. package/dist/standalone/.next/server/app/login.segments/login.segment.rsc +1 -1
  34. package/dist/standalone/.next/server/app/remote.html +1 -1
  35. package/dist/standalone/.next/server/app/remote.rsc +1 -1
  36. package/dist/standalone/.next/server/app/remote.segments/_full.segment.rsc +1 -1
  37. package/dist/standalone/.next/server/app/remote.segments/_head.segment.rsc +1 -1
  38. package/dist/standalone/.next/server/app/remote.segments/_index.segment.rsc +1 -1
  39. package/dist/standalone/.next/server/app/remote.segments/_tree.segment.rsc +1 -1
  40. package/dist/standalone/.next/server/app/remote.segments/remote/__PAGE__.segment.rsc +1 -1
  41. package/dist/standalone/.next/server/app/remote.segments/remote.segment.rsc +1 -1
  42. package/dist/standalone/.next/server/app/terminal.html +1 -1
  43. package/dist/standalone/.next/server/app/terminal.rsc +1 -1
  44. package/dist/standalone/.next/server/app/terminal.segments/_full.segment.rsc +1 -1
  45. package/dist/standalone/.next/server/app/terminal.segments/_head.segment.rsc +1 -1
  46. package/dist/standalone/.next/server/app/terminal.segments/_index.segment.rsc +1 -1
  47. package/dist/standalone/.next/server/app/terminal.segments/_tree.segment.rsc +1 -1
  48. package/dist/standalone/.next/server/app/terminal.segments/terminal/__PAGE__.segment.rsc +1 -1
  49. package/dist/standalone/.next/server/app/terminal.segments/terminal.segment.rsc +1 -1
  50. package/dist/standalone/.next/server/pages/404.html +1 -1
  51. package/dist/standalone/.next/server/pages/500.html +2 -2
  52. package/dist/standalone/package.json +5 -3
  53. package/package.json +4 -1
  54. package/scripts/install.js +8 -17
  55. /package/dist/standalone/.next/static/{wLxjscs3VLO0dQbU_cK9R → yYAVq6li38vXy8Il2iiFa}/_buildManifest.js +0 -0
  56. /package/dist/standalone/.next/static/{wLxjscs3VLO0dQbU_cK9R → yYAVq6li38vXy8Il2iiFa}/_clientMiddlewareManifest.json +0 -0
  57. /package/dist/standalone/.next/static/{wLxjscs3VLO0dQbU_cK9R → yYAVq6li38vXy8Il2iiFa}/_ssgManifest.js +0 -0
package/dist/server.cjs CHANGED
@@ -1,37 +1,35 @@
1
1
  const __importMetaUrl = require('url').pathToFileURL(__filename).href;
2
- var Qp=Object.create;var vi=Object.defineProperty;var Zp=Object.getOwnPropertyDescriptor;var eu=Object.getOwnPropertyNames;var tu=Object.getPrototypeOf,su=Object.prototype.hasOwnProperty;var Fe=(s,e)=>()=>(s&&(e=s(s=0)),e);var v=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),st=(s,e)=>{for(var t in e)vi(s,t,{get:e[t],enumerable:!0})},iu=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of eu(e))!su.call(s,n)&&n!==t&&vi(s,n,{get:()=>e[n],enumerable:!(i=Zp(e,n))||i.enumerable});return s};var D=(s,e,t)=>(t=s!=null?Qp(tu(s)):{},iu(e||!s||!s.__esModule?vi(t,"default",{value:s,enumerable:!0}):t,s));var Ia=v((_x,xi)=>{"use strict";xi.exports=Na;xi.exports.preferredCharsets=Na;var nu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function au(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=ru(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function ru(s,e){var t=nu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var o=a[r].trim().split("=");if(o[0]==="q"){n=parseFloat(o[1]);break}}return{charset:i,q:n,i:e}}function ou(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=cu(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function cu(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Na(s,e){var t=au(s===void 0?"*":s||"");if(!e)return t.filter(ja).sort(Pa).map(lu);var i=e.map(function(a,r){return ou(a,t,r)});return i.filter(ja).sort(Pa).map(function(a){return e[i.indexOf(a)]})}function Pa(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function lu(s){return s.charset}function ja(s){return s.q>0}});var qa=v((Sx,gi)=>{"use strict";gi.exports=Da;gi.exports.preferredEncodings=Da;var pu=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function uu(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=du(e[n].trim(),n);r&&(e[a++]=r,t=t||Ma("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function du(s,e){var t=pu.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var o=a[r].trim().split("=");if(o[0]==="q"){n=parseFloat(o[1]);break}}return{encoding:i,q:n,i:e}}function fu(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Ma(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Ma(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function Da(s,e){var t=uu(s||"");if(!e)return t.filter(La).sort(Ba).map(mu);var i=e.map(function(a,r){return fu(a,t,r)});return i.filter(La).sort(Ba).map(function(a){return e[i.indexOf(a)]})}function Ba(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function mu(s){return s.encoding}function La(s){return s.q>0}});var Wa=v((Ex,bi)=>{"use strict";bi.exports=za;bi.exports.preferredLanguages=za;var hu=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function vu(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Ha(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ha(s,e){var t=hu.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var o=t[3].split(";"),c=0;c<o.length;c++){var l=o[c].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function xu(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=gu(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function gu(s,e,t){var i=Ha(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function za(s,e){var t=vu(s===void 0?"*":s||"");if(!e)return t.filter(Ua).sort(Fa).map(bu);var i=e.map(function(a,r){return xu(a,t,r)});return i.filter(Ua).sort(Fa).map(function(a){return e[i.indexOf(a)]})}function Fa(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function bu(s){return s.full}function Ua(s){return s.q>0}});var Xa=v((kx,yi)=>{"use strict";yi.exports=Ka;yi.exports.preferredMediaTypes=Ka;var yu=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function wu(s){for(var e=Cu(s),t=0,i=0;t<e.length;t++){var n=Ga(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ga(s,e){var t=yu.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var o=Tu(t[3]).map(ku),c=0;c<o.length;c++){var l=o[c],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function _u(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Su(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Su(s,e,t){var i=Ga(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function Ka(s,e){var t=wu(s===void 0?"*/*":s||"");if(!e)return t.filter(Va).sort($a).map(Eu);var i=e.map(function(a,r){return _u(a,t,r)});return i.filter(Va).sort($a).map(function(a){return e[i.indexOf(a)]})}function $a(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Eu(s){return s.type+"/"+s.subtype}function Va(s){return s.q>0}function Ya(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function ku(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Cu(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)Ya(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function Tu(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)Ya(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var Ja=v((Cx,wi)=>{"use strict";var Ou=Ia(),Ru=qa(),Au=Wa(),Pu=Xa();wi.exports=E;wi.exports.Negotiator=E;function E(s){if(!(this instanceof E))return new E(s);this.request=s}E.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};E.prototype.charsets=function(e){return Ou(this.request.headers["accept-charset"],e)};E.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};E.prototype.encodings=function(e){return Ru(this.request.headers["accept-encoding"],e)};E.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};E.prototype.languages=function(e){return Au(this.request.headers["accept-language"],e)};E.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};E.prototype.mediaTypes=function(e){return Pu(this.request.headers.accept,e)};E.prototype.preferredCharset=E.prototype.charset;E.prototype.preferredCharsets=E.prototype.charsets;E.prototype.preferredEncoding=E.prototype.encoding;E.prototype.preferredEncodings=E.prototype.encodings;E.prototype.preferredLanguage=E.prototype.language;E.prototype.preferredLanguages=E.prototype.languages;E.prototype.preferredMediaType=E.prototype.mediaType;E.prototype.preferredMediaTypes=E.prototype.mediaTypes});var Qa=v((Tx,ju)=>{ju.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"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:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,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:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"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:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,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:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"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:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,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:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,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:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"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:!0},"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:!1,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:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,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:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,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:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,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:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"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:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"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:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"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:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,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:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,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:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"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:!1,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:!0,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:!0},"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:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,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:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,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:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,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:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,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:!0,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:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"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:!0},"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:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"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:!0,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:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"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:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"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:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"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:!1},"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:!1},"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:!1},"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:!0},"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:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"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:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"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:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,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:!1},"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:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"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:!0},"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:!0},"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:!0,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:!1,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:!0,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:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,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:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,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:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"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:!1,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:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,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:!0},"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:!1,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:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,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:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,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:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"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:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"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:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"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:!0,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:!0},"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:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"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:!0},"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:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,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:!0,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:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,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:!0,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:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"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:!0,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:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"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:!0},"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:!0,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:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"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:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,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:!1,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:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,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:!1},"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:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,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:!0,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:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,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:!1},"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:!0,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:!1,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:!1,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:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,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:!0,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:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"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:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,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:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,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:!1,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:!1,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:!1},"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:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,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:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,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:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,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:!1,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:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,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:!1},"image/png":{source:"iana",compressible:!1,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:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,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:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,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:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,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:!1},"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:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,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:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,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:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,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:!0},"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:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"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:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"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:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,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:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,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:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,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:!0,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:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,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:!0,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:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,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:!0,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:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,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:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,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:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,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:!1,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:!0},"x-shader/x-vertex":{compressible:!0}}});var er=v((Ox,Za)=>{Za.exports=Qa()});var ir=v(V=>{"use strict";var ns=er(),Nu=require("path").extname,tr=/^\s*([^;\s]*)(?:;|\s|$)/,Iu=/^text\//i;V.charset=sr;V.charsets={lookup:sr};V.contentType=Bu;V.extension=Lu;V.extensions=Object.create(null);V.lookup=Mu;V.types=Object.create(null);Du(V.extensions,V.types);function sr(s){if(!s||typeof s!="string")return!1;var e=tr.exec(s),t=e&&ns[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&Iu.test(e[1])?"UTF-8":!1}function Bu(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?V.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=V.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function Lu(s){if(!s||typeof s!="string")return!1;var e=tr.exec(s),t=e&&V.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function Mu(s){if(!s||typeof s!="string")return!1;var e=Nu("x."+s).toLowerCase().substr(1);return e&&V.types[e]||!1}function Du(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(ns).forEach(function(n){var a=ns[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var o=0;o<r.length;o++){var c=r[o];if(e[c]){var l=t.indexOf(ns[e[c]].source),p=t.indexOf(a.source);if(e[c]!=="application/octet-stream"&&(l>p||l===p&&e[c].substr(0,12)==="application/"))continue}e[c]=n}}})}});var as=v((Ax,nr)=>{"use strict";var qu=Ja(),Fu=ir();nr.exports=J;function J(s){if(!(this instanceof J))return new J(s);this.headers=s.headers,this.negotiator=new qu(s)}J.prototype.type=J.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(Uu),n=this.negotiator.mediaTypes(i.filter(Hu)),a=n[0];return a?e[i.indexOf(a)]:!1};J.prototype.encoding=J.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};J.prototype.charset=J.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};J.prototype.lang=J.prototype.langs=J.prototype.language=J.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function Uu(s){return s.indexOf("/")===-1?Fu.lookup(s):s}function Hu(s){return typeof s=="string"}});var Si=v((ar,rr)=>{var jt=require("crypto"),_i=function(){};_i.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return jt.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,jt.randomBytes(e,function(r,o){t.bytesBuffer=o,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return jt.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};_i.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),jt.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.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()};ar=rr.exports=new _i});var rs=v(Ae=>{"use strict";Object.defineProperty(Ae,"__esModule",{value:!0});Ae.ERROR_PACKET=Ae.PACKET_TYPES_REVERSE=Ae.PACKET_TYPES=void 0;var me=Object.create(null);Ae.PACKET_TYPES=me;me.open="0";me.close="1";me.ping="2";me.pong="3";me.message="4";me.upgrade="5";me.noop="6";var or=Object.create(null);Ae.PACKET_TYPES_REVERSE=or;Object.keys(me).forEach(s=>{or[me[s]]=s});var zu={type:"error",data:"parser error"};Ae.ERROR_PACKET=zu});var lr=v(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.encodePacket=void 0;it.encodePacketToBinary=Vu;var Wu=rs(),$u=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+cr(e,!0).toString("base64")):i(Wu.PACKET_TYPES[s]+(e||""));it.encodePacket=$u;var cr=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),Ei;function Vu(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(cr(s.data,!1));(0,it.encodePacket)(s,!0,t=>{Ei||(Ei=new TextEncoder),e(Ei.encode(t))})}});var ur=v(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});cs.decodePacket=void 0;var os=rs(),Gu=(s,e)=>{if(typeof s!="string")return{type:"message",data:pr(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:pr(i,e)}}return os.PACKET_TYPES_REVERSE[t]?s.length>1?{type:os.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:os.PACKET_TYPES_REVERSE[t]}:os.ERROR_PACKET};cs.decodePacket=Gu;var pr=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var Nt=v(G=>{"use strict";Object.defineProperty(G,"__esModule",{value:!0});G.decodePayload=G.decodePacket=G.encodePayload=G.encodePacket=G.protocol=void 0;G.createPacketEncoderStream=Xu;G.createPacketDecoderStream=Ju;var Ci=lr();Object.defineProperty(G,"encodePacket",{enumerable:!0,get:function(){return Ci.encodePacket}});var Ti=ur();Object.defineProperty(G,"decodePacket",{enumerable:!0,get:function(){return Ti.decodePacket}});var dr=rs(),fr="",Ku=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,Ci.encodePacket)(a,!1,o=>{i[r]=o,++n===t&&e(i.join(fr))})})};G.encodePayload=Ku;var Yu=(s,e)=>{let t=s.split(fr),i=[];for(let n=0;n<t.length;n++){let a=(0,Ti.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};G.decodePayload=Yu;function Xu(){return new TransformStream({transform(s,e){(0,Ci.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var ki;function ls(s){return s.reduce((e,t)=>e+t.length,0)}function ps(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function Ju(s,e){ki||(ki=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,o){for(t.push(r);;){if(i===0){if(ls(t)<1)break;let c=ps(t,1);a=(c[0]&128)===128,n=c[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(ls(t)<2)break;let c=ps(t,2);n=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),i=3}else if(i===2){if(ls(t)<8)break;let c=ps(t,8),l=new DataView(c.buffer,c.byteOffset,c.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){o.enqueue(dr.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(ls(t)<n)break;let c=ps(t,n);o.enqueue((0,Ti.decodePacket)(a?c:ki.decode(c),e)),i=0}if(n===0||n>s){o.enqueue(dr.ERROR_PACKET);break}}}})}G.protocol=4});var xr=v((Bx,vr)=>{var Pe=String.fromCharCode;function mr(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function Qu(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Pe(i>>>10&1023|55296),i=56320|i&1023),n+=Pe(i);return n}function hr(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Oi(s,e){return Pe(s>>e&63|128)}function Zu(s,e){if((s&4294967168)==0)return Pe(s);var t="";return(s&4294965248)==0?t=Pe(s>>6&31|192):(s&4294901760)==0?(hr(s,e)||(s=65533),t=Pe(s>>12&15|224),t+=Oi(s,6)):(s&4292870144)==0&&(t=Pe(s>>18&7|240),t+=Oi(s,12),t+=Oi(s,6)),t+=Pe(s&63|128),t}function ed(s,e){e=e||{};for(var t=e.strict!==!1,i=mr(s),n=i.length,a=-1,r,o="";++a<n;)r=i[a],o+=Zu(r,t);return o}function nt(){if(je>=ds)throw Error("Invalid byte index");var s=us[je]&255;if(je++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function td(s){var e,t,i,n,a;if(je>ds)throw Error("Invalid byte index");if(je==ds)return!1;if(e=us[je]&255,je++,(e&128)==0)return e;if((e&224)==192){if(t=nt(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=nt(),i=nt(),a=(e&15)<<12|t<<6|i,a>=2048)return hr(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=nt(),i=nt(),n=nt(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var us,ds,je;function sd(s,e){e=e||{};var t=e.strict!==!1;us=mr(s),ds=us.length,je=0;for(var i=[],n;(n=td(t))!==!1;)i.push(n);return Qu(i)}vr.exports={version:"2.1.2",encode:ed,decode:sd}});var kr=v(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.packets=j.protocol=void 0;j.encodePacket=Ri;j.encodeBase64Packet=yr;j.decodePacket=Ai;j.decodeBase64Packet=wr;j.encodePayload=rd;j.decodePayload=cd;j.encodePayloadAsBinary=Sr;j.decodePayloadAsBinary=Er;var br=xr();j.protocol=3;var id=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};j.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var at=Object.keys(j.packets),oe={type:"error",data:"parser error"},nd=Buffer.concat([]);function Ri(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return gr(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return gr({type:s.type,data:Pi(s.data)},e,i);var n=j.packets[s.type];return s.data!==void 0&&(n+=t?br.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function gr(s,e,t){if(!e)return yr(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=j.packets[s.type],t(Buffer.concat([n,i]))}function yr(s,e){var t=Buffer.isBuffer(s.data)?s.data:Pi(s.data),i="b"+j.packets[s.type];return i+=t.toString("base64"),e(i)}function Ai(s,e,t){if(s===void 0)return oe;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?wr(s.slice(1),e):t&&(s=ad(s),s===!1)||Number(i)!=i||!at[i]?oe:s.length>1?{type:at[i],data:s.slice(1)}:{type:at[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:at[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Pi(s)),i=s[0],{type:at[i],data:s.slice(1)}}function ad(s){try{s=br.decode(s,{strict:!1})}catch{return!1}return s}function wr(s,e){var t=at[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function rd(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&id(s))return Sr(s,t);if(!s.length)return t("0:");function i(n,a){Ri(n,e,!1,function(r){a(null,od(r))})}_r(s,i,function(n,a){return t(a.join(""))})}function od(s){return s.length+":"+s}function _r(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,o)=>{i[a]=o,++n===s.length&&t(null,i)})}function cd(s,e,t){if(typeof s!="string")return Er(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(oe,0,1);for(var i="",n,a,r,o=0,c=s.length;o<c;o++){var l=s.charAt(o);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(o+1,o+1+n),i!=a.length))return t(oe,0,1);if(a.length){if(r=Ai(a,e,!1),oe.type===r.type&&oe.data===r.data)return t(oe,0,1);var p=t(r,o+n,c);if(p===!1)return}o+=n,i=""}if(i!=="")return t(oe,0,1)}function ld(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function pd(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Pi(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function Sr(s,e){if(!s.length)return e(nd);_r(s,ud,function(t,i){return e(Buffer.concat(i))})}function ud(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,pd(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}Ri(s,!0,!0,t)}function Er(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",o=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(oe,0,1);r+=""+i[a]}i=i.slice(r.length+1);var c=parseInt(r,10),l=i.slice(1,c+1);o&&(l=ld(l)),n.push(l),i=i.slice(c+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t(Ai(u,e,!0),a,p)}}});var Tr=v((Mx,Cr)=>{var rt=1e3,ot=rt*60,ct=ot*60,Ue=ct*24,dd=Ue*7,fd=Ue*365.25;Cr.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return md(s);if(t==="number"&&isFinite(s))return e.long?vd(s):hd(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function md(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*fd;case"weeks":case"week":case"w":return t*dd;case"days":case"day":case"d":return t*Ue;case"hours":case"hour":case"hrs":case"hr":case"h":return t*ct;case"minutes":case"minute":case"mins":case"min":case"m":return t*ot;case"seconds":case"second":case"secs":case"sec":case"s":return t*rt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function hd(s){var e=Math.abs(s);return e>=Ue?Math.round(s/Ue)+"d":e>=ct?Math.round(s/ct)+"h":e>=ot?Math.round(s/ot)+"m":e>=rt?Math.round(s/rt)+"s":s+"ms"}function vd(s){var e=Math.abs(s);return e>=Ue?fs(s,e,Ue,"day"):e>=ct?fs(s,e,ct,"hour"):e>=ot?fs(s,e,ot,"minute"):e>=rt?fs(s,e,rt,"second"):s+" ms"}function fs(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var ji=v((Dx,Or)=>{function xd(s){t.debug=t,t.default=t,t.coerce=c,t.disable=r,t.enable=n,t.enabled=o,t.humanize=Tr(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...x){if(!f.enabled)return;let w=f,g=Number(new Date),M=g-(u||g);w.diff=M,w.prev=u,w.curr=g,u=g,x[0]=t.coerce(x[0]),typeof x[0]!="string"&&x.unshift("%O");let P=0;x[0]=x[0].replace(/%([a-zA-Z%])/g,($,de)=>{if($==="%%")return"%";P++;let be=t.formatters[de];if(typeof be=="function"){let fe=x[P];$=be.call(w,fe),x.splice(P,1),P--}return $}),t.formatArgs.call(w,x),(w.log||t.log).apply(w,x)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:x=>{d=x}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function o(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function c(p){return p instanceof Error?p.stack||p.message:p}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}Or.exports=xd});var Rr=v((K,ms)=>{K.formatArgs=bd;K.save=yd;K.load=wd;K.useColors=gd;K.storage=_d();K.destroy=(()=>{let s=!1;return()=>{s||(s=!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`."))}})();K.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function gd(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function bd(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+ms.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}K.log=console.debug||console.log||(()=>{});function yd(s){try{s?K.storage.setItem("debug",s):K.storage.removeItem("debug")}catch{}}function wd(){let s;try{s=K.storage.getItem("debug")||K.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function _d(){try{return localStorage}catch{}}ms.exports=ji()(K);var{formatters:Sd}=ms.exports;Sd.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Pr=v((qx,Ar)=>{"use strict";Ar.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var Ir=v((Fx,Nr)=>{"use strict";var Ed=require("os"),jr=require("tty"),te=Pr(),{env:N}=process,Ne;te("no-color")||te("no-colors")||te("color=false")||te("color=never")?Ne=0:(te("color")||te("colors")||te("color=true")||te("color=always"))&&(Ne=1);"FORCE_COLOR"in N&&(N.FORCE_COLOR==="true"?Ne=1:N.FORCE_COLOR==="false"?Ne=0:Ne=N.FORCE_COLOR.length===0?1:Math.min(parseInt(N.FORCE_COLOR,10),3));function Ni(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Ii(s,e){if(Ne===0)return 0;if(te("color=16m")||te("color=full")||te("color=truecolor"))return 3;if(te("color=256"))return 2;if(s&&!e&&Ne===void 0)return 0;let t=Ne||0;if(N.TERM==="dumb")return t;if(process.platform==="win32"){let i=Ed.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in N)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in N)||N.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in N)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(N.TEAMCITY_VERSION)?1:0;if(N.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in N){let i=parseInt((N.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(N.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(N.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(N.TERM)||"COLORTERM"in N?1:t}function kd(s){let e=Ii(s,s&&s.isTTY);return Ni(e)}Nr.exports={supportsColor:kd,stdout:Ni(Ii(!0,jr.isatty(1))),stderr:Ni(Ii(!0,jr.isatty(2)))}});var Lr=v((I,vs)=>{var Cd=require("tty"),hs=require("util");I.init=Nd;I.log=Ad;I.formatArgs=Od;I.save=Pd;I.load=jd;I.useColors=Td;I.destroy=hs.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");I.colors=[6,2,3,4,5,1];try{let s=Ir();s&&(s.stderr||s).level>=2&&(I.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{}I.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function Td(){return"colors"in I.inspectOpts?!!I.inspectOpts.colors:Cd.isatty(process.stderr.fd)}function Od(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
2
+ var _p=Object.create;var ui=Object.defineProperty;var Sp=Object.getOwnPropertyDescriptor;var Ep=Object.getOwnPropertyNames;var kp=Object.getPrototypeOf,Cp=Object.prototype.hasOwnProperty;var Me=(s,e)=>()=>(s&&(e=s(s=0)),e);var x=(s,e)=>()=>(e||s((e={exports:{}}).exports,e),e.exports),Qe=(s,e)=>{for(var t in e)ui(s,t,{get:e[t],enumerable:!0})},Tp=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ep(e))!Cp.call(s,n)&&n!==t&&ui(s,n,{get:()=>e[n],enumerable:!(i=Sp(e,n))||i.enumerable});return s};var M=(s,e,t)=>(t=s!=null?_p(kp(s)):{},Tp(e||!s||!s.__esModule?ui(t,"default",{value:s,enumerable:!0}):t,s));var wa=x((Fx,di)=>{"use strict";di.exports=ya;di.exports.preferredCharsets=ya;var Op=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function Rp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Ap(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ap(s,e){var t=Op.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var o=a[r].trim().split("=");if(o[0]==="q"){n=parseFloat(o[1]);break}}return{charset:i,q:n,i:e}}function Pp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=jp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function jp(s,e,t){var i=0;if(e.charset.toLowerCase()===s.toLowerCase())i|=1;else if(e.charset!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function ya(s,e){var t=Rp(s===void 0?"*":s||"");if(!e)return t.filter(ba).sort(ga).map(Ip);var i=e.map(function(a,r){return Pp(a,t,r)});return i.filter(ba).sort(ga).map(function(a){return e[i.indexOf(a)]})}function ga(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Ip(s){return s.charset}function ba(s){return s.q>0}});var Ca=x((Ux,fi)=>{"use strict";fi.exports=ka;fi.exports.preferredEncodings=ka;var Np=/^\s*([^\s;]+)\s*(?:;(.*))?$/;function Bp(s){for(var e=s.split(","),t=!1,i=1,n=0,a=0;n<e.length;n++){var r=Lp(e[n].trim(),n);r&&(e[a++]=r,t=t||Ea("identity",r),i=Math.min(i,r.q||1))}return t||(e[a++]={encoding:"identity",q:i,i:n}),e.length=a,e}function Lp(s,e){var t=Np.exec(s);if(!t)return null;var i=t[1],n=1;if(t[2])for(var a=t[2].split(";"),r=0;r<a.length;r++){var o=a[r].trim().split("=");if(o[0]==="q"){n=parseFloat(o[1]);break}}return{encoding:i,q:n,i:e}}function Mp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Ea(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Ea(s,e,t){var i=0;if(e.encoding.toLowerCase()===s.toLowerCase())i|=1;else if(e.encoding!=="*")return null;return{i:t,o:e.i,q:e.q,s:i}}function ka(s,e){var t=Bp(s||"");if(!e)return t.filter(Sa).sort(_a).map(Dp);var i=e.map(function(a,r){return Mp(a,t,r)});return i.filter(Sa).sort(_a).map(function(a){return e[i.indexOf(a)]})}function _a(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Dp(s){return s.encoding}function Sa(s){return s.q>0}});var Pa=x((Hx,mi)=>{"use strict";mi.exports=Aa;mi.exports.preferredLanguages=Aa;var qp=/^\s*([^\s\-;]+)(?:-([^\s;]+))?\s*(?:;(.*))?$/;function Fp(s){for(var e=s.split(","),t=0,i=0;t<e.length;t++){var n=Ra(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Ra(s,e){var t=qp.exec(s);if(!t)return null;var i=t[1],n=t[2],a=i;n&&(a+="-"+n);var r=1;if(t[3])for(var o=t[3].split(";"),c=0;c<o.length;c++){var l=o[c].split("=");l[0]==="q"&&(r=parseFloat(l[1]))}return{prefix:i,suffix:n,q:r,i:e,full:a}}function Up(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Hp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Hp(s,e,t){var i=Ra(s);if(!i)return null;var n=0;if(e.full.toLowerCase()===i.full.toLowerCase())n|=4;else if(e.prefix.toLowerCase()===i.full.toLowerCase())n|=2;else if(e.full.toLowerCase()===i.prefix.toLowerCase())n|=1;else if(e.full!=="*")return null;return{i:t,o:e.i,q:e.q,s:n}}function Aa(s,e){var t=Fp(s===void 0?"*":s||"");if(!e)return t.filter(Oa).sort(Ta).map(zp);var i=e.map(function(a,r){return Up(a,t,r)});return i.filter(Oa).sort(Ta).map(function(a){return e[i.indexOf(a)]})}function Ta(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function zp(s){return s.full}function Oa(s){return s.q>0}});var Ma=x((zx,hi)=>{"use strict";hi.exports=Ba;hi.exports.preferredMediaTypes=Ba;var Wp=/^\s*([^\s\/;]+)\/([^;\s]+)\s*(?:;(.*))?$/;function $p(s){for(var e=Xp(s),t=0,i=0;t<e.length;t++){var n=Na(e[t].trim(),t);n&&(e[i++]=n)}return e.length=i,e}function Na(s,e){var t=Wp.exec(s);if(!t)return null;var i=Object.create(null),n=1,a=t[2],r=t[1];if(t[3])for(var o=Jp(t[3]).map(Yp),c=0;c<o.length;c++){var l=o[c],p=l[0].toLowerCase(),u=l[1],d=u&&u[0]==='"'&&u[u.length-1]==='"'?u.substr(1,u.length-2):u;if(p==="q"){n=parseFloat(d);break}i[p]=d}return{type:r,subtype:a,params:i,q:n,i:e}}function Vp(s,e,t){for(var i={o:-1,q:0,s:0},n=0;n<e.length;n++){var a=Gp(s,e[n],t);a&&(i.s-a.s||i.q-a.q||i.o-a.o)<0&&(i=a)}return i}function Gp(s,e,t){var i=Na(s),n=0;if(!i)return null;if(e.type.toLowerCase()==i.type.toLowerCase())n|=4;else if(e.type!="*")return null;if(e.subtype.toLowerCase()==i.subtype.toLowerCase())n|=2;else if(e.subtype!="*")return null;var a=Object.keys(e.params);if(a.length>0)if(a.every(function(r){return e.params[r]=="*"||(e.params[r]||"").toLowerCase()==(i.params[r]||"").toLowerCase()}))n|=1;else return null;return{i:t,o:e.i,q:e.q,s:n}}function Ba(s,e){var t=$p(s===void 0?"*/*":s||"");if(!e)return t.filter(Ia).sort(ja).map(Kp);var i=e.map(function(a,r){return Vp(a,t,r)});return i.filter(Ia).sort(ja).map(function(a){return e[i.indexOf(a)]})}function ja(s,e){return e.q-s.q||e.s-s.s||s.o-e.o||s.i-e.i||0}function Kp(s){return s.type+"/"+s.subtype}function Ia(s){return s.q>0}function La(s){for(var e=0,t=0;(t=s.indexOf('"',t))!==-1;)e++,t++;return e}function Yp(s){var e=s.indexOf("="),t,i;return e===-1?t=s:(t=s.substr(0,e),i=s.substr(e+1)),[t,i]}function Xp(s){for(var e=s.split(","),t=1,i=0;t<e.length;t++)La(e[i])%2==0?e[++i]=e[t]:e[i]+=","+e[t];return e.length=i+1,e}function Jp(s){for(var e=s.split(";"),t=1,i=0;t<e.length;t++)La(e[i])%2==0?e[++i]=e[t]:e[i]+=";"+e[t];e.length=i+1;for(var t=0;t<e.length;t++)e[t]=e[t].trim();return e}});var Da=x((Wx,xi)=>{"use strict";var Qp=wa(),Zp=Ca(),eu=Pa(),tu=Ma();xi.exports=S;xi.exports.Negotiator=S;function S(s){if(!(this instanceof S))return new S(s);this.request=s}S.prototype.charset=function(e){var t=this.charsets(e);return t&&t[0]};S.prototype.charsets=function(e){return Qp(this.request.headers["accept-charset"],e)};S.prototype.encoding=function(e){var t=this.encodings(e);return t&&t[0]};S.prototype.encodings=function(e){return Zp(this.request.headers["accept-encoding"],e)};S.prototype.language=function(e){var t=this.languages(e);return t&&t[0]};S.prototype.languages=function(e){return eu(this.request.headers["accept-language"],e)};S.prototype.mediaType=function(e){var t=this.mediaTypes(e);return t&&t[0]};S.prototype.mediaTypes=function(e){return tu(this.request.headers.accept,e)};S.prototype.preferredCharset=S.prototype.charset;S.prototype.preferredCharsets=S.prototype.charsets;S.prototype.preferredEncoding=S.prototype.encoding;S.prototype.preferredEncodings=S.prototype.encodings;S.prototype.preferredLanguage=S.prototype.language;S.prototype.preferredLanguages=S.prototype.languages;S.prototype.preferredMediaType=S.prototype.mediaType;S.prototype.preferredMediaTypes=S.prototype.mediaTypes});var qa=x(($x,su)=>{su.exports={"application/1d-interleaved-parityfec":{source:"iana"},"application/3gpdash-qoe-report+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/3gpp-ims+xml":{source:"iana",compressible:!0},"application/3gpphal+json":{source:"iana",compressible:!0},"application/3gpphalforms+json":{source:"iana",compressible:!0},"application/a2l":{source:"iana"},"application/ace+cbor":{source:"iana"},"application/activemessage":{source:"iana"},"application/activity+json":{source:"iana",compressible:!0},"application/alto-costmap+json":{source:"iana",compressible:!0},"application/alto-costmapfilter+json":{source:"iana",compressible:!0},"application/alto-directory+json":{source:"iana",compressible:!0},"application/alto-endpointcost+json":{source:"iana",compressible:!0},"application/alto-endpointcostparams+json":{source:"iana",compressible:!0},"application/alto-endpointprop+json":{source:"iana",compressible:!0},"application/alto-endpointpropparams+json":{source:"iana",compressible:!0},"application/alto-error+json":{source:"iana",compressible:!0},"application/alto-networkmap+json":{source:"iana",compressible:!0},"application/alto-networkmapfilter+json":{source:"iana",compressible:!0},"application/alto-updatestreamcontrol+json":{source:"iana",compressible:!0},"application/alto-updatestreamparams+json":{source:"iana",compressible:!0},"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:!0,extensions:["atom"]},"application/atomcat+xml":{source:"iana",compressible:!0,extensions:["atomcat"]},"application/atomdeleted+xml":{source:"iana",compressible:!0,extensions:["atomdeleted"]},"application/atomicmail":{source:"iana"},"application/atomsvc+xml":{source:"iana",compressible:!0,extensions:["atomsvc"]},"application/atsc-dwd+xml":{source:"iana",compressible:!0,extensions:["dwd"]},"application/atsc-dynamic-event-message":{source:"iana"},"application/atsc-held+xml":{source:"iana",compressible:!0,extensions:["held"]},"application/atsc-rdt+json":{source:"iana",compressible:!0},"application/atsc-rsat+xml":{source:"iana",compressible:!0,extensions:["rsat"]},"application/atxml":{source:"iana"},"application/auth-policy+xml":{source:"iana",compressible:!0},"application/bacnet-xdd+zip":{source:"iana",compressible:!1},"application/batch-smtp":{source:"iana"},"application/bdoc":{compressible:!1,extensions:["bdoc"]},"application/beep+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/calendar+json":{source:"iana",compressible:!0},"application/calendar+xml":{source:"iana",compressible:!0,extensions:["xcs"]},"application/call-completion":{source:"iana"},"application/cals-1840":{source:"iana"},"application/captive+json":{source:"iana",compressible:!0},"application/cbor":{source:"iana"},"application/cbor-seq":{source:"iana"},"application/cccex":{source:"iana"},"application/ccmp+xml":{source:"iana",compressible:!0},"application/ccxml+xml":{source:"iana",compressible:!0,extensions:["ccxml"]},"application/cdfx+xml":{source:"iana",compressible:!0,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:!0},"application/cellml+xml":{source:"iana",compressible:!0},"application/cfw":{source:"iana"},"application/city+json":{source:"iana",compressible:!0},"application/clr":{source:"iana"},"application/clue+xml":{source:"iana",compressible:!0},"application/clue_info+xml":{source:"iana",compressible:!0},"application/cms":{source:"iana"},"application/cnrp+xml":{source:"iana",compressible:!0},"application/coap-group+json":{source:"iana",compressible:!0},"application/coap-payload":{source:"iana"},"application/commonground":{source:"iana"},"application/conference-info+xml":{source:"iana",compressible:!0},"application/cose":{source:"iana"},"application/cose-key":{source:"iana"},"application/cose-key-set":{source:"iana"},"application/cpl+xml":{source:"iana",compressible:!0,extensions:["cpl"]},"application/csrattrs":{source:"iana"},"application/csta+xml":{source:"iana",compressible:!0},"application/cstadata+xml":{source:"iana",compressible:!0},"application/csvm+json":{source:"iana",compressible:!0},"application/cu-seeme":{source:"apache",extensions:["cu"]},"application/cwt":{source:"iana"},"application/cybercash":{source:"iana"},"application/dart":{compressible:!0},"application/dash+xml":{source:"iana",compressible:!0,extensions:["mpd"]},"application/dash-patch+xml":{source:"iana",compressible:!0,extensions:["mpp"]},"application/dashdelta":{source:"iana"},"application/davmount+xml":{source:"iana",compressible:!0,extensions:["davmount"]},"application/dca-rft":{source:"iana"},"application/dcd":{source:"iana"},"application/dec-dx":{source:"iana"},"application/dialog-info+xml":{source:"iana",compressible:!0},"application/dicom":{source:"iana"},"application/dicom+json":{source:"iana",compressible:!0},"application/dicom+xml":{source:"iana",compressible:!0},"application/dii":{source:"iana"},"application/dit":{source:"iana"},"application/dns":{source:"iana"},"application/dns+json":{source:"iana",compressible:!0},"application/dns-message":{source:"iana"},"application/docbook+xml":{source:"apache",compressible:!0,extensions:["dbk"]},"application/dots+cbor":{source:"iana"},"application/dskpp+xml":{source:"iana",compressible:!0},"application/dssc+der":{source:"iana",extensions:["dssc"]},"application/dssc+xml":{source:"iana",compressible:!0,extensions:["xdssc"]},"application/dvcs":{source:"iana"},"application/ecmascript":{source:"iana",compressible:!0,extensions:["es","ecma"]},"application/edi-consent":{source:"iana"},"application/edi-x12":{source:"iana",compressible:!1},"application/edifact":{source:"iana",compressible:!1},"application/efi":{source:"iana"},"application/elm+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/elm+xml":{source:"iana",compressible:!0},"application/emergencycalldata.cap+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/emergencycalldata.comment+xml":{source:"iana",compressible:!0},"application/emergencycalldata.control+xml":{source:"iana",compressible:!0},"application/emergencycalldata.deviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.ecall.msd":{source:"iana"},"application/emergencycalldata.providerinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.serviceinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.subscriberinfo+xml":{source:"iana",compressible:!0},"application/emergencycalldata.veds+xml":{source:"iana",compressible:!0},"application/emma+xml":{source:"iana",compressible:!0,extensions:["emma"]},"application/emotionml+xml":{source:"iana",compressible:!0,extensions:["emotionml"]},"application/encaprtp":{source:"iana"},"application/epp+xml":{source:"iana",compressible:!0},"application/epub+zip":{source:"iana",compressible:!1,extensions:["epub"]},"application/eshop":{source:"iana"},"application/exi":{source:"iana",extensions:["exi"]},"application/expect-ct-report+json":{source:"iana",compressible:!0},"application/express":{source:"iana",extensions:["exp"]},"application/fastinfoset":{source:"iana"},"application/fastsoap":{source:"iana"},"application/fdt+xml":{source:"iana",compressible:!0,extensions:["fdt"]},"application/fhir+json":{source:"iana",charset:"UTF-8",compressible:!0},"application/fhir+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/fido.trusted-apps+json":{compressible:!0},"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:!1},"application/framework-attributes+xml":{source:"iana",compressible:!0},"application/geo+json":{source:"iana",compressible:!0,extensions:["geojson"]},"application/geo+json-seq":{source:"iana"},"application/geopackage+sqlite3":{source:"iana"},"application/geoxacml+xml":{source:"iana",compressible:!0},"application/gltf-buffer":{source:"iana"},"application/gml+xml":{source:"iana",compressible:!0,extensions:["gml"]},"application/gpx+xml":{source:"apache",compressible:!0,extensions:["gpx"]},"application/gxf":{source:"apache",extensions:["gxf"]},"application/gzip":{source:"iana",compressible:!1,extensions:["gz"]},"application/h224":{source:"iana"},"application/held+xml":{source:"iana",compressible:!0},"application/hjson":{extensions:["hjson"]},"application/http":{source:"iana"},"application/hyperstudio":{source:"iana",extensions:["stk"]},"application/ibe-key-request+xml":{source:"iana",compressible:!0},"application/ibe-pkg-reply+xml":{source:"iana",compressible:!0},"application/ibe-pp-data":{source:"iana"},"application/iges":{source:"iana"},"application/im-iscomposing+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,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:!0,extensions:["its"]},"application/java-archive":{source:"apache",compressible:!1,extensions:["jar","war","ear"]},"application/java-serialized-object":{source:"apache",compressible:!1,extensions:["ser"]},"application/java-vm":{source:"apache",compressible:!1,extensions:["class"]},"application/javascript":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["js","mjs"]},"application/jf2feed+json":{source:"iana",compressible:!0},"application/jose":{source:"iana"},"application/jose+json":{source:"iana",compressible:!0},"application/jrd+json":{source:"iana",compressible:!0},"application/jscalendar+json":{source:"iana",compressible:!0},"application/json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["json","map"]},"application/json-patch+json":{source:"iana",compressible:!0},"application/json-seq":{source:"iana"},"application/json5":{extensions:["json5"]},"application/jsonml+json":{source:"apache",compressible:!0,extensions:["jsonml"]},"application/jwk+json":{source:"iana",compressible:!0},"application/jwk-set+json":{source:"iana",compressible:!0},"application/jwt":{source:"iana"},"application/kpml-request+xml":{source:"iana",compressible:!0},"application/kpml-response+xml":{source:"iana",compressible:!0},"application/ld+json":{source:"iana",compressible:!0,extensions:["jsonld"]},"application/lgr+xml":{source:"iana",compressible:!0,extensions:["lgr"]},"application/link-format":{source:"iana"},"application/load-control+xml":{source:"iana",compressible:!0},"application/lost+xml":{source:"iana",compressible:!0,extensions:["lostxml"]},"application/lostsync+xml":{source:"iana",compressible:!0},"application/lpf+zip":{source:"iana",compressible:!1},"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:!0,extensions:["mads"]},"application/manifest+json":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["webmanifest"]},"application/marc":{source:"iana",extensions:["mrc"]},"application/marcxml+xml":{source:"iana",compressible:!0,extensions:["mrcx"]},"application/mathematica":{source:"iana",extensions:["ma","nb","mb"]},"application/mathml+xml":{source:"iana",compressible:!0,extensions:["mathml"]},"application/mathml-content+xml":{source:"iana",compressible:!0},"application/mathml-presentation+xml":{source:"iana",compressible:!0},"application/mbms-associated-procedure-description+xml":{source:"iana",compressible:!0},"application/mbms-deregister+xml":{source:"iana",compressible:!0},"application/mbms-envelope+xml":{source:"iana",compressible:!0},"application/mbms-msk+xml":{source:"iana",compressible:!0},"application/mbms-msk-response+xml":{source:"iana",compressible:!0},"application/mbms-protection-description+xml":{source:"iana",compressible:!0},"application/mbms-reception-report+xml":{source:"iana",compressible:!0},"application/mbms-register+xml":{source:"iana",compressible:!0},"application/mbms-register-response+xml":{source:"iana",compressible:!0},"application/mbms-schedule+xml":{source:"iana",compressible:!0},"application/mbms-user-service-description+xml":{source:"iana",compressible:!0},"application/mbox":{source:"iana",extensions:["mbox"]},"application/media-policy-dataset+xml":{source:"iana",compressible:!0,extensions:["mpf"]},"application/media_control+xml":{source:"iana",compressible:!0},"application/mediaservercontrol+xml":{source:"iana",compressible:!0,extensions:["mscml"]},"application/merge-patch+json":{source:"iana",compressible:!0},"application/metalink+xml":{source:"apache",compressible:!0,extensions:["metalink"]},"application/metalink4+xml":{source:"iana",compressible:!0,extensions:["meta4"]},"application/mets+xml":{source:"iana",compressible:!0,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:!0,extensions:["maei"]},"application/mmt-usd+xml":{source:"iana",compressible:!0,extensions:["musd"]},"application/mods+xml":{source:"iana",compressible:!0,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:!0},"application/mrb-publish+xml":{source:"iana",compressible:!0},"application/msc-ivr+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msc-mixer+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/msword":{source:"iana",compressible:!1,extensions:["doc","dot"]},"application/mud+json":{source:"iana",compressible:!0},"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:!0},"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:!1,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:!0},"application/odx":{source:"iana"},"application/oebps-package+xml":{source:"iana",compressible:!0,extensions:["opf"]},"application/ogg":{source:"iana",compressible:!1,extensions:["ogx"]},"application/omdoc+xml":{source:"apache",compressible:!0,extensions:["omdoc"]},"application/onenote":{source:"apache",extensions:["onetoc","onetoc2","onetmp","onepkg"]},"application/opc-nodeset+xml":{source:"iana",compressible:!0},"application/oscore":{source:"iana"},"application/oxps":{source:"iana",extensions:["oxps"]},"application/p21":{source:"iana"},"application/p21+zip":{source:"iana",compressible:!1},"application/p2p-overlay+xml":{source:"iana",compressible:!0,extensions:["relo"]},"application/parityfec":{source:"iana"},"application/passport":{source:"iana"},"application/patch-ops-error+xml":{source:"iana",compressible:!0,extensions:["xer"]},"application/pdf":{source:"iana",compressible:!1,extensions:["pdf"]},"application/pdx":{source:"iana"},"application/pem-certificate-chain":{source:"iana"},"application/pgp-encrypted":{source:"iana",compressible:!1,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:!0},"application/pidf-diff+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,extensions:["pls"]},"application/poc-settings+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/postscript":{source:"iana",compressible:!0,extensions:["ai","eps","ps"]},"application/ppsp-tracker+json":{source:"iana",compressible:!0},"application/problem+json":{source:"iana",compressible:!0},"application/problem+xml":{source:"iana",compressible:!0},"application/provenance+xml":{source:"iana",compressible:!0,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:!1},"application/prs.nprend":{source:"iana"},"application/prs.plucker":{source:"iana"},"application/prs.rdf-xml-crypt":{source:"iana"},"application/prs.xsf+xml":{source:"iana",compressible:!0},"application/pskc+xml":{source:"iana",compressible:!0,extensions:["pskcxml"]},"application/pvd+json":{source:"iana",compressible:!0},"application/qsig":{source:"iana"},"application/raml+yaml":{compressible:!0,extensions:["raml"]},"application/raptorfec":{source:"iana"},"application/rdap+json":{source:"iana",compressible:!0},"application/rdf+xml":{source:"iana",compressible:!0,extensions:["rdf","owl"]},"application/reginfo+xml":{source:"iana",compressible:!0,extensions:["rif"]},"application/relax-ng-compact-syntax":{source:"iana",extensions:["rnc"]},"application/remote-printing":{source:"iana"},"application/reputon+json":{source:"iana",compressible:!0},"application/resource-lists+xml":{source:"iana",compressible:!0,extensions:["rl"]},"application/resource-lists-diff+xml":{source:"iana",compressible:!0,extensions:["rld"]},"application/rfc+xml":{source:"iana",compressible:!0},"application/riscos":{source:"iana"},"application/rlmi+xml":{source:"iana",compressible:!0},"application/rls-services+xml":{source:"iana",compressible:!0,extensions:["rs"]},"application/route-apd+xml":{source:"iana",compressible:!0,extensions:["rapd"]},"application/route-s-tsid+xml":{source:"iana",compressible:!0,extensions:["sls"]},"application/route-usd+xml":{source:"iana",compressible:!0,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:!0,extensions:["rsd"]},"application/rss+xml":{source:"apache",compressible:!0,extensions:["rss"]},"application/rtf":{source:"iana",compressible:!0,extensions:["rtf"]},"application/rtploopback":{source:"iana"},"application/rtx":{source:"iana"},"application/samlassertion+xml":{source:"iana",compressible:!0},"application/samlmetadata+xml":{source:"iana",compressible:!0},"application/sarif+json":{source:"iana",compressible:!0},"application/sarif-external-properties+json":{source:"iana",compressible:!0},"application/sbe":{source:"iana"},"application/sbml+xml":{source:"iana",compressible:!0,extensions:["sbml"]},"application/scaip+xml":{source:"iana",compressible:!0},"application/scim+json":{source:"iana",compressible:!0},"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:!0},"application/senml+xml":{source:"iana",compressible:!0,extensions:["senmlx"]},"application/senml-etch+cbor":{source:"iana"},"application/senml-etch+json":{source:"iana",compressible:!0},"application/senml-exi":{source:"iana"},"application/sensml+cbor":{source:"iana"},"application/sensml+json":{source:"iana",compressible:!0},"application/sensml+xml":{source:"iana",compressible:!0,extensions:["sensmlx"]},"application/sensml-exi":{source:"iana"},"application/sep+xml":{source:"iana",compressible:!0},"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:!0,extensions:["shf"]},"application/sieve":{source:"iana",extensions:["siv","sieve"]},"application/simple-filter+xml":{source:"iana",compressible:!0},"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:!0,extensions:["smi","smil"]},"application/smpte336m":{source:"iana"},"application/soap+fastinfoset":{source:"iana"},"application/soap+xml":{source:"iana",compressible:!0},"application/sparql-query":{source:"iana",extensions:["rq"]},"application/sparql-results+xml":{source:"iana",compressible:!0,extensions:["srx"]},"application/spdx+json":{source:"iana",compressible:!0},"application/spirits-event+xml":{source:"iana",compressible:!0},"application/sql":{source:"iana"},"application/srgs":{source:"iana",extensions:["gram"]},"application/srgs+xml":{source:"iana",compressible:!0,extensions:["grxml"]},"application/sru+xml":{source:"iana",compressible:!0,extensions:["sru"]},"application/ssdl+xml":{source:"apache",compressible:!0,extensions:["ssdl"]},"application/ssml+xml":{source:"iana",compressible:!0,extensions:["ssml"]},"application/stix+json":{source:"iana",compressible:!0},"application/swid+xml":{source:"iana",compressible:!0,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:!0},"application/taxii+json":{source:"iana",compressible:!0},"application/td+json":{source:"iana",compressible:!0},"application/tei+xml":{source:"iana",compressible:!0,extensions:["tei","teicorpus"]},"application/tetra_isi":{source:"iana"},"application/thraud+xml":{source:"iana",compressible:!0,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:!0},"application/tnauthlist":{source:"iana"},"application/token-introspection+jwt":{source:"iana"},"application/toml":{compressible:!0,extensions:["toml"]},"application/trickle-ice-sdpfrag":{source:"iana"},"application/trig":{source:"iana",extensions:["trig"]},"application/ttml+xml":{source:"iana",compressible:!0,extensions:["ttml"]},"application/tve-trigger":{source:"iana"},"application/tzif":{source:"iana"},"application/tzif-leap":{source:"iana"},"application/ubjson":{compressible:!1,extensions:["ubj"]},"application/ulpfec":{source:"iana"},"application/urc-grpsheet+xml":{source:"iana",compressible:!0},"application/urc-ressheet+xml":{source:"iana",compressible:!0,extensions:["rsheet"]},"application/urc-targetdesc+xml":{source:"iana",compressible:!0,extensions:["td"]},"application/urc-uisocketdesc+xml":{source:"iana",compressible:!0},"application/vcard+json":{source:"iana",compressible:!0},"application/vcard+xml":{source:"iana",compressible:!0},"application/vemmi":{source:"iana"},"application/vividence.scriptfile":{source:"apache"},"application/vnd.1000minds.decision-model+xml":{source:"iana",compressible:!0,extensions:["1km"]},"application/vnd.3gpp-prose+xml":{source:"iana",compressible:!0},"application/vnd.3gpp-prose-pc3ch+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.bsf+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.gmop+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.mcdata-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-payload":{source:"iana"},"application/vnd.3gpp.mcdata-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-signalling":{source:"iana"},"application/vnd.3gpp.mcdata-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcdata-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-floor-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-signed+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-ue-init-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcptt-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-command+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-affiliation-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-location-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-mbms-usage-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-service-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-transmission-request+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-ue-config+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mcvideo-user-profile+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.mid-call+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.3gpp.srvcc-ext+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.srvcc-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.state-and-event-info+xml":{source:"iana",compressible:!0},"application/vnd.3gpp.ussd+xml":{source:"iana",compressible:!0},"application/vnd.3gpp2.bcmcsinfo+xml":{source:"iana",compressible:!0},"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:!1,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:!0,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:!0},"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:!0},"application/vnd.android.ota":{source:"iana"},"application/vnd.android.package-archive":{source:"apache",compressible:!1,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:!0},"application/vnd.aplextor.warrp+json":{source:"iana",compressible:!0},"application/vnd.apothekende.reservation+json":{source:"iana",compressible:!0},"application/vnd.apple.installer+xml":{source:"iana",compressible:!0,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:!1,extensions:["pkpass"]},"application/vnd.arastra.swi":{source:"iana"},"application/vnd.aristanetworks.swi":{source:"iana",extensions:["swi"]},"application/vnd.artisan+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.avistar+xml":{source:"iana",compressible:!0},"application/vnd.balsamiq.bmml+xml":{source:"iana",compressible:!0,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:!0},"application/vnd.bekitzur-stech+json":{source:"iana",compressible:!0},"application/vnd.bint.med-content":{source:"iana"},"application/vnd.biopax.rdf+xml":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.cendio.thinlinc.clientconf":{source:"iana"},"application/vnd.century-systems.tcp_stream":{source:"iana"},"application/vnd.chemdraw+xml":{source:"iana",compressible:!0,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:!0,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:!0},"application/vnd.collection.doc+json":{source:"iana",compressible:!0},"application/vnd.collection.next+json":{source:"iana",compressible:!0},"application/vnd.comicbook+zip":{source:"iana",compressible:!1},"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:!0},"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:!0,extensions:["wbs"]},"application/vnd.cryptii.pipe+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.cybank":{source:"iana"},"application/vnd.cyclonedx+json":{source:"iana",compressible:!0},"application/vnd.cyclonedx+xml":{source:"iana",compressible:!0},"application/vnd.d2l.coursepackage1p0+zip":{source:"iana",compressible:!1},"application/vnd.d3m-dataset":{source:"iana"},"application/vnd.d3m-problem":{source:"iana"},"application/vnd.dart":{source:"iana",compressible:!0,extensions:["dart"]},"application/vnd.data-vision.rdz":{source:"iana",extensions:["rdz"]},"application/vnd.datapackage+json":{source:"iana",compressible:!0},"application/vnd.dataresource+json":{source:"iana",compressible:!0},"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:!0,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:!0},"application/vnd.dna":{source:"iana",extensions:["dna"]},"application/vnd.document+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"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:!0},"application/vnd.dvb.notif-container+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-generic+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-msglist+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-request+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-ia-registration-response+xml":{source:"iana",compressible:!0},"application/vnd.dvb.notif-init+xml":{source:"iana",compressible:!0},"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:!0},"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:!0},"application/vnd.enliven":{source:"iana",extensions:["nml"]},"application/vnd.enphase.envoy":{source:"iana"},"application/vnd.eprints.data+xml":{source:"iana",compressible:!0},"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:!1},"application/vnd.eszigno3+xml":{source:"iana",compressible:!0,extensions:["es3","et3"]},"application/vnd.etsi.aoc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.asic-e+zip":{source:"iana",compressible:!1},"application/vnd.etsi.asic-s+zip":{source:"iana",compressible:!1},"application/vnd.etsi.cug+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvcommand+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-bc+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-cod+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsad-npvr+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvservice+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvsync+xml":{source:"iana",compressible:!0},"application/vnd.etsi.iptvueprofile+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mcid+xml":{source:"iana",compressible:!0},"application/vnd.etsi.mheg5":{source:"iana"},"application/vnd.etsi.overload-control-policy-dataset+xml":{source:"iana",compressible:!0},"application/vnd.etsi.pstn+xml":{source:"iana",compressible:!0},"application/vnd.etsi.sci+xml":{source:"iana",compressible:!0},"application/vnd.etsi.simservs+xml":{source:"iana",compressible:!0},"application/vnd.etsi.timestamp-token":{source:"iana"},"application/vnd.etsi.tsl+xml":{source:"iana",compressible:!0},"application/vnd.etsi.tsl.der":{source:"iana"},"application/vnd.eu.kasparian.car+json":{source:"iana",compressible:!0},"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:!1},"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:!1},"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:!1},"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:!0},"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:!0},"application/vnd.fuzzysheet":{source:"iana",extensions:["fzs"]},"application/vnd.genomatix.tuxedo":{source:"iana",extensions:["txd"]},"application/vnd.gentics.grd+json":{source:"iana",compressible:!0},"application/vnd.geo+json":{source:"iana",compressible:!0},"application/vnd.geocube+xml":{source:"iana",compressible:!0},"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:!1,extensions:["gdoc"]},"application/vnd.google-apps.presentation":{compressible:!1,extensions:["gslides"]},"application/vnd.google-apps.spreadsheet":{compressible:!1,extensions:["gsheet"]},"application/vnd.google-earth.kml+xml":{source:"iana",compressible:!0,extensions:["kml"]},"application/vnd.google-earth.kmz":{source:"iana",compressible:!1,extensions:["kmz"]},"application/vnd.gov.sk.e-form+xml":{source:"iana",compressible:!0},"application/vnd.gov.sk.e-form+zip":{source:"iana",compressible:!1},"application/vnd.gov.sk.xmldatacontainer+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.hal+xml":{source:"iana",compressible:!0,extensions:["hal"]},"application/vnd.handheld-entertainment+xml":{source:"iana",compressible:!0,extensions:["zmm"]},"application/vnd.hbci":{source:"iana",extensions:["hbci"]},"application/vnd.hc+json":{source:"iana",compressible:!0},"application/vnd.hcl-bireports":{source:"iana"},"application/vnd.hdt":{source:"iana"},"application/vnd.heroku+json":{source:"iana",compressible:!0},"application/vnd.hhe.lesson-player":{source:"iana",extensions:["les"]},"application/vnd.hl7cda+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.hl7v2+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0},"application/vnd.hyper-item+json":{source:"iana",compressible:!0},"application/vnd.hyperdrive+json":{source:"iana",compressible:!0},"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:!1},"application/vnd.imagemeter.image+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.ims.lti.v2.toolconsumerprofile+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolproxy.id+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings+json":{source:"iana",compressible:!0},"application/vnd.ims.lti.v2.toolsettings.simple+json":{source:"iana",compressible:!0},"application/vnd.informedcontrol.rms+xml":{source:"iana",compressible:!0},"application/vnd.informix-visionary":{source:"iana"},"application/vnd.infotech.project":{source:"iana"},"application/vnd.infotech.project+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.iptc.g2.conceptitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.knowledgeitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.newsmessage+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.packageitem+xml":{source:"iana",compressible:!0},"application/vnd.iptc.g2.planningitem+xml":{source:"iana",compressible:!0},"application/vnd.ipunplugged.rcprofile":{source:"iana",extensions:["rcprofile"]},"application/vnd.irepository.package+xml":{source:"iana",compressible:!0,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:!1},"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:!0},"application/vnd.las.las+xml":{source:"iana",compressible:!0,extensions:["lasxml"]},"application/vnd.laszip":{source:"iana"},"application/vnd.leap+json":{source:"iana",compressible:!0},"application/vnd.liberty-request+xml":{source:"iana",compressible:!0},"application/vnd.llamagraphics.life-balance.desktop":{source:"iana",extensions:["lbd"]},"application/vnd.llamagraphics.life-balance.exchange+xml":{source:"iana",compressible:!0,extensions:["lbe"]},"application/vnd.logipipe.circuit+zip":{source:"iana",compressible:!1},"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:!0},"application/vnd.marlin.drm.conftoken+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.license+xml":{source:"iana",compressible:!0},"application/vnd.marlin.drm.mdcf":{source:"iana"},"application/vnd.mason+json":{source:"iana",compressible:!0},"application/vnd.maxar.archive.3tz+zip":{source:"iana",compressible:!1},"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:!0},"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:!0},"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:!0,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:!1,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:!0,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:!0},"application/vnd.ms-officetheme":{source:"iana",extensions:["thmx"]},"application/vnd.ms-opentype":{source:"apache",compressible:!0},"application/vnd.ms-outlook":{compressible:!1,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:!0},"application/vnd.ms-powerpoint":{source:"iana",compressible:!1,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:!0},"application/vnd.ms-printing.printticket+xml":{source:"apache",compressible:!0},"application/vnd.ms-printschematicket+xml":{source:"iana",compressible:!0},"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:!1,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:!0},"application/vnd.ncd.control":{source:"iana"},"application/vnd.ncd.reference":{source:"iana"},"application/vnd.nearst.inv+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.nokia.iptv.config+xml":{source:"iana",compressible:!0},"application/vnd.nokia.isds-radio-presets":{source:"iana"},"application/vnd.nokia.landmark+wbxml":{source:"iana"},"application/vnd.nokia.landmark+xml":{source:"iana",compressible:!0},"application/vnd.nokia.landmarkcollection+xml":{source:"iana",compressible:!0},"application/vnd.nokia.n-gage.ac+xml":{source:"iana",compressible:!0,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:!0},"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:!1,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:!1,extensions:["odp"]},"application/vnd.oasis.opendocument.presentation-template":{source:"iana",extensions:["otp"]},"application/vnd.oasis.opendocument.spreadsheet":{source:"iana",compressible:!1,extensions:["ods"]},"application/vnd.oasis.opendocument.spreadsheet-template":{source:"iana",extensions:["ots"]},"application/vnd.oasis.opendocument.text":{source:"iana",compressible:!1,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:!0},"application/vnd.oftn.l10n+json":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessdownload+xml":{source:"iana",compressible:!0},"application/vnd.oipf.contentaccessstreaming+xml":{source:"iana",compressible:!0},"application/vnd.oipf.cspg-hexbinary":{source:"iana"},"application/vnd.oipf.dae.svg+xml":{source:"iana",compressible:!0},"application/vnd.oipf.dae.xhtml+xml":{source:"iana",compressible:!0},"application/vnd.oipf.mippvcontrolmessage+xml":{source:"iana",compressible:!0},"application/vnd.oipf.pae.gem":{source:"iana"},"application/vnd.oipf.spdiscovery+xml":{source:"iana",compressible:!0},"application/vnd.oipf.spdlist+xml":{source:"iana",compressible:!0},"application/vnd.oipf.ueprofile+xml":{source:"iana",compressible:!0},"application/vnd.oipf.userprofile+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.oma.bcast.drm-trigger+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.imd+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.ltkm":{source:"iana"},"application/vnd.oma.bcast.notification+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.provisioningtrigger":{source:"iana"},"application/vnd.oma.bcast.sgboot":{source:"iana"},"application/vnd.oma.bcast.sgdd+xml":{source:"iana",compressible:!0},"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:!0},"application/vnd.oma.bcast.sprov+xml":{source:"iana",compressible:!0},"application/vnd.oma.bcast.stkm":{source:"iana"},"application/vnd.oma.cab-address-book+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-feature-handler+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-pcc+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-subs-invite+xml":{source:"iana",compressible:!0},"application/vnd.oma.cab-user-prefs+xml":{source:"iana",compressible:!0},"application/vnd.oma.dcd":{source:"iana"},"application/vnd.oma.dcdc":{source:"iana"},"application/vnd.oma.dd2+xml":{source:"iana",compressible:!0,extensions:["dd2"]},"application/vnd.oma.drm.risd+xml":{source:"iana",compressible:!0},"application/vnd.oma.group-usage-list+xml":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+cbor":{source:"iana"},"application/vnd.oma.lwm2m+json":{source:"iana",compressible:!0},"application/vnd.oma.lwm2m+tlv":{source:"iana"},"application/vnd.oma.pal+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.detailed-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.final-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.groups+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.invocation-descriptor+xml":{source:"iana",compressible:!0},"application/vnd.oma.poc.optimized-progress-report+xml":{source:"iana",compressible:!0},"application/vnd.oma.push":{source:"iana"},"application/vnd.oma.scidm.messages+xml":{source:"iana",compressible:!0},"application/vnd.oma.xcap-directory+xml":{source:"iana",compressible:!0},"application/vnd.omads-email+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-file+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.omads-folder+xml":{source:"iana",charset:"UTF-8",compressible:!0},"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:!0,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:!0,extensions:["osm"]},"application/vnd.opentimestamps.ots":{source:"iana"},"application/vnd.openxmlformats-officedocument.custom-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.customxmlproperties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawing+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chart+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramcolors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramdata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramlayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.drawingml.diagramstyle+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.extended-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.commentauthors+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.handoutmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesmaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.notesslide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presentation":{source:"iana",compressible:!1,extensions:["pptx"]},"application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.presprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slide":{source:"iana",extensions:["sldx"]},"application/vnd.openxmlformats-officedocument.presentationml.slide+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidelayout+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slidemaster+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideshow":{source:"iana",extensions:["ppsx"]},"application/vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.slideupdateinfo+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tablestyles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.tags+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.template":{source:"iana",extensions:["potx"]},"application/vnd.openxmlformats-officedocument.presentationml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.presentationml.viewprops+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.calcchain+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.externallink+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcachedefinition+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivotcacherecords+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.pivottable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.querytable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionheaders+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.revisionlog+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedstrings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{source:"iana",compressible:!1,extensions:["xlsx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetmetadata+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.tablesinglecells+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.template":{source:"iana",extensions:["xltx"]},"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.usernames+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.volatiledependencies+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.theme+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.themeoverride+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.vmldrawing":{source:"iana"},"application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document":{source:"iana",compressible:!1,extensions:["docx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.fonttable+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.template":{source:"iana",extensions:["dotx"]},"application/vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-officedocument.wordprocessingml.websettings+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.core-properties+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.digital-signature-xmlsignature+xml":{source:"iana",compressible:!0},"application/vnd.openxmlformats-package.relationships+xml":{source:"iana",compressible:!0},"application/vnd.oracle.resource+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.oxli.countgraph":{source:"iana"},"application/vnd.pagerduty+json":{source:"iana",compressible:!0},"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:!0},"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:!0},"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:!0},"application/vnd.radisys.msml+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-conn+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-audit-stream+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-conf+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-base+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-detect+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-fax-sendrecv+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-group+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-speech+xml":{source:"iana",compressible:!0},"application/vnd.radisys.msml-dialog-transform+xml":{source:"iana",compressible:!0},"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:!0,extensions:["musicxml"]},"application/vnd.renlearn.rlprint":{source:"iana"},"application/vnd.resilient.logic":{source:"iana"},"application/vnd.restful+json":{source:"iana",compressible:!0},"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:!0,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:!0},"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:!0},"application/vnd.shopkick+json":{source:"iana",compressible:!0},"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:!0},"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:!0,extensions:["fo"]},"application/vnd.software602.filler.form-xml-zip":{source:"iana"},"application/vnd.solent.sdkm+xml":{source:"iana",compressible:!0,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:!0,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:!0},"application/vnd.syft+json":{source:"iana",compressible:!0},"application/vnd.symbian.install":{source:"apache",extensions:["sis","sisx"]},"application/vnd.syncml+xml":{source:"iana",charset:"UTF-8",compressible:!0,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:!0,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:!0,extensions:["ddf"]},"application/vnd.syncml.dmtnds+wbxml":{source:"iana"},"application/vnd.syncml.dmtnds+xml":{source:"iana",charset:"UTF-8",compressible:!0},"application/vnd.syncml.ds.notification":{source:"iana"},"application/vnd.tableschema+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.tmd.mediaflex.api+xml":{source:"iana",compressible:!0},"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:!0,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:!0},"application/vnd.verimatrix.vcas":{source:"iana"},"application/vnd.veritone.aion+json":{source:"iana",compressible:!0},"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:!0},"application/vnd.wv.ssp+xml":{source:"iana",compressible:!0},"application/vnd.xacml+json":{source:"iana",compressible:!0},"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:!0},"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:!0,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:!0,extensions:["zaz"]},"application/voicexml+xml":{source:"iana",compressible:!0,extensions:["vxml"]},"application/voucher-cms+json":{source:"iana",compressible:!0},"application/vq-rtcpxr":{source:"iana"},"application/wasm":{source:"iana",compressible:!0,extensions:["wasm"]},"application/watcherinfo+xml":{source:"iana",compressible:!0,extensions:["wif"]},"application/webpush-options+json":{source:"iana",compressible:!0},"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:!0,extensions:["wsdl"]},"application/wspolicy+xml":{source:"iana",compressible:!0,extensions:["wspolicy"]},"application/x-7z-compressed":{source:"apache",compressible:!1,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:!1,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:!1,extensions:["bdoc"]},"application/x-bittorrent":{source:"apache",extensions:["torrent"]},"application/x-blorb":{source:"apache",extensions:["blb","blorb"]},"application/x-bzip":{source:"apache",compressible:!1,extensions:["bz"]},"application/x-bzip2":{source:"apache",compressible:!1,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:!1},"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:!0,extensions:["ncx"]},"application/x-dtbook+xml":{source:"apache",compressible:!0,extensions:["dtb"]},"application/x-dtbresource+xml":{source:"apache",compressible:!0,extensions:["res"]},"application/x-dvi":{source:"apache",compressible:!1,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:!0,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:!1,extensions:["jnlp"]},"application/x-javascript":{compressible:!0},"application/x-keepass2":{extensions:["kdbx"]},"application/x-latex":{source:"apache",compressible:!1,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:!1},"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:!0,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:!1,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:!1,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:!0,extensions:["sh"]},"application/x-shar":{source:"apache",extensions:["shar"]},"application/x-shockwave-flash":{source:"apache",compressible:!1,extensions:["swf"]},"application/x-silverlight-app":{source:"apache",extensions:["xap"]},"application/x-sql":{source:"apache",extensions:["sql"]},"application/x-stuffit":{source:"apache",compressible:!1,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:!0,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:!0,extensions:["hdd"]},"application/x-virtualbox-ova":{compressible:!0,extensions:["ova"]},"application/x-virtualbox-ovf":{compressible:!0,extensions:["ovf"]},"application/x-virtualbox-vbox":{compressible:!0,extensions:["vbox"]},"application/x-virtualbox-vbox-extpack":{compressible:!1,extensions:["vbox-extpack"]},"application/x-virtualbox-vdi":{compressible:!0,extensions:["vdi"]},"application/x-virtualbox-vhd":{compressible:!0,extensions:["vhd"]},"application/x-virtualbox-vmdk":{compressible:!0,extensions:["vmdk"]},"application/x-wais-source":{source:"apache",extensions:["src"]},"application/x-web-app-manifest+json":{compressible:!0,extensions:["webapp"]},"application/x-www-form-urlencoded":{source:"iana",compressible:!0},"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:!0,extensions:["xlf"]},"application/x-xpinstall":{source:"apache",compressible:!1,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:!0},"application/xaml+xml":{source:"apache",compressible:!0,extensions:["xaml"]},"application/xcap-att+xml":{source:"iana",compressible:!0,extensions:["xav"]},"application/xcap-caps+xml":{source:"iana",compressible:!0,extensions:["xca"]},"application/xcap-diff+xml":{source:"iana",compressible:!0,extensions:["xdf"]},"application/xcap-el+xml":{source:"iana",compressible:!0,extensions:["xel"]},"application/xcap-error+xml":{source:"iana",compressible:!0},"application/xcap-ns+xml":{source:"iana",compressible:!0,extensions:["xns"]},"application/xcon-conference-info+xml":{source:"iana",compressible:!0},"application/xcon-conference-info-diff+xml":{source:"iana",compressible:!0},"application/xenc+xml":{source:"iana",compressible:!0,extensions:["xenc"]},"application/xhtml+xml":{source:"iana",compressible:!0,extensions:["xhtml","xht"]},"application/xhtml-voice+xml":{source:"apache",compressible:!0},"application/xliff+xml":{source:"iana",compressible:!0,extensions:["xlf"]},"application/xml":{source:"iana",compressible:!0,extensions:["xml","xsl","xsd","rng"]},"application/xml-dtd":{source:"iana",compressible:!0,extensions:["dtd"]},"application/xml-external-parsed-entity":{source:"iana"},"application/xml-patch+xml":{source:"iana",compressible:!0},"application/xmpp+xml":{source:"iana",compressible:!0},"application/xop+xml":{source:"iana",compressible:!0,extensions:["xop"]},"application/xproc+xml":{source:"apache",compressible:!0,extensions:["xpl"]},"application/xslt+xml":{source:"iana",compressible:!0,extensions:["xsl","xslt"]},"application/xspf+xml":{source:"apache",compressible:!0,extensions:["xspf"]},"application/xv+xml":{source:"iana",compressible:!0,extensions:["mxml","xhvml","xvml","xvm"]},"application/yang":{source:"iana",extensions:["yang"]},"application/yang-data+json":{source:"iana",compressible:!0},"application/yang-data+xml":{source:"iana",compressible:!0},"application/yang-patch+json":{source:"iana",compressible:!0},"application/yang-patch+xml":{source:"iana",compressible:!0},"application/yin+xml":{source:"iana",compressible:!0,extensions:["yin"]},"application/zip":{source:"iana",compressible:!1,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:!1,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:!1,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:!1},"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:!1,extensions:["mp3"]},"audio/mp4":{source:"iana",compressible:!1,extensions:["m4a","mp4a"]},"audio/mp4a-latm":{source:"iana"},"audio/mpa":{source:"iana"},"audio/mpa-robust":{source:"iana"},"audio/mpeg":{source:"iana",compressible:!1,extensions:["mpga","mp2","mp2a","mp3","m2a","m3a"]},"audio/mpeg4-generic":{source:"iana"},"audio/musepack":{source:"apache"},"audio/ogg":{source:"iana",compressible:!1,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:!1},"audio/vnd.sealedmedia.softseal.mpeg":{source:"iana"},"audio/vnd.vmx.cvsd":{source:"iana"},"audio/vnd.wave":{compressible:!1},"audio/vorbis":{source:"iana",compressible:!1},"audio/vorbis-config":{source:"iana"},"audio/wav":{compressible:!1,extensions:["wav"]},"audio/wave":{compressible:!1,extensions:["wav"]},"audio/webm":{source:"apache",compressible:!1,extensions:["weba"]},"audio/x-aac":{source:"apache",compressible:!1,extensions:["aac"]},"audio/x-aiff":{source:"apache",extensions:["aif","aiff","aifc"]},"audio/x-caf":{source:"apache",compressible:!1,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:!0,extensions:["otf"]},"font/sfnt":{source:"iana"},"font/ttf":{source:"iana",compressible:!0,extensions:["ttf"]},"font/woff":{source:"iana",extensions:["woff"]},"font/woff2":{source:"iana",extensions:["woff2"]},"image/aces":{source:"iana",extensions:["exr"]},"image/apng":{compressible:!1,extensions:["apng"]},"image/avci":{source:"iana",extensions:["avci"]},"image/avcs":{source:"iana",extensions:["avcs"]},"image/avif":{source:"iana",compressible:!1,extensions:["avif"]},"image/bmp":{source:"iana",compressible:!0,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:!1,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:!1,extensions:["jp2","jpg2"]},"image/jpeg":{source:"iana",compressible:!1,extensions:["jpeg","jpg","jpe"]},"image/jph":{source:"iana",extensions:["jph"]},"image/jphc":{source:"iana",extensions:["jhc"]},"image/jpm":{source:"iana",compressible:!1,extensions:["jpm"]},"image/jpx":{source:"iana",compressible:!1,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:!1},"image/png":{source:"iana",compressible:!1,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:!0,extensions:["svg","svgz"]},"image/t38":{source:"iana",extensions:["t38"]},"image/tiff":{source:"iana",compressible:!1,extensions:["tif","tiff"]},"image/tiff-fx":{source:"iana",extensions:["tfx"]},"image/vnd.adobe.photoshop":{source:"iana",compressible:!0,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:!0,extensions:["ico"]},"image/vnd.mix":{source:"iana"},"image/vnd.mozilla.apng":{source:"iana"},"image/vnd.ms-dds":{compressible:!0,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:!0,extensions:["ico"]},"image/x-jng":{source:"nginx",extensions:["jng"]},"image/x-mrsid-image":{source:"apache",extensions:["sid"]},"image/x-ms-bmp":{source:"nginx",compressible:!0,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:!1},"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:!1},"message/imdn+xml":{source:"iana",compressible:!0},"message/news":{source:"iana"},"message/partial":{source:"iana",compressible:!1},"message/rfc822":{source:"iana",compressible:!0,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:!0,extensions:["gltf"]},"model/gltf-binary":{source:"iana",compressible:!0,extensions:["glb"]},"model/iges":{source:"iana",compressible:!1,extensions:["igs","iges"]},"model/mesh":{source:"iana",compressible:!1,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:!0,extensions:["stpx"]},"model/step+zip":{source:"iana",compressible:!1,extensions:["stpz"]},"model/step-xml+zip":{source:"iana",compressible:!1,extensions:["stpxz"]},"model/stl":{source:"iana",extensions:["stl"]},"model/vnd.collada+xml":{source:"iana",compressible:!0,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:!0},"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:!1,extensions:["usdz"]},"model/vnd.valve.source.compiled-map":{source:"iana",extensions:["bsp"]},"model/vnd.vtu":{source:"iana",extensions:["vtu"]},"model/vrml":{source:"iana",compressible:!1,extensions:["wrl","vrml"]},"model/x3d+binary":{source:"apache",compressible:!1,extensions:["x3db","x3dbz"]},"model/x3d+fastinfoset":{source:"iana",extensions:["x3db"]},"model/x3d+vrml":{source:"apache",compressible:!1,extensions:["x3dv","x3dvz"]},"model/x3d+xml":{source:"iana",compressible:!0,extensions:["x3d","x3dz"]},"model/x3d-vrml":{source:"iana",extensions:["x3dv"]},"multipart/alternative":{source:"iana",compressible:!1},"multipart/appledouble":{source:"iana"},"multipart/byteranges":{source:"iana"},"multipart/digest":{source:"iana"},"multipart/encrypted":{source:"iana",compressible:!1},"multipart/form-data":{source:"iana",compressible:!1},"multipart/header-set":{source:"iana"},"multipart/mixed":{source:"iana"},"multipart/multilingual":{source:"iana"},"multipart/parallel":{source:"iana"},"multipart/related":{source:"iana",compressible:!1},"multipart/report":{source:"iana"},"multipart/signed":{source:"iana",compressible:!1},"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:!0,extensions:["appcache","manifest"]},"text/calendar":{source:"iana",extensions:["ics","ifb"]},"text/calender":{compressible:!0},"text/cmd":{compressible:!0},"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:!0,extensions:["css"]},"text/csv":{source:"iana",compressible:!0,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:!0,extensions:["html","htm","shtml"]},"text/jade":{extensions:["jade"]},"text/javascript":{source:"iana",compressible:!0},"text/jcr-cnd":{source:"iana"},"text/jsx":{compressible:!0,extensions:["jsx"]},"text/less":{compressible:!0,extensions:["less"]},"text/markdown":{source:"iana",compressible:!0,extensions:["markdown","md"]},"text/mathml":{source:"nginx",extensions:["mml"]},"text/mdx":{compressible:!0,extensions:["mdx"]},"text/mizar":{source:"iana"},"text/n3":{source:"iana",charset:"UTF-8",compressible:!0,extensions:["n3"]},"text/parameters":{source:"iana",charset:"UTF-8"},"text/parityfec":{source:"iana"},"text/plain":{source:"iana",compressible:!0,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:!0,extensions:["rtx"]},"text/rtf":{source:"iana",compressible:!0,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:!0,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:!0,extensions:["uri","uris","urls"]},"text/vcard":{source:"iana",compressible:!0,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:!0,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:!0},"text/x-handlebars-template":{extensions:["hbs"]},"text/x-java-source":{source:"apache",extensions:["java"]},"text/x-jquery-tmpl":{compressible:!0},"text/x-lua":{extensions:["lua"]},"text/x-markdown":{compressible:!0,extensions:["mkd"]},"text/x-nfo":{source:"apache",extensions:["nfo"]},"text/x-opml":{source:"apache",extensions:["opml"]},"text/x-org":{compressible:!0,extensions:["org"]},"text/x-pascal":{source:"apache",extensions:["p","pas"]},"text/x-processing":{compressible:!0,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:!0,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:!0,extensions:["xml"]},"text/xml-external-parsed-entity":{source:"iana"},"text/yaml":{compressible:!0,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:!1,extensions:["mp4","mp4v","mpg4"]},"video/mp4v-es":{source:"iana"},"video/mpeg":{source:"iana",compressible:!1,extensions:["mpeg","mpg","mpe","m1v","m2v"]},"video/mpeg4-generic":{source:"iana"},"video/mpv":{source:"iana"},"video/nv":{source:"iana"},"video/ogg":{source:"iana",compressible:!1,extensions:["ogv"]},"video/parityfec":{source:"iana"},"video/pointer":{source:"iana"},"video/quicktime":{source:"iana",compressible:!1,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:!1,extensions:["webm"]},"video/x-f4v":{source:"apache",extensions:["f4v"]},"video/x-fli":{source:"apache",extensions:["fli"]},"video/x-flv":{source:"apache",compressible:!1,extensions:["flv"]},"video/x-m4v":{source:"apache",extensions:["m4v"]},"video/x-matroska":{source:"apache",compressible:!1,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:!1,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:!0},"x-shader/x-vertex":{compressible:!0}}});var Ua=x((Vx,Fa)=>{Fa.exports=qa()});var Wa=x($=>{"use strict";var Zt=Ua(),iu=require("path").extname,Ha=/^\s*([^;\s]*)(?:;|\s|$)/,nu=/^text\//i;$.charset=za;$.charsets={lookup:za};$.contentType=au;$.extension=ru;$.extensions=Object.create(null);$.lookup=ou;$.types=Object.create(null);cu($.extensions,$.types);function za(s){if(!s||typeof s!="string")return!1;var e=Ha.exec(s),t=e&&Zt[e[1].toLowerCase()];return t&&t.charset?t.charset:e&&nu.test(e[1])?"UTF-8":!1}function au(s){if(!s||typeof s!="string")return!1;var e=s.indexOf("/")===-1?$.lookup(s):s;if(!e)return!1;if(e.indexOf("charset")===-1){var t=$.charset(e);t&&(e+="; charset="+t.toLowerCase())}return e}function ru(s){if(!s||typeof s!="string")return!1;var e=Ha.exec(s),t=e&&$.extensions[e[1].toLowerCase()];return!t||!t.length?!1:t[0]}function ou(s){if(!s||typeof s!="string")return!1;var e=iu("x."+s).toLowerCase().substr(1);return e&&$.types[e]||!1}function cu(s,e){var t=["nginx","apache",void 0,"iana"];Object.keys(Zt).forEach(function(n){var a=Zt[n],r=a.extensions;if(!(!r||!r.length)){s[n]=r;for(var o=0;o<r.length;o++){var c=r[o];if(e[c]){var l=t.indexOf(Zt[e[c]].source),p=t.indexOf(a.source);if(e[c]!=="application/octet-stream"&&(l>p||l===p&&e[c].substr(0,12)==="application/"))continue}e[c]=n}}})}});var es=x((Kx,$a)=>{"use strict";var lu=Da(),pu=Wa();$a.exports=X;function X(s){if(!(this instanceof X))return new X(s);this.headers=s.headers,this.negotiator=new lu(s)}X.prototype.type=X.prototype.types=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}if(!e||e.length===0)return this.negotiator.mediaTypes();if(!this.headers.accept)return e[0];var i=e.map(uu),n=this.negotiator.mediaTypes(i.filter(du)),a=n[0];return a?e[i.indexOf(a)]:!1};X.prototype.encoding=X.prototype.encodings=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.encodings():this.negotiator.encodings(e)[0]||!1};X.prototype.charset=X.prototype.charsets=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.charsets():this.negotiator.charsets(e)[0]||!1};X.prototype.lang=X.prototype.langs=X.prototype.language=X.prototype.languages=function(s){var e=s;if(e&&!Array.isArray(e)){e=new Array(arguments.length);for(var t=0;t<e.length;t++)e[t]=arguments[t]}return!e||e.length===0?this.negotiator.languages():this.negotiator.languages(e)[0]||!1};function uu(s){return s.indexOf("/")===-1?pu.lookup(s):s}function du(s){return typeof s=="string"}});var gi=x((Va,Ga)=>{var Ot=require("crypto"),vi=function(){};vi.prototype.getRandomBytes=function(s){var e=4096,t=this;if(s=s||12,s>e)return Ot.randomBytes(s);var i=parseInt(e/s),n=parseInt(i*.85);if(!n||(this.bytesBufferIndex==null&&(this.bytesBufferIndex=-1),this.bytesBufferIndex==i&&(this.bytesBuffer=null,this.bytesBufferIndex=-1),(this.bytesBufferIndex==-1||this.bytesBufferIndex>n)&&(this.isGeneratingBytes||(this.isGeneratingBytes=!0,Ot.randomBytes(e,function(r,o){t.bytesBuffer=o,t.bytesBufferIndex=0,t.isGeneratingBytes=!1})),this.bytesBufferIndex==-1)))return Ot.randomBytes(s);var a=this.bytesBuffer.slice(s*this.bytesBufferIndex,s*(this.bytesBufferIndex+1));return this.bytesBufferIndex++,a};vi.prototype.generateId=function(){var s=Buffer.alloc(15);return s.writeInt32BE?(this.sequenceNumber=this.sequenceNumber+1|0,s.writeInt32BE(this.sequenceNumber,11),Ot.randomBytes?this.getRandomBytes(12).copy(s):[0,4,8].forEach(function(e){s.writeInt32BE(Math.random()*Math.pow(2,32)|0,e)}),s.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()};Va=Ga.exports=new vi});var ts=x(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.ERROR_PACKET=Te.PACKET_TYPES_REVERSE=Te.PACKET_TYPES=void 0;var fe=Object.create(null);Te.PACKET_TYPES=fe;fe.open="0";fe.close="1";fe.ping="2";fe.pong="3";fe.message="4";fe.upgrade="5";fe.noop="6";var Ka=Object.create(null);Te.PACKET_TYPES_REVERSE=Ka;Object.keys(fe).forEach(s=>{Ka[fe[s]]=s});var fu={type:"error",data:"parser error"};Te.ERROR_PACKET=fu});var Xa=x(Ze=>{"use strict";Object.defineProperty(Ze,"__esModule",{value:!0});Ze.encodePacket=void 0;Ze.encodePacketToBinary=xu;var mu=ts(),hu=({type:s,data:e},t,i)=>e instanceof ArrayBuffer||ArrayBuffer.isView(e)?i(t?e:"b"+Ya(e,!0).toString("base64")):i(mu.PACKET_TYPES[s]+(e||""));Ze.encodePacket=hu;var Ya=(s,e)=>Buffer.isBuffer(s)||s instanceof Uint8Array&&!e?s:s instanceof ArrayBuffer?Buffer.from(s):Buffer.from(s.buffer,s.byteOffset,s.byteLength),bi;function xu(s,e){if(s.data instanceof ArrayBuffer||ArrayBuffer.isView(s.data))return e(Ya(s.data,!1));(0,Ze.encodePacket)(s,!0,t=>{bi||(bi=new TextEncoder),e(bi.encode(t))})}});var Qa=x(is=>{"use strict";Object.defineProperty(is,"__esModule",{value:!0});is.decodePacket=void 0;var ss=ts(),vu=(s,e)=>{if(typeof s!="string")return{type:"message",data:Ja(s,e)};let t=s.charAt(0);if(t==="b"){let i=Buffer.from(s.substring(1),"base64");return{type:"message",data:Ja(i,e)}}return ss.PACKET_TYPES_REVERSE[t]?s.length>1?{type:ss.PACKET_TYPES_REVERSE[t],data:s.substring(1)}:{type:ss.PACKET_TYPES_REVERSE[t]}:ss.ERROR_PACKET};is.decodePacket=vu;var Ja=(s,e)=>e==="arraybuffer"?s instanceof ArrayBuffer?s:Buffer.isBuffer(s)?s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength):s.buffer:Buffer.isBuffer(s)?s:Buffer.from(s)});var Rt=x(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.decodePayload=V.decodePacket=V.encodePayload=V.encodePacket=V.protocol=void 0;V.createPacketEncoderStream=yu;V.createPacketDecoderStream=wu;var wi=Xa();Object.defineProperty(V,"encodePacket",{enumerable:!0,get:function(){return wi.encodePacket}});var _i=Qa();Object.defineProperty(V,"decodePacket",{enumerable:!0,get:function(){return _i.decodePacket}});var Za=ts(),er="",gu=(s,e)=>{let t=s.length,i=new Array(t),n=0;s.forEach((a,r)=>{(0,wi.encodePacket)(a,!1,o=>{i[r]=o,++n===t&&e(i.join(er))})})};V.encodePayload=gu;var bu=(s,e)=>{let t=s.split(er),i=[];for(let n=0;n<t.length;n++){let a=(0,_i.decodePacket)(t[n],e);if(i.push(a),a.type==="error")break}return i};V.decodePayload=bu;function yu(){return new TransformStream({transform(s,e){(0,wi.encodePacketToBinary)(s,t=>{let i=t.length,n;if(i<126)n=new Uint8Array(1),new DataView(n.buffer).setUint8(0,i);else if(i<65536){n=new Uint8Array(3);let a=new DataView(n.buffer);a.setUint8(0,126),a.setUint16(1,i)}else{n=new Uint8Array(9);let a=new DataView(n.buffer);a.setUint8(0,127),a.setBigUint64(1,BigInt(i))}s.data&&typeof s.data!="string"&&(n[0]|=128),e.enqueue(n),e.enqueue(t)})}})}var yi;function ns(s){return s.reduce((e,t)=>e+t.length,0)}function as(s,e){if(s[0].length===e)return s.shift();let t=new Uint8Array(e),i=0;for(let n=0;n<e;n++)t[n]=s[0][i++],i===s[0].length&&(s.shift(),i=0);return s.length&&i<s[0].length&&(s[0]=s[0].slice(i)),t}function wu(s,e){yi||(yi=new TextDecoder);let t=[],i=0,n=-1,a=!1;return new TransformStream({transform(r,o){for(t.push(r);;){if(i===0){if(ns(t)<1)break;let c=as(t,1);a=(c[0]&128)===128,n=c[0]&127,n<126?i=3:n===126?i=1:i=2}else if(i===1){if(ns(t)<2)break;let c=as(t,2);n=new DataView(c.buffer,c.byteOffset,c.length).getUint16(0),i=3}else if(i===2){if(ns(t)<8)break;let c=as(t,8),l=new DataView(c.buffer,c.byteOffset,c.length),p=l.getUint32(0);if(p>Math.pow(2,21)-1){o.enqueue(Za.ERROR_PACKET);break}n=p*Math.pow(2,32)+l.getUint32(4),i=3}else{if(ns(t)<n)break;let c=as(t,n);o.enqueue((0,_i.decodePacket)(a?c:yi.decode(c),e)),i=0}if(n===0||n>s){o.enqueue(Za.ERROR_PACKET);break}}}})}V.protocol=4});var nr=x((Zx,ir)=>{var Oe=String.fromCharCode;function tr(s){for(var e=[],t=0,i=s.length,n,a;t<i;)n=s.charCodeAt(t++),n>=55296&&n<=56319&&t<i?(a=s.charCodeAt(t++),(a&64512)==56320?e.push(((n&1023)<<10)+(a&1023)+65536):(e.push(n),t--)):e.push(n);return e}function _u(s){for(var e=s.length,t=-1,i,n="";++t<e;)i=s[t],i>65535&&(i-=65536,n+=Oe(i>>>10&1023|55296),i=56320|i&1023),n+=Oe(i);return n}function sr(s,e){if(s>=55296&&s<=57343){if(e)throw Error("Lone surrogate U+"+s.toString(16).toUpperCase()+" is not a scalar value");return!1}return!0}function Si(s,e){return Oe(s>>e&63|128)}function Su(s,e){if((s&4294967168)==0)return Oe(s);var t="";return(s&4294965248)==0?t=Oe(s>>6&31|192):(s&4294901760)==0?(sr(s,e)||(s=65533),t=Oe(s>>12&15|224),t+=Si(s,6)):(s&4292870144)==0&&(t=Oe(s>>18&7|240),t+=Si(s,12),t+=Si(s,6)),t+=Oe(s&63|128),t}function Eu(s,e){e=e||{};for(var t=e.strict!==!1,i=tr(s),n=i.length,a=-1,r,o="";++a<n;)r=i[a],o+=Su(r,t);return o}function et(){if(Re>=os)throw Error("Invalid byte index");var s=rs[Re]&255;if(Re++,(s&192)==128)return s&63;throw Error("Invalid continuation byte")}function ku(s){var e,t,i,n,a;if(Re>os)throw Error("Invalid byte index");if(Re==os)return!1;if(e=rs[Re]&255,Re++,(e&128)==0)return e;if((e&224)==192){if(t=et(),a=(e&31)<<6|t,a>=128)return a;throw Error("Invalid continuation byte")}if((e&240)==224){if(t=et(),i=et(),a=(e&15)<<12|t<<6|i,a>=2048)return sr(a,s)?a:65533;throw Error("Invalid continuation byte")}if((e&248)==240&&(t=et(),i=et(),n=et(),a=(e&7)<<18|t<<12|i<<6|n,a>=65536&&a<=1114111))return a;throw Error("Invalid UTF-8 detected")}var rs,os,Re;function Cu(s,e){e=e||{};var t=e.strict!==!1;rs=tr(s),os=rs.length,Re=0;for(var i=[],n;(n=ku(t))!==!1;)i.push(n);return _u(i)}ir.exports={version:"2.1.2",encode:Eu,decode:Cu}});var dr=x(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.packets=P.protocol=void 0;P.encodePacket=Ei;P.encodeBase64Packet=or;P.decodePacket=ki;P.decodeBase64Packet=cr;P.encodePayload=Au;P.decodePayload=ju;P.encodePayloadAsBinary=pr;P.decodePayloadAsBinary=ur;var rr=nr();P.protocol=3;var Tu=s=>{for(let e of s)if(e.data instanceof ArrayBuffer||ArrayBuffer.isView(e.data))return!0;return!1};P.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6};var tt=Object.keys(P.packets),re={type:"error",data:"parser error"},Ou=Buffer.concat([]);function Ei(s,e,t,i){if(typeof e=="function"&&(i=e,e=null),typeof t=="function"&&(i=t,t=null),Buffer.isBuffer(s.data))return ar(s,e,i);if(s.data&&(s.data.buffer||s.data)instanceof ArrayBuffer)return ar({type:s.type,data:Ci(s.data)},e,i);var n=P.packets[s.type];return s.data!==void 0&&(n+=t?rr.encode(String(s.data),{strict:!1}):String(s.data)),i(""+n)}function ar(s,e,t){if(!e)return or(s,t);var i=s.data,n=Buffer.allocUnsafe(1);return n[0]=P.packets[s.type],t(Buffer.concat([n,i]))}function or(s,e){var t=Buffer.isBuffer(s.data)?s.data:Ci(s.data),i="b"+P.packets[s.type];return i+=t.toString("base64"),e(i)}function ki(s,e,t){if(s===void 0)return re;let i;if(typeof s=="string")return i=s.charAt(0),i==="b"?cr(s.slice(1),e):t&&(s=Ru(s),s===!1)||Number(i)!=i||!tt[i]?re:s.length>1?{type:tt[i],data:s.slice(1)}:{type:tt[i]};if(e==="arraybuffer"){var n=new Uint8Array(s);return i=n[0],{type:tt[i],data:n.buffer.slice(1)}}return s instanceof ArrayBuffer&&(s=Ci(s)),i=s[0],{type:tt[i],data:s.slice(1)}}function Ru(s){try{s=rr.decode(s,{strict:!1})}catch{return!1}return s}function cr(s,e){var t=tt[s.charAt(0)],i=Buffer.from(s.slice(1),"base64");if(e==="arraybuffer"){for(var n=new Uint8Array(i.length),a=0;a<n.length;a++)n[a]=i[a];i=n.buffer}return{type:t,data:i}}function Au(s,e,t){if(typeof e=="function"&&(t=e,e=null),e&&Tu(s))return pr(s,t);if(!s.length)return t("0:");function i(n,a){Ei(n,e,!1,function(r){a(null,Pu(r))})}lr(s,i,function(n,a){return t(a.join(""))})}function Pu(s){return s.length+":"+s}function lr(s,e,t){let i=new Array(s.length),n=0;for(let a=0;a<s.length;a++)e(s[a],(r,o)=>{i[a]=o,++n===s.length&&t(null,i)})}function ju(s,e,t){if(typeof s!="string")return ur(s,e,t);if(typeof e=="function"&&(t=e,e=null),s==="")return t(re,0,1);for(var i="",n,a,r,o=0,c=s.length;o<c;o++){var l=s.charAt(o);if(l!==":"){i+=l;continue}if(i===""||i!=(n=Number(i))||(a=s.slice(o+1,o+1+n),i!=a.length))return t(re,0,1);if(a.length){if(r=ki(a,e,!1),re.type===r.type&&re.data===r.data)return t(re,0,1);var p=t(r,o+n,c);if(p===!1)return}o+=n,i=""}if(i!=="")return t(re,0,1)}function Iu(s){for(var e="",t=0,i=s.length;t<i;t++)e+=String.fromCharCode(s[t]);return e}function Nu(s){for(var e=Buffer.allocUnsafe(s.length),t=0,i=s.length;t<i;t++)e.writeUInt8(s.charCodeAt(t),t);return e}function Ci(s){var e=s.byteLength||s.length,t=s.byteOffset||0;return Buffer.from(s.buffer||s,t,e)}function pr(s,e){if(!s.length)return e(Ou);lr(s,Bu,function(t,i){return e(Buffer.concat(i))})}function Bu(s,e){function t(i){var n=""+i.length,a;if(typeof i=="string"){a=Buffer.allocUnsafe(n.length+2),a[0]=0;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);return a[a.length-1]=255,e(null,Buffer.concat([a,Nu(i)]))}a=Buffer.allocUnsafe(n.length+2),a[0]=1;for(var r=0;r<n.length;r++)a[r+1]=parseInt(n[r],10);a[a.length-1]=255,e(null,Buffer.concat([a,i]))}Ei(s,!0,!0,t)}function ur(s,e,t){typeof e=="function"&&(t=e,e=null);for(var i=s,n=[],a;i.length>0;){var r="",o=i[0]===0;for(a=1;i[a]!==255;a++){if(r.length>310)return t(re,0,1);r+=""+i[a]}i=i.slice(r.length+1);var c=parseInt(r,10),l=i.slice(1,c+1);o&&(l=Iu(l)),n.push(l),i=i.slice(c+1)}var p=n.length;for(a=0;a<p;a++){var u=n[a];t(ki(u,e,!0),a,p)}}});var mr=x((tv,fr)=>{var st=1e3,it=st*60,nt=it*60,De=nt*24,Lu=De*7,Mu=De*365.25;fr.exports=function(s,e){e=e||{};var t=typeof s;if(t==="string"&&s.length>0)return Du(s);if(t==="number"&&isFinite(s))return e.long?Fu(s):qu(s);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(s))};function Du(s){if(s=String(s),!(s.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(s);if(e){var t=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return t*Mu;case"weeks":case"week":case"w":return t*Lu;case"days":case"day":case"d":return t*De;case"hours":case"hour":case"hrs":case"hr":case"h":return t*nt;case"minutes":case"minute":case"mins":case"min":case"m":return t*it;case"seconds":case"second":case"secs":case"sec":case"s":return t*st;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function qu(s){var e=Math.abs(s);return e>=De?Math.round(s/De)+"d":e>=nt?Math.round(s/nt)+"h":e>=it?Math.round(s/it)+"m":e>=st?Math.round(s/st)+"s":s+"ms"}function Fu(s){var e=Math.abs(s);return e>=De?cs(s,e,De,"day"):e>=nt?cs(s,e,nt,"hour"):e>=it?cs(s,e,it,"minute"):e>=st?cs(s,e,st,"second"):s+" ms"}function cs(s,e,t,i){var n=e>=t*1.5;return Math.round(s/t)+" "+i+(n?"s":"")}});var Ti=x((sv,hr)=>{function Uu(s){t.debug=t,t.default=t,t.coerce=c,t.disable=r,t.enable=n,t.enabled=o,t.humanize=mr(),t.destroy=l,Object.keys(s).forEach(p=>{t[p]=s[p]}),t.names=[],t.skips=[],t.formatters={};function e(p){let u=0;for(let d=0;d<p.length;d++)u=(u<<5)-u+p.charCodeAt(d),u|=0;return t.colors[Math.abs(u)%t.colors.length]}t.selectColor=e;function t(p){let u,d=null,h,m;function f(...v){if(!f.enabled)return;let y=f,g=Number(new Date),L=g-(u||g);y.diff=L,y.prev=u,y.curr=g,u=g,v[0]=t.coerce(v[0]),typeof v[0]!="string"&&v.unshift("%O");let A=0;v[0]=v[0].replace(/%([a-zA-Z%])/g,(W,ue)=>{if(W==="%%")return"%";A++;let ve=t.formatters[ue];if(typeof ve=="function"){let de=v[A];W=ve.call(y,de),v.splice(A,1),A--}return W}),t.formatArgs.call(y,v),(y.log||t.log).apply(y,v)}return f.namespace=p,f.useColors=t.useColors(),f.color=t.selectColor(p),f.extend=i,f.destroy=t.destroy,Object.defineProperty(f,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==t.namespaces&&(h=t.namespaces,m=t.enabled(p)),m),set:v=>{d=v}}),typeof t.init=="function"&&t.init(f),f}function i(p,u){let d=t(this.namespace+(typeof u>"u"?":":u)+p);return d.log=this.log,d}function n(p){t.save(p),t.namespaces=p,t.names=[],t.skips=[];let u=(typeof p=="string"?p:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of u)d[0]==="-"?t.skips.push(d.slice(1)):t.names.push(d)}function a(p,u){let d=0,h=0,m=-1,f=0;for(;d<p.length;)if(h<u.length&&(u[h]===p[d]||u[h]==="*"))u[h]==="*"?(m=h,f=d,h++):(d++,h++);else if(m!==-1)h=m+1,f++,d=f;else return!1;for(;h<u.length&&u[h]==="*";)h++;return h===u.length}function r(){let p=[...t.names,...t.skips.map(u=>"-"+u)].join(",");return t.enable(""),p}function o(p){for(let u of t.skips)if(a(p,u))return!1;for(let u of t.names)if(a(p,u))return!0;return!1}function c(p){return p instanceof Error?p.stack||p.message:p}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}hr.exports=Uu});var xr=x((G,ls)=>{G.formatArgs=zu;G.save=Wu;G.load=$u;G.useColors=Hu;G.storage=Vu();G.destroy=(()=>{let s=!1;return()=>{s||(s=!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`."))}})();G.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Hu(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let s;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(s=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(s[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function zu(s){if(s[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+s[0]+(this.useColors?"%c ":" ")+"+"+ls.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;s.splice(1,0,e,"color: inherit");let t=0,i=0;s[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(t++,n==="%c"&&(i=t))}),s.splice(i,0,e)}G.log=console.debug||console.log||(()=>{});function Wu(s){try{s?G.storage.setItem("debug",s):G.storage.removeItem("debug")}catch{}}function $u(){let s;try{s=G.storage.getItem("debug")||G.storage.getItem("DEBUG")}catch{}return!s&&typeof process<"u"&&"env"in process&&(s=process.env.DEBUG),s}function Vu(){try{return localStorage}catch{}}ls.exports=Ti()(G);var{formatters:Gu}=ls.exports;Gu.j=function(s){try{return JSON.stringify(s)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var gr=x((iv,vr)=>{"use strict";vr.exports=(s,e=process.argv)=>{let t=s.startsWith("-")?"":s.length===1?"-":"--",i=e.indexOf(t+s),n=e.indexOf("--");return i!==-1&&(n===-1||i<n)}});var wr=x((nv,yr)=>{"use strict";var Ku=require("os"),br=require("tty"),ee=gr(),{env:j}=process,Ae;ee("no-color")||ee("no-colors")||ee("color=false")||ee("color=never")?Ae=0:(ee("color")||ee("colors")||ee("color=true")||ee("color=always"))&&(Ae=1);"FORCE_COLOR"in j&&(j.FORCE_COLOR==="true"?Ae=1:j.FORCE_COLOR==="false"?Ae=0:Ae=j.FORCE_COLOR.length===0?1:Math.min(parseInt(j.FORCE_COLOR,10),3));function Oi(s){return s===0?!1:{level:s,hasBasic:!0,has256:s>=2,has16m:s>=3}}function Ri(s,e){if(Ae===0)return 0;if(ee("color=16m")||ee("color=full")||ee("color=truecolor"))return 3;if(ee("color=256"))return 2;if(s&&!e&&Ae===void 0)return 0;let t=Ae||0;if(j.TERM==="dumb")return t;if(process.platform==="win32"){let i=Ku.release().split(".");return Number(i[0])>=10&&Number(i[2])>=10586?Number(i[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(i=>i in j)||j.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in j)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(j.TEAMCITY_VERSION)?1:0;if(j.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in j){let i=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return i>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(j.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(j.TERM)||"COLORTERM"in j?1:t}function Yu(s){let e=Ri(s,s&&s.isTTY);return Oi(e)}yr.exports={supportsColor:Yu,stdout:Oi(Ri(!0,br.isatty(1))),stderr:Oi(Ri(!0,br.isatty(2)))}});var Sr=x((I,us)=>{var Xu=require("tty"),ps=require("util");I.init=id;I.log=ed;I.formatArgs=Qu;I.save=td;I.load=sd;I.useColors=Ju;I.destroy=ps.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");I.colors=[6,2,3,4,5,1];try{let s=wr();s&&(s.stderr||s).level>=2&&(I.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{}I.inspectOpts=Object.keys(process.env).filter(s=>/^debug_/i.test(s)).reduce((s,e)=>{let t=e.substring(6).toLowerCase().replace(/_([a-z])/g,(n,a)=>a.toUpperCase()),i=process.env[e];return/^(yes|on|true|enabled)$/i.test(i)?i=!0:/^(no|off|false|disabled)$/i.test(i)?i=!1:i==="null"?i=null:i=Number(i),s[t]=i,s},{});function Ju(){return"colors"in I.inspectOpts?!!I.inspectOpts.colors:Xu.isatty(process.stderr.fd)}function Qu(s){let{namespace:e,useColors:t}=this;if(t){let i=this.color,n="\x1B[3"+(i<8?i:"8;5;"+i),a=` ${n};1m${e} \x1B[0m`;s[0]=a+s[0].split(`
3
3
  `).join(`
4
- `+a),s.push(n+"m+"+vs.exports.humanize(this.diff)+"\x1B[0m")}else s[0]=Rd()+e+" "+s[0]}function Rd(){return I.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Ad(...s){return process.stderr.write(hs.formatWithOptions(I.inspectOpts,...s)+`
5
- `)}function Pd(s){s?process.env.DEBUG=s:delete process.env.DEBUG}function jd(){return process.env.DEBUG}function Nd(s){s.inspectOpts={};let e=Object.keys(I.inspectOpts);for(let t=0;t<e.length;t++)s.inspectOpts[e[t]]=I.inspectOpts[e[t]]}vs.exports=ji()(I);var{formatters:Br}=vs.exports;Br.o=function(s){return this.inspectOpts.colors=this.useColors,hs.inspect(s,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")};Br.O=function(s){return this.inspectOpts.colors=this.useColors,hs.inspect(s,this.inspectOpts)}});var A=v((Ux,Bi)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Bi.exports=Rr():Bi.exports=Lr()});var He=v(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.Transport=void 0;var Id=require("events"),Bd=Nt(),Ld=kr(),Md=A(),Mr=(0,Md.default)("engine:transport");function Dd(){}var xs=class extends Id.EventEmitter{get readyState(){return this._readyState}set readyState(e){Mr("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?Bd:Ld,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||Dd))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else Mr("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")}};gs.Transport=xs;xs.upgradesTo=[]});var Mi=v(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});bs.Polling=void 0;var qd=He(),Dr=require("zlib"),Fd=as(),Ud=A(),Q=(0,Ud.default)("engine:polling"),Hd={gzip:Dr.createGzip,deflate:Dr.createDeflate},Li=class extends qd.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){Q("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}Q("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(Q("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",o),e.removeListener("end",c),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},o=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},c=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",o),e.on("end",c)}onData(e){Q('received "%s"',e);let t=i=>{if(i.type==="close")return Q("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?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&&(Q("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){Q('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},o=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){o(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){o(e);return}let l=Fd(this.req).encodings(["gzip","deflate"]);if(!l){o(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,o(u)})}compress(e,t,i){Q("compressing");let n=[],a=0;Hd[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){Q("closing");let t;this.dataReq&&(Q("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(Q("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(Q("transport discarded - closing right away"),i()):(Q("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};bs.Polling=Li});var qr=v(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});ys.JSONP=void 0;var zd=Mi(),Wd=require("querystring"),$d=/\\\\n/g,Vd=/(\\)?\\n/g,Di=class extends zd.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=Wd.parse(e).d,typeof e=="string"&&(e=e.replace(Vd,function(t,i){return i?t:`
7
- `}),super.onData(e.replace($d,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};ys.JSONP=Di});var Ur=v(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});ws.WebSocket=void 0;var Gd=He(),Kd=A(),Fr=(0,Kd.default)("engine:ws"),qi=class extends Gd.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();Fr('received "%s"',n),super.onData(n)}),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}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){Fr("closing"),this.socket.close(),e&&e()}};ws.WebSocket=qi});var Ui=v(_s=>{"use strict";Object.defineProperty(_s,"__esModule",{value:!0});_s.WebTransport=void 0;var Yd=He(),Xd=A(),Jd=Nt(),lt=(0,Xd.default)("engine:webtransport"),Fi=class extends Yd.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,Jd.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{lt("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){lt("session is closed");break}lt("received chunk: %o",a),this.onPacket(a)}}catch(a){lt("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){lt("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){lt("closing WebTransport session"),this.session.close(),e&&e()}};_s.WebTransport=Fi});var zi=v(Hi=>{"use strict";Object.defineProperty(Hi,"__esModule",{value:!0});var Qd=Mi(),Zd=qr(),ef=Ur(),tf=Ui();Hi.default={polling:Hr,websocket:ef.WebSocket,webtransport:tf.WebTransport};function Hr(s){return typeof s._query.j=="string"?new Zd.JSONP(s):new Qd.Polling(s)}Hr.upgradesTo=["websocket","webtransport"]});var $i=v(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});Ss.Socket=void 0;var sf=require("events"),nf=A(),ye=require("timers"),R=(0,nf.default)("engine:socket"),Wi=class extends sf.EventEmitter{get readyState(){return this._readyState}set readyState(e){R("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){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=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}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"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return R("packet received with closed socket");switch(R(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}R("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}R("got pong"),(0,ye.clearTimeout)(this.pingTimeoutTimer),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);break}}onError(e){R("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,ye.setTimeout)(()=>{R("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,ye.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,ye.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){R("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){R('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,ye.setTimeout)(()=>{R("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(R("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(R("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(R("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,ye.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",c),e.removeListener("error",o),this.removeListener("close",l)},o=p=>{R("client did not complete upgrade - %s",p),r(),e.close(),e=null},c=()=>{o("transport closed")},l=()=>{o("socket closed")};e.on("packet",n),e.once("close",c),e.once("error",o),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){R("error triggered by discarded transport")}),this.transport.close(),(0,ye.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,ye.clearTimeout)(this.pingIntervalTimer),(0,ye.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){R('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){R("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){R("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{R("all packets have been sent, closing the transport"),this.closeTransport(e)});return}R("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){R("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};Ss.Socket=Wi});var $r=v(Vi=>{"use strict";Vi.parse=uf;Vi.serialize=df;var af=Object.prototype.toString,rf=Object.prototype.hasOwnProperty,of=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,cf=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,lf=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,pf=/^[\u0020-\u003A\u003D-\u007E]*$/;function uf(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||ff,a=0,r=0,o=0;do{if(r=s.indexOf("=",a),r===-1)break;if(o=s.indexOf(";",a),o===-1)o=i;else if(r>o){a=s.lastIndexOf(";",r-1)+1;continue}var c=zr(s,a,r),l=Wr(s,r,c),p=s.slice(c,l);if(!rf.call(t,p)){var u=zr(s,r+1,o),d=Wr(s,o,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=hf(h,n)}a=o+1}while(a<i);return t}function zr(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function Wr(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function df(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!of.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!cf.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!lf.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!pf.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var o=t.expires;if(!mf(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+o.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var c=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function ff(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function mf(s){return af.call(s)==="[object Date]"}function hf(s,e){try{return e(s)}catch{return s}}});var we=v((Xx,Kr)=>{"use strict";var Vr=["nodebuffer","arraybuffer","fragments"],Gr=typeof Blob<"u";Gr&&Vr.push("blob");Kr.exports={BINARY_TYPES:Vr,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Gr,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var It=v((Jx,Es)=>{"use strict";var{EMPTY_BUFFER:vf}=we(),Gi=Buffer[Symbol.species];function xf(s,e){if(s.length===0)return vf;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new Gi(t.buffer,t.byteOffset,i):t}function Yr(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function Xr(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function gf(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function Ki(s){if(Ki.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new Gi(s):ArrayBuffer.isView(s)?e=new Gi(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),Ki.readOnly=!1),e}Es.exports={concat:xf,mask:Yr,toArrayBuffer:gf,toBuffer:Ki,unmask:Xr};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");Es.exports.mask=function(e,t,i,n,a){a<48?Yr(e,t,i,n,a):s.mask(e,t,i,n,a)},Es.exports.unmask=function(e,t){e.length<32?Xr(e,t):s.unmask(e,t)}}catch{}});var Zr=v((Qx,Qr)=>{"use strict";var Jr=Symbol("kDone"),Yi=Symbol("kRun"),Xi=class{constructor(e){this[Jr]=()=>{this.pending--,this[Yi]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Yi]()}[Yi](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Jr])}}};Qr.exports=Xi});var Lt=v((Zx,io)=>{"use strict";var Bt=require("zlib"),eo=It(),bf=Zr(),{kStatusCode:to}=we(),yf=Buffer[Symbol.species],wf=Buffer.from([0,0,255,255]),Cs=Symbol("permessage-deflate"),_e=Symbol("total-length"),pt=Symbol("callback"),Ie=Symbol("buffers"),ut=Symbol("error"),ks,Ji=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ks){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ks=new bf(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[pt];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){ks.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){ks.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Bt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=Bt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[Cs]=this,this._inflate[_e]=0,this._inflate[Ie]=[],this._inflate.on("error",Sf),this._inflate.on("data",so)}this._inflate[pt]=i,this._inflate.write(e),t&&this._inflate.write(wf),this._inflate.flush(()=>{let a=this._inflate[ut];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=eo.concat(this._inflate[Ie],this._inflate[_e]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[_e]=0,this._inflate[Ie]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Bt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=Bt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[_e]=0,this._deflate[Ie]=[],this._deflate.on("data",_f)}this._deflate[pt]=i,this._deflate.write(e),this._deflate.flush(Bt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=eo.concat(this._deflate[Ie],this._deflate[_e]);t&&(a=new yf(a.buffer,a.byteOffset,a.length-4)),this._deflate[pt]=null,this._deflate[_e]=0,this._deflate[Ie]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};io.exports=Ji;function _f(s){this[Ie].push(s),this[_e]+=s.length}function so(s){if(this[_e]+=s.length,this[Cs]._maxPayload<1||this[_e]<=this[Cs]._maxPayload){this[Ie].push(s);return}this[ut]=new RangeError("Max payload size exceeded"),this[ut].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ut][to]=1009,this.removeListener("data",so),this.reset()}function Sf(s){if(this[Cs]._inflate=null,this[ut]){this[pt](this[ut]);return}s[to]=1007,this[pt](s)}});var dt=v((eg,Ts)=>{"use strict";var{isUtf8:no}=require("buffer"),{hasBlob:Ef}=we(),kf=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Cf(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function Qi(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Tf(s){return Ef&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}Ts.exports={isBlob:Tf,isValidStatusCode:Cf,isValidUTF8:Qi,tokenChars:kf};if(no)Ts.exports.isValidUTF8=function(s){return s.length<24?Qi(s):no(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");Ts.exports.isValidUTF8=function(e){return e.length<32?Qi(e):s(e)}}catch{}});var nn=v((tg,uo)=>{"use strict";var{Writable:Of}=require("stream"),ao=Lt(),{BINARY_TYPES:Rf,EMPTY_BUFFER:ro,kStatusCode:Af,kWebSocket:Pf}=we(),{concat:Zi,toArrayBuffer:jf,unmask:Nf}=It(),{isValidStatusCode:If,isValidUTF8:oo}=dt(),Os=Buffer[Symbol.species],se=0,co=1,lo=2,po=3,en=4,tn=5,Rs=6,sn=class extends Of{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Rf[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[Pf]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=se}_write(e,t,i){if(this._opcode===8&&this._state==se)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Os(i.buffer,i.byteOffset+e,i.length-e),new Os(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Os(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case se:this.getInfo(e);break;case co:this.getPayloadLength16(e);break;case lo:this.getPayloadLength64(e);break;case po:this.getMask();break;case en:this.getData(e);break;case tn:case Rs:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[ao.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=co:this._payloadLength===127?this._state=lo:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=po:this._state=en}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=en}getData(e){let t=ro;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&Nf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=tn,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[ao.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===se&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=se;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=Zi(i,t):this._binaryType==="arraybuffer"?n=jf(Zi(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=se):(this._state=Rs,setImmediate(()=>{this.emit("message",n,!0),this._state=se,this.startLoop(e)}))}else{let n=Zi(i,t);if(!this._skipUTF8Validation&&!oo(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===tn||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=se):(this._state=Rs,setImmediate(()=>{this.emit("message",n,!1),this._state=se,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,ro),this.end();else{let i=e.readUInt16BE(0);if(!If(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Os(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!oo(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=se;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=se):(this._state=Rs,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=se,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[Af]=n,r}};uo.exports=sn});var on=v((ig,ho)=>{"use strict";var{Duplex:sg}=require("stream"),{randomFillSync:Bf}=require("crypto"),fo=Lt(),{EMPTY_BUFFER:Lf,kWebSocket:Mf,NOOP:Df}=we(),{isBlob:ft,isValidStatusCode:qf}=dt(),{mask:mo,toBuffer:ze}=It(),ie=Symbol("kByteLength"),Ff=Buffer.alloc(4),As=8*1024,We,mt=As,ce=0,Uf=1,Hf=2,an=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=ce,this.onerror=Df,this[Mf]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||Ff,t.generateMask?t.generateMask(i):(mt===As&&(We===void 0&&(We=Buffer.alloc(As)),Bf(We,0,As),mt=0),i[0]=We[mt++],i[1]=We[mt++],i[2]=We[mt++],i[3]=We[mt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let o;typeof e=="string"?(!t.mask||r)&&t[ie]!==void 0?o=t[ie]:(e=Buffer.from(e),o=e.length):(o=e.length,n=t.mask&&t.readOnly&&!r);let c=o;o>=65536?(a+=8,c=127):o>125&&(a+=2,c=126);let l=Buffer.allocUnsafe(n?o+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(o,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(o,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(mo(e,i,l,a,o),[l]):(mo(e,i,e,0,o),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=Lf;else{if(typeof e!="number"||!qf(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let o=Buffer.byteLength(t);if(o>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+o),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[ie]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==ce?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):ft(e)?(n=e.size,a=!1):(e=ze(e),n=e.length,a=ze.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ie]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};ft(e)?this._state!==ce?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==ce?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):ft(e)?(n=e.size,a=!1):(e=ze(e),n=e.length,a=ze.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[ie]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};ft(e)?this._state!==ce?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==ce?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[fo.extensionName],a=t.binary?2:1,r=t.compress,o,c;typeof e=="string"?(o=Buffer.byteLength(e),c=!1):ft(e)?(o=e.size,c=!1):(e=ze(e),o=e.length,c=ze.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=o>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[ie]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:c,rsv1:r};ft(e)?this._state!==ce?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==ce?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[ie],this._state=Hf,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let o=new Error("The socket was closed while the blob was being read");process.nextTick(rn,this,o,n);return}this._bufferedBytes-=i[ie];let r=ze(a);t?this.dispatch(r,t,i,n):(this._state=ce,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(zf,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[fo.extensionName];this._bufferedBytes+=i[ie],this._state=Uf,a.compress(e,i.fin,(r,o)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");rn(this,c,n);return}this._bufferedBytes-=i[ie],this._state=ce,i.readOnly=!1,this.sendFrame(s.frame(o,i),n),this.dequeue()})}dequeue(){for(;this._state===ce&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][ie],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][ie],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};ho.exports=an;function rn(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function zf(s,e,t){rn(s,e,t),s.onerror(e)}});var Eo=v((ng,So)=>{"use strict";var{kForOnEventAttribute:Mt,kListener:cn}=we(),vo=Symbol("kCode"),xo=Symbol("kData"),go=Symbol("kError"),bo=Symbol("kMessage"),yo=Symbol("kReason"),ht=Symbol("kTarget"),wo=Symbol("kType"),_o=Symbol("kWasClean"),Se=class{constructor(e){this[ht]=null,this[wo]=e}get target(){return this[ht]}get type(){return this[wo]}};Object.defineProperty(Se.prototype,"target",{enumerable:!0});Object.defineProperty(Se.prototype,"type",{enumerable:!0});var $e=class extends Se{constructor(e,t={}){super(e),this[vo]=t.code===void 0?0:t.code,this[yo]=t.reason===void 0?"":t.reason,this[_o]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[vo]}get reason(){return this[yo]}get wasClean(){return this[_o]}};Object.defineProperty($e.prototype,"code",{enumerable:!0});Object.defineProperty($e.prototype,"reason",{enumerable:!0});Object.defineProperty($e.prototype,"wasClean",{enumerable:!0});var vt=class extends Se{constructor(e,t={}){super(e),this[go]=t.error===void 0?null:t.error,this[bo]=t.message===void 0?"":t.message}get error(){return this[go]}get message(){return this[bo]}};Object.defineProperty(vt.prototype,"error",{enumerable:!0});Object.defineProperty(vt.prototype,"message",{enumerable:!0});var Dt=class extends Se{constructor(e,t={}){super(e),this[xo]=t.data===void 0?null:t.data}get data(){return this[xo]}};Object.defineProperty(Dt.prototype,"data",{enumerable:!0});var Wf={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[Mt]&&n[cn]===e&&!n[Mt])return;let i;if(s==="message")i=function(a,r){let o=new Dt("message",{data:r?a:a.toString()});o[ht]=this,Ps(e,this,o)};else if(s==="close")i=function(a,r){let o=new $e("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});o[ht]=this,Ps(e,this,o)};else if(s==="error")i=function(a){let r=new vt("error",{error:a,message:a.message});r[ht]=this,Ps(e,this,r)};else if(s==="open")i=function(){let a=new Se("open");a[ht]=this,Ps(e,this,a)};else return;i[Mt]=!!t[Mt],i[cn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[cn]===e&&!t[Mt]){this.removeListener(s,t);break}}};So.exports={CloseEvent:$e,ErrorEvent:vt,Event:Se,EventTarget:Wf,MessageEvent:Dt};function Ps(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var ln=v((ag,ko)=>{"use strict";var{tokenChars:qt}=dt();function he(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function $f(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,o,c=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&qt[l]===1)c===-1&&(c=u);else if(u!==0&&(l===32||l===9))p===-1&&c!==-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(c,p);l===44?(he(e,h,t),t=Object.create(null)):r=h,c=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(o===void 0)if(p===-1&&qt[l]===1)c===-1&&(c=u);else if(l===32||l===9)p===-1&&c!==-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),he(t,s.slice(c,p),!0),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),c=p=-1}else if(l===61&&c!==-1&&p===-1)o=s.slice(c,u),c=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(qt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1?c=u:i||(i=!0),n=!1}else if(a)if(qt[l]===1)c===-1&&(c=u);else if(l===34&&c!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&qt[l]===1)c===-1&&(c=u);else if(c!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(c,p);i&&(h=h.replace(/\\/g,""),i=!1),he(t,o,h),l===44&&(he(e,r,t),t=Object.create(null),r=void 0),o=void 0,c=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(c===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(c,p);return r===void 0?he(e,d,t):(o===void 0?he(t,d,!0):i?he(t,o,d.replace(/\\/g,"")):he(t,o,d),he(e,r,t)),e}function Vf(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}ko.exports={format:Vf,parse:$f}});var Bs=v((cg,Mo)=>{"use strict";var Gf=require("events"),Kf=require("https"),Yf=require("http"),Oo=require("net"),Xf=require("tls"),{randomBytes:Jf,createHash:Qf}=require("crypto"),{Duplex:rg,Readable:og}=require("stream"),{URL:pn}=require("url"),Be=Lt(),Zf=nn(),em=on(),{isBlob:tm}=dt(),{BINARY_TYPES:Co,EMPTY_BUFFER:js,GUID:sm,kForOnEventAttribute:un,kListener:im,kStatusCode:nm,kWebSocket:B,NOOP:Ro}=we(),{EventTarget:{addEventListener:am,removeEventListener:rm}}=Eo(),{format:om,parse:cm}=ln(),{toBuffer:lm}=It(),pm=30*1e3,Ao=Symbol("kAborted"),dn=[8,13],Ee=["CONNECTING","OPEN","CLOSING","CLOSED"],um=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,T=class s extends Gf{constructor(e,t,i){super(),this._binaryType=Co[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=js,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),Po(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){Co.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,i){let n=new Zf({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new em(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[B]=this,a[B]=this,e[B]=this,n.on("conclude",mm),n.on("drain",hm),n.on("error",vm),n.on("message",xm),n.on("ping",gm),n.on("pong",bm),a.onerror=ym,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",Io),e.on("data",Is),e.on("end",Bo),e.on("error",Lo),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Be.extensionName]&&this._extensions[Be.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Z(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),No(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){fn(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||js,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){fn(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||js,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){fn(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[Be.extensionName]||(n.compress=!1),this._sender.send(e||js,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Z(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(T,"CONNECTING",{enumerable:!0,value:Ee.indexOf("CONNECTING")});Object.defineProperty(T.prototype,"CONNECTING",{enumerable:!0,value:Ee.indexOf("CONNECTING")});Object.defineProperty(T,"OPEN",{enumerable:!0,value:Ee.indexOf("OPEN")});Object.defineProperty(T.prototype,"OPEN",{enumerable:!0,value:Ee.indexOf("OPEN")});Object.defineProperty(T,"CLOSING",{enumerable:!0,value:Ee.indexOf("CLOSING")});Object.defineProperty(T.prototype,"CLOSING",{enumerable:!0,value:Ee.indexOf("CLOSING")});Object.defineProperty(T,"CLOSED",{enumerable:!0,value:Ee.indexOf("CLOSED")});Object.defineProperty(T.prototype,"CLOSED",{enumerable:!0,value:Ee.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(T.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(T.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[un])return e[im];return null},set(e){for(let t of this.listeners(s))if(t[un]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[un]:!0})}})});T.prototype.addEventListener=am;T.prototype.removeEventListener=rm;Mo.exports=T;function Po(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:dn[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!dn.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${dn.join(", ")})`);let a;if(e instanceof pn)a=e;else try{a=new pn(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",o=a.protocol==="ws+unix:",c;if(a.protocol!=="ws:"&&!r&&!o?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:o&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"),c){let f=new SyntaxError(c);if(s._redirects===0)throw f;Ns(s,f);return}let l=r?443:80,p=Jf(16).toString("base64"),u=r?Kf.request:Yf.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?fm:dm),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new Be(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=om({[Be.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!um.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),o){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=o,s._originalSecure=r,s._originalHostOrSocketPath=o?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[x,w]of Object.entries(f))i.headers[x.toLowerCase()]=w}else if(s.listenerCount("redirect")===0){let f=o?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{Z(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[Ao]||(m=s._req=null,Ns(s,f))}),m.on("response",f=>{let x=f.headers.location,w=f.statusCode;if(x&&n.followRedirects&&w>=300&&w<400){if(++s._redirects>n.maxRedirects){Z(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new pn(x,e)}catch{let P=new SyntaxError(`Invalid URL: ${x}`);Ns(s,P);return}Po(s,g,t,i)}else s.emit("unexpected-response",m,f)||Z(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,x,w)=>{if(s.emit("upgrade",f),s.readyState!==T.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){Z(s,x,"Invalid Upgrade header");return}let M=Qf("sha1").update(p+sm).digest("base64");if(f.headers["sec-websocket-accept"]!==M){Z(s,x,"Invalid Sec-WebSocket-Accept header");return}let P=f.headers["sec-websocket-protocol"],ue;if(P!==void 0?d.size?d.has(P)||(ue="Server sent an invalid subprotocol"):ue="Server sent a subprotocol but none was requested":d.size&&(ue="Server sent no subprotocol"),ue){Z(s,x,ue);return}P&&(s._protocol=P);let $=f.headers["sec-websocket-extensions"];if($!==void 0){if(!h){Z(s,x,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let de;try{de=cm($)}catch{Z(s,x,"Invalid Sec-WebSocket-Extensions header");return}let be=Object.keys(de);if(be.length!==1||be[0]!==Be.extensionName){Z(s,x,"Server indicated an extension that was not requested");return}try{h.accept(de[Be.extensionName])}catch{Z(s,x,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[Be.extensionName]=h}s.setSocket(x,w,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function Ns(s,e){s._readyState=T.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function dm(s){return s.path=s.socketPath,Oo.connect(s)}function fm(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=Oo.isIP(s.host)?"":s.host),Xf.connect(s)}function Z(s,e,t){s._readyState=T.CLOSING;let i=new Error(t);Error.captureStackTrace(i,Z),e.setHeader?(e[Ao]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Ns,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function fn(s,e,t){if(e){let i=tm(e)?e.size:lm(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${Ee[s.readyState]})`);process.nextTick(t,i)}}function mm(s,e){let t=this[B];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[B]!==void 0&&(t._socket.removeListener("data",Is),process.nextTick(jo,t._socket),s===1005?t.close():t.close(s,e))}function hm(){let s=this[B];s.isPaused||s._socket.resume()}function vm(s){let e=this[B];e._socket[B]!==void 0&&(e._socket.removeListener("data",Is),process.nextTick(jo,e._socket),e.close(s[nm])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function To(){this[B].emitClose()}function xm(s,e){this[B].emit("message",s,e)}function gm(s){let e=this[B];e._autoPong&&e.pong(s,!this._isServer,Ro),e.emit("ping",s)}function bm(s){this[B].emit("pong",s)}function jo(s){s.resume()}function ym(s){let e=this[B];e.readyState!==T.CLOSED&&(e.readyState===T.OPEN&&(e._readyState=T.CLOSING,No(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function No(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),pm)}function Io(){let s=this[B];this.removeListener("close",Io),this.removeListener("data",Is),this.removeListener("end",Bo),s._readyState=T.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[B]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",To),s._receiver.on("finish",To))}function Is(s){this[B]._receiver.write(s)||this.pause()}function Bo(){let s=this[B];s._readyState=T.CLOSING,s._receiver.end(),this.end()}function Lo(){let s=this[B];this.removeListener("error",Lo),this.on("error",Ro),s&&(s._readyState=T.CLOSING,this.destroy())}});var Uo=v((pg,Fo)=>{"use strict";var lg=Bs(),{Duplex:wm}=require("stream");function Do(s){s.emit("close")}function _m(){!this.destroyed&&this._writableState.finished&&this.destroy()}function qo(s){this.removeListener("error",qo),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Sm(s,e){let t=!0,i=new wm({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let o=!r&&i._readableState.objectMode?a.toString():a;i.push(o)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(Do,i);return}let r=!1;s.once("error",function(c){r=!0,a(c)}),s.once("close",function(){r||a(n),process.nextTick(Do,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",_m),i.on("error",qo),i}Fo.exports=Sm});var zo=v((ug,Ho)=>{"use strict";var{tokenChars:Em}=dt();function km(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&Em[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let o=s.slice(t,i);if(e.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);e.add(o),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}Ho.exports={parse:km}});var Xo=v((fg,Yo)=>{"use strict";var Cm=require("events"),Ls=require("http"),{Duplex:dg}=require("stream"),{createHash:Tm}=require("crypto"),Wo=ln(),Ve=Lt(),Om=zo(),Rm=Bs(),{GUID:Am,kWebSocket:Pm}=we(),jm=/^[+/0-9A-Za-z]{22}==$/,$o=0,Vo=1,Ko=2,mn=class extends Cm{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Rm,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Ls.createServer((i,n)=>{let a=Ls.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=Nm(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=$o}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Ko){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Ft,this);return}if(e&&this.once("close",e),this._state!==Vo)if(this._state=Vo,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(Ft,this):process.nextTick(Ft,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Ft(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",Go);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,o=+e.headers["sec-websocket-version"];if(e.method!=="GET"){Ge(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){Ge(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!jm.test(a)){Ge(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(o!==13&&o!==8){Ge(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Ut(t,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=Om.parse(c)}catch{Ge(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new Ve(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=Wo.parse(p);h[Ve.extensionName]&&(d.accept(h[Ve.extensionName]),u[Ve.extensionName]=d)}catch{Ge(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${o===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,x)=>{if(!h)return Ut(t,m||401,f,x);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Ut(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,o){if(!a.readable||!a.writable)return a.destroy();if(a[Pm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>$o)return Ut(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Tm("sha1").update(t+Am).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[Ve.extensionName]){let u=e[Ve.extensionName].params,d=Wo.format({[Ve.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
4
+ `+a),s.push(n+"m+"+us.exports.humanize(this.diff)+"\x1B[0m")}else s[0]=Zu()+e+" "+s[0]}function Zu(){return I.inspectOpts.hideDate?"":new Date().toISOString()+" "}function ed(...s){return process.stderr.write(ps.formatWithOptions(I.inspectOpts,...s)+`
5
+ `)}function td(s){s?process.env.DEBUG=s:delete process.env.DEBUG}function sd(){return process.env.DEBUG}function id(s){s.inspectOpts={};let e=Object.keys(I.inspectOpts);for(let t=0;t<e.length;t++)s.inspectOpts[e[t]]=I.inspectOpts[e[t]]}us.exports=Ti()(I);var{formatters:_r}=us.exports;_r.o=function(s){return this.inspectOpts.colors=this.useColors,ps.inspect(s,this.inspectOpts).split(`
6
+ `).map(e=>e.trim()).join(" ")};_r.O=function(s){return this.inspectOpts.colors=this.useColors,ps.inspect(s,this.inspectOpts)}});var R=x((av,Ai)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Ai.exports=xr():Ai.exports=Sr()});var qe=x(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});fs.Transport=void 0;var nd=require("events"),ad=Rt(),rd=dr(),od=R(),Er=(0,od.default)("engine:transport");function cd(){}var ds=class extends nd.EventEmitter{get readyState(){return this._readyState}set readyState(e){Er("readyState updated from %s to %s (%s)",this._readyState,e,this.name),this._readyState=e}constructor(e){super(),this.writable=!1,this._readyState="open",this.discarded=!1,this.protocol=e._query.EIO==="4"?4:3,this.parser=this.protocol===4?ad:rd,this.supportsBinary=!(e._query&&e._query.b64)}discard(){this.discarded=!0}onRequest(e){}close(e){this.readyState==="closed"||this.readyState==="closing"||(this.readyState="closing",this.doClose(e||cd))}onError(e,t){if(this.listeners("error").length){let i=new Error(e);i.type="TransportError",i.description=t,this.emit("error",i)}else Er("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")}};fs.Transport=ds;ds.upgradesTo=[]});var ji=x(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});ms.Polling=void 0;var ld=qe(),kr=require("zlib"),pd=es(),ud=R(),J=(0,ud.default)("engine:polling"),dd={gzip:kr.createGzip,deflate:kr.createDeflate},Pi=class extends ld.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.method==="GET"?this.onPollRequest(e,t):e.method==="POST"?this.onDataRequest(e,t):(t.writeHead(500),t.end())}onPollRequest(e,t){if(this.req){J("request overlap"),this.onError("overlap from client"),t.writeHead(400),t.end();return}J("setting request"),this.req=e,this.res=t;let i=()=>{this.onError("poll connection closed prematurely")},n=()=>{e.removeListener("close",i),this.req=this.res=null};e.cleanup=n,e.on("close",i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(J("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeHead(400),t.end();return}let i=e.headers["content-type"]==="application/octet-stream";if(i&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let n=i?Buffer.concat([]):"",a=()=>{e.removeListener("data",o),e.removeListener("end",c),e.removeListener("close",r),this.dataReq=this.dataRes=n=null},r=()=>{a(),this.onError("data request connection closed prematurely")},o=l=>{let p;i?(n=Buffer.concat([n,l]),p=n.length):(n+=l,p=Buffer.byteLength(n)),p>this.maxHttpBufferSize&&(t.writeHead(413).end(),a())},c=()=>{this.onData(n);let l={"Content-Type":"text/html","Content-Length":"2"};t.writeHead(200,this.headers(e,l)),t.end("ok"),a()};e.on("close",r),i||e.setEncoding("utf8"),e.on("data",o),e.on("end",c)}onData(e){J('received "%s"',e);let t=i=>{if(i.type==="close")return J("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?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&&(J("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){J('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},o=p=>{r["Content-Length"]=typeof p=="string"?Buffer.byteLength(p):p.length,this.res.writeHead(200,this.headers(this.req,r)),this.res.end(p),i()};if(!this.httpCompression||!t.compress){o(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){o(e);return}let l=pd(this.req).encodings(["gzip","deflate"]);if(!l){o(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeHead(500),this.res.end(),i(p);return}r["Content-Encoding"]=l,o(u)})}compress(e,t,i){J("compressing");let n=[],a=0;dd[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){J("closing");let t;this.dataReq&&(J("aborting ongoing data request"),this.dataReq.destroy());let i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(J("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(J("transport discarded - closing right away"),i()):(J("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t={}){let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};ms.Polling=Pi});var Cr=x(hs=>{"use strict";Object.defineProperty(hs,"__esModule",{value:!0});hs.JSONP=void 0;var fd=ji(),md=require("querystring"),hd=/\\\\n/g,xd=/(\\)?\\n/g,Ii=class extends fd.Polling{constructor(e){super(e),this.head="___eio["+(e._query.j||"").replace(/[^0-9]/g,"")+"](",this.foot=");"}onData(e){e=md.parse(e).d,typeof e=="string"&&(e=e.replace(xd,function(t,i){return i?t:`
7
+ `}),super.onData(e.replace(hd,"\\n")))}doWrite(e,t,i){let n=JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029");e=this.head+n+this.foot,super.doWrite(e,t,i)}};hs.JSONP=Ii});var Or=x(xs=>{"use strict";Object.defineProperty(xs,"__esModule",{value:!0});xs.WebSocket=void 0;var vd=qe(),gd=R(),Tr=(0,gd.default)("engine:ws"),Ni=class extends vd.Transport{constructor(e){super(e),this._doSend=t=>{this.socket.send(t,this._onSent)},this._doSendLast=t=>{this.socket.send(t,this._onSentLast)},this._onSent=t=>{t&&this.onError("write error",t.stack)},this._onSentLast=t=>{t?this.onError("write error",t.stack):(this.emit("drain"),this.writable=!0,this.emit("ready"))},this.socket=e.websocket,this.socket.on("message",(t,i)=>{let n=i?t:t.toString();Tr('received "%s"',n),super.onData(n)}),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}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length;this._canSendPreEncodedFrame(i)?this.socket._sender.sendFrame(i.options.wsPreEncodedFrame,n?this._onSentLast:this._onSent):this.parser.encodePacket(i,this.supportsBinary,n?this._doSendLast:this._doSend)}}_canSendPreEncodedFrame(e){var t,i,n;return!this.perMessageDeflate&&typeof((i=(t=this.socket)===null||t===void 0?void 0:t._sender)===null||i===void 0?void 0:i.sendFrame)=="function"&&((n=e.options)===null||n===void 0?void 0:n.wsPreEncodedFrame)!==void 0}doClose(e){Tr("closing"),this.socket.close(),e&&e()}};xs.WebSocket=Ni});var Li=x(vs=>{"use strict";Object.defineProperty(vs,"__esModule",{value:!0});vs.WebTransport=void 0;var bd=qe(),yd=R(),wd=Rt(),at=(0,yd.default)("engine:webtransport"),Bi=class extends bd.Transport{constructor(e,t,i){super({_query:{EIO:"4"}}),this.session=e;let n=(0,wd.createPacketEncoderStream)();n.readable.pipeTo(t.writable).catch(()=>{at("the stream was closed")}),this.writer=n.writable.getWriter(),(async()=>{try{for(;;){let{value:a,done:r}=await i.read();if(r){at("session is closed");break}at("received chunk: %o",a),this.onPacket(a)}}catch(a){at("error while reading: %s",a.message)}})(),e.closed.then(()=>this.onClose()),this.writable=!0}get name(){return"webtransport"}async send(e){this.writable=!1;try{for(let t=0;t<e.length;t++){let i=e[t];await this.writer.write(i)}}catch(t){at("error while writing: %s",t.message)}this.emit("drain"),this.writable=!0,this.emit("ready")}doClose(e){at("closing WebTransport session"),this.session.close(),e&&e()}};vs.WebTransport=Bi});var Di=x(Mi=>{"use strict";Object.defineProperty(Mi,"__esModule",{value:!0});var _d=ji(),Sd=Cr(),Ed=Or(),kd=Li();Mi.default={polling:Rr,websocket:Ed.WebSocket,webtransport:kd.WebTransport};function Rr(s){return typeof s._query.j=="string"?new Sd.JSONP(s):new _d.Polling(s)}Rr.upgradesTo=["websocket","webtransport"]});var Fi=x(gs=>{"use strict";Object.defineProperty(gs,"__esModule",{value:!0});gs.Socket=void 0;var Cd=require("events"),Td=R(),ge=require("timers"),O=(0,Td.default)("engine:socket"),qi=class extends Cd.EventEmitter{get readyState(){return this._readyState}set readyState(e){O("readyState updated from %s to %s",this._readyState,e),this._readyState=e}constructor(e,t,i,n,a){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=n,this.protocol=a,n&&(n.websocket&&n.websocket._socket?this.remoteAddress=n.websocket._socket.remoteAddress:this.remoteAddress=n.connection.remoteAddress),this.pingTimeoutTimer=null,this.pingIntervalTimer=null,this.setTransport(i),this.onOpen()}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"),this.protocol===3?this.resetPingTimeout():this.schedulePing()}onPacket(e){if(this.readyState!=="open")return O("packet received with closed socket");switch(O(`received packet ${e.type}`),this.emit("packet",e),e.type){case"ping":if(this.transport.protocol!==3){this.onError(new Error("invalid heartbeat direction"));return}O("got ping"),this.pingTimeoutTimer.refresh(),this.sendPacket("pong"),this.emit("heartbeat");break;case"pong":if(this.transport.protocol===3){this.onError(new Error("invalid heartbeat direction"));return}O("got pong"),(0,ge.clearTimeout)(this.pingTimeoutTimer),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);break}}onError(e){O("transport error"),this.onClose("transport error",e)}schedulePing(){this.pingIntervalTimer=(0,ge.setTimeout)(()=>{O("writing ping packet - expecting pong within %sms",this.server.opts.pingTimeout),this.sendPacket("ping"),this.resetPingTimeout()},this.server.opts.pingInterval)}resetPingTimeout(){(0,ge.clearTimeout)(this.pingTimeoutTimer),this.pingTimeoutTimer=(0,ge.setTimeout)(()=>{this.readyState!=="closed"&&this.onClose("ping timeout")},this.protocol===3?this.server.opts.pingInterval+this.server.opts.pingTimeout:this.server.opts.pingTimeout)}setTransport(e){let t=this.onError.bind(this),i=()=>this.flush(),n=this.onPacket.bind(this),a=this.onDrain.bind(this),r=this.onClose.bind(this,"transport close");this.transport=e,this.transport.once("error",t),this.transport.on("ready",i),this.transport.on("packet",n),this.transport.on("drain",a),this.transport.once("close",r),this.cleanupFn.push(function(){e.removeListener("error",t),e.removeListener("ready",i),e.removeListener("packet",n),e.removeListener("drain",a),e.removeListener("close",r)})}onDrain(){if(this.sentCallbackFn.length>0){O("executing batch send callback");let e=this.sentCallbackFn.shift();if(e)for(let t=0;t<e.length;t++)e[t](this.transport)}}_maybeUpgrade(e){O('might upgrade socket transport from "%s" to "%s"',this.transport.name,e.name),this.upgrading=!0;let t=(0,ge.setTimeout)(()=>{O("client did not complete upgrade - closing transport"),r(),e.readyState==="open"&&e.close()},this.server.opts.upgradeTimeout),i,n=p=>{p.type==="ping"&&p.data==="probe"?(O("got probe ping packet, sending pong"),e.send([{type:"pong",data:"probe"}]),this.emit("upgrading",e),clearInterval(i),i=setInterval(a,100)):p.type==="upgrade"&&this.readyState!=="closed"?(O("got upgrade packet - upgrading"),r(),this.transport.discard(),this.upgraded=!0,this.clearTransport(),this.setTransport(e),this.emit("upgrade",e),this.flush(),this.readyState==="closing"&&e.close(()=>{this.onClose("forced close")})):(r(),e.close())},a=()=>{this.transport.name==="polling"&&this.transport.writable&&(O("writing a noop packet to polling for fast upgrade"),this.transport.send([{type:"noop"}]))},r=()=>{this.upgrading=!1,clearInterval(i),(0,ge.clearTimeout)(t),e.removeListener("packet",n),e.removeListener("close",c),e.removeListener("error",o),this.removeListener("close",l)},o=p=>{O("client did not complete upgrade - %s",p),r(),e.close(),e=null},c=()=>{o("transport closed")},l=()=>{o("socket closed")};e.on("packet",n),e.once("close",c),e.once("error",o),this.once("close",l)}clearTransport(){let e,t=this.cleanupFn.length;for(let i=0;i<t;i++)e=this.cleanupFn.shift(),e();this.transport.on("error",function(){O("error triggered by discarded transport")}),this.transport.close(),(0,ge.clearTimeout)(this.pingTimeoutTimer)}onClose(e,t){this.readyState!=="closed"&&(this.readyState="closed",(0,ge.clearTimeout)(this.pingIntervalTimer),(0,ge.clearTimeout)(this.pingTimeoutTimer),process.nextTick(()=>{this.writeBuffer=[]}),this.packetsFn=[],this.sentCallbackFn=[],this.clearTransport(),this.emit("close",e,t))}send(e,t,i){return this.sendPacket("message",e,t,i),this}write(e,t,i){return this.sendPacket("message",e,t,i),this}sendPacket(e,t,i={},n){if(typeof i=="function"&&(n=i,i={}),this.readyState!=="closing"&&this.readyState!=="closed"){O('sending packet "%s" (%s)',e,t),i.compress=i.compress!==!1;let a={type:e,options:i};t&&(a.data=t),this.emit("packetCreate",a),this.writeBuffer.push(a),typeof n=="function"&&this.packetsFn.push(n),this.flush()}}flush(){if(this.readyState!=="closed"&&this.transport.writable&&this.writeBuffer.length){O("flushing buffer to transport"),this.emit("flush",this.writeBuffer),this.server.emit("flush",this,this.writeBuffer);let e=this.writeBuffer;this.writeBuffer=[],this.packetsFn.length?(this.sentCallbackFn.push(this.packetsFn),this.packetsFn=[]):this.sentCallbackFn.push(null),this.transport.send(e),this.emit("drain"),this.server.emit("drain",this)}}getAvailableUpgrades(){let e=[],t=this.server.upgrades(this.transport.name);for(let i=0;i<t.length;++i){let n=t[i];this.server.opts.transports.indexOf(n)!==-1&&e.push(n)}return e}close(e){if(e&&(this.readyState==="open"||this.readyState==="closing"))return this.closeTransport(e);if(this.readyState==="open"){if(this.readyState="closing",this.writeBuffer.length){O("there are %d remaining packets in the buffer, waiting for the 'drain' event",this.writeBuffer.length),this.once("drain",()=>{O("all packets have been sent, closing the transport"),this.closeTransport(e)});return}O("the buffer is empty, closing the transport right away"),this.closeTransport(e)}}closeTransport(e){O("closing the transport (discard? %s)",!!e),e&&this.transport.discard(),this.transport.close(this.onClose.bind(this,"forced close"))}};gs.Socket=qi});var jr=x(Ui=>{"use strict";Ui.parse=Nd;Ui.serialize=Bd;var Od=Object.prototype.toString,Rd=Object.prototype.hasOwnProperty,Ad=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,Pd=/^("?)[\u0021\u0023-\u002B\u002D-\u003A\u003C-\u005B\u005D-\u007E]*\1$/,jd=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,Id=/^[\u0020-\u003A\u003D-\u007E]*$/;function Nd(s,e){if(typeof s!="string")throw new TypeError("argument str must be a string");var t={},i=s.length;if(i<2)return t;var n=e&&e.decode||Ld,a=0,r=0,o=0;do{if(r=s.indexOf("=",a),r===-1)break;if(o=s.indexOf(";",a),o===-1)o=i;else if(r>o){a=s.lastIndexOf(";",r-1)+1;continue}var c=Ar(s,a,r),l=Pr(s,r,c),p=s.slice(c,l);if(!Rd.call(t,p)){var u=Ar(s,r+1,o),d=Pr(s,o,u);s.charCodeAt(u)===34&&s.charCodeAt(d-1)===34&&(u++,d--);var h=s.slice(u,d);t[p]=Dd(h,n)}a=o+1}while(a<i);return t}function Ar(s,e,t){do{var i=s.charCodeAt(e);if(i!==32&&i!==9)return e}while(++e<t);return t}function Pr(s,e,t){for(;e>t;){var i=s.charCodeAt(--e);if(i!==32&&i!==9)return e+1}return t}function Bd(s,e,t){var i=t&&t.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!Ad.test(s))throw new TypeError("argument name is invalid");var n=i(e);if(!Pd.test(n))throw new TypeError("argument val is invalid");var a=s+"="+n;if(!t)return a;if(t.maxAge!=null){var r=Math.floor(t.maxAge);if(!isFinite(r))throw new TypeError("option maxAge is invalid");a+="; Max-Age="+r}if(t.domain){if(!jd.test(t.domain))throw new TypeError("option domain is invalid");a+="; Domain="+t.domain}if(t.path){if(!Id.test(t.path))throw new TypeError("option path is invalid");a+="; Path="+t.path}if(t.expires){var o=t.expires;if(!Md(o)||isNaN(o.valueOf()))throw new TypeError("option expires is invalid");a+="; Expires="+o.toUTCString()}if(t.httpOnly&&(a+="; HttpOnly"),t.secure&&(a+="; Secure"),t.partitioned&&(a+="; Partitioned"),t.priority){var c=typeof t.priority=="string"?t.priority.toLowerCase():t.priority;switch(c){case"low":a+="; Priority=Low";break;case"medium":a+="; Priority=Medium";break;case"high":a+="; Priority=High";break;default:throw new TypeError("option priority is invalid")}}if(t.sameSite){var l=typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite;switch(l){case!0:a+="; SameSite=Strict";break;case"lax":a+="; SameSite=Lax";break;case"strict":a+="; SameSite=Strict";break;case"none":a+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return a}function Ld(s){return s.indexOf("%")!==-1?decodeURIComponent(s):s}function Md(s){return Od.call(s)==="[object Date]"}function Dd(s,e){try{return e(s)}catch{return s}}});var be=x((mv,Br)=>{"use strict";var Ir=["nodebuffer","arraybuffer","fragments"],Nr=typeof Blob<"u";Nr&&Ir.push("blob");Br.exports={BINARY_TYPES:Ir,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:Nr,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var At=x((hv,bs)=>{"use strict";var{EMPTY_BUFFER:qd}=be(),Hi=Buffer[Symbol.species];function Fd(s,e){if(s.length===0)return qd;if(s.length===1)return s[0];let t=Buffer.allocUnsafe(e),i=0;for(let n=0;n<s.length;n++){let a=s[n];t.set(a,i),i+=a.length}return i<e?new Hi(t.buffer,t.byteOffset,i):t}function Lr(s,e,t,i,n){for(let a=0;a<n;a++)t[i+a]=s[a]^e[a&3]}function Mr(s,e){for(let t=0;t<s.length;t++)s[t]^=e[t&3]}function Ud(s){return s.length===s.buffer.byteLength?s.buffer:s.buffer.slice(s.byteOffset,s.byteOffset+s.length)}function zi(s){if(zi.readOnly=!0,Buffer.isBuffer(s))return s;let e;return s instanceof ArrayBuffer?e=new Hi(s):ArrayBuffer.isView(s)?e=new Hi(s.buffer,s.byteOffset,s.byteLength):(e=Buffer.from(s),zi.readOnly=!1),e}bs.exports={concat:Fd,mask:Lr,toArrayBuffer:Ud,toBuffer:zi,unmask:Mr};if(!process.env.WS_NO_BUFFER_UTIL)try{let s=require("bufferutil");bs.exports.mask=function(e,t,i,n,a){a<48?Lr(e,t,i,n,a):s.mask(e,t,i,n,a)},bs.exports.unmask=function(e,t){e.length<32?Mr(e,t):s.unmask(e,t)}}catch{}});var Fr=x((xv,qr)=>{"use strict";var Dr=Symbol("kDone"),Wi=Symbol("kRun"),$i=class{constructor(e){this[Dr]=()=>{this.pending--,this[Wi]()},this.concurrency=e||1/0,this.jobs=[],this.pending=0}add(e){this.jobs.push(e),this[Wi]()}[Wi](){if(this.pending!==this.concurrency&&this.jobs.length){let e=this.jobs.shift();this.pending++,e(this[Dr])}}};qr.exports=$i});var jt=x((vv,Wr)=>{"use strict";var Pt=require("zlib"),Ur=At(),Hd=Fr(),{kStatusCode:Hr}=be(),zd=Buffer[Symbol.species],Wd=Buffer.from([0,0,255,255]),ws=Symbol("permessage-deflate"),ye=Symbol("total-length"),rt=Symbol("callback"),Pe=Symbol("buffers"),ot=Symbol("error"),ys,Vi=class{constructor(e,t,i){if(this._maxPayload=i|0,this._options=e||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!t,this._deflate=null,this._inflate=null,this.params=null,!ys){let n=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;ys=new Hd(n)}}static get extensionName(){return"permessage-deflate"}offer(){let e={};return this._options.serverNoContextTakeover&&(e.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(e.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(e.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?e.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(e.client_max_window_bits=!0),e}accept(e){return e=this.normalizeParams(e),this.params=this._isServer?this.acceptAsServer(e):this.acceptAsClient(e),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let e=this._deflate[rt];this._deflate.close(),this._deflate=null,e&&e(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(e){let t=this._options,i=e.find(n=>!(t.serverNoContextTakeover===!1&&n.server_no_context_takeover||n.server_max_window_bits&&(t.serverMaxWindowBits===!1||typeof t.serverMaxWindowBits=="number"&&t.serverMaxWindowBits>n.server_max_window_bits)||typeof t.clientMaxWindowBits=="number"&&!n.client_max_window_bits));if(!i)throw new Error("None of the extension offers can be accepted");return t.serverNoContextTakeover&&(i.server_no_context_takeover=!0),t.clientNoContextTakeover&&(i.client_no_context_takeover=!0),typeof t.serverMaxWindowBits=="number"&&(i.server_max_window_bits=t.serverMaxWindowBits),typeof t.clientMaxWindowBits=="number"?i.client_max_window_bits=t.clientMaxWindowBits:(i.client_max_window_bits===!0||t.clientMaxWindowBits===!1)&&delete i.client_max_window_bits,i}acceptAsClient(e){let t=e[0];if(this._options.clientNoContextTakeover===!1&&t.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!t.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(t.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&t.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return t}normalizeParams(e){return e.forEach(t=>{Object.keys(t).forEach(i=>{let n=t[i];if(n.length>1)throw new Error(`Parameter "${i}" must have only a single value`);if(n=n[0],i==="client_max_window_bits"){if(n!==!0){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else if(i==="server_max_window_bits"){let a=+n;if(!Number.isInteger(a)||a<8||a>15)throw new TypeError(`Invalid value for parameter "${i}": ${n}`);n=a}else if(i==="client_no_context_takeover"||i==="server_no_context_takeover"){if(n!==!0)throw new TypeError(`Invalid value for parameter "${i}": ${n}`)}else throw new Error(`Unknown parameter "${i}"`);t[i]=n})}),e}decompress(e,t,i){ys.add(n=>{this._decompress(e,t,(a,r)=>{n(),i(a,r)})})}compress(e,t,i){ys.add(n=>{this._compress(e,t,(a,r)=>{n(),i(a,r)})})}_decompress(e,t,i){let n=this._isServer?"client":"server";if(!this._inflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Pt.Z_DEFAULT_WINDOWBITS:this.params[a];this._inflate=Pt.createInflateRaw({...this._options.zlibInflateOptions,windowBits:r}),this._inflate[ws]=this,this._inflate[ye]=0,this._inflate[Pe]=[],this._inflate.on("error",Vd),this._inflate.on("data",zr)}this._inflate[rt]=i,this._inflate.write(e),t&&this._inflate.write(Wd),this._inflate.flush(()=>{let a=this._inflate[ot];if(a){this._inflate.close(),this._inflate=null,i(a);return}let r=Ur.concat(this._inflate[Pe],this._inflate[ye]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[ye]=0,this._inflate[Pe]=[],t&&this.params[`${n}_no_context_takeover`]&&this._inflate.reset()),i(null,r)})}_compress(e,t,i){let n=this._isServer?"server":"client";if(!this._deflate){let a=`${n}_max_window_bits`,r=typeof this.params[a]!="number"?Pt.Z_DEFAULT_WINDOWBITS:this.params[a];this._deflate=Pt.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:r}),this._deflate[ye]=0,this._deflate[Pe]=[],this._deflate.on("data",$d)}this._deflate[rt]=i,this._deflate.write(e),this._deflate.flush(Pt.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let a=Ur.concat(this._deflate[Pe],this._deflate[ye]);t&&(a=new zd(a.buffer,a.byteOffset,a.length-4)),this._deflate[rt]=null,this._deflate[ye]=0,this._deflate[Pe]=[],t&&this.params[`${n}_no_context_takeover`]&&this._deflate.reset(),i(null,a)})}};Wr.exports=Vi;function $d(s){this[Pe].push(s),this[ye]+=s.length}function zr(s){if(this[ye]+=s.length,this[ws]._maxPayload<1||this[ye]<=this[ws]._maxPayload){this[Pe].push(s);return}this[ot]=new RangeError("Max payload size exceeded"),this[ot].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[ot][Hr]=1009,this.removeListener("data",zr),this.reset()}function Vd(s){if(this[ws]._inflate=null,this[ot]){this[rt](this[ot]);return}s[Hr]=1007,this[rt](s)}});var ct=x((gv,_s)=>{"use strict";var{isUtf8:$r}=require("buffer"),{hasBlob:Gd}=be(),Kd=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function Yd(s){return s>=1e3&&s<=1014&&s!==1004&&s!==1005&&s!==1006||s>=3e3&&s<=4999}function Gi(s){let e=s.length,t=0;for(;t<e;)if((s[t]&128)===0)t++;else if((s[t]&224)===192){if(t+1===e||(s[t+1]&192)!==128||(s[t]&254)===192)return!1;t+=2}else if((s[t]&240)===224){if(t+2>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||s[t]===224&&(s[t+1]&224)===128||s[t]===237&&(s[t+1]&224)===160)return!1;t+=3}else if((s[t]&248)===240){if(t+3>=e||(s[t+1]&192)!==128||(s[t+2]&192)!==128||(s[t+3]&192)!==128||s[t]===240&&(s[t+1]&240)===128||s[t]===244&&s[t+1]>143||s[t]>244)return!1;t+=4}else return!1;return!0}function Xd(s){return Gd&&typeof s=="object"&&typeof s.arrayBuffer=="function"&&typeof s.type=="string"&&typeof s.stream=="function"&&(s[Symbol.toStringTag]==="Blob"||s[Symbol.toStringTag]==="File")}_s.exports={isBlob:Xd,isValidStatusCode:Yd,isValidUTF8:Gi,tokenChars:Kd};if($r)_s.exports.isValidUTF8=function(s){return s.length<24?Gi(s):$r(s)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let s=require("utf-8-validate");_s.exports.isValidUTF8=function(e){return e.length<32?Gi(e):s(e)}}catch{}});var Qi=x((bv,Qr)=>{"use strict";var{Writable:Jd}=require("stream"),Vr=jt(),{BINARY_TYPES:Qd,EMPTY_BUFFER:Gr,kStatusCode:Zd,kWebSocket:ef}=be(),{concat:Ki,toArrayBuffer:tf,unmask:sf}=At(),{isValidStatusCode:nf,isValidUTF8:Kr}=ct(),Ss=Buffer[Symbol.species],te=0,Yr=1,Xr=2,Jr=3,Yi=4,Xi=5,Es=6,Ji=class extends Jd{constructor(e={}){super(),this._allowSynchronousEvents=e.allowSynchronousEvents!==void 0?e.allowSynchronousEvents:!0,this._binaryType=e.binaryType||Qd[0],this._extensions=e.extensions||{},this._isServer=!!e.isServer,this._maxPayload=e.maxPayload|0,this._skipUTF8Validation=!!e.skipUTF8Validation,this[ef]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=te}_write(e,t,i){if(this._opcode===8&&this._state==te)return i();this._bufferedBytes+=e.length,this._buffers.push(e),this.startLoop(i)}consume(e){if(this._bufferedBytes-=e,e===this._buffers[0].length)return this._buffers.shift();if(e<this._buffers[0].length){let i=this._buffers[0];return this._buffers[0]=new Ss(i.buffer,i.byteOffset+e,i.length-e),new Ss(i.buffer,i.byteOffset,e)}let t=Buffer.allocUnsafe(e);do{let i=this._buffers[0],n=t.length-e;e>=i.length?t.set(this._buffers.shift(),n):(t.set(new Uint8Array(i.buffer,i.byteOffset,e),n),this._buffers[0]=new Ss(i.buffer,i.byteOffset+e,i.length-e)),e-=i.length}while(e>0);return t}startLoop(e){this._loop=!0;do switch(this._state){case te:this.getInfo(e);break;case Yr:this.getPayloadLength16(e);break;case Xr:this.getPayloadLength64(e);break;case Jr:this.getMask();break;case Yi:this.getData(e);break;case Xi:case Es:this._loop=!1;return}while(this._loop);this._errored||e()}getInfo(e){if(this._bufferedBytes<2){this._loop=!1;return}let t=this.consume(2);if((t[0]&48)!==0){let n=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");e(n);return}let i=(t[0]&64)===64;if(i&&!this._extensions[Vr.extensionName]){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._fin=(t[0]&128)===128,this._opcode=t[0]&15,this._payloadLength=t[1]&127,this._opcode===0){if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(!this._fragmented){let n=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}this._compressed=i}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let n=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");e(n);return}if(i){let n=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");e(n);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let n=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");e(n);return}}else{let n=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");e(n);return}if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(t[1]&128)===128,this._isServer){if(!this._masked){let n=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");e(n);return}}else if(this._masked){let n=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");e(n);return}this._payloadLength===126?this._state=Yr:this._payloadLength===127?this._state=Xr:this.haveLength(e)}getPayloadLength16(e){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(e)}getPayloadLength64(e){if(this._bufferedBytes<8){this._loop=!1;return}let t=this.consume(8),i=t.readUInt32BE(0);if(i>Math.pow(2,21)-1){let n=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");e(n);return}this._payloadLength=i*Math.pow(2,32)+t.readUInt32BE(4),this.haveLength(e)}haveLength(e){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0)){let t=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");e(t);return}this._masked?this._state=Jr:this._state=Yi}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=Yi}getData(e){let t=Gr;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}t=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0&&sf(t,this._mask)}if(this._opcode>7){this.controlMessage(t,e);return}if(this._compressed){this._state=Xi,this.decompress(t,e);return}t.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(t)),this.dataMessage(e)}decompress(e,t){this._extensions[Vr.extensionName].decompress(e,this._fin,(n,a)=>{if(n)return t(n);if(a.length){if(this._messageLength+=a.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let r=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");t(r);return}this._fragments.push(a)}this.dataMessage(t),this._state===te&&this.startLoop(t)})}dataMessage(e){if(!this._fin){this._state=te;return}let t=this._messageLength,i=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let n;this._binaryType==="nodebuffer"?n=Ki(i,t):this._binaryType==="arraybuffer"?n=tf(Ki(i,t)):this._binaryType==="blob"?n=new Blob(i):n=i,this._allowSynchronousEvents?(this.emit("message",n,!0),this._state=te):(this._state=Es,setImmediate(()=>{this.emit("message",n,!0),this._state=te,this.startLoop(e)}))}else{let n=Ki(i,t);if(!this._skipUTF8Validation&&!Kr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");e(a);return}this._state===Xi||this._allowSynchronousEvents?(this.emit("message",n,!1),this._state=te):(this._state=Es,setImmediate(()=>{this.emit("message",n,!1),this._state=te,this.startLoop(e)}))}}controlMessage(e,t){if(this._opcode===8){if(e.length===0)this._loop=!1,this.emit("conclude",1005,Gr),this.end();else{let i=e.readUInt16BE(0);if(!nf(i)){let a=this.createError(RangeError,`invalid status code ${i}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");t(a);return}let n=new Ss(e.buffer,e.byteOffset+2,e.length-2);if(!this._skipUTF8Validation&&!Kr(n)){let a=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");t(a);return}this._loop=!1,this.emit("conclude",i,n),this.end()}this._state=te;return}this._allowSynchronousEvents?(this.emit(this._opcode===9?"ping":"pong",e),this._state=te):(this._state=Es,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",e),this._state=te,this.startLoop(t)}))}createError(e,t,i,n,a){this._loop=!1,this._errored=!0;let r=new e(i?`Invalid WebSocket frame: ${t}`:t);return Error.captureStackTrace(r,this.createError),r.code=a,r[Zd]=n,r}};Qr.exports=Ji});var tn=x((wv,to)=>{"use strict";var{Duplex:yv}=require("stream"),{randomFillSync:af}=require("crypto"),Zr=jt(),{EMPTY_BUFFER:rf,kWebSocket:of,NOOP:cf}=be(),{isBlob:lt,isValidStatusCode:lf}=ct(),{mask:eo,toBuffer:Fe}=At(),se=Symbol("kByteLength"),pf=Buffer.alloc(4),ks=8*1024,Ue,pt=ks,oe=0,uf=1,df=2,Zi=class s{constructor(e,t,i){this._extensions=t||{},i&&(this._generateMask=i,this._maskBuffer=Buffer.alloc(4)),this._socket=e,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=oe,this.onerror=cf,this[of]=void 0}static frame(e,t){let i,n=!1,a=2,r=!1;t.mask&&(i=t.maskBuffer||pf,t.generateMask?t.generateMask(i):(pt===ks&&(Ue===void 0&&(Ue=Buffer.alloc(ks)),af(Ue,0,ks),pt=0),i[0]=Ue[pt++],i[1]=Ue[pt++],i[2]=Ue[pt++],i[3]=Ue[pt++]),r=(i[0]|i[1]|i[2]|i[3])===0,a=6);let o;typeof e=="string"?(!t.mask||r)&&t[se]!==void 0?o=t[se]:(e=Buffer.from(e),o=e.length):(o=e.length,n=t.mask&&t.readOnly&&!r);let c=o;o>=65536?(a+=8,c=127):o>125&&(a+=2,c=126);let l=Buffer.allocUnsafe(n?o+a:a);return l[0]=t.fin?t.opcode|128:t.opcode,t.rsv1&&(l[0]|=64),l[1]=c,c===126?l.writeUInt16BE(o,2):c===127&&(l[2]=l[3]=0,l.writeUIntBE(o,4,6)),t.mask?(l[1]|=128,l[a-4]=i[0],l[a-3]=i[1],l[a-2]=i[2],l[a-1]=i[3],r?[l,e]:n?(eo(e,i,l,a,o),[l]):(eo(e,i,e,0,o),[l,e])):[l,e]}close(e,t,i,n){let a;if(e===void 0)a=rf;else{if(typeof e!="number"||!lf(e))throw new TypeError("First argument must be a valid error code number");if(t===void 0||!t.length)a=Buffer.allocUnsafe(2),a.writeUInt16BE(e,0);else{let o=Buffer.byteLength(t);if(o>123)throw new RangeError("The message must not be greater than 123 bytes");a=Buffer.allocUnsafe(2+o),a.writeUInt16BE(e,0),typeof t=="string"?a.write(t,2):a.set(t,2)}}let r={[se]:a.length,fin:!0,generateMask:this._generateMask,mask:i,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};this._state!==oe?this.enqueue([this.dispatch,a,!1,r,n]):this.sendFrame(s.frame(a,r),n)}ping(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Fe(e),n=e.length,a=Fe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:9,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}pong(e,t,i){let n,a;if(typeof e=="string"?(n=Buffer.byteLength(e),a=!1):lt(e)?(n=e.size,a=!1):(e=Fe(e),n=e.length,a=Fe.readOnly),n>125)throw new RangeError("The data size must not be greater than 125 bytes");let r={[se]:n,fin:!0,generateMask:this._generateMask,mask:t,maskBuffer:this._maskBuffer,opcode:10,readOnly:a,rsv1:!1};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,!1,r,i]):this.getBlobData(e,!1,r,i):this._state!==oe?this.enqueue([this.dispatch,e,!1,r,i]):this.sendFrame(s.frame(e,r),i)}send(e,t,i){let n=this._extensions[Zr.extensionName],a=t.binary?2:1,r=t.compress,o,c;typeof e=="string"?(o=Buffer.byteLength(e),c=!1):lt(e)?(o=e.size,c=!1):(e=Fe(e),o=e.length,c=Fe.readOnly),this._firstFragment?(this._firstFragment=!1,r&&n&&n.params[n._isServer?"server_no_context_takeover":"client_no_context_takeover"]&&(r=o>=n._threshold),this._compress=r):(r=!1,a=0),t.fin&&(this._firstFragment=!0);let l={[se]:o,fin:t.fin,generateMask:this._generateMask,mask:t.mask,maskBuffer:this._maskBuffer,opcode:a,readOnly:c,rsv1:r};lt(e)?this._state!==oe?this.enqueue([this.getBlobData,e,this._compress,l,i]):this.getBlobData(e,this._compress,l,i):this._state!==oe?this.enqueue([this.dispatch,e,this._compress,l,i]):this.dispatch(e,this._compress,l,i)}getBlobData(e,t,i,n){this._bufferedBytes+=i[se],this._state=df,e.arrayBuffer().then(a=>{if(this._socket.destroyed){let o=new Error("The socket was closed while the blob was being read");process.nextTick(en,this,o,n);return}this._bufferedBytes-=i[se];let r=Fe(a);t?this.dispatch(r,t,i,n):(this._state=oe,this.sendFrame(s.frame(r,i),n),this.dequeue())}).catch(a=>{process.nextTick(ff,this,a,n)})}dispatch(e,t,i,n){if(!t){this.sendFrame(s.frame(e,i),n);return}let a=this._extensions[Zr.extensionName];this._bufferedBytes+=i[se],this._state=uf,a.compress(e,i.fin,(r,o)=>{if(this._socket.destroyed){let c=new Error("The socket was closed while data was being compressed");en(this,c,n);return}this._bufferedBytes-=i[se],this._state=oe,i.readOnly=!1,this.sendFrame(s.frame(o,i),n),this.dequeue()})}dequeue(){for(;this._state===oe&&this._queue.length;){let e=this._queue.shift();this._bufferedBytes-=e[3][se],Reflect.apply(e[0],this,e.slice(1))}}enqueue(e){this._bufferedBytes+=e[3][se],this._queue.push(e)}sendFrame(e,t){e.length===2?(this._socket.cork(),this._socket.write(e[0]),this._socket.write(e[1],t),this._socket.uncork()):this._socket.write(e[0],t)}};to.exports=Zi;function en(s,e,t){typeof t=="function"&&t(e);for(let i=0;i<s._queue.length;i++){let n=s._queue[i],a=n[n.length-1];typeof a=="function"&&a(e)}}function ff(s,e,t){en(s,e,t),s.onerror(e)}});var po=x((_v,lo)=>{"use strict";var{kForOnEventAttribute:It,kListener:sn}=be(),so=Symbol("kCode"),io=Symbol("kData"),no=Symbol("kError"),ao=Symbol("kMessage"),ro=Symbol("kReason"),ut=Symbol("kTarget"),oo=Symbol("kType"),co=Symbol("kWasClean"),we=class{constructor(e){this[ut]=null,this[oo]=e}get target(){return this[ut]}get type(){return this[oo]}};Object.defineProperty(we.prototype,"target",{enumerable:!0});Object.defineProperty(we.prototype,"type",{enumerable:!0});var He=class extends we{constructor(e,t={}){super(e),this[so]=t.code===void 0?0:t.code,this[ro]=t.reason===void 0?"":t.reason,this[co]=t.wasClean===void 0?!1:t.wasClean}get code(){return this[so]}get reason(){return this[ro]}get wasClean(){return this[co]}};Object.defineProperty(He.prototype,"code",{enumerable:!0});Object.defineProperty(He.prototype,"reason",{enumerable:!0});Object.defineProperty(He.prototype,"wasClean",{enumerable:!0});var dt=class extends we{constructor(e,t={}){super(e),this[no]=t.error===void 0?null:t.error,this[ao]=t.message===void 0?"":t.message}get error(){return this[no]}get message(){return this[ao]}};Object.defineProperty(dt.prototype,"error",{enumerable:!0});Object.defineProperty(dt.prototype,"message",{enumerable:!0});var Nt=class extends we{constructor(e,t={}){super(e),this[io]=t.data===void 0?null:t.data}get data(){return this[io]}};Object.defineProperty(Nt.prototype,"data",{enumerable:!0});var mf={addEventListener(s,e,t={}){for(let n of this.listeners(s))if(!t[It]&&n[sn]===e&&!n[It])return;let i;if(s==="message")i=function(a,r){let o=new Nt("message",{data:r?a:a.toString()});o[ut]=this,Cs(e,this,o)};else if(s==="close")i=function(a,r){let o=new He("close",{code:a,reason:r.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});o[ut]=this,Cs(e,this,o)};else if(s==="error")i=function(a){let r=new dt("error",{error:a,message:a.message});r[ut]=this,Cs(e,this,r)};else if(s==="open")i=function(){let a=new we("open");a[ut]=this,Cs(e,this,a)};else return;i[It]=!!t[It],i[sn]=e,t.once?this.once(s,i):this.on(s,i)},removeEventListener(s,e){for(let t of this.listeners(s))if(t[sn]===e&&!t[It]){this.removeListener(s,t);break}}};lo.exports={CloseEvent:He,ErrorEvent:dt,Event:we,EventTarget:mf,MessageEvent:Nt};function Cs(s,e,t){typeof s=="object"&&s.handleEvent?s.handleEvent.call(s,t):s.call(e,t)}});var nn=x((Sv,uo)=>{"use strict";var{tokenChars:Bt}=ct();function me(s,e,t){s[e]===void 0?s[e]=[t]:s[e].push(t)}function hf(s){let e=Object.create(null),t=Object.create(null),i=!1,n=!1,a=!1,r,o,c=-1,l=-1,p=-1,u=0;for(;u<s.length;u++)if(l=s.charCodeAt(u),r===void 0)if(p===-1&&Bt[l]===1)c===-1&&(c=u);else if(u!==0&&(l===32||l===9))p===-1&&c!==-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(c,p);l===44?(me(e,h,t),t=Object.create(null)):r=h,c=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);else if(o===void 0)if(p===-1&&Bt[l]===1)c===-1&&(c=u);else if(l===32||l===9)p===-1&&c!==-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u),me(t,s.slice(c,p),!0),l===44&&(me(e,r,t),t=Object.create(null),r=void 0),c=p=-1}else if(l===61&&c!==-1&&p===-1)o=s.slice(c,u),c=p=-1;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(n){if(Bt[l]!==1)throw new SyntaxError(`Unexpected character at index ${u}`);c===-1?c=u:i||(i=!0),n=!1}else if(a)if(Bt[l]===1)c===-1&&(c=u);else if(l===34&&c!==-1)a=!1,p=u;else if(l===92)n=!0;else throw new SyntaxError(`Unexpected character at index ${u}`);else if(l===34&&s.charCodeAt(u-1)===61)a=!0;else if(p===-1&&Bt[l]===1)c===-1&&(c=u);else if(c!==-1&&(l===32||l===9))p===-1&&(p=u);else if(l===59||l===44){if(c===-1)throw new SyntaxError(`Unexpected character at index ${u}`);p===-1&&(p=u);let h=s.slice(c,p);i&&(h=h.replace(/\\/g,""),i=!1),me(t,o,h),l===44&&(me(e,r,t),t=Object.create(null),r=void 0),o=void 0,c=p=-1}else throw new SyntaxError(`Unexpected character at index ${u}`);if(c===-1||a||l===32||l===9)throw new SyntaxError("Unexpected end of input");p===-1&&(p=u);let d=s.slice(c,p);return r===void 0?me(e,d,t):(o===void 0?me(t,d,!0):i?me(t,o,d.replace(/\\/g,"")):me(t,o,d),me(e,r,t)),e}function xf(s){return Object.keys(s).map(e=>{let t=s[e];return Array.isArray(t)||(t=[t]),t.map(i=>[e].concat(Object.keys(i).map(n=>{let a=i[n];return Array.isArray(a)||(a=[a]),a.map(r=>r===!0?n:`${n}=${r}`).join("; ")})).join("; ")).join(", ")}).join(", ")}uo.exports={format:xf,parse:hf}});var As=x((Cv,Eo)=>{"use strict";var vf=require("events"),gf=require("https"),bf=require("http"),ho=require("net"),yf=require("tls"),{randomBytes:wf,createHash:_f}=require("crypto"),{Duplex:Ev,Readable:kv}=require("stream"),{URL:an}=require("url"),je=jt(),Sf=Qi(),Ef=tn(),{isBlob:kf}=ct(),{BINARY_TYPES:fo,EMPTY_BUFFER:Ts,GUID:Cf,kForOnEventAttribute:rn,kListener:Tf,kStatusCode:Of,kWebSocket:N,NOOP:xo}=be(),{EventTarget:{addEventListener:Rf,removeEventListener:Af}}=po(),{format:Pf,parse:jf}=nn(),{toBuffer:If}=At(),Nf=30*1e3,vo=Symbol("kAborted"),on=[8,13],_e=["CONNECTING","OPEN","CLOSING","CLOSED"],Bf=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/,C=class s extends vf{constructor(e,t,i){super(),this._binaryType=fo[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=Ts,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=s.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,e!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,t===void 0?t=[]:Array.isArray(t)||(typeof t=="object"&&t!==null?(i=t,t=[]):t=[t]),go(this,e,t,i)):(this._autoPong=i.autoPong,this._isServer=!0)}get binaryType(){return this._binaryType}set binaryType(e){fo.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,i){let n=new Sf({allowSynchronousEvents:i.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:i.maxPayload,skipUTF8Validation:i.skipUTF8Validation}),a=new Ef(e,this._extensions,i.generateMask);this._receiver=n,this._sender=a,this._socket=e,n[N]=this,a[N]=this,e[N]=this,n.on("conclude",Df),n.on("drain",qf),n.on("error",Ff),n.on("message",Uf),n.on("ping",Hf),n.on("pong",zf),a.onerror=Wf,e.setTimeout&&e.setTimeout(0),e.setNoDelay&&e.setNoDelay(),t.length>0&&e.unshift(t),e.on("close",wo),e.on("data",Rs),e.on("end",_o),e.on("error",So),this._readyState=s.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[je.extensionName]&&this._extensions[je.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=s.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(e,t){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===s.CLOSING){this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end();return}this._readyState=s.CLOSING,this._sender.close(e,t,!this._isServer,i=>{i||(this._closeFrameSent=!0,(this._closeFrameReceived||this._receiver._writableState.errorEmitted)&&this._socket.end())}),yo(this)}}pause(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!0,this._socket.pause())}ping(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){cn(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.ping(e||Ts,t,i)}pong(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof e=="function"?(i=e,e=t=void 0):typeof t=="function"&&(i=t,t=void 0),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){cn(this,e,i);return}t===void 0&&(t=!this._isServer),this._sender.pong(e||Ts,t,i)}resume(){this.readyState===s.CONNECTING||this.readyState===s.CLOSED||(this._paused=!1,this._receiver._writableState.needDrain||this._socket.resume())}send(e,t,i){if(this.readyState===s.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof t=="function"&&(i=t,t={}),typeof e=="number"&&(e=e.toString()),this.readyState!==s.OPEN){cn(this,e,i);return}let n={binary:typeof e!="string",mask:!this._isServer,compress:!0,fin:!0,...t};this._extensions[je.extensionName]||(n.compress=!1),this._sender.send(e||Ts,n,i)}terminate(){if(this.readyState!==s.CLOSED){if(this.readyState===s.CONNECTING){Q(this,this._req,"WebSocket was closed before the connection was established");return}this._socket&&(this._readyState=s.CLOSING,this._socket.destroy())}}};Object.defineProperty(C,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C.prototype,"CONNECTING",{enumerable:!0,value:_e.indexOf("CONNECTING")});Object.defineProperty(C,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C.prototype,"OPEN",{enumerable:!0,value:_e.indexOf("OPEN")});Object.defineProperty(C,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C.prototype,"CLOSING",{enumerable:!0,value:_e.indexOf("CLOSING")});Object.defineProperty(C,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});Object.defineProperty(C.prototype,"CLOSED",{enumerable:!0,value:_e.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach(s=>{Object.defineProperty(C.prototype,s,{enumerable:!0})});["open","error","close","message"].forEach(s=>{Object.defineProperty(C.prototype,`on${s}`,{enumerable:!0,get(){for(let e of this.listeners(s))if(e[rn])return e[Tf];return null},set(e){for(let t of this.listeners(s))if(t[rn]){this.removeListener(s,t);break}typeof e=="function"&&this.addEventListener(s,e,{[rn]:!0})}})});C.prototype.addEventListener=Rf;C.prototype.removeEventListener=Af;Eo.exports=C;function go(s,e,t,i){let n={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:on[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...i,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(s._autoPong=n.autoPong,!on.includes(n.protocolVersion))throw new RangeError(`Unsupported protocol version: ${n.protocolVersion} (supported versions: ${on.join(", ")})`);let a;if(e instanceof an)a=e;else try{a=new an(e)}catch{throw new SyntaxError(`Invalid URL: ${e}`)}a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),s._url=a.href;let r=a.protocol==="wss:",o=a.protocol==="ws+unix:",c;if(a.protocol!=="ws:"&&!r&&!o?c=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`:o&&!a.pathname?c="The URL's pathname is empty":a.hash&&(c="The URL contains a fragment identifier"),c){let f=new SyntaxError(c);if(s._redirects===0)throw f;Os(s,f);return}let l=r?443:80,p=wf(16).toString("base64"),u=r?gf.request:bf.request,d=new Set,h;if(n.createConnection=n.createConnection||(r?Mf:Lf),n.defaultPort=n.defaultPort||l,n.port=a.port||l,n.host=a.hostname.startsWith("[")?a.hostname.slice(1,-1):a.hostname,n.headers={...n.headers,"Sec-WebSocket-Version":n.protocolVersion,"Sec-WebSocket-Key":p,Connection:"Upgrade",Upgrade:"websocket"},n.path=a.pathname+a.search,n.timeout=n.handshakeTimeout,n.perMessageDeflate&&(h=new je(n.perMessageDeflate!==!0?n.perMessageDeflate:{},!1,n.maxPayload),n.headers["Sec-WebSocket-Extensions"]=Pf({[je.extensionName]:h.offer()})),t.length){for(let f of t){if(typeof f!="string"||!Bf.test(f)||d.has(f))throw new SyntaxError("An invalid or duplicated subprotocol was specified");d.add(f)}n.headers["Sec-WebSocket-Protocol"]=t.join(",")}if(n.origin&&(n.protocolVersion<13?n.headers["Sec-WebSocket-Origin"]=n.origin:n.headers.Origin=n.origin),(a.username||a.password)&&(n.auth=`${a.username}:${a.password}`),o){let f=n.path.split(":");n.socketPath=f[0],n.path=f[1]}let m;if(n.followRedirects){if(s._redirects===0){s._originalIpc=o,s._originalSecure=r,s._originalHostOrSocketPath=o?n.socketPath:a.host;let f=i&&i.headers;if(i={...i,headers:{}},f)for(let[v,y]of Object.entries(f))i.headers[v.toLowerCase()]=y}else if(s.listenerCount("redirect")===0){let f=o?s._originalIpc?n.socketPath===s._originalHostOrSocketPath:!1:s._originalIpc?!1:a.host===s._originalHostOrSocketPath;(!f||s._originalSecure&&!r)&&(delete n.headers.authorization,delete n.headers.cookie,f||delete n.headers.host,n.auth=void 0)}n.auth&&!i.headers.authorization&&(i.headers.authorization="Basic "+Buffer.from(n.auth).toString("base64")),m=s._req=u(n),s._redirects&&s.emit("redirect",s.url,m)}else m=s._req=u(n);n.timeout&&m.on("timeout",()=>{Q(s,m,"Opening handshake has timed out")}),m.on("error",f=>{m===null||m[vo]||(m=s._req=null,Os(s,f))}),m.on("response",f=>{let v=f.headers.location,y=f.statusCode;if(v&&n.followRedirects&&y>=300&&y<400){if(++s._redirects>n.maxRedirects){Q(s,m,"Maximum redirects exceeded");return}m.abort();let g;try{g=new an(v,e)}catch{let A=new SyntaxError(`Invalid URL: ${v}`);Os(s,A);return}go(s,g,t,i)}else s.emit("unexpected-response",m,f)||Q(s,m,`Unexpected server response: ${f.statusCode}`)}),m.on("upgrade",(f,v,y)=>{if(s.emit("upgrade",f),s.readyState!==C.CONNECTING)return;m=s._req=null;let g=f.headers.upgrade;if(g===void 0||g.toLowerCase()!=="websocket"){Q(s,v,"Invalid Upgrade header");return}let L=_f("sha1").update(p+Cf).digest("base64");if(f.headers["sec-websocket-accept"]!==L){Q(s,v,"Invalid Sec-WebSocket-Accept header");return}let A=f.headers["sec-websocket-protocol"],pe;if(A!==void 0?d.size?d.has(A)||(pe="Server sent an invalid subprotocol"):pe="Server sent a subprotocol but none was requested":d.size&&(pe="Server sent no subprotocol"),pe){Q(s,v,pe);return}A&&(s._protocol=A);let W=f.headers["sec-websocket-extensions"];if(W!==void 0){if(!h){Q(s,v,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let ue;try{ue=jf(W)}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}let ve=Object.keys(ue);if(ve.length!==1||ve[0]!==je.extensionName){Q(s,v,"Server indicated an extension that was not requested");return}try{h.accept(ue[je.extensionName])}catch{Q(s,v,"Invalid Sec-WebSocket-Extensions header");return}s._extensions[je.extensionName]=h}s.setSocket(v,y,{allowSynchronousEvents:n.allowSynchronousEvents,generateMask:n.generateMask,maxPayload:n.maxPayload,skipUTF8Validation:n.skipUTF8Validation})}),n.finishRequest?n.finishRequest(m,s):m.end()}function Os(s,e){s._readyState=C.CLOSING,s._errorEmitted=!0,s.emit("error",e),s.emitClose()}function Lf(s){return s.path=s.socketPath,ho.connect(s)}function Mf(s){return s.path=void 0,!s.servername&&s.servername!==""&&(s.servername=ho.isIP(s.host)?"":s.host),yf.connect(s)}function Q(s,e,t){s._readyState=C.CLOSING;let i=new Error(t);Error.captureStackTrace(i,Q),e.setHeader?(e[vo]=!0,e.abort(),e.socket&&!e.socket.destroyed&&e.socket.destroy(),process.nextTick(Os,s,i)):(e.destroy(i),e.once("error",s.emit.bind(s,"error")),e.once("close",s.emitClose.bind(s)))}function cn(s,e,t){if(e){let i=kf(e)?e.size:If(e).length;s._socket?s._sender._bufferedBytes+=i:s._bufferedAmount+=i}if(t){let i=new Error(`WebSocket is not open: readyState ${s.readyState} (${_e[s.readyState]})`);process.nextTick(t,i)}}function Df(s,e){let t=this[N];t._closeFrameReceived=!0,t._closeMessage=e,t._closeCode=s,t._socket[N]!==void 0&&(t._socket.removeListener("data",Rs),process.nextTick(bo,t._socket),s===1005?t.close():t.close(s,e))}function qf(){let s=this[N];s.isPaused||s._socket.resume()}function Ff(s){let e=this[N];e._socket[N]!==void 0&&(e._socket.removeListener("data",Rs),process.nextTick(bo,e._socket),e.close(s[Of])),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s))}function mo(){this[N].emitClose()}function Uf(s,e){this[N].emit("message",s,e)}function Hf(s){let e=this[N];e._autoPong&&e.pong(s,!this._isServer,xo),e.emit("ping",s)}function zf(s){this[N].emit("pong",s)}function bo(s){s.resume()}function Wf(s){let e=this[N];e.readyState!==C.CLOSED&&(e.readyState===C.OPEN&&(e._readyState=C.CLOSING,yo(e)),this._socket.end(),e._errorEmitted||(e._errorEmitted=!0,e.emit("error",s)))}function yo(s){s._closeTimer=setTimeout(s._socket.destroy.bind(s._socket),Nf)}function wo(){let s=this[N];this.removeListener("close",wo),this.removeListener("data",Rs),this.removeListener("end",_o),s._readyState=C.CLOSING;let e;!this._readableState.endEmitted&&!s._closeFrameReceived&&!s._receiver._writableState.errorEmitted&&(e=s._socket.read())!==null&&s._receiver.write(e),s._receiver.end(),this[N]=void 0,clearTimeout(s._closeTimer),s._receiver._writableState.finished||s._receiver._writableState.errorEmitted?s.emitClose():(s._receiver.on("error",mo),s._receiver.on("finish",mo))}function Rs(s){this[N]._receiver.write(s)||this.pause()}function _o(){let s=this[N];s._readyState=C.CLOSING,s._receiver.end(),this.end()}function So(){let s=this[N];this.removeListener("error",So),this.on("error",xo),s&&(s._readyState=C.CLOSING,this.destroy())}});var Oo=x((Ov,To)=>{"use strict";var Tv=As(),{Duplex:$f}=require("stream");function ko(s){s.emit("close")}function Vf(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Co(s){this.removeListener("error",Co),this.destroy(),this.listenerCount("error")===0&&this.emit("error",s)}function Gf(s,e){let t=!0,i=new $f({...e,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return s.on("message",function(a,r){let o=!r&&i._readableState.objectMode?a.toString():a;i.push(o)||s.pause()}),s.once("error",function(a){i.destroyed||(t=!1,i.destroy(a))}),s.once("close",function(){i.destroyed||i.push(null)}),i._destroy=function(n,a){if(s.readyState===s.CLOSED){a(n),process.nextTick(ko,i);return}let r=!1;s.once("error",function(c){r=!0,a(c)}),s.once("close",function(){r||a(n),process.nextTick(ko,i)}),t&&s.terminate()},i._final=function(n){if(s.readyState===s.CONNECTING){s.once("open",function(){i._final(n)});return}s._socket!==null&&(s._socket._writableState.finished?(n(),i._readableState.endEmitted&&i.destroy()):(s._socket.once("finish",function(){n()}),s.close()))},i._read=function(){s.isPaused&&s.resume()},i._write=function(n,a,r){if(s.readyState===s.CONNECTING){s.once("open",function(){i._write(n,a,r)});return}s.send(n,r)},i.on("end",Vf),i.on("error",Co),i}To.exports=Gf});var Ao=x((Rv,Ro)=>{"use strict";var{tokenChars:Kf}=ct();function Yf(s){let e=new Set,t=-1,i=-1,n=0;for(n;n<s.length;n++){let r=s.charCodeAt(n);if(i===-1&&Kf[r]===1)t===-1&&(t=n);else if(n!==0&&(r===32||r===9))i===-1&&t!==-1&&(i=n);else if(r===44){if(t===-1)throw new SyntaxError(`Unexpected character at index ${n}`);i===-1&&(i=n);let o=s.slice(t,i);if(e.has(o))throw new SyntaxError(`The "${o}" subprotocol is duplicated`);e.add(o),t=i=-1}else throw new SyntaxError(`Unexpected character at index ${n}`)}if(t===-1||i!==-1)throw new SyntaxError("Unexpected end of input");let a=s.slice(t,n);if(e.has(a))throw new SyntaxError(`The "${a}" subprotocol is duplicated`);return e.add(a),e}Ro.exports={parse:Yf}});var Mo=x((Pv,Lo)=>{"use strict";var Xf=require("events"),Ps=require("http"),{Duplex:Av}=require("stream"),{createHash:Jf}=require("crypto"),Po=nn(),ze=jt(),Qf=Ao(),Zf=As(),{GUID:em,kWebSocket:tm}=be(),sm=/^[+/0-9A-Za-z]{22}==$/,jo=0,Io=1,Bo=2,ln=class extends Xf{constructor(e,t){if(super(),e={allowSynchronousEvents:!0,autoPong:!0,maxPayload:100*1024*1024,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:Zf,...e},e.port==null&&!e.server&&!e.noServer||e.port!=null&&(e.server||e.noServer)||e.server&&e.noServer)throw new TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(e.port!=null?(this._server=Ps.createServer((i,n)=>{let a=Ps.STATUS_CODES[426];n.writeHead(426,{"Content-Length":a.length,"Content-Type":"text/plain"}),n.end(a)}),this._server.listen(e.port,e.host,e.backlog,t)):e.server&&(this._server=e.server),this._server){let i=this.emit.bind(this,"connection");this._removeListeners=im(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(n,a,r)=>{this.handleUpgrade(n,a,r,i)}})}e.perMessageDeflate===!0&&(e.perMessageDeflate={}),e.clientTracking&&(this.clients=new Set,this._shouldEmitClose=!1),this.options=e,this._state=jo}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(e){if(this._state===Bo){e&&this.once("close",()=>{e(new Error("The server is not running"))}),process.nextTick(Lt,this);return}if(e&&this.once("close",e),this._state!==Io)if(this._state=Io,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(Lt,this):process.nextTick(Lt,this);else{let t=this._server;this._removeListeners(),this._removeListeners=this._server=null,t.close(()=>{Lt(this)})}}shouldHandle(e){if(this.options.path){let t=e.url.indexOf("?");if((t!==-1?e.url.slice(0,t):e.url)!==this.options.path)return!1}return!0}handleUpgrade(e,t,i,n){t.on("error",No);let a=e.headers["sec-websocket-key"],r=e.headers.upgrade,o=+e.headers["sec-websocket-version"];if(e.method!=="GET"){We(this,e,t,405,"Invalid HTTP method");return}if(r===void 0||r.toLowerCase()!=="websocket"){We(this,e,t,400,"Invalid Upgrade header");return}if(a===void 0||!sm.test(a)){We(this,e,t,400,"Missing or invalid Sec-WebSocket-Key header");return}if(o!==13&&o!==8){We(this,e,t,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(e)){Mt(t,400);return}let c=e.headers["sec-websocket-protocol"],l=new Set;if(c!==void 0)try{l=Qf.parse(c)}catch{We(this,e,t,400,"Invalid Sec-WebSocket-Protocol header");return}let p=e.headers["sec-websocket-extensions"],u={};if(this.options.perMessageDeflate&&p!==void 0){let d=new ze(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let h=Po.parse(p);h[ze.extensionName]&&(d.accept(h[ze.extensionName]),u[ze.extensionName]=d)}catch{We(this,e,t,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let d={origin:e.headers[`${o===8?"sec-websocket-origin":"origin"}`],secure:!!(e.socket.authorized||e.socket.encrypted),req:e};if(this.options.verifyClient.length===2){this.options.verifyClient(d,(h,m,f,v)=>{if(!h)return Mt(t,m||401,f,v);this.completeUpgrade(u,a,l,e,t,i,n)});return}if(!this.options.verifyClient(d))return Mt(t,401)}this.completeUpgrade(u,a,l,e,t,i,n)}completeUpgrade(e,t,i,n,a,r,o){if(!a.readable||!a.writable)return a.destroy();if(a[tm])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>jo)return Mt(a,503);let l=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${Jf("sha1").update(t+em).digest("base64")}`],p=new this.options.WebSocket(null,void 0,this.options);if(i.size){let u=this.options.handleProtocols?this.options.handleProtocols(i,n):i.values().next().value;u&&(l.push(`Sec-WebSocket-Protocol: ${u}`),p._protocol=u)}if(e[ze.extensionName]){let u=e[ze.extensionName].params,d=Po.format({[ze.extensionName]:[u]});l.push(`Sec-WebSocket-Extensions: ${d}`),p._extensions=e}this.emit("headers",l,n),a.write(l.concat(`\r
8
8
  `).join(`\r
9
- `)),a.removeListener("error",Go),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Ft,this)})),o(p,n)}};Yo.exports=mn;function Nm(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Ft(s){s._state=Ko,s.emit("close")}function Go(){this.destroy()}function Ut(s,e,t,i){t=t||Ls.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${Ls.STATUS_CODES[e]}\r
9
+ `)),a.removeListener("error",No),p.setSocket(a,r,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients&&(this.clients.add(p),p.on("close",()=>{this.clients.delete(p),this._shouldEmitClose&&!this.clients.size&&process.nextTick(Lt,this)})),o(p,n)}};Lo.exports=ln;function im(s,e){for(let t of Object.keys(e))s.on(t,e[t]);return function(){for(let i of Object.keys(e))s.removeListener(i,e[i])}}function Lt(s){s._state=Bo,s.emit("close")}function No(){this.destroy()}function Mt(s,e,t,i){t=t||Ps.STATUS_CODES[e],i={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(t),...i},s.once("finish",s.destroy),s.end(`HTTP/1.1 ${e} ${Ps.STATUS_CODES[e]}\r
10
10
  `+Object.keys(i).map(n=>`${n}: ${i[n]}`).join(`\r
11
11
  `)+`\r
12
12
  \r
13
- `+t)}function Ge(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,Ge),s.emit("wsClientError",r,t,e)}else Ut(t,i,n,a)}});var hn=v((mg,Jo)=>{"use strict";var ke=Bs();ke.createWebSocketStream=Uo();ke.Server=Xo();ke.Receiver=nn();ke.Sender=on();ke.WebSocket=ke;ke.WebSocketServer=ke.Server;Jo.exports=ke});var ec=v((hg,Zo)=>{"use strict";var Qo=Object.getOwnPropertySymbols,Im=Object.prototype.hasOwnProperty,Bm=Object.prototype.propertyIsEnumerable;function Lm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function Mm(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Zo.exports=Mm()?Object.assign:function(s,e){for(var t,i=Lm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)Im.call(t,r)&&(i[r]=t[r]);if(Qo){n=Qo(t);for(var o=0;o<n.length;o++)Bm.call(t,n[o])&&(i[n[o]]=t[n[o]])}}return i}});var ic=v((vg,vn)=>{"use strict";vn.exports=qm;vn.exports.append=sc;var Dm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function sc(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:tc(String(e)),i=0;i<t.length;i++)if(!Dm.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=tc(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var o=t[r].toLowerCase();a.indexOf(o)===-1&&(a.push(o),n=n?n+", "+t[r]:t[r])}return n}function tc(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function qm(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=sc(i,e))&&s.setHeader("Vary",t)}});var xn=v((xg,nc)=>{(function(){"use strict";var s=ec(),e=ic(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var x=0;x<f.length;++x)if(n(m,f[x]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var x=f.headers.origin,w=[],g;return!m.origin||m.origin==="*"?w.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(w.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),w.push([{key:"Vary",value:"Origin"}])):(g=n(x,m.origin),w.push([{key:"Access-Control-Allow-Origin",value:g?x:!1}]),w.push([{key:"Vary",value:"Origin"}])),w}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function o(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(m,f){var x=m.allowedHeaders||m.headers,w=[];return x?x.join&&(x=x.join(",")):(x=f.headers["access-control-request-headers"],w.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),x&&x.length&&w.push([{key:"Access-Control-Allow-Headers",value:x}]),w}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var x=0,w=m.length;x<w;x++){var g=m[x];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,x,w){var g=[],M=f.method&&f.method.toUpperCase&&f.method.toUpperCase();M==="OPTIONS"?(g.push(a(m,f)),g.push(o(m)),g.push(r(m)),g.push(c(m,f)),g.push(p(m)),g.push(l(m)),u(g,x),m.preflightContinue?w():(x.statusCode=m.optionsSuccessStatus,x.setHeader("Content-Length","0"),x.end())):(g.push(a(m,f)),g.push(o(m)),g.push(l(m)),u(g,x),w())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(x,w){w(null,m)},function(w,g,M){f(w,function(P,ue){if(P)M(P);else{var $=s({},t,ue),de=null;$.origin&&typeof $.origin=="function"?de=$.origin:$.origin&&(de=function(be,fe){fe(null,$.origin)}),de?de(w.headers.origin,function(be,fe){be||!fe?M(be):($.origin=fe,d($,w,g,M))}):M()}})}}nc.exports=h})()});var bn=v(bt=>{"use strict";Object.defineProperty(bt,"__esModule",{value:!0});bt.Server=bt.BaseServer=void 0;var ac=Si(),Ms=zi(),Fm=require("events"),rc=$i(),Um=A(),Hm=$r(),zm=hn(),oc=Ui(),Wm=Nt(),_=(0,Um.default)("engine"),xt=Symbol("responseHeaders");function $m(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var gt=class extends Fm.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:zm.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:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(xn()(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 e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?Ms.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return _('unknown transport "%s"',n),i(C.errors.UNKNOWN_TRANSPORT,{transport:n});if(Vm(e.headers.origin)){let o=e.headers.origin;return e.headers.origin=null,_("origin header invalid"),i(C.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:o})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return _('unknown sid "%s"',r),i(C.errors.UNKNOWN_SID,{sid:r});let o=this.clients[r].transport.name;if(!t&&o!==n)return _("bad request: unexpected transport without upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:o})}else return e.method!=="GET"?i(C.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(_("invalid transport upgrade"),i(C.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(o,c)=>{if(!c)return i(C.errors.FORBIDDEN,{message:o});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return _("no middleware to apply, skipping"),i();let n=a=>{_("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){_("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 ac.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){_("unsupported protocol version"),this.emit("connection_error",{req:t,code:C.errors.UNSUPPORTED_PROTOCOL_VERSION,message:C.errorMessages[C.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(C.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(c){_("error while generating an id"),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:c}}),i(C.errors.BAD_REQUEST);return}_('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(c){_('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:C.errors.BAD_REQUEST,message:C.errorMessages[C.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:c}}),i(C.errors.BAD_REQUEST);return}let o=new rc.Socket(a,this,r,t,n);return r.on("headers",(c,l)=>{!l._query.sid&&(this.opts.cookie&&(c["Set-Cookie"]=[(0,Hm.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",c,l)),this.emit("headers",c,l)}),r.onRequest(t),this.clients[a]=o,this.clientsCount++,o.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",o),r}async onWebTransportSession(e){let t=setTimeout(()=>{_("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){_("session is closed");return}let a=n.value,r=(0,Wm.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),o=a.readable.pipeThrough(r).getReader(),{value:c,done:l}=await o.read();if(l){_("stream is closed");return}if(clearTimeout(t),c.type!=="open")return _("invalid WebTransport handshake"),e.close();if(c.data===void 0){let d=new oc.WebTransport(e,a,o),h=ac.generateId();_('handshaking client "%s" (WebTransport)',h);let m=new rc.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=$m(c.data);if(!p)return _("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)_("upgrade attempt for closed client"),e.close();else if(u.upgrading)_("transport has already been trying to upgrade"),e.close();else if(u.upgraded)_("transport had already been upgraded"),e.close();else{_("upgrading existing transport");let d=new oc.WebTransport(e,a,o);u._maybeUpgrade(d)}}};bt.BaseServer=gt;gt.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};gt.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var gn=class{constructor(e,t){this.req=e,this.socket=t,e[xt]={}}setHeader(e,t){this.req[xt][e]=t}getHeader(e){return this.req[xt][e]}removeHeader(e){delete this.req[xt][e]}write(){}writeHead(){}end(){this.socket.destroy()}},C=class s extends gt{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}),typeof this.ws.on=="function"&&this.ws.on("headers",(e,t)=>{let i=t[xt]||{};delete t[xt],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),_("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(_("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new Ms.default[e](t)}handleRequest(e,t){_('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),cc(t,n,a);return}if(e._query.sid)_("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(o,c)=>cc(t,o,c);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new gn(e,t),a=(r,o)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:o}),lc(t,r,o);return}let c=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,c,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),Ms.default[e._query.transport]!==void 0&&!Ms.default[e._query.transport].prototype.handlesUpgrades){_("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)_("upgrade attempt for closed client"),i.close();else if(r.upgrading)_("transport has already been trying to upgrade"),i.close();else if(r.upgraded)_("transport had already been upgraded"),i.close();else{_("upgrading existing transport"),i.removeListener("error",a);let o=this.createTransport(e._query.transport,e);o.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(o)}}else{let r=(o,c)=>lc(t,o,c);this.handshake(e._query.transport,e,r)}function a(){_("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(o){return i===o.url.slice(0,i.length)}let r=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",(o,c)=>{if(a(o))_('intercepting request for path "%s"',i),this.handleRequest(o,c);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,o,c)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(o,c,l)=>{a(o)?this.handleUpgrade(o,c,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(c.writable&&c.bytesWritten<=0)return c.on("error",p=>{_("error while destroying upgrade: %s",p.message)}),c.end()},n)})}};bt.Server=C;function cc(s,e,t){let i=e===C.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:C.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function lc(s,e,t={}){if(s.on("error",()=>{_("ignoring error from closed connection")}),s.writable){let i=t.message||C.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
13
+ `+t)}function We(s,e,t,i,n,a){if(s.listenerCount("wsClientError")){let r=new Error(n);Error.captureStackTrace(r,We),s.emit("wsClientError",r,t,e)}else Mt(t,i,n,a)}});var pn=x((jv,Do)=>{"use strict";var Se=As();Se.createWebSocketStream=Oo();Se.Server=Mo();Se.Receiver=Qi();Se.Sender=tn();Se.WebSocket=Se;Se.WebSocketServer=Se.Server;Do.exports=Se});var Uo=x((Iv,Fo)=>{"use strict";var qo=Object.getOwnPropertySymbols,nm=Object.prototype.hasOwnProperty,am=Object.prototype.propertyIsEnumerable;function rm(s){if(s==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(s)}function om(){try{if(!Object.assign)return!1;var s=new String("abc");if(s[5]="de",Object.getOwnPropertyNames(s)[0]==="5")return!1;for(var e={},t=0;t<10;t++)e["_"+String.fromCharCode(t)]=t;var i=Object.getOwnPropertyNames(e).map(function(a){return e[a]});if(i.join("")!=="0123456789")return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(a){n[a]=a}),Object.keys(Object.assign({},n)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}Fo.exports=om()?Object.assign:function(s,e){for(var t,i=rm(s),n,a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var r in t)nm.call(t,r)&&(i[r]=t[r]);if(qo){n=qo(t);for(var o=0;o<n.length;o++)am.call(t,n[o])&&(i[n[o]]=t[n[o]])}}return i}});var Wo=x((Nv,un)=>{"use strict";un.exports=lm;un.exports.append=zo;var cm=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/;function zo(s,e){if(typeof s!="string")throw new TypeError("header argument is required");if(!e)throw new TypeError("field argument is required");for(var t=Array.isArray(e)?e:Ho(String(e)),i=0;i<t.length;i++)if(!cm.test(t[i]))throw new TypeError("field argument contains an invalid header name");if(s==="*")return s;var n=s,a=Ho(s.toLowerCase());if(t.indexOf("*")!==-1||a.indexOf("*")!==-1)return"*";for(var r=0;r<t.length;r++){var o=t[r].toLowerCase();a.indexOf(o)===-1&&(a.push(o),n=n?n+", "+t[r]:t[r])}return n}function Ho(s){for(var e=0,t=[],i=0,n=0,a=s.length;n<a;n++)switch(s.charCodeAt(n)){case 32:i===e&&(i=e=n+1);break;case 44:t.push(s.substring(i,e)),i=e=n+1;break;default:e=n+1;break}return t.push(s.substring(i,e)),t}function lm(s,e){if(!s||!s.getHeader||!s.setHeader)throw new TypeError("res argument is required");var t=s.getHeader("Vary")||"",i=Array.isArray(t)?t.join(", "):String(t);(t=zo(i,e))&&s.setHeader("Vary",t)}});var dn=x((Bv,$o)=>{(function(){"use strict";var s=Uo(),e=Wo(),t={origin:"*",methods:"GET,HEAD,PUT,PATCH,POST,DELETE",preflightContinue:!1,optionsSuccessStatus:204};function i(m){return typeof m=="string"||m instanceof String}function n(m,f){if(Array.isArray(f)){for(var v=0;v<f.length;++v)if(n(m,f[v]))return!0;return!1}else return i(f)?m===f:f instanceof RegExp?f.test(m):!!f}function a(m,f){var v=f.headers.origin,y=[],g;return!m.origin||m.origin==="*"?y.push([{key:"Access-Control-Allow-Origin",value:"*"}]):i(m.origin)?(y.push([{key:"Access-Control-Allow-Origin",value:m.origin}]),y.push([{key:"Vary",value:"Origin"}])):(g=n(v,m.origin),y.push([{key:"Access-Control-Allow-Origin",value:g?v:!1}]),y.push([{key:"Vary",value:"Origin"}])),y}function r(m){var f=m.methods;return f.join&&(f=m.methods.join(",")),{key:"Access-Control-Allow-Methods",value:f}}function o(m){return m.credentials===!0?{key:"Access-Control-Allow-Credentials",value:"true"}:null}function c(m,f){var v=m.allowedHeaders||m.headers,y=[];return v?v.join&&(v=v.join(",")):(v=f.headers["access-control-request-headers"],y.push([{key:"Vary",value:"Access-Control-Request-Headers"}])),v&&v.length&&y.push([{key:"Access-Control-Allow-Headers",value:v}]),y}function l(m){var f=m.exposedHeaders;if(f)f.join&&(f=f.join(","));else return null;return f&&f.length?{key:"Access-Control-Expose-Headers",value:f}:null}function p(m){var f=(typeof m.maxAge=="number"||m.maxAge)&&m.maxAge.toString();return f&&f.length?{key:"Access-Control-Max-Age",value:f}:null}function u(m,f){for(var v=0,y=m.length;v<y;v++){var g=m[v];g&&(Array.isArray(g)?u(g,f):g.key==="Vary"&&g.value?e(f,g.value):g.value&&f.setHeader(g.key,g.value))}}function d(m,f,v,y){var g=[],L=f.method&&f.method.toUpperCase&&f.method.toUpperCase();L==="OPTIONS"?(g.push(a(m,f)),g.push(o(m)),g.push(r(m)),g.push(c(m,f)),g.push(p(m)),g.push(l(m)),u(g,v),m.preflightContinue?y():(v.statusCode=m.optionsSuccessStatus,v.setHeader("Content-Length","0"),v.end())):(g.push(a(m,f)),g.push(o(m)),g.push(l(m)),u(g,v),y())}function h(m){var f=null;return typeof m=="function"?f=m:f=function(v,y){y(null,m)},function(y,g,L){f(y,function(A,pe){if(A)L(A);else{var W=s({},t,pe),ue=null;W.origin&&typeof W.origin=="function"?ue=W.origin:W.origin&&(ue=function(ve,de){de(null,W.origin)}),ue?ue(y.headers.origin,function(ve,de){ve||!de?L(ve):(W.origin=de,d(W,y,g,L))}):L()}})}}$o.exports=h})()});var mn=x(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.Server=ht.BaseServer=void 0;var Vo=gi(),js=Di(),pm=require("events"),Go=Fi(),um=R(),dm=jr(),fm=pn(),Ko=Li(),mm=Rt(),w=(0,um.default)("engine"),ft=Symbol("responseHeaders");function hm(s){try{let e=JSON.parse(s);if(typeof e.sid=="string")return e.sid}catch{}}var mt=class extends pm.EventEmitter{constructor(e={}){super(),this.middlewares=[],this.clients={},this.clientsCount=0,this.opts=Object.assign({wsEngine:fm.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:e.cookie.path!==!1,sameSite:"lax"},e.cookie)),this.opts.cors&&this.use(dn()(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 e.addTrailingSlash!==!1&&(t+="/"),t}upgrades(e){return this.opts.allowUpgrades?js.default[e].upgradesTo||[]:[]}verify(e,t,i){let n=e._query.transport;if(!~this.opts.transports.indexOf(n)||n==="webtransport")return w('unknown transport "%s"',n),i(k.errors.UNKNOWN_TRANSPORT,{transport:n});if(xm(e.headers.origin)){let o=e.headers.origin;return e.headers.origin=null,w("origin header invalid"),i(k.errors.BAD_REQUEST,{name:"INVALID_ORIGIN",origin:o})}let r=e._query.sid;if(r){if(!this.clients.hasOwnProperty(r))return w('unknown sid "%s"',r),i(k.errors.UNKNOWN_SID,{sid:r});let o=this.clients[r].transport.name;if(!t&&o!==n)return w("bad request: unexpected transport without upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_MISMATCH",transport:n,previousTransport:o})}else return e.method!=="GET"?i(k.errors.BAD_HANDSHAKE_METHOD,{method:e.method}):n==="websocket"&&!t?(w("invalid transport upgrade"),i(k.errors.BAD_REQUEST,{name:"TRANSPORT_HANDSHAKE_ERROR"})):this.opts.allowRequest?this.opts.allowRequest(e,(o,c)=>{if(!c)return i(k.errors.FORBIDDEN,{message:o});i()}):i();i()}use(e){this.middlewares.push(e)}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return w("no middleware to apply, skipping"),i();let n=a=>{w("applying middleware n\xB0%d",a+1),this.middlewares[a](e,t,r=>{if(r)return i(r);a+1<this.middlewares.length?n(a+1):i()})};n(0)}close(){w("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 Vo.generateId()}async handshake(e,t,i){let n=t._query.EIO==="4"?4:3;if(n===3&&!this.opts.allowEIO3){w("unsupported protocol version"),this.emit("connection_error",{req:t,code:k.errors.UNSUPPORTED_PROTOCOL_VERSION,message:k.errorMessages[k.errors.UNSUPPORTED_PROTOCOL_VERSION],context:{protocol:n}}),i(k.errors.UNSUPPORTED_PROTOCOL_VERSION);return}let a;try{a=await this.generateId(t)}catch(c){w("error while generating an id"),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"ID_GENERATION_ERROR",error:c}}),i(k.errors.BAD_REQUEST);return}w('handshaking client "%s"',a);try{var r=this.createTransport(e,t);e==="polling"?(r.maxHttpBufferSize=this.opts.maxHttpBufferSize,r.httpCompression=this.opts.httpCompression):e==="websocket"&&(r.perMessageDeflate=this.opts.perMessageDeflate)}catch(c){w('error handshaking to transport "%s"',e),this.emit("connection_error",{req:t,code:k.errors.BAD_REQUEST,message:k.errorMessages[k.errors.BAD_REQUEST],context:{name:"TRANSPORT_HANDSHAKE_ERROR",error:c}}),i(k.errors.BAD_REQUEST);return}let o=new Go.Socket(a,this,r,t,n);return r.on("headers",(c,l)=>{!l._query.sid&&(this.opts.cookie&&(c["Set-Cookie"]=[(0,dm.serialize)(this.opts.cookie.name,a,this.opts.cookie)]),this.emit("initial_headers",c,l)),this.emit("headers",c,l)}),r.onRequest(t),this.clients[a]=o,this.clientsCount++,o.once("close",()=>{delete this.clients[a],this.clientsCount--}),this.emit("connection",o),r}async onWebTransportSession(e){let t=setTimeout(()=>{w("the client failed to establish a bidirectional stream in the given period"),e.close()},this.opts.upgradeTimeout),n=await e.incomingBidirectionalStreams.getReader().read();if(n.done){w("session is closed");return}let a=n.value,r=(0,mm.createPacketDecoderStream)(this.opts.maxHttpBufferSize,"nodebuffer"),o=a.readable.pipeThrough(r).getReader(),{value:c,done:l}=await o.read();if(l){w("stream is closed");return}if(clearTimeout(t),c.type!=="open")return w("invalid WebTransport handshake"),e.close();if(c.data===void 0){let d=new Ko.WebTransport(e,a,o),h=Vo.generateId();w('handshaking client "%s" (WebTransport)',h);let m=new Go.Socket(h,this,d,null,4);this.clients[h]=m,this.clientsCount++,m.once("close",()=>{delete this.clients[h],this.clientsCount--}),this.emit("connection",m);return}let p=hm(c.data);if(!p)return w("invalid WebTransport handshake"),e.close();let u=this.clients[p];if(!u)w("upgrade attempt for closed client"),e.close();else if(u.upgrading)w("transport has already been trying to upgrade"),e.close();else if(u.upgraded)w("transport had already been upgraded"),e.close();else{w("upgrading existing transport");let d=new Ko.WebTransport(e,a,o);u._maybeUpgrade(d)}}};ht.BaseServer=mt;mt.errors={UNKNOWN_TRANSPORT:0,UNKNOWN_SID:1,BAD_HANDSHAKE_METHOD:2,BAD_REQUEST:3,FORBIDDEN:4,UNSUPPORTED_PROTOCOL_VERSION:5};mt.errorMessages={0:"Transport unknown",1:"Session ID unknown",2:"Bad handshake method",3:"Bad request",4:"Forbidden",5:"Unsupported protocol version"};var fn=class{constructor(e,t){this.req=e,this.socket=t,e[ft]={}}setHeader(e,t){this.req[ft][e]=t}getHeader(e){return this.req[ft][e]}removeHeader(e){delete this.req[ft][e]}write(){}writeHead(){}end(){this.socket.destroy()}},k=class s extends mt{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}),typeof this.ws.on=="function"&&this.ws.on("headers",(e,t)=>{let i=t[ft]||{};delete t[ft],!t._query.sid&&this.emit("initial_headers",i,t),this.emit("headers",i,t),w("writing headers: %j",i),Object.keys(i).forEach(a=>{e.push(`${a}: ${i[a]}`)})}))}cleanup(){this.ws&&(w("closing webSocketServer"),this.ws.close())}prepare(e){if(!e._query){let t=new URL(e.url,"https://socket.io");e._query=Object.fromEntries(t.searchParams.entries())}}createTransport(e,t){return new js.default[e](t)}handleRequest(e,t){w('handling "%s" http request "%s"',e.method,e.url),this.prepare(e),e.res=t;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:e,code:n,message:s.errorMessages[n],context:a}),Yo(t,n,a);return}if(e._query.sid)w("setting new request for existing client"),this.clients[e._query.sid].transport.onRequest(e);else{let r=(o,c)=>Yo(t,o,c);this.handshake(e._query.transport,e,r)}};this._applyMiddlewares(e,t,n=>{n?i(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!1,i)})}handleUpgrade(e,t,i){this.prepare(e);let n=new fn(e,t),a=(r,o)=>{if(r!==void 0){this.emit("connection_error",{req:e,code:r,message:s.errorMessages[r],context:o}),Xo(t,r,o);return}let c=Buffer.from(i);i=null,n.writeHead(),this.ws.handleUpgrade(e,t,c,l=>{this.onWebSocket(e,t,l)})};this._applyMiddlewares(e,n,r=>{r?a(s.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(e,!0,a)})}onWebSocket(e,t,i){if(i.on("error",a),js.default[e._query.transport]!==void 0&&!js.default[e._query.transport].prototype.handlesUpgrades){w("transport doesnt handle upgraded requests"),i.close();return}let n=e._query.sid;if(e.websocket=i,n){let r=this.clients[n];if(!r)w("upgrade attempt for closed client"),i.close();else if(r.upgrading)w("transport has already been trying to upgrade"),i.close();else if(r.upgraded)w("transport had already been upgraded"),i.close();else{w("upgrading existing transport"),i.removeListener("error",a);let o=this.createTransport(e._query.transport,e);o.perMessageDeflate=this.opts.perMessageDeflate,r._maybeUpgrade(o)}}else{let r=(o,c)=>Xo(t,o,c);this.handshake(e._query.transport,e,r)}function a(){w("websocket error before upgrade")}}attach(e,t={}){let i=this._computePath(t),n=t.destroyUpgradeTimeout||1e3;function a(o){return i===o.url.slice(0,i.length)}let r=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",(o,c)=>{if(a(o))w('intercepting request for path "%s"',i),this.handleRequest(o,c);else{let l=0,p=r.length;for(;l<p;l++)r[l].call(e,o,c)}}),~this.opts.transports.indexOf("websocket")&&e.on("upgrade",(o,c,l)=>{a(o)?this.handleUpgrade(o,c,l):t.destroyUpgrade!==!1&&setTimeout(function(){if(c.writable&&c.bytesWritten<=0)return c.on("error",p=>{w("error while destroying upgrade: %s",p.message)}),c.end()},n)})}};ht.Server=k;function Yo(s,e,t){let i=e===k.errors.FORBIDDEN?403:400,n=t&&t.message?t.message:k.errorMessages[e];s.writeHead(i,{"Content-Type":"application/json"}),s.end(JSON.stringify({code:e,message:n}))}function Xo(s,e,t={}){if(s.on("error",()=>{w("ignoring error from closed connection")}),s.writable){let i=t.message||k.errorMessages[e],n=Buffer.byteLength(i);s.write(`HTTP/1.1 400 Bad Request\r
14
14
  Connection: close\r
15
15
  Content-type: text/html\r
16
16
  Content-Length: `+n+`\r
17
17
  \r
18
- `+i)}s.destroy()}var Ht=[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];function Vm(s){if(s+="",s.length<1)return!1;if(!Ht[s.charCodeAt(0)])return _('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!Ht[s.charCodeAt(1)])return _('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!Ht[s.charCodeAt(2)])return _('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!Ht[s.charCodeAt(3)])return _('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!Ht[s.charCodeAt(e)])return _('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var uc=v(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.Polling=void 0;var Gm=He(),pc=require("zlib"),Km=as(),Ym=A(),ne=(0,Ym.default)("engine:polling"),Xm={gzip:pc.createGzip,deflate:pc.createDeflate},yn=class extends Gm.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){ne("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}ne("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(ne("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,o={"Content-Type":"text/html"};this.headers(e,o);for(let l in o)t.writeHeader(l,String(o[l]));let c=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){c(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}c(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){ne('received "%s"',e);let t=i=>{if(i.type==="close")return ne("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?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&&(ne("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){ne('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},o=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){o(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){o(e);return}let l=Km(this.req).encodings(["gzip","deflate"]);if(!l){o(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,o(u)})}compress(e,t,i){ne("compressing");let n=[],a=0;Xm[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){ne("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(ne("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(ne("transport discarded - closing right away"),i()):(ne("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Ds.Polling=yn});var fc=v(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.WebSocket=void 0;var Jm=He(),Qm=A(),dc=(0,Qm.default)("engine:ws"),wn=class extends Jm.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let o=typeof r!="string",c=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;dc('writing "%s"',r),this.socket.send(r,o,c),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){dc("closing"),e&&e(),this.socket.end()}};qs.WebSocket=wn});var mc=v(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});var Zm=uc(),eh=fc();_n.default={polling:Zm.Polling,websocket:eh.WebSocket}});var hc=v(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.uServer=void 0;var th=A(),Ke=bn(),sh=mc(),Le=(0,th.default)("engine:uws"),Sn=class extends Ke.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Le("response has been aborted")})}createTransport(e,t){return new sh.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new En(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Le('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:Ke.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Le("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(o,c)=>this.abortRequest(e,o,c);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i(Ke.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Le("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:Ke.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let o=t._query.sid,c;if(o){let l=this.clients[o];if(l){if(l.upgrading)return Le("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Le("transport had already been upgraded"),e.close();Le("upgrading existing transport"),c=this.createTransport(t._query.transport,t),l._maybeUpgrade(c)}else return Le("upgrade attempt for closed client"),e.close()}else if(c=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!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"),i)};this._applyMiddlewares(t,e,a=>{a?n(Ke.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===Ke.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:Ke.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Fs.uServer=Sn;var En=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):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||e!=="Content-Length"&&(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)}}});var bc=v(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.protocol=L.Transport=L.Socket=L.uServer=L.parser=L.transports=L.Server=void 0;L.listen=ch;L.attach=gc;var ih=require("http"),vc=bn();Object.defineProperty(L,"Server",{enumerable:!0,get:function(){return vc.Server}});var nh=zi();L.transports=nh.default;var xc=Nt();L.parser=xc;var ah=hc();Object.defineProperty(L,"uServer",{enumerable:!0,get:function(){return ah.uServer}});var rh=$i();Object.defineProperty(L,"Socket",{enumerable:!0,get:function(){return rh.Socket}});var oh=He();Object.defineProperty(L,"Transport",{enumerable:!0,get:function(){return oh.Transport}});L.protocol=xc.protocol;function ch(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,ih.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=gc(i,e);return n.httpServer=i,i.listen(s,t),n}function gc(s,e){let t=new vc.Server(e);return t.attach(s,e),t}});var wc=v(yc=>{yc.Emitter=H;function H(s){if(s)return lh(s)}function lh(s){for(var e in H.prototype)s[e]=H.prototype[e];return s}H.prototype.on=H.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};H.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};H.prototype.off=H.prototype.removeListener=H.prototype.removeAllListeners=H.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};H.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};H.prototype.emitReserved=H.prototype.emit;H.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};H.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var kn=v(Hs=>{"use strict";Object.defineProperty(Hs,"__esModule",{value:!0});Hs.isBinary=Sc;Hs.hasBinary=Us;var ph=typeof ArrayBuffer=="function",uh=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,_c=Object.prototype.toString,dh=typeof Blob=="function"||typeof Blob<"u"&&_c.call(Blob)==="[object BlobConstructor]",fh=typeof File=="function"||typeof File<"u"&&_c.call(File)==="[object FileConstructor]";function Sc(s){return ph&&(s instanceof ArrayBuffer||uh(s))||dh&&s instanceof Blob||fh&&s instanceof File}function Us(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(Us(s[t]))return!0;return!1}if(Sc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return Us(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&Us(s[t]))return!0;return!1}});var Ec=v(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.deconstructPacket=hh;zs.reconstructPacket=vh;var mh=kn();function hh(s){let e=[],t=s.data,i=s;return i.data=Cn(t,e),i.attachments=e.length,{packet:i,buffers:e}}function Cn(s,e){if(!s)return s;if((0,mh.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=Cn(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=Cn(s[i],e));return t}return s}function vh(s,e){return s.data=Tn(s.data,e),delete s.attachments,s}function Tn(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=Tn(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=Tn(s[t],e));return s}});var zt=v(le=>{"use strict";Object.defineProperty(le,"__esModule",{value:!0});le.Decoder=le.Encoder=le.PacketType=le.protocol=void 0;le.isPacketValid=Sh;var xh=wc(),kc=Ec(),Cc=kn(),gh=A(),On=(0,gh.default)("socket.io-parser"),Tc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];le.protocol=5;var k;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(k||(le.PacketType=k={}));var Rn=class{constructor(e){this.replacer=e}encode(e){return On("encoding packet %j",e),(e.type===k.EVENT||e.type===k.ACK)&&(0,Cc.hasBinary)(e)?this.encodeAsBinary({type:e.type===k.EVENT?k.BINARY_EVENT:k.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===k.BINARY_EVENT||e.type===k.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),On("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,kc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};le.Encoder=Rn;var An=class s extends xh.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===k.BINARY_EVENT;i||t.type===k.BINARY_ACK?(t.type=i?k.EVENT:k.ACK,this.reconstructor=new Pn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,Cc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(k[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===k.BINARY_EVENT||i.type===k.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return On("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case k.CONNECT:return Ws(t);case k.DISCONNECT:return t===void 0;case k.CONNECT_ERROR:return typeof t=="string"||Ws(t);case k.EVENT:case k.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&Tc.indexOf(t[0])===-1);case k.ACK:case k.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};le.Decoder=An;var Pn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,kc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function bh(s){return typeof s=="string"}var yh=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function wh(s){return s===void 0||yh(s)}function Ws(s){return Object.prototype.toString.call(s)==="[object Object]"}function _h(s,e){switch(s){case k.CONNECT:return e===void 0||Ws(e);case k.DISCONNECT:return e===void 0;case k.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&Tc.indexOf(e[0])===-1);case k.ACK:return Array.isArray(e);case k.CONNECT_ERROR:return typeof e=="string"||Ws(e);default:return!1}}function Sh(s){return bh(s.nsp)&&wh(s.id)&&_h(s.type,s.data)}});var Oc=v(yt=>{"use strict";var Eh=yt&&yt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(yt,"__esModule",{value:!0});yt.Client=void 0;var $s=zt(),kh=Eh(A()),pe=(0,kh.default)("socket.io:client"),jn=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(()=>{this.nsps.size===0?(pe("no namespace joined yet, close the client"),this.close()):pe("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return pe("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(pe("creation of namespace %s was denied",e),this._packet({type:$s.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else pe("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(pe("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){pe("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){pe("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){pe("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===$s.PacketType.CONNECT?this.connect(t,i):n&&e.type!==$s.PacketType.CONNECT&&e.type!==$s.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(pe("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){pe("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._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)}};yt.Client=jn});var Gs=v(Vs=>{"use strict";Object.defineProperty(Vs,"__esModule",{value:!0});Vs.StrictEventEmitter=void 0;var Ch=require("events"),Nn=class extends Ch.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)}};Vs.StrictEventEmitter=Nn});var In=v(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.RESERVED_EVENTS=void 0;Ks.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var Bn=v(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.RemoteSocket=wt.BroadcastOperator=void 0;var Th=In(),Oh=zt(),Ys=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(Th.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:Oh.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),o=!1,c=[],l=setTimeout(()=>{o=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!o&&p===u&&c.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?c[0]:c]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{c.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),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(t=>t.server?t:new Xs(this.adapter,t)))}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)}};wt.BroadcastOperator=Ys;var Xs=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new Ys(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}};wt.RemoteSocket=Xs});var Mn=v(_t=>{"use strict";var Pc=_t&&_t.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(_t,"__esModule",{value:!0});_t.Socket=void 0;var ae=zt(),Rh=Pc(A()),Ah=Gs(),Rc=Pc(Si()),Ph=Bn(),jh=In(),q=(0,Rh.default)("socket.io:socket"),Nh=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function Ac(){}var Ln=class extends Ah.StrictEventEmitter{constructor(e,t,i,n){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=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:ae.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=Rc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=Rc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",Ac)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(jh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:ae.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;q("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,o)=>i?r?a(r):n(o):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{q("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}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=t.compress!==!1,this.client._packet(e,t)}join(e){return q("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return q("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){q("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:ae.PacketType.CONNECT}):this.packet({type:ae.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(q("got packet %j",e),e.type){case ae.PacketType.EVENT:this.onevent(e);break;case ae.PacketType.BINARY_EVENT:this.onevent(e);break;case ae.PacketType.ACK:this.onack(e);break;case ae.PacketType.BINARY_ACK:this.onack(e);break;case ae.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(q("emitting event %j",t),e.id!=null&&(q("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);q("sending ack %j",n),t.packet({id:e,type:ae.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(q("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):q("bad ack %s",e.id)}ondisconnect(){q("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;q("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&Nh.has(e)&&(q("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=Ac}_error(e){this.packet({type:ae.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:ae.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){q("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):q("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(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){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new Ph.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};_t.Socket=Ln});var qn=v(Ce=>{"use strict";var Ih=Ce&&Ce.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ce,"__esModule",{value:!0});Ce.Namespace=Ce.RESERVED_EVENTS=void 0;var jc=Mn(),Bh=Gs(),Lh=Ih(A()),ee=Bn(),St=(0,Lh.default)("socket.io:namespace");Ce.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var Dn=class extends Bh.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{St("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new ee.BroadcastOperator(this.adapter).to(e)}in(e){return new ee.BroadcastOperator(this.adapter).in(e)}except(e){return new ee.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;St("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){St("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return St("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){St("error while restoring session: %s",r)}if(a)return St("connection state recovered for sid %s",a.sid),new jc.Socket(this,e,t,a)}return new jc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new ee.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Ce.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new ee.BroadcastOperator(this.adapter).allSockets()}compress(e){return new ee.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new ee.BroadcastOperator(this.adapter).volatile}get local(){return new ee.BroadcastOperator(this.adapter).local}timeout(e){return new ee.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new ee.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new ee.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new ee.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new ee.BroadcastOperator(this.adapter).disconnectSockets(e)}};Ce.Namespace=Dn});var Mc=v(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.encode=Fn;Wt.decode=Mh;Wt.yeast=Dh;var Bc="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Js=64,Lc={},Nc=0,Me=0,Ic;function Fn(s){let e="";do e=Bc[s%Js]+e,s=Math.floor(s/Js);while(s>0);return e}function Mh(s){let e=0;for(Me=0;Me<s.length;Me++)e=e*Js+Lc[s.charAt(Me)];return e}function Dh(){let s=Fn(+new Date);return s!==Ic?(Nc=0,Ic=s):s+"."+Fn(Nc++)}for(;Me<Js;Me++)Lc[Bc[Me]]=Me});var zn=v(Et=>{"use strict";var Un;Object.defineProperty(Et,"__esModule",{value:!0});Et.SessionAwareAdapter=Et.Adapter=void 0;var qh=require("events"),Fh=Mc(),Qs=hn(),Uh=typeof((Un=Qs?.Sender)===null||Un===void 0?void 0:Un.frame)=="function",Zs=class extends qh.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(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let o=this._encode(e,r),c=0;this.apply(t,l=>{c++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(o,r)}),i(c)}_encode(e,t){let i=this.encoder.encode(e);if(Uh&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=Qs.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let o of this.rooms.get(r)){if(a.has(o)||n.has(o))continue;let c=this.nsp.sockets.get(o);c&&(t(c),a.add(o))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};Et.Adapter=Zs;var Hn=class extends Zs{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(o=>o.id===t);if(a===-1)return null;let r=[];for(let o=a+1;o<this.packets.length;o++){let c=this.packets[o];Hh(i.rooms,c.opts)&&r.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let o=(0,Fh.yeast)();e.data.push(o),this.packets.push({id:o,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};Et.SessionAwareAdapter=Hn;function Hh(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var Dc=v(ve=>{"use strict";var zh=ve&&ve.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(ve,"__esModule",{value:!0});ve.ClusterAdapterWithHeartbeat=ve.ClusterAdapter=ve.MessageType=void 0;var Wh=zn(),$h=A(),Vh=require("crypto"),O=(0,$h.debug)("socket.io-adapter"),Gh="emitter",ei=5e3;function Ct(){return(0,Vh.randomBytes)(8).toString("hex")}var y;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(y||(ve.MessageType=y={}));function Ye(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function kt(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var ti=class extends Wh.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=Ct()}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return O("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(O("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case y.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,kt(e.data.opts),n=>{O("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:y.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{O("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:y.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=kt(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case y.SOCKETS_JOIN:super.addSockets(kt(e.data.opts),e.data.rooms);break;case y.SOCKETS_LEAVE:super.delSockets(kt(e.data.opts),e.data.rooms);break;case y.DISCONNECT_SOCKETS:super.disconnectSockets(kt(e.data.opts),e.data.close);break;case y.FETCH_SOCKETS:{O("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(kt(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:y.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,o=zh(a,["sessionStore"]);return{id:n.id,handshake:o,rooms:[...n.rooms],data:n.data}})}})});break}case y.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=o=>{a||(a=!0,O("[%s] calling acknowledgement with %j",this.uid,o),this.publishResponse(e.uid,{type:y.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:o}}))};this.nsp._onServerSideEmit([...i,r]);break}case y.BROADCAST_CLIENT_COUNT:case y.BROADCAST_ACK:case y.FETCH_SOCKETS_RESPONSE:case y.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:O("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case y.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case y.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case y.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case y.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:O("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:y.BROADCAST,data:{packet:e,opts:Ye(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return O("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,o=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&o&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let o=Ct();this.ackRequests.set(o,{clientCountCallback:i,ack:n}),this.publish({type:y.BROADCAST,data:{packet:e,requestId:o,opts:Ye(t)}}),setTimeout(()=>{this.ackRequests.delete(o)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:y.SOCKETS_JOIN,data:{opts:Ye(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:y.SOCKETS_LEAVE,data:{opts:Ye(e),rooms:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:y.DISCONNECT_SOCKETS,data:{opts:Ye(e),close:t}})}catch(a){O("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Ct();return new Promise((o,c)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(c(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||ei),p={type:y.FETCH_SOCKETS,resolve:o,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:y.FETCH_SOCKETS,data:{opts:Ye(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:y.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Ct(),r=setTimeout(()=>{let c=this.requests.get(a);c&&(i(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(a))},ei),o={type:y.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,o),this.publish({type:y.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){O("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{O("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,O("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{O("[%s] error while publishing response: %s",this.uid,i)})}};ve.ClusterAdapter=ti;var Wn=class extends ti{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(O("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:y.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:y.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:y.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return O("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==Gh&&this.nodesMap.set(e.uid,Date.now()),e.type){case y.INITIAL_HEARTBEAT:this.publish({type:y.HEARTBEAT});break;case y.HEARTBEAT:break;case y.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:y.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(O('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=Ct(),r=setTimeout(()=>{let c=this.customRequests.get(a);c&&(i(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(a))},ei),o={type:y.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,o),this.publish({type:y.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=Ct();return new Promise((o,c)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(c(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||ei),p={type:y.FETCH_SOCKETS,resolve:o,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:y.FETCH_SOCKETS,data:{opts:Ye(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(O("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case y.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case y.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===y.FETCH_SOCKETS?t.resolve(t.responses):t.type===y.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};ve.ClusterAdapterWithHeartbeat=Wn});var si=v(re=>{"use strict";Object.defineProperty(re,"__esModule",{value:!0});re.MessageType=re.ClusterAdapterWithHeartbeat=re.ClusterAdapter=re.SessionAwareAdapter=re.Adapter=void 0;var qc=zn();Object.defineProperty(re,"Adapter",{enumerable:!0,get:function(){return qc.Adapter}});Object.defineProperty(re,"SessionAwareAdapter",{enumerable:!0,get:function(){return qc.SessionAwareAdapter}});var $n=Dc();Object.defineProperty(re,"ClusterAdapter",{enumerable:!0,get:function(){return $n.ClusterAdapter}});Object.defineProperty(re,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return $n.ClusterAdapterWithHeartbeat}});Object.defineProperty(re,"MessageType",{enumerable:!0,get:function(){return $n.MessageType}})});var Hc=v(Tt=>{"use strict";var Kh=Tt&&Tt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Tt,"__esModule",{value:!0});Tt.ParentNamespace=void 0;var Fc=qn(),Yh=si(),Xh=Kh(A()),Uc=(0,Xh.default)("socket.io:parent-namespace"),ii=class s extends Fc.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new Vn(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){Uc("creating child namespace %s",e);let t=new Fc.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(Uc("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")}};Tt.ParentNamespace=ii;ii.count=0;var Vn=class extends Yh.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var Kc=v(Je=>{"use strict";var Jh=Je&&Je.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Je,"__esModule",{value:!0});Je.patchAdapter=Zh;Je.restoreAdapter=ev;Je.serveFile=sv;var Xe=si(),zc=require("fs"),Qh=Jh(A()),ni=(0,Qh.default)("socket.io:adapter-uws"),Gn="",{addAll:$c,del:Vc,broadcast:Gc}=Xe.Adapter.prototype;function Zh(s){Xe.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);$c.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){Wc(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&Wc(this.nsp.name,n,i,a)})}},Xe.Adapter.prototype.del=function(e,t){Vc.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${Gn}${t}`;ni("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},Xe.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){Gc.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),o=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${Gn}${t.rooms.keys().next().value}`;ni("fast publish to %s",o),r.forEach(c=>{let l=typeof c!="string";s.publish(o,l?c:"4"+c,l)}),this.apply(t,c=>{c.conn.transport.name!=="websocket"&&c.client.writeToEngine(r,a)})}}function Wc(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(ni("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let o=`${s}${Gn}${r}`;ni("subscribe connection %s to topic %s",n,o),a.subscribe(o)})}function ev(){Xe.Adapter.prototype.addAll=$c,Xe.Adapter.prototype.del=Vc,Xe.Adapter.prototype.broadcast=Gc}var tv=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function sv(s,e){let{size:t}=(0,zc.statSync)(e),i=(0,zc.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=o=>{throw n(),o},r=o=>{let c=tv(o);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(c,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(c.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var Yc=v((Fg,iv)=>{iv.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var il=v((F,$t)=>{"use strict";var nv=F&&F.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),av=F&&F.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),rv=F&&F.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&nv(e,s,t);return av(e,s),e},Xn=F&&F.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(F,"__esModule",{value:!0});F.Namespace=F.Socket=F.Server=void 0;var ov=Xn(require("http")),cv=require("fs"),Kn=require("zlib"),lv=as(),ai=require("stream"),Xc=require("path"),Jc=bc(),pv=Oc(),Qc=require("events"),Jn=qn();Object.defineProperty(F,"Namespace",{enumerable:!0,get:function(){return Jn.Namespace}});var uv=Hc(),Zc=si(),dv=rv(zt()),fv=Xn(A()),sl=Mn();Object.defineProperty(F,"Socket",{enumerable:!0,get:function(){return sl.Socket}});var mv=Gs(),Yn=Kc(),hv=Xn(xn()),z=(0,fv.default)("socket.io:server"),el=Yc().version,tl=/\.map/,Ot=class s extends mv.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||dv,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||Zc.SessionAwareAdapter)):this.adapter(t.adapter||Zc.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,hv.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(o,c)=>{if(o||!c)return a();if(this._nsps.has(e))return z("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);z("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){z("creating http server and binding to %d",e);let i=e;e=ov.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}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,z("creating uWebSockets.js-based engine with opts %j",t);let i=new Jc.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),o=tl.test(r),c=o?"map":"source",l='"'+el+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){z("serve client %s 304",c),n.writeStatus("304 Not Modified"),n.end();return}z("serve client %s",c),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(o?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=Xc.join(__dirname,"../client-dist/",r);(0,Yn.serveFile)(n,d)}),(0,Yn.patchAdapter)(e)}initEngine(e,t){z("creating engine.io instance with opts %j",t),this.eio=(0,Jc.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){z("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=tl.test(i),a=n?"map":"source",r='"'+el+'"',o="W/"+r,c=e.headers["if-none-match"];if(c&&(r===c||o===c)){z("serve client %s 304",a),t.writeHead(304),t.end();return}z("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,cv.createReadStream)(Xc.join(__dirname,"../client-dist/",e)),a=lv(t).encodings(["br","gzip","deflate"]),r=o=>{o&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,ai.pipeline)(n,(0,Kn.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,ai.pipeline)(n,(0,Kn.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,ai.pipeline)(n,(0,Kn.createDeflate)(),i,r);break;default:i.writeHead(200),(0,ai.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){z("incoming connection with id %s",e.id);let t=new pv.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new uv.ParentNamespace(this);return z("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,o)=>o(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return z("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);z("initializing namespace %s",e),i=new Jn.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,Yn.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&z("server was not running"),t()})});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)}};F.Server=Ot;var vv=Object.keys(Qc.EventEmitter.prototype).filter(function(s){return typeof Qc.EventEmitter.prototype[s]=="function"});vv.forEach(function(s){Ot.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});$t.exports=(s,e)=>new Ot(s,e);$t.exports.Server=Ot;$t.exports.Namespace=Jn.Namespace;$t.exports.Socket=sl.Socket});var wl=v((Wg,yl)=>{var ll=require("fs"),Te=require("path"),pl=require("os"),ul=typeof __webpack_require__=="function"?__non_webpack_require__:require,xv=process.config&&process.config.variables||{},gv=!!process.env.PREBUILDS_ONLY,rl=process.versions.modules,Qn=wv()?"electron":yv()?"node-webkit":"node",Zn=process.env.npm_config_arch||pl.arch(),ea=process.env.npm_config_platform||pl.platform(),dl=process.env.LIBC||(_v(ea)?"musl":"glibc"),ta=process.env.ARM_VERSION||(Zn==="arm64"?"8":xv.arm_version)||"",fl=(process.versions.uv||"").split(".")[0];yl.exports=xe;function xe(s){return ul(xe.resolve(s))}xe.resolve=xe.path=function(s){s=Te.resolve(s||".");try{var e=ul(Te.join(s,"package.json")).name.toUpperCase().replace(/-/g,"_");process.env[e+"_PREBUILD"]&&(s=process.env[e+"_PREBUILD"])}catch{}if(!gv){var t=ol(Te.join(s,"build/Release"),cl);if(t)return t;var i=ol(Te.join(s,"build/Debug"),cl);if(i)return i}var n=o(s);if(n)return n;var a=o(Te.dirname(process.execPath));if(a)return a;var r=["platform="+ea,"arch="+Zn,"runtime="+Qn,"abi="+rl,"uv="+fl,ta?"armv="+ta:"","libc="+dl,"node="+process.versions.node,process.versions.electron?"electron="+process.versions.electron:"",typeof __webpack_require__=="function"?"webpack=true":""].filter(Boolean).join(" ");throw new Error("No native build was found for "+r+`
19
- loaded from: `+s+`
20
- `);function o(c){var l=sa(Te.join(c,"prebuilds")).map(ml),p=l.filter(hl(ea,Zn)).sort(vl)[0];if(p){var u=Te.join(c,"prebuilds",p.name),d=sa(u).map(xl),h=d.filter(gl(Qn,rl)),m=h.sort(bl(Qn))[0];if(m)return Te.join(u,m.file)}}};function sa(s){try{return ll.readdirSync(s)}catch{return[]}}function ol(s,e){var t=sa(s).filter(e);return t[0]&&Te.join(s,t[0])}function cl(s){return/\.node$/.test(s)}function ml(s){var e=s.split("-");if(e.length===2){var t=e[0],i=e[1].split("+");if(t&&i.length&&i.every(Boolean))return{name:s,platform:t,architectures:i}}}function hl(s,e){return function(t){return t==null||t.platform!==s?!1:t.architectures.includes(e)}}function vl(s,e){return s.architectures.length-e.architectures.length}function xl(s){var e=s.split("."),t=e.pop(),i={file:s,specificity:0};if(t==="node"){for(var n=0;n<e.length;n++){var a=e[n];if(a==="node"||a==="electron"||a==="node-webkit")i.runtime=a;else if(a==="napi")i.napi=!0;else if(a.slice(0,3)==="abi")i.abi=a.slice(3);else if(a.slice(0,2)==="uv")i.uv=a.slice(2);else if(a.slice(0,4)==="armv")i.armv=a.slice(4);else if(a==="glibc"||a==="musl")i.libc=a;else continue;i.specificity++}return i}}function gl(s,e){return function(t){return!(t==null||t.runtime&&t.runtime!==s&&!bv(t)||t.abi&&t.abi!==e&&!t.napi||t.uv&&t.uv!==fl||t.armv&&t.armv!==ta||t.libc&&t.libc!==dl)}}function bv(s){return s.runtime==="node"&&s.napi}function bl(s){return function(e,t){return e.runtime!==t.runtime?e.runtime===s?-1:1:e.abi!==t.abi?e.abi?-1:1:e.specificity!==t.specificity?e.specificity>t.specificity?-1:1:0}}function yv(){return!!(process.versions&&process.versions.nw)}function wv(){return process.versions&&process.versions.electron||process.env.ELECTRON_RUN_AS_NODE?!0:typeof window<"u"&&window.process&&window.process.type==="renderer"}function _v(s){return s==="linux"&&ll.existsSync("/etc/alpine-release")}xe.parseTags=xl;xe.matchTags=gl;xe.compareTags=bl;xe.parseTuple=ml;xe.matchTuple=hl;xe.compareTuples=vl});var _l=v(($g,na)=>{var ia=typeof __webpack_require__=="function"?__non_webpack_require__:require;typeof ia.addon=="function"?na.exports=ia.addon.bind(ia):na.exports=wl()});var aa=v((Vg,Vt)=>{var Qe=_l()(__dirname);Vt.exports=Qe;Vt.exports.screen={get xDisplayName(){return Qe.getXDisplayName()},set xDisplayName(s){Qe.setXDisplayName(s)}};Vt.exports.screen.capture=function(s,e,t,i){typeof s<"u"&&typeof e<"u"&&typeof t<"u"&&typeof i<"u"?b=Qe.captureScreen(s,e,t,i):b=Qe.captureScreen();let n={width:b.width,height:b.height,byteWidth:b.byteWidth,bitsPerPixel:b.bitsPerPixel,bytesPerPixel:b.bytesPerPixel,image:b.image};return n.colorAt=(a,r)=>Qe.getColor(n,a,r),n};Vt.exports.screen.updateMetrics=function(){Qe.updateScreenMetrics()}});var El={};st(El,{TileManager:()=>ra});var ri,Rt,oi,Sl,Sv,Ev,ra,kl=Fe(()=>{ri=D(require("sharp"),1),Rt=D(require("fs"),1),oi=D(require("path"),1),Sl=require("url"),Sv=(0,Sl.fileURLToPath)(__importMetaUrl),Ev=oi.default.dirname(Sv),ra=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.lastTileBuffers=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=oi.default.join(Ev,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,Rt.default.existsSync(this.tempDir)||Rt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}async captureFullScreen(){let e=this.robot.screen.capture(),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let c=t[o],l=t[o+2];t[o]=l,t[o+2]=c}let i=e.byteWidth/e.bytesPerPixel,n=t,a=i,r=e.height;if(this.scaleFactor<1){let o=Math.floor(i*this.scaleFactor),c=Math.floor(e.height*this.scaleFactor);n=await(0,ri.default)(t,{raw:{width:i,height:e.height,channels:e.bytesPerPixel}}).resize(o,c,{kernel:ri.default.kernel.lanczos3,fit:"fill"}).raw().toBuffer(),a=o,r=c,this.scaledWidth=o,this.scaledHeight=c,this.tilesPerRow=Math.ceil(o/this.tileSize),this.tilesPerColumn=Math.ceil(c/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}return{buffer:n,width:a,height:r,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];if(this.frameCount++,this.lastTileChecksums.size===0){let a=[];for(let o=0;o<this.totalTiles;o++)a.push(this.processTileAsync(e,o,!0));let r=await Promise.all(a);return t.push(...r),t}for(let a=0;a<this.totalTiles;a++){let r=await this.extractTile(e,a),o=this.calculateTileChecksum(r.buffer),c=this.lastTileChecksums.get(a);o!==c&&(i.push(a),this.lastTileChecksums.set(a,o))}if(i.length/this.totalTiles>this.changeThreshold){let a=[];for(let o=0;o<this.totalTiles;o++)a.push(this.processTileAsync(e,o,!0));let r=await Promise.all(a);t.push(...r.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let a=i.map(o=>this.processTileAsync(e,o,!1)),r=await Promise.all(a);t.push(...r)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t){let i=await this.extractTile(e,t),n=this.calculateTileChecksum(i.buffer);this.lastTileChecksums.set(t,n),this.lastTileBuffers.set(t,i.buffer);let a=await this.compressTileImage(i.buffer,i.width,i.height),{row:r,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:r*this.tileSize,width:i.width,height:i.height,imageBase64:a,size:Math.round(a.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}async extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,o=Math.min(a+this.tileSize,e.width),c=Math.min(r+this.tileSize,e.height),l=o-a,p=c-r,u=Buffer.alloc(l*p*e.channels);for(let d=0;d<p;d++)for(let h=0;h<l;h++){let m=((r+d)*e.width+(a+h))*e.channels,f=(d*l+h)*e.channels;for(let x=0;x<e.channels;x++)u[f+x]=e.buffer[m+x]}return{buffer:u,width:l,height:p,channels:e.channels,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,ri.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=new Map;for(let o=0;o<this.totalTiles;o++){let c=await this.extractTile(t,o),l=this.calculateTileChecksum(c.buffer);a.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=[];for(let l=0;l<this.totalTiles;l++)o.push(this.processTileAsync(t,l,!0));let c=await Promise.all(o);return i.push(...c),{tiles:i,currentHashes:Array.from(a.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==a.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=[];for(let l=0;l<this.totalTiles;l++)o.push(this.processTileAsync(t,l,!0));let c=await Promise.all(o);i.push(...c.map(l=>({...l,fullRefresh:!0})))}else if(n.length>0){let o=n.map(l=>this.processTileAsync(t,l,!1)),c=await Promise.all(o);i.push(...c)}return{tiles:i,currentHashes:Array.from(a.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.lastTileBuffers.clear(),this.frameCount=0}cleanup(){try{Rt.default.existsSync(this.tempDir)&&Rt.default.readdirSync(this.tempDir).forEach(t=>Rt.default.unlinkSync(oi.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var Y,Gt=Fe(()=>{Y={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var Cl={};st(Cl,{ResourceManager:()=>oa});var oa,Tl=Fe(()=>{Gt();oa=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>Y.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},Y.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=Y.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var Ol={};st(Ol,{ScreenUpdateHelper:()=>ca});var ca,Rl=Fe(()=>{Gt();ca=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=Y.streaming.chunkSize,r=[];for(let c=0;c<t.length;c+=a)r.push(t.slice(c,c+a));let o=this.resourceManager.getChunkTimers(e.id);for(let c=0;c<r.length;c++){let l=r[c],p=c===r.length-1,u=setTimeout(()=>{o.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:c,totalChunks:r.length,isLastChunk:p}})},c*Y.streaming.chunkDelay);o.add(u)}}}});var Al={};st(Al,{MouseHandler:()=>la});var la,Pl=Fe(()=>{Gt();la=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<Y.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:o=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;o||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:o,endY:c}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(o/100*l.width),h=Math.round(c/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),x=Math.max(0,Math.min(l.width-1,d)),w=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(x,w),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var jl={};st(jl,{KeyboardHandler:()=>pa});var pa,Nl=Fe(()=>{Gt();pa=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<Y.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let o of n.modifier||[])i.keyToggle(o,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<Y.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>Y.throttling.maxTextLength&&(r=r.substring(0,Y.throttling.maxTextLength));let o=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(o),this.resourceManager.updateClientActivity(e.id);let c=this.resourceManager.getClient(e.id);c?.tileManager&&c.tileManager.clearScreenCache()}catch(c){console.error("Robot typeString error:",c.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var Il={};st(Il,{ScreenHandler:()=>ua});var ua,Bl=Fe(()=>{ua=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var Kl=v((nb,ma)=>{"use strict";var jv=Object.prototype.hasOwnProperty,W="~";function Jt(){}Object.create&&(Jt.prototype=Object.create(null),new Jt().__proto__||(W=!1));function Nv(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function Gl(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new Nv(t,i||s,n),r=W?W+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function ui(s,e){--s._eventsCount===0?s._events=new Jt:delete s._events[e]}function U(){this._events=new Jt,this._eventsCount=0}U.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)jv.call(t,i)&&e.push(W?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};U.prototype.listeners=function(e){var t=W?W+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};U.prototype.listenerCount=function(e){var t=W?W+e:e,i=this._events[t];return i?i.fn?1:i.length:0};U.prototype.emit=function(e,t,i,n,a,r){var o=W?W+e:e;if(!this._events[o])return!1;var c=this._events[o],l=arguments.length,p,u;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,i),!0;case 4:return c.fn.call(c.context,t,i,n),!0;case 5:return c.fn.call(c.context,t,i,n,a),!0;case 6:return c.fn.call(c.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];c.fn.apply(c.context,p)}else{var d=c.length,h;for(u=0;u<d;u++)switch(c[u].once&&this.removeListener(e,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,t);break;case 3:c[u].fn.call(c[u].context,t,i);break;case 4:c[u].fn.call(c[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];c[u].fn.apply(c[u].context,p)}}return!0};U.prototype.on=function(e,t,i){return Gl(this,e,t,i,!1)};U.prototype.once=function(e,t,i){return Gl(this,e,t,i,!0)};U.prototype.removeListener=function(e,t,i,n){var a=W?W+e:e;if(!this._events[a])return this;if(!t)return ui(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&ui(this,a);else{for(var o=0,c=[],l=r.length;o<l;o++)(r[o].fn!==t||n&&!r[o].once||i&&r[o].context!==i)&&c.push(r[o]);c.length?this._events[a]=c.length===1?c[0]:c:ui(this,a)}return this};U.prototype.removeAllListeners=function(e){var t;return e?(t=W?W+e:e,this._events[t]&&ui(this,t)):(this._events=new Jt,this._eventsCount=0),this};U.prototype.off=U.prototype.removeListener;U.prototype.addListener=U.prototype.on;U.prefixed=W;U.EventEmitter=U;typeof ma<"u"&&(ma.exports=U)});var Xl=v((ab,Yl)=>{"use strict";Yl.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var di=v(Ql=>{var Re=Ql,Iv=require("url"),Jl=require("util")._extend,Bv=Xl(),Lv=/(^|,)\s*upgrade\s*($|,)/i,ha=/^https|wss/;Re.isSSL=ha;Re.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(ha.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(o){s[o]=e[i||"target"][o]}),s.method=e.method||t.method,s.headers=Jl({},t.headers),e.headers&&Jl(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),ha.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!Lv.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:Iv.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=Re.urlJoin(a,r),e.changeOrigin&&(s.headers.host=Bv(s.port,e[i||"target"].protocol)&&!Mv(s.host)?s.host+":"+s.port:s.host),s};Re.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};Re.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:Re.hasEncryptedConnection(s)?"443":"80"};Re.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};Re.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};Re.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var o;if(r in t)o=t[r];else if("*"in t)o=t["*"];else return n;return o?a+o:""})};function Mv(s){return!!~s.indexOf(":")}});var sp=v((ob,tp)=>{var Zl=require("url"),ep=di(),Dv=/^201|30(1|2|7|8)$/;tp.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&Dv.test(i.statusCode)){var a=Zl.parse(n.target),r=Zl.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,o=n.preserveHeaderKeyCase,c,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=ep.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=ep.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),o&&i.rawHeaders!=null){c={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];c[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];o&&c&&(d=c[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var np=v((cb,ip)=>{var Qt;ip.exports=function(){if(!Qt){try{Qt=A()("follow-redirects")}catch{}typeof Qt!="function"&&(Qt=function(){})}Qt.apply(null,arguments)}});var lp=v((lb,Ta)=>{var es=require("url"),Zt=es.URL,qv=require("http"),Fv=require("https"),ya=require("stream").Writable,wa=require("assert"),ap=np();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=et(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var _a=!1;try{wa(new Zt(""))}catch(s){_a=s.code==="ERR_INVALID_URL"}var Uv=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],Sa=["abort","aborted","connect","error","socket","timeout"],Ea=Object.create(null);Sa.forEach(function(s){Ea[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var xa=ts("ERR_INVALID_URL","Invalid URL",TypeError),ga=ts("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),Hv=ts("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",ga),zv=ts("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),Wv=ts("ERR_STREAM_WRITE_AFTER_END","write after end"),$v=ya.prototype.destroy||op;function X(s,e){ya.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof ga?n:new ga({cause:n}))}},this._performRequest()}X.prototype=Object.create(ya.prototype);X.prototype.abort=function(){Ca(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};X.prototype.destroy=function(s){return Ca(this._currentRequest,s),$v.call(this,s),this};X.prototype.write=function(s,e,t){if(this._ending)throw new Wv;if(!Ze(s)&&!Kv(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(et(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new zv),this.abort())};X.prototype.end=function(s,e,t){if(et(s)?(t=s,s=e=null):et(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};X.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};X.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};X.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){X.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(X.prototype,s,{get:function(){return this._currentRequest[s]}})});X.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};X.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of Sa)i.on(n,Ea[n]);if(this._currentUrl=/^\//.test(this._options.path)?es.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,o=this._requestBodyBuffers;(function c(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<o.length){var p=o[a++];i.finished||i.write(p.data,p.encoding,c)}else r._ended&&i.end()})()}};X.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(Ca(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new Hv;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],va(/^content-/i,this._options.headers));var r=va(/^host$/i,this._options.headers),o=ka(this._currentUrl),c=r||o.host,l=/^\w+:/.test(t)?this._currentUrl:es.format(Object.assign(o,{host:c})),p=Vv(t,l);if(ap("redirecting to",p.href),this._isRedirect=!0,ba(p,this._options),(p.protocol!==o.protocol&&p.protocol!=="https:"||p.host!==c&&!Gv(p.host,c))&&va(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),et(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function rp(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function o(l,p,u){return Yv(l)?l=ba(l):Ze(l)?l=ba(ka(l)):(u=p,p=cp(l),l={protocol:n}),et(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!Ze(p.host)&&!Ze(p.hostname)&&(p.hostname="::1"),wa.equal(p.protocol,n,"protocol mismatch"),ap("options",p),new X(p,u)}function c(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),e}function op(){}function ka(s){var e;if(_a)e=new Zt(s);else if(e=cp(es.parse(s)),!Ze(e.protocol))throw new xa({input:s});return e}function Vv(s,e){return _a?new Zt(s,e):ka(es.resolve(e,s))}function cp(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new xa({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new xa({input:s.href||s});return s}function ba(s,e){var t=e||{};for(var i of Uv)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function va(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function ts(s,e,t){function i(n){et(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function Ca(s,e){for(var t of Sa)s.removeListener(t,Ea[t]);s.on("error",op),s.destroy(e)}function Gv(s,e){wa(Ze(s)&&Ze(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function Ze(s){return typeof s=="string"||s instanceof String}function et(s){return typeof s=="function"}function Kv(s){return typeof s=="object"&&"length"in s}function Yv(s){return Zt&&s instanceof Zt}Ta.exports=rp({http:qv,https:Fv});Ta.exports.wrap=rp});var up=v((pb,pp)=>{var Xv=require("http"),Jv=require("https"),ss=sp(),fi=di(),Qv=lp();ss=Object.keys(ss).map(function(s){return ss[s]});var Zv={http:Xv,https:Jv};pp.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||fi.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:fi.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var o=i.followRedirects?Qv:Zv,c=o.http,l=o.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:c).request(fi.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:c).request(fi.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,x){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,x),f.abort();r?r(g,e,t,x):a.emit("error",g,e,t,x)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var x=0;x<ss.length&&!ss[x](e,t,f,i);x++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var fp=v((ub,dp)=>{var ex=require("http"),tx=require("https"),At=di();dp.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:At.getPort(e),proto:At.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var o=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
18
+ `+i)}s.destroy()}var Dt=[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];function xm(s){if(s+="",s.length<1)return!1;if(!Dt[s.charCodeAt(0)])return w('invalid header, index 0, char "%s"',s.charCodeAt(0)),!0;if(s.length<2)return!1;if(!Dt[s.charCodeAt(1)])return w('invalid header, index 1, char "%s"',s.charCodeAt(1)),!0;if(s.length<3)return!1;if(!Dt[s.charCodeAt(2)])return w('invalid header, index 2, char "%s"',s.charCodeAt(2)),!0;if(s.length<4)return!1;if(!Dt[s.charCodeAt(3)])return w('invalid header, index 3, char "%s"',s.charCodeAt(3)),!0;for(let e=4;e<s.length;++e)if(!Dt[s.charCodeAt(e)])return w('invalid header, index "%i", char "%s"',e,s.charCodeAt(e)),!0;return!1}});var Qo=x(Is=>{"use strict";Object.defineProperty(Is,"__esModule",{value:!0});Is.Polling=void 0;var vm=qe(),Jo=require("zlib"),gm=es(),bm=R(),ie=(0,bm.default)("engine:polling"),ym={gzip:Jo.createGzip,deflate:Jo.createDeflate},hn=class extends vm.Transport{constructor(e){super(e),this.closeTimeout=30*1e3}get name(){return"polling"}onRequest(e){let t=e.res;e.res=null,e.getMethod()==="get"?this.onPollRequest(e,t):e.getMethod()==="post"?this.onDataRequest(e,t):(t.writeStatus("500 Internal Server Error"),t.end())}onPollRequest(e,t){if(this.req){ie("request overlap"),this.onError("overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}ie("setting request"),this.req=e,this.res=t;let i=()=>{this.writable=!1,this.onError("poll connection closed prematurely")},n=()=>{this.req=this.res=null};e.cleanup=n,t.onAborted(i),this.writable=!0,this.emit("ready"),this.writable&&this.shouldClose&&(ie("triggering empty send to append close packet"),this.send([{type:"noop"}]))}onDataRequest(e,t){if(this.dataReq){this.onError("data request overlap from client"),t.writeStatus("500 Internal Server Error"),t.end();return}let i=Number(e.headers["content-length"]);if(!i){this.onError("content-length header required"),t.writeStatus("411 Length Required").end();return}if(i>this.maxHttpBufferSize){this.onError("payload too large"),t.writeStatus("413 Payload Too Large").end();return}if(e.headers["content-type"]==="application/octet-stream"&&this.protocol===4)return this.onError("invalid content");this.dataReq=e,this.dataRes=t;let a,r=0,o={"Content-Type":"text/html"};this.headers(e,o);for(let l in o)t.writeHeader(l,String(o[l]));let c=l=>{this.onData(l.toString()),this.onDataRequestCleanup(),t.cork(()=>{t.end("ok")})};t.onAborted(()=>{this.onDataRequestCleanup(),this.onError("data request connection closed prematurely")}),t.onData((l,p)=>{let u=r+l.byteLength;if(u>i){this.onError("content-length mismatch"),t.close();return}if(!a){if(p){c(Buffer.from(l));return}a=Buffer.allocUnsafe(i)}if(Buffer.from(l).copy(a,r),p){if(u!=i){this.onError("content-length mismatch"),t.writeStatus("400 Content-Length Mismatch").end(),this.onDataRequestCleanup();return}c(a);return}r=u})}onDataRequestCleanup(){this.dataReq=this.dataRes=null}onData(e){ie('received "%s"',e);let t=i=>{if(i.type==="close")return ie("got xhr close packet"),this.onClose(),!1;this.onPacket(i)};this.protocol===3?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&&(ie("appending close packet to payload"),e.push({type:"close"}),this.shouldClose(),this.shouldClose=null);let t=i=>{let n=e.some(a=>a.options&&a.options.compress);this.write(i,{compress:n})};this.protocol===3?this.parser.encodePayload(e,this.supportsBinary,t):this.parser.encodePayload(e,t)}write(e,t){ie('writing "%s"',e),this.doWrite(e,t,()=>{this.req.cleanup(),this.emit("drain")})}doWrite(e,t,i){let n=typeof e=="string",r={"Content-Type":n?"text/plain; charset=UTF-8":"application/octet-stream"},o=p=>{this.headers(this.req,r),this.res.cork(()=>{Object.keys(r).forEach(u=>{this.res.writeHeader(u,String(r[u]))}),this.res.end(p)}),i()};if(!this.httpCompression||!t.compress){o(e);return}if((n?Buffer.byteLength(e):e.length)<this.httpCompression.threshold){o(e);return}let l=gm(this.req).encodings(["gzip","deflate"]);if(!l){o(e);return}this.compress(e,l,(p,u)=>{if(p){this.res.writeStatus("500 Internal Server Error"),this.res.end(),i(p);return}r["Content-Encoding"]=l,o(u)})}compress(e,t,i){ie("compressing");let n=[],a=0;ym[t](this.httpCompression).on("error",i).on("data",function(r){n.push(r),a+=r.length}).on("end",function(){i(null,Buffer.concat(n,a))}).end(e)}doClose(e){ie("closing");let t,i=()=>{clearTimeout(t),e(),this.onClose()};this.writable?(ie("transport writable - closing right away"),this.send([{type:"close"}]),i()):this.discarded?(ie("transport discarded - closing right away"),i()):(ie("transport not writable - buffering orderly close"),this.shouldClose=i,t=setTimeout(i,this.closeTimeout))}headers(e,t){t=t||{};let i=e.headers["user-agent"];return i&&(~i.indexOf(";MSIE")||~i.indexOf("Trident/"))&&(t["X-XSS-Protection"]="0"),t["cache-control"]="no-store",this.emit("headers",t,e),t}};Is.Polling=hn});var ec=x(Ns=>{"use strict";Object.defineProperty(Ns,"__esModule",{value:!0});Ns.WebSocket=void 0;var wm=qe(),_m=R(),Zo=(0,_m.default)("engine:ws"),xn=class extends wm.Transport{constructor(e){super(e),this.writable=!1,this.perMessageDeflate=null}get name(){return"websocket"}get handlesUpgrades(){return!0}send(e){this.writable=!1;for(let t=0;t<e.length;t++){let i=e[t],n=t+1===e.length,a=r=>{let o=typeof r!="string",c=this.perMessageDeflate&&Buffer.byteLength(r)>this.perMessageDeflate.threshold;Zo('writing "%s"',r),this.socket.send(r,o,c),n&&(this.emit("drain"),this.writable=!0,this.emit("ready"))};i.options&&typeof i.options.wsPreEncoded=="string"?a(i.options.wsPreEncoded):this.parser.encodePacket(i,this.supportsBinary,a)}}doClose(e){Zo("closing"),e&&e(),this.socket.end()}};Ns.WebSocket=xn});var tc=x(vn=>{"use strict";Object.defineProperty(vn,"__esModule",{value:!0});var Sm=Qo(),Em=ec();vn.default={polling:Sm.Polling,websocket:Em.WebSocket}});var sc=x(Bs=>{"use strict";Object.defineProperty(Bs,"__esModule",{value:!0});Bs.uServer=void 0;var km=R(),$e=mn(),Cm=tc(),Ie=(0,km.default)("engine:uws"),gn=class extends $e.BaseServer{init(){}cleanup(){}prepare(e,t){e.method=e.getMethod().toUpperCase(),e.url=e.getUrl();let i=new URLSearchParams(e.getQuery());e._query=Object.fromEntries(i.entries()),e.headers={},e.forEach((n,a)=>{e.headers[n]=a}),e.connection={remoteAddress:Buffer.from(t.getRemoteAddressAsText()).toString()},t.onAborted(()=>{Ie("response has been aborted")})}createTransport(e,t){return new Cm.default[e](t)}attach(e,t={}){let i=this._computePath(t);e.any(i,this.handleRequest.bind(this)).ws(i,{compression:t.compression,idleTimeout:t.idleTimeout,maxBackpressure:t.maxBackpressure,maxPayloadLength:this.opts.maxHttpBufferSize,upgrade:this.handleUpgrade.bind(this),open:n=>{let a=n.getUserData().transport;a.socket=n,a.writable=!0,a.emit("ready")},message:(n,a,r)=>{n.getUserData().transport.onData(r?a:Buffer.from(a).toString())},close:(n,a,r)=>{n.getUserData().transport.onClose(a,r)}})}_applyMiddlewares(e,t,i){if(this.middlewares.length===0)return i();e.res=new bn(t),super._applyMiddlewares(e,e.res,n=>{e.res.writeHead(),i(n)})}handleRequest(e,t){Ie('handling "%s" http request "%s"',t.getMethod(),t.getUrl()),this.prepare(t,e),t.res=e;let i=(n,a)=>{if(n!==void 0){this.emit("connection_error",{req:t,code:n,message:$e.Server.errorMessages[n],context:a}),this.abortRequest(t.res,n,a);return}if(t._query.sid)Ie("setting new request for existing client"),this.clients[t._query.sid].transport.onRequest(t);else{let r=(o,c)=>this.abortRequest(e,o,c);this.handshake(t._query.transport,t,r)}};this._applyMiddlewares(t,e,n=>{n?i($e.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!1,i)})}handleUpgrade(e,t,i){Ie("on upgrade"),this.prepare(t,e),t.res=e;let n=async(a,r)=>{if(a!==void 0){this.emit("connection_error",{req:t,code:a,message:$e.Server.errorMessages[a],context:r}),this.abortRequest(e,a,r);return}let o=t._query.sid,c;if(o){let l=this.clients[o];if(l){if(l.upgrading)return Ie("transport has already been trying to upgrade"),e.close();if(l.upgraded)return Ie("transport had already been upgraded"),e.close();Ie("upgrading existing transport"),c=this.createTransport(t._query.transport,t),l._maybeUpgrade(c)}else return Ie("upgrade attempt for closed client"),e.close()}else if(c=await this.handshake(t._query.transport,t,(l,p)=>this.abortRequest(e,l,p)),!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"),i)};this._applyMiddlewares(t,e,a=>{a?n($e.Server.errors.BAD_REQUEST,{name:"MIDDLEWARE_FAILURE"}):this.verify(t,!0,n)})}abortRequest(e,t,i){let n=t===$e.Server.errors.FORBIDDEN?"403 Forbidden":"400 Bad Request",a=i&&i.message?i.message:$e.Server.errorMessages[t];e.writeStatus(n),e.writeHeader("Content-Type","application/json"),e.end(JSON.stringify({code:t,message:a}))}};Bs.uServer=gn;var bn=class{constructor(e){this.res=e,this.statusWritten=!1,this.headers=[],this.isAborted=!1}set statusCode(e){e&&this.writeStatus(e===200?"200 OK":"204 No Content")}writeHead(e){this.statusCode=e}setHeader(e,t){Array.isArray(t)?t.forEach(i=>{this.writeHeader(e,i)}):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||e!=="Content-Length"&&(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)}}});var rc=x(B=>{"use strict";Object.defineProperty(B,"__esModule",{value:!0});B.protocol=B.Transport=B.Socket=B.uServer=B.parser=B.transports=B.Server=void 0;B.listen=jm;B.attach=ac;var Tm=require("http"),ic=mn();Object.defineProperty(B,"Server",{enumerable:!0,get:function(){return ic.Server}});var Om=Di();B.transports=Om.default;var nc=Rt();B.parser=nc;var Rm=sc();Object.defineProperty(B,"uServer",{enumerable:!0,get:function(){return Rm.uServer}});var Am=Fi();Object.defineProperty(B,"Socket",{enumerable:!0,get:function(){return Am.Socket}});var Pm=qe();Object.defineProperty(B,"Transport",{enumerable:!0,get:function(){return Pm.Transport}});B.protocol=nc.protocol;function jm(s,e,t){typeof e=="function"&&(t=e,e={});let i=(0,Tm.createServer)(function(a,r){r.writeHead(501),r.end("Not Implemented")}),n=ac(i,e);return n.httpServer=i,i.listen(s,t),n}function ac(s,e){let t=new ic.Server(e);return t.attach(s,e),t}});var cc=x(oc=>{oc.Emitter=U;function U(s){if(s)return Im(s)}function Im(s){for(var e in U.prototype)s[e]=U.prototype[e];return s}U.prototype.on=U.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};U.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};U.prototype.off=U.prototype.removeListener=U.prototype.removeAllListeners=U.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var i,n=0;n<t.length;n++)if(i=t[n],i===e||i.fn===e){t.splice(n,1);break}return t.length===0&&delete this._callbacks["$"+s],this};U.prototype.emit=function(s){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),t=this._callbacks["$"+s],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(t){t=t.slice(0);for(var i=0,n=t.length;i<n;++i)t[i].apply(this,e)}return this};U.prototype.emitReserved=U.prototype.emit;U.prototype.listeners=function(s){return this._callbacks=this._callbacks||{},this._callbacks["$"+s]||[]};U.prototype.hasListeners=function(s){return!!this.listeners(s).length}});var yn=x(Ms=>{"use strict";Object.defineProperty(Ms,"__esModule",{value:!0});Ms.isBinary=pc;Ms.hasBinary=Ls;var Nm=typeof ArrayBuffer=="function",Bm=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,lc=Object.prototype.toString,Lm=typeof Blob=="function"||typeof Blob<"u"&&lc.call(Blob)==="[object BlobConstructor]",Mm=typeof File=="function"||typeof File<"u"&&lc.call(File)==="[object FileConstructor]";function pc(s){return Nm&&(s instanceof ArrayBuffer||Bm(s))||Lm&&s instanceof Blob||Mm&&s instanceof File}function Ls(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,i=s.length;t<i;t++)if(Ls(s[t]))return!0;return!1}if(pc(s))return!0;if(s.toJSON&&typeof s.toJSON=="function"&&arguments.length===1)return Ls(s.toJSON(),!0);for(let t in s)if(Object.prototype.hasOwnProperty.call(s,t)&&Ls(s[t]))return!0;return!1}});var uc=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.deconstructPacket=qm;Ds.reconstructPacket=Fm;var Dm=yn();function qm(s){let e=[],t=s.data,i=s;return i.data=wn(t,e),i.attachments=e.length,{packet:i,buffers:e}}function wn(s,e){if(!s)return s;if((0,Dm.isBinary)(s)){let t={_placeholder:!0,num:e.length};return e.push(s),t}else if(Array.isArray(s)){let t=new Array(s.length);for(let i=0;i<s.length;i++)t[i]=wn(s[i],e);return t}else if(typeof s=="object"&&!(s instanceof Date)){let t={};for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&(t[i]=wn(s[i],e));return t}return s}function Fm(s,e){return s.data=_n(s.data,e),delete s.attachments,s}function _n(s,e){if(!s)return s;if(s&&s._placeholder===!0){if(typeof s.num=="number"&&s.num>=0&&s.num<e.length)return e[s.num];throw new Error("illegal attachments")}else if(Array.isArray(s))for(let t=0;t<s.length;t++)s[t]=_n(s[t],e);else if(typeof s=="object")for(let t in s)Object.prototype.hasOwnProperty.call(s,t)&&(s[t]=_n(s[t],e));return s}});var qt=x(ce=>{"use strict";Object.defineProperty(ce,"__esModule",{value:!0});ce.Decoder=ce.Encoder=ce.PacketType=ce.protocol=void 0;ce.isPacketValid=Gm;var Um=cc(),dc=uc(),fc=yn(),Hm=R(),Sn=(0,Hm.default)("socket.io-parser"),mc=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"];ce.protocol=5;var E;(function(s){s[s.CONNECT=0]="CONNECT",s[s.DISCONNECT=1]="DISCONNECT",s[s.EVENT=2]="EVENT",s[s.ACK=3]="ACK",s[s.CONNECT_ERROR=4]="CONNECT_ERROR",s[s.BINARY_EVENT=5]="BINARY_EVENT",s[s.BINARY_ACK=6]="BINARY_ACK"})(E||(ce.PacketType=E={}));var En=class{constructor(e){this.replacer=e}encode(e){return Sn("encoding packet %j",e),(e.type===E.EVENT||e.type===E.ACK)&&(0,fc.hasBinary)(e)?this.encodeAsBinary({type:e.type===E.EVENT?E.BINARY_EVENT:E.BINARY_ACK,nsp:e.nsp,data:e.data,id:e.id}):[this.encodeAsString(e)]}encodeAsString(e){let t=""+e.type;return(e.type===E.BINARY_EVENT||e.type===E.BINARY_ACK)&&(t+=e.attachments+"-"),e.nsp&&e.nsp!=="/"&&(t+=e.nsp+","),e.id!=null&&(t+=e.id),e.data!=null&&(t+=JSON.stringify(e.data,this.replacer)),Sn("encoded %j as %s",e,t),t}encodeAsBinary(e){let t=(0,dc.deconstructPacket)(e),i=this.encodeAsString(t.packet),n=t.buffers;return n.unshift(i),n}};ce.Encoder=En;var kn=class s extends Um.Emitter{constructor(e){super(),this.reviver=e}add(e){let t;if(typeof e=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");t=this.decodeString(e);let i=t.type===E.BINARY_EVENT;i||t.type===E.BINARY_ACK?(t.type=i?E.EVENT:E.ACK,this.reconstructor=new Cn(t),t.attachments===0&&super.emitReserved("decoded",t)):super.emitReserved("decoded",t)}else if((0,fc.isBinary)(e)||e.base64)if(this.reconstructor)t=this.reconstructor.takeBinaryData(e),t&&(this.reconstructor=null,super.emitReserved("decoded",t));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+e)}decodeString(e){let t=0,i={type:Number(e.charAt(0))};if(E[i.type]===void 0)throw new Error("unknown packet type "+i.type);if(i.type===E.BINARY_EVENT||i.type===E.BINARY_ACK){let a=t+1;for(;e.charAt(++t)!=="-"&&t!=e.length;);let r=e.substring(a,t);if(r!=Number(r)||e.charAt(t)!=="-")throw new Error("Illegal attachments");i.attachments=Number(r)}if(e.charAt(t+1)==="/"){let a=t+1;for(;++t&&!(e.charAt(t)===","||t===e.length););i.nsp=e.substring(a,t)}else i.nsp="/";let n=e.charAt(t+1);if(n!==""&&Number(n)==n){let a=t+1;for(;++t;){let r=e.charAt(t);if(r==null||Number(r)!=r){--t;break}if(t===e.length)break}i.id=Number(e.substring(a,t+1))}if(e.charAt(++t)){let a=this.tryParse(e.substr(t));if(s.isPayloadValid(i.type,a))i.data=a;else throw new Error("invalid payload")}return Sn("decoded %s as %j",e,i),i}tryParse(e){try{return JSON.parse(e,this.reviver)}catch{return!1}}static isPayloadValid(e,t){switch(e){case E.CONNECT:return qs(t);case E.DISCONNECT:return t===void 0;case E.CONNECT_ERROR:return typeof t=="string"||qs(t);case E.EVENT:case E.BINARY_EVENT:return Array.isArray(t)&&(typeof t[0]=="number"||typeof t[0]=="string"&&mc.indexOf(t[0])===-1);case E.ACK:case E.BINARY_ACK:return Array.isArray(t)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}};ce.Decoder=kn;var Cn=class{constructor(e){this.packet=e,this.buffers=[],this.reconPack=e}takeBinaryData(e){if(this.buffers.push(e),this.buffers.length===this.reconPack.attachments){let t=(0,dc.reconstructPacket)(this.reconPack,this.buffers);return this.finishedReconstruction(),t}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}};function zm(s){return typeof s=="string"}var Wm=Number.isInteger||function(s){return typeof s=="number"&&isFinite(s)&&Math.floor(s)===s};function $m(s){return s===void 0||Wm(s)}function qs(s){return Object.prototype.toString.call(s)==="[object Object]"}function Vm(s,e){switch(s){case E.CONNECT:return e===void 0||qs(e);case E.DISCONNECT:return e===void 0;case E.EVENT:return Array.isArray(e)&&(typeof e[0]=="number"||typeof e[0]=="string"&&mc.indexOf(e[0])===-1);case E.ACK:return Array.isArray(e);case E.CONNECT_ERROR:return typeof e=="string"||qs(e);default:return!1}}function Gm(s){return zm(s.nsp)&&$m(s.id)&&Vm(s.type,s.data)}});var hc=x(xt=>{"use strict";var Km=xt&&xt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(xt,"__esModule",{value:!0});xt.Client=void 0;var Fs=qt(),Ym=Km(R()),le=(0,Ym.default)("socket.io:client"),Tn=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(()=>{this.nsps.size===0?(le("no namespace joined yet, close the client"),this.close()):le("the client has already joined a namespace, nothing to do")},this.server._connectTimeout)}connect(e,t={}){if(this.server._nsps.has(e))return le("connecting to namespace %s",e),this.doConnect(e,t);this.server._checkNamespace(e,t,i=>{i?this.doConnect(e,t):(le("creation of namespace %s was denied",e),this._packet({type:Fs.PacketType.CONNECT_ERROR,nsp:e,data:{message:"Invalid namespace"}}))})}doConnect(e,t){let i=this.server.of(e);i._add(this,t,n=>{this.sockets.set(n.id,n),this.nsps.set(i.name,n),this.connectTimeout&&(clearTimeout(this.connectTimeout),this.connectTimeout=void 0)})}_disconnect(){for(let e of this.sockets.values())e.disconnect();this.sockets.clear(),this.close()}_remove(e){if(this.sockets.has(e.id)){let t=this.sockets.get(e.id).nsp.name;this.sockets.delete(e.id),this.nsps.delete(t)}else le("ignoring remove for %s",e.id)}close(){this.conn.readyState==="open"&&(le("forcing transport close"),this.conn.close(),this.onclose("forced server close"))}_packet(e,t={}){if(this.conn.readyState!=="open"){le("ignoring packet write %j",e);return}let i=t.preEncoded?e:this.encoder.encode(e);this.writeToEngine(i,t)}writeToEngine(e,t){if(t.volatile&&!this.conn.transport.writable){le("volatile packet is discarded since the transport is not currently writable");return}let i=Array.isArray(e)?e:[e];for(let n of i)this.conn.write(n,t)}ondata(e){try{this.decoder.add(e)}catch(t){le("invalid packet format"),this.onerror(t)}}ondecoded(e){let{namespace:t,authPayload:i}=this._parseNamespace(e),n=this.nsps.get(t);!n&&e.type===Fs.PacketType.CONNECT?this.connect(t,i):n&&e.type!==Fs.PacketType.CONNECT&&e.type!==Fs.PacketType.CONNECT_ERROR?process.nextTick(function(){n._onpacket(e)}):(le("invalid state (packet type: %s)",e.type),this.close())}_parseNamespace(e){if(this.conn.protocol!==3)return{namespace:e.nsp,authPayload:e.data};let t=new URL(e.nsp,"https://socket.io");return{namespace:t.pathname,authPayload:Object.fromEntries(t.searchParams.entries())}}onerror(e){for(let t of this.sockets.values())t._onerror(e);this.conn.close()}onclose(e,t){le("client close with reason %s",e),this.destroy();for(let i of this.sockets.values())i._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)}};xt.Client=Tn});var Hs=x(Us=>{"use strict";Object.defineProperty(Us,"__esModule",{value:!0});Us.StrictEventEmitter=void 0;var Xm=require("events"),On=class extends Xm.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)}};Us.StrictEventEmitter=On});var Rn=x(zs=>{"use strict";Object.defineProperty(zs,"__esModule",{value:!0});zs.RESERVED_EVENTS=void 0;zs.RESERVED_EVENTS=new Set(["connect","connect_error","disconnect","disconnecting","newListener","removeListener"])});var An=x(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.RemoteSocket=vt.BroadcastOperator=void 0;var Jm=Rn(),Qm=qt(),Ws=class s{constructor(e,t=new Set,i=new Set,n={}){this.adapter=e,this.rooms=t,this.exceptRooms=i,this.flags=n}to(e){let t=new Set(this.rooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,t,this.exceptRooms,this.flags)}in(e){return this.to(e)}except(e){let t=new Set(this.exceptRooms);return Array.isArray(e)?e.forEach(i=>t.add(i)):t.add(e),new s(this.adapter,this.rooms,t,this.flags)}compress(e){let t=Object.assign({},this.flags,{compress:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}get volatile(){let e=Object.assign({},this.flags,{volatile:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}get local(){let e=Object.assign({},this.flags,{local:!0});return new s(this.adapter,this.rooms,this.exceptRooms,e)}timeout(e){let t=Object.assign({},this.flags,{timeout:e});return new s(this.adapter,this.rooms,this.exceptRooms,t)}emit(e,...t){if(Jm.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:Qm.PacketType.EVENT,data:i};if(!(typeof i[i.length-1]=="function"))return this.adapter.broadcast(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags}),!0;let r=i.pop(),o=!1,c=[],l=setTimeout(()=>{o=!0,r.apply(this,[new Error("operation has timed out"),this.flags.expectSingleResponse?null:c])},this.flags.timeout),p=-1,u=0,d=0,h=()=>{!o&&p===u&&c.length===d&&(clearTimeout(l),r.apply(this,[null,this.flags.expectSingleResponse?c[0]:c]))};return this.adapter.broadcastWithAck(n,{rooms:this.rooms,except:this.exceptRooms,flags:this.flags},m=>{d+=m,u++,h()},m=>{c.push(m),h()}),this.adapter.serverCount().then(m=>{p=m,h()}),!0}emitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),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(t=>t.server?t:new $s(this.adapter,t)))}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)}};vt.BroadcastOperator=Ws;var $s=class{constructor(e,t){this.id=t.id,this.handshake=t.handshake,this.rooms=new Set(t.rooms),this.data=t.data,this.operator=new Ws(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}};vt.RemoteSocket=$s});var jn=x(gt=>{"use strict";var gc=gt&&gt.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(gt,"__esModule",{value:!0});gt.Socket=void 0;var ne=qt(),Zm=gc(R()),eh=Hs(),xc=gc(gi()),th=An(),sh=Rn(),D=(0,Zm.default)("socket.io:socket"),ih=new Set(["transport error","transport close","forced close","ping timeout","server shutting down","forced server close"]);function vc(){}var Pn=class extends eh.StrictEventEmitter{constructor(e,t,i,n){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=e.adapter,n?(this.id=n.sid,this.pid=n.pid,n.rooms.forEach(a=>this.join(a)),this.data=n.data,n.missedPackets.forEach(a=>{this.packet({type:ne.PacketType.EVENT,data:a})}),this.recovered=!0):(t.conn.protocol===3?this.id=e.name!=="/"?e.name+"#"+t.id:t.id:this.id=xc.default.generateId(),this.server._opts.connectionStateRecovery&&(this.pid=xc.default.generateId())),this.handshake=this.buildHandshake(i),this.on("error",vc)}buildHandshake(e){var t,i,n,a;return{headers:((t=this.request)===null||t===void 0?void 0:t.headers)||{},time:new Date+"",address:this.conn.remoteAddress,xdomain:!!(!((i=this.request)===null||i===void 0)&&i.headers.origin),secure:!this.request||!!this.request.connection.encrypted,issued:+new Date,url:(n=this.request)===null||n===void 0?void 0:n.url,query:((a=this.request)===null||a===void 0?void 0:a._query)||{},auth:e}}emit(e,...t){if(sh.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);let i=[e,...t],n={type:ne.PacketType.EVENT,data:i};if(typeof i[i.length-1]=="function"){let r=this.nsp._ids++;D("emitting packet with ack id %d",r),this.registerAckCallback(r,i.pop()),n.id=r}let a=Object.assign({},this.flags);return this.flags={},this.nsp.server.opts.connectionStateRecovery?this.adapter.broadcast(n,{rooms:new Set([this.id]),except:new Set,flags:a}):(this.notifyOutgoingListeners(n),this.packet(n,a)),!0}emitWithAck(e,...t){let i=this.flags.timeout!==void 0;return new Promise((n,a)=>{t.push((r,o)=>i?r?a(r):n(o):n(r)),this.emit(e,...t)})}registerAckCallback(e,t){let i=this.flags.timeout;if(i===void 0){this.acks.set(e,t);return}let n=setTimeout(()=>{D("event with ack id %d has timed out after %d ms",e,i),this.acks.delete(e),t.call(this,new Error("operation has timed out"))},i);this.acks.set(e,(...a)=>{clearTimeout(n),t.apply(this,[null,...a])})}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=t.compress!==!1,this.client._packet(e,t)}join(e){return D("join room %s",e),this.adapter.addAll(this.id,new Set(Array.isArray(e)?e:[e]))}leave(e){return D("leave room %s",e),this.adapter.del(this.id,e)}leaveAll(){this.adapter.delAll(this.id)}_onconnect(){D("socket connected - writing packet"),this.connected=!0,this.join(this.id),this.conn.protocol===3?this.packet({type:ne.PacketType.CONNECT}):this.packet({type:ne.PacketType.CONNECT,data:{sid:this.id,pid:this.pid}})}_onpacket(e){switch(D("got packet %j",e),e.type){case ne.PacketType.EVENT:this.onevent(e);break;case ne.PacketType.BINARY_EVENT:this.onevent(e);break;case ne.PacketType.ACK:this.onack(e);break;case ne.PacketType.BINARY_ACK:this.onack(e);break;case ne.PacketType.DISCONNECT:this.ondisconnect();break}}onevent(e){let t=e.data||[];if(D("emitting event %j",t),e.id!=null&&(D("attaching ack callback to event"),t.push(this.ack(e.id))),this._anyListeners&&this._anyListeners.length){let i=this._anyListeners.slice();for(let n of i)n.apply(this,t)}this.dispatch(t)}ack(e){let t=this,i=!1;return function(){if(i)return;let n=Array.prototype.slice.call(arguments);D("sending ack %j",n),t.packet({id:e,type:ne.PacketType.ACK,data:n}),i=!0}}onack(e){let t=this.acks.get(e.id);typeof t=="function"?(D("calling ack %s with %j",e.id,e.data),t.apply(this,e.data),this.acks.delete(e.id)):D("bad ack %s",e.id)}ondisconnect(){D("got disconnect packet"),this._onclose("client namespace disconnect")}_onerror(e){this.emitReserved("error",e)}_onclose(e,t){if(!this.connected)return this;D("closing socket - reason %s",e),this.emitReserved("disconnecting",e,t),this.server._opts.connectionStateRecovery&&ih.has(e)&&(D("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=vc}_error(e){this.packet({type:ne.PacketType.CONNECT_ERROR,data:e})}disconnect(e=!1){return this.connected?(e?this.client._disconnect():(this.packet({type:ne.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){D("dispatching an event %j",e),this.run(e,t=>{process.nextTick(()=>{if(t)return this._onerror(t);this.connected?super.emitUntyped.apply(this,e):D("ignore packet received after disconnection")})})}use(e){return this.fns.push(e),this}run(e,t){if(!this.fns.length)return t();let i=this.fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(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){let t=this._anyListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(e),this}prependAnyOutgoing(e){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(e),this}offAnyOutgoing(e){if(!this._anyOutgoingListeners)return this;if(e){let t=this._anyOutgoingListeners;for(let i=0;i<t.length;i++)if(e===t[i])return t.splice(i,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(e){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){let t=this._anyOutgoingListeners.slice();for(let i of t)i.apply(this,e.data)}}newBroadcastOperator(){let e=Object.assign({},this.flags);return this.flags={},new th.BroadcastOperator(this.adapter,new Set,new Set([this.id]),e)}};gt.Socket=Pn});var Nn=x(Ee=>{"use strict";var nh=Ee&&Ee.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ee,"__esModule",{value:!0});Ee.Namespace=Ee.RESERVED_EVENTS=void 0;var bc=jn(),ah=Hs(),rh=nh(R()),Z=An(),bt=(0,rh.default)("socket.io:namespace");Ee.RESERVED_EVENTS=new Set(["connect","connection","new_namespace"]);var In=class extends ah.StrictEventEmitter{constructor(e,t){super(),this.sockets=new Map,this._preConnectSockets=new Map,this._fns=[],this._ids=0,this.server=e,this.name=t,this._initAdapter()}_initAdapter(){this.adapter=new(this.server.adapter())(this),Promise.resolve(this.adapter.init()).catch(e=>{bt("error while initializing adapter: %s",e)})}use(e){return this._fns.push(e),this}run(e,t){if(!this._fns.length)return t();let i=this._fns.slice(0);function n(a){i[a](e,r=>{if(r)return t(r);if(!i[a+1])return t();n(a+1)})}n(0)}to(e){return new Z.BroadcastOperator(this.adapter).to(e)}in(e){return new Z.BroadcastOperator(this.adapter).in(e)}except(e){return new Z.BroadcastOperator(this.adapter).except(e)}async _add(e,t,i){var n;bt("adding socket to nsp %s",this.name);let a=await this._createSocket(e,t);if(this._preConnectSockets.set(a.id,a),!((n=this.server.opts.connectionStateRecovery)===null||n===void 0)&&n.skipMiddlewares&&a.recovered&&e.conn.readyState==="open")return this._doConnect(a,i);this.run(a,r=>{process.nextTick(()=>{if(e.conn.readyState!=="open"){bt("next called after client was closed - ignoring socket"),a._cleanup();return}if(r)return bt("middleware error, sending CONNECT_ERROR packet to the client"),a._cleanup(),e.conn.protocol===3?a._error(r.data||r.message):a._error({message:r.message,data:r.data});this._doConnect(a,i)})})}async _createSocket(e,t){let i=t.pid,n=t.offset;if(this.server.opts.connectionStateRecovery&&typeof i=="string"&&typeof n=="string"){let a;try{a=await this.adapter.restoreSession(i,n)}catch(r){bt("error while restoring session: %s",r)}if(a)return bt("connection state recovered for sid %s",a.sid),new bc.Socket(this,e,t,a)}return new bc.Socket(this,e,t)}_doConnect(e,t){this._preConnectSockets.delete(e.id),this.sockets.set(e.id,e),e._onconnect(),t&&t(e),this.emitReserved("connect",e),this.emitReserved("connection",e)}_remove(e){this.sockets.delete(e.id)||this._preConnectSockets.delete(e.id)}emit(e,...t){return new Z.BroadcastOperator(this.adapter).emit(e,...t)}send(...e){return this.emit("message",...e),this}write(...e){return this.emit("message",...e),this}serverSideEmit(e,...t){if(Ee.RESERVED_EVENTS.has(e))throw new Error(`"${String(e)}" is a reserved event name`);return t.unshift(e),this.adapter.serverSideEmit(t),!0}serverSideEmitWithAck(e,...t){return new Promise((i,n)=>{t.push((a,r)=>a?(a.responses=r,n(a)):i(r)),this.serverSideEmit(e,...t)})}_onServerSideEmit(e){super.emitUntyped.apply(this,e)}allSockets(){return new Z.BroadcastOperator(this.adapter).allSockets()}compress(e){return new Z.BroadcastOperator(this.adapter).compress(e)}get volatile(){return new Z.BroadcastOperator(this.adapter).volatile}get local(){return new Z.BroadcastOperator(this.adapter).local}timeout(e){return new Z.BroadcastOperator(this.adapter).timeout(e)}fetchSockets(){return new Z.BroadcastOperator(this.adapter).fetchSockets()}socketsJoin(e){return new Z.BroadcastOperator(this.adapter).socketsJoin(e)}socketsLeave(e){return new Z.BroadcastOperator(this.adapter).socketsLeave(e)}disconnectSockets(e=!1){return new Z.BroadcastOperator(this.adapter).disconnectSockets(e)}};Ee.Namespace=In});var Ec=x(Ft=>{"use strict";Object.defineProperty(Ft,"__esModule",{value:!0});Ft.encode=Bn;Ft.decode=oh;Ft.yeast=ch;var _c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),Vs=64,Sc={},yc=0,Ne=0,wc;function Bn(s){let e="";do e=_c[s%Vs]+e,s=Math.floor(s/Vs);while(s>0);return e}function oh(s){let e=0;for(Ne=0;Ne<s.length;Ne++)e=e*Vs+Sc[s.charAt(Ne)];return e}function ch(){let s=Bn(+new Date);return s!==wc?(yc=0,wc=s):s+"."+Bn(yc++)}for(;Ne<Vs;Ne++)Sc[_c[Ne]]=Ne});var Dn=x(yt=>{"use strict";var Ln;Object.defineProperty(yt,"__esModule",{value:!0});yt.SessionAwareAdapter=yt.Adapter=void 0;var lh=require("events"),ph=Ec(),Gs=pn(),uh=typeof((Ln=Gs?.Sender)===null||Ln===void 0?void 0:Ln.frame)=="function",Ks=class extends lh.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(let i of t)this.sids.get(e).add(i),this.rooms.has(i)||(this.rooms.set(i,new Set),this.emit("create-room",i)),this.rooms.get(i).has(e)||(this.rooms.get(i).add(e),this.emit("join-room",i,e))}del(e,t){this.sids.has(e)&&this.sids.get(e).delete(t),this._del(t,e)}_del(e,t){let i=this.rooms.get(e);i!=null&&(i.delete(t)&&this.emit("leave-room",e,t),i.size===0&&this.rooms.delete(e)&&this.emit("delete-room",e))}delAll(e){if(this.sids.has(e)){for(let t of this.sids.get(e))this._del(t,e);this.sids.delete(e)}}broadcast(e,t){let i=t.flags||{},n={preEncoded:!0,volatile:i.volatile,compress:i.compress};e.nsp=this.nsp.name;let a=this._encode(e,n);this.apply(t,r=>{typeof r.notifyOutgoingListeners=="function"&&r.notifyOutgoingListeners(e),r.client.writeToEngine(a,n)})}broadcastWithAck(e,t,i,n){let a=t.flags||{},r={preEncoded:!0,volatile:a.volatile,compress:a.compress};e.nsp=this.nsp.name,e.id=this.nsp._ids++;let o=this._encode(e,r),c=0;this.apply(t,l=>{c++,l.acks.set(e.id,n),typeof l.notifyOutgoingListeners=="function"&&l.notifyOutgoingListeners(e),l.client.writeToEngine(o,r)}),i(c)}_encode(e,t){let i=this.encoder.encode(e);if(uh&&i.length===1&&typeof i[0]=="string"){let n=Buffer.from("4"+i[0]);t.wsPreEncodedFrame=Gs.Sender.frame(n,{readOnly:!1,mask:!1,rsv1:!1,opcode:1,fin:!0})}return i}sockets(e){let t=new Set;return this.apply({rooms:e},i=>{t.add(i.id)}),Promise.resolve(t)}socketRooms(e){return this.sids.get(e)}fetchSockets(e){let t=[];return this.apply(e,i=>{t.push(i)}),Promise.resolve(t)}addSockets(e,t){this.apply(e,i=>{i.join(t)})}delSockets(e,t){this.apply(e,i=>{t.forEach(n=>i.leave(n))})}disconnectSockets(e,t){this.apply(e,i=>{i.disconnect(t)})}apply(e,t){let i=e.rooms,n=this.computeExceptSids(e.except);if(i.size){let a=new Set;for(let r of i)if(this.rooms.has(r))for(let o of this.rooms.get(r)){if(a.has(o)||n.has(o))continue;let c=this.nsp.sockets.get(o);c&&(t(c),a.add(o))}}else for(let[a]of this.sids){if(n.has(a))continue;let r=this.nsp.sockets.get(a);r&&t(r)}}computeExceptSids(e){let t=new Set;if(e&&e.size>0)for(let i of e)this.rooms.has(i)&&this.rooms.get(i).forEach(n=>t.add(n));return t}serverSideEmit(e){console.warn("this adapter does not support the serverSideEmit() functionality")}persistSession(e){}restoreSession(e,t){return null}};yt.Adapter=Ks;var Mn=class extends Ks{constructor(e){super(e),this.nsp=e,this.sessions=new Map,this.packets=[],this.maxDisconnectionDuration=e.server.opts.connectionStateRecovery.maxDisconnectionDuration,setInterval(()=>{let i=Date.now()-this.maxDisconnectionDuration;this.sessions.forEach((n,a)=>{n.disconnectedAt<i&&this.sessions.delete(a)});for(let n=this.packets.length-1;n>=0;n--)if(this.packets[n].emittedAt<i){this.packets.splice(0,n+1);break}},60*1e3).unref()}persistSession(e){e.disconnectedAt=Date.now(),this.sessions.set(e.pid,e)}restoreSession(e,t){let i=this.sessions.get(e);if(!i)return null;if(i.disconnectedAt+this.maxDisconnectionDuration<Date.now())return this.sessions.delete(e),null;let a=this.packets.findIndex(o=>o.id===t);if(a===-1)return null;let r=[];for(let o=a+1;o<this.packets.length;o++){let c=this.packets[o];dh(i.rooms,c.opts)&&r.push(c.data)}return Promise.resolve(Object.assign(Object.assign({},i),{missedPackets:r}))}broadcast(e,t){var i;let n=e.type===2,a=e.id===void 0,r=((i=t.flags)===null||i===void 0?void 0:i.volatile)===void 0;if(n&&a&&r){let o=(0,ph.yeast)();e.data.push(o),this.packets.push({id:o,opts:t,data:e.data,emittedAt:Date.now()})}super.broadcast(e,t)}};yt.SessionAwareAdapter=Mn;function dh(s,e){let t=e.rooms.size===0||s.some(n=>e.rooms.has(n)),i=s.every(n=>!e.except.has(n));return t&&i}});var kc=x(he=>{"use strict";var fh=he&&he.__rest||function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};Object.defineProperty(he,"__esModule",{value:!0});he.ClusterAdapterWithHeartbeat=he.ClusterAdapter=he.MessageType=void 0;var mh=Dn(),hh=R(),xh=require("crypto"),T=(0,hh.debug)("socket.io-adapter"),vh="emitter",Ys=5e3;function _t(){return(0,xh.randomBytes)(8).toString("hex")}var b;(function(s){s[s.INITIAL_HEARTBEAT=1]="INITIAL_HEARTBEAT",s[s.HEARTBEAT=2]="HEARTBEAT",s[s.BROADCAST=3]="BROADCAST",s[s.SOCKETS_JOIN=4]="SOCKETS_JOIN",s[s.SOCKETS_LEAVE=5]="SOCKETS_LEAVE",s[s.DISCONNECT_SOCKETS=6]="DISCONNECT_SOCKETS",s[s.FETCH_SOCKETS=7]="FETCH_SOCKETS",s[s.FETCH_SOCKETS_RESPONSE=8]="FETCH_SOCKETS_RESPONSE",s[s.SERVER_SIDE_EMIT=9]="SERVER_SIDE_EMIT",s[s.SERVER_SIDE_EMIT_RESPONSE=10]="SERVER_SIDE_EMIT_RESPONSE",s[s.BROADCAST_CLIENT_COUNT=11]="BROADCAST_CLIENT_COUNT",s[s.BROADCAST_ACK=12]="BROADCAST_ACK",s[s.ADAPTER_CLOSE=13]="ADAPTER_CLOSE"})(b||(he.MessageType=b={}));function Ve(s){return{rooms:[...s.rooms],except:[...s.except],flags:s.flags}}function wt(s){return{rooms:new Set(s.rooms),except:new Set(s.except),flags:s.flags}}var Xs=class extends mh.Adapter{constructor(e){super(e),this.requests=new Map,this.ackRequests=new Map,this.uid=_t()}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);if(e.nsp!==this.nsp.name)return T("[%s] ignore message from another namespace (%s)",this.uid,e.nsp);switch(T("[%s] new event of type %d from %s",this.uid,e.type,e.uid),e.type){case b.BROADCAST:{if(e.data.requestId!==void 0)super.broadcastWithAck(e.data.packet,wt(e.data.opts),n=>{T("[%s] waiting for %d client acknowledgements",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_CLIENT_COUNT,data:{requestId:e.data.requestId,clientCount:n}})},n=>{T("[%s] received acknowledgement with value %j",this.uid,n),this.publishResponse(e.uid,{type:b.BROADCAST_ACK,data:{requestId:e.data.requestId,packet:n}})});else{let n=e.data.packet,a=wt(e.data.opts);this.addOffsetIfNecessary(n,a,t),super.broadcast(n,a)}break}case b.SOCKETS_JOIN:super.addSockets(wt(e.data.opts),e.data.rooms);break;case b.SOCKETS_LEAVE:super.delSockets(wt(e.data.opts),e.data.rooms);break;case b.DISCONNECT_SOCKETS:super.disconnectSockets(wt(e.data.opts),e.data.close);break;case b.FETCH_SOCKETS:{T("[%s] calling fetchSockets with opts %j",this.uid,e.data.opts),super.fetchSockets(wt(e.data.opts)).then(i=>{this.publishResponse(e.uid,{type:b.FETCH_SOCKETS_RESPONSE,data:{requestId:e.data.requestId,sockets:i.map(n=>{let a=n.handshake,{sessionStore:r}=a,o=fh(a,["sessionStore"]);return{id:n.id,handshake:o,rooms:[...n.rooms],data:n.data}})}})});break}case b.SERVER_SIDE_EMIT:{let i=e.data.packet;if(!(e.data.requestId!==void 0)){this.nsp._onServerSideEmit(i);return}let a=!1,r=o=>{a||(a=!0,T("[%s] calling acknowledgement with %j",this.uid,o),this.publishResponse(e.uid,{type:b.SERVER_SIDE_EMIT_RESPONSE,data:{requestId:e.data.requestId,packet:o}}))};this.nsp._onServerSideEmit([...i,r]);break}case b.BROADCAST_CLIENT_COUNT:case b.BROADCAST_ACK:case b.FETCH_SOCKETS_RESPONSE:case b.SERVER_SIDE_EMIT_RESPONSE:this.onResponse(e);break;default:T("[%s] unknown message type: %s",this.uid,e.type)}}onResponse(e){var t,i;let n=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,n),e.type){case b.BROADCAST_CLIENT_COUNT:{(t=this.ackRequests.get(n))===null||t===void 0||t.clientCountCallback(e.data.clientCount);break}case b.BROADCAST_ACK:{(i=this.ackRequests.get(n))===null||i===void 0||i.ack(e.data.packet);break}case b.FETCH_SOCKETS_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,e.data.sockets.forEach(r=>a.responses.push(r)),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(a.responses),this.requests.delete(n));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let a=this.requests.get(n);if(!a)return;a.current++,a.responses.push(e.data.packet),a.current===a.expected&&(clearTimeout(a.timeout),a.resolve(null,a.responses),this.requests.delete(n));break}default:T("[%s] unknown response type: %s",this.uid,e.type)}}async broadcast(e,t){var i;if(!((i=t.flags)===null||i===void 0?void 0:i.local))try{let a=await this.publishAndReturnOffset({type:b.BROADCAST,data:{packet:e,opts:Ve(t)}});this.addOffsetIfNecessary(e,t,a)}catch(a){return T("[%s] error while broadcasting message: %s",this.uid,a.message)}super.broadcast(e,t)}addOffsetIfNecessary(e,t,i){var n;if(!this.nsp.server.opts.connectionStateRecovery)return;let a=e.type===2,r=e.id===void 0,o=((n=t.flags)===null||n===void 0?void 0:n.volatile)===void 0;a&&r&&o&&e.data.push(i)}broadcastWithAck(e,t,i,n){var a;if(!((a=t?.flags)===null||a===void 0?void 0:a.local)){let o=_t();this.ackRequests.set(o,{clientCountCallback:i,ack:n}),this.publish({type:b.BROADCAST,data:{packet:e,requestId:o,opts:Ve(t)}}),setTimeout(()=>{this.ackRequests.delete(o)},t.flags.timeout)}super.broadcastWithAck(e,t,i,n)}async addSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_JOIN,data:{opts:Ve(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.addSockets(e,t)}async delSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.SOCKETS_LEAVE,data:{opts:Ve(e),rooms:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.delSockets(e,t)}async disconnectSockets(e,t){var i;if(!((i=e.flags)===null||i===void 0?void 0:i.local))try{await this.publishAndReturnOffset({type:b.DISCONNECT_SOCKETS,data:{opts:Ve(e),close:t}})}catch(a){T("[%s] error while publishing message: %s",this.uid,a.message)}super.disconnectSockets(e,t)}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets(e),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((o,c)=>{let l=setTimeout(()=>{let u=this.requests.get(r);u&&(c(new Error(`timeout reached: only ${u.current} responses received out of ${u.expected}`)),this.requests.delete(r))},e.flags.timeout||Ys),p={type:b.FETCH_SOCKETS,resolve:o,timeout:l,current:0,expected:a,responses:i};this.requests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ve(e),requestId:r}})})}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=await this.serverCount()-1;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let c=this.requests.get(a);c&&(i(new Error(`timeout reached: only ${c.current} responses received out of ${c.expected}`),c.responses),this.requests.delete(a))},Ys),o={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,current:0,expected:n,responses:[]};this.requests.set(a,o),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}publish(e){T("[%s] sending message %s",this.uid,e.type),this.publishAndReturnOffset(e).catch(t=>{T("[%s] error while publishing message: %s",this.uid,t)})}publishAndReturnOffset(e){return e.uid=this.uid,e.nsp=this.nsp.name,this.doPublish(e)}publishResponse(e,t){t.uid=this.uid,t.nsp=this.nsp.name,T("[%s] sending response %s to %s",this.uid,t.type,e),this.doPublishResponse(e,t).catch(i=>{T("[%s] error while publishing response: %s",this.uid,i)})}};he.ClusterAdapter=Xs;var qn=class extends Xs{constructor(e,t){super(e),this.nodesMap=new Map,this.customRequests=new Map,this._opts=Object.assign({heartbeatInterval:5e3,heartbeatTimeout:1e4},t),this.cleanupTimer=setInterval(()=>{let i=Date.now();this.nodesMap.forEach((n,a)=>{i-n>this._opts.heartbeatTimeout&&(T("[%s] node %s seems down",this.uid,a),this.removeNode(a))})},1e3)}init(){this.publish({type:b.INITIAL_HEARTBEAT})}scheduleHeartbeat(){this.heartbeatTimer?this.heartbeatTimer.refresh():this.heartbeatTimer=setTimeout(()=>{this.publish({type:b.HEARTBEAT})},this._opts.heartbeatInterval)}close(){this.publish({type:b.ADAPTER_CLOSE}),clearTimeout(this.heartbeatTimer),this.cleanupTimer&&clearInterval(this.cleanupTimer)}onMessage(e,t){if(e.uid===this.uid)return T("[%s] ignore message from self",this.uid);switch(e.uid&&e.uid!==vh&&this.nodesMap.set(e.uid,Date.now()),e.type){case b.INITIAL_HEARTBEAT:this.publish({type:b.HEARTBEAT});break;case b.HEARTBEAT:break;case b.ADAPTER_CLOSE:this.removeNode(e.uid);break;default:super.onMessage(e,t)}}serverCount(){return Promise.resolve(1+this.nodesMap.size)}publish(e){return this.scheduleHeartbeat(),super.publish(e)}async serverSideEmit(e){if(!(typeof e[e.length-1]=="function"))return this.publish({type:b.SERVER_SIDE_EMIT,data:{packet:e}});let i=e.pop(),n=this.nodesMap.size;if(T('[%s] waiting for %d responses to "serverSideEmit" request',this.uid,n),n<=0)return i(null,[]);let a=_t(),r=setTimeout(()=>{let c=this.customRequests.get(a);c&&(i(new Error(`timeout reached: missing ${c.missingUids.size} responses`),c.responses),this.customRequests.delete(a))},Ys),o={type:b.SERVER_SIDE_EMIT,resolve:i,timeout:r,missingUids:new Set([...this.nodesMap.keys()]),responses:[]};this.customRequests.set(a,o),this.publish({type:b.SERVER_SIDE_EMIT,data:{requestId:a,packet:e}})}async fetchSockets(e){var t;let[i,n]=await Promise.all([super.fetchSockets({rooms:e.rooms,except:e.except,flags:{local:!0}}),this.serverCount()]),a=n-1;if(!((t=e.flags)===null||t===void 0)&&t.local||a<=0)return i;let r=_t();return new Promise((o,c)=>{let l=setTimeout(()=>{let u=this.customRequests.get(r);u&&(c(new Error(`timeout reached: missing ${u.missingUids.size} responses`)),this.customRequests.delete(r))},e.flags.timeout||Ys),p={type:b.FETCH_SOCKETS,resolve:o,timeout:l,missingUids:new Set([...this.nodesMap.keys()]),responses:i};this.customRequests.set(r,p),this.publish({type:b.FETCH_SOCKETS,data:{opts:Ve(e),requestId:r}})})}onResponse(e){let t=e.data.requestId;switch(T("[%s] received response %s to request %s",this.uid,e.type,t),e.type){case b.FETCH_SOCKETS_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;e.data.sockets.forEach(n=>i.responses.push(n)),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(i.responses),this.customRequests.delete(t));break}case b.SERVER_SIDE_EMIT_RESPONSE:{let i=this.customRequests.get(t);if(!i)return;i.responses.push(e.data.packet),i.missingUids.delete(e.uid),i.missingUids.size===0&&(clearTimeout(i.timeout),i.resolve(null,i.responses),this.customRequests.delete(t));break}default:super.onResponse(e)}}removeNode(e){this.customRequests.forEach((t,i)=>{t.missingUids.delete(e),t.missingUids.size===0&&(clearTimeout(t.timeout),t.type===b.FETCH_SOCKETS?t.resolve(t.responses):t.type===b.SERVER_SIDE_EMIT&&t.resolve(null,t.responses),this.customRequests.delete(i))}),this.nodesMap.delete(e)}};he.ClusterAdapterWithHeartbeat=qn});var Js=x(ae=>{"use strict";Object.defineProperty(ae,"__esModule",{value:!0});ae.MessageType=ae.ClusterAdapterWithHeartbeat=ae.ClusterAdapter=ae.SessionAwareAdapter=ae.Adapter=void 0;var Cc=Dn();Object.defineProperty(ae,"Adapter",{enumerable:!0,get:function(){return Cc.Adapter}});Object.defineProperty(ae,"SessionAwareAdapter",{enumerable:!0,get:function(){return Cc.SessionAwareAdapter}});var Fn=kc();Object.defineProperty(ae,"ClusterAdapter",{enumerable:!0,get:function(){return Fn.ClusterAdapter}});Object.defineProperty(ae,"ClusterAdapterWithHeartbeat",{enumerable:!0,get:function(){return Fn.ClusterAdapterWithHeartbeat}});Object.defineProperty(ae,"MessageType",{enumerable:!0,get:function(){return Fn.MessageType}})});var Rc=x(St=>{"use strict";var gh=St&&St.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(St,"__esModule",{value:!0});St.ParentNamespace=void 0;var Tc=Nn(),bh=Js(),yh=gh(R()),Oc=(0,yh.default)("socket.io:parent-namespace"),Qs=class s extends Tc.Namespace{constructor(e){super(e,"/_"+s.count++),this.children=new Set}_initAdapter(){this.adapter=new Un(this)}emit(e,...t){return this.children.forEach(i=>{i.emit(e,...t)}),!0}createChild(e){Oc("creating child namespace %s",e);let t=new Tc.Namespace(this.server,e);if(this._fns.forEach(i=>t.use(i)),this.listeners("connect").forEach(i=>t.on("connect",i)),this.listeners("connection").forEach(i=>t.on("connection",i)),this.children.add(t),this.server._opts.cleanupEmptyChildNamespaces){let i=t._remove;t._remove=n=>{i.call(t,n),t.sockets.size===0&&(Oc("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")}};St.ParentNamespace=Qs;Qs.count=0;var Un=class extends bh.Adapter{broadcast(e,t){this.nsp.children.forEach(i=>{i.adapter.broadcast(e,t)})}}});var Bc=x(Ke=>{"use strict";var wh=Ke&&Ke.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(Ke,"__esModule",{value:!0});Ke.patchAdapter=Sh;Ke.restoreAdapter=Eh;Ke.serveFile=Ch;var Ge=Js(),Ac=require("fs"),_h=wh(R()),Zs=(0,_h.default)("socket.io:adapter-uws"),Hn="",{addAll:jc,del:Ic,broadcast:Nc}=Ge.Adapter.prototype;function Sh(s){Ge.Adapter.prototype.addAll=function(e,t){let i=!this.sids.has(e);jc.call(this,e,t);let n=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(n){if(n.conn.transport.name==="websocket"){Pc(this.nsp.name,n,i,t);return}i&&n.conn.on("upgrade",()=>{let a=this.sids.get(e);a&&Pc(this.nsp.name,n,i,a)})}},Ge.Adapter.prototype.del=function(e,t){Ic.call(this,e,t);let i=this.nsp.sockets.get(e)||this.nsp._preConnectSockets.get(e);if(i&&i.conn.transport.name==="websocket"){let n=i.conn.id,a=i.conn.transport.socket,r=`${this.nsp.name}${Hn}${t}`;Zs("unsubscribe connection %s from topic %s",n,r),a.unsubscribe(r)}},Ge.Adapter.prototype.broadcast=function(e,t){if(!(t.rooms.size<=1&&t.except.size===0)){Nc.call(this,e,t);return}let n=t.flags||{},a={preEncoded:!0,volatile:n.volatile,compress:n.compress};e.nsp=this.nsp.name;let r=this.encoder.encode(e),o=t.rooms.size===0?this.nsp.name:`${this.nsp.name}${Hn}${t.rooms.keys().next().value}`;Zs("fast publish to %s",o),r.forEach(c=>{let l=typeof c!="string";s.publish(o,l?c:"4"+c,l)}),this.apply(t,c=>{c.conn.transport.name!=="websocket"&&c.client.writeToEngine(r,a)})}}function Pc(s,e,t,i){let n=e.conn.id,a=e.conn.transport.socket;t&&(Zs("subscribe connection %s to topic %s",n,s),a.subscribe(s)),i.forEach(r=>{let o=`${s}${Hn}${r}`;Zs("subscribe connection %s to topic %s",n,o),a.subscribe(o)})}function Eh(){Ge.Adapter.prototype.addAll=jc,Ge.Adapter.prototype.del=Ic,Ge.Adapter.prototype.broadcast=Nc}var kh=s=>{let{buffer:e,byteOffset:t,byteLength:i}=s;return e.slice(t,t+i)};function Ch(s,e){let{size:t}=(0,Ac.statSync)(e),i=(0,Ac.createReadStream)(e),n=()=>!i.destroyed&&i.destroy(),a=o=>{throw n(),o},r=o=>{let c=kh(o);s.cork(()=>{let l=s.getWriteOffset(),[p,u]=s.tryEnd(c,t);!u&&!p&&(i.pause(),s.onWritable(d=>{let[h,m]=s.tryEnd(c.slice(d-l),t);return!m&&h&&i.resume(),h}))})};s.onAborted(n),i.on("data",r).on("error",a).on("end",n)}});var Lc=x((ng,Th)=>{Th.exports={name:"socket.io",version:"4.8.3",description:"node.js realtime framework server",keywords:["realtime","framework","websocket","tcp","events","socket","io"],files:["dist/","client-dist/","wrapper.mjs","!**/*.tsbuildinfo"],directories:{doc:"docs/",example:"example/",lib:"lib/",test:"test/"},type:"commonjs",main:"./dist/index.js",exports:{".":{types:"./dist/index.d.ts",import:"./wrapper.mjs",require:"./dist/index.js"},"./package.json":"./package.json"},types:"./dist/index.d.ts",license:"MIT",homepage:"https://github.com/socketio/socket.io/tree/main/packages/socket.io#readme",repository:{type:"git",url:"git+https://github.com/socketio/socket.io.git"},bugs:{url:"https://github.com/socketio/socket.io/issues"},scripts:{compile:"rimraf ./dist && tsc",test:"npm run format:check && npm run compile && npm run test:types && npm run test:unit","test:types":"tsd","test:unit":"nyc mocha --import=tsx --reporter spec --slow 200 --bail --timeout 10000 test/index.ts","format:check":'prettier --check "lib/**/*.ts" "test/**/*.ts"',"format:fix":'prettier --write "lib/**/*.ts" "test/**/*.ts"',prepack:"npm run compile"},dependencies:{accepts:"~1.3.4",base64id:"~2.0.0",cors:"~2.8.5",debug:"~4.4.1","engine.io":"~6.6.0","socket.io-adapter":"~2.5.2","socket.io-parser":"~4.2.4"},contributors:[{name:"Guillermo Rauch",email:"rauchg@gmail.com"},{name:"Arnout Kazemier",email:"info@3rd-eden.com"},{name:"Vladimir Dronnikov",email:"dronnikov@gmail.com"},{name:"Einar Otto Stangvik",email:"einaros@gmail.com"}],engines:{node:">=10.2.0"},tsd:{directory:"test"}}});var Wc=x((q,Ut)=>{"use strict";var Oh=q&&q.__createBinding||(Object.create?(function(s,e,t,i){i===void 0&&(i=t);var n=Object.getOwnPropertyDescriptor(e,t);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(s,i,n)}):(function(s,e,t,i){i===void 0&&(i=t),s[i]=e[t]})),Rh=q&&q.__setModuleDefault||(Object.create?(function(s,e){Object.defineProperty(s,"default",{enumerable:!0,value:e})}):function(s,e){s.default=e}),Ah=q&&q.__importStar||function(s){if(s&&s.__esModule)return s;var e={};if(s!=null)for(var t in s)t!=="default"&&Object.prototype.hasOwnProperty.call(s,t)&&Oh(e,s,t);return Rh(e,s),e},$n=q&&q.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(q,"__esModule",{value:!0});q.Namespace=q.Socket=q.Server=void 0;var Ph=$n(require("http")),jh=require("fs"),zn=require("zlib"),Ih=es(),ei=require("stream"),Mc=require("path"),Dc=rc(),Nh=hc(),qc=require("events"),Vn=Nn();Object.defineProperty(q,"Namespace",{enumerable:!0,get:function(){return Vn.Namespace}});var Bh=Rc(),Fc=Js(),Lh=Ah(qt()),Mh=$n(R()),zc=jn();Object.defineProperty(q,"Socket",{enumerable:!0,get:function(){return zc.Socket}});var Dh=Hs(),Wn=Bc(),qh=$n(dn()),H=(0,Mh.default)("socket.io:server"),Uc=Lc().version,Hc=/\.map/,Et=class s extends Dh.StrictEventEmitter{constructor(e,t={}){super(),this._nsps=new Map,this.parentNsps=new Map,this.parentNamespacesFromRegExp=new Map,typeof e=="object"&&e instanceof Object&&!e.listen&&(t=e,e=void 0),this.path(t.path||"/socket.io"),this.connectTimeout(t.connectTimeout||45e3),this.serveClient(t.serveClient!==!1),this._parser=t.parser||Lh,this.encoder=new this._parser.Encoder,this.opts=t,t.connectionStateRecovery?(t.connectionStateRecovery=Object.assign({maxDisconnectionDuration:120*1e3,skipMiddlewares:!0},t.connectionStateRecovery),this.adapter(t.adapter||Fc.SessionAwareAdapter)):this.adapter(t.adapter||Fc.Adapter),t.cleanupEmptyChildNamespaces=!!t.cleanupEmptyChildNamespaces,this.sockets=this.of("/"),(e||typeof e=="number")&&this.attach(e),this.opts.cors&&(this._corsMiddleware=(0,qh.default)(this.opts.cors))}get _opts(){return this.opts}serveClient(e){return arguments.length?(this._serveClient=e,this):this._serveClient}_checkNamespace(e,t,i){if(this.parentNsps.size===0)return i(!1);let n=this.parentNsps.keys(),a=()=>{let r=n.next();if(r.done)return i(!1);r.value(e,t,(o,c)=>{if(o||!c)return a();if(this._nsps.has(e))return H("dynamic namespace %s already exists",e),i(this._nsps.get(e));let l=this.parentNsps.get(r.value).createChild(e);H("dynamic namespace %s was created",e),i(l)})};a()}path(e){if(!arguments.length)return this._path;this._path=e.replace(/\/$/,"");let t=this._path.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&");return this.clientPathRegex=new RegExp("^"+t+"/socket\\.io(\\.msgpack|\\.esm)?(\\.min)?\\.js(\\.map)?(?:\\?|$)"),this}connectTimeout(e){return e===void 0?this._connectTimeout:(this._connectTimeout=e,this)}adapter(e){if(!arguments.length)return this._adapter;this._adapter=e;for(let t of this._nsps.values())t._initAdapter();return this}listen(e,t={}){return this.attach(e,t)}attach(e,t={}){if(typeof e=="function"){let i="You are trying to attach socket.io to an express request handler function. Please pass a http.Server instance.";throw new Error(i)}if(Number(e)==e&&(e=Number(e)),typeof e=="number"){H("creating http server and binding to %d",e);let i=e;e=Ph.default.createServer((n,a)=>{a.writeHead(404),a.end()}),e.listen(i)}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,H("creating uWebSockets.js-based engine with opts %j",t);let i=new Dc.uServer(t);i.attach(e,t),this.bind(i),this._serveClient&&e.get(`${this._path}/*`,(n,a)=>{if(!this.clientPathRegex.test(a.getUrl())){a.setYield(!0);return}let r=a.getUrl().replace(this._path,"").replace(/\?.*$/,"").replace(/^\//,""),o=Hc.test(r),c=o?"map":"source",l='"'+Uc+'"',p="W/"+l,u=a.getHeader("if-none-match");if(u&&(l===u||p===u)){H("serve client %s 304",c),n.writeStatus("304 Not Modified"),n.end();return}H("serve client %s",c),n.writeHeader("cache-control","public, max-age=0"),n.writeHeader("content-type","application/"+(o?"json":"javascript")+"; charset=utf-8"),n.writeHeader("etag",l);let d=Mc.join(__dirname,"../client-dist/",r);(0,Wn.serveFile)(n,d)}),(0,Wn.patchAdapter)(e)}initEngine(e,t){H("creating engine.io instance with opts %j",t),this.eio=(0,Dc.attach)(e,t),this._serveClient&&this.attachServe(e),this.httpServer=e,this.bind(this.eio)}attachServe(e){H("attaching client serving req handler");let t=e.listeners("request").slice(0);e.removeAllListeners("request"),e.on("request",(i,n)=>{if(this.clientPathRegex.test(i.url))this._corsMiddleware?this._corsMiddleware(i,n,()=>{this.serve(i,n)}):this.serve(i,n);else for(let a=0;a<t.length;a++)t[a].call(e,i,n)})}serve(e,t){let i=e.url.replace(this._path,"").replace(/\?.*$/,""),n=Hc.test(i),a=n?"map":"source",r='"'+Uc+'"',o="W/"+r,c=e.headers["if-none-match"];if(c&&(r===c||o===c)){H("serve client %s 304",a),t.writeHead(304),t.end();return}H("serve client %s",a),t.setHeader("Cache-Control","public, max-age=0"),t.setHeader("Content-Type","application/"+(n?"json":"javascript")+"; charset=utf-8"),t.setHeader("ETag",r),s.sendFile(i,e,t)}static sendFile(e,t,i){let n=(0,jh.createReadStream)(Mc.join(__dirname,"../client-dist/",e)),a=Ih(t).encodings(["br","gzip","deflate"]),r=o=>{o&&i.end()};switch(a){case"br":i.writeHead(200,{"content-encoding":"br"}),(0,ei.pipeline)(n,(0,zn.createBrotliCompress)(),i,r);break;case"gzip":i.writeHead(200,{"content-encoding":"gzip"}),(0,ei.pipeline)(n,(0,zn.createGzip)(),i,r);break;case"deflate":i.writeHead(200,{"content-encoding":"deflate"}),(0,ei.pipeline)(n,(0,zn.createDeflate)(),i,r);break;default:i.writeHead(200),(0,ei.pipeline)(n,i,r)}}bind(e){return this.engine=e,this.engine.on("connection",this.onconnection.bind(this)),this}onconnection(e){H("incoming connection with id %s",e.id);let t=new Nh.Client(this,e);return e.protocol===3&&t.connect("/"),this}of(e,t){if(typeof e=="function"||e instanceof RegExp){let n=new Bh.ParentNamespace(this);return H("initializing parent namespace %s",n.name),typeof e=="function"?this.parentNsps.set(e,n):(this.parentNsps.set((a,r,o)=>o(null,e.test(a)),n),this.parentNamespacesFromRegExp.set(e,n)),t&&n.on("connect",t),n}String(e)[0]!=="/"&&(e="/"+e);let i=this._nsps.get(e);if(!i){for(let[n,a]of this.parentNamespacesFromRegExp)if(n.test(e))return H("attaching namespace %s to parent namespace %s",e,n),a.createChild(e);H("initializing namespace %s",e),i=new Vn.Namespace(this,e),this._nsps.set(e,i),e!=="/"&&this.sockets.emitReserved("new_namespace",i)}return t&&i.on("connect",t),i}async close(e){if(await Promise.allSettled([...this._nsps.values()].map(async t=>{t.sockets.forEach(i=>{i._onclose("server shutting down")}),await t.adapter.close()})),this.engine.close(),(0,Wn.restoreAdapter)(),this.httpServer)return new Promise(t=>{this.httpServer.close(i=>{e&&e(i),i&&H("server was not running"),t()})});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)}};q.Server=Et;var Fh=Object.keys(qc.EventEmitter.prototype).filter(function(s){return typeof qc.EventEmitter.prototype[s]=="function"});Fh.forEach(function(s){Et.prototype[s]=function(){return this.sockets[s].apply(this.sockets,arguments)}});Ut.exports=(s,e)=>new Et(s,e);Ut.exports.Server=Et;Ut.exports.Namespace=Vn.Namespace;Ut.exports.Socket=zc.Socket});var Kc={};Qe(Kc,{TileManager:()=>Gn});var ti,kt,si,Gc,Uh,Hh,Gn,Yc=Me(()=>{ti=M(require("sharp"),1),kt=M(require("fs"),1),si=M(require("path"),1),Gc=require("url"),Uh=(0,Gc.fileURLToPath)(__importMetaUrl),Hh=si.default.dirname(Uh),Gn=class{constructor(e){this.robot=e,this.tileSize=100,this.lastTileChecksums=new Map,this.lastTileBuffers=new Map,this.screenWidth=0,this.screenHeight=0,this.tilesPerRow=0,this.tilesPerColumn=0,this.totalTiles=0,this.frameCount=0,this.tempDir=si.default.join(Hh,"../../temp"),this.compressionQuality=1,this.changeThreshold=1,this.scaleFactor=.99,this.scaledWidth=0,this.scaledHeight=0,this.isProcessing=!1,this.sharedScreenCache=null,this.lastCaptureTime=0,this.CACHE_TTL=100,kt.default.existsSync(this.tempDir)||kt.default.mkdirSync(this.tempDir,{recursive:!0}),this.initializeScreenDimensions()}initializeScreenDimensions(){try{let{width:e,height:t}=this.robot.getScreenSize();this.screenWidth=e,this.screenHeight=t,this.scaledWidth=Math.floor(e*this.scaleFactor),this.scaledHeight=Math.floor(t*this.scaleFactor),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn;let i=100;if(this.totalTiles>i){let n=Math.ceil(Math.sqrt(this.scaledWidth*this.scaledHeight/i));this.tileSize=Math.max(n,120),this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}console.log(`\u{1F5A5}\uFE0F TileManager: ${e}x${t} -> ${this.totalTiles} tiles`)}catch(e){console.error("Screen dimensions error:",e),this.screenWidth=1920,this.screenHeight=1080,this.scaledWidth=1728,this.scaledHeight=972,this.tileSize=120,this.tilesPerRow=Math.ceil(this.scaledWidth/this.tileSize),this.tilesPerColumn=Math.ceil(this.scaledHeight/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}}async captureFullScreen(){let e=this.robot.screen.capture(),t=Buffer.from(e.image);for(let o=0;o<t.length;o+=4){let c=t[o],l=t[o+2];t[o]=l,t[o+2]=c}let i=e.byteWidth/e.bytesPerPixel,n=t,a=i,r=e.height;if(this.scaleFactor<1){let o=Math.floor(i*this.scaleFactor),c=Math.floor(e.height*this.scaleFactor);n=await(0,ti.default)(t,{raw:{width:i,height:e.height,channels:e.bytesPerPixel}}).resize(o,c,{kernel:ti.default.kernel.lanczos3,fit:"fill"}).raw().toBuffer(),a=o,r=c,this.scaledWidth=o,this.scaledHeight=c,this.tilesPerRow=Math.ceil(o/this.tileSize),this.tilesPerColumn=Math.ceil(c/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}return{buffer:n,width:a,height:r,channels:e.bytesPerPixel}}async getSharedScreenCapture(){let e=Date.now();return this.sharedScreenCache&&e-this.lastCaptureTime<this.CACHE_TTL?this.sharedScreenCache:(this.sharedScreenCache=await this.captureFullScreen(),this.lastCaptureTime=e,this.sharedScreenCache)}clearScreenCache(){}async detectChangedTiles(){if(this.isProcessing)return[];this.isProcessing=!0;try{let e=await this.getSharedScreenCapture(),t=[],i=[];if(this.frameCount++,this.lastTileChecksums.size===0){let a=[];for(let o=0;o<this.totalTiles;o++)a.push(this.processTileAsync(e,o,!0));let r=await Promise.all(a);return t.push(...r),t}for(let a=0;a<this.totalTiles;a++){let r=await this.extractTile(e,a),o=this.calculateTileChecksum(r.buffer),c=this.lastTileChecksums.get(a);o!==c&&(i.push(a),this.lastTileChecksums.set(a,o))}if(i.length/this.totalTiles>this.changeThreshold){let a=[];for(let o=0;o<this.totalTiles;o++)a.push(this.processTileAsync(e,o,!0));let r=await Promise.all(a);t.push(...r.map(o=>({...o,fullRefresh:!0})))}else if(i.length>0){let a=i.map(o=>this.processTileAsync(e,o,!1)),r=await Promise.all(a);t.push(...r)}return t}finally{this.isProcessing=!1}}async processTileAsync(e,t){let i=await this.extractTile(e,t),n=this.calculateTileChecksum(i.buffer);this.lastTileChecksums.set(t,n),this.lastTileBuffers.set(t,i.buffer);let a=await this.compressTileImage(i.buffer,i.width,i.height),{row:r,col:o}=this.getTilePosition(t);return{type:"tile-update",tileIndex:t,x:o*this.tileSize,y:r*this.tileSize,width:i.width,height:i.height,imageBase64:a,size:Math.round(a.length*.75/1024),timestamp:Date.now(),frameCount:this.frameCount}}calculateTileChecksum(e){let t=0;for(let i=0;i<e.length;i+=64)t+=e[i]||0,t^=e[i+1]||0,t+=(e[i+2]||0)<<1,t^=(e[i+3]||0)<<2;return t>>>0}getTilePosition(e){return{row:Math.floor(e/this.tilesPerRow),col:e%this.tilesPerRow}}async extractTile(e,t){let{row:i,col:n}=this.getTilePosition(t),a=n*this.tileSize,r=i*this.tileSize,o=Math.min(a+this.tileSize,e.width),c=Math.min(r+this.tileSize,e.height),l=o-a,p=c-r,u=Buffer.alloc(l*p*e.channels);for(let d=0;d<p;d++)for(let h=0;h<l;h++){let m=((r+d)*e.width+(a+h))*e.channels,f=(d*l+h)*e.channels;for(let v=0;v<e.channels;v++)u[f+v]=e.buffer[m+v]}return{buffer:u,width:l,height:p,channels:e.channels,tileIndex:t,x:a,y:r}}async compressTileImage(e,t,i){return`data:image/webp;base64,${(await(0,ti.default)(e,{raw:{width:t,height:i,channels:4}}).webp({quality:85,effort:2,smartSubsample:!0}).toBuffer()).toString("base64")}`}async getScreenDimensions(){try{let e=await this.captureFullScreen();this.scaledWidth=e.width,this.scaledHeight=e.height,this.tilesPerRow=Math.ceil(e.width/this.tileSize),this.tilesPerColumn=Math.ceil(e.height/this.tileSize),this.totalTiles=this.tilesPerRow*this.tilesPerColumn}catch(e){console.error("Error getting dimensions:",e)}return{width:this.scaledWidth,height:this.scaledHeight,tileWidth:this.tileSize,tileHeight:this.tileSize,tileCount:this.totalTiles,scaleFactor:this.scaleFactor,originalWidth:this.screenWidth,originalHeight:this.screenHeight}}async compareClientTileHashes(e){if(this.isProcessing)return{tiles:[],currentHashes:[],changedIndices:[]};this.isProcessing=!0;try{let t=await this.getSharedScreenCapture(),i=[],n=[];this.frameCount++;let a=new Map;for(let o=0;o<this.totalTiles;o++){let c=await this.extractTile(t,o),l=this.calculateTileChecksum(c.buffer);a.set(o,l),this.lastTileChecksums.set(o,l)}if(!e||e.length===0){let o=[];for(let l=0;l<this.totalTiles;l++)o.push(this.processTileAsync(t,l,!0));let c=await Promise.all(o);return i.push(...c),{tiles:i,currentHashes:Array.from(a.values())}}for(let o=0;o<this.totalTiles;o++)e[o]!==a.get(o)&&n.push(o);if(n.length/this.totalTiles>this.changeThreshold){let o=[];for(let l=0;l<this.totalTiles;l++)o.push(this.processTileAsync(t,l,!0));let c=await Promise.all(o);i.push(...c.map(l=>({...l,fullRefresh:!0})))}else if(n.length>0){let o=n.map(l=>this.processTileAsync(t,l,!1)),c=await Promise.all(o);i.push(...c)}return{tiles:i,currentHashes:Array.from(a.values()),changedIndices:n}}finally{this.isProcessing=!1}}reset(){this.lastTileChecksums.clear(),this.lastTileBuffers.clear(),this.frameCount=0}cleanup(){try{kt.default.existsSync(this.tempDir)&&kt.default.readdirSync(this.tempDir).forEach(t=>kt.default.unlinkSync(si.default.join(this.tempDir,t)))}catch(e){console.warn("Cleanup error:",e)}}}});var K,Ht=Me(()=>{K={robotSettings:{mouseDelay:2,keyboardDelay:2},throttling:{mouseThrottle:8,keyThrottle:25,typeTextThrottle:100,maxTextLength:1e3},resourceManagement:{inactiveTimeout:12e4,memoryCheckInterval:6e4,memoryWarningThreshold:1e3,maxTimersPerClient:100,maxChunkTimersPerClient:50},streaming:{autoStreamingInterval:100,chunkSize:32,chunkDelay:5,updateDelayAfterAction:200}}});var Xc={};Qe(Xc,{ResourceManager:()=>Kn});var Kn,Jc=Me(()=>{Ht();Kn=class{constructor(){this.activeClients=new Map,this.activeTimers=new Map,this.chunkTimers=new Map,this.memoryCheckInterval=null}startResourceMonitoring(){this.memoryCheckInterval=setInterval(()=>{let e=process.memoryUsage(),t=Math.round(e.heapUsed/1024/1024);t>K.resourceManagement.memoryWarningThreshold&&(console.warn(`\u26A0\uFE0F High memory: ${t}MB`),this.cleanupInactiveClients())},K.resourceManagement.memoryCheckInterval)}stopResourceMonitoring(){this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null)}addClient(e,t){this.activeClients.set(e,{...t,lastActivity:Date.now()})}getClient(e){return this.activeClients.get(e)}updateClientActivity(e){let t=this.activeClients.get(e);t&&(t.lastActivity=Date.now())}cleanupInactiveClients(){let e=Date.now(),t=K.resourceManagement.inactiveTimeout;for(let[i,n]of this.activeClients.entries())e-n.lastActivity>t&&(console.log(`\u{1F9F9} Cleaning inactive client: ${i}`),this.cleanupClientResources(i,n),this.activeClients.delete(i))}cleanupClientResources(e,t){try{t?.screenInterval&&(clearInterval(t.screenInterval),t.screenInterval=null);let i=this.activeTimers.get(e);i&&(i.forEach(a=>clearTimeout(a)),this.activeTimers.delete(e));let n=this.chunkTimers.get(e);n&&(n.forEach(a=>clearTimeout(a)),this.chunkTimers.delete(e)),t?.tileManager&&(t.tileManager.cleanup(),t.tileManager.reset())}catch(i){console.error(`Error cleaning up ${e}:`,i.message)}}removeClient(e){let t=this.activeClients.get(e);t&&(this.cleanupClientResources(e,t),this.activeClients.delete(e))}getChunkTimers(e){return this.chunkTimers.has(e)||this.chunkTimers.set(e,new Set),this.chunkTimers.get(e)}cleanupAll(){this.stopResourceMonitoring();for(let[e,t]of this.activeClients.entries())this.cleanupClientResources(e,t);this.activeClients.clear(),this.activeTimers.clear(),this.chunkTimers.clear()}}});var Qc={};Qe(Qc,{ScreenUpdateHelper:()=>Yn});var Yn,Zc=Me(()=>{Ht();Yn=class{constructor(e){this.resourceManager=e}async sendTilesInChunks(e,t,i,n=!1){if(!t||t.length===0)return;let a=K.streaming.chunkSize,r=[];for(let c=0;c<t.length;c+=a)r.push(t.slice(c,c+a));let o=this.resourceManager.getChunkTimers(e.id);for(let c=0;c<r.length;c++){let l=r[c],p=c===r.length-1,u=setTimeout(()=>{o.delete(u),e.connected&&e.emit("tiles-data",{tiles:l,timestamp:i,forceRefresh:!1,userAction:n,chunkInfo:{chunkIndex:c,totalChunks:r.length,isLastChunk:p}})},c*K.streaming.chunkDelay);o.add(u)}}}});var el={};Qe(el,{MouseHandler:()=>Xn});var Xn,tl=Me(()=>{Ht();Xn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastMouseMove=0}setupMouseHandlers(e,t){let i=this.robot;e.on("mouse-move",t(n=>{let a=Date.now();if(!(a-this.lastMouseMove<K.throttling.mouseThrottle)){this.lastMouseMove=a;try{i.moveMouse(n.x,n.y),this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Mouse move error:",r.message)}}})),e.on("mouse-click",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseClick(n.button||"left",n.double||!1),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse click error:",a.message)}})),e.on("mouse-press",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseToggle("down",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse press error:",a.message)}})),e.on("mouse-release",t(async n=>{try{if(!this.resourceManager.getClient(e.id))return;let r=i.getScreenSize(),o=Math.round(n.x/100*r.width),c=Math.round(n.y/100*r.height),l=Math.max(0,Math.min(r.width-1,o)),p=Math.max(0,Math.min(r.height-1,c));i.moveMouse(l,p),i.mouseToggle("up",n.button||"left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Mouse release error:",a.message)}})),e.on("scroll",t(async n=>{try{let{direction:a,amount:r=60,horizontal:o=!1}=n;if(!this.resourceManager.getClient(e.id))return;let l=0,p=0;o||a==="left"||a==="right"?l=a==="right"?r:-r:p=a==="down"?-r:r,i.scrollMouse(l,p),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Scroll error:",a.message)}})),e.on("mouse-drag-select",t(n=>{try{let{startX:a,startY:r,endX:o,endY:c}=n,l=i.getScreenSize(),p=Math.round(a/100*l.width),u=Math.round(r/100*l.height),d=Math.round(o/100*l.width),h=Math.round(c/100*l.height),m=Math.max(0,Math.min(l.width-1,p)),f=Math.max(0,Math.min(l.height-1,u)),v=Math.max(0,Math.min(l.width-1,d)),y=Math.max(0,Math.min(l.height-1,h));i.moveMouse(m,f),i.mouseToggle("down","left"),i.dragMouse(v,y),i.mouseToggle("up","left"),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Drag selection error:",a.message)}}))}}});var sl={};Qe(sl,{KeyboardHandler:()=>Jn});var Jn,il=Me(()=>{Ht();Jn=class{constructor(e,t){this.robot=e,this.resourceManager=t,this.lastKeyPress=0,this.lastTypeText=0}setupKeyboardHandlers(e,t){let i=this.robot;e.on("key-press",t(n=>{let a=Date.now();if(!(a-this.lastKeyPress<K.throttling.keyThrottle)){this.lastKeyPress=a;try{if(!n.key||typeof n.key!="string")return;let r=n.key;if(r.length===1){i.keyTap(r,n.modifier||[]);for(let o of n.modifier||[])i.keyToggle(o,"up")}else switch(r.toLowerCase()){case"enter":case"return":i.keyTap("enter");break;case"space":i.keyTap(" ");break;case"backspace":i.keyTap("backspace");break;case"tab":i.keyTap("tab");break;case"escape":i.keyTap("escape");break;default:i.keyTap(r,n.modifier||[])}this.resourceManager.updateClientActivity(e.id)}catch(r){console.error("Key press error:",r.message)}}})),e.on("type-text",t(n=>{let a=Date.now();if(!(a-this.lastTypeText<K.throttling.typeTextThrottle)){this.lastTypeText=a;try{if(!n.text||typeof n.text!="string")return;let r=n.text;r.length>K.throttling.maxTextLength&&(r=r.substring(0,K.throttling.maxTextLength));let o=r.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,"");setTimeout(()=>{try{i.typeString(o),this.resourceManager.updateClientActivity(e.id);let c=this.resourceManager.getClient(e.id);c?.tileManager&&c.tileManager.clearScreenCache()}catch(c){console.error("Robot typeString error:",c.message)}},10)}catch(r){console.error("Type text error:",r.message)}}}))}}});var nl={};Qe(nl,{ScreenHandler:()=>Qn});var Qn,al=Me(()=>{Qn=class{constructor(e,t){this.resourceManager=e,this.screenUpdateHelper=t}setupScreenHandlers(e,t){e.on("request-screen",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.detectChangedTiles();n.length>0&&e.emit("tiles-data",{tiles:n,timestamp:Date.now()}),this.resourceManager.updateClientActivity(e.id)}catch(n){console.error("Tile capture error:",n),e.emit("screen-error",{error:n.message})}})),e.on("request-screen-with-hashes",t(async i=>{let n=this.resourceManager.getClient(e.id);if(n)try{let a=i.tileHashes||[],r=await n.tileManager.compareClientTileHashes(a);r?.tiles?.length>0?e.emit("tiles-data",{tiles:r.tiles,timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:r.changedIndices}):e.emit("tiles-data",{tiles:[],timestamp:Date.now(),currentHashes:r.currentHashes,changedIndices:[]}),this.resourceManager.updateClientActivity(e.id)}catch(a){console.error("Tile capture with hashes error:",a),e.emit("screen-error",{error:a.message})}})),e.on("start-streaming",t(()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u{1F680} Remote streaming started"),i.screenInterval=setInterval(async()=>{try{let n=await i.tileManager.detectChangedTiles();if(n.length>0){let a=Date.now();await this.screenUpdateHelper.sendTilesInChunks(e,n,a,!1)}}catch(n){console.error("Auto streaming error:",n)}},400))})),e.on("stop-streaming",()=>{let i=this.resourceManager.getClient(e.id);i&&(i.screenInterval&&(clearInterval(i.screenInterval),i.screenInterval=null),console.log("\u23F9\uFE0F Remote streaming stopped"))}),e.on("get-screen-dimensions",t(async()=>{let i=this.resourceManager.getClient(e.id);if(i)try{let n=await i.tileManager.getScreenDimensions();e.emit("screen-dimensions",n)}catch(n){console.error("Get dimensions error:",n),e.emit("screen-error",{error:n.message})}}))}}});var gl=x((bg,ta)=>{"use strict";var Xh=Object.prototype.hasOwnProperty,z="~";function Vt(){}Object.create&&(Vt.prototype=Object.create(null),new Vt().__proto__||(z=!1));function Jh(s,e,t){this.fn=s,this.context=e,this.once=t||!1}function vl(s,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var a=new Jh(t,i||s,n),r=z?z+e:e;return s._events[r]?s._events[r].fn?s._events[r]=[s._events[r],a]:s._events[r].push(a):(s._events[r]=a,s._eventsCount++),s}function ri(s,e){--s._eventsCount===0?s._events=new Vt:delete s._events[e]}function F(){this._events=new Vt,this._eventsCount=0}F.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)Xh.call(t,i)&&e.push(z?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};F.prototype.listeners=function(e){var t=z?z+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,a=i.length,r=new Array(a);n<a;n++)r[n]=i[n].fn;return r};F.prototype.listenerCount=function(e){var t=z?z+e:e,i=this._events[t];return i?i.fn?1:i.length:0};F.prototype.emit=function(e,t,i,n,a,r){var o=z?z+e:e;if(!this._events[o])return!1;var c=this._events[o],l=arguments.length,p,u;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),l){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,i),!0;case 4:return c.fn.call(c.context,t,i,n),!0;case 5:return c.fn.call(c.context,t,i,n,a),!0;case 6:return c.fn.call(c.context,t,i,n,a,r),!0}for(u=1,p=new Array(l-1);u<l;u++)p[u-1]=arguments[u];c.fn.apply(c.context,p)}else{var d=c.length,h;for(u=0;u<d;u++)switch(c[u].once&&this.removeListener(e,c[u].fn,void 0,!0),l){case 1:c[u].fn.call(c[u].context);break;case 2:c[u].fn.call(c[u].context,t);break;case 3:c[u].fn.call(c[u].context,t,i);break;case 4:c[u].fn.call(c[u].context,t,i,n);break;default:if(!p)for(h=1,p=new Array(l-1);h<l;h++)p[h-1]=arguments[h];c[u].fn.apply(c[u].context,p)}}return!0};F.prototype.on=function(e,t,i){return vl(this,e,t,i,!1)};F.prototype.once=function(e,t,i){return vl(this,e,t,i,!0)};F.prototype.removeListener=function(e,t,i,n){var a=z?z+e:e;if(!this._events[a])return this;if(!t)return ri(this,a),this;var r=this._events[a];if(r.fn)r.fn===t&&(!n||r.once)&&(!i||r.context===i)&&ri(this,a);else{for(var o=0,c=[],l=r.length;o<l;o++)(r[o].fn!==t||n&&!r[o].once||i&&r[o].context!==i)&&c.push(r[o]);c.length?this._events[a]=c.length===1?c[0]:c:ri(this,a)}return this};F.prototype.removeAllListeners=function(e){var t;return e?(t=z?z+e:e,this._events[t]&&ri(this,t)):(this._events=new Vt,this._eventsCount=0),this};F.prototype.off=F.prototype.removeListener;F.prototype.addListener=F.prototype.on;F.prefixed=z;F.EventEmitter=F;typeof ta<"u"&&(ta.exports=F)});var yl=x((yg,bl)=>{"use strict";bl.exports=function(e,t){if(t=t.split(":")[0],e=+e,!e)return!1;switch(t){case"http":case"ws":return e!==80;case"https":case"wss":return e!==443;case"ftp":return e!==21;case"gopher":return e!==70;case"file":return!1}return e!==0}});var oi=x(_l=>{var Ce=_l,Qh=require("url"),wl=require("util")._extend,Zh=yl(),ex=/(^|,)\s*upgrade\s*($|,)/i,sa=/^https|wss/;Ce.isSSL=sa;Ce.setupOutgoing=function(s,e,t,i){s.port=e[i||"target"].port||(sa.test(e[i||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(o){s[o]=e[i||"target"][o]}),s.method=e.method||t.method,s.headers=wl({},t.headers),e.headers&&wl(s.headers,e.headers),e.auth&&(s.auth=e.auth),e.ca&&(s.ca=e.ca),sa.test(e[i||"target"].protocol)&&(s.rejectUnauthorized=typeof e.secure>"u"?!0:e.secure),s.agent=e.agent||!1,s.localAddress=e.localAddress,s.agent||(s.headers=s.headers||{},(typeof s.headers.connection!="string"||!ex.test(s.headers.connection))&&(s.headers.connection="close"));var n=e[i||"target"],a=n&&e.prependPath!==!1&&n.path||"",r=e.toProxy?t.url:Qh.parse(t.url).path||"";return r=e.ignorePath?"":r,s.path=Ce.urlJoin(a,r),e.changeOrigin&&(s.headers.host=Zh(s.port,e[i||"target"].protocol)&&!tx(s.host)?s.host+":"+s.port:s.host),s};Ce.setupSocket=function(s){return s.setTimeout(0),s.setNoDelay(!0),s.setKeepAlive(!0,0),s};Ce.getPort=function(s){var e=s.headers.host?s.headers.host.match(/:(\d+)/):"";return e?e[1]:Ce.hasEncryptedConnection(s)?"443":"80"};Ce.hasEncryptedConnection=function(s){return!!(s.connection.encrypted||s.connection.pair)};Ce.urlJoin=function(){var s=Array.prototype.slice.call(arguments),e=s.length-1,t=s[e],i=t.split("?"),n;return s[e]=i.shift(),n=[s.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],n.push.apply(n,i),n.join("?")};Ce.rewriteCookieProperty=function s(e,t,i){return Array.isArray(e)?e.map(function(n){return s(n,t,i)}):e.replace(new RegExp("(;\\s*"+i+"=)([^;]+)","i"),function(n,a,r){var o;if(r in t)o=t[r];else if("*"in t)o=t["*"];else return n;return o?a+o:""})};function tx(s){return!!~s.indexOf(":")}});var Cl=x((_g,kl)=>{var Sl=require("url"),El=oi(),sx=/^201|30(1|2|7|8)$/;kl.exports={removeChunked:function(e,t,i){e.httpVersion==="1.0"&&delete i.headers["transfer-encoding"]},setConnection:function(e,t,i){e.httpVersion==="1.0"?i.headers.connection=e.headers.connection||"close":e.httpVersion!=="2.0"&&!i.headers.connection&&(i.headers.connection=e.headers.connection||"keep-alive")},setRedirectHostRewrite:function(e,t,i,n){if((n.hostRewrite||n.autoRewrite||n.protocolRewrite)&&i.headers.location&&sx.test(i.statusCode)){var a=Sl.parse(n.target),r=Sl.parse(i.headers.location);if(a.host!=r.host)return;n.hostRewrite?r.host=n.hostRewrite:n.autoRewrite&&(r.host=e.headers.host),n.protocolRewrite&&(r.protocol=n.protocolRewrite),i.headers.location=r.format()}},writeHeaders:function(e,t,i,n){var a=n.cookieDomainRewrite,r=n.cookiePathRewrite,o=n.preserveHeaderKeyCase,c,l=function(d,h){h!=null&&(a&&d.toLowerCase()==="set-cookie"&&(h=El.rewriteCookieProperty(h,a,"domain")),r&&d.toLowerCase()==="set-cookie"&&(h=El.rewriteCookieProperty(h,r,"path")),t.setHeader(String(d).trim(),h))};if(typeof a=="string"&&(a={"*":a}),typeof r=="string"&&(r={"*":r}),o&&i.rawHeaders!=null){c={};for(var p=0;p<i.rawHeaders.length;p+=2){var u=i.rawHeaders[p];c[u.toLowerCase()]=u}}Object.keys(i.headers).forEach(function(d){var h=i.headers[d];o&&c&&(d=c[d]||d),l(d,h)})},writeStatusCode:function(e,t,i){i.statusMessage?(t.statusCode=i.statusCode,t.statusMessage=i.statusMessage):t.statusCode=i.statusCode}}});var Ol=x((Sg,Tl)=>{var Gt;Tl.exports=function(){if(!Gt){try{Gt=R()("follow-redirects")}catch{}typeof Gt!="function"&&(Gt=function(){})}Gt.apply(null,arguments)}});var Il=x((Eg,ma)=>{var Yt=require("url"),Kt=Yt.URL,ix=require("http"),nx=require("https"),oa=require("stream").Writable,ca=require("assert"),Rl=Ol();(function(){var e=typeof process<"u",t=typeof window<"u"&&typeof document<"u",i=Xe(Error.captureStackTrace);!e&&(t||!i)&&console.warn("The follow-redirects package should be excluded from browser builds.")})();var la=!1;try{ca(new Kt(""))}catch(s){la=s.code==="ERR_INVALID_URL"}var ax=["auth","host","hostname","href","path","pathname","port","protocol","query","search","hash"],pa=["abort","aborted","connect","error","socket","timeout"],ua=Object.create(null);pa.forEach(function(s){ua[s]=function(e,t,i){this._redirectable.emit(s,e,t,i)}});var na=Xt("ERR_INVALID_URL","Invalid URL",TypeError),aa=Xt("ERR_FR_REDIRECTION_FAILURE","Redirected request failed"),rx=Xt("ERR_FR_TOO_MANY_REDIRECTS","Maximum number of redirects exceeded",aa),ox=Xt("ERR_FR_MAX_BODY_LENGTH_EXCEEDED","Request body larger than maxBodyLength limit"),cx=Xt("ERR_STREAM_WRITE_AFTER_END","write after end"),lx=oa.prototype.destroy||Pl;function Y(s,e){oa.call(this),this._sanitizeOptions(s),this._options=s,this._ended=!1,this._ending=!1,this._redirectCount=0,this._redirects=[],this._requestBodyLength=0,this._requestBodyBuffers=[],e&&this.on("response",e);var t=this;this._onNativeResponse=function(i){try{t._processResponse(i)}catch(n){t.emit("error",n instanceof aa?n:new aa({cause:n}))}},this._performRequest()}Y.prototype=Object.create(oa.prototype);Y.prototype.abort=function(){fa(this._currentRequest),this._currentRequest.abort(),this.emit("abort")};Y.prototype.destroy=function(s){return fa(this._currentRequest,s),lx.call(this,s),this};Y.prototype.write=function(s,e,t){if(this._ending)throw new cx;if(!Ye(s)&&!dx(s))throw new TypeError("data should be a string, Buffer or Uint8Array");if(Xe(e)&&(t=e,e=null),s.length===0){t&&t();return}this._requestBodyLength+s.length<=this._options.maxBodyLength?(this._requestBodyLength+=s.length,this._requestBodyBuffers.push({data:s,encoding:e}),this._currentRequest.write(s,e,t)):(this.emit("error",new ox),this.abort())};Y.prototype.end=function(s,e,t){if(Xe(s)?(t=s,s=e=null):Xe(e)&&(t=e,e=null),!s)this._ended=this._ending=!0,this._currentRequest.end(null,null,t);else{var i=this,n=this._currentRequest;this.write(s,e,function(){i._ended=!0,n.end(null,null,t)}),this._ending=!0}};Y.prototype.setHeader=function(s,e){this._options.headers[s]=e,this._currentRequest.setHeader(s,e)};Y.prototype.removeHeader=function(s){delete this._options.headers[s],this._currentRequest.removeHeader(s)};Y.prototype.setTimeout=function(s,e){var t=this;function i(r){r.setTimeout(s),r.removeListener("timeout",r.destroy),r.addListener("timeout",r.destroy)}function n(r){t._timeout&&clearTimeout(t._timeout),t._timeout=setTimeout(function(){t.emit("timeout"),a()},s),i(r)}function a(){t._timeout&&(clearTimeout(t._timeout),t._timeout=null),t.removeListener("abort",a),t.removeListener("error",a),t.removeListener("response",a),t.removeListener("close",a),e&&t.removeListener("timeout",e),t.socket||t._currentRequest.removeListener("socket",n)}return e&&this.on("timeout",e),this.socket?n(this.socket):this._currentRequest.once("socket",n),this.on("socket",i),this.on("abort",a),this.on("error",a),this.on("response",a),this.on("close",a),this};["flushHeaders","getHeader","setNoDelay","setSocketKeepAlive"].forEach(function(s){Y.prototype[s]=function(e,t){return this._currentRequest[s](e,t)}});["aborted","connection","socket"].forEach(function(s){Object.defineProperty(Y.prototype,s,{get:function(){return this._currentRequest[s]}})});Y.prototype._sanitizeOptions=function(s){if(s.headers||(s.headers={}),s.host&&(s.hostname||(s.hostname=s.host),delete s.host),!s.pathname&&s.path){var e=s.path.indexOf("?");e<0?s.pathname=s.path:(s.pathname=s.path.substring(0,e),s.search=s.path.substring(e))}};Y.prototype._performRequest=function(){var s=this._options.protocol,e=this._options.nativeProtocols[s];if(!e)throw new TypeError("Unsupported protocol "+s);if(this._options.agents){var t=s.slice(0,-1);this._options.agent=this._options.agents[t]}var i=this._currentRequest=e.request(this._options,this._onNativeResponse);i._redirectable=this;for(var n of pa)i.on(n,ua[n]);if(this._currentUrl=/^\//.test(this._options.path)?Yt.format(this._options):this._options.path,this._isRedirect){var a=0,r=this,o=this._requestBodyBuffers;(function c(l){if(i===r._currentRequest)if(l)r.emit("error",l);else if(a<o.length){var p=o[a++];i.finished||i.write(p.data,p.encoding,c)}else r._ended&&i.end()})()}};Y.prototype._processResponse=function(s){var e=s.statusCode;this._options.trackRedirects&&this._redirects.push({url:this._currentUrl,headers:s.headers,statusCode:e});var t=s.headers.location;if(!t||this._options.followRedirects===!1||e<300||e>=400){s.responseUrl=this._currentUrl,s.redirects=this._redirects,this.emit("response",s),this._requestBodyBuffers=[];return}if(fa(this._currentRequest),s.destroy(),++this._redirectCount>this._options.maxRedirects)throw new rx;var i,n=this._options.beforeRedirect;n&&(i=Object.assign({Host:s.req.getHeader("host")},this._options.headers));var a=this._options.method;((e===301||e===302)&&this._options.method==="POST"||e===303&&!/^(?:GET|HEAD)$/.test(this._options.method))&&(this._options.method="GET",this._requestBodyBuffers=[],ia(/^content-/i,this._options.headers));var r=ia(/^host$/i,this._options.headers),o=da(this._currentUrl),c=r||o.host,l=/^\w+:/.test(t)?this._currentUrl:Yt.format(Object.assign(o,{host:c})),p=px(t,l);if(Rl("redirecting to",p.href),this._isRedirect=!0,ra(p,this._options),(p.protocol!==o.protocol&&p.protocol!=="https:"||p.host!==c&&!ux(p.host,c))&&ia(/^(?:(?:proxy-)?authorization|cookie)$/i,this._options.headers),Xe(n)){var u={headers:s.headers,statusCode:e},d={url:l,method:a,headers:i};n(this._options,u,d),this._sanitizeOptions(this._options)}this._performRequest()};function Al(s){var e={maxRedirects:21,maxBodyLength:10485760},t={};return Object.keys(s).forEach(function(i){var n=i+":",a=t[n]=s[i],r=e[i]=Object.create(a);function o(l,p,u){return fx(l)?l=ra(l):Ye(l)?l=ra(da(l)):(u=p,p=jl(l),l={protocol:n}),Xe(p)&&(u=p,p=null),p=Object.assign({maxRedirects:e.maxRedirects,maxBodyLength:e.maxBodyLength},l,p),p.nativeProtocols=t,!Ye(p.host)&&!Ye(p.hostname)&&(p.hostname="::1"),ca.equal(p.protocol,n,"protocol mismatch"),Rl("options",p),new Y(p,u)}function c(l,p,u){var d=r.request(l,p,u);return d.end(),d}Object.defineProperties(r,{request:{value:o,configurable:!0,enumerable:!0,writable:!0},get:{value:c,configurable:!0,enumerable:!0,writable:!0}})}),e}function Pl(){}function da(s){var e;if(la)e=new Kt(s);else if(e=jl(Yt.parse(s)),!Ye(e.protocol))throw new na({input:s});return e}function px(s,e){return la?new Kt(s,e):da(Yt.resolve(e,s))}function jl(s){if(/^\[/.test(s.hostname)&&!/^\[[:0-9a-f]+\]$/i.test(s.hostname))throw new na({input:s.href||s});if(/^\[/.test(s.host)&&!/^\[[:0-9a-f]+\](:\d+)?$/i.test(s.host))throw new na({input:s.href||s});return s}function ra(s,e){var t=e||{};for(var i of ax)t[i]=s[i];return t.hostname.startsWith("[")&&(t.hostname=t.hostname.slice(1,-1)),t.port!==""&&(t.port=Number(t.port)),t.path=t.search?t.pathname+t.search:t.pathname,t}function ia(s,e){var t;for(var i in e)s.test(i)&&(t=e[i],delete e[i]);return t===null||typeof t>"u"?void 0:String(t).trim()}function Xt(s,e,t){function i(n){Xe(Error.captureStackTrace)&&Error.captureStackTrace(this,this.constructor),Object.assign(this,n||{}),this.code=s,this.message=this.cause?e+": "+this.cause.message:e}return i.prototype=new(t||Error),Object.defineProperties(i.prototype,{constructor:{value:i,enumerable:!1},name:{value:"Error ["+s+"]",enumerable:!1}}),i}function fa(s,e){for(var t of pa)s.removeListener(t,ua[t]);s.on("error",Pl),s.destroy(e)}function ux(s,e){ca(Ye(s)&&Ye(e));var t=s.length-e.length-1;return t>0&&s[t]==="."&&s.endsWith(e)}function Ye(s){return typeof s=="string"||s instanceof String}function Xe(s){return typeof s=="function"}function dx(s){return typeof s=="object"&&"length"in s}function fx(s){return Kt&&s instanceof Kt}ma.exports=Al({http:ix,https:nx});ma.exports.wrap=Al});var Bl=x((kg,Nl)=>{var mx=require("http"),hx=require("https"),Jt=Cl(),ci=oi(),xx=Il();Jt=Object.keys(Jt).map(function(s){return Jt[s]});var vx={http:mx,https:hx};Nl.exports={deleteLength:function(e,t,i){(e.method==="DELETE"||e.method==="OPTIONS")&&!e.headers["content-length"]&&(e.headers["content-length"]="0",delete e.headers["transfer-encoding"])},timeout:function(e,t,i){i.timeout&&e.socket.setTimeout(i.timeout)},XHeaders:function(e,t,i){if(i.xfwd){var n=e.isSpdy||ci.hasEncryptedConnection(e),a={for:e.connection.remoteAddress||e.socket.remoteAddress,port:ci.getPort(e),proto:n?"https":"http"};["for","port","proto"].forEach(function(r){e.headers["x-forwarded-"+r]=(e.headers["x-forwarded-"+r]||"")+(e.headers["x-forwarded-"+r]?",":"")+a[r]}),e.headers["x-forwarded-host"]=e.headers["x-forwarded-host"]||e.headers.host||""}},stream:function(e,t,i,n,a,r){a.emit("start",e,t,i.target||i.forward);var o=i.followRedirects?xx:vx,c=o.http,l=o.https;if(i.forward){var p=(i.forward.protocol==="https:"?l:c).request(ci.setupOutgoing(i.ssl||{},i,e,"forward")),u=m(p,i.forward);if(e.on("error",u),p.on("error",u),(i.buffer||e).pipe(p),!i.target)return t.end()}var d=(i.target.protocol==="https:"?l:c).request(ci.setupOutgoing(i.ssl||{},i,e));d.on("socket",function(f){a&&!d.getHeader("expect")&&a.emit("proxyReq",d,e,t,i)}),i.proxyTimeout&&d.setTimeout(i.proxyTimeout,function(){d.abort()}),e.on("aborted",function(){d.abort()});var h=m(d,i.target);e.on("error",h),d.on("error",h);function m(f,v){return function(g){if(e.socket.destroyed&&g.code==="ECONNRESET")return a.emit("econnreset",g,e,t,v),f.abort();r?r(g,e,t,v):a.emit("error",g,e,t,v)}}(i.buffer||e).pipe(d),d.on("response",function(f){if(a&&a.emit("proxyRes",f,e,t),!t.headersSent&&!i.selfHandleResponse)for(var v=0;v<Jt.length&&!Jt[v](e,t,f,i);v++);t.finished?a&&a.emit("end",e,t,f):(f.on("end",function(){a&&a.emit("end",e,t,f)}),i.selfHandleResponse||f.pipe(t))})}}});var Ml=x((Cg,Ll)=>{var gx=require("http"),bx=require("https"),Ct=oi();Ll.exports={checkMethodAndHeader:function(e,t){if(e.method!=="GET"||!e.headers.upgrade||e.headers.upgrade.toLowerCase()!=="websocket")return t.destroy(),!0},XHeaders:function(e,t,i){if(i.xfwd){var n={for:e.connection.remoteAddress||e.socket.remoteAddress,port:Ct.getPort(e),proto:Ct.hasEncryptedConnection(e)?"wss":"ws"};["for","port","proto"].forEach(function(a){e.headers["x-forwarded-"+a]=(e.headers["x-forwarded-"+a]||"")+(e.headers["x-forwarded-"+a]?",":"")+n[a]})}},stream:function(e,t,i,n,a,r){var o=function(p,u){return Object.keys(u).reduce(function(d,h){var m=u[h];if(!Array.isArray(m))return d.push(h+": "+m),d;for(var f=0;f<m.length;f++)d.push(h+": "+m[f]);return d},[p]).join(`\r
21
19
  `)+`\r
22
20
  \r
23
- `};At.setupSocket(t),n&&n.length&&t.unshift(n);var c=(At.isSSL.test(i.target.protocol)?tx:ex).request(At.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",c,e,t,i,n),c.on("error",l),c.on("response",function(p){p.upgrade||(t.write(o("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),c.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),At.setupSocket(u),d&&d.length&&u.unshift(d),t.write(o("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),c.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var yp=v((db,bp)=>{var xp=bp.exports,mp=require("util")._extend,sx=require("url").parse,gp=Kl(),ix=require("http"),nx=require("https"),hp=up(),vp=fp();xp.Server=tt;function Oa(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,o,c;typeof a[r]=="function"&&(c=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=mp({},e),mp(l,a[r]),r--),a[r]instanceof Buffer&&(o=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=sx(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,o,this,c);p++);}}}xp.createRightProxy=Oa;function tt(s){gp.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=Oa("web")(s),this.ws=this.proxyWebsocketRequest=Oa("ws")(s),this.options=s,this.webPasses=Object.keys(hp).map(function(e){return hp[e]}),this.wsPasses=Object.keys(vp).map(function(e){return vp[e]}),this.on("error",this.onError,this)}require("util").inherits(tt,gp);tt.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};tt.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?nx.createServer(this.options.ssl,i):ix.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};tt.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};tt.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};tt.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var _p=v((fb,wp)=>{var is=yp().Server;function Ra(s){return new is(s)}is.createProxyServer=Ra;is.createServer=Ra;is.createProxy=Ra;wp.exports=is});var Ep=v((mb,Sp)=>{Sp.exports=_p()});var Gp=require("http"),Kp=require("url"),hi=D(require("path"),1),Yp=require("url"),Xp=require("child_process");var nl=D(il(),1),{Server:al,Namespace:Ug,Socket:Hg}=nl.default;var ql=D(require("node-pty"),1),li=D(require("os"),1);var De=null;function kv(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function Ll(){if(De!==null)return De;if(kv())return De=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),De;try{let s=await Promise.resolve().then(()=>D(aa(),1));(s.default||s).getScreenSize(),De=!0}catch{De=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return De}function Ml(){return De===!0}async function Dl(s){let e=null,t=null,i=null,n=null,a=null,r=null,o=null,c=async()=>{if(e)return!0;try{let f=await Promise.resolve().then(()=>D(aa(),1));e=f.default||f;let{TileManager:x}=await Promise.resolve().then(()=>(kl(),El)),{ResourceManager:w}=await Promise.resolve().then(()=>(Tl(),Cl)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(Rl(),Ol)),{MouseHandler:M}=await Promise.resolve().then(()=>(Pl(),Al)),{KeyboardHandler:P}=await Promise.resolve().then(()=>(Nl(),jl)),{ScreenHandler:ue}=await Promise.resolve().then(()=>(Bl(),Il));return t=x,i=w,n=g,a=M,r=P,o=ue,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let x=f.handshake.auth?.apiKey;if(!x){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await c()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new o(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:x});let M=P=>P;d.setupMouseHandlers(f,M),h.setupKeyboardHandlers(f,M),m.setupScreenHandlers(f,M),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var ge=new Map,ci=0,Kt=null,Cv=6e4;function da(){return process.env.CODESPACES==="true"}function Tv(){return da()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown"}:null}function Ov(){Kt||(Kt=setInterval(()=>{process.memoryUsage()},Cv))}function Rv(){Kt&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(Kt),Kt=null)}function Fl(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Av(){let s=li.default.homedir(),e=li.default.userInfo().username,t=Fl(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}function Ul(s){s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),ci++,da()&&ci===1&&Ov(),e.emit("serverInfo",{remoteAvailable:Ml(),...Tv()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of ge)i.push({id:n,name:a.name,createdAt:a.createdAt});t(i)}),e.on("createSession",({name:t},i)=>{let n=`session-${Date.now()}`,a=Fl(),r=Av();try{let o=process.platform==="win32"?[]:["-l"],c=ql.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:li.default.homedir(),env:r,useConpty:!1}),l={pty:c,name:t||`Terminal ${ge.size+1}`,createdAt:Date.now(),buffer:[]},p=50*1024;c.onData(u=>{l.buffer.push(u);let d=l.buffer.reduce((h,m)=>h+m.length,0);for(;d>p&&l.buffer.length>1;){let h=l.buffer.shift();d-=h.length}s.emit("output",{sessionId:n,data:Buffer.from(u,"utf-8")})}),ge.set(n,l),console.log(`PTY created: sessionId=${n}, name=${t}`),c.onExit(({exitCode:u})=>{console.log(`PTY exited: sessionId=${n}, code=${u}`),ge.delete(n),s.emit("sessionClosed",n)}),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",(t,i)=>{let n=ge.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=ge.get(t);if(n){let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty.write(a)}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=ge.get(t);a&&a.pty.resize(i,n)}),e.on("deleteSession",(t,i)=>{let n=ge.get(t);n?(n.pty.kill(),ge.delete(t),i({success:!0})):i({success:!1,error:"Session not found"})}),e.on("renameSession",({sessionId:t,name:i},n)=>{let a=ge.get(t);a?(a.name=i,n({success:!0})):n({success:!1,error:"Session not found"})}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),ci--,da()&&ci===0&&Rv()})})}var S=D(require("fs"),1),Oe=D(require("path"),1),Yt=D(require("os"),1),qe=require("child_process");var Hl=["node_modules",".git","dist","build",".next","coverage","__pycache__",".cache",".vscode",".idea",".turbo",".vercel",".output"],zl=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function Wl(s){return Hl.includes(s)}function Xt(s){let e=Oe.default.extname(s).toLowerCase();return zl.includes(e)}function Pv(s,e){return s.isDirectory()?"folder":Xt(e)?"binary":"file"}function pi(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function $l(s,e,t,i=50){if(!(t.length>=i))try{let n=S.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||Wl(a))continue;let r=Oe.default.join(s,a);try{let o=S.default.statSync(r);o.isDirectory()?$l(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:Xt(a)?"binary":"file",size:o.size,sizeFormatted:pi(o.size)})}catch{}}}catch{}}function Vl(s){s.on("connection",e=>{e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Yt.default.homedir(),a=t?.startsWith("~")?t.replace("~",Yt.default.homedir()):n;if(!S.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=S.default.readdirSync(a),o=[];for(let c of r)if(!(c.startsWith(".")&&c!==".env"&&c!==".env.example")&&!Wl(c))try{let l=Oe.default.join(a,c),p=S.default.statSync(l);o.push({name:c,path:l,type:Pv(p,c),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?pi(p.size):null,modified:p.mtime.getTime()})}catch{}o.sort((c,l)=>c.type==="folder"&&l.type!=="folder"?-1:c.type!=="folder"&&l.type==="folder"?1:c.name.localeCompare(l.name)),i({success:!0,files:o,currentPath:a,parentPath:Oe.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Yt.default.homedir()):t||Yt.default.homedir();if(!S.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];$l(a,i,r,50),r.sort((o,c)=>{let l=o.name.toLowerCase()===i.toLowerCase(),p=c.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:o.path.length-c.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!S.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=S.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${pi(n.size)}). Max ${pi(204800)}`});return}if(Xt(t)){i({success:!1,error:"Cannot open binary file"});return}let a=S.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{S.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(S.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?S.default.mkdirSync(t,{recursive:!0}):S.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!S.default.existsSync(t)){i({success:!1,error:"Item not found"});return}S.default.statSync(t).isDirectory()?S.default.rmSync(t,{recursive:!0}):S.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!S.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(S.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}S.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,qe.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
24
- `).filter(Boolean),r=[],o={};try{(0,qe.execSync)("git diff HEAD --numstat",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
25
- `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;o[p[2]]={added:u,deleted:d}}})}catch{}for(let c of a){let l=c.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=o[u]||{added:0,deleted:0};if(d==="?")try{let m=Oe.default.join(t,u);if(S.default.existsSync(m)&&!Xt(u)){let f=S.default.readFileSync(m,"utf-8");h.added=f.split(`
26
- `).length,h.deleted=0}}catch{}r.push({status:d,path:u,added:h.added,deleted:h.deleted})}i({success:!0,files:r})}catch{i({success:!1,error:"Not a git repository or git not available"})}}),e.on("gitDiff",({repoPath:t,file:i,status:n},a)=>{try{let r="";if(i&&n==="?"){let o=Oe.default.join(t,i);if(S.default.existsSync(o)){let l=S.default.readFileSync(o,"utf-8").split(`
21
+ `};Ct.setupSocket(t),n&&n.length&&t.unshift(n);var c=(Ct.isSSL.test(i.target.protocol)?bx:gx).request(Ct.setupOutgoing(i.ssl||{},i,e));return a&&a.emit("proxyReqWs",c,e,t,i,n),c.on("error",l),c.on("response",function(p){p.upgrade||(t.write(o("HTTP/"+p.httpVersion+" "+p.statusCode+" "+p.statusMessage,p.headers)),p.pipe(t))}),c.on("upgrade",function(p,u,d){u.on("error",l),u.on("end",function(){a.emit("close",p,u,d)}),t.on("error",function(){u.end()}),Ct.setupSocket(u),d&&d.length&&u.unshift(d),t.write(o("HTTP/1.1 101 Switching Protocols",p.headers)),u.pipe(t).pipe(u),a.emit("open",u),a.emit("proxySocket",u)}),c.end();function l(p){r?r(p,e,t):a.emit("error",p,e,t),t.end()}}}});var Wl=x((Tg,zl)=>{var Ul=zl.exports,Dl=require("util")._extend,yx=require("url").parse,Hl=gl(),wx=require("http"),_x=require("https"),ql=Bl(),Fl=Ml();Ul.Server=Je;function ha(s){return function(e){return function(t,i){var n=s==="ws"?this.wsPasses:this.webPasses,a=[].slice.call(arguments),r=a.length-1,o,c;typeof a[r]=="function"&&(c=a[r],r--);var l=e;if(!(a[r]instanceof Buffer)&&a[r]!==i&&(l=Dl({},e),Dl(l,a[r]),r--),a[r]instanceof Buffer&&(o=a[r]),["target","forward"].forEach(function(u){typeof l[u]=="string"&&(l[u]=yx(l[u]))}),!l.target&&!l.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var p=0;p<n.length&&!n[p](t,i,l,o,this,c);p++);}}}Ul.createRightProxy=ha;function Je(s){Hl.call(this),s=s||{},s.prependPath=s.prependPath!==!1,this.web=this.proxyRequest=ha("web")(s),this.ws=this.proxyWebsocketRequest=ha("ws")(s),this.options=s,this.webPasses=Object.keys(ql).map(function(e){return ql[e]}),this.wsPasses=Object.keys(Fl).map(function(e){return Fl[e]}),this.on("error",this.onError,this)}require("util").inherits(Je,Hl);Je.prototype.onError=function(s){if(this.listeners("error").length===1)throw s};Je.prototype.listen=function(s,e){var t=this,i=function(n,a){t.web(n,a)};return this._server=this.options.ssl?_x.createServer(this.options.ssl,i):wx.createServer(i),this.options.ws&&this._server.on("upgrade",function(n,a,r){t.ws(n,a,r)}),this._server.listen(s,e),this};Je.prototype.close=function(s){var e=this;this._server&&this._server.close(t);function t(){e._server=null,s&&s.apply(null,arguments)}};Je.prototype.before=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n,0,t)};Je.prototype.after=function(s,e,t){if(s!=="ws"&&s!=="web")throw new Error("type must be `web` or `ws`");var i=s==="ws"?this.wsPasses:this.webPasses,n=!1;if(i.forEach(function(a,r){a.name===e&&(n=r)}),n===!1)throw new Error("No such pass");i.splice(n++,0,t)}});var Vl=x((Og,$l)=>{var Qt=Wl().Server;function xa(s){return new Qt(s)}Qt.createProxyServer=xa;Qt.createServer=xa;Qt.createProxy=xa;$l.exports=Qt});var Kl=x((Rg,Gl)=>{Gl.exports=Vl()});var vp=require("http"),gp=require("url"),pi=M(require("path"),1),bp=require("url"),yp=require("child_process");var $c=M(Wc(),1),{Server:Vc,Namespace:ag,Socket:rg}=$c.default;var ll=M(require("node-pty"),1),ni=M(require("os"),1);var Be=null;function zh(){return process.env.CODESPACES==="true"||process.env.GITPOD_WORKSPACE_ID||process.platform==="linux"&&!process.env.DISPLAY}async function rl(){if(Be!==null)return Be;if(zh())return Be=!1,console.log("\u2139\uFE0F Remote desktop not available (headless environment)"),Be;try{let s=await import("@hurdlegroup/robotjs");(s.default||s).getScreenSize(),Be=!0}catch{Be=!1,console.log("\u2139\uFE0F Remote desktop not available (no display or robotjs not installed)")}return Be}function ol(){return Be===!0}async function cl(s){let e=null,t=null,i=null,n=null,a=null,r=null,o=null,c=async()=>{if(e)return!0;try{let f=await import("@hurdlegroup/robotjs");e=f.default||f;let{TileManager:v}=await Promise.resolve().then(()=>(Yc(),Kc)),{ResourceManager:y}=await Promise.resolve().then(()=>(Jc(),Xc)),{ScreenUpdateHelper:g}=await Promise.resolve().then(()=>(Zc(),Qc)),{MouseHandler:L}=await Promise.resolve().then(()=>(tl(),el)),{KeyboardHandler:A}=await Promise.resolve().then(()=>(il(),sl)),{ScreenHandler:pe}=await Promise.resolve().then(()=>(al(),nl));return t=v,i=y,n=g,a=L,r=A,o=pe,e.setMouseDelay(2),e.setKeyboardDelay(2),!0}catch(f){return console.error("\u274C Failed to load remote modules:",f.message),!1}},l=s.of("/remote"),p=null,u=null,d=null,h=null,m=null;l.on("connection",async f=>{let v=f.handshake.auth?.apiKey;if(!v){console.log("\u274C Remote connection rejected: no apiKey"),f.disconnect();return}if(console.log("\u{1F5A5}\uFE0F Remote client connected:",f.id),!await c()){f.emit("error",{message:"Remote desktop not available"}),f.disconnect();return}p||(p=new i,u=new n(p),d=new a(e,p),h=new r(e,p),m=new o(p,u),p.startResourceMonitoring()),f.isAuthenticated=!0;let g=new t(e);p.addClient(f.id,{tileManager:g,screenInterval:null,authenticated:!0,apiKey:v});let L=A=>A;d.setupMouseHandlers(f,L),h.setupKeyboardHandlers(f,L),m.setupScreenHandlers(f,L),f.on("disconnect",()=>{console.log("\u{1F5A5}\uFE0F Remote client disconnected:",f.id),p.removeClient(f.id)})})}var xe=new Map,ii=0,zt=null,Wh=6e4;function Zn(){return process.env.CODESPACES==="true"}function $h(){return Zn()?{isCodespaces:!0,codespaceName:process.env.CODESPACE_NAME||"unknown"}:null}function Vh(){zt||(zt=setInterval(()=>{process.memoryUsage()},Wh))}function Gh(){zt&&(console.log("\u23F8\uFE0F Stopping Codespaces heartbeat"),clearInterval(zt),zt=null)}function pl(){return process.platform==="win32"?process.env.COMSPEC||"powershell.exe":process.env.SHELL||"/bin/zsh"}function Kh(){let s=ni.default.homedir(),e=ni.default.userInfo().username,t=pl(),i={...process.env};return Object.assign(i,{HOME:s,USER:e,LOGNAME:e,SHELL:t,TERM:"xterm-256color",COLORTERM:"truecolor",LANG:"en_US.UTF-8",LC_ALL:"en_US.UTF-8",LC_CTYPE:"en_US.UTF-8",PWD:s,OLDPWD:s,TMPDIR:i.TMPDIR||(process.platform==="win32"?i.TEMP||i.TMP:"/tmp"),__CF_USER_TEXT_ENCODING:i.__CF_USER_TEXT_ENCODING,XPC_FLAGS:i.XPC_FLAGS,XPC_SERVICE_NAME:i.XPC_SERVICE_NAME,SSH_AUTH_SOCK:i.SSH_AUTH_SOCK,TERM_PROGRAM:"9Remote",TERM_PROGRAM_VERSION:"1.0.0",ITERM_SESSION_ID:`9remote-${Date.now()}`,SHLVL:"1"}),i}function ul(s){s.on("connection",e=>{console.log(`\u{1F4DF} Terminal client connected: ${e.id}`),ii++,Zn()&&ii===1&&Vh(),e.emit("serverInfo",{remoteAvailable:ol(),...$h()}),e.on("getSessions",t=>{let i=[];for(let[n,a]of xe)i.push({id:n,name:a.name,createdAt:a.createdAt});t(i)}),e.on("createSession",({name:t},i)=>{let n=`session-${Date.now()}`,a=pl(),r=Kh();try{let o=process.platform==="win32"?[]:["-l"],c=ll.default.spawn(a,o,{name:"xterm-256color",cols:80,rows:24,cwd:ni.default.homedir(),env:r,useConpty:!1}),l={pty:c,name:t||`Terminal ${xe.size+1}`,createdAt:Date.now(),buffer:[]},p=50*1024;c.onData(u=>{l.buffer.push(u);let d=l.buffer.reduce((h,m)=>h+m.length,0);for(;d>p&&l.buffer.length>1;){let h=l.buffer.shift();d-=h.length}s.emit("output",{sessionId:n,data:Buffer.from(u,"utf-8")})}),xe.set(n,l),console.log(`PTY created: sessionId=${n}, name=${t}`),c.onExit(({exitCode:u})=>{console.log(`PTY exited: sessionId=${n}, code=${u}`),xe.delete(n),s.emit("sessionClosed",n)}),i({success:!0,sessionId:n})}catch(o){console.error("Failed to create session:",o),i({success:!1,error:o.message})}}),e.on("joinSession",(t,i)=>{let n=xe.get(t);if(!n){i({success:!1,error:"Session not found"});return}if(n.buffer&&n.buffer.length>0){let a=n.buffer.join("");e.emit("output",{sessionId:t,data:Buffer.from(a,"utf-8")})}i({success:!0,name:n.name})}),e.on("input",({sessionId:t,data:i})=>{if(!t)return;let n=xe.get(t);if(n){let a=Buffer.isBuffer(i)?i.toString("utf-8"):i;n.pty.write(a)}}),e.on("resize",({sessionId:t,cols:i,rows:n})=>{if(!t)return;let a=xe.get(t);a&&a.pty.resize(i,n)}),e.on("deleteSession",(t,i)=>{let n=xe.get(t);n?(n.pty.kill(),xe.delete(t),i({success:!0})):i({success:!1,error:"Session not found"})}),e.on("renameSession",({sessionId:t,name:i},n)=>{let a=xe.get(t);a?(a.name=i,n({success:!0})):n({success:!1,error:"Session not found"})}),e.on("disconnect",()=>{console.log(`\u{1F4DF} Terminal client disconnected: ${e.id}`),ii--,Zn()&&ii===0&&Gh()})})}var _=M(require("fs"),1),ke=M(require("path"),1),Wt=M(require("os"),1),Le=require("child_process");var dl=["node_modules",".git","dist","build",".next","coverage","__pycache__",".cache",".vscode",".idea",".turbo",".vercel",".output"],fl=[".png",".jpg",".jpeg",".gif",".webp",".ico",".svg",".bmp",".pdf",".zip",".tar",".gz",".rar",".7z",".exe",".dll",".so",".dylib",".mp3",".mp4",".wav",".avi",".mov",".webm",".woff",".woff2",".ttf",".eot",".otf",".sqlite",".db"];function ml(s){return dl.includes(s)}function $t(s){let e=ke.default.extname(s).toLowerCase();return fl.includes(e)}function Yh(s,e){return s.isDirectory()?"folder":$t(e)?"binary":"file"}function ai(s){return s<1024?`${s}B`:s<1024*1024?`${(s/1024).toFixed(1)}KB`:`${(s/(1024*1024)).toFixed(1)}MB`}function hl(s,e,t,i=50){if(!(t.length>=i))try{let n=_.default.readdirSync(s);for(let a of n){if(t.length>=i)return;if(a.startsWith(".")||ml(a))continue;let r=ke.default.join(s,a);try{let o=_.default.statSync(r);o.isDirectory()?hl(r,e,t,i):a.toLowerCase().includes(e.toLowerCase())&&t.push({name:a,path:r,type:$t(a)?"binary":"file",size:o.size,sizeFormatted:ai(o.size)})}catch{}}}catch{}}function xl(s){s.on("connection",e=>{e.on("getFiles",({dirPath:t},i)=>{try{let n=t||Wt.default.homedir(),a=t?.startsWith("~")?t.replace("~",Wt.default.homedir()):n;if(!_.default.existsSync(a)){i({success:!1,error:"Directory not found"});return}let r=_.default.readdirSync(a),o=[];for(let c of r)if(!(c.startsWith(".")&&c!==".env"&&c!==".env.example")&&!ml(c))try{let l=ke.default.join(a,c),p=_.default.statSync(l);o.push({name:c,path:l,type:Yh(p,c),size:p.isFile()?p.size:null,sizeFormatted:p.isFile()?ai(p.size):null,modified:p.mtime.getTime()})}catch{}o.sort((c,l)=>c.type==="folder"&&l.type!=="folder"?-1:c.type!=="folder"&&l.type==="folder"?1:c.name.localeCompare(l.name)),i({success:!0,files:o,currentPath:a,parentPath:ke.default.dirname(a)})}catch(n){i({success:!1,error:n.message})}}),e.on("searchFiles",({workspace:t,query:i},n)=>{try{if(!i||i.length<2){n({success:!0,files:[]});return}let a=t?.startsWith("~")?t.replace("~",Wt.default.homedir()):t||Wt.default.homedir();if(!_.default.existsSync(a)){n({success:!1,error:"Workspace not found"});return}let r=[];hl(a,i,r,50),r.sort((o,c)=>{let l=o.name.toLowerCase()===i.toLowerCase(),p=c.name.toLowerCase()===i.toLowerCase();return l&&!p?-1:!l&&p?1:o.path.length-c.path.length}),n({success:!0,files:r})}catch(a){n({success:!1,error:a.message})}}),e.on("readFile",({filePath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"File not found"});return}let n=_.default.statSync(t);if(n.size>204800){i({success:!1,error:`File too large (${ai(n.size)}). Max ${ai(204800)}`});return}if($t(t)){i({success:!1,error:"Cannot open binary file"});return}let a=_.default.readFileSync(t,"utf-8");i({success:!0,content:a})}catch(n){i({success:!1,error:n.message})}}),e.on("writeFile",({filePath:t,content:i},n)=>{try{_.default.writeFileSync(t,i,"utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("createItem",({itemPath:t,type:i},n)=>{try{if(_.default.existsSync(t)){n({success:!1,error:"Item already exists"});return}i==="folder"?_.default.mkdirSync(t,{recursive:!0}):_.default.writeFileSync(t,"","utf-8"),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("deleteItem",({itemPath:t},i)=>{try{if(!_.default.existsSync(t)){i({success:!1,error:"Item not found"});return}_.default.statSync(t).isDirectory()?_.default.rmSync(t,{recursive:!0}):_.default.unlinkSync(t),i({success:!0})}catch(n){i({success:!1,error:n.message})}}),e.on("renameItem",({oldPath:t,newPath:i},n)=>{try{if(!_.default.existsSync(t)){n({success:!1,error:"Item not found"});return}if(_.default.existsSync(i)){n({success:!1,error:"Target already exists"});return}_.default.renameSync(t,i),n({success:!0})}catch(a){n({success:!1,error:a.message})}}),e.on("gitStatus",({repoPath:t},i)=>{try{let a=(0,Le.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
22
+ `).filter(Boolean),r=[],o={};try{(0,Le.execSync)("git diff HEAD --numstat",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
23
+ `).filter(Boolean).forEach(l=>{let p=l.split(" ");if(p.length>=3){let u=p[0]==="-"?0:parseInt(p[0],10)||0,d=p[1]==="-"?0:parseInt(p[1],10)||0;o[p[2]]={added:u,deleted:d}}})}catch{}for(let c of a){let l=c.match(/^([MADRCU?! ]{1,2})\s+(.+)$/);if(!l)continue;let p=l[1],u=l[2];if(!u)continue;let d;p.includes("?")?d="?":p.includes("A")?d="A":p.includes("D")?d="D":p.includes("M")?d="M":p.includes("R")?d="R":d=p.trim()[0]||"?";let h=o[u]||{added:0,deleted:0};if(d==="?")try{let m=ke.default.join(t,u);if(_.default.existsSync(m)&&!$t(u)){let f=_.default.readFileSync(m,"utf-8");h.added=f.split(`
24
+ `).length,h.deleted=0}}catch{}r.push({status:d,path:u,added:h.added,deleted:h.deleted})}i({success:!0,files:r})}catch{i({success:!1,error:"Not a git repository or git not available"})}}),e.on("gitDiff",({repoPath:t,file:i,status:n},a)=>{try{let r="";if(i&&n==="?"){let o=ke.default.join(t,i);if(_.default.existsSync(o)){let l=_.default.readFileSync(o,"utf-8").split(`
27
25
  `);r=`diff --git a/${i} b/${i}
28
26
  new file mode 100644
29
27
  --- /dev/null
30
28
  +++ b/${i}
31
29
  @@ -0,0 +1,${l.length} @@
32
30
  ${l.map(p=>`+${p}`).join(`
33
- `)}`}}else if(i){let o=`git diff HEAD -- "${i}"`;r=(0,qe.execSync)(o,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}else{r=(0,qe.execSync)("git diff HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});let c=(0,qe.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
34
- `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of c){let p=Oe.default.join(t,l);if(S.default.existsSync(p)&&!Xt(l))try{if(S.default.statSync(p).size<=204800){let h=S.default.readFileSync(p,"utf-8").split(`
31
+ `)}`}}else if(i){let o=`git diff HEAD -- "${i}"`;r=(0,Le.execSync)(o,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]})}else{r=(0,Le.execSync)("git diff HEAD",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]});let c=(0,Le.execSync)("git status --porcelain",{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim().split(`
32
+ `).filter(l=>l.startsWith("??")).map(l=>l.substring(3));for(let l of c){let p=ke.default.join(t,l);if(_.default.existsSync(p)&&!$t(l))try{if(_.default.statSync(p).size<=204800){let h=_.default.readFileSync(p,"utf-8").split(`
35
33
  `);r+=`
36
34
  diff --git a/${l} b/${l}
37
35
  new file mode 100644
@@ -39,7 +37,7 @@ new file mode 100644
39
37
  +++ b/${l}
40
38
  @@ -0,0 +1,${h.length} @@
41
39
  ${h.map(m=>`+${m}`).join(`
42
- `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=Oe.default.join(t,i);n==="?"?S.default.existsSync(r)&&(S.default.statSync(r).isDirectory()?S.default.rmSync(r,{recursive:!0}):S.default.unlinkSync(r)):n==="A"?((0,qe.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),S.default.existsSync(r)&&S.default.unlinkSync(r)):(0,qe.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}var Pt=require("zlib"),Op=D(Ep(),1);var ax=["data:","javascript:","#","mailto:","blob:"],rx=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function mi(s,e){return!s||ax.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function kp(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${rx.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,o)=>{if(a.toLowerCase()==="srcset"){let c=o.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=mi(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${c}${r}`}return`${a}=${r}${mi(o,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function Cp(s){let e=`/proxy/${s}`;return`
40
+ `)}`}}catch{}}}a({success:!0,diff:r})}catch(r){a({success:!1,error:r.message})}}),e.on("gitDiscard",({repoPath:t,file:i,status:n},a)=>{try{if(!i){a({success:!1,error:"No file specified"});return}let r=ke.default.join(t,i);n==="?"?_.default.existsSync(r)&&(_.default.statSync(r).isDirectory()?_.default.rmSync(r,{recursive:!0}):_.default.unlinkSync(r)):n==="A"?((0,Le.execSync)(`git reset HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),_.default.existsSync(r)&&_.default.unlinkSync(r)):(0,Le.execSync)(`git checkout HEAD -- "${i}"`,{cwd:t,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}),a({success:!0})}catch(r){a({success:!1,error:r.message})}})})}var Tt=require("zlib"),Ql=M(Kl(),1);var Sx=["data:","javascript:","#","mailto:","blob:"],Ex=["href","src","action","srcset","poster","data","formaction","data-src","data-href","data-url","data-background"];function li(s,e){return!s||Sx.some(t=>s.startsWith(t))||s.startsWith("/proxy/")?s:s.startsWith(`http://localhost:${e}`)?s.replace(`http://localhost:${e}`,`/proxy/${e}`):s.startsWith("/")&&!s.startsWith("//")?`/proxy/${e}${s}`:s}function Yl(s,e){let t=`/proxy/${e}`,i=new RegExp(`(${Ex.join("|")})=(["'])([^"']*?)\\2`,"gi");return s=s.replace(i,(n,a,r,o)=>{if(a.toLowerCase()==="srcset"){let c=o.split(",").map(l=>{let[p,...u]=l.trim().split(/\s+/),d=li(p,e);return u.length?`${d} ${u.join(" ")}`:d}).join(", ");return`${a}=${r}${c}${r}`}return`${a}=${r}${li(o,e)}${r}`}),s=s.replace(/url\(\s*(["']?)(\/_next\/[^)"']+)\1\s*\)/gi,(n,a,r)=>`url(${a}${t}${r}${a})`),s=s.replace(/"(\/_next\/[^"]+)"/g,(n,a)=>`"${t}${a}"`),s}function Xl(s){let e=`/proxy/${s}`;return`
43
41
  // Service Worker for 9Remote Proxy - Port ${s}
44
42
  const PROXY_BASE = '${e}';
45
43
  const TARGET_PORT = ${s};
@@ -94,7 +92,7 @@ self.addEventListener('fetch', (event) => {
94
92
 
95
93
  event.respondWith(fetch(new Request(newUrl, requestInit)));
96
94
  });
97
- `}function Tp(s){return`
95
+ `}function Jl(s){return`
98
96
  <script data-proxy-injected="true">
99
97
  (function() {
100
98
  if (window.__proxySwRegistered) return;
@@ -136,7 +134,7 @@ self.addEventListener('fetch', (event) => {
136
134
  });
137
135
  }
138
136
  })();
139
- </script>`}var Aa=new Set;function Rp(s){Aa.add(String(s))}function Ap(s){Aa.delete(String(s))}function ox(s){return Aa.has(String(s))}function cx(s){switch(s){case"gzip":return(0,Pt.createGunzip)();case"deflate":return(0,Pt.createInflate)();case"br":return(0,Pt.createBrotliDecompress)();default:return null}}function lx(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function Pp(){let s=Op.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",o=a.includes("text/html"),c={...e.headers};if(c.location&&(c.location=mi(c.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,c),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,c),e.pipe(i);return}if(!o){i.writeHead(e.statusCode,c),e.pipe(i);return}delete c["content-length"],delete c["content-encoding"];let u=cx(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=kp(m,n);let f=Tp(n);m=lx(m,f),i.writeHead(e.statusCode,c),i.end(m)})}),s}function jp(s,e,t,i,n,a){if(n==="/sw.js"){let r=Cp(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!ox(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
137
+ </script>`}var va=new Set;function Zl(s){va.add(String(s))}function ep(s){va.delete(String(s))}function kx(s){return va.has(String(s))}function Cx(s){switch(s){case"gzip":return(0,Tt.createGunzip)();case"deflate":return(0,Tt.createInflate)();case"br":return(0,Tt.createBrotliDecompress)();default:return null}}function Tx(s,e){if(s.includes("<head>"))return s.replace("<head>","<head>"+e);if(s.includes("<HEAD>"))return s.replace("<HEAD>","<HEAD>"+e);let t=s.match(/<head[^>]*>/i);return t?s.replace(t[0],t[0]+e):e+s}function tp(){let s=Ql.default.createProxyServer({selfHandleResponse:!0});return s.on("proxyRes",(e,t,i)=>{let n=t._proxyTargetPort,a=e.headers["content-type"]||"",r=e.headers["content-encoding"]||"",o=a.includes("text/html"),c={...e.headers};if(c.location&&(c.location=li(c.location,n)),a.includes("application/json")||a.includes("text/x-component")){i.writeHead(e.statusCode,c),e.pipe(i);return}if(a.includes("javascript")||a.includes("text/javascript")){i.writeHead(e.statusCode,c),e.pipe(i);return}if(!o){i.writeHead(e.statusCode,c),e.pipe(i);return}delete c["content-length"],delete c["content-encoding"];let u=Cx(r),d=u?e.pipe(u):e,h=[];d.on("data",m=>h.push(m)),d.on("error",m=>{console.error("[Proxy] Decompress error:",m.message),i.writeHead(502),i.end("Bad Gateway: Decompression failed")}),d.on("end",()=>{let m=Buffer.concat(h).toString("utf8");m=Yl(m,n);let f=Jl(n);m=Tx(m,f),i.writeHead(e.statusCode,c),i.end(m)})}),s}function sp(s,e,t,i,n,a){if(n==="/sw.js"){let r=Xl(i);t.writeHead(200,{"Content-Type":"application/javascript; charset=utf-8","Service-Worker-Allowed":"/","Cache-Control":"no-store, no-cache, must-revalidate"}),t.end(r);return}if(!kx(i)){t.writeHead(401,{"Content-Type":"text/html"}),t.end(`
140
138
  <!DOCTYPE html>
141
139
  <html>
142
140
  <head><title>Unauthorized</title></head>
@@ -147,8 +145,8 @@ self.addEventListener('fetch', (event) => {
147
145
  </div>
148
146
  </body>
149
147
  </html>
150
- `);return}e._proxyTargetPort=i,e.url=n+(a||""),s.web(e,t,{target:`http://localhost:${i}`,changeOrigin:!0},r=>{console.error(`[Proxy] Error for port ${i}:`,r.message),t.writeHead(502),t.end(`Bad Gateway: ${r.message}`)})}var Bp=D(require("http"),1),Lp=D(require("https"),1),Mp=require("child_process"),Dp=require("util"),px=(0,Dp.promisify)(Mp.exec);async function ux(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await px(t),n=i.split(`
151
- `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let o of r){let c=parseInt(o.replace(/[:\*\]\s]/g,""),10);c>0&&c<=65535&&(c===80||c===443||c>=1024)&&e.add(c)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function Np(s,e=2e3){return new Promise(t=>{let i=Bp.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function Ip(s,e=2e3){return new Promise(t=>{let i=Lp.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function dx(s){if([443,8443,9443].includes(s)){let t=await Ip(s);if(t.active)return{port:s,...t};let i=await Np(s);if(i.active)return{port:s,...i}}else{let t=await Np(s);if(t.active)return{port:s,...t};let i=await Ip(s);if(i.active)return{port:s,...i}}return{port:s,active:!1}}async function qp(){let s=await ux();return(await Promise.all(s.map(t=>dx(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var Fp=D(require("crypto"),1),fx=process.env.API_KEY_SECRET||"9remote-api-key-secret";function mx(s,e){return Fp.default.createHmac("sha256",fx).update(s+e).digest("hex").slice(0,8)}function hx(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=mx(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function Up(s){return hx(s)!==null}async function Hp(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!Up(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await qp();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function zp(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function Wp(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var $p=hi.default.dirname((0,Yp.fileURLToPath)(__importMetaUrl)),Vp=parseInt(process.env.PORT||"2208",10);function vx(){let s=hi.default.resolve($p,"standalone"),e=hi.default.resolve($p,"../../dist/standalone"),t=require("fs");if(t.existsSync(s))return s;if(t.existsSync(e))return e;throw new Error(`Standalone not found at ${s} or ${e}`)}function xx(){return process.env.CODESPACES==="true"}async function gx(s,e){if(s.method!=="POST"){e.writeHead(405),e.end(JSON.stringify({error:"Method not allowed"}));return}if(!xx()){e.writeHead(400),e.end(JSON.stringify({error:"Not running on Codespaces"}));return}let t=process.env.CODESPACE_NAME;if(!t){e.writeHead(400),e.end(JSON.stringify({error:"Codespace name not found"}));return}e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify({success:!0,message:"Stopping codespace..."})),setTimeout(()=>{(0,Xp.exec)(`gh codespace stop -c ${t}`,i=>{i&&console.error("Failed to stop codespace:",i)})},500)}function bx(s){let e=new al(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return Ll(),Ul(e),Dl(e),Vl(e),e}async function yx(){let s=vx();process.env.NODE_ENV="production",process.chdir(s);let t=(await import("next")).default({dev:!1,dir:s,conf:{distDir:".next"}});await t.prepare();let i=t.getRequestHandler(),n=Pp(),a=(0,Gp.createServer)(async(r,o)=>{if(zp(o),!Wp(r,o))try{let c=(0,Kp.parse)(r.url,!0),{pathname:l,search:p}=c;if(l==="/api/health"){o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({status:"ok",timestamp:Date.now()}));return}if(l==="/api/local-sites"){await Hp(r,o);return}if(l==="/api/codespace/stop"){await gx(r,o);return}if(l==="/api/proxy/start"&&r.method==="POST"){let u="";r.on("data",d=>u+=d),r.on("end",()=>{let{port:d}=JSON.parse(u||"{}");d?(Rp(d),o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({success:!0}))):(o.writeHead(400),o.end(JSON.stringify({error:"Port required"})))});return}if(l==="/api/proxy/end"&&r.method==="POST"){let u="";r.on("data",d=>u+=d),r.on("end",()=>{let{port:d}=JSON.parse(u||"{}");d?(Ap(d),o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({success:!0}))):(o.writeHead(400),o.end(JSON.stringify({error:"Port required"})))});return}if(l.startsWith("/proxy/")){let u=l.match(/^\/proxy\/(\d+)(\/.*)?$/);if(u){jp(n,r,o,u[1],u[2]||"/",p);return}}await i(r,o,c)}catch(c){console.error("Error:",r.url,c),o.statusCode=500,o.end("Internal server error")}});bx(a),a.listen(Vp,()=>{console.log(`\u2705 Ready on http://localhost:${Vp}`)})}yx().catch(s=>{console.error("Failed to start server:",s),process.exit(1)});
148
+ `);return}e._proxyTargetPort=i,e.url=n+(a||""),s.web(e,t,{target:`http://localhost:${i}`,changeOrigin:!0},r=>{console.error(`[Proxy] Error for port ${i}:`,r.message),t.writeHead(502),t.end(`Bad Gateway: ${r.message}`)})}var ap=M(require("http"),1),rp=M(require("https"),1),op=require("child_process"),cp=require("util"),Ox=(0,cp.promisify)(op.exec);async function Rx(){let s=process.platform,e=new Set([80,443]);try{let t;if(s==="win32")t="netstat -ano | findstr LISTENING";else{let a="/dev/null";t=`lsof -iTCP -sTCP:LISTEN -P -n 2>${a} || netstat -tlnp 2>${a}`}let{stdout:i}=await Ox(t),n=i.split(`
149
+ `);for(let a of n){let r=a.match(/[:\*\]](\d{2,5})(?:\s|$)/g);if(r)for(let o of r){let c=parseInt(o.replace(/[:\*\]\s]/g,""),10);c>0&&c<=65535&&(c===80||c===443||c>=1024)&&e.add(c)}}return Array.from(e)}catch(t){return console.error("Failed to get listening ports:",t.message),[80,443,3e3,3001,4200,5e3,5173,8e3,8080,9e3]}}function ip(s,e=2e3){return new Promise(t=>{let i=ap.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"http",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}function np(s,e=2e3){return new Promise(t=>{let i=rp.default.request({host:"localhost",port:s,method:"GET",path:"/",timeout:e,rejectUnauthorized:!1},n=>{n.on("data",()=>{}),n.on("end",()=>{}),t({active:!0,protocol:"https",status:n.statusCode})});i.on("error",n=>{t({active:!1,error:n.message})}),i.on("timeout",()=>{i.destroy(),t({active:!1,error:"timeout"})}),i.end()})}async function Ax(s){if([443,8443,9443].includes(s)){let t=await np(s);if(t.active)return{port:s,...t};let i=await ip(s);if(i.active)return{port:s,...i}}else{let t=await ip(s);if(t.active)return{port:s,...t};let i=await np(s);if(i.active)return{port:s,...i}}return{port:s,active:!1}}async function lp(){let s=await Rx();return(await Promise.all(s.map(t=>Ax(t)))).filter(t=>t.active).map(t=>({port:t.port,protocol:t.protocol,url:`${t.protocol}://localhost:${t.port}`,name:`localhost:${t.port}`,status:t.status})).sort((t,i)=>t.port-i.port)}var pp=M(require("crypto"),1),Px=process.env.API_KEY_SECRET||"9remote-api-key-secret";function jx(s,e){return pp.default.createHmac("sha256",Px).update(s+e).digest("hex").slice(0,8)}function Ix(s){if(!s||!s.startsWith("sk-"))return null;let e=s.split("-");if(e.length===4){let[,t,i,n]=e,a=jx(t,i);return n!==a?null:{machineId:t,keyId:i}}return null}function up(s){return Ix(s)!==null}async function dp(s,e){let t=s.headers.authorization;if(!t||!t.startsWith("Bearer ")){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Missing API key"}));return}let i=t.slice(7);if(!up(i)){e.setHeader("Content-Type","application/json"),e.writeHead(401),e.end(JSON.stringify({error:"Unauthorized: Invalid API key"}));return}let n=await lp();e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify(n))}function fp(s){s.setHeader("Access-Control-Allow-Origin","*"),s.setHeader("Access-Control-Allow-Methods","GET, POST, PUT, DELETE, OPTIONS"),s.setHeader("Access-Control-Allow-Headers","*"),s.setHeader("Access-Control-Allow-Credentials","true")}function mp(s,e){return s.method==="OPTIONS"?(e.writeHead(200),e.end(),!0):!1}var hp=pi.default.dirname((0,bp.fileURLToPath)(__importMetaUrl)),xp=parseInt(process.env.PORT||"2208",10);function Nx(){let s=pi.default.resolve(hp,"standalone"),e=pi.default.resolve(hp,"../../dist/standalone"),t=require("fs");if(t.existsSync(s))return s;if(t.existsSync(e))return e;throw new Error(`Standalone not found at ${s} or ${e}`)}function Bx(){return process.env.CODESPACES==="true"}async function Lx(s,e){if(s.method!=="POST"){e.writeHead(405),e.end(JSON.stringify({error:"Method not allowed"}));return}if(!Bx()){e.writeHead(400),e.end(JSON.stringify({error:"Not running on Codespaces"}));return}let t=process.env.CODESPACE_NAME;if(!t){e.writeHead(400),e.end(JSON.stringify({error:"Codespace name not found"}));return}e.setHeader("Content-Type","application/json"),e.writeHead(200),e.end(JSON.stringify({success:!0,message:"Stopping codespace..."})),setTimeout(()=>{(0,yp.exec)(`gh codespace stop -c ${t}`,i=>{i&&console.error("Failed to stop codespace:",i)})},500)}function Mx(s){let e=new Vc(s,{cors:{origin:"*",methods:["GET","POST"],credentials:!0,allowedHeaders:["*"]},transports:["websocket","polling"],allowEIO3:!0,allowUpgrades:!0,pingTimeout:6e4,pingInterval:25e3});return rl(),ul(e),cl(e),xl(e),e}async function Dx(){let s=Nx();process.env.NODE_ENV="production",process.chdir(s);let t=(await import("next")).default({dev:!1,dir:s,conf:{distDir:".next"}});await t.prepare();let i=t.getRequestHandler(),n=tp(),a=(0,vp.createServer)(async(r,o)=>{if(fp(o),!mp(r,o))try{let c=(0,gp.parse)(r.url,!0),{pathname:l,search:p}=c;if(l==="/api/health"){o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({status:"ok",timestamp:Date.now()}));return}if(l==="/api/local-sites"){await dp(r,o);return}if(l==="/api/codespace/stop"){await Lx(r,o);return}if(l==="/api/proxy/start"&&r.method==="POST"){let u="";r.on("data",d=>u+=d),r.on("end",()=>{let{port:d}=JSON.parse(u||"{}");d?(Zl(d),o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({success:!0}))):(o.writeHead(400),o.end(JSON.stringify({error:"Port required"})))});return}if(l==="/api/proxy/end"&&r.method==="POST"){let u="";r.on("data",d=>u+=d),r.on("end",()=>{let{port:d}=JSON.parse(u||"{}");d?(ep(d),o.setHeader("Content-Type","application/json"),o.writeHead(200),o.end(JSON.stringify({success:!0}))):(o.writeHead(400),o.end(JSON.stringify({error:"Port required"})))});return}if(l.startsWith("/proxy/")){let u=l.match(/^\/proxy\/(\d+)(\/.*)?$/);if(u){sp(n,r,o,u[1],u[2]||"/",p);return}}await i(r,o,c)}catch(c){console.error("Error:",r.url,c),o.statusCode=500,o.end("Internal server error")}});Mx(a),a.listen(xp,()=>{console.log(`\u2705 Ready on http://localhost:${xp}`)})}Dx().catch(s=>{console.error("Failed to start server:",s),process.exit(1)});
152
150
  /*! Bundled license information:
153
151
 
154
152
  negotiator/index.js: